diff options
author | Paul Gilbert | 2011-06-04 22:40:51 +1000 |
---|---|---|
committer | Paul Gilbert | 2011-06-04 22:40:51 +1000 |
commit | eb89240370178d09fd6e9cba836dfa4b94d7998a (patch) | |
tree | 187c08a5d7533e60c6e72c5fed4a6a69d67dd2e8 | |
parent | 9933b1bf195fd21cda7d1540eea1fdc7d4d31121 (diff) | |
download | scummvm-rg350-eb89240370178d09fd6e9cba836dfa4b94d7998a.tar.gz scummvm-rg350-eb89240370178d09fd6e9cba836dfa4b94d7998a.tar.bz2 scummvm-rg350-eb89240370178d09fd6e9cba836dfa4b94d7998a.zip |
TSAGE: Add extra event manager fields to savegames
This should correctly handle re-enabling the cursor when restoring savegames.
-rw-r--r-- | engines/tsage/events.cpp | 10 | ||||
-rw-r--r-- | engines/tsage/events.h | 6 | ||||
-rw-r--r-- | engines/tsage/saveload.cpp | 1 |
3 files changed, 11 insertions, 6 deletions
diff --git a/engines/tsage/events.cpp b/engines/tsage/events.cpp index e889c56c4d..9df2a7ccd6 100644 --- a/engines/tsage/events.cpp +++ b/engines/tsage/events.cpp @@ -304,4 +304,14 @@ void EventsClass::delay(int numFrames) { _priorFrameTime = g_system->getMillis(); } +void EventsClass::listenerSynchronize(Serializer &s) { + s.syncAsUint32LE(_frameNumber); + s.syncAsUint32LE(_prevDelayFrame); + + if (s.getVersion() >= 5) { + s.syncAsSint16LE(_currentCursor); + s.syncAsSint16LE(_lastCursor); + } +} + } // end of namespace tSage diff --git a/engines/tsage/events.h b/engines/tsage/events.h index 9a7bdbe82c..a13455d378 100644 --- a/engines/tsage/events.h +++ b/engines/tsage/events.h @@ -98,11 +98,7 @@ public: uint32 getFrameNumber() const { return _frameNumber; } void delay(int numFrames); - virtual void listenerSynchronize(Serializer &s) { - s.syncAsUint32LE(_frameNumber); - s.syncAsUint32LE(_prevDelayFrame); - // TODO: Synchronize unknown stuff - } + virtual void listenerSynchronize(Serializer &s); }; } // End of namespace tSage diff --git a/engines/tsage/saveload.cpp b/engines/tsage/saveload.cpp index 56df32146a..522e40c236 100644 --- a/engines/tsage/saveload.cpp +++ b/engines/tsage/saveload.cpp @@ -206,7 +206,6 @@ Common::Error Saver::restore(int slot) { // Final post-restore notifications _macroRestoreFlag = false; _loadNotifiers.notify(false); - _globals->_events.setCursor(_globals->_player._uiEnabled ? CURSOR_WALK : CURSOR_NONE); return Common::kNoError; } |