[Scummvm-git-logs] scummvm master -> 1e512a69e13585c382e37484b0c4c14b58bd5c64

whiterandrek whiterandrek at gmail.com
Sat Oct 17 11:43:52 UTC 2020


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
3ec82210a9 PETKA: fix crash in petka 2
6674141d44 PETKA: implement changing walk background in petka2
e53aac3c53 PETKA: update engine status
1e512a69e1 PETKA: implement ToMap opcode for petka2


Commit: 3ec82210a90fbf89457216641ac3ff3339b50fdd
    https://github.com/scummvm/scummvm/commit/3ec82210a90fbf89457216641ac3ff3339b50fdd
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-10-17T14:42:27+03:00

Commit Message:
PETKA: fix crash in petka 2

Changed paths:
    engines/petka/interfaces/map.cpp


diff --git a/engines/petka/interfaces/map.cpp b/engines/petka/interfaces/map.cpp
index b00fa60039..9792241a96 100644
--- a/engines/petka/interfaces/map.cpp
+++ b/engines/petka/interfaces/map.cpp
@@ -49,7 +49,9 @@ void InterfaceMap::start(int id) {
 	for (uint i = 0; i < info->attachedObjIds.size(); ++i) {
 		QMessageObject *obj = sys->findObject(info->attachedObjIds[i]);
 		FlicDecoder *flc = g_vm->resMgr()->getFlic(obj->_resourceId);
-		flc->setFrame(1);
+		if (flc) {
+			flc->setFrame(1);
+		}
 		obj->_z = 1;
 		obj->_x = 0;
 		obj->_y = 0;


Commit: 6674141d446b968c9b2b1e0564adeb296f6d0641
    https://github.com/scummvm/scummvm/commit/6674141d446b968c9b2b1e0564adeb296f6d0641
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-10-17T14:42:27+03:00

Commit Message:
PETKA: implement changing walk background in petka2

Changed paths:
    engines/petka/objects/object_bg.cpp
    engines/petka/petka.cpp
    engines/petka/petka.h


diff --git a/engines/petka/objects/object_bg.cpp b/engines/petka/objects/object_bg.cpp
index f6b49de862..f3b91a4046 100644
--- a/engines/petka/objects/object_bg.cpp
+++ b/engines/petka/objects/object_bg.cpp
@@ -28,6 +28,7 @@
 #include "graphics/surface.h"
 
 #include "petka/flc.h"
+#include "petka/walk.h"
 #include "petka/petka.h"
 #include "petka/video.h"
 #include "petka/q_system.h"
@@ -39,8 +40,6 @@
 
 namespace Petka {
 
-// COMPLETED
-
 QObjectBG::QObjectBG() {
 	_x = 0;
 	_y = 0;
@@ -55,9 +54,24 @@ QObjectBG::QObjectBG() {
 void QObjectBG::processMessage(const QMessage &msg) {
 	QMessageObject::processMessage(msg);
 	switch (msg.opcode) {
-	case kSet:
+	case kSet: {
 		_resourceId = msg.arg1;
-		break;
+
+		QSystem *sys = g_vm->getQSystem();
+		if (g_vm->isPetka2() && !sys->_totalInit && sys->_mainInterface->_roomId == _id) {
+			auto petka = sys->getPetka();
+			auto chapay = sys->getChapay();
+
+			auto bkgName = g_vm->resMgr()->findResourceName(_resourceId);
+
+			petka->_walk->setBackground(bkgName);
+			chapay->_walk->setBackground(bkgName);
+
+			petka->setPos(Common::Point(petka->_x_, petka->_y_), false);
+			chapay->setPos(Common::Point(chapay->_x_, chapay->_y_), false);
+			break;
+		}
+	}
 	case kMusic:
 		_musicId = msg.arg1;
 		break;
diff --git a/engines/petka/petka.cpp b/engines/petka/petka.cpp
index 97e22c24b1..38263ade21 100644
--- a/engines/petka/petka.cpp
+++ b/engines/petka/petka.cpp
@@ -222,6 +222,10 @@ bool PetkaEngine::isDemo() const {
 	return strcmp(_desc->gameId, "petka_demo") == 0;
 }
 
+bool PetkaEngine::isPetka2() const {
+	return strcmp(_desc->gameId, "petka2") == 0;
+}
+
 SoundMgr *PetkaEngine::soundMgr() const {
 	return _soundMgr.get();
 }
diff --git a/engines/petka/petka.h b/engines/petka/petka.h
index ee01290f30..8b2b41b019 100644
--- a/engines/petka/petka.h
+++ b/engines/petka/petka.h
@@ -79,6 +79,7 @@ public:
 	~PetkaEngine() override;
 
 	bool isDemo() const;
+	bool isPetka2() const;
 
 	void loadPart(byte part);
 	void loadPartAtNextFrame(byte part);


Commit: e53aac3c53b36ba3f881155f9f6a0222a99d5aeb
    https://github.com/scummvm/scummvm/commit/e53aac3c53b36ba3f881155f9f6a0222a99d5aeb
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-10-17T14:42:27+03:00

Commit Message:
PETKA: update engine status

Changed paths:
    engines/petka/petka.h


diff --git a/engines/petka/petka.h b/engines/petka/petka.h
index 8b2b41b019..5326b53fd0 100644
--- a/engines/petka/petka.h
+++ b/engines/petka/petka.h
@@ -43,7 +43,7 @@
  *  Games using this engine:
  *  - Red Comrades Demo
  *  - Red Comrades Save the Galaxy - Fully playable
- *  - Red Comrades 2: For the Great Justice - Not tested
+ *  - Red Comrades 2: For the Great Justice - Fully playable
  */
 
 struct ADGameDescription;


Commit: 1e512a69e13585c382e37484b0c4c14b58bd5c64
    https://github.com/scummvm/scummvm/commit/1e512a69e13585c382e37484b0c4c14b58bd5c64
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-10-17T14:42:27+03:00

Commit Message:
PETKA: implement ToMap opcode for petka2

Changed paths:
    engines/petka/objects/object.cpp


diff --git a/engines/petka/objects/object.cpp b/engines/petka/objects/object.cpp
index 2c7d1e7455..8535e756ef 100644
--- a/engines/petka/objects/object.cpp
+++ b/engines/petka/objects/object.cpp
@@ -255,6 +255,9 @@ void QMessageObject::processMessage(const QMessage &msg) {
 		case kChapter:
 			g_vm->loadChapter(msg.arg1);
 			break;
+		case kToMap:
+			g_vm->getQSystem()->toggleMapInterface();
+			break;
 		default:
 			break;
 		}




More information about the Scummvm-git-logs mailing list