[Scummvm-git-logs] scummvm master -> 5ba652f519a26c413bae80ad8f1c4ec6422beaaf
AndywinXp
noreply at scummvm.org
Wed Jun 18 12:21:26 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
5ba652f519 LASTEXPRESS: Clean-up WaitRCClear function (and fix DemoAnna)
Commit: 5ba652f519a26c413bae80ad8f1c4ec6422beaaf
https://github.com/scummvm/scummvm/commit/5ba652f519a26c413bae80ad8f1c4ec6422beaaf
Author: AndywinXp (andywinxp at gmail.com)
Date: 2025-06-18T14:21:19+02:00
Commit Message:
LASTEXPRESS: Clean-up WaitRCClear function (and fix DemoAnna)
This fixes ticket #16028
"LASTEXPRESS: DEMO: Anna gets stuck before she reaches the next wagon"
Changed paths:
engines/lastexpress/characters/abbot.cpp
engines/lastexpress/characters/demo/demo_abbot.cpp
engines/lastexpress/characters/demo/demo_anna.cpp
engines/lastexpress/characters/demo/demo_vesna.cpp
diff --git a/engines/lastexpress/characters/abbot.cpp b/engines/lastexpress/characters/abbot.cpp
index 9008e85f96a..55e64872530 100644
--- a/engines/lastexpress/characters/abbot.cpp
+++ b/engines/lastexpress/characters/abbot.cpp
@@ -546,11 +546,19 @@ void LogicManager::CONS_Abbot_WaitRCClear(CONS_PARAMS) {
}
void LogicManager::HAND_Abbot_WaitRCClear(HAND_PARAMS) {
- if ((msg->action == 12 && rcClear()) || (msg->action == 0 && rcClear())) {
- getCharacter(kCharacterAbbot).currentCall--;
- _engine->getMessageManager()->setMessageHandle(kCharacterAbbot, _functionsAbbot[getCharacter(kCharacterAbbot).callbacks[getCharacter(kCharacterAbbot).currentCall]]);
+ switch (msg->action) {
+ case 0:
+ case 12:
+ if (rcClear()) {
+ getCharacter(kCharacterAbbot).currentCall--;
+ _engine->getMessageManager()->setMessageHandle(kCharacterAbbot, _functionsAbbot[getCharacter(kCharacterAbbot).callbacks[getCharacter(kCharacterAbbot).currentCall]]);
- fedEx(kCharacterAbbot, kCharacterAbbot, 18, 0);
+ fedEx(kCharacterAbbot, kCharacterAbbot, 18, 0);
+ }
+
+ break;
+ default:
+ break;
}
}
diff --git a/engines/lastexpress/characters/demo/demo_abbot.cpp b/engines/lastexpress/characters/demo/demo_abbot.cpp
index 24babf5281b..d9bdecd3954 100644
--- a/engines/lastexpress/characters/demo/demo_abbot.cpp
+++ b/engines/lastexpress/characters/demo/demo_abbot.cpp
@@ -153,11 +153,19 @@ void LogicManager::CONS_DemoAbbot_WaitRCClear(CONS_PARAMS) {
}
void LogicManager::HAND_DemoAbbot_WaitRCClear(HAND_PARAMS) {
- if ((msg->action == 12 && rcClear()) || (msg->action == 0 && rcClear())) {
- getCharacter(kCharacterAbbot).currentCall--;
- _engine->getMessageManager()->setMessageHandle(kCharacterAbbot, _functionsDemoAbbot[getCharacter(kCharacterAbbot).callbacks[getCharacter(kCharacterAbbot).currentCall]]);
+ switch (msg->action) {
+ case 0:
+ case 12:
+ if (rcClear()) {
+ getCharacter(kCharacterAbbot).currentCall--;
+ _engine->getMessageManager()->setMessageHandle(kCharacterAbbot, _functionsDemoAbbot[getCharacter(kCharacterAbbot).callbacks[getCharacter(kCharacterAbbot).currentCall]]);
- fedEx(kCharacterAbbot, kCharacterAbbot, 18, 0);
+ fedEx(kCharacterAbbot, kCharacterAbbot, 18, 0);
+ }
+
+ break;
+ default:
+ break;
}
}
diff --git a/engines/lastexpress/characters/demo/demo_anna.cpp b/engines/lastexpress/characters/demo/demo_anna.cpp
index 7ce9ee1d3f4..205fb566ec3 100644
--- a/engines/lastexpress/characters/demo/demo_anna.cpp
+++ b/engines/lastexpress/characters/demo/demo_anna.cpp
@@ -144,10 +144,18 @@ void LogicManager::CONS_DemoAnna_WaitRCClear(CONS_PARAMS) {
}
void LogicManager::HAND_DemoAnna_WaitRCClear(HAND_PARAMS) {
- if ((msg->action == 0 && rcClear()) && (msg->action == 12 && rcClear())) {
- getCharacter(kCharacterAnna).currentCall--;
- _engine->getMessageManager()->setMessageHandle(kCharacterAnna, _functionsDemoAnna[getCharacter(kCharacterAnna).callbacks[getCharacter(kCharacterAnna).currentCall]]);
- fedEx(kCharacterAnna, kCharacterAnna, 18, 0);
+ switch (msg->action) {
+ case 0:
+ case 12:
+ if (rcClear()) {
+ getCharacter(kCharacterAnna).currentCall--;
+ _engine->getMessageManager()->setMessageHandle(kCharacterAnna, _functionsDemoAnna[getCharacter(kCharacterAnna).callbacks[getCharacter(kCharacterAnna).currentCall]]);
+ fedEx(kCharacterAnna, kCharacterAnna, 18, 0);
+ }
+
+ break;
+ default:
+ break;
}
}
diff --git a/engines/lastexpress/characters/demo/demo_vesna.cpp b/engines/lastexpress/characters/demo/demo_vesna.cpp
index 641d8bbbd25..a6cf3d1bb4d 100644
--- a/engines/lastexpress/characters/demo/demo_vesna.cpp
+++ b/engines/lastexpress/characters/demo/demo_vesna.cpp
@@ -158,10 +158,18 @@ void LogicManager::CONS_DemoVesna_WaitRCClear(CONS_PARAMS) {
}
void LogicManager::HAND_DemoVesna_WaitRCClear(HAND_PARAMS) {
- if ((msg->action == 0 && rcClear()) || (msg->action == 12 && rcClear())) {
- getCharacter(kCharacterVesna).currentCall--;
- _engine->getMessageManager()->setMessageHandle(kCharacterVesna, _functionsDemoVesna[getCharacter(kCharacterVesna).callbacks[getCharacter(kCharacterVesna).currentCall]]);
- fedEx(kCharacterVesna, kCharacterVesna, 18, 0);
+ switch (msg->action) {
+ case 0:
+ case 12:
+ if (rcClear()) {
+ getCharacter(kCharacterVesna).currentCall--;
+ _engine->getMessageManager()->setMessageHandle(kCharacterVesna, _functionsDemoVesna[getCharacter(kCharacterVesna).callbacks[getCharacter(kCharacterVesna).currentCall]]);
+ fedEx(kCharacterVesna, kCharacterVesna, 18, 0);
+ }
+
+ break;
+ default:
+ break;
}
}
More information about the Scummvm-git-logs
mailing list