diff options
-rw-r--r-- | sword2/sword2.cpp | 6 | ||||
-rw-r--r-- | sword2/sword2.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/sword2/sword2.cpp b/sword2/sword2.cpp index 38784d6c82..1e765f3237 100644 --- a/sword2/sword2.cpp +++ b/sword2/sword2.cpp @@ -106,6 +106,7 @@ Sword2State::Sword2State(GameDetector *detector, OSystem *syst) g_sword2 = this; _features = detector->_game.features; _gameId = detector->_game.id; + _bootParam = detector->_bootParam; // Setup mixer if (!_mixer->bindToSystem(syst)) @@ -496,6 +497,11 @@ void Sword2State::Start_game(void) //Tony29May97 else screen_manager_id = 949; // INTRO & PARIS START + // FIXME this could be validated against startup.inf for valid numbers + // to stop people shooting themselves in the foot + if (_bootParam != 0) + screen_manager_id = _bootParam; + char *raw_script; char *raw_data_ad; uint32 null_pc=1; // the required start-scripts are both script #1 in the respective ScreenManager objects diff --git a/sword2/sword2.h b/sword2/sword2.h index 621f2fd556..d8eb4512fc 100644 --- a/sword2/sword2.h +++ b/sword2/sword2.h @@ -64,6 +64,7 @@ class Sword2State : public Engine { OSystem::MutexRef _paletteMutex; // put in a gfx class? private: bool _quit; + uint32 _bootParam; }; extern Sword2State *g_sword2; |