From eb89240370178d09fd6e9cba836dfa4b94d7998a Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 4 Jun 2011 22:40:51 +1000 Subject: TSAGE: Add extra event manager fields to savegames This should correctly handle re-enabling the cursor when restoring savegames. --- engines/tsage/events.cpp | 10 ++++++++++ engines/tsage/events.h | 6 +----- engines/tsage/saveload.cpp | 1 - 3 files changed, 11 insertions(+), 6 deletions(-) (limited to 'engines') 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; } -- cgit v1.2.3