diff options
Diffstat (limited to 'engines/scumm/scumm.h')
-rw-r--r-- | engines/scumm/scumm.h | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index a77c1c0141..6e0adc3ff3 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -240,6 +240,7 @@ enum ScummGameId { GID_FBEAR, GID_PUTTMOON, GID_FUNPACK, + GID_PUTTZOO, GID_FREDDI3, GID_BIRTHDAYRED, GID_BIRTHDAYYELLOW, @@ -255,6 +256,7 @@ enum ScummGameId { GID_BASEBALL2003, GID_BASKETBALL, GID_MOONBASE, + GID_PJGAMES, GID_HECUP // CUP demos }; @@ -585,7 +587,7 @@ protected: bool _dumpScripts; bool _hexdumpScripts; bool _showStack; - uint16 _debugMode; + bool _debugMode; // Save/Load class - some of this may be GUI byte _saveLoadFlag, _saveLoadSlot; @@ -594,14 +596,18 @@ protected: Common::String _saveLoadFileName; Common::String _saveLoadDescription; - bool saveState(Common::OutSaveFile *out, bool writeHeader = true); - bool saveState(int slot, bool compat); + bool saveState(Common::WriteStream *out, bool writeHeader = true); + bool saveState(int slot, bool compat, Common::String &fileName); bool loadState(int slot, bool compat); + bool loadState(int slot, bool compat, Common::String &fileName); virtual void saveOrLoad(Serializer *s); void saveResource(Serializer *ser, ResType type, ResId idx); void loadResource(Serializer *ser, ResType type, ResId idx); void loadResourceOLD(Serializer *ser, ResType type, ResId idx); // "Obsolete" + virtual Common::SeekableReadStream *openSaveFileForReading(int slot, bool compat, Common::String &fileName); + virtual Common::WriteStream *openSaveFileForWriting(int slot, bool compat, Common::String &fileName); + Common::String makeSavegameName(int slot, bool temporary) const { return makeSavegameName(_targetName, slot, temporary); } @@ -617,17 +623,14 @@ public: void requestSave(int slot, const Common::String &name); void requestLoad(int slot); + Common::String getTargetName() const { return _targetName; } + // thumbnail + info stuff public: - Graphics::Surface *loadThumbnailFromSlot(int slot) { - return loadThumbnailFromSlot(_targetName.c_str(), slot); - } - static Graphics::Surface *loadThumbnailFromSlot(const char *target, int slot); - - static bool loadInfosFromSlot(const char *target, int slot, SaveStateMetaInfos *stuff); + static bool querySaveMetaInfos(const char *target, int slot, int heversion, Common::String &desc, Graphics::Surface *&thumbnail, SaveStateMetaInfos *&timeInfos); protected: - void saveInfos(Common::WriteStream* file); + void saveInfos(Common::WriteStream *file); static bool loadInfos(Common::SeekableReadStream *file, SaveStateMetaInfos *stuff); protected: @@ -639,7 +642,7 @@ protected: byte _opcode; byte _currentScript; int _scummStackPos; - int _vmStack[150]; + int _vmStack[256]; OpcodeEntry _opcodes[256]; @@ -651,7 +654,7 @@ protected: int getScriptSlot(); void startScene(int room, Actor *a, int b); - void startManiac(); + bool startManiac(); public: void runScript(int script, bool freezeResistant, bool recursive, int *lvarptr, int cycle = 0); @@ -668,6 +671,7 @@ protected: virtual void checkAndRunSentenceScript(); void runExitScript(); void runEntryScript(); + void runQuitScript(); void runAllScripts(); void freezeScripts(int scr); void unfreezeScripts(); @@ -1178,6 +1182,7 @@ protected: byte _charsetBuffer[512]; bool _keepText; + byte _msgCount; int _nextLeft, _nextTop; @@ -1359,6 +1364,8 @@ public: byte VAR_SCRIPT_CYCLE; // Used in runScript()/runObjectScript() byte VAR_NUM_SCRIPT_CYCLES; // Used in runAllScripts() + byte VAR_QUIT_SCRIPT; // Used in confirmExitDialog() + // Exists both in V7 and in V72HE: byte VAR_NUM_GLOBAL_OBJS; |