[Scummvm-cvs-logs] scummvm master -> 6ab8db638e4a1d547ee67db067b5d6c3d6c940a4

Littleboy julien.templier at gmail.com
Tue Aug 28 05:32:24 CEST 2012


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

Summary:
cd5e750a7f LASTEXPRESS: Fix analysis warnings
47fa7abbe0 LASTEXPRESS: Fix playsnd debugger command
17c051b58c LASTEXPRESS: Check for invalid cd number in debugger commands
6f18ec2104 LASTEXPRESS: Identify some Abbot Chapter 3 functions
86febf3d1d LASTEXPRESS: Check for valid data in Beetle::invertDirection()
cec57e0918 LASTEXPRESS: Reduce header interdependency
ab4c47c584 LASTEXPRESS: Update Debug::loadArchive() to reduce casts
2c0033c7ba LASTEXPRESS: Add const modifiers
bc4e10dabc LASTEXPRESS: Remove some unreachable code
275aded0b0 LASTEXPRESS: Remove unnecessary casts
81c6016e8f LASTEXPRESS: Identify several Verges functions
8fa617556c LASTEXPRESS: Fix typo in Verges chapter 3 function
6ab3b903d4 LASTEXPRESS: Identify more Verges functions
ee8581b778 LASTEXPRESS: Cleanup savegame
6ab8db638e LASTEXPRESS: Implement more savegame loading


Commit: cd5e750a7fdfa0c2ac7904d24b7d8e5a06eff99a
    https://github.com/scummvm/scummvm/commit/cd5e750a7fdfa0c2ac7904d24b7d8e5a06eff99a
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:33-07:00

Commit Message:
LASTEXPRESS: Fix analysis warnings

Changed paths:
    engines/lastexpress/data/background.cpp
    engines/lastexpress/debug.cpp
    engines/lastexpress/sound/queue.cpp



