aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Turner2010-10-12 14:39:27 +0000
committerDavid Turner2010-10-12 14:39:27 +0000
commita1e7761f6dcb0c38000bb40afdb97a0343cc5246 (patch)
tree1f9d5c015506f536ac3594c0a07088de4883b9de
parent4f4ade6276d3b3263b5f62534da4d208bbd5ca1f (diff)
downloadscummvm-rg350-a1e7761f6dcb0c38000bb40afdb97a0343cc5246.tar.gz
scummvm-rg350-a1e7761f6dcb0c38000bb40afdb97a0343cc5246.tar.bz2
scummvm-rg350-a1e7761f6dcb0c38000bb40afdb97a0343cc5246.zip
TOOLS: Modified engine patch for use with skycpt and updated skycpt README
The Demo _does_ contain the Save/Load Panel resources, but not the required font #2. Have updated the patch to allow use of font #0, so the process for the CD demo is now the same as for the other versions of BASS. svn-id: r53163
-rw-r--r--tools/skycpt/README2
-rw-r--r--tools/skycpt/skycpt-engine.patch41
2 files changed, 27 insertions, 16 deletions
diff --git a/tools/skycpt/README b/tools/skycpt/README
index 815d698de9..4b303cb0e9 100644
--- a/tools/skycpt/README
+++ b/tools/skycpt/README
@@ -39,8 +39,6 @@ If you still want to waste your time by creating this file:
6) Start each of the BASS versions with this patched version, enjoy the intro
over and over again.
Afterwards, it'll automatically show the load/save dialog where you save the game.
- Except for Demo (v0.00356) which lacks the dialog, so this will autosave to slot 1
- at the end of the intro.
7) Rename the Savegame files you created (SKY-VM.000 etc., not the ASD or SAV
file) to "RESET.*", depending on the version.
e.g. RESET.288 for v.0.00288
diff --git a/tools/skycpt/skycpt-engine.patch b/tools/skycpt/skycpt-engine.patch
index 077170142d..16388a3221 100644
--- a/tools/skycpt/skycpt-engine.patch
+++ b/tools/skycpt/skycpt-engine.patch
@@ -1,6 +1,6 @@
Index: engines/sky/compact.cpp
===================================================================
---- engines/sky/compact.cpp (revision 52957)
+--- engines/sky/compact.cpp (revision 53162)
+++ engines/sky/compact.cpp (working copy)
@@ -138,11 +138,15 @@
if (fileVersion != 0)
@@ -20,9 +20,30 @@ Index: engines/sky/compact.cpp
_numDataLists = _cptFile->readUint16LE();
Index: engines/sky/control.cpp
===================================================================
---- engines/sky/control.cpp (revision 52957)
+--- engines/sky/control.cpp (revision 53162)
+++ engines/sky/control.cpp (working copy)
-@@ -432,7 +432,8 @@
+@@ -416,8 +416,8 @@
+ }
+
+ void Control::doLoadSavePanel() {
+- if (SkyEngine::isDemo())
+- return; // I don't think this can even happen
++ //if (SkyEngine::isDemo())
++ // return; // I don't think this can even happen
+ initPanel();
+ _skyScreen->clearScreen();
+ if (SkyEngine::_systemVars.gameVersion < 331)
+@@ -427,12 +427,17 @@
+
+ _savedMouse = _skyMouse->giveCurrentMouseType();
+ _savedCharSet = _skyText->giveCurrentCharSet();
+- _skyText->fnSetFont(2);
++ // Demo lacks any fonts apart from 0
++ if (SkyEngine::isDemo())
++ _skyText->fnSetFont(0);
++ else
++ _skyText->fnSetFont(2);
+ _skyMouse->spriteMouse(MOUSE_NORMAL, 0, 0);
_lastButton = -1;
_curButtonText = 0;
@@ -34,21 +55,13 @@ Index: engines/sky/control.cpp
_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 (revision 53162)
+++ engines/sky/logic.cpp (working copy)
-@@ -2376,6 +2376,15 @@
+@@ -2376,6 +2376,7 @@
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();
-+ }
++ _skyControl->doLoadSavePanel();
return true;
}