[Scummvm-git-logs] scummvm-tools master -> 3add5c927e0c78cacf62563abc53d81fc093376e

mgerhardy noreply at scummvm.org
Sun Jan 15 09:46:42 UTC 2023


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm-tools' repo located at https://github.com/scummvm/scummvm-tools .

Summary:
3add5c927e TWINE: fixed parsing lba2 scene


Commit: 3add5c927e0c78cacf62563abc53d81fc093376e
    https://github.com/scummvm/scummvm-tools/commit/3add5c927e0c78cacf62563abc53d81fc093376e
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2023-01-15T10:46:23+01:00

Commit Message:
TWINE: fixed parsing lba2 scene

Changed paths:
    engines/twine/lba2.cpp


diff --git a/engines/twine/lba2.cpp b/engines/twine/lba2.cpp
index a9791db3..ca9b85f5 100644
--- a/engines/twine/lba2.cpp
+++ b/engines/twine/lba2.cpp
@@ -33,15 +33,19 @@ static int decompileLBA2LifeScript(int actor, const uint8 *moveScript, int16 mov
 int decompileLBA2(const uint8 *data, int size) {
 	Common::MemoryReadStream stream(data, size);
 
-	uint8 sceneTextBank = stream.readByte();
-	uint8 currentGameOverScene = stream.readByte();
-	stream.skip(4);
+	int8 island = stream.readByte();
+	int8 currentCubeX = stream.readByte();
+	int8 currentCubeY = stream.readByte();
+
+	int8 shadowLevel = stream.readByte();
+	int8 modeLabyrinthe = stream.readByte();
+	uint8 isOutsideScene = stream.readByte();
+
+	uint8 n = stream.readByte();
 
 	int16 alphaLight = stream.readSint16LE();
 	int16 betaLight = stream.readSint16LE();
 
-	uint8 isOutsideScene = stream.readByte();
-
 	uint16 sampleAmbiance[4];
 	uint16 sampleRepeat[4];
 	uint16 sampleRound[4];
@@ -147,6 +151,8 @@ int decompileLBA2(const uint8 *data, int size) {
 		decompileLBA2LifeScript(0, lifeScript, lifeScriptSize);
 	}
 
+	uint32 checksum = stream.readUint32LE();
+
 	int16 sceneNumZones = stream.readSint16LE();
 	for (int32 i = 0; i < sceneNumZones; i++) {
 		int32 zoneminsx = stream.readSint32LE();
@@ -207,9 +213,8 @@ int decompileLBA2(const uint8 *data, int size) {
 	}
 
 	printf("Scene\n");
-	printf(" - sceneTextBank: %i\n", sceneTextBank);
+	printf(" - checksum: %u\n", checksum);
 	printf(" - isOutsideScene: %i\n", isOutsideScene);
-	printf(" - currentGameOverScene: %i\n", currentGameOverScene);
 	printf(" - alphaLight: %i\n", alphaLight);
 	printf(" - betaLight: %i\n", betaLight);
 	printf(" - sampleFrequency: %i %i %i %i\n", sampleFrequency[0], sampleFrequency[1], sampleFrequency[2], sampleFrequency[3]);




More information about the Scummvm-git-logs mailing list