diff --git a/engines/lastexpress/data/background.cpp b/engines/lastexpress/data/background.cpp
index 3d866c2..6037925 100644
--- a/engines/lastexpress/data/background.cpp
+++ b/engines/lastexpress/data/background.cpp
@@ -107,6 +107,7 @@ byte *Background::decodeComponent(Common::SeekableReadStream *in, uint32 inSize,
 		return NULL;
 
 	// Initialize the decoding
+	memset(out, 0, outSize * sizeof(byte));
 	uint32 inPos = 0;
 	uint32 outPos = 0;
 
diff --git a/engines/lastexpress/debug.cpp b/engines/lastexpress/debug.cpp
index f89ad8b..55fb469 100644
--- a/engines/lastexpress/debug.cpp
+++ b/engines/lastexpress/debug.cpp
@@ -139,6 +139,9 @@ void Debugger::copyCommand(int argc, const char **argv) {
 
 	for (int i = 0; i < _numParams; i++) {
 		_commandParams[i] = (char *)malloc(strlen(argv[i]) + 1);
+		if (_commandParams[i] == NULL)
+			error("[Debugger::copyCommand] Cannot allocate memory for command parameters");
+
 		memset(_commandParams[i], 0, strlen(argv[i]) + 1);
 		strcpy(_commandParams[i], argv[i]);
 	}
diff --git a/engines/lastexpress/sound/queue.cpp b/engines/lastexpress/sound/queue.cpp
index d72acfd..8904b48 100644
--- a/engines/lastexpress/sound/queue.cpp
+++ b/engines/lastexpress/sound/queue.cpp
@@ -67,6 +67,8 @@ void SoundQueue::handleTimer() {
 
 	for (Common::List<SoundEntry *>::iterator i = _soundList.begin(); i != _soundList.end(); ++i) {
 		SoundEntry *entry = (*i);
+		if (entry == NULL)
+			error("[SoundQueue::handleTimer] Invalid entry found in sound queue");
 
 		// When the entry has stopped playing, we remove his buffer
 		if (entry->isFinished()) {
@@ -123,6 +125,8 @@ void SoundQueue::updateQueue() {
 
 	for (Common::List<SoundEntry *>::iterator it = _soundList.begin(); it != _soundList.end(); ++it) {
 		SoundEntry *entry = *it;
+		if (entry == NULL)
+			error("[SoundQueue::updateQueue] Invalid entry found in sound queue");
 
 		// Original removes the entry data from the cache and sets the archive as not loaded
 		// and if the sound data buffer is not full, loads a new entry to be played based on
@@ -179,6 +183,8 @@ void SoundQueue::clearQueue() {
 
 	for (Common::List<SoundEntry *>::iterator i = _soundList.begin(); i != _soundList.end(); ++i) {
 		SoundEntry *entry = (*i);
+		if (entry == NULL)
+			error("[SoundQueue::clearQueue] Invalid entry found in sound queue");
 
 		// Delete entry
 		entry->close();


Commit: 47fa7abbe00fb923be4053ae2a19e41a8d7753b9
    https://github.com/scummvm/scummvm/commit/47fa7abbe00fb923be4053ae2a19e41a8d7753b9
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:34-07:00

Commit Message:
LASTEXPRESS: Fix playsnd debugger command

Changed paths:
    engines/lastexpress/debug.cpp



diff --git a/engines/lastexpress/debug.cpp b/engines/lastexpress/debug.cpp
index 55fb469..fae9ea7 100644
--- a/engines/lastexpress/debug.cpp
+++ b/engines/lastexpress/debug.cpp
@@ -523,7 +523,7 @@ bool Debugger::cmdPlaySnd(int argc, const char **argv) {
 
 		_engine->_system->getMixer()->stopAll();
 
-		_soundStream->load(getArchive(name));
+		_soundStream->load(getArchive(name), 16);
 
 		if (argc == 3)
 			restoreArchive();


Commit: 17c051b58c00cc1424978fc886bcd8b4cd18356c
    https://github.com/scummvm/scummvm/commit/17c051b58c00cc1424978fc886bcd8b4cd18356c
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:35-07:00

Commit Message:
LASTEXPRESS: Check for invalid cd number in debugger commands

Changed paths:
    engines/lastexpress/debug.cpp
    engines/lastexpress/debug.h



diff --git a/engines/lastexpress/debug.cpp b/engines/lastexpress/debug.cpp
index fae9ea7..21bf011 100644
--- a/engines/lastexpress/debug.cpp
+++ b/engines/lastexpress/debug.cpp
@@ -155,9 +155,18 @@ void Debugger::callCommand() {
 		(*_command)(_numParams, const_cast<const char **>(_commandParams));
 }
 
-void Debugger::loadArchive(ArchiveIndex index) const {
-	_engine->getResourceManager()->loadArchive(index);
+bool Debugger::loadArchive(ArchiveIndex index) {
+	if (index < 1 || index > 3) {
+		DebugPrintf("Invalid cd number (was: %d, valid: [1-3])\n", index);
+		return false;
+	}
+
+	if (!_engine->getResourceManager()->loadArchive(index))
+		return false;
+
 	getScenes()->loadSceneDataFile(index);
+
+	return true;
 }
 
 // Restore loaded archive
@@ -236,8 +245,10 @@ bool Debugger::cmdListFiles(int argc, const char **argv) {
 		Common::String filter(const_cast<char *>(argv[1]));
 
 		// Load the proper archive
-		if (argc == 3)
-			loadArchive((ArchiveIndex)getNumber(argv[2]));
+		if (argc == 3) {
+			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+				return true;
+		}
 
 		Common::ArchiveMemberList list;
 		int count = _engine->getResourceManager()->listMatchingMembers(list, filter);
@@ -320,8 +331,10 @@ bool Debugger::cmdShowFrame(int argc, const char **argv) {
 		Common::String filename(const_cast<char *>(argv[1]));
 		filename += ".seq";
 
-		if (argc == 4)
-			loadArchive((ArchiveIndex)getNumber(argv[3]));
+		if (argc == 4) {
+			if (!loadArchive((ArchiveIndex)getNumber(argv[3])))
+				return true;
+		}
 
 		if (!_engine->getResourceManager()->hasFile(filename)) {
 			DebugPrintf("Cannot find file: %s\n", filename.c_str());
@@ -380,8 +393,10 @@ bool Debugger::cmdShowBg(int argc, const char **argv) {
 	if (argc == 2 || argc == 3) {
 		Common::String filename(const_cast<char *>(argv[1]));
 
-		if (argc == 3)
-			loadArchive((ArchiveIndex)getNumber(argv[2]));
+		if (argc == 3) {
+			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+				return true;
+		}
 
 		if (!_engine->getResourceManager()->hasFile(filename + ".BG")) {
 			DebugPrintf("Cannot find file: %s\n", (filename + ".BG").c_str());
@@ -433,8 +448,10 @@ bool Debugger::cmdPlaySeq(int argc, const char **argv) {
 		Common::String filename(const_cast<char *>(argv[1]));
 		filename += ".seq";
 
-		if (argc == 3)
-			loadArchive((ArchiveIndex)getNumber(argv[2]));
+		if (argc == 3) {
+			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+				return true;
+		}
 
 		if (!_engine->getResourceManager()->hasFile(filename)) {
 			DebugPrintf("Cannot find file: %s\n", filename.c_str());
@@ -508,8 +525,10 @@ bool Debugger::cmdPlaySeq(int argc, const char **argv) {
 bool Debugger::cmdPlaySnd(int argc, const char **argv) {
 	if (argc == 2 || argc == 3) {
 
-		if (argc == 3)
-			loadArchive((ArchiveIndex)getNumber(argv[2]));
+		if (argc == 3) {
+			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+				return true;
+		}
 
 		// Add .SND at the end of the filename if needed
 		Common::String name(const_cast<char *>(argv[1]));
@@ -545,8 +564,10 @@ bool Debugger::cmdPlaySbe(int argc, const char **argv) {
 	if (argc == 2 || argc == 3) {
 		Common::String filename(const_cast<char *>(argv[1]));
 
-		if (argc == 3)
-			loadArchive((ArchiveIndex)getNumber(argv[2]));
+		if (argc == 3) {
+			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+				return true;
+		}
 
 		filename += ".sbe";
 
@@ -608,8 +629,10 @@ bool Debugger::cmdPlayNis(int argc, const char **argv) {
 	if (argc == 2 || argc == 3) {
 		Common::String name(const_cast<char *>(argv[1]));
 
-		if (argc == 3)
-			loadArchive((ArchiveIndex)getNumber(argv[2]));
+		if (argc == 3) {
+			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+				return true;
+		}
 
 		// If we got a nis filename, check that the file exists
 		if (name.contains('.') && !_engine->getResourceManager()->hasFile(name)) {
@@ -665,8 +688,10 @@ bool Debugger::cmdLoadScene(int argc, const char **argv) {
 		SceneIndex index = (SceneIndex)getNumber(argv[1]);
 
 		// Check args
-		if (argc == 3)
-			loadArchive((ArchiveIndex)getNumber(argv[2]));
+		if (argc == 3) {
+			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+				return true;
+		}
 
 		if (index > 2500) {
 			DebugPrintf("Error: invalid index value (0-2500)");
diff --git a/engines/lastexpress/debug.h b/engines/lastexpress/debug.h
index d9ba6f4..06534f4 100644
--- a/engines/lastexpress/debug.h
+++ b/engines/lastexpress/debug.h
@@ -87,7 +87,7 @@ private:
 	void copyCommand(int argc, const char **argv);
 	int getNumber(const char *arg) const;
 
-	void loadArchive(ArchiveIndex index) const;
+	bool loadArchive(ArchiveIndex index);
 	void restoreArchive() const;
 
 	Debuglet *_command;


Commit: 6f18ec2104b5cf02ebeb0c928a5c2507c99d820d
    https://github.com/scummvm/scummvm/commit/6f18ec2104b5cf02ebeb0c928a5c2507c99d820d
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:35-07:00

Commit Message:
LASTEXPRESS: Identify some Abbot Chapter 3 functions

Changed paths:
    engines/lastexpress/entities/abbot.cpp
    engines/lastexpress/entities/abbot.h



diff --git a/engines/lastexpress/entities/abbot.cpp b/engines/lastexpress/entities/abbot.cpp
index e0fe429..85d0d89 100644
--- a/engines/lastexpress/entities/abbot.cpp
+++ b/engines/lastexpress/entities/abbot.cpp
@@ -58,10 +58,10 @@ Abbot::Abbot(LastExpressEngine *engine) : Entity(engine, kEntityAbbot) {
 	ADD_CALLBACK_FUNCTION(Abbot, chapter2);
 	ADD_CALLBACK_FUNCTION(Abbot, chapter3);
 	ADD_CALLBACK_FUNCTION(Abbot, chapter3Handler);
-	ADD_CALLBACK_FUNCTION(Abbot, function19);
-	ADD_CALLBACK_FUNCTION(Abbot, function20);
-	ADD_CALLBACK_FUNCTION(Abbot, function21);
-	ADD_CALLBACK_FUNCTION(Abbot, function22);
+	ADD_CALLBACK_FUNCTION(Abbot, conversationWithBoutarel);
+	ADD_CALLBACK_FUNCTION(Abbot, readPaper);
+	ADD_CALLBACK_FUNCTION(Abbot, goToLunch);
+	ADD_CALLBACK_FUNCTION(Abbot, haveLunch);
 	ADD_CALLBACK_FUNCTION(Abbot, function23);
 	ADD_CALLBACK_FUNCTION(Abbot, function24);
 	ADD_CALLBACK_FUNCTION(Abbot, function25);
@@ -259,7 +259,7 @@ IMPLEMENT_FUNCTION(18, Abbot, chapter3Handler)
 			getData()->entityPosition = kPosition_6470;
 			getData()->location = kLocationInsideCompartment;
 
-			setup_function19();
+			setup_conversationWithBoutarel();
 			break;
 		}
 		break;
@@ -272,7 +272,7 @@ IMPLEMENT_FUNCTION(18, Abbot, chapter3Handler)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(19, Abbot, function19)
+IMPLEMENT_FUNCTION(19, Abbot, conversationWithBoutarel)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -311,21 +311,21 @@ IMPLEMENT_FUNCTION(19, Abbot, function19)
 
 		case 3:
 			getSavePoints()->push(kEntityAbbot, kEntityBoutarel, kAction122288808);
-			setup_function20();
+			setup_readPaper();
 			break;
 		}
 	}
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(20, Abbot, function20)
+IMPLEMENT_FUNCTION(20, Abbot, readPaper)
 	switch (savepoint.action) {
 	default:
 		break;
 
 	case kActionNone:
 		if (getState()->time > kTime1966500 && getEntities()->isInRestaurant(kEntityBoutarel))
-			setup_function21();
+			setup_goToLunch();
 		break;
 
 	case kActionDefault:
@@ -335,7 +335,7 @@ IMPLEMENT_FUNCTION(20, Abbot, function20)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(21, Abbot, function21)
+IMPLEMENT_FUNCTION(21, Abbot, goToLunch)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -393,7 +393,7 @@ IMPLEMENT_FUNCTION(21, Abbot, function21)
 			break;
 
 		case 7:
-			setup_function22();
+			setup_haveLunch();
 			break;
 		}
 		break;
@@ -409,7 +409,7 @@ IMPLEMENT_FUNCTION(21, Abbot, function21)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(22, Abbot, function22)
+IMPLEMENT_FUNCTION(22, Abbot, haveLunch)
 	switch (savepoint.action) {
 	default:
 		break;
diff --git a/engines/lastexpress/entities/abbot.h b/engines/lastexpress/entities/abbot.h
index ce52bb6..dc3e86d 100644
--- a/engines/lastexpress/entities/abbot.h
+++ b/engines/lastexpress/entities/abbot.h
@@ -156,10 +156,10 @@ public:
 	 * Handle Chapter 3 events
 	 */
 	DECLARE_FUNCTION(chapter3Handler)
-	DECLARE_FUNCTION(function19)
-	DECLARE_FUNCTION(function20)
-	DECLARE_FUNCTION(function21)
-	DECLARE_FUNCTION(function22)
+	DECLARE_FUNCTION(conversationWithBoutarel)
+	DECLARE_FUNCTION(readPaper)
+	DECLARE_FUNCTION(goToLunch)
+	DECLARE_FUNCTION(haveLunch)
 	DECLARE_FUNCTION(function23)
 	DECLARE_FUNCTION(function24)
 	DECLARE_FUNCTION(function25)


Commit: 86febf3d1dfd780c35c505accc55df28c1ac80c3
    https://github.com/scummvm/scummvm/commit/86febf3d1dfd780c35c505accc55df28c1ac80c3
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:36-07:00

Commit Message:
LASTEXPRESS: Check for valid data in Beetle::invertDirection()

Changed paths:
    engines/lastexpress/game/beetle.cpp



diff --git a/engines/lastexpress/game/beetle.cpp b/engines/lastexpress/game/beetle.cpp
index 2a72459..7cdd67c 100644
--- a/engines/lastexpress/game/beetle.cpp
+++ b/engines/lastexpress/game/beetle.cpp
@@ -351,6 +351,9 @@ void Beetle::drawUpdate() {
 }
 
 void Beetle::invertDirection() {
+	if (!_data)
+		error("[Beetle::invertDirection] Sequences have not been loaded");
+
 	switch (_data->indexes[_data->offset]) {
 	default:
 		break;


Commit: cec57e091834567552658aacfa6561fe80e1a6f8
    https://github.com/scummvm/scummvm/commit/cec57e091834567552658aacfa6561fe80e1a6f8
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:37-07:00

Commit Message:
LASTEXPRESS: Reduce header interdependency

Changed paths:
    engines/lastexpress/entities/entity.cpp
    engines/lastexpress/entities/entity.h
    engines/lastexpress/game/logic.cpp



diff --git a/engines/lastexpress/entities/entity.cpp b/engines/lastexpress/entities/entity.cpp
index 2deca29..552e1a8 100644
--- a/engines/lastexpress/entities/entity.cpp
+++ b/engines/lastexpress/entities/entity.cpp
@@ -26,10 +26,15 @@
 
 #include "lastexpress/game/action.h"
 #include "lastexpress/game/entities.h"
+#include "lastexpress/game/logic.h"
 #include "lastexpress/game/object.h"
 #include "lastexpress/game/savegame.h"
+#include "lastexpress/game/savepoint.h"
+#include "lastexpress/game/state.h"
 #include "lastexpress/game/scenes.h"
 
+#include "lastexpress/lastexpress.h"
+
 namespace LastExpress {
 
 //////////////////////////////////////////////////////////////////////////
@@ -49,8 +54,10 @@ void EntityData::EntityCallData::syncString(Common::Serializer &s, Common::Strin
 	char seqName[13];
 	memset(&seqName, 0, length);
 
-	if (s.isSaving()) strcpy((char *)&seqName, string.c_str());
-		s.syncBytes((byte *)&seqName, length);
+	if (s.isSaving())
+		strcpy((char *)&seqName, string.c_str());
+
+	s.syncBytes((byte *)&seqName, length);
 
 	if (s.isLoading())
 		string = seqName;
diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h
index 3601f34..e5c097b 100644
--- a/engines/lastexpress/entities/entity.h
+++ b/engines/lastexpress/entities/entity.h
@@ -25,13 +25,8 @@
 
 #include "lastexpress/shared.h"
 
-#include "lastexpress/game/logic.h"
-#include "lastexpress/game/savepoint.h"
-#include "lastexpress/game/state.h"
-
 #include "lastexpress/sound/sound.h"
 
-#include "lastexpress/lastexpress.h"
 #include "lastexpress/helpers.h"
 
 #include "common/array.h"
diff --git a/engines/lastexpress/game/logic.cpp b/engines/lastexpress/game/logic.cpp
index 1696f10..09104d1 100644
--- a/engines/lastexpress/game/logic.cpp
+++ b/engines/lastexpress/game/logic.cpp
@@ -48,7 +48,6 @@
 
 #include "lastexpress/sound/queue.h"
 
-#include "lastexpress/graphics.h"
 #include "lastexpress/lastexpress.h"
 #include "lastexpress/resource.h"
 


Commit: ab4c47c584b0451a30bc5239a66cc8649aa66682
    https://github.com/scummvm/scummvm/commit/ab4c47c584b0451a30bc5239a66cc8649aa66682
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:37-07:00

Commit Message:
LASTEXPRESS: Update Debug::loadArchive() to reduce casts

Changed paths:
    engines/lastexpress/debug.cpp
    engines/lastexpress/debug.h



diff --git a/engines/lastexpress/debug.cpp b/engines/lastexpress/debug.cpp
index 21bf011..3994cb0 100644
--- a/engines/lastexpress/debug.cpp
+++ b/engines/lastexpress/debug.cpp
@@ -155,16 +155,16 @@ void Debugger::callCommand() {
 		(*_command)(_numParams, const_cast<const char **>(_commandParams));
 }
 
-bool Debugger::loadArchive(ArchiveIndex index) {
+bool Debugger::loadArchive(int index) {
 	if (index < 1 || index > 3) {
 		DebugPrintf("Invalid cd number (was: %d, valid: [1-3])\n", index);
 		return false;
 	}
 
-	if (!_engine->getResourceManager()->loadArchive(index))
+	if (!_engine->getResourceManager()->loadArchive((ArchiveIndex)index))
 		return false;
 
-	getScenes()->loadSceneDataFile(index);
+	getScenes()->loadSceneDataFile((ArchiveIndex)index);
 
 	return true;
 }
@@ -246,7 +246,7 @@ bool Debugger::cmdListFiles(int argc, const char **argv) {
 
 		// Load the proper archive
 		if (argc == 3) {
-			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+			if (!loadArchive(getNumber(argv[2])))
 				return true;
 		}
 
@@ -332,7 +332,7 @@ bool Debugger::cmdShowFrame(int argc, const char **argv) {
 		filename += ".seq";
 
 		if (argc == 4) {
-			if (!loadArchive((ArchiveIndex)getNumber(argv[3])))
+			if (!loadArchive(getNumber(argv[3])))
 				return true;
 		}
 
@@ -394,7 +394,7 @@ bool Debugger::cmdShowBg(int argc, const char **argv) {
 		Common::String filename(const_cast<char *>(argv[1]));
 
 		if (argc == 3) {
-			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+			if (!loadArchive(getNumber(argv[2])))
 				return true;
 		}
 
@@ -449,7 +449,7 @@ bool Debugger::cmdPlaySeq(int argc, const char **argv) {
 		filename += ".seq";
 
 		if (argc == 3) {
-			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+			if (!loadArchive(getNumber(argv[2])))
 				return true;
 		}
 
@@ -526,7 +526,7 @@ bool Debugger::cmdPlaySnd(int argc, const char **argv) {
 	if (argc == 2 || argc == 3) {
 
 		if (argc == 3) {
-			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+			if (!loadArchive(getNumber(argv[2])))
 				return true;
 		}
 
@@ -565,7 +565,7 @@ bool Debugger::cmdPlaySbe(int argc, const char **argv) {
 		Common::String filename(const_cast<char *>(argv[1]));
 
 		if (argc == 3) {
-			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+			if (!loadArchive(getNumber(argv[2])))
 				return true;
 		}
 
@@ -630,7 +630,7 @@ bool Debugger::cmdPlayNis(int argc, const char **argv) {
 		Common::String name(const_cast<char *>(argv[1]));
 
 		if (argc == 3) {
-			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+			if (!loadArchive(getNumber(argv[2])))
 				return true;
 		}
 
@@ -689,7 +689,7 @@ bool Debugger::cmdLoadScene(int argc, const char **argv) {
 
 		// Check args
 		if (argc == 3) {
-			if (!loadArchive((ArchiveIndex)getNumber(argv[2])))
+			if (!loadArchive(getNumber(argv[2])))
 				return true;
 		}
 
diff --git a/engines/lastexpress/debug.h b/engines/lastexpress/debug.h
index 06534f4..a9f0443 100644
--- a/engines/lastexpress/debug.h
+++ b/engines/lastexpress/debug.h
@@ -87,7 +87,7 @@ private:
 	void copyCommand(int argc, const char **argv);
 	int getNumber(const char *arg) const;
 
-	bool loadArchive(ArchiveIndex index);
+	bool loadArchive(int index);
 	void restoreArchive() const;
 
 	Debuglet *_command;


Commit: 2c0033c7bad5b15c9bcccbce804e244a17a7f891
    https://github.com/scummvm/scummvm/commit/2c0033c7bad5b15c9bcccbce804e244a17a7f891
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:38-07:00

Commit Message:
LASTEXPRESS: Add const modifiers

Changed paths:
    engines/lastexpress/entities/chapters.cpp
    engines/lastexpress/entities/chapters.h
    engines/lastexpress/entities/entity.cpp
    engines/lastexpress/entities/entity.h
    engines/lastexpress/game/beetle.cpp
    engines/lastexpress/game/entities.cpp
    engines/lastexpress/game/entities.h
    engines/lastexpress/game/scenes.cpp
    engines/lastexpress/game/scenes.h



diff --git a/engines/lastexpress/entities/chapters.cpp b/engines/lastexpress/entities/chapters.cpp
index a2f3a3d..d373432 100644
--- a/engines/lastexpress/entities/chapters.cpp
+++ b/engines/lastexpress/entities/chapters.cpp
@@ -1851,7 +1851,7 @@ void Chapters::enterExitHelper(bool isEnteringStation) {
 	callbackAction();
 }
 
-void Chapters::playSteam() {
+void Chapters::playSteam() const {
 	getSoundQueue()->resetState();
 	getSound()->playSteam((CityIndex)ENTITY_PARAM(0, 4));
 	ENTITY_PARAM(0, 2) = 0;
diff --git a/engines/lastexpress/entities/chapters.h b/engines/lastexpress/entities/chapters.h
index ddb3de3..fb52ea3 100644
--- a/engines/lastexpress/entities/chapters.h
+++ b/engines/lastexpress/entities/chapters.h
@@ -157,7 +157,7 @@ private:
 	bool timeCheckExitStation(TimeValue timeValue, uint &parameter, byte callback, const char *sequence);
 	void enterExitStation(const SavePoint &savepoint, bool isEnteringStation);
 	void enterExitHelper(bool isEnteringStation);
-	void playSteam();
+	void playSteam() const;
 };
 
 } // End of namespace LastExpress
diff --git a/engines/lastexpress/entities/entity.cpp b/engines/lastexpress/entities/entity.cpp
index 552e1a8..88b2ada 100644
--- a/engines/lastexpress/entities/entity.cpp
+++ b/engines/lastexpress/entities/entity.cpp
@@ -50,7 +50,7 @@ EntityData::EntityCallData::~EntityCallData() {
 	SAFE_DELETE(sequence3);
 }
 
-void EntityData::EntityCallData::syncString(Common::Serializer &s, Common::String &string, int length) {
+void EntityData::EntityCallData::syncString(Common::Serializer &s, Common::String &string, int length) const {
 	char seqName[13];
 	memset(&seqName, 0, length);
 
@@ -825,7 +825,7 @@ void Entity::setupIISS(const char *name, uint index, uint param1, uint param2, c
 // Helper functions
 //////////////////////////////////////////////////////////////////////////
 
-bool Entity::updateParameter(uint &parameter, uint timeType, uint delta) {
+bool Entity::updateParameter(uint &parameter, uint timeType, uint delta) const {
 	if (!parameter)
 		parameter = (uint)(timeType + delta);
 
@@ -837,7 +837,7 @@ bool Entity::updateParameter(uint &parameter, uint timeType, uint delta) {
 	return true;
 }
 
-bool Entity::updateParameterTime(TimeValue timeValue, bool check, uint &parameter, uint delta) {
+bool Entity::updateParameterTime(TimeValue timeValue, bool check, uint &parameter, uint delta) const {
 	if (getState()->time <= timeValue) {
 		if (check || !parameter)
 			parameter = (uint)(getState()->time + delta);
@@ -851,7 +851,7 @@ bool Entity::updateParameterTime(TimeValue timeValue, bool check, uint &paramete
 	return true;
 }
 
-bool Entity::updateParameterCheck(uint &parameter, uint timeType, uint delta) {
+bool Entity::updateParameterCheck(uint &parameter, uint timeType, uint delta) const {
 	if (parameter && parameter >= timeType)
 		return false;
 
@@ -861,7 +861,7 @@ bool Entity::updateParameterCheck(uint &parameter, uint timeType, uint delta) {
 	return true;
 }
 
-bool Entity::timeCheck(TimeValue timeValue, uint &parameter, Common::Functor0<void> *function) {
+bool Entity::timeCheck(TimeValue timeValue, uint &parameter, Common::Functor0<void> *function) const {
 	if (getState()->time > timeValue && !parameter) {
 		parameter = 1;
 		(*function)();
@@ -936,14 +936,14 @@ bool Entity::timeCheckCar(TimeValue timeValue, uint &parameter, byte callback, C
 	return false;
 }
 
-void Entity::timeCheckSavepoint(TimeValue timeValue, uint &parameter, EntityIndex entity1, EntityIndex entity2, ActionIndex action) {
+void Entity::timeCheckSavepoint(TimeValue timeValue, uint &parameter, EntityIndex entity1, EntityIndex entity2, ActionIndex action) const {
 	if (getState()->time > timeValue && !parameter) {
 		parameter = 1;
 		getSavePoints()->push(entity1, entity2, action);
 	}
 }
 
-void Entity::timeCheckObject(TimeValue timeValue, uint &parameter, ObjectIndex object, ObjectLocation location) {
+void Entity::timeCheckObject(TimeValue timeValue, uint &parameter, ObjectIndex object, ObjectLocation location) const {
 	if (getState()->time > timeValue && !parameter) {
 		parameter = 1;
 		getObjects()->updateLocation2(object, location);
diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h
index e5c097b..c45367c 100644
--- a/engines/lastexpress/entities/entity.h
+++ b/engines/lastexpress/entities/entity.h
@@ -822,7 +822,7 @@ public:
 		 * @param	string	The string.
 		 * @param	length	Length of the string.
 		 */
-		void syncString(Common::Serializer &s, Common::String &string, int length);
+		void syncString(Common::Serializer &s, Common::String &string, int length) const;
 
 		// Serializable
 		void saveLoadWithSerializer(Common::Serializer &s);
@@ -1084,18 +1084,18 @@ protected:
 	// Helper functions
 	//////////////////////////////////////////////////////////////////////////
 
-	bool updateParameter(uint &parameter, uint timeType, uint delta);
-	bool updateParameterCheck(uint &parameter, uint timeType, uint delta);
-	bool updateParameterTime(TimeValue timeValue, bool check, uint &parameter, uint delta);
+	bool updateParameter(uint &parameter, uint timeType, uint delta) const;
+	bool updateParameterCheck(uint &parameter, uint timeType, uint delta) const;
+	bool updateParameterTime(TimeValue timeValue, bool check, uint &parameter, uint delta) const;
 
-	bool timeCheck(TimeValue timeValue, uint &parameter, Common::Functor0<void> *function);
+	bool timeCheck(TimeValue timeValue, uint &parameter, Common::Functor0<void> *function) const;
 	bool timeCheckCallback(TimeValue timeValue, uint &parameter, byte callback, Common::Functor0<void> *function);
 	bool timeCheckCallback(TimeValue timeValue, uint &parameter, byte callback, const char *str, Common::Functor1<const char *, void> *function);
 	bool timeCheckCallback(TimeValue timeValue, uint &parameter, byte callback, bool check, Common::Functor1<bool, void> *function);
 	bool timeCheckCallbackInventory(TimeValue timeValue, uint &parameter, byte callback, Common::Functor0<void> *function);
 	bool timeCheckCar(TimeValue timeValue, uint &parameter, byte callback, Common::Functor0<void> *function);
-	void timeCheckSavepoint(TimeValue timeValue, uint &parameter, EntityIndex entity1, EntityIndex entity2, ActionIndex action);
-	void timeCheckObject(TimeValue timeValue, uint &parameter, ObjectIndex index, ObjectLocation location);
+	void timeCheckSavepoint(TimeValue timeValue, uint &parameter, EntityIndex entity1, EntityIndex entity2, ActionIndex action) const;
+	void timeCheckObject(TimeValue timeValue, uint &parameter, ObjectIndex index, ObjectLocation location) const;
 	bool timeCheckCallbackAction(TimeValue timeValue, uint &parameter);
 	bool timeCheckPlaySoundUpdatePosition(TimeValue timeValue, uint &parameter, byte callback, const char* sound, EntityPosition position);
 
diff --git a/engines/lastexpress/game/beetle.cpp b/engines/lastexpress/game/beetle.cpp
index 7cdd67c..d7a369b 100644
--- a/engines/lastexpress/game/beetle.cpp
+++ b/engines/lastexpress/game/beetle.cpp
@@ -94,7 +94,7 @@ void Beetle::load() {
 
 	// Check that all sequences are loaded properly
 	_data->isLoaded = true;
-	for (int i = 0; i < (int)_data->sequences.size(); i++) {
+	for (uint i = 0; i < _data->sequences.size(); i++) {
 		if (!_data->sequences[i]->isLoaded()) {
 			_data->isLoaded = false;
 			break;
diff --git a/engines/lastexpress/game/entities.cpp b/engines/lastexpress/game/entities.cpp
index 51db635..de30792 100644
--- a/engines/lastexpress/game/entities.cpp
+++ b/engines/lastexpress/game/entities.cpp
@@ -669,7 +669,7 @@ void Entities::executeCallbacks() {
 //////////////////////////////////////////////////////////////////////////
 // Processing
 //////////////////////////////////////////////////////////////////////////
-void Entities::incrementDirectionCounter(EntityData::EntityCallData *data) {
+void Entities::incrementDirectionCounter(EntityData::EntityCallData *data) const {
 	data->doProcessEntity = false;
 
 	if (data->direction == kDirectionRight || (data->direction == kDirectionSwitch && data->directionSwitch == kDirectionRight))
diff --git a/engines/lastexpress/game/entities.h b/engines/lastexpress/game/entities.h
index a9de793..81aed62 100644
--- a/engines/lastexpress/game/entities.h
+++ b/engines/lastexpress/game/entities.h
@@ -344,7 +344,7 @@ private:
 	uint _positions[_positionsCount];
 
 	void executeCallbacks();
-	void incrementDirectionCounter(EntityData::EntityCallData *data);
+	void incrementDirectionCounter(EntityData::EntityCallData *data) const;
 	void processEntity(EntityIndex entity);
 
 	void drawSequence(EntityIndex entity, const char *sequence, EntityDirection direction) const;
diff --git a/engines/lastexpress/game/scenes.cpp b/engines/lastexpress/game/scenes.cpp
index 3cda900..a2c7226 100644
--- a/engines/lastexpress/game/scenes.cpp
+++ b/engines/lastexpress/game/scenes.cpp
@@ -739,7 +739,7 @@ void SceneManager::resetQueue() {
 	_queue.clear();
 }
 
-void SceneManager::setCoordinates(Common::Rect rect) {
+void SceneManager::setCoordinates(const Common::Rect &rect) {
 	_flagCoordinates = true;
 
 	if (_coords.right > rect.right)
diff --git a/engines/lastexpress/game/scenes.h b/engines/lastexpress/game/scenes.h
index a866c65..1c7ae85 100644
--- a/engines/lastexpress/game/scenes.h
+++ b/engines/lastexpress/game/scenes.h
@@ -79,7 +79,7 @@ public:
 	void removeAndRedraw(SequenceFrame **frame, bool doRedraw);
 	void resetQueue();
 	void setCoordinates(SequenceFrame *frame);
-	void setCoordinates(Common::Rect rect);
+	void setCoordinates(const Common::Rect &rect);
 
 	// Helpers
 	SceneIndex getSceneIndexFromPosition(CarIndex car, Position position, int param3 = -1);


Commit: bc4e10dabca5b76283eb6fb431702ccd92a001c0
    https://github.com/scummvm/scummvm/commit/bc4e10dabca5b76283eb6fb431702ccd92a001c0
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:39-07:00

Commit Message:
LASTEXPRESS: Remove some unreachable code

Changed paths:
    engines/lastexpress/fight/fight.cpp
    engines/lastexpress/game/action.cpp
    engines/lastexpress/game/inventory.cpp
    engines/lastexpress/game/savegame.cpp
    engines/lastexpress/sound/entry.cpp



diff --git a/engines/lastexpress/fight/fight.cpp b/engines/lastexpress/fight/fight.cpp
index b00c173..49a9b85 100644
--- a/engines/lastexpress/fight/fight.cpp
+++ b/engines/lastexpress/fight/fight.cpp
@@ -39,10 +39,8 @@
 #include "lastexpress/game/state.h"
 
 #include "lastexpress/sound/queue.h"
-#include "lastexpress/sound/sound.h"
 
 #include "lastexpress/graphics.h"
-#include "lastexpress/helpers.h"
 #include "lastexpress/lastexpress.h"
 #include "lastexpress/resource.h"
 
diff --git a/engines/lastexpress/game/action.cpp b/engines/lastexpress/game/action.cpp
index 60a3095..033fdfc 100644
--- a/engines/lastexpress/game/action.cpp
+++ b/engines/lastexpress/game/action.cpp
@@ -421,8 +421,6 @@ SceneIndex Action::processHotspot(const SceneHotspot &hotspot) {
 // Action 0
 IMPLEMENT_ACTION(dummy)
 	error("[Action::action_dummy] Dummy action function called (hotspot action: %d)", hotspot.action);
-
-	return kSceneInvalid;
 }
 
 //////////////////////////////////////////////////////////////////////////
diff --git a/engines/lastexpress/game/inventory.cpp b/engines/lastexpress/game/inventory.cpp
index 52c00ec..9e0f583 100644
--- a/engines/lastexpress/game/inventory.cpp
+++ b/engines/lastexpress/game/inventory.cpp
@@ -35,10 +35,8 @@
 #include "lastexpress/menu/menu.h"
 
 #include "lastexpress/sound/queue.h"
-#include "lastexpress/sound/sound.h"
 
 #include "lastexpress/graphics.h"
-#include "lastexpress/helpers.h"
 #include "lastexpress/lastexpress.h"
 #include "lastexpress/resource.h"
 
diff --git a/engines/lastexpress/game/savegame.cpp b/engines/lastexpress/game/savegame.cpp
index 360e991..9857ef2 100644
--- a/engines/lastexpress/game/savegame.cpp
+++ b/engines/lastexpress/game/savegame.cpp
@@ -550,7 +550,7 @@ void SaveLoad::saveGame(SavegameType type, EntityIndex entity, uint32 value) {
 		entry.saveLoadWithSerializer(ser);
 
 		if (!entry.isValid()) {
-			error("[SaveLoad::saveGame] Invalid entry. This savegame might be corrupted");
+			warning("[SaveLoad::saveGame] Invalid entry. This savegame might be corrupted");
 			_savegame->seek(header.offset);
 		} else if (getState()->time < entry.time || (type == kSavegameTypeTickInterval && getState()->time == entry.time)) {
 			// Not ready to save a game, skipping!
diff --git a/engines/lastexpress/sound/entry.cpp b/engines/lastexpress/sound/entry.cpp
index f2a063e..3d22657 100644
--- a/engines/lastexpress/sound/entry.cpp
+++ b/engines/lastexpress/sound/entry.cpp
@@ -116,10 +116,8 @@ void SoundEntry::close() {
 }
 
 void SoundEntry::play() {
-	if (!_stream) {
+	if (!_stream)
 		error("[SoundEntry::play] stream has been disposed");
-		return;
-	}
 
 	// Prepare sound stream
 	if (!_soundStream)


Commit: 275aded0b0e485eead8d5bdac48d9c8dc1a6ef9c
    https://github.com/scummvm/scummvm/commit/275aded0b0e485eead8d5bdac48d9c8dc1a6ef9c
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:40-07:00

Commit Message:
LASTEXPRESS: Remove unnecessary casts

Changed paths:
    engines/lastexpress/data/subtitle.cpp
    engines/lastexpress/entities/entity.cpp
    engines/lastexpress/entities/entity.h
    engines/lastexpress/game/action.cpp
    engines/lastexpress/game/entities.cpp
    engines/lastexpress/game/inventory.cpp
    engines/lastexpress/game/savepoint.cpp



diff --git a/engines/lastexpress/data/subtitle.cpp b/engines/lastexpress/data/subtitle.cpp
index a9a8284..4d19c02 100644
--- a/engines/lastexpress/data/subtitle.cpp
+++ b/engines/lastexpress/data/subtitle.cpp
@@ -210,10 +210,10 @@ void SubtitleManager::setTime(uint16 time) {
 	_currentIndex = -1;
 
 	// Find the appropriate line to show
-	for (int16 i = 0; i < (int16)_subtitles.size(); i++) {
+	for (uint i = 0; i < _subtitles.size(); i++) {
 		if ((time >= _subtitles[i]->getTimeStart()) && (time <= _subtitles[i]->getTimeStop())) {
 			// Keep the index of the line to show
-			_currentIndex = i;
+			_currentIndex = (int16)i;
 			return;
 		}
 	}
@@ -237,7 +237,7 @@ Common::Rect SubtitleManager::draw(Graphics::Surface *surface) {
 
 	// Draw the current line
 	assert(_currentIndex >= 0 && _currentIndex < (int16)_subtitles.size());
-	return _subtitles[_currentIndex]->draw(surface, _font);
+	return _subtitles[(uint16)_currentIndex]->draw(surface, _font);
 }
 
 } // End of namespace LastExpress
diff --git a/engines/lastexpress/entities/entity.cpp b/engines/lastexpress/entities/entity.cpp
index 88b2ada..dad5e67 100644
--- a/engines/lastexpress/entities/entity.cpp
+++ b/engines/lastexpress/entities/entity.cpp
@@ -50,7 +50,7 @@ EntityData::EntityCallData::~EntityCallData() {
 	SAFE_DELETE(sequence3);
 }
 
-void EntityData::EntityCallData::syncString(Common::Serializer &s, Common::String &string, int length) const {
+void EntityData::EntityCallData::syncString(Common::Serializer &s, Common::String &string, uint length) const {
 	char seqName[13];
 	memset(&seqName, 0, length);
 
@@ -117,7 +117,7 @@ EntityData::EntityParameters *EntityData::getParameters(uint callback, byte inde
 	return _parameters[callback].parameters[index];
 }
 
-int EntityData::getCallback(uint callback) const {
+byte EntityData::getCallback(uint callback) const {
 	if (callback >= 16)
 		error("[EntityData::getCallback] Invalid callback value (was: %d, max: 16)", callback);
 
diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h
index c45367c..c67d13d 100644
--- a/engines/lastexpress/entities/entity.h
+++ b/engines/lastexpress/entities/entity.h
@@ -822,7 +822,7 @@ public:
 		 * @param	string	The string.
 		 * @param	length	Length of the string.
 		 */
-		void syncString(Common::Serializer &s, Common::String &string, int length) const;
+		void syncString(Common::Serializer &s, Common::String &string, uint length) const;
 
 		// Serializable
 		void saveLoadWithSerializer(Common::Serializer &s);
@@ -845,8 +845,8 @@ public:
 	EntityParameters     *getCurrentParameters(byte index = 0) { return getParameters(_data.currentCall, index); }
 	EntityCallParameters *getCurrentCallParameters() { return &_parameters[_data.currentCall]; }
 
-	int                   getCallback(uint callback) const;
-	int                   getCurrentCallback() { return getCallback(_data.currentCall); }
+	byte                  getCallback(uint callback) const;
+	byte                  getCurrentCallback() { return getCallback(_data.currentCall); }
 	void                  setCallback(uint callback, byte index);
 	void                  setCurrentCallback(uint index) { setCallback(_data.currentCall, index); }
 
diff --git a/engines/lastexpress/game/action.cpp b/engines/lastexpress/game/action.cpp
index 033fdfc..796abf2 100644
--- a/engines/lastexpress/game/action.cpp
+++ b/engines/lastexpress/game/action.cpp
@@ -394,7 +394,7 @@ Action::Action(LastExpressEngine *engine) : _engine(engine) {
 }
 
 Action::~Action() {
-	for (int i = 0; i < (int)_actions.size(); i++)
+	for (uint i = 0; i < _actions.size(); i++)
 		SAFE_DELETE(_actions[i]);
 
 	_actions.clear();
diff --git a/engines/lastexpress/game/entities.cpp b/engines/lastexpress/game/entities.cpp
index de30792..fafbd7c 100644
--- a/engines/lastexpress/game/entities.cpp
+++ b/engines/lastexpress/game/entities.cpp
@@ -181,7 +181,7 @@ Entities::Entities(LastExpressEngine *engine) : _engine(engine) {
 Entities::~Entities() {
 	SAFE_DELETE(_header);
 
-	for (int i = 0; i < (int)_entities.size(); i++)
+	for (uint i = 0; i < _entities.size(); i++)
 		SAFE_DELETE(_entities[i]);
 
 	_entities.clear();
diff --git a/engines/lastexpress/game/inventory.cpp b/engines/lastexpress/game/inventory.cpp
index 9e0f583..11e7369 100644
--- a/engines/lastexpress/game/inventory.cpp
+++ b/engines/lastexpress/game/inventory.cpp
@@ -619,7 +619,7 @@ void Inventory::drawEgg() const {
 
 // Blinking egg: we need to blink the egg for delta time, with the blinking getting faster until it's always lit.
 void Inventory::drawBlinkingEgg(uint ticks) {
-	uint globalTimer = getGlobalTimer();
+	uint globalTimer = (uint)getGlobalTimer();
 	uint timerValue = (getProgress().jacket == kJacketGreen) ? 450 : 225;
 
 	if (globalTimer == timerValue || globalTimer == 900) {
@@ -653,7 +653,7 @@ void Inventory::drawBlinkingEgg(uint ticks) {
 }
 
 void Inventory::blinkEgg() {
-	drawItem((CursorStyle)(getMenu()->getGameId() + 39), 608, 448, (_blinkingBrightness == 0) ? -1 : _blinkingBrightness);
+	drawItem((CursorStyle)(getMenu()->getGameId() + 39), 608, 448, (_blinkingBrightness == 0) ? -1 : (int16)_blinkingBrightness);
 
 	askForRedraw();
 
diff --git a/engines/lastexpress/game/savepoint.cpp b/engines/lastexpress/game/savepoint.cpp
index 6b2dfc5..8d14ec3 100644
--- a/engines/lastexpress/game/savepoint.cpp
+++ b/engines/lastexpress/game/savepoint.cpp
@@ -202,7 +202,7 @@ void SavePoints::callAndProcess() {
 // Misc
 //////////////////////////////////////////////////////////////////////////
 bool SavePoints::updateEntityFromData(const SavePoint &savepoint) {
-	for (int i = 0; i < (int)_data.size(); i++) {
+	for (uint i = 0; i < _data.size(); i++) {
 
 		// Not a data savepoint!
 		if (!_data[i].entity1)
@@ -210,7 +210,7 @@ bool SavePoints::updateEntityFromData(const SavePoint &savepoint) {
 
 		// Found our data!
 		if (_data[i].entity1 == savepoint.entity1 && _data[i].action == savepoint.action) {
-			debugC(8, kLastExpressDebugLogic, "Update entity from data: entity1=%s, action=%s, param=%d", ENTITY_NAME(_data[i].entity1), ACTION_NAME(_data[i].action), _data[i].param);
+			debugC(8, kLastExpressDebugLogic, "Update entity from data: entity1=%s, action=%s, param=%u", ENTITY_NAME(_data[i].entity1), ACTION_NAME(_data[i].action), _data[i].param);
 
 			// the SavePoint param value is the index of the entity call parameter to update
 			getEntities()->get(_data[i].entity1)->getParamData()->updateParameters(_data[i].param);


Commit: 81c6016e8f6c670c1046be12b541b0d63c9fd5fa
    https://github.com/scummvm/scummvm/commit/81c6016e8f6c670c1046be12b541b0d63c9fd5fa
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:40-07:00

Commit Message:
LASTEXPRESS: Identify several Verges functions

Changed paths:
    engines/lastexpress/entities/verges.cpp
    engines/lastexpress/entities/verges.h



diff --git a/engines/lastexpress/entities/verges.cpp b/engines/lastexpress/entities/verges.cpp
index 867f122..9469888 100644
--- a/engines/lastexpress/entities/verges.cpp
+++ b/engines/lastexpress/entities/verges.cpp
@@ -46,13 +46,13 @@ Verges::Verges(LastExpressEngine *engine) : Entity(engine, kEntityVerges) {
 	ADD_CALLBACK_FUNCTION(Verges, callbackActionRestaurantOrSalon);
 	ADD_CALLBACK_FUNCTION(Verges, savegame);
 	ADD_CALLBACK_FUNCTION(Verges, updateEntity);
-	ADD_CALLBACK_FUNCTION(Verges, function9);
-	ADD_CALLBACK_FUNCTION(Verges, function10);
+	ADD_CALLBACK_FUNCTION(Verges, walkBetweenCars);
+	ADD_CALLBACK_FUNCTION(Verges, makeAnnouncement);
 	ADD_CALLBACK_FUNCTION(Verges, function11);
 	ADD_CALLBACK_FUNCTION(Verges, function12);
-	ADD_CALLBACK_FUNCTION(Verges, function13);
+	ADD_CALLBACK_FUNCTION(Verges, baggageCar);
 	ADD_CALLBACK_FUNCTION(Verges, updateFromTime);
-	ADD_CALLBACK_FUNCTION(Verges, function15);
+	ADD_CALLBACK_FUNCTION(Verges, dialog);
 	ADD_CALLBACK_FUNCTION(Verges, function16);
 	ADD_CALLBACK_FUNCTION(Verges, function17);
 	ADD_CALLBACK_FUNCTION(Verges, chapter1);
@@ -149,7 +149,7 @@ IMPLEMENT_FUNCTION_II(8, Verges, updateEntity, CarIndex, EntityPosition)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_S(9, Verges, function9)
+IMPLEMENT_FUNCTION_S(9, Verges, walkBetweenCars)
 switch (savepoint.action) {
 	default:
 		break;
@@ -201,7 +201,7 @@ switch (savepoint.action) {
 
 		case 3:
 			setCallback(4);
-			setup_function10(kCarGreenSleeping, kPosition_540, (char *)&params->seq1);
+			setup_makeAnnouncement(kCarGreenSleeping, kPosition_540, (char *)&params->seq1);
 			break;
 
 		case 4:
@@ -225,7 +225,7 @@ switch (savepoint.action) {
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_IIS(10, Verges, function10, CarIndex, EntityPosition)
+IMPLEMENT_FUNCTION_IIS(10, Verges, makeAnnouncement, CarIndex, EntityPosition)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -404,7 +404,7 @@ IMPLEMENT_FUNCTION(12, Verges, function12)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_I(13, Verges, function13, bool)
+IMPLEMENT_FUNCTION_I(13, Verges, baggageCar, bool)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -449,7 +449,7 @@ IMPLEMENT_FUNCTION_I(14, Verges, updateFromTime, uint32)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_IS(15, Verges, function15, EntityIndex)
+IMPLEMENT_FUNCTION_IS(15, Verges, dialog, EntityIndex)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -548,7 +548,7 @@ IMPLEMENT_FUNCTION(17, Verges, function17)
 
 		case 2:
 			setCallback(3);
-			setup_function15(kEntityMertens, "TRA1291");
+			setup_dialog(kEntityMertens, "TRA1291");
 			break;
 
 		case 3:
@@ -774,10 +774,10 @@ IMPLEMENT_FUNCTION(25, Verges, function25)
 
 				if (getData()->car == kCarRedSleeping) {
 					setCallback(6);
-					setup_function10(kCarGreenSleeping, kPosition_540, "TRA1005");
+					setup_makeAnnouncement(kCarGreenSleeping, kPosition_540, "TRA1005");
 				} else {
 					setCallback(7);
-					setup_function10(kCarRedSleeping, kPosition_9460, "TRA1006");
+					setup_makeAnnouncement(kCarRedSleeping, kPosition_9460, "TRA1006");
 				}
 				break;
 			}
@@ -805,7 +805,7 @@ IMPLEMENT_FUNCTION(25, Verges, function25)
 			getSavePoints()->push(kEntityVerges, kEntityCoudert, kAction168254872);
 
 			setCallback(4);
-			setup_function10(kCarRedSleeping, kPosition_9460, "TRA1006");
+			setup_makeAnnouncement(kCarRedSleeping, kPosition_9460, "TRA1006");
 			break;
 
 		case 4:
@@ -838,7 +838,7 @@ IMPLEMENT_FUNCTION(25, Verges, function25)
 			getSavePoints()->push(kEntityVerges, kEntityCoudert, kAction168254872);
 
 			setCallback(10);
-			setup_function10(kCarGreenSleeping, kPosition_540, "TRA1006");
+			setup_makeAnnouncement(kCarGreenSleeping, kPosition_540, "TRA1006");
 			break;
 
 		case 10:
@@ -892,7 +892,7 @@ IMPLEMENT_FUNCTION(26, Verges, chapter1Handler)
 label_callback1:
 		if (getEntities()->isInBaggageCarEntrance(kEntityPlayer)) {
 			setCallback(2);
-			setup_function13(false);
+			setup_baggageCar(false);
 			break;
 		}
 
@@ -907,7 +907,7 @@ label_callback3:
 		if (params->param6)
 			goto label_callback12;
 
-		if (Entity::timeCheckCallback(kTimeChapter1, params->param7, 4, "TRA1001", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTimeChapter1, params->param7, 4, "TRA1001", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback4:
@@ -923,19 +923,19 @@ label_callback4:
 		}
 
 label_callback8:
-		if (Entity::timeCheckCallback(kTime1107000, CURRENT_PARAM(1, 1), 9, "TRA1001A", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTime1107000, CURRENT_PARAM(1, 1), 9, "TRA1001A", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback9:
-		if (Entity::timeCheckCallback(kTime1134000, CURRENT_PARAM(1, 2), 10, "TRA1002", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTime1134000, CURRENT_PARAM(1, 2), 10, "TRA1002", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback10:
-		if (Entity::timeCheckCallback(kTime1165500, CURRENT_PARAM(1, 3), 11, "TRA1003", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTime1165500, CURRENT_PARAM(1, 3), 11, "TRA1003", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback11:
-		if (Entity::timeCheckCallback(kTime1225800, CURRENT_PARAM(1, 4), 12, "TRA1004", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTime1225800, CURRENT_PARAM(1, 4), 12, "TRA1004", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback12:
@@ -970,7 +970,7 @@ label_callback15:
 
 	case kActionOpenDoor:
 		setCallback(17);
-		setup_function13(savepoint.param.intValue < 106 ? true : false);
+		setup_baggageCar(savepoint.param.intValue < 106 ? true : false);
 		break;
 
 	case kActionDefault:
@@ -1006,7 +1006,7 @@ label_callback15:
 
 		case 6:
 			setCallback(7);
-			setup_function15(kEntityMertens, "TRA1202");
+			setup_dialog(kEntityMertens, "TRA1202");
 			break;
 
 		case 7:
@@ -1084,11 +1084,11 @@ IMPLEMENT_FUNCTION(28, Verges, chapter2Handler)
 	case kActionNone:
 		if (getEntities()->isInBaggageCarEntrance(kEntityPlayer)) {
 			setCallback(1);
-			setup_function13(false);
+			setup_baggageCar(false);
 		}
 
 label_callback_1:
-		if (Entity::timeCheckCallback(kTime1818900, params->param1, 2, "Tra2177", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTime1818900, params->param1, 2, "Tra2177", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback_2:
@@ -1130,7 +1130,7 @@ label_callback_6:
 
 	case kActionOpenDoor:
 		setCallback(8);
-		setup_function13(savepoint.param.intValue < 106);
+		setup_baggageCar(savepoint.param.intValue < 106);
 		break;
 
 	case kActionDefault:
@@ -1155,7 +1155,7 @@ label_callback_6:
 
 		case 4:
 			setCallback(5);
-			setup_function15(kEntityCoudert, "TRA2100");
+			setup_dialog(kEntityCoudert, "TRA2100");
 			break;
 
 		case 5:
@@ -1221,7 +1221,7 @@ IMPLEMENT_FUNCTION_S(30, Verges, function30)
 
 		case 2:
 			setCallback(3);
-			setup_function15(kEntityCoudert, (char *)&params->seq1);
+			setup_dialog(kEntityCoudert, (char *)&params->seq1);
 			break;
 
 		case 3:
@@ -1260,7 +1260,7 @@ IMPLEMENT_FUNCTION(31, Verges, function31)
 
 		case 2:
 			setCallback(3);
-			setup_function15(kEntityCoudert, "TRA3015");
+			setup_dialog(kEntityCoudert, "TRA3015");
 			break;
 
 		case 3:
@@ -1289,7 +1289,7 @@ IMPLEMENT_FUNCTION(32, Verges, function32)
 		if (getState()->time > kTime2263500 && !params->param1) {
 			params->param1 = 1;
 			setCallback(5);
-			setup_function10(kCarRedSleeping, kPosition_9460, "TRA3006");
+			setup_makeAnnouncement(kCarRedSleeping, kPosition_9460, "TRA3006");
 			break;
 		}
 		break;
@@ -1341,7 +1341,7 @@ IMPLEMENT_FUNCTION(32, Verges, function32)
 
 		case 3:
 			setCallback(4);
-			setup_function10(kCarGreenSleeping, kPosition_540, "TRA3004");
+			setup_makeAnnouncement(kCarGreenSleeping, kPosition_540, "TRA3004");
 			break;
 
 		case 4:
@@ -1412,7 +1412,7 @@ IMPLEMENT_FUNCTION(33, Verges, function33)
 			getSavePoints()->push(kEntityVerges, kEntityAbbot, kAction192054567);
 
 			setCallback(6);
-			setup_function9("Tra3010");
+			setup_walkBetweenCars("Tra3010");
 			break;
 
 		case 6:
@@ -1432,7 +1432,7 @@ IMPLEMENT_FUNCTION(34, Verges, function34)
 	case kActionNone:
 		if (getEntities()->isInBaggageCarEntrance(kEntityPlayer)) {
 			setCallback(1);
-			setup_function13(false);
+			setup_baggageCar(false);
 			break;
 		}
 
@@ -1451,11 +1451,11 @@ label_callback_2:
 		}
 
 label_callback_3:
-		if (Entity::timeCheckCallback(kTime1971000, params->param1, 4, "Tra3001", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTime1971000, params->param1, 4, "Tra3001", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback_4:
-		if (Entity::timeCheckCallback(kTime1998000, params->param2, 5, "Tra3010a", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTime1998000, params->param2, 5, "Tra3010a", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback_5:
@@ -1463,11 +1463,11 @@ label_callback_5:
 			break;
 
 label_callback_6:
-		if (Entity::timeCheckCallback(kTime2070000, params->param4, 7, "Tra3002", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTime2070000, params->param4, 7, "Tra3002", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback_7:
-		if (Entity::timeCheckCallback(kTime2142000, params->param5, 8, "Tra3003", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+		if (Entity::timeCheckCallback(kTime2142000, params->param5, 8, "Tra3003", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 			break;
 
 label_callback_8:
@@ -1480,7 +1480,7 @@ label_callback_9:
 
 	case kActionOpenDoor:
 		setCallback(11);
-		setup_function13(savepoint.param.intValue < 106);
+		setup_baggageCar(savepoint.param.intValue < 106);
 		break;
 
 	case kActionCallback:
@@ -1542,7 +1542,7 @@ IMPLEMENT_FUNCTION(35, Verges, function35)
 
 		case 2:
 			setCallback(3);
-			setup_function15(kEntityMertens, "Tra3011A");
+			setup_dialog(kEntityMertens, "Tra3011A");
 			break;
 
 		case 3:
@@ -1554,7 +1554,7 @@ IMPLEMENT_FUNCTION(35, Verges, function35)
 
 		case 4:
 			setCallback(5);
-			setup_function15(kEntityMertens, "Tra3011");
+			setup_dialog(kEntityMertens, "Tra3011");
 			break;
 
 		case 5:
@@ -1609,7 +1609,7 @@ IMPLEMENT_FUNCTION(37, Verges, chapter4Handler)
 	case kActionNone:
 		if (getEntities()->isInBaggageCarEntrance(kEntityPlayer)) {
 			setCallback(1);
-			setup_function13(false);
+			setup_baggageCar(false);
 			break;
 		}
 
@@ -1622,37 +1622,37 @@ label_callback_1:
 			}
 
 label_callback_2:
-			if (Entity::timeCheckCallback(kTime2349000, params->param1, 3, "Tra1001", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+			if (Entity::timeCheckCallback(kTime2349000, params->param1, 3, "Tra1001", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 				break;
 
 label_callback_3:
-			if (Entity::timeCheckCallback(kTime2378700, params->param2, 4, "Tra4001", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+			if (Entity::timeCheckCallback(kTime2378700, params->param2, 4, "Tra4001", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 				break;
 
 label_callback_4:
-			if (Entity::timeCheckCallback(kTime2403000, params->param3, 5, "Tra1001A", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+			if (Entity::timeCheckCallback(kTime2403000, params->param3, 5, "Tra1001A", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 				break;
 
 label_callback_5:
-			if (Entity::timeCheckCallback(kTime2414700, params->param4, 6, "Tra4002", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+			if (Entity::timeCheckCallback(kTime2414700, params->param4, 6, "Tra4002", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 				break;
 
 label_callback_6:
-			if (Entity::timeCheckCallback(kTime2484000, params->param5, 7, "Tra4003", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+			if (Entity::timeCheckCallback(kTime2484000, params->param5, 7, "Tra4003", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 				break;
 
 label_callback_7:
-			if (Entity::timeCheckCallback(kTime2511000, params->param6, 8, "Tra4004", WRAP_SETUP_FUNCTION_S(Verges, setup_function9)))
+			if (Entity::timeCheckCallback(kTime2511000, params->param6, 8, "Tra4004", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars)))
 				break;
 		}
 
 label_callback_8:
-		Entity::timeCheckCallback(kTime2538000, params->param7, 9, "Tra4005", WRAP_SETUP_FUNCTION_S(Verges, setup_function9));
+		Entity::timeCheckCallback(kTime2538000, params->param7, 9, "Tra4005", WRAP_SETUP_FUNCTION_S(Verges, setup_walkBetweenCars));
 		break;
 
 	case kActionOpenDoor:
 		setCallback(10);
-		setup_function13(savepoint.param.intValue < 106);
+		setup_baggageCar(savepoint.param.intValue < 106);
 		break;
 
 	case kActionDefault:
@@ -1822,7 +1822,7 @@ IMPLEMENT_FUNCTION(41, Verges, function41)
 		getData()->location = kLocationInsideCompartment;
 
 		setCallback(1);
-		setup_function10(kCarRedSleeping, kPosition_2000, "Tra5001");
+		setup_makeAnnouncement(kCarRedSleeping, kPosition_2000, "Tra5001");
 		break;
 
 	case kActionCallback:
@@ -1891,7 +1891,7 @@ void Verges::talk(const SavePoint &savepoint, const char *sound1, const char *so
 
 		case 2:
 			setCallback(3);
-			setup_function15(kEntityCoudert, sound1);
+			setup_dialog(kEntityCoudert, sound1);
 			break;
 
 		case 3:
@@ -1901,7 +1901,7 @@ void Verges::talk(const SavePoint &savepoint, const char *sound1, const char *so
 
 		case 4:
 			setCallback(5);
-			setup_function15(kEntityMertens, sound2);
+			setup_dialog(kEntityMertens, sound2);
 			break;
 
 		case 5:
diff --git a/engines/lastexpress/entities/verges.h b/engines/lastexpress/entities/verges.h
index 8238104..8932f81 100644
--- a/engines/lastexpress/entities/verges.h
+++ b/engines/lastexpress/entities/verges.h
@@ -87,11 +87,11 @@ public:
 	 */
 	DECLARE_FUNCTION_2(updateEntity, CarIndex car, EntityPosition entityPosition)
 
-	DECLARE_FUNCTION_1(function9, const char *soundName)
-	DECLARE_FUNCTION_3(function10, CarIndex car, EntityPosition entityPosition, const char *soundName)
+	DECLARE_FUNCTION_1(walkBetweenCars, const char *soundName)
+	DECLARE_FUNCTION_3(makeAnnouncement, CarIndex car, EntityPosition entityPosition, const char *soundName)
 	DECLARE_FUNCTION(function11)
 	DECLARE_FUNCTION(function12)
-	DECLARE_FUNCTION_1(function13, bool)
+	DECLARE_FUNCTION_1(baggageCar, bool)
 
 	/**
 	 * Updates parameter 2 using time value
@@ -100,7 +100,7 @@ public:
 	 */
 	DECLARE_FUNCTION_1(updateFromTime, uint32 time)
 
-	DECLARE_FUNCTION_2(function15, EntityIndex entity, const char *soundName)
+	DECLARE_FUNCTION_2(dialog, EntityIndex entity, const char *soundName)
 	DECLARE_FUNCTION_3(function16, EntityIndex entityIndex, const char *soundName1, const char *soundName2)
 	DECLARE_FUNCTION(function17)
 


Commit: 8fa617556c080c4af843944e900f055f4e717e44
    https://github.com/scummvm/scummvm/commit/8fa617556c080c4af843944e900f055f4e717e44
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:41-07:00

Commit Message:
LASTEXPRESS: Fix typo in Verges chapter 3 function

Changed paths:
    engines/lastexpress/entities/verges.cpp



diff --git a/engines/lastexpress/entities/verges.cpp b/engines/lastexpress/entities/verges.cpp
index 9469888..ed1918d 100644
--- a/engines/lastexpress/entities/verges.cpp
+++ b/engines/lastexpress/entities/verges.cpp
@@ -1177,7 +1177,7 @@ IMPLEMENT_FUNCTION(29, Verges, chapter3)
 		break;
 
 	case kActionNone:
-		setup_function23();
+		setup_function33();
 		break;
 
 	case kActionDefault:


Commit: 6ab3b903d46899d642fb57faad6b445242285033
    https://github.com/scummvm/scummvm/commit/6ab3b903d46899d642fb57faad6b445242285033
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:42-07:00

Commit Message:
LASTEXPRESS: Identify more Verges functions

Changed paths:
    engines/lastexpress/entities/abbot.cpp
    engines/lastexpress/entities/august.cpp
    engines/lastexpress/entities/verges.cpp
    engines/lastexpress/entities/verges.h



diff --git a/engines/lastexpress/entities/abbot.cpp b/engines/lastexpress/entities/abbot.cpp
index 85d0d89..406b017 100644
--- a/engines/lastexpress/entities/abbot.cpp
+++ b/engines/lastexpress/entities/abbot.cpp
@@ -1547,7 +1547,7 @@ IMPLEMENT_FUNCTION(45, Abbot, function45)
 		getData()->car = kCarRedSleeping;
 		getData()->location = kLocationOutsideCompartment;
 
-		RESET_ENTITY_STATE(kEntityVerges, Verges, setup_function38);
+		RESET_ENTITY_STATE(kEntityVerges, Verges, setup_resetState);
 
 		getEntities()->drawSequenceLeft(kEntityAbbot, "617Ec");
 		getEntities()->enterCompartment(kEntityAbbot, kObjectCompartmentC, true);
diff --git a/engines/lastexpress/entities/august.cpp b/engines/lastexpress/entities/august.cpp
index 67d810f..dbae7ba 100644
--- a/engines/lastexpress/entities/august.cpp
+++ b/engines/lastexpress/entities/august.cpp
@@ -3530,7 +3530,7 @@ IMPLEMENT_FUNCTION(69, August, unhookCars)
 			getScenes()->loadSceneFromPosition(kCarRestaurant, 85, 1);
 			getSavePoints()->pushAll(kEntityAugust, kActionProceedChapter5);
 
-			RESET_ENTITY_STATE(kEntityVerges, Verges, setup_function42)
+			RESET_ENTITY_STATE(kEntityVerges, Verges, setup_end)
 		}
 		break;
 	}
diff --git a/engines/lastexpress/entities/verges.cpp b/engines/lastexpress/entities/verges.cpp
index ed1918d..d9ddb0a 100644
--- a/engines/lastexpress/entities/verges.cpp
+++ b/engines/lastexpress/entities/verges.cpp
@@ -53,33 +53,33 @@ Verges::Verges(LastExpressEngine *engine) : Entity(engine, kEntityVerges) {
 	ADD_CALLBACK_FUNCTION(Verges, baggageCar);
 	ADD_CALLBACK_FUNCTION(Verges, updateFromTime);
 	ADD_CALLBACK_FUNCTION(Verges, dialog);
-	ADD_CALLBACK_FUNCTION(Verges, function16);
-	ADD_CALLBACK_FUNCTION(Verges, function17);
+	ADD_CALLBACK_FUNCTION(Verges, dialog2);
+	ADD_CALLBACK_FUNCTION(Verges, talkAboutPassengerList);
 	ADD_CALLBACK_FUNCTION(Verges, chapter1);
 	ADD_CALLBACK_FUNCTION(Verges, talkHarem);
 	ADD_CALLBACK_FUNCTION(Verges, talkPassengerList);
 	ADD_CALLBACK_FUNCTION(Verges, talkGendarmes);
-	ADD_CALLBACK_FUNCTION(Verges, function22);
+	ADD_CALLBACK_FUNCTION(Verges, askMertensToRelayAugustInvitation);
 	ADD_CALLBACK_FUNCTION(Verges, function23);
 	ADD_CALLBACK_FUNCTION(Verges, policeGettingOffTrain);
-	ADD_CALLBACK_FUNCTION(Verges, function25);
+	ADD_CALLBACK_FUNCTION(Verges, policeSearch);
 	ADD_CALLBACK_FUNCTION(Verges, chapter1Handler);
 	ADD_CALLBACK_FUNCTION(Verges, chapter2);
 	ADD_CALLBACK_FUNCTION(Verges, chapter2Handler);
 	ADD_CALLBACK_FUNCTION(Verges, chapter3);
 	ADD_CALLBACK_FUNCTION(Verges, function30);
-	ADD_CALLBACK_FUNCTION(Verges, function31);
+	ADD_CALLBACK_FUNCTION(Verges, talkAboutMax);
 	ADD_CALLBACK_FUNCTION(Verges, function32);
 	ADD_CALLBACK_FUNCTION(Verges, function33);
 	ADD_CALLBACK_FUNCTION(Verges, function34);
-	ADD_CALLBACK_FUNCTION(Verges, function35);
+	ADD_CALLBACK_FUNCTION(Verges, organizeConcertInvitations);
 	ADD_CALLBACK_FUNCTION(Verges, chapter4);
 	ADD_CALLBACK_FUNCTION(Verges, chapter4Handler);
-	ADD_CALLBACK_FUNCTION(Verges, function38);
+	ADD_CALLBACK_FUNCTION(Verges, resetState);
 	ADD_CALLBACK_FUNCTION(Verges, chapter5);
 	ADD_CALLBACK_FUNCTION(Verges, chapter5Handler);
-	ADD_CALLBACK_FUNCTION(Verges, function41);
-	ADD_CALLBACK_FUNCTION(Verges, function42);
+	ADD_CALLBACK_FUNCTION(Verges, askPassengersToStayInCompartments);
+	ADD_CALLBACK_FUNCTION(Verges, end);
 }
 
 //////////////////////////////////////////////////////////////////////////
@@ -486,7 +486,7 @@ IMPLEMENT_FUNCTION_IS(15, Verges, dialog, EntityIndex)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION_ISS(16, Verges, function16, EntityIndex)
+IMPLEMENT_FUNCTION_ISS(16, Verges, dialog2, EntityIndex)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -526,7 +526,7 @@ IMPLEMENT_FUNCTION_ISS(16, Verges, function16, EntityIndex)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(17, Verges, function17)
+IMPLEMENT_FUNCTION(17, Verges, talkAboutPassengerList)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -611,7 +611,7 @@ IMPLEMENT_FUNCTION(21, Verges, talkGendarmes)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(22, Verges, function22)
+IMPLEMENT_FUNCTION(22, Verges, askMertensToRelayAugustInvitation)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -634,10 +634,10 @@ IMPLEMENT_FUNCTION(22, Verges, function22)
 		case 2:
 			if (getEvent(kEventMertensAskTylerCompartment) || getEvent(kEventMertensAskTylerCompartmentD) || getEvent(kEventMertensAugustWaiting)) {
 				setCallback(3);
-				setup_function16(kEntityMertens, "TRA1200", "TRA1201");
+				setup_dialog2(kEntityMertens, "TRA1200", "TRA1201");
 			} else {
 				setCallback(4);
-				setup_function16(kEntityMertens, "TRA1200A", "TRA1201");
+				setup_dialog2(kEntityMertens, "TRA1200A", "TRA1201");
 			}
 			break;
 
@@ -714,7 +714,7 @@ IMPLEMENT_FUNCTION(24, Verges, policeGettingOffTrain)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(25, Verges, function25)
+IMPLEMENT_FUNCTION(25, Verges, policeSearch)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -899,7 +899,7 @@ label_callback1:
 label_callback2:
 		if (ENTITY_PARAM(0, 7)) {
 			setCallback(3);
-			setup_function25();
+			setup_policeSearch();
 			break;
 		}
 
@@ -955,7 +955,7 @@ label_callback13:
 label_callback14:
 		if (ENTITY_PARAM(0, 3) && !params->param4 && (getState()->time < kTime1134000 || getState()->time > kTime1156500)) {
 			setCallback(15);
-			setup_function17();
+			setup_talkAboutPassengerList();
 			break;
 		}
 
@@ -963,7 +963,7 @@ label_callback15:
 		if (ENTITY_PARAM(0, 1) && !params->param5) {
 			if (getState()->time < kTime1134000 || getState()->time > kTime1156500) {
 				setCallback(16);
-				setup_function22();
+				setup_askMertensToRelayAugustInvitation();
 			}
 		}
 		break;
@@ -1117,7 +1117,7 @@ label_callback_6:
 
 			if (ENTITY_PARAM(0, 3)) {
 				setCallback(7);
-				setup_function17();
+				setup_talkAboutPassengerList();
 			}
 
 			break;
@@ -1238,7 +1238,7 @@ IMPLEMENT_FUNCTION_S(30, Verges, function30)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(31, Verges, function31)
+IMPLEMENT_FUNCTION(31, Verges, talkAboutMax)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -1439,14 +1439,14 @@ IMPLEMENT_FUNCTION(34, Verges, function34)
 label_callback_1:
 		if (ENTITY_PARAM(0, 4)) {
 			setCallback(2);
-			setup_function31();
+			setup_talkAboutMax();
 			break;
 		}
 
 label_callback_2:
 		if (ENTITY_PARAM(0, 3)) {
 			setCallback(3);
-			setup_function17();
+			setup_talkAboutPassengerList();
 			break;
 		}
 
@@ -1459,7 +1459,7 @@ label_callback_4:
 			break;
 
 label_callback_5:
-		if (Entity::timeCheckCallback(kTime2016000, params->param3, 6, WRAP_SETUP_FUNCTION(Verges, setup_function35)))
+		if (Entity::timeCheckCallback(kTime2016000, params->param3, 6, WRAP_SETUP_FUNCTION(Verges, setup_organizeConcertInvitations)))
 			break;
 
 label_callback_6:
@@ -1520,7 +1520,7 @@ label_callback_9:
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(35, Verges, function35)
+IMPLEMENT_FUNCTION(35, Verges, organizeConcertInvitations)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -1617,7 +1617,7 @@ label_callback_1:
 		if (ENTITY_PARAM(0, 6)) {
 			if (ENTITY_PARAM(0, 3)) {
 				setCallback(2);
-				setup_function17();
+				setup_talkAboutPassengerList();
 				break;
 			}
 
@@ -1697,7 +1697,7 @@ label_callback_8:
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(38, Verges, function38)
+IMPLEMENT_FUNCTION(38, Verges, resetState)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -1803,14 +1803,14 @@ IMPLEMENT_FUNCTION(40, Verges, chapter5Handler)
 			getAction()->playAnimation(kEventCathFreePassengers);
 			getSavePoints()->pushAll(kEntityVerges, kActionProceedChapter5);
 			getScenes()->loadSceneFromPosition(kCarRedSleeping, 40);
-			setup_function41();
+			setup_askPassengersToStayInCompartments();
 		}
 		break;
 	}
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(41, Verges, function41)
+IMPLEMENT_FUNCTION(41, Verges, askPassengersToStayInCompartments)
 	switch (savepoint.action) {
 	default:
 		break;
@@ -1852,7 +1852,7 @@ IMPLEMENT_FUNCTION(41, Verges, function41)
 			break;
 
 		case 4:
-			setup_function42();
+			setup_end();
 			break;
 		}
 		break;
@@ -1860,7 +1860,7 @@ IMPLEMENT_FUNCTION(41, Verges, function41)
 IMPLEMENT_FUNCTION_END
 
 //////////////////////////////////////////////////////////////////////////
-IMPLEMENT_FUNCTION(42, Verges, function42)
+IMPLEMENT_FUNCTION(42, Verges, end)
 	if (savepoint.action == kActionDefault)
 		getEntities()->clearSequences(kEntityVerges);
 IMPLEMENT_FUNCTION_END
diff --git a/engines/lastexpress/entities/verges.h b/engines/lastexpress/entities/verges.h
index 8932f81..93cc190 100644
--- a/engines/lastexpress/entities/verges.h
+++ b/engines/lastexpress/entities/verges.h
@@ -101,8 +101,8 @@ public:
 	DECLARE_FUNCTION_1(updateFromTime, uint32 time)
 
 	DECLARE_FUNCTION_2(dialog, EntityIndex entity, const char *soundName)
-	DECLARE_FUNCTION_3(function16, EntityIndex entityIndex, const char *soundName1, const char *soundName2)
-	DECLARE_FUNCTION(function17)
+	DECLARE_FUNCTION_3(dialog2, EntityIndex entityIndex, const char *soundName1, const char *soundName2)
+	DECLARE_FUNCTION(talkAboutPassengerList)
 
 	/**
 	 * Setup Chapter 1
@@ -112,10 +112,10 @@ public:
 	DECLARE_FUNCTION_NOSETUP(talkHarem)
 	DECLARE_FUNCTION(talkPassengerList)
 	DECLARE_FUNCTION(talkGendarmes)
-	DECLARE_FUNCTION(function22)
+	DECLARE_FUNCTION(askMertensToRelayAugustInvitation)
 	DECLARE_FUNCTION(function23)
 	DECLARE_FUNCTION(policeGettingOffTrain)
-	DECLARE_FUNCTION(function25)
+	DECLARE_FUNCTION(policeSearch)
 
 	/**
 	 * Handle Chapter 1 events
@@ -138,11 +138,11 @@ public:
 	DECLARE_FUNCTION(chapter3)
 
 	DECLARE_FUNCTION_1(function30, const char *soundName)
-	DECLARE_FUNCTION(function31)
+	DECLARE_FUNCTION(talkAboutMax)
 	DECLARE_FUNCTION(function32)
 	DECLARE_FUNCTION(function33)
 	DECLARE_FUNCTION(function34)
-	DECLARE_FUNCTION(function35)
+	DECLARE_FUNCTION(organizeConcertInvitations)
 
 	/**
 	 * Setup Chapter 4
@@ -154,7 +154,7 @@ public:
 	 */
 	DECLARE_FUNCTION(chapter4Handler)
 
-	DECLARE_FUNCTION(function38)
+	DECLARE_FUNCTION(resetState)
 
 	/**
 	 * Setup Chapter 5
@@ -166,8 +166,8 @@ public:
 	 */
 	DECLARE_FUNCTION(chapter5Handler)
 
-	DECLARE_FUNCTION(function41)
-	DECLARE_FUNCTION(function42)
+	DECLARE_FUNCTION(askPassengersToStayInCompartments)
+	DECLARE_FUNCTION(end)
 
 private:
 	void talk(const SavePoint &savepoint, const char *sound1, const char *sound2);


Commit: ee8581b778b83bc01af0f26bc8b3680ebc266700
    https://github.com/scummvm/scummvm/commit/ee8581b778b83bc01af0f26bc8b3680ebc266700
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T18:49:43-07:00

Commit Message:
LASTEXPRESS: Cleanup savegame

 - Check for valid stream in readValue/writeValue functions
 - Properly initialize/clear members

Changed paths:
    engines/lastexpress/game/savegame.cpp



diff --git a/engines/lastexpress/game/savegame.cpp b/engines/lastexpress/game/savegame.cpp
index 9857ef2..7efce00 100644
--- a/engines/lastexpress/game/savegame.cpp
+++ b/engines/lastexpress/game/savegame.cpp
@@ -78,7 +78,7 @@ uint32 SavegameStream::read(void *dataPtr, uint32 dataSize) {
 
 uint32 SavegameStream::readUncompressed(void *dataPtr, uint32 dataSize) {
 	if ((int32)dataSize > size() - pos()) {
-		dataSize = size() - pos();
+		dataSize = (uint32)(size() - pos());
 		_eos = true;
 	}
 	memcpy(dataPtr, getData() + pos(), dataSize);
@@ -230,7 +230,7 @@ uint32 SavegameStream::writeCompressed(const void *dataPtr, uint32 dataSize) {
 			if (*data != _previousValue || _repeatCount >= 255) {
 				if (_previousValue) {
 					writeBuffer(0xFF, true);
-					writeBuffer(_repeatCount, true);
+					writeBuffer((uint8)_repeatCount, true);
 					writeBuffer(_previousValue, true);
 
 					_previousValue = *data++;
@@ -255,7 +255,7 @@ uint32 SavegameStream::writeCompressed(const void *dataPtr, uint32 dataSize) {
 				}
 
 				writeBuffer(0xFD, true);
-				writeBuffer(_repeatCount, true);
+				writeBuffer((uint8)_repeatCount, true);
 
 				_previousValue = *data++;
 				_valueCount = 1;
@@ -348,11 +348,12 @@ uint32 SavegameStream::readCompressed(void *dataPtr, uint32 dataSize) {
 // Constructors
 //////////////////////////////////////////////////////////////////////////
 
-SaveLoad::SaveLoad(LastExpressEngine *engine) : _engine(engine), _savegame(NULL), _gameTicksLastSavegame(0) {
+SaveLoad::SaveLoad(LastExpressEngine *engine) : _engine(engine), _savegame(NULL), _gameTicksLastSavegame(0), _entity(kEntityPlayer) {
 }
 
 SaveLoad::~SaveLoad() {
 	clear(true);
+	_savegame = NULL;
 
 	// Zero passed pointers
 	_engine = NULL;
@@ -634,6 +635,9 @@ bool SaveLoad::loadMainHeader(Common::InSaveFile *stream, SavegameMainHeader *he
 // Entries
 //////////////////////////////////////////////////////////////////////////
 uint32 SaveLoad::writeValue(Common::Serializer &ser, const char *name, Common::Functor1<Common::Serializer &, void> *function, uint size) {
+	if (!_savegame)
+		error("[SaveLoad::writeValue] Stream not initialized properly");
+
 	debugC(kLastExpressDebugSavegame, "Savegame: Writing %s: %u bytes", name, size);
 
 	uint32 prevPosition = (uint32)_savegame->pos();
@@ -652,6 +656,9 @@ uint32 SaveLoad::writeValue(Common::Serializer &ser, const char *name, Common::F
 }
 
 uint32 SaveLoad::readValue(Common::Serializer &ser, const char *name, Common::Functor1<Common::Serializer &, void> *function, uint size) {
+	if (!_savegame)
+		error("[SaveLoad::readValue] Stream not initialized properly");
+
 	debugC(kLastExpressDebugSavegame, "Savegame: Reading %s: %u bytes", name, size);
 
 	uint32 prevPosition = (uint32)_savegame->pos();


Commit: 6ab8db638e4a1d547ee67db067b5d6c3d6c940a4
    https://github.com/scummvm/scummvm/commit/6ab8db638e4a1d547ee67db067b5d6c3d6c940a4
Author: Littleboy (littleboy at scummvm.org)
Date: 2012-08-27T20:30:23-07:00

Commit Message:
LASTEXPRESS: Implement more savegame loading

 - Rename existing function to load the last saved game
 - Remove loadgame debugger command

Changed paths:
    engines/lastexpress/debug.cpp
    engines/lastexpress/debug.h
    engines/lastexpress/game/savegame.cpp
    engines/lastexpress/game/savegame.h
    engines/lastexpress/menu/menu.cpp



diff --git a/engines/lastexpress/debug.cpp b/engines/lastexpress/debug.cpp
index 3994cb0..db3a3e3 100644
--- a/engines/lastexpress/debug.cpp
+++ b/engines/lastexpress/debug.cpp
@@ -85,7 +85,6 @@ Debugger::Debugger(LastExpressEngine *engine) : _engine(engine), _command(NULL),
 	DCmd_Register("entity",    WRAP_METHOD(Debugger, cmdEntity));
 
 	// Misc
-	DCmd_Register("loadgame",  WRAP_METHOD(Debugger, cmdLoadGame));
 	DCmd_Register("chapter",   WRAP_METHOD(Debugger, cmdSwitchChapter));
 	DCmd_Register("clear",     WRAP_METHOD(Debugger, cmdClear));
 
@@ -1119,30 +1118,6 @@ label_error:
 }
 
 /**
- * Command: loads a game
- *
- * @param argc The argument count.
- * @param argv The values.
- *
- * @return true if it was handled, false otherwise
- */
-bool Debugger::cmdLoadGame(int argc, const char **argv) {
-	if (argc == 2) {
-		int id = getNumber(argv[1]);
-
-		if (id == 0 || id > 6)
-			goto error;
-
-		getSaveLoad()->loadGame((GameId)(id - 1));
-	} else {
-error:
-		DebugPrintf("Syntax: loadgame <id> (id=1-6)\n");
-	}
-
-	return true;
-}
-
-/**
  * Command: switch to a specific chapter
  *
  * @param argc The argument count.
diff --git a/engines/lastexpress/debug.h b/engines/lastexpress/debug.h
index a9f0443..532cb83 100644
--- a/engines/lastexpress/debug.h
+++ b/engines/lastexpress/debug.h
@@ -79,7 +79,6 @@ private:
 	bool cmdShow(int argc, const char **argv);
 	bool cmdEntity(int argc, const char **argv);
 
-	bool cmdLoadGame(int argc, const char **argv);
 	bool cmdSwitchChapter(int argc, const char **argv);
 	bool cmdClear(int argc, const char **argv);
 
diff --git a/engines/lastexpress/game/savegame.cpp b/engines/lastexpress/game/savegame.cpp
index 7efce00..021dc40 100644
--- a/engines/lastexpress/game/savegame.cpp
+++ b/engines/lastexpress/game/savegame.cpp
@@ -482,10 +482,10 @@ void SaveLoad::clear(bool clearStream) {
 // Save & Load
 //////////////////////////////////////////////////////////////////////////
 
-// Load game
-void SaveLoad::loadGame(GameId id) {
+// Load last saved game
+void SaveLoad::loadLastGame() {
 	if (!_savegame)
-		error("[SaveLoad::loadGame] No savegame stream present");
+		error("[SaveLoad::loadLastGame] No savegame stream present");
 
 	// Rewind current savegame
 	_savegame->seek(0);
@@ -522,7 +522,29 @@ void SaveLoad::loadGame(GameId id) {
 }
 
 // Load a specific game entry
-void SaveLoad::loadGame(GameId id, uint32 index) {
+void SaveLoad::loadGame(uint32 index) {
+	if (!_savegame)
+		error("[SaveLoad::loadLastGame] No savegame stream present");
+
+	// Rewind current savegame
+	_savegame->seek(0);
+
+	// Write main header (with selected index)
+	SavegameMainHeader header;
+	header.count = index;
+	header.brightness = getState()->brightness;
+	header.volume = getState()->volume;
+
+	Common::Serializer ser(NULL, _savegame);
+	header.saveLoadWithSerializer(ser);
+
+	// TODO
+	// Go to the entry
+	// Load the entry
+	// Get offset (main and entry)
+	// Write main header again with correct entry offset
+	// Setup game and start
+
 	error("[SaveLoad::loadGame] Not implemented! (only loading the last entry is working for now)");
 }
 
diff --git a/engines/lastexpress/game/savegame.h b/engines/lastexpress/game/savegame.h
index 8656b2e..3619572 100644
--- a/engines/lastexpress/game/savegame.h
+++ b/engines/lastexpress/game/savegame.h
@@ -153,8 +153,8 @@ public:
 	uint32 init(GameId id, bool resetHeaders);
 
 	// Save & Load
-	void loadGame(GameId id);
-	void loadGame(GameId id, uint32 index);
+	void loadLastGame();
+	void loadGame(uint32 index);
 	void saveGame(SavegameType type, EntityIndex entity, uint32 value);
 
 	void loadVolumeBrightness();
diff --git a/engines/lastexpress/menu/menu.cpp b/engines/lastexpress/menu/menu.cpp
index 6a453ae..c48e55b 100644
--- a/engines/lastexpress/menu/menu.cpp
+++ b/engines/lastexpress/menu/menu.cpp
@@ -916,13 +916,13 @@ void Menu::startGame() {
 	if (_lastIndex == _index) {
 		setGlobalTimer(0);
 		if (_index) {
-			getSaveLoad()->loadGame(_gameId);
+			getSaveLoad()->loadLastGame();
 		} else {
 			getLogic()->resetState();
 			getEntities()->setup(true, kEntityPlayer);
 		}
 	} else {
-		getSaveLoad()->loadGame(_gameId, _index);
+		getSaveLoad()->loadGame(_index);
 	}
 }
 






More information about the Scummvm-git-logs mailing list