diff options
author | Filippos Karapetis | 2014-05-07 21:24:01 +0300 |
---|---|---|
committer | Filippos Karapetis | 2014-05-07 21:24:01 +0300 |
commit | 025c13c2408dc6aebf0ecd54268307ad18ed9e05 (patch) | |
tree | a2c6446ee5336c8c34b97208b43a9f3f5b700675 /engines/mads | |
parent | fdc3424eabaad59ec33f747556a11b282d3f8207 (diff) | |
download | scummvm-rg350-025c13c2408dc6aebf0ecd54268307ad18ed9e05.tar.gz scummvm-rg350-025c13c2408dc6aebf0ecd54268307ad18ed9e05.tar.bz2 scummvm-rg350-025c13c2408dc6aebf0ecd54268307ad18ed9e05.zip |
MADS: Synchronize local scene variables for Rex scene group 2
Diffstat (limited to 'engines/mads')
-rw-r--r-- | engines/mads/nebular/nebular_scenes2.cpp | 131 | ||||
-rw-r--r-- | engines/mads/nebular/nebular_scenes2.h | 10 |
2 files changed, 141 insertions, 0 deletions
diff --git a/engines/mads/nebular/nebular_scenes2.cpp b/engines/mads/nebular/nebular_scenes2.cpp index 46a2a7875c..2b6b7eeb74 100644 --- a/engines/mads/nebular/nebular_scenes2.cpp +++ b/engines/mads/nebular/nebular_scenes2.cpp @@ -333,6 +333,11 @@ void Scene201::actions() { _action._inProgress = false; } +void Scene201::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsByte(_pterodactylFlag); +} + /*------------------------------------------------------------------------*/ void Scene202::setup() { @@ -987,6 +992,26 @@ void Scene202::actions() { _action._inProgress = false; } +void Scene202::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsByte(_activeMsgFl); + s.syncAsByte(_ladderTopFl); + s.syncAsByte(_waitingMeteoFl); + s.syncAsByte(_toStationFl); + s.syncAsByte(_toTeleportFl); + + s.syncAsSint32LE(_ladderHotspotId); + s.syncAsSint32LE(_lastRoute); + s.syncAsSint32LE(_stationCounter); + s.syncAsSint32LE(_meteoFrame); + + s.syncAsUint32LE(_meteoClock1); + s.syncAsUint32LE(_meteoClock2); + s.syncAsUint32LE(_startTime); + + s.syncAsSint32LE(_meteorologistSpecial); +} + /*****************************************************************************/ void Scene203::setup() { @@ -1099,6 +1124,12 @@ void Scene203::actions() { _action._inProgress = false; } +void Scene203::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsByte(_rhotundaEat2Fl); + s.syncAsByte(_rhotundaEatFl); +} + /*****************************************************************************/ void Scene205::setup() { @@ -1231,6 +1262,13 @@ void Scene205::actions() { warning("TODO: Scene205::actions"); } +void Scene205::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsUint32LE(_lastFishTime); + s.syncAsUint32LE(_chickenTime); + s.syncAsByte(_beingKicked); +} + /*****************************************************************************/ void Scene207::setup() { @@ -1417,6 +1455,18 @@ void Scene207::actions() { _action._inProgress = false; } +void Scene207::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsByte(_vultureFl); + s.syncAsByte(_spiderFl); + s.syncAsByte(_eyeFl); + + s.syncAsSint32LE(_spiderHotspotId); + s.syncAsSint32LE(_vultureHotspotId); + s.syncAsSint32LE(_spiderTime); + s.syncAsSint32LE(_vultureTime); +} + /*****************************************************************************/ void Scene208::setup() { @@ -1698,6 +1748,14 @@ void Scene208::actions() { _action._inProgress = false; } +void Scene208::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsByte(_rhotundaTurnFl); + s.syncAsByte(_boundingFl); + + s.syncAsSint32LE(_rhotundaTime); +} + /*****************************************************************************/ void Scene209::setup() { @@ -3290,6 +3348,35 @@ void Scene209::actions() { } } +void Scene209::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsByte(_dodgeFl); + s.syncAsByte(_forceDodgeFl); + s.syncAsByte(_shouldDodgeFl); + s.syncAsByte(_pitchFl); + s.syncAsByte(_fallFl); + s.syncAsByte(_forceFallFl); + s.syncAsByte(_shouldFallFl); + s.syncAsByte(_playingAnimFl); + s.syncAsByte(_playingDialogFl); + + s.syncAsSint32LE(_pauseMode); + s.syncAsSint32LE(_pauseCounterThreshold); + s.syncAsSint32LE(_pauseCounter); + + s.syncAsByte(_removeMonkeyFl); + + s.syncAsSint32LE(_monkeyPosition); + + s.syncAsByte(_shootReadyFl); + s.syncAsByte(_startShootingInTimerFl); + s.syncAsByte(_shootMissedLastFl); + s.syncAsByte(_binocularsDroppedFl); + + s.syncAsSint32LE(_dialogAbortVal); + s.syncAsSint32LE(_counter); +} + /*****************************************************************************/ void Scene210::setup() { @@ -4262,6 +4349,33 @@ void Scene210::actions() { _action._inProgress = false; } +void Scene210::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsSint32LE(_curDialogNode); + s.syncAsSint32LE(_nextHandsPlace); + s.syncAsSint32LE(_twinkleAnimationType); + s.syncAsSint32LE(_twinklesCurrentFrame); + + s.syncAsByte(_shouldTalk); + s.syncAsByte(_shouldFaceRex); + s.syncAsByte(_shouldMoveHead); + s.syncAsByte(_stopWalking); + s.syncAsByte(_twinklesTalking); + s.syncAsByte(_twinklesTalk2); + + s.syncAsSint32LE(_doorway); + + s.syncString(_subQuote2); + + _conv1.synchronize(s); + _conv2.synchronize(s); + _conv3.synchronize(s); + _conv5.synchronize(s); + _conv6.synchronize(s); + _conv7.synchronize(s); + _conv8.synchronize(s); +} + /*------------------------------------------------------------------------*/ void Scene211::setup() { @@ -4525,6 +4639,16 @@ void Scene211::actions() { _action._inProgress = false; } +void Scene211::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsByte(_ambushFl); + s.syncAsByte(_wakeFl); + + s.syncAsSint32LE(_monkeyFrame); + s.syncAsSint32LE(_scrollY); + s.syncAsUint32LE(_monkeyTime); +} + /*------------------------------------------------------------------------*/ void Scene212::setup() { @@ -4852,6 +4976,13 @@ void Scene214::actions() { _action._inProgress = false; } +void Scene214::synchronize(Common::Serializer &s) { + Scene2xx::synchronize(s); + s.syncAsUint32LE(_devilTime); + + s.syncAsByte(_devilRunningFl); +} + /*------------------------------------------------------------------------*/ void Scene215::setup() { diff --git a/engines/mads/nebular/nebular_scenes2.h b/engines/mads/nebular/nebular_scenes2.h index 2f3512a61e..e8883b15e8 100644 --- a/engines/mads/nebular/nebular_scenes2.h +++ b/engines/mads/nebular/nebular_scenes2.h @@ -59,6 +59,7 @@ public: virtual void enter(); virtual void step(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); }; class Scene202: public Scene2xx { @@ -82,6 +83,7 @@ public: virtual void step(); virtual void preActions(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); void setRandomKernelMessage(); }; @@ -97,6 +99,7 @@ public: virtual void step(); virtual void preActions(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); }; class Scene205: public Scene2xx { @@ -110,6 +113,7 @@ public: virtual void enter(); virtual void step(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); }; class Scene207: public Scene2xx { @@ -128,6 +132,7 @@ public: virtual void step(); virtual void preActions(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); }; class Scene208: public Scene2xx { @@ -145,6 +150,7 @@ public: virtual void step(); virtual void preActions(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); }; class Scene209: public Scene2xx { @@ -192,6 +198,7 @@ public: virtual void step(); virtual void preActions(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); }; class Scene210: public Scene2xx { @@ -230,6 +237,7 @@ public: virtual void step(); virtual void preActions(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); }; class Scene211: public Scene2xx { @@ -245,6 +253,7 @@ public: virtual void step(); virtual void preActions(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); }; class Scene212: public Scene2xx { @@ -280,6 +289,7 @@ public: virtual void enter(); virtual void step(); virtual void actions(); + virtual void synchronize(Common::Serializer &s); }; class Scene215: public Scene2xx { |