aboutsummaryrefslogtreecommitdiff
path: root/engines/mads
diff options
context:
space:
mode:
authorFilippos Karapetis2014-05-07 21:24:01 +0300
committerFilippos Karapetis2014-05-07 21:24:01 +0300
commit025c13c2408dc6aebf0ecd54268307ad18ed9e05 (patch)
treea2c6446ee5336c8c34b97208b43a9f3f5b700675 /engines/mads
parentfdc3424eabaad59ec33f747556a11b282d3f8207 (diff)
downloadscummvm-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.cpp131
-rw-r--r--engines/mads/nebular/nebular_scenes2.h10
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 {