[Scummvm-git-logs] scummvm master -> b221ea2e284c866f4f6f0154b1e913dd508544a3

AndywinXp noreply at scummvm.org
Sun May 3 06:07:54 UTC 2026


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:
b221ea2e28 LASTEXPRESS: Fix last batch of bugs in the engine


Commit: b221ea2e284c866f4f6f0154b1e913dd508544a3
    https://github.com/scummvm/scummvm/commit/b221ea2e284c866f4f6f0154b1e913dd508544a3
Author: AndywinXp (andywinxp at gmail.com)
Date: 2026-05-03T08:07:44+02:00

Commit Message:
LASTEXPRESS: Fix last batch of bugs in the engine

Changed paths:
    engines/lastexpress/data/archive.cpp
    engines/lastexpress/game/logic.cpp


diff --git a/engines/lastexpress/data/archive.cpp b/engines/lastexpress/data/archive.cpp
index 05362c75814..c95bf74d660 100644
--- a/engines/lastexpress/data/archive.cpp
+++ b/engines/lastexpress/data/archive.cpp
@@ -270,7 +270,7 @@ void ArchiveManager::readCD(void *dstBuf, int offset, uint32 size) {
 			error("Error reading from file \"%s\"", "CD cache file");
 		}
 
-		_cdFilePosition = (offset + readSize);
+		_cdFilePosition = (offset + size);
 	}
 }
 
diff --git a/engines/lastexpress/game/logic.cpp b/engines/lastexpress/game/logic.cpp
index 365928bb92d..e8a6c29a900 100644
--- a/engines/lastexpress/game/logic.cpp
+++ b/engines/lastexpress/game/logic.cpp
@@ -117,7 +117,7 @@ void LogicManager::endGame(int type, int value, int sceneIndex, bool showScene)
 
 	_engine->_navigationEngineIsRunning = false;
 	_engine->getMessageManager()->clearMessageQueue();
-	_engine->_stopUpdatingCharacters = false;
+	_engine->_stopUpdatingCharacters = true;
 
 	if (showScene) {
 		fadeToWhite();
@@ -532,7 +532,7 @@ bool LogicManager::onLowPlatform(int character) {
 
 bool LogicManager::onKronPlatform(int character) {
 	return checkLoc(character, kCarKronos)
-		&& getCharacter(character).characterPosition.position < 7900;
+		&& getCharacter(character).characterPosition.position > 7900;
 }
 
 bool LogicManager::cathInCorridor(int car) {
@@ -1955,7 +1955,7 @@ void LogicManager::queueSFX(int character, uint8 action, uint8 delay) {
 				sndNum = sndArray[rnd(3)];
 				break;
 			case 198:
-				sndArray[0] = 198;
+				sndArray[0] = 199;
 				sndArray[1] = 200;
 				sndArray[2] = 201;
 				sndArray[3] = 202;
@@ -3208,7 +3208,7 @@ bool LogicManager::walk(int character, int car, int position) {
 
 			if (getCharacter(character).characterPosition.car == kCarGreenSleeping && onLowPlatform(kCharacterCath)) {
 				queueSFX(kCharacterCath, 14, 0);
-				playChrExcuseMe(character, kCarGreenSleeping, 16);
+				playChrExcuseMe(character, kCharacterCath, 16);
 				bumpCath(kCarGreenSleeping, 1, 255);
 				playDialog(kCharacterCath, "CAT1127A" , -1, 0);
 				queueSFX(kCharacterCath, 15, 0);
@@ -3223,9 +3223,9 @@ bool LogicManager::walk(int character, int car, int position) {
 				return true;
 			}
 
-			if (getCharacter(character).characterPosition.car == kCarGreenSleeping && onKronPlatform(0)) {
+			if (getCharacter(character).characterPosition.car == kCarGreenSleeping && onKronPlatform(kCharacterCath)) {
 				queueSFX(kCharacterCath, 14, 0);
-				playChrExcuseMe(character, 0, 16);
+				playChrExcuseMe(character, kCharacterCath, 16);
 				bumpCath(kCarGreenSleeping, 62, 255);
 				playDialog(kCharacterCath, "CAT1127A" , -1, 0);
 				queueSFX(kCharacterCath, 15, 0);
@@ -3264,7 +3264,7 @@ bool LogicManager::walk(int character, int car, int position) {
 
 			if (getCharacter(character).characterPosition.car == kCarKronos && onKronPlatform(kCharacterCath)) {
 				queueSFX(kCharacterCath, 14, 0);
-				playChrExcuseMe(character, 0, 16);
+				playChrExcuseMe(character, kCharacterCath, 16);
 				bumpCath(kCarGreenSleeping, 62, 255);
 				playDialog(kCharacterCath, "CAT1127A", -1, 0);
 				queueSFX(kCharacterCath, 15, 0);




More information about the Scummvm-git-logs mailing list