From 1d55aa0c6ecade00b1b31932a86dd2f97b377882 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 8 Aug 2013 01:14:24 +0300 Subject: FULLPIPE: Attempt to fix crash on SC_1 startup. Domino is missing --- engines/fullpipe/stateloader.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'engines/fullpipe/stateloader.cpp') diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp index cd931b136c..bdfeb92b36 100644 --- a/engines/fullpipe/stateloader.cpp +++ b/engines/fullpipe/stateloader.cpp @@ -35,7 +35,7 @@ namespace Fullpipe { -bool FullpipeEngine::loadGam(const char *fname) { +bool FullpipeEngine::loadGam(const char *fname, int scene) { _gameLoader = new CGameLoader(); if (!_gameLoader->loadFile(fname)) @@ -43,7 +43,7 @@ bool FullpipeEngine::loadGam(const char *fname) { _currSoundListCount = 0; initObjectStates(); - // set_g_messageQueueCallback1(messageQueueCallback1); + // set_g_messageQueueCallback1(messageQueueCallback1); // substituted with direct call addMessageHandlerByIndex(global_messageHandler1, 0, 4); @@ -57,7 +57,7 @@ bool FullpipeEngine::loadGam(const char *fname) { ((MemoryObject *)((PictureObject *)*p)->_picture)->load(); } - // _sceneSwitcher = sceneSwitcher; + // _sceneSwitcher = sceneSwitcher; // substituted with direct call // _preloadCallback = gameLoaderPreloadCallback // _readSavegameCallback = gameLoaderReadSavegameCallback; @@ -80,12 +80,17 @@ bool FullpipeEngine::loadGam(const char *fname) { setMusicAllowed(_gameLoader->_gameVar->getSubVarAsInt("MUSIC_ALLOWED")); - if (_flgPlayIntro) { - _gameLoader->loadScene(SC_INTRO1); - _gameLoader->gotoScene(SC_INTRO1, TrubaUp); + if (scene) { + _gameLoader->loadScene(scene); + _gameLoader->gotoScene(scene, TrubaLeft); } else { - _gameLoader->loadScene(SC_1); - _gameLoader->gotoScene(SC_1, TrubaLeft); + if (_flgPlayIntro) { + _gameLoader->loadScene(SC_INTRO1); + _gameLoader->gotoScene(SC_INTRO1, TrubaUp); + } else { + _gameLoader->loadScene(SC_1); + _gameLoader->gotoScene(SC_1, TrubaLeft); + } } if (!_currentScene) -- cgit v1.2.3