diff options
Diffstat (limited to 'tools/skycpt/skycpt-engine.patch')
-rw-r--r-- | tools/skycpt/skycpt-engine.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tools/skycpt/skycpt-engine.patch b/tools/skycpt/skycpt-engine.patch new file mode 100644 index 0000000000..077170142d --- /dev/null +++ b/tools/skycpt/skycpt-engine.patch @@ -0,0 +1,54 @@ +Index: engines/sky/compact.cpp +=================================================================== +--- engines/sky/compact.cpp (revision 52957) ++++ engines/sky/compact.cpp (working copy) +@@ -138,11 +138,15 @@ + if (fileVersion != 0) + error("unknown \"sky.cpt\" version"); + ++#if 0 ++ // Disabled as sky.cpt / compact.dbg used during RESET.* generation is ++ // a different size from expected. + if (SKY_CPT_SIZE != _cptFile->size()) { + GUI::MessageDialog dialog("The \"sky.cpt\" file has an incorrect size.\nPlease (re)download it from www.scummvm.org", "OK", NULL); + dialog.runModal(); + error("Incorrect sky.cpt size (%d, expected: %d)", _cptFile->size(), SKY_CPT_SIZE); + } ++#endif + + // set the necessary data structs up... + _numDataLists = _cptFile->readUint16LE(); +Index: engines/sky/control.cpp +=================================================================== +--- engines/sky/control.cpp (revision 52957) ++++ engines/sky/control.cpp (working copy) +@@ -432,7 +432,8 @@ + _lastButton = -1; + _curButtonText = 0; + +- saveRestorePanel(false); ++ // Parameter modified to true to ensure save dialog, not load is shown ++ saveRestorePanel(true); + + memset(_screenBuf, 0, GAME_SCREEN_WIDTH * FULL_SCREEN_HEIGHT); + _system->copyRectToScreen(_screenBuf, GAME_SCREEN_WIDTH, 0, 0, GAME_SCREEN_WIDTH, FULL_SCREEN_HEIGHT); +Index: engines/sky/logic.cpp +=================================================================== +--- engines/sky/logic.cpp (revision 52957) ++++ engines/sky/logic.cpp (working copy) +@@ -2376,6 +2376,15 @@ + + bool Logic::fnSkipIntroCode(uint32 a, uint32 b, uint32 c) { + SkyEngine::_systemVars.pastIntro = true; ++ ++ // Demo (v0.0365) lacks Save/Load Panel resources, so ++ // automatically save to Slot 1, rather than displaying dialog ++ if (SkyEngine::isDemo()) { ++ _skyControl->_selectedGame = 1; ++ _skyControl->saveGameToFile(); ++ } else { ++ _skyControl->doLoadSavePanel(); ++ } + return true; + } + |