diff -urN /home/khalek/cvs/scummvm/gameDetector.cpp scummvm/gameDetector.cpp --- /home/khalek/cvs/scummvm/gameDetector.cpp Thu Jul 18 11:31:20 2002 +++ scummvm/gameDetector.cpp Fri Jul 19 16:37:27 2002 @@ -44,26 +44,27 @@ "Syntax:\n" "\tscummvm [-v] [-d[]] [-n] [-b] [-t] [-s] [-p] [-m] [-f] game\n" "Flags:\n" - "\t-v - show version info and exit\n" + "\t-a - specify game is amiga version\n" + "\t-b - start in room \n" "\t-c - use cdrom for cd audio\n" "\t-d[] - enable debug output (debug level [1])\n" - "\t-n - no subtitles for speech\n" - "\t-y - set text speed (default: 60)\n" - "\t-b - start in room \n" - "\t-t - set music tempo (default- adlib: 0x1F0000, midi: 0x460000)\n" - "\t-p - look for game in \n" - "\t-m - set music volume to (0-100)\n" - "\t-s - set sfx volume to (0-255)\n" "\t-e - set music engine (see readme.txt for details)\n" "\t-f - fullscreen mode\n" "\t-g - graphics mode (normal,2x,3x,2xsai,super2xsai,supereagle,advmame2x)\n" - "\t-a - specify game is amiga version\n" + "\t-l - load config file instead of default\n" + "\t-m - set music volume to (0-100)\n" + "\t-n - no subtitles for speech\n" + "\t-p - look for game in \n" + "\t-s - set sfx volume to (0-255)\n" + "\t-t - set music tempo (default- adlib: 0x1F0000, midi: 0x460000)\n" + "\t-v - show version info and exit\n" #if defined(UNIX) || defined(UNIX_X11) "\t-w[] - write to config file [~/.scummvmrc]\n" #else "\t-w[] - write to config file [scummvm.ini]\n" #endif - "\t-l - load config file instead of default\n" + "\t-x[] - save game slot to load (default: autosave)\n" + "\t-y - set text speed (default: 60)\n" ; void GameDetector::updateconfig() @@ -75,6 +76,8 @@ _amiga = true; else _amiga = false; + if ((val = scummcfg->get("save_slot"))) + _save_slot = atoi(val); if ((val = scummcfg->get("cdrom"))) _cdrom = atoi(val); @@ -128,6 +131,7 @@ char *s; char *current_option = NULL; char *option = NULL; + _save_slot = -1; // check for arguments if (argc < 2) { @@ -235,6 +239,14 @@ HANDLE_OPT_OPTION(); if (option != NULL) scummcfg->change_filename(option); + break; + case 'x': + _save_slot = 0; + HANDLE_OPT_OPTION(); + if (option != NULL) { + _save_slot = atoi(option); + scummcfg->set("save_slot", _save_slot); + } break; case 'y': HANDLE_OPTION(); diff -urN /home/khalek/cvs/scummvm/gameDetector.h scummvm/gameDetector.h --- /home/khalek/cvs/scummvm/gameDetector.h Mon May 6 21:18:09 2002 +++ scummvm/gameDetector.h Fri Jul 19 16:36:38 2002 @@ -28,7 +28,6 @@ char *getGameName(void); bool _fullScreen; - bool _restore; byte _gameId; bool _simon; @@ -56,6 +55,7 @@ int _scummVersion; int _cdrom; + int _save_slot; bool _saveconfig; diff -urN /home/khalek/cvs/scummvm/scummvm.cpp scummvm/scummvm.cpp --- /home/khalek/cvs/scummvm/scummvm.cpp Fri Jul 19 10:42:09 2002 +++ scummvm/scummvm.cpp Fri Jul 19 16:37:47 2002 @@ -1540,8 +1540,8 @@ scumm->_imuse = imuse; } - if (detector->_restore) { - scumm->_saveLoadSlot = 0; + if (detector->_save_slot != -1) { + scumm->_saveLoadSlot = detector->_save_slot; scumm->_saveLoadFlag = 2; scumm->_saveLoadCompatible = false; }