diff options
author | Strangerke | 2014-05-04 09:42:50 +0200 |
---|---|---|
committer | Strangerke | 2014-05-04 09:42:50 +0200 |
commit | 17b253a2519c021b36cd9f4ed00af9e051369068 (patch) | |
tree | 3d05540aee50006c607c88877258587e83265683 /engines/mads | |
parent | e5e5bdd7f1445cbbeaf1bebdd84d80ef5e665593 (diff) | |
download | scummvm-rg350-17b253a2519c021b36cd9f4ed00af9e051369068.tar.gz scummvm-rg350-17b253a2519c021b36cd9f4ed00af9e051369068.tar.bz2 scummvm-rg350-17b253a2519c021b36cd9f4ed00af9e051369068.zip |
MADS: Add synchronize in scene 401 and 402
Diffstat (limited to 'engines/mads')
-rw-r--r-- | engines/mads/nebular/nebular_scenes4.cpp | 54 | ||||
-rw-r--r-- | engines/mads/nebular/nebular_scenes4.h | 2 | ||||
-rw-r--r-- | engines/mads/user_interface.h | 6 |
3 files changed, 62 insertions, 0 deletions
diff --git a/engines/mads/nebular/nebular_scenes4.cpp b/engines/mads/nebular/nebular_scenes4.cpp index 9d20c687e7..7b50460b9e 100644 --- a/engines/mads/nebular/nebular_scenes4.cpp +++ b/engines/mads/nebular/nebular_scenes4.cpp @@ -98,6 +98,15 @@ void Scene401::setup() { setAAName(); } +void Scene401::synchronize(Common::Serializer &s) { + Scene4xx::synchronize(s); + + s.syncAsByte(_northFl); + s.syncAsSint16LE(_destPos.x); + s.syncAsSint16LE(_destPos.y); + s.syncAsUint32LE(_timer); +} + void Scene401::enter() { if (_scene->_priorSceneId != -2) _northFl = false; @@ -237,6 +246,51 @@ void Scene402::setup() { _scene->addActiveVocab(0xD1); } +void Scene402::synchronize(Common::Serializer &s) { + Scene4xx::synchronize(s); + + s.syncAsByte(_lightOn); + s.syncAsByte(_blowingSmoke); + s.syncAsByte(_leftWomanMoving); + s.syncAsByte(_rightWomanMoving); + s.syncAsByte(_firstTalkToGirlInChair); + s.syncAsByte(_waitingGinnyMove); + s.syncAsByte(_ginnyLooking); + s.syncAsByte(_bigBeatFl); + s.syncAsByte(_roxOnStool); + s.syncAsByte(_bartenderSteady); + s.syncAsByte(_bartenderHandsHips); + s.syncAsByte(_bartenderLooksLeft); + s.syncAsByte(_bartenderReady); + s.syncAsByte(_bartenderTalking); + s.syncAsByte(_bartenderCalled); + s.syncAsByte(_conversationFl); + s.syncAsByte(_activeTeleporter); + s.syncAsByte(_activeArrows); + s.syncAsByte(_activeArrow1); + s.syncAsByte(_activeArrow2); + s.syncAsByte(_activeArrow3); + s.syncAsByte(_cutSceneReady); + s.syncAsByte(_cutSceneNeeded); + s.syncAsByte(_helgaReady); + s.syncAsByte(_refuseAlienLiquor); + + s.syncAsSint16LE(_drinkTimer); + s.syncAsSint16LE(_beatCounter); + s.syncAsSint16LE(_bartenderMode); + s.syncAsSint16LE(_bartenderDialogNode); + s.syncAsSint16LE(_bartenderCurrentQuestion); + s.syncAsSint16LE(_helgaTalkMode); + s.syncAsSint16LE(_roxMode); + s.syncAsSint16LE(_rexMode); + s.syncAsSint16LE(_talkTimer); + + _dialog1.synchronize(s); + _dialog2.synchronize(s); + _dialog3.synchronize(s); + _dialog4.synchronize(s); +} + void Scene402::setDialogNode(int node) { if (node > 0) _bartenderDialogNode = node; diff --git a/engines/mads/nebular/nebular_scenes4.h b/engines/mads/nebular/nebular_scenes4.h index 2010931981..c48d0277ce 100644 --- a/engines/mads/nebular/nebular_scenes4.h +++ b/engines/mads/nebular/nebular_scenes4.h @@ -58,6 +58,7 @@ private: public: Scene401(MADSEngine *vm) : Scene4xx(vm) {} + void synchronize(Common::Serializer &s); virtual void setup(); virtual void enter(); @@ -119,6 +120,7 @@ private: public: Scene402(MADSEngine *vm) : Scene4xx(vm) {} + void synchronize(Common::Serializer &s); virtual void setup(); virtual void enter(); diff --git a/engines/mads/user_interface.h b/engines/mads/user_interface.h index 9948278a55..04a8d090dd 100644 --- a/engines/mads/user_interface.h +++ b/engines/mads/user_interface.h @@ -128,6 +128,12 @@ public: * Starts the conversation */ void start(); + + /** + * Synchronize the conversation + */ + void synchronize(Common::Serializer &s) { warning("TODO: Synchronize Conversation"); }; + }; class UserInterface : public MSurface { |