aboutsummaryrefslogtreecommitdiff
path: root/engines/cine/cine.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2006-11-25 09:28:00 +0000
committerEugene Sandulenko2006-11-25 09:28:00 +0000
commit8fddc1258118ff5b32fc594dc9892f76244af474 (patch)
treed56e7cd2d702dae6fd0dd46e7376931d85d2dbef /engines/cine/cine.cpp
parent8b00f19f3112af7a73bb2fcf9f483f6ccf49c4cd (diff)
downloadscummvm-rg350-8fddc1258118ff5b32fc594dc9892f76244af474.tar.gz
scummvm-rg350-8fddc1258118ff5b32fc594dc9892f76244af474.tar.bz2
scummvm-rg350-8fddc1258118ff5b32fc594dc9892f76244af474.zip
Support loading saves from command line.
svn-id: r24787
Diffstat (limited to 'engines/cine/cine.cpp')
-rw-r--r--engines/cine/cine.cpp23
1 files changed, 17 insertions, 6 deletions
diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp
index 41cc95d0ad..375258a666 100644
--- a/engines/cine/cine.cpp
+++ b/engines/cine/cine.cpp
@@ -52,8 +52,6 @@ Common::SaveFileManager *g_saveFileMan;
CineEngine *g_cine;
-static void initialize();
-
CineEngine::CineEngine(OSystem *syst) : Engine(syst) {
Common::addSpecialDebugLevel(kCineDebugScript, "Script", "Script debug level");
@@ -115,7 +113,7 @@ int CineEngine::go() {
}
-static void initialize() {
+void CineEngine::initialize() {
uint16 i;
setupOpcodes();
@@ -194,10 +192,23 @@ static void initialize() {
freePrcLinkedList();
- loadPrc(BOOT_PRC_NAME);
- strcpy(currentPrcName, BOOT_PRC_NAME);
+ _preLoad = false;
+ if (ConfMan.hasKey("save_slot")) {
+ char saveNameBuffer[256];
+
+ sprintf(saveNameBuffer, "%s.%1d", _targetName.c_str(), ConfMan.getInt("save_slot"));
+
+ bool res = makeLoad(saveNameBuffer);
- setMouseCursor(MOUSE_CURSOR_NORMAL);
+ if (res)
+ _preLoad = true;
+ }
+
+ if (!_preLoad) {
+ loadPrc(BOOT_PRC_NAME);
+ strcpy(currentPrcName, BOOT_PRC_NAME);
+ setMouseCursor(MOUSE_CURSOR_NORMAL);
+ }
}
} // End of namespace Cine