[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