[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 ¶meter, 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 ¶meter, uint timeType, uint delta) {
+bool Entity::updateParameter(uint ¶meter, uint timeType, uint delta) const {
if (!parameter)
parameter = (uint)(timeType + delta);
@@ -837,7 +837,7 @@ bool Entity::updateParameter(uint ¶meter, uint timeType, uint delta) {
return true;
}
-bool Entity::updateParameterTime(TimeValue timeValue, bool check, uint ¶meter, uint delta) {
+bool Entity::updateParameterTime(TimeValue timeValue, bool check, uint ¶meter, 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 ¶mete
return true;
}
-bool Entity::updateParameterCheck(uint ¶meter, uint timeType, uint delta) {
+bool Entity::updateParameterCheck(uint ¶meter, uint timeType, uint delta) const {
if (parameter && parameter >= timeType)
return false;
@@ -861,7 +861,7 @@ bool Entity::updateParameterCheck(uint ¶meter, uint timeType, uint delta) {
return true;
}
-bool Entity::timeCheck(TimeValue timeValue, uint ¶meter, Common::Functor0<void> *function) {
+bool Entity::timeCheck(TimeValue timeValue, uint ¶meter, Common::Functor0<void> *function) const {
if (getState()->time > timeValue && !parameter) {
parameter = 1;
(*function)();
@@ -936,14 +936,14 @@ bool Entity::timeCheckCar(TimeValue timeValue, uint ¶meter, byte callback, C
return false;
}
-void Entity::timeCheckSavepoint(TimeValue timeValue, uint ¶meter, EntityIndex entity1, EntityIndex entity2, ActionIndex action) {
+void Entity::timeCheckSavepoint(TimeValue timeValue, uint ¶meter, 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 ¶meter, ObjectIndex object, ObjectLocation location) {
+void Entity::timeCheckObject(TimeValue timeValue, uint ¶meter, 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 ¶meter, uint timeType, uint delta);
- bool updateParameterCheck(uint ¶meter, uint timeType, uint delta);
- bool updateParameterTime(TimeValue timeValue, bool check, uint ¶meter, uint delta);
+ bool updateParameter(uint ¶meter, uint timeType, uint delta) const;
+ bool updateParameterCheck(uint ¶meter, uint timeType, uint delta) const;
+ bool updateParameterTime(TimeValue timeValue, bool check, uint ¶meter, uint delta) const;
- bool timeCheck(TimeValue timeValue, uint ¶meter, Common::Functor0<void> *function);
+ bool timeCheck(TimeValue timeValue, uint ¶meter, Common::Functor0<void> *function) const;
bool timeCheckCallback(TimeValue timeValue, uint ¶meter, byte callback, Common::Functor0<void> *function);
bool timeCheckCallback(TimeValue timeValue, uint ¶meter, byte callback, const char *str, Common::Functor1<const char *, void> *function);
bool timeCheckCallback(TimeValue timeValue, uint ¶meter, byte callback, bool check, Common::Functor1<bool, void> *function);
bool timeCheckCallbackInventory(TimeValue timeValue, uint ¶meter, byte callback, Common::Functor0<void> *function);
bool timeCheckCar(TimeValue timeValue, uint ¶meter, byte callback, Common::Functor0<void> *function);
- void timeCheckSavepoint(TimeValue timeValue, uint ¶meter, EntityIndex entity1, EntityIndex entity2, ActionIndex action);
- void timeCheckObject(TimeValue timeValue, uint ¶meter, ObjectIndex index, ObjectLocation location);
+ void timeCheckSavepoint(TimeValue timeValue, uint ¶meter, EntityIndex entity1, EntityIndex entity2, ActionIndex action) const;
+ void timeCheckObject(TimeValue timeValue, uint ¶meter, ObjectIndex index, ObjectLocation location) const;
bool timeCheckCallbackAction(TimeValue timeValue, uint ¶meter);
bool timeCheckPlaySoundUpdatePosition(TimeValue timeValue, uint ¶meter, 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 *)¶ms->seq1);
+ setup_makeAnnouncement(kCarGreenSleeping, kPosition_540, (char *)¶ms->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 *)¶ms->seq1);
+ setup_dialog(kEntityCoudert, (char *)¶ms->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