[Scummvm-git-logs] scummvm master -> a070bd97ff3942aa3746e7ca5eafb11ce9d77e5a
whiterandrek
whiterandrek at gmail.com
Sun May 17 18:34:10 UTC 2020
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
40540ad0df PETKA: fixed processing messages by objects
a070bd97ff PETKA: added new opcodes
Commit: 40540ad0df586b1a01fe1c5dc8d3e1890f5ba679
https://github.com/scummvm/scummvm/commit/40540ad0df586b1a01fe1c5dc8d3e1890f5ba679
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-17T21:33:27+03:00
Commit Message:
PETKA: fixed processing messages by objects
Changed paths:
engines/petka/objects/object.cpp
diff --git a/engines/petka/objects/object.cpp b/engines/petka/objects/object.cpp
index 4a4dae0f1e..a7fd2f1d05 100644
--- a/engines/petka/objects/object.cpp
+++ b/engines/petka/objects/object.cpp
@@ -131,9 +131,9 @@ void QMessageObject::processMessage(const QMessage &msg) {
break;
}
if (rMsg.opcode == kIf &&
- (rMsg.arg1 == 0xffff || rMsg.arg1 != msg.arg1) &&
- (rMsg.arg2 == -1 || rMsg.arg2 != msg.arg2) &&
- (rMsg.arg3 == -1 || rMsg.arg3 != msg.arg3)) {
+ ((rMsg.arg1 != 0xffff && rMsg.arg1 != msg.arg1) ||
+ (rMsg.arg2 != -1 && rMsg.arg2 != msg.arg2) ||
+ (rMsg.arg3 != -1 && rMsg.arg3 != msg.arg3))) {
break;
}
if (rMsg.opcode == kRandom && rMsg.arg2 != -1) {
@@ -170,6 +170,7 @@ void QMessageObject::processMessage(const QMessage &msg) {
break;
default:
processed = false;
+ break;
}
if (processed)
break;
@@ -272,6 +273,7 @@ void QMessageObject::processMessage(const QMessage &msg) {
case kStop:
g_vm->getQSystem()->_cursor.get()->show(msg.arg1);
g_vm->getQSystem()->_star.get()->_isActive = msg.arg1;
+ break;
case kShow:
show(true);
break;
@@ -348,7 +350,6 @@ void QMessageObject::processMessage(const QMessage &msg) {
for (uint j = 0; j < r.messages.size(); ++j) {
g_dialogReaction->messages.push_back(r.messages[j]);
}
- break;
}
g_vm->getQSystem()->_mainInterface->_dialog.start(msg.arg1, this);
}
Commit: a070bd97ff3942aa3746e7ca5eafb11ce9d77e5a
https://github.com/scummvm/scummvm/commit/a070bd97ff3942aa3746e7ca5eafb11ce9d77e5a
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-17T21:33:47+03:00
Commit Message:
PETKA: added new opcodes
Changed paths:
engines/petka/objects/object.cpp
engines/petka/video.cpp
engines/petka/video.h
diff --git a/engines/petka/objects/object.cpp b/engines/petka/objects/object.cpp
index a7fd2f1d05..fc54747147 100644
--- a/engines/petka/objects/object.cpp
+++ b/engines/petka/objects/object.cpp
@@ -254,6 +254,9 @@ void QMessageObject::processMessage(const QMessage &msg) {
}
_notLoopedSound = msg.arg2 != 5;
break;
+ case kAnimate:
+ _animate = msg.arg1;
+ break;
case kEnd:
if (_reaction && _reactionResId == msg.arg1) {
processSavedReaction(&_reaction, this);
@@ -277,6 +280,24 @@ void QMessageObject::processMessage(const QMessage &msg) {
case kShow:
show(true);
break;
+ case kShake:
+ g_vm->videoSystem()->setShake(msg.arg1);
+ break;
+ case kSystem:
+ switch (msg.arg1){
+ case 0:
+ g_vm->getQSystem()->_star->_isActive = 0;
+ break;
+ case 1:
+ g_vm->getQSystem()->_star->_isActive = 1;
+ break;
+ case 242:
+ g_system->quit();
+ break;
+ default:
+ break;
+ }
+ break;
case kHide:
show(false);
break;
@@ -334,6 +355,22 @@ void QMessageObject::processMessage(const QMessage &msg) {
g_vm->getQSystem()->_chapayev->walk(_walkX, _walkY);
}
break;
+ case kDescription: {
+ Common::ScopedPtr<Common::SeekableReadStream> invStream(g_vm->openFile("invntr.txt", false));
+ Common::INIFile invIni;
+ if (invStream) {
+ Common::String desc;
+
+ invIni.loadFromStream(*invStream);
+ invIni.getKey(_name, "ALL", desc);
+
+ g_vm->getQSystem()->_mainInterface->setTextDescription(Common::U32String(desc.c_str()), msg.arg1);
+ }
+ break;
+ }
+ default:
+ debug("Opcode %d is not implemented", msg.opcode);
+ break;
}
} else {
g_vm->getBigDialogue()->setHandler(_id, msg.opcode, -1);
diff --git a/engines/petka/video.cpp b/engines/petka/video.cpp
index fa1297b3de..ead2139a72 100644
--- a/engines/petka/video.cpp
+++ b/engines/petka/video.cpp
@@ -124,4 +124,8 @@ void VideoSystem::updateTime() {
_time = g_system->getMillis();
}
+void VideoSystem::setShake(bool shake) {
+ _shake = shake;
+}
+
}
diff --git a/engines/petka/video.h b/engines/petka/video.h
index 8be0ad9fd6..10919d48c7 100644
--- a/engines/petka/video.h
+++ b/engines/petka/video.h
@@ -39,6 +39,7 @@ public:
void addDirtyRect(const Common::Rect &rect);
void addDirtyRect(Common::Point pos, FlicDecoder &flc);
void addDirtyRectFromMsk(Common::Point pos, FlicDecoder &flc);
+ void setShake(bool shake);
const Common::List<Common::Rect> rects() const;
Graphics::Screen &screen();
More information about the Scummvm-git-logs
mailing list