aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-02 16:03:39 +0200
committerEugene Sandulenko2014-01-02 16:03:39 +0200
commitc42648fd00265aadf2708558b8b7d9ef75e613fe (patch)
treec0c2b458debb61936aff2f11cffe6cb956a6c54d /engines/fullpipe
parente1b19375708a1af89ec621bb91228cdff4964fdd (diff)
downloadscummvm-rg350-c42648fd00265aadf2708558b8b7d9ef75e613fe.tar.gz
scummvm-rg350-c42648fd00265aadf2708558b8b7d9ef75e613fe.tar.bz2
scummvm-rg350-c42648fd00265aadf2708558b8b7d9ef75e613fe.zip
FULLPIPE: Plug scene20 in
Diffstat (limited to 'engines/fullpipe')
-rw-r--r--engines/fullpipe/constants.h6
-rw-r--r--engines/fullpipe/module.mk1
-rw-r--r--engines/fullpipe/scenes.cpp7
-rw-r--r--engines/fullpipe/scenes.h7
-rw-r--r--engines/fullpipe/scenes/scene20.cpp12
5 files changed, 27 insertions, 6 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 16dac18ff1..e99f8831ce 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -723,6 +723,12 @@ namespace Fullpipe {
#define ST_MUG17_EMPTY 2739
#define ST_SMG_SIT 1399
+// Scene 20
+#define ANI_GRANDMA_20 2427
+#define ST_GMA20_FLOOR 2429
+#define ST_GMA20_STAND 2436
+#define ST_GMA20_STOOL 2432
+
// Scene 21
#define ANI_GIRAFFE_BOTTOM 1633
#define MSG_SC21_UPDATEASS 4211
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 3a0ccc98e4..245cbaef33 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -40,6 +40,7 @@ MODULE_OBJS = \
scenes/scene15.o \
scenes/scene16.o \
scenes/scene17.o \
+ scenes/scene20.o \
scenes/scene21.o \
scenes/scene24.o \
scenes/scene30.o \
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 16fa78ce3a..2c67a47526 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -247,6 +247,13 @@ Vars::Vars() {
scene17_handPhase = false;
scene17_sceneEdgeX = 0;
+ scene20_var01 = 0;
+ scene20_var02 = 0;
+ scene20_var03 = 0;
+ scene20_var04 = 0;
+ scene20_var05 = 0;
+ scene20_grandma = 0;
+
scene21_giraffeBottom = 0;
scene21_giraffeBottomX = 0;
scene21_giraffeBottomY = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 4ff23d2c44..7e30c86025 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -348,6 +348,13 @@ public:
bool scene17_handPhase;
int scene17_sceneEdgeX;
+ int scene20_var01;
+ int scene20_var02;
+ int scene20_var03;
+ int scene20_var04;
+ int scene20_var05;
+ StaticANIObject *scene20_grandma;
+
StaticANIObject *scene21_giraffeBottom;
int scene21_giraffeBottomX;
int scene21_giraffeBottomY;
diff --git a/engines/fullpipe/scenes/scene20.cpp b/engines/fullpipe/scenes/scene20.cpp
index 0dc24df702..c10ff2e6b8 100644
--- a/engines/fullpipe/scenes/scene20.cpp
+++ b/engines/fullpipe/scenes/scene20.cpp
@@ -32,7 +32,7 @@
#include "fullpipe/interaction.h"
#include "fullpipe/behavior.h"
-
+#include "fullpipe/floaters.h"
namespace Fullpipe {
@@ -56,19 +56,19 @@ void scene20_initScene(Scene *sc) {
g_fp->setObjectState(sO_Grandma, g_fp->getObjectEnumState(sO_Grandma, sO_NearPipe));
if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_OnStool)) {
- StaticANIObject_changeStatics2(g_vars->scene20_grandma, ST_GMA20_STOOL);
+ g_vars->scene20_grandma->changeStatics2(ST_GMA20_STOOL);
} else if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_OnTheFloor)) {
- StaticANIObject_changeStatics2(g_vars->scene20_grandma, ST_GMA20_FLOOR);
+ g_vars->scene20_grandma->changeStatics2(ST_GMA20_FLOOR);
} else if (g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_NearPipe)
|| g_fp->getObjectState(sO_Grandma) == g_fp->getObjectEnumState(sO_Grandma, sO_NearPipeWithStool)) {
- StaticANIObject_changeStatics2(g_vars->scene20_grandma, ST_GMA20_STAND);
+ g_vars->scene20_grandma->changeStatics2(ST_GMA20_STAND);
} else {
- StaticANIObject_hide(g_vars->scene20_grandma);
+ g_vars->scene20_grandma->hide();
}
scene20_setExits(sc);
- g_fp->_floaters->init(getGameLoaderGameVar()->getSubVarByName("SC_20"));
+ g_fp->_floaters->init(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_20"));
for (int i = 0; i < 3; i++) {
g_fp->_floaters->genFlies(sc, g_fp->_rnd->getRandomNumber(101) + 70, g_fp->_rnd->getRandomNumber(51) + 175, 100, 0);