[Scummvm-git-logs] scummvm master -> a1965c0dc5a8ca932efe0cea713196f0fe34e621
AndywinXp
noreply at scummvm.org
Fri May 1 16:32:44 UTC 2026
This automated email contains information about 9 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
9e7d861a8c LASTEXPRESS: Fix inaccuracies in Anna's character logic
af83ebd83e LASTEXPRESS: Fix bugs in Alexei's character logic
70a94f4d1d LASTEXPRESS: Fix bugs in Clerk's character logic
ff60aa8360 LASTEXPRESS: Fix bugs in Francois's character logic
2b083bce26 LASTEXPRESS: Fix bugs in Hadija's character logic
2cad3549a2 LASTEXPRESS: Fix bugs in Master's character logic
7bbdefaa2a LASTEXPRESS: Fix bugs in Max's character logic
0ef33cabb3 LASTEXPRESS: Fix bugs in Monsieur's character logic
a1965c0dc5 LASTEXPRESS: Fix bugs in TrainM's character logic
Commit: 9e7d861a8c628b61e4136b6341d2d842fa45c616
https://github.com/scummvm/scummvm/commit/9e7d861a8c628b61e4136b6341d2d842fa45c616
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-01T18:32:30+02:00
Commit Message:
LASTEXPRESS: Fix inaccuracies in Anna's character logic
Changed paths:
engines/lastexpress/characters/anna.cpp
engines/lastexpress/game/logic.h
diff --git a/engines/lastexpress/characters/anna.cpp b/engines/lastexpress/characters/anna.cpp
index 6ecbfcfbf99..9a05015c9ff 100644
--- a/engines/lastexpress/characters/anna.cpp
+++ b/engines/lastexpress/characters/anna.cpp
@@ -964,6 +964,7 @@ void LogicManager::HAND_Anna_DoWalkP1(HAND_PARAMS) {
if (getCharacter(kCharacterAnna).direction != 1) {
bumpCathRx(getCharacter(kCharacterAnna).characterPosition.car, getCharacter(kCharacterAnna).characterPosition.position + 750);
+ break;
}
} else {
if (getCharacter(kCharacterAnna).callbacks[getCharacter(kCharacterAnna).currentCall + 8] != 2)
@@ -984,6 +985,7 @@ void LogicManager::HAND_Anna_DoWalkP1(HAND_PARAMS) {
if (getCharacter(kCharacterAnna).direction != 1) {
bumpCathRx(getCharacter(kCharacterAnna).characterPosition.car, getCharacter(kCharacterAnna).characterPosition.position + 750);
+ break;
}
}
@@ -3368,11 +3370,11 @@ void LogicManager::HAND_Anna_GiveMaxToCond2(HAND_PARAMS) {
case 9:
softReleaseAtDoor(kCharacterAnna, 37);
endGraphics(kCharacterAnna);
- getCharacter(kCharacterAnna).characterPosition.location = kCharacterAnna;
+ getCharacter(kCharacterAnna).characterPosition.location = 1;
getCharacter(kCharacterAnna).characterPosition.position = 4070;
- getCharacterCurrentParams(kCharacterAnna)[2] = kCharacterAnna;
+ getCharacterCurrentParams(kCharacterAnna)[2] = 1;
setDoor(45, kCharacterCath, 0, 255, 255);
- setDoor(53, kCharacterAnna, kCharacterAnna, 10, 9);
+ setDoor(53, kCharacterAnna, 1, 10, 9);
if (checkCathDir(kCarRedSleeping, 78))
bumpCath(kCarRedSleeping, 49, 255);
@@ -3457,14 +3459,14 @@ void LogicManager::HAND_Anna_Concert(HAND_PARAMS) {
getCharacter(kCharacterAnna).characterPosition.location = 1;
break;
case 191668032:
- COND_Anna_LeaveConcert(0, 0, 0, 0);
+ CONS_Anna_LeaveConcert(0, 0, 0, 0);
break;
default:
break;
}
}
-void LogicManager::COND_Anna_LeaveConcert(CONS_PARAMS) {
+void LogicManager::CONS_Anna_LeaveConcert(CONS_PARAMS) {
CharacterCallParams *params = &getCharacter(kCharacterAnna).callParams[getCharacter(kCharacterAnna).currentCall];
_engine->getMessageManager()->setMessageHandle(kCharacterAnna, &LogicManager::HAND_Anna_LeaveConcert);
getCharacter(kCharacterAnna).callbacks[getCharacter(kCharacterAnna).currentCall] = 57;
@@ -3491,7 +3493,7 @@ void LogicManager::HAND_Anna_LeaveConcert(HAND_PARAMS) {
AnnaCall(&LogicManager::CONS_Anna_DoWalk, 4, 4070, 0, 0);
break;
case 2:
- setDoor(37, kCharacterAlexei, 1, 0, 0);
+ setDoor(37, kCharacterCath, 1, 0, 0);
send(kCharacterAnna, kCharacterCond2, 205033696, 0);
startCycOtis(kCharacterAnna, "625Ef");
softBlockAtDoor(kCharacterAnna, 37);
diff --git a/engines/lastexpress/game/logic.h b/engines/lastexpress/game/logic.h
index 91bbab234a8..e7fc0cb91c7 100644
--- a/engines/lastexpress/game/logic.h
+++ b/engines/lastexpress/game/logic.h
@@ -1367,7 +1367,7 @@ private:
void CONS_Anna_Concert(CONS_PARAMS);
void HAND_Anna_Concert(HAND_PARAMS);
- void COND_Anna_LeaveConcert(CONS_PARAMS);
+ void CONS_Anna_LeaveConcert(CONS_PARAMS);
void HAND_Anna_LeaveConcert(HAND_PARAMS);
void CONS_Anna_LeaveConcertCathInComp(CONS_PARAMS);
Commit: af83ebd83e0595566a608469bb6fcec0002c6bc1
https://github.com/scummvm/scummvm/commit/af83ebd83e0595566a608469bb6fcec0002c6bc1
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-01T18:32:30+02:00
Commit Message:
LASTEXPRESS: Fix bugs in Alexei's character logic
Changed paths:
engines/lastexpress/characters/alexei.cpp
diff --git a/engines/lastexpress/characters/alexei.cpp b/engines/lastexpress/characters/alexei.cpp
index 6ae4035d756..4add7fbcbdd 100644
--- a/engines/lastexpress/characters/alexei.cpp
+++ b/engines/lastexpress/characters/alexei.cpp
@@ -367,6 +367,9 @@ void LogicManager::HAND_Alexei_DoWalk(HAND_PARAMS) {
switch (msg->action) {
case 0:
case 12:
+ if (msg->action == 12)
+ getCharacter(kCharacterAlexei).inventoryItem = 0;
+
if (walk(kCharacterAlexei, getCharacterCurrentParams(kCharacterAlexei)[0], getCharacterCurrentParams(kCharacterAlexei)[1])) {
getCharacter(kCharacterAlexei).currentCall--;
_engine->getMessageManager()->setMessageHandle(kCharacterAlexei, _functionsAlexei[getCharacter(kCharacterAlexei).callbacks[getCharacter(kCharacterAlexei).currentCall]]);
Commit: 70a94f4d1d6674c1860c60350e84d59472cd8ce1
https://github.com/scummvm/scummvm/commit/70a94f4d1d6674c1860c60350e84d59472cd8ce1
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-01T18:32:30+02:00
Commit Message:
LASTEXPRESS: Fix bugs in Clerk's character logic
Changed paths:
engines/lastexpress/characters/clerk.cpp
diff --git a/engines/lastexpress/characters/clerk.cpp b/engines/lastexpress/characters/clerk.cpp
index 3d622685599..095a9ac4740 100644
--- a/engines/lastexpress/characters/clerk.cpp
+++ b/engines/lastexpress/characters/clerk.cpp
@@ -512,8 +512,8 @@ void LogicManager::HAND_Clerk_Processing(HAND_PARAMS) {
endDialog("ZFX1001");
}
- if ((getCharacterCurrentParams(kCharacterClerk)[2] && (getCharacter(kCharacterCath).characterPosition.car != getCharacterCurrentParams(kCharacterClerk)[0])) ||
- (isNight() != (getCharacterCurrentParams(kCharacterClerk)[1] != 0 ? true : false))) {
+ if (getCharacterCurrentParams(kCharacterClerk)[2] && ((getCharacter(kCharacterCath).characterPosition.car != getCharacterCurrentParams(kCharacterClerk)[0]) ||
+ (isNight() != (getCharacterCurrentParams(kCharacterClerk)[1] != 0 ? true : false)))) {
switch (getCharacter(kCharacterCath).characterPosition.car) {
case 1:
Commit: ff60aa836024cf17c39c1edb579beb0e6e1a466e
https://github.com/scummvm/scummvm/commit/ff60aa836024cf17c39c1edb579beb0e6e1a466e
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-01T18:32:30+02:00
Commit Message:
LASTEXPRESS: Fix bugs in Francois's character logic
Changed paths:
engines/lastexpress/characters/francois.cpp
diff --git a/engines/lastexpress/characters/francois.cpp b/engines/lastexpress/characters/francois.cpp
index df2c5814574..c651c4a1921 100644
--- a/engines/lastexpress/characters/francois.cpp
+++ b/engines/lastexpress/characters/francois.cpp
@@ -349,11 +349,11 @@ void LogicManager::HAND_Francois_DoWalk(HAND_PARAMS) {
}
} else {
if (getCharacter(kCharacterCath).characterPosition.position <= getCharacter(kCharacterFrancois).characterPosition.position) {
- playNIS(kEventFrancoisShowEggNight);
- } else {
playNIS(kEventFrancoisShowEggNightD);
+ } else {
+ playNIS(kEventFrancoisShowEggNight);
}
-
+
}
if (getCharacter(kCharacterFrancois).direction == 1) {
Commit: 2b083bce264b0b2bff9e5dcfc2e894972d949158
https://github.com/scummvm/scummvm/commit/2b083bce264b0b2bff9e5dcfc2e894972d949158
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-01T18:32:30+02:00
Commit Message:
LASTEXPRESS: Fix bugs in Hadija's character logic
Changed paths:
engines/lastexpress/characters/hadija.cpp
diff --git a/engines/lastexpress/characters/hadija.cpp b/engines/lastexpress/characters/hadija.cpp
index 40118aeeba2..15140834128 100644
--- a/engines/lastexpress/characters/hadija.cpp
+++ b/engines/lastexpress/characters/hadija.cpp
@@ -236,7 +236,7 @@ void LogicManager::CONS_Hadija_PeekF(CONS_PARAMS) {
void LogicManager::HAND_Hadija_PeekF(HAND_PARAMS) {
switch (msg->action) {
case 12:
- getCharacter(kCharacterHadija).characterPosition.position = 2740;
+ getCharacter(kCharacterHadija).characterPosition.position = 4070;
getCharacter(kCharacterHadija).callbacks[getCharacter(kCharacterHadija).currentCall + 8] = 1;
HadijaCall(&LogicManager::CONS_Hadija_DoCorrOtis, "619Cf", 6, 0, 0);
break;
Commit: 2cad3549a2b98dcde44cf579976b145626566c42
https://github.com/scummvm/scummvm/commit/2cad3549a2b98dcde44cf579976b145626566c42
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-01T18:32:30+02:00
Commit Message:
LASTEXPRESS: Fix bugs in Master's character logic
Changed paths:
engines/lastexpress/characters/master.cpp
diff --git a/engines/lastexpress/characters/master.cpp b/engines/lastexpress/characters/master.cpp
index b742895db8b..3d2096033f6 100644
--- a/engines/lastexpress/characters/master.cpp
+++ b/engines/lastexpress/characters/master.cpp
@@ -1375,7 +1375,7 @@ void LogicManager::HAND_Master_MovingDay(HAND_PARAMS) {
getCharacterCurrentParams(kCharacterMaster)[1] = 0x7FFFFFFF;
}
- switch (rnd(15)) {
+ switch (rnd(5)) {
case 0:
playDialog(kCharacterCath, "ZFX1005", rnd(15) + 2, 0);
break;
@@ -1849,7 +1849,7 @@ void LogicManager::HAND_Master_EndVienna(HAND_PARAMS) {
} else {
if (_globals[kGlobalRegisteredTimeAtWhichCathGaveFirebirdToKronos]) {
if (_doneNIS[kEventKronosReturnBriefcase]) {
- endGame(1, 61, 61, true);
+ endGame(1, _globals[kGlobalRegisteredTimeAtWhichCathGaveFirebirdToKronos], 61, true);
return;
} else {
endGame(1, 2155500, 59, true);
Commit: 7bbdefaa2af1370f2603e6c18c6e44d74f99215b
https://github.com/scummvm/scummvm/commit/7bbdefaa2af1370f2603e6c18c6e44d74f99215b
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-01T18:32:30+02:00
Commit Message:
LASTEXPRESS: Fix bugs in Max's character logic
Changed paths:
engines/lastexpress/characters/max.cpp
diff --git a/engines/lastexpress/characters/max.cpp b/engines/lastexpress/characters/max.cpp
index e0fdf3d7dfd..b9da6f85bf7 100644
--- a/engines/lastexpress/characters/max.cpp
+++ b/engines/lastexpress/characters/max.cpp
@@ -132,7 +132,7 @@ void LogicManager::CONS_Max_DoSeqOtis(CONS_PARAMS) {
void LogicManager::HAND_Max_DoSeqOtis(HAND_PARAMS) {
switch (msg->action) {
- case 2:
+ case 3:
getCharacter(kCharacterMax).currentCall--;
_engine->getMessageManager()->setMessageHandle(kCharacterMax, _functionsMax[getCharacter(kCharacterMax).callbacks[getCharacter(kCharacterMax).currentCall]]);
fedEx(kCharacterMax, kCharacterMax, 18, 0);
Commit: 0ef33cabb3686052bbdc5284cb0529c753fe8f20
https://github.com/scummvm/scummvm/commit/0ef33cabb3686052bbdc5284cb0529c753fe8f20
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-01T18:32:31+02:00
Commit Message:
LASTEXPRESS: Fix bugs in Monsieur's character logic
Changed paths:
engines/lastexpress/characters/monsieur.cpp
diff --git a/engines/lastexpress/characters/monsieur.cpp b/engines/lastexpress/characters/monsieur.cpp
index c6433431dad..44d1cd57105 100644
--- a/engines/lastexpress/characters/monsieur.cpp
+++ b/engines/lastexpress/characters/monsieur.cpp
@@ -294,7 +294,7 @@ void LogicManager::CONS_Monsieur_FinishSeqOtis(CONS_PARAMS) {
void LogicManager::HAND_Monsieur_FinishSeqOtis(HAND_PARAMS) {
switch (msg->action) {
case 0:
- if (getCharacter(kCharacterMonsieur).direction == 4) {
+ if (getCharacter(kCharacterMonsieur).direction != 4) {
getCharacter(kCharacterMonsieur).currentCall--;
_engine->getMessageManager()->setMessageHandle(kCharacterMonsieur, _functionsMonsieur[getCharacter(kCharacterMonsieur).callbacks[getCharacter(kCharacterMonsieur).currentCall]]);
fedEx(kCharacterMonsieur, kCharacterMonsieur, 18, 0);
Commit: a1965c0dc5a8ca932efe0cea713196f0fe34e621
https://github.com/scummvm/scummvm/commit/a1965c0dc5a8ca932efe0cea713196f0fe34e621
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-01T18:32:31+02:00
Commit Message:
LASTEXPRESS: Fix bugs in TrainM's character logic
Changed paths:
engines/lastexpress/characters/trainm.cpp
diff --git a/engines/lastexpress/characters/trainm.cpp b/engines/lastexpress/characters/trainm.cpp
index 9e7ae7b14b6..4e2020d27db 100644
--- a/engines/lastexpress/characters/trainm.cpp
+++ b/engines/lastexpress/characters/trainm.cpp
@@ -2750,11 +2750,9 @@ void LogicManager::HAND_TrainM_InCharge(HAND_PARAMS) {
case 18:
switch (getCharacter(kCharacterTrainM).callbacks[getCharacter(kCharacterTrainM).currentCall + 8]) {
case 1:
+ startCycOtis(kCharacterTrainM, "620E");
+ // fall through
case 2:
- if (msg->action == 1) {
- startCycOtis(kCharacterTrainM, "620E");
- }
-
if (whoRunningDialog(kCharacterTrainM)) {
getCharacter(kCharacterTrainM).callbacks[getCharacter(kCharacterTrainM).currentCall + 8] = 2;
TrainMCall(&LogicManager::CONS_TrainM_DoWait, 225, 0, 0, 0);
More information about the Scummvm-git-logs
mailing list