[Scummvm-cvs-logs] scummvm master -> 5e0236e7ad7157f67ca1eed6b4d28a959de5bc40

sev- sev at scummvm.org
Tue Jan 7 16:28:12 CET 2014


This automated email contains information about 14 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
875b8f76f5 FULLPIPE: Initial code for scene32
2cb81f50e5 FULLPIPE: Plug scene32 in
6e828566ef FULLPIPE: Implement scene32_updateCursor() and setupMusic()
c2776345b8 FULLPIPE: Implement sceneHandler32()
61268f4424 FULLPIPE: Enable scene32
51b9d156d5 FULLPIPE: More code to scene32
a7ae2b4452 FULLPIPE: yet more code to scene32
7292a08b8a FULLPIPE: Implement sceneHandler32_buttonPush()
ae5389af8b FULLPIPE: Implement sceneHandler32_ladderLogic()
d821719c47 FULLPIPE: Implement sceneHandler32_potLogic()
929c868c5e FULLPIPE: Implement sceneHandler32_spin()
b495a16812 FULLPIPE: Implement sceneHandler32_trySit()
9313c540af FULLPIPE: Started renames in scene32
5e0236e7ad FULLPIPE: Rename remaining vars in scene32. This completes the scene


Commit: 875b8f76f535c7f72525a0fd20eb676630f631dc
    https://github.com/scummvm/scummvm/commit/875b8f76f535c7f72525a0fd20eb676630f631dc
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T03:01:01-08:00

Commit Message:
FULLPIPE: Initial code for scene32

Changed paths:
  A engines/fullpipe/scenes/scene32.cpp
    engines/fullpipe/objectnames.h



diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h
index c33750f..8939f44 100644
--- a/engines/fullpipe/objectnames.h
+++ b/engines/fullpipe/objectnames.h
@@ -54,8 +54,9 @@ namespace Fullpipe {
 #define sO_In_15_2 "\xc2_15_2"	// "В_15_2"
 #define sO_In_15_3 "\xc2_15_3"	// "В_15_3"
 #define sO_In_16 "\xc2_16"	// "В_16"
+#define sO_In_32 "\xc2_32"	// "В_32"
 #define sO_In_32_Lies "\xc2_32 \xeb\xe5\xe6\xe8\xf2"	// "В_32 лежит"
-#define sO_In_32_Stands "\xc2_32 \xf2\xee\xf0\xf7\xe8\xf2"	// "В_32 торчит"
+#define sO_In_32_Sticks "\xc2_32 \xf2\xee\xf0\xf7\xe8\xf2"	// "В_32 торчит"
 #define sO_In_33 "\xc2_33"	// "В_33"
 #define sO_In_7 "\xc2_7"	// "В_7"
 #define sO_Together "\xc2\xe4\xe2\xee\xe5\xec"	// "Вдвоем"
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
new file mode 100644
index 0000000..ad2ac79
--- /dev/null
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -0,0 +1,100 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "fullpipe/fullpipe.h"
+
+#include "fullpipe/objectnames.h"
+#include "fullpipe/constants.h"
+
+#include "fullpipe/gameloader.h"
+#include "fullpipe/motion.h"
+#include "fullpipe/scenes.h"
+#include "fullpipe/statics.h"
+
+#include "fullpipe/interaction.h"
+#include "fullpipe/behavior.h"
+
+
+namespace Fullpipe {
+
+void scene32_initScene(Scene *sc) {
+	g_vars->scene32_var01 = 200;
+	g_vars->scene32_var02 = 200;
+	g_vars->scene32_var03 = 300;
+	g_vars->scene32_var04 = 300;
+	g_vars->scene32_var05 = 0;
+	g_vars->scene32_var06 = 0;
+	g_vars->scene32_var07 = 0;
+	g_vars->scene32_var08 = -1;
+	g_vars->scene32_var09 = 0;
+	g_vars->scene32_var10 = 0;
+	g_vars->scene32_flag = sc->getStaticANIObject1ById(ANI_FLAG, -1);
+	g_vars->scene32_cactus = sc->getStaticANIObject1ById(ANI_CACTUS, -1);
+	g_vars->scene32_massOrange = sc->getStaticANIObject1ById(ANI_TESTO_ORANGE, -1);
+	g_vars->scene32_massBlue = sc->getStaticANIObject1ById(ANI_TESTO_BLUE, -1);
+	g_vars->scene32_massGreen = sc->getStaticANIObject1ById(ANI_TESTO_GREEN, -1);
+	g_vars->scene32_button = sc->getStaticANIObject1ById(ANI_BUTTON_32, -1);
+
+	g_vars->scene32_massOrange->startAnim(MV_TSTO_FLOW, 0, -1);
+	g_vars->scene32_massOrange->_movement->setDynamicPhaseIndex(15);
+
+	g_vars->scene32_massGreen->startAnim(MV_TSTG_FLOW, 0, -1);
+	g_vars->scene32_massGreen->_movement->setDynamicPhaseIndex(26);
+
+	Scene *oldsc = g_fp->_currentScene;
+	StaticANIObject *ani;
+
+	if (getObjectState(sO_ClockHandle) == getObjectEnumState(sO_ClockHandle, sO_In_32_Lies)) {
+		ani = sc->getStaticANIObject1ById(ANI_INV_HANDLE, -1);
+		if (ani) {
+			g_fp->_currentScene = sc;
+
+			ani->changeStatics2(ST_HDL_LAID);
+		}
+	} else {
+		if (getObjectState(sO_ClockHandle) == getObjectEnumState(sO_ClockHandle, sO_In_32_Sticks)) {
+			ani = sc->getStaticANIObject1ById(ANI_INV_HANDLE, -1);
+
+			g_fp->_currentScene = sc;
+
+			if (ani)
+				ani->changeStatics2(ST_HDL_PLUGGED);
+
+			g_vars->scene32_button->changeStatics2(ST_BTN32_ON);
+		}
+	}
+
+	g_fp->_currentScene = oldsc;
+
+	if (getObjectState(sO_Cube) == getObjectEnumState(sO_Cube, sO_In_32)) {
+		MessageQueue *mq = new Message(sc->getMessageQueueById(QU_KBK32_START), 0, 0);
+
+		mq->sendNextCommand();
+	}
+
+	g_fp->lift_setButton(sO_Level9, ST_LBN_9N);
+	g_fp->lift_sub5(sc, QU_SC32_ENTERLIFT, QU_SC32_EXITLIFT);
+
+	g_fp->initArcadeKeys("SC_32");
+}
+
+} // End of namespace Fullpipe


Commit: 2cb81f50e500d37bf39c023eebc68e400114407c
    https://github.com/scummvm/scummvm/commit/2cb81f50e500d37bf39c023eebc68e400114407c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T03:08:51-08:00

Commit Message:
FULLPIPE: Plug scene32 in

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/module.mk
    engines/fullpipe/scenes.cpp
    engines/fullpipe/scenes.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 79f6a7f..674d544 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1054,6 +1054,21 @@ namespace Fullpipe {
 #define SND_31_001 4377
 #define ST_CTS31_GROWN2 2472
 
+// Scene 32
+#define ANI_BUTTON_32 5347
+#define ANI_CACTUS 2267
+#define ANI_FLAG 2257
+#define ANI_TESTO_BLUE 2659
+#define ANI_TESTO_GREEN 2662
+#define ANI_TESTO_ORANGE 2656
+#define MV_TSTG_FLOW 2663
+#define MV_TSTO_FLOW 2657
+#define QU_KBK32_START 4982
+#define QU_SC32_ENTERLIFT 2827
+#define QU_SC32_EXITLIFT 2828
+#define ST_BTN32_ON 5350
+#define ST_HDL_LAID 3039
+
 // Scene 36
 #define ANI_SCISSORS_36 2647
 #define ANI_ROTOHRUST 2360
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 55be5a7..a81ee36 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -51,6 +51,7 @@ MODULE_OBJS = \
 	scenes/scene28.o \
 	scenes/scene30.o \
 	scenes/scene31.o \
+	scenes/scene32.o \
 	scenes/scene36.o \
 	scenes/sceneDbg.o
 
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 127be3b..42ff94f 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -313,6 +313,23 @@ Vars::Vars() {
 	scene31_cactus = 0;
 	scene31_plusMinus = 0;
 
+	scene32_var01 = 0;
+	scene32_var02 = 0;
+	scene32_var03 = 0;
+	scene32_var04 = 0;
+	scene32_var05 = 0;
+	scene32_var06 = 0;
+	scene32_var07 = 0;
+	scene32_var08 = -1;
+	scene32_var09 = 0;
+	scene32_var10 = 0;
+	scene32_flag = 0;
+	scene32_cactus = 0;
+	scene32_massOrange = 0;
+	scene32_massBlue = 0;
+	scene32_massGreen = 0;
+	scene32_button = 0;
+
 	scene36_rotohrust = 0;
 	scene36_scissors = 0;
 
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 0bfa9fa..5a8746f 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -441,6 +441,23 @@ public:
 	StaticANIObject *scene31_cactus;
 	StaticANIObject *scene31_plusMinus;
 
+	int scene32_var01;
+	int scene32_var02;
+	int scene32_var03;
+	int scene32_var04;
+	int scene32_var05;
+	int scene32_var06;
+	int scene32_var07;
+	int scene32_var08;
+	int scene32_var09;
+	int scene32_var10;
+	StaticANIObject *scene32_flag;
+	StaticANIObject *scene32_cactus;
+	StaticANIObject *scene32_massOrange;
+	StaticANIObject *scene32_massBlue;
+	StaticANIObject *scene32_massGreen;
+	StaticANIObject *scene32_button;
+
 	StaticANIObject *scene36_rotohrust;
 	StaticANIObject *scene36_scissors;
 
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index ad2ac79..90e5e77 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -63,7 +63,7 @@ void scene32_initScene(Scene *sc) {
 	Scene *oldsc = g_fp->_currentScene;
 	StaticANIObject *ani;
 
-	if (getObjectState(sO_ClockHandle) == getObjectEnumState(sO_ClockHandle, sO_In_32_Lies)) {
+	if (g_fp->getObjectState(sO_ClockHandle) == g_fp->getObjectEnumState(sO_ClockHandle, sO_In_32_Lies)) {
 		ani = sc->getStaticANIObject1ById(ANI_INV_HANDLE, -1);
 		if (ani) {
 			g_fp->_currentScene = sc;
@@ -71,7 +71,7 @@ void scene32_initScene(Scene *sc) {
 			ani->changeStatics2(ST_HDL_LAID);
 		}
 	} else {
-		if (getObjectState(sO_ClockHandle) == getObjectEnumState(sO_ClockHandle, sO_In_32_Sticks)) {
+		if (g_fp->getObjectState(sO_ClockHandle) == g_fp->getObjectEnumState(sO_ClockHandle, sO_In_32_Sticks)) {
 			ani = sc->getStaticANIObject1ById(ANI_INV_HANDLE, -1);
 
 			g_fp->_currentScene = sc;
@@ -85,8 +85,8 @@ void scene32_initScene(Scene *sc) {
 
 	g_fp->_currentScene = oldsc;
 
-	if (getObjectState(sO_Cube) == getObjectEnumState(sO_Cube, sO_In_32)) {
-		MessageQueue *mq = new Message(sc->getMessageQueueById(QU_KBK32_START), 0, 0);
+	if (g_fp->getObjectState(sO_Cube) == g_fp->getObjectEnumState(sO_Cube, sO_In_32)) {
+		MessageQueue *mq = new MessageQueue(sc->getMessageQueueById(QU_KBK32_START), 0, 0);
 
 		mq->sendNextCommand();
 	}


Commit: 6e828566ef017c9c66fb16390bc96422c01ab021
    https://github.com/scummvm/scummvm/commit/6e828566ef017c9c66fb16390bc96422c01ab021
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T03:15:42-08:00

Commit Message:
FULLPIPE: Implement scene32_updateCursor() and setupMusic()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/fullpipe.h
    engines/fullpipe/lift.cpp
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 674d544..a993c80 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1063,6 +1063,7 @@ namespace Fullpipe {
 #define ANI_TESTO_ORANGE 2656
 #define MV_TSTG_FLOW 2663
 #define MV_TSTO_FLOW 2657
+#define PIC_SC32_LADDER 4296
 #define QU_KBK32_START 4982
 #define QU_SC32_ENTERLIFT 2827
 #define QU_SC32_EXITLIFT 2828
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 7c7ac05..824ea08 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -272,6 +272,7 @@ public:
 	void lift_sub1(StaticANIObject *ani);
 	void lift_startExitQueue();
 	void lift_sub05(ExCommand *ex);
+	bool lift_checkButton(const char *varname);
 
 	GameVar *_musicGameVar;
 	Audio::SoundHandle _sceneTrackHandle;
diff --git a/engines/fullpipe/lift.cpp b/engines/fullpipe/lift.cpp
index ca23d82..cb811d6 100644
--- a/engines/fullpipe/lift.cpp
+++ b/engines/fullpipe/lift.cpp
@@ -105,4 +105,10 @@ void FullpipeEngine::lift_sub05(ExCommand *ex) {
 	warning("STUB: FullpipeEngine::lift_sub05()");
 }
 
+bool FullpipeEngine::lift_checkButton(const char *varname) {
+	warning("STUB: FullpipeEngine::lift_checkButton(%s)", varname);
+
+	return false;
+}
+
 } // End of namespace Fullpipe
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 90e5e77..6b6560f 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -97,4 +97,18 @@ void scene32_initScene(Scene *sc) {
 	g_fp->initArcadeKeys("SC_32");
 }
 
+void scene32_setupMusic() {
+	if (g_fp->lift_checkButton(sO_Level6))
+		g_fp->playTrack(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_32"), "MUSIC2", 1);
+}
+
+int scene32_updateCursor() {
+	g_fp->updateCursorCommon();
+
+	if (g_fp->_objectIdAtCursor == PIC_SC32_LADDER && g_fp->_cursorId == PIC_CSR_ITN)
+		g_fp->_cursorId = g_vars->scene32_var09 ? PIC_CSR_GOD : PIC_CSR_GOU; // TODO FIXME doublecheck
+
+	return g_fp->_cursorId;
+}
+
 } // End of namespace Fullpipe


Commit: c2776345b850db67a0045987e53efec6d831c97b
    https://github.com/scummvm/scummvm/commit/c2776345b850db67a0045987e53efec6d831c97b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T06:09:57-08:00

Commit Message:
FULLPIPE: Implement sceneHandler32()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index a993c80..11ee8fa 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1061,15 +1061,36 @@ namespace Fullpipe {
 #define ANI_TESTO_BLUE 2659
 #define ANI_TESTO_GREEN 2662
 #define ANI_TESTO_ORANGE 2656
+#define MSG_SC32_ONLADDER 2270
+#define MSG_SC32_SPIN 2405
+#define MSG_SC32_STARTCACTUS 2414
+#define MSG_SC32_STARTFLAGLEFT 2310
+#define MSG_SC32_STARTFLAGRIGHT 2309
+#define MSG_SC32_STOPFLAG 2311
+#define MSG_SC32_TRUBATOBACK 5181
+#define MSG_SC32_TRUBATOFRONT 5180
+#define MSG_SC32_TRYSIT 2294
+#define MV_FLG_CYCLEL 2262
+#define MV_FLG_CYCLER 2266
+#define MV_FLG_STARTL 2258
+#define MV_FLG_STARTR 2263
+#define MV_FLG_STOPL 2261
+#define MV_FLG_STOPR 2265
 #define MV_TSTG_FLOW 2663
 #define MV_TSTO_FLOW 2657
 #define PIC_SC32_LADDER 4296
+#define PIC_SC32_RTRUBA 2292
 #define QU_KBK32_START 4982
 #define QU_SC32_ENTERLIFT 2827
 #define QU_SC32_EXITLIFT 2828
 #define ST_BTN32_ON 5350
+#define ST_FLG_LEFT 2260
+#define ST_FLG_RIGHT 2264
 #define ST_HDL_LAID 3039
 
+// Scene 33
+#define MSG_SC33_TRYKUBIK 4980
+
 // Scene 36
 #define ANI_SCISSORS_36 2647
 #define ANI_ROTOHRUST 2360
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 6b6560f..67366e8 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -111,4 +111,211 @@ int scene32_updateCursor() {
 	return g_fp->_cursorId;
 }
 
+void sceneHandler32_tryCube() {
+	warning("STUB: sceneHandler32_tryCube()");
+}
+
+void sceneHandler32_startCactus() {
+	warning("STUB: sceneHandler32_startCactus()");
+}
+
+void sceneHandler32_spin(ExCommand *cmd) {
+	warning("STUB: sceneHandler32_spin(cmd)");
+}
+
+void sceneHandler32_startFlagLeft() {
+	warning("STUB: sceneHandler32_startFlagLeft()");
+}
+
+void sceneHandler32_startFlagRight() {
+	warning("STUB: sceneHandler32_startFlagRight()");
+}
+
+void sceneHandler32_trySit(ExCommand *cmd) {
+	warning("STUB: sceneHandler32_trySit(cmd)");
+}
+
+void sceneHandler32_buttonPush() {
+	warning("STUB: sceneHandler32_buttonPush()");
+}
+
+void sceneHandler32_installHandle() {
+	warning("STUB: sceneHandler32_installHandle()");
+}
+
+void sceneHandler32_animateCactus() {
+	warning("STUB: sceneHandler32_animateCactus()");
+}
+
+void sceneHandler32_ladderLogic(ExCommand *cmd) {
+	warning("STUB: sceneHandler32_ladderLogic(cmd)");
+}
+
+void sceneHandler32_potLogic(ExCommand *cmd) {
+	warning("STUB: sceneHandler32_potLogic(cmd)");
+}
+
+int sceneHandler32(ExCommand *cmd) {
+	if (cmd->_messageKind != 17)
+		return 0;
+
+	switch (cmd->_messageNum) {
+	case MSG_LIFT_CLOSEDOOR:
+		g_fp->lift_closedoorSeq();
+		break;
+
+	case MSG_LIFT_EXITLIFT:
+		g_fp->lift_exitSeq(cmd);
+		break;
+
+	case MSG_LIFT_STARTEXITQUEUE:
+		g_fp->lift_startExitQueue();
+		break;
+
+	case MSG_SC32_TRUBATOBACK:
+		g_fp->_currentScene->getPictureObjectById(PIC_SC32_RTRUBA, 0)->_priority = 20;
+		break;
+
+	case MSG_SC32_TRUBATOFRONT:
+		g_fp->_currentScene->getPictureObjectById(PIC_SC32_RTRUBA, 0)->_priority = 0;
+		break;
+
+	case MSG_LIFT_CLICKBUTTON:
+		g_fp->lift_animation3();
+		break;
+
+	case MSG_SC33_TRYKUBIK:
+		sceneHandler32_tryCube();
+		break;
+
+	case MSG_SC32_STARTCACTUS:
+		sceneHandler32_startCactus();
+		break;
+
+	case MSG_SC32_STOPFLAG:
+		g_vars->scene32_var05 = 0;
+		g_vars->scene32_var06 = 1;
+		break;
+
+	case MSG_SC32_SPIN:
+		sceneHandler32_spin(cmd);
+		break;
+
+	case MSG_SC32_STARTFLAGLEFT :
+		sceneHandler32_startFlagLeft();
+		break;
+
+	case MSG_SC32_STARTFLAGRIGHT:
+		sceneHandler32_startFlagRight();
+		break;
+
+	case MSG_SC32_TRYSIT:
+		sceneHandler32_trySit(cmd);
+		break;
+
+	case MSG_LIFT_GO:
+		g_fp->lift_goAnimation();
+		break;
+
+	case MSG_SC32_ONLADDER:
+		g_vars->scene32_var09 = 1;
+
+		getCurrSceneSc2MotionController()->clearEnabled();
+		getGameLoaderInteractionController()->disableFlag24();
+		break;
+
+	case MSG_SC6_BTNPUSH:
+		sceneHandler32_buttonPush();
+		break;
+
+	case 64:
+		g_fp->lift_sub05(cmd);
+		break;
+
+	case MSG_SC6_INSTHANDLE:
+		sceneHandler32_installHandle();
+		break;
+
+	case 33:
+		if (g_fp->_aniMan2) {
+			int x = g_fp->_aniMan2->_ox;
+
+			if (x < g_fp->_sceneRect.left + g_vars->scene32_var01)
+				g_fp->_currentScene->_x = x - g_vars->scene32_var03 - g_fp->_sceneRect.left;
+
+			if (x > g_fp->_sceneRect.right - g_vars->scene32_var01)
+				g_fp->_currentScene->_x = x + g_vars->scene32_var03 - g_fp->_sceneRect.right;
+		}
+
+		if (!g_vars->scene32_flag->_movement) {
+			if (g_vars->scene32_var05) {
+				if (g_vars->scene32_flag->_statics->_staticsId == ST_FLG_RIGHT)
+					g_vars->scene32_flag->startAnim(MV_FLG_CYCLER, 0, -1);
+				else if (g_vars->scene32_flag->_statics->_staticsId == ST_FLG_LEFT)
+					g_vars->scene32_flag->startAnim(MV_FLG_CYCLEL, 0, -1);
+			}
+
+			if (g_vars->scene32_var06 && !g_vars->scene32_var05) {
+				if (g_vars->scene32_flag->_statics->_staticsId == ST_FLG_RIGHT)
+					g_vars->scene32_flag->startAnim(MV_FLG_STOPR, 0, -1);
+				else if (g_vars->scene32_flag->_statics->_staticsId == ST_FLG_LEFT)
+					g_vars->scene32_flag->startAnim(MV_FLG_STOPL, 0, -1);
+
+				g_vars->scene32_var06 = 0;
+			}
+		}
+
+		if (g_vars->scene32_var08) {
+			if (g_vars->scene32_var08 > 0)
+				--g_vars->scene32_var08;
+
+			g_fp->_behaviorManager->updateBehaviors();
+
+			g_fp->startSceneTrack();
+		} else {
+			sceneHandler32_animateCactus();
+
+			g_fp->_behaviorManager->updateBehaviors();
+
+			g_fp->startSceneTrack();
+
+		}
+		break;
+
+	case 29:
+		if (g_vars->scene32_var09) {
+			sceneHandler32_ladderLogic(cmd);
+			cmd->_messageKind = 0;
+			break;
+		}
+
+		if (!g_vars->scene32_var07 || g_fp->_aniMan->_movement) {
+			StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+
+			if (ani && ani->_id == ANI_LIFTBUTTON) {
+				g_fp->lift_sub1(ani);
+
+				cmd->_messageKind = 0;
+				break;
+			}
+
+			if (g_fp->_cursorId == PIC_CSR_GOFAR_R || g_fp->_cursorId == PIC_CSR_GOFAR_L) {
+				if ((g_fp->_sceneRect.right - cmd->_sceneClickX < 47 && g_fp->_sceneRect.right < g_fp->_sceneWidth - 1)
+					|| (cmd->_sceneClickX - g_fp->_sceneRect.left < 47 && g_fp->_sceneRect.left > 0))
+					g_fp->processArcade(cmd);
+			}
+			break;
+		}
+
+		if (!g_vars->scene32_var10)
+			sceneHandler32_potLogic(cmd);
+
+		cmd->_messageKind = 0;
+
+		break;
+	}
+
+	return 0;
+}
+
 } // End of namespace Fullpipe


Commit: 61268f4424dfb45bd20c69a5ad71aafde48538f4
    https://github.com/scummvm/scummvm/commit/61268f4424dfb45bd20c69a5ad71aafde48538f4
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T06:30:52-08:00

Commit Message:
FULLPIPE: Enable scene32

Changed paths:
    engines/fullpipe/scenes.cpp



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 42ff94f..36a7191 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -853,7 +853,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		_updateCursorCallback = defaultUpdateCursor;
 		break;
 
-#if 0
 	case SC_32:
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_32");
 		scene->preloadMovements(sceneVar);
@@ -862,10 +861,11 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 		scene->initObjectCursors("SC_32");
 		setSceneMusicParameters(sceneVar);
 		insertMessageHandler(sceneHandler32, 2, 2);
-		scene32_sub_42C5C0();
+		scene32_setupMusic();
 		_updateCursorCallback = scene32_updateCursor;
 		break;
 
+#if 0
 	case SC_33:
 		sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_33");
 		scene->preloadMovements(sceneVar);


Commit: 51b9d156d535c922cb4240a7686f790d58c97d46
    https://github.com/scummvm/scummvm/commit/51b9d156d535c922cb4240a7686f790d58c97d46
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T06:31:24-08:00

Commit Message:
FULLPIPE: More code to scene32

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 11ee8fa..88f5492 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1080,11 +1080,13 @@ namespace Fullpipe {
 #define MV_TSTO_FLOW 2657
 #define PIC_SC32_LADDER 4296
 #define PIC_SC32_RTRUBA 2292
+#define QU_KBK32_GO 4977
 #define QU_KBK32_START 4982
 #define QU_SC32_ENTERLIFT 2827
 #define QU_SC32_EXITLIFT 2828
 #define ST_BTN32_ON 5350
 #define ST_FLG_LEFT 2260
+#define ST_FLG_NORM 2259
 #define ST_FLG_RIGHT 2264
 #define ST_HDL_LAID 3039
 
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 5a8746f..c866e62 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -143,6 +143,11 @@ int sceneHandler30(ExCommand *cmd);
 void scene31_initScene(Scene *sc);
 int sceneHandler31(ExCommand *ex);
 
+void scene32_initScene(Scene *sc);
+void scene32_setupMusic();
+int sceneHandler32(ExCommand *cmd);
+int scene32_updateCursor();
+
 int scene36_updateCursor();
 void scene36_initScene(Scene *sc);
 int sceneHandler36(ExCommand *cmd);
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 67366e8..f032970 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -112,7 +112,8 @@ int scene32_updateCursor() {
 }
 
 void sceneHandler32_tryCube() {
-	warning("STUB: sceneHandler32_tryCube()");
+	if (g_fp->getObjectState(sO_Cube) == g_fp->getObjectEnumState(sO_Cube, sO_In_33))
+		chainQueue(QU_KBK32_GO, 0);
 }
 
 void sceneHandler32_startCactus() {
@@ -124,11 +125,17 @@ void sceneHandler32_spin(ExCommand *cmd) {
 }
 
 void sceneHandler32_startFlagLeft() {
-	warning("STUB: sceneHandler32_startFlagLeft()");
+	g_vars->scene32_flag->changeStatics2(ST_FLG_NORM);
+	g_vars->scene32_flag->startAnim(MV_FLG_STARTL, 0, -1);
+
+	g_vars->scene32_var05 = 1;
 }
 
 void sceneHandler32_startFlagRight() {
-	warning("STUB: sceneHandler32_startFlagRight()");
+	g_vars->scene32_flag->changeStatics2(ST_FLG_NORM);
+	g_vars->scene32_flag->startAnim(MV_FLG_STARTR, 0, -1);
+
+	g_vars->scene32_var05 = 1;
 }
 
 void sceneHandler32_trySit(ExCommand *cmd) {


Commit: a7ae2b4452877fb2728d6f9feb810360e5b517df
    https://github.com/scummvm/scummvm/commit/a7ae2b4452877fb2728d6f9feb810360e5b517df
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T06:35:40-08:00

Commit Message:
FULLPIPE: yet more code to scene32

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 88f5492..9f2f888 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1080,15 +1080,19 @@ namespace Fullpipe {
 #define MV_TSTO_FLOW 2657
 #define PIC_SC32_LADDER 4296
 #define PIC_SC32_RTRUBA 2292
+#define QU_CTS_GROW 2416
+#define QU_CTS_GROWMAN 2417
 #define QU_KBK32_GO 4977
 #define QU_KBK32_START 4982
 #define QU_SC32_ENTERLIFT 2827
 #define QU_SC32_EXITLIFT 2828
+#define QU_SC32_SHOWHANDLE 2399
 #define ST_BTN32_ON 5350
 #define ST_FLG_LEFT 2260
 #define ST_FLG_NORM 2259
 #define ST_FLG_RIGHT 2264
 #define ST_HDL_LAID 3039
+#define ST_MAN32_SIT 2277
 
 // Scene 33
 #define MSG_SC33_TRYKUBIK 4980
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index f032970..fa0ad86 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -117,7 +117,8 @@ void sceneHandler32_tryCube() {
 }
 
 void sceneHandler32_startCactus() {
-	warning("STUB: sceneHandler32_startCactus()");
+	g_vars->scene32_var08 = 48;
+	g_vars->scene32_var10 = 0;
 }
 
 void sceneHandler32_spin(ExCommand *cmd) {
@@ -147,11 +148,19 @@ void sceneHandler32_buttonPush() {
 }
 
 void sceneHandler32_installHandle() {
-	warning("STUB: sceneHandler32_installHandle()");
+	chainQueue(QU_SC32_SHOWHANDLE, 0);
+
+	g_vars->scene32_button->changeStatics2(ST_BTN32_ON);
 }
 
 void sceneHandler32_animateCactus() {
-	warning("STUB: sceneHandler32_animateCactus()");
+	if (g_fp->_aniMan->_statics->_staticsId != ST_MAN32_SIT)
+		chainQueue(QU_CTS_GROW, 1);
+	else
+		chainQueue(QU_CTS_GROWMAN, 1);
+
+	g_vars->scene32_var08 = -1;
+	g_vars->scene32_var10 = 1;
 }
 
 void sceneHandler32_ladderLogic(ExCommand *cmd) {


Commit: 7292a08b8a96fba418249db65614f5898c9f25c5
    https://github.com/scummvm/scummvm/commit/7292a08b8a96fba418249db65614f5898c9f25c5
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T06:43:33-08:00

Commit Message:
FULLPIPE: Implement sceneHandler32_buttonPush()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 9f2f888..532cfdc 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1086,7 +1086,9 @@ namespace Fullpipe {
 #define QU_KBK32_START 4982
 #define QU_SC32_ENTERLIFT 2827
 #define QU_SC32_EXITLIFT 2828
+#define QU_SC32_FALLHANDLE 5351
 #define QU_SC32_SHOWHANDLE 2399
+#define ST_BTN32_OFF 5349
 #define ST_BTN32_ON 5350
 #define ST_FLG_LEFT 2260
 #define ST_FLG_NORM 2259
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index fa0ad86..38a29d3 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -144,7 +144,15 @@ void sceneHandler32_trySit(ExCommand *cmd) {
 }
 
 void sceneHandler32_buttonPush() {
-	warning("STUB: sceneHandler32_buttonPush()");
+	if (g_fp->getObjectState(sO_ClockHandle) == g_fp->getObjectEnumState(sO_ClockHandle, sO_In_32_Sticks)) {
+		StaticANIObject *ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_INV_HANDLE, -1);
+		if (ani)
+			ani->changeStatics2(ST_HDL_PLUGGED);
+
+		chainQueue(QU_SC32_FALLHANDLE, 1);
+
+		g_vars->scene32_button->changeStatics2(ST_BTN32_OFF);
+	}
 }
 
 void sceneHandler32_installHandle() {


Commit: ae5389af8bd3b248b3bbbcbf8fd62284586b0d22
    https://github.com/scummvm/scummvm/commit/ae5389af8bd3b248b3bbbcbf8fd62284586b0d22
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T06:50:52-08:00

Commit Message:
FULLPIPE: Implement sceneHandler32_ladderLogic()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 532cfdc..21ae1d9 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1087,6 +1087,7 @@ namespace Fullpipe {
 #define QU_SC32_ENTERLIFT 2827
 #define QU_SC32_EXITLIFT 2828
 #define QU_SC32_FALLHANDLE 5351
+#define QU_SC32_FROMLADDER 4300
 #define QU_SC32_SHOWHANDLE 2399
 #define ST_BTN32_OFF 5349
 #define ST_BTN32_ON 5350
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 38a29d3..ac26cf4 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -172,7 +172,21 @@ void sceneHandler32_animateCactus() {
 }
 
 void sceneHandler32_ladderLogic(ExCommand *cmd) {
-	warning("STUB: sceneHandler32_ladderLogic(cmd)");
+	MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC32_FROMLADDER), 0, 0);
+
+	if (g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY) != PIC_SC32_LADDER)
+		mq->addExCommandToEnd(cmd->createClone());
+
+	mq->setFlags(mq->getFlags() | 1);
+
+	g_fp->_aniMan->changeStatics2(ST_MAN_STANDLADDER);
+	if (!mq->chain(g_fp->_aniMan))
+		delete mq;
+
+	g_vars->scene32_var09 = 0;
+
+	getCurrSceneSc2MotionController()->setEnabled();
+	getGameLoaderInteractionController()->enableFlag24();
 }
 
 void sceneHandler32_potLogic(ExCommand *cmd) {


Commit: d821719c47cc8fae2e52f9a673ac5662344794c8
    https://github.com/scummvm/scummvm/commit/d821719c47cc8fae2e52f9a673ac5662344794c8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T06:57:06-08:00

Commit Message:
FULLPIPE: Implement sceneHandler32_potLogic()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 21ae1d9..f0d978b 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1058,6 +1058,7 @@ namespace Fullpipe {
 #define ANI_BUTTON_32 5347
 #define ANI_CACTUS 2267
 #define ANI_FLAG 2257
+#define ANI_KADKA 2670
 #define ANI_TESTO_BLUE 2659
 #define ANI_TESTO_GREEN 2662
 #define ANI_TESTO_ORANGE 2656
@@ -1076,6 +1077,7 @@ namespace Fullpipe {
 #define MV_FLG_STARTR 2263
 #define MV_FLG_STOPL 2261
 #define MV_FLG_STOPR 2265
+#define MV_MAN32_STANDUP 2313
 #define MV_TSTG_FLOW 2663
 #define MV_TSTO_FLOW 2657
 #define PIC_SC32_LADDER 4296
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index ac26cf4..4f2b78f 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -190,7 +190,28 @@ void sceneHandler32_ladderLogic(ExCommand *cmd) {
 }
 
 void sceneHandler32_potLogic(ExCommand *cmd) {
-	warning("STUB: sceneHandler32_potLogic(cmd)");
+	if (g_vars->scene32_var08 < 0 || g_vars->scene32_var08 > 20) {
+		MessageQueue *mq = new MessageQueue(g_fp->_globalMessageQueueList->compact());
+
+		ExCommand *ex = new ExCommand(ANI_MAN, 1, MV_MAN32_STANDUP, 0, 0, 0, 1, 0, 0, 0);
+
+		ex->_excFlags |= 2;
+
+		mq->addExCommandToEnd(ex);
+
+		StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+
+		if (!ani || ani->_id != ANI_KADKA)
+			mq->addExCommandToEnd(cmd->createClone());
+
+		mq->setFlags(mq->getFlags() | 1);
+		mq->chain(0);
+
+		getCurrSceneSc2MotionController()->setEnabled();
+		getGameLoaderInteractionController()->enableFlag24();
+
+		g_vars->scene32_var07 = 0;
+	}
 }
 
 int sceneHandler32(ExCommand *cmd) {


Commit: 929c868c5e1123a2e364e0c473b6a162dd122d80
    https://github.com/scummvm/scummvm/commit/929c868c5e1123a2e364e0c473b6a162dd122d80
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T07:09:57-08:00

Commit Message:
FULLPIPE: Implement sceneHandler32_spin()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index f0d978b..3df6ab3 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1071,6 +1071,7 @@ namespace Fullpipe {
 #define MSG_SC32_TRUBATOBACK 5181
 #define MSG_SC32_TRUBATOFRONT 5180
 #define MSG_SC32_TRYSIT 2294
+#define MV_CTS_DEFAULT 4299
 #define MV_FLG_CYCLEL 2262
 #define MV_FLG_CYCLER 2266
 #define MV_FLG_STARTL 2258
@@ -1082,10 +1083,12 @@ namespace Fullpipe {
 #define MV_TSTO_FLOW 2657
 #define PIC_SC32_LADDER 4296
 #define PIC_SC32_RTRUBA 2292
+#define QU_CTS_BACK 2415
 #define QU_CTS_GROW 2416
 #define QU_CTS_GROWMAN 2417
 #define QU_KBK32_GO 4977
 #define QU_KBK32_START 4982
+#define QU_KDK_DRIZZLE 4301
 #define QU_SC32_ENTERLIFT 2827
 #define QU_SC32_EXITLIFT 2828
 #define QU_SC32_FALLHANDLE 5351
@@ -1093,6 +1096,8 @@ namespace Fullpipe {
 #define QU_SC32_SHOWHANDLE 2399
 #define ST_BTN32_OFF 5349
 #define ST_BTN32_ON 5350
+#define ST_CTS_EMPTY 2269
+#define ST_CTS_GROWUP 2467
 #define ST_FLG_LEFT 2260
 #define ST_FLG_NORM 2259
 #define ST_FLG_RIGHT 2264
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 4f2b78f..b73dd99 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -122,7 +122,40 @@ void sceneHandler32_startCactus() {
 }
 
 void sceneHandler32_spin(ExCommand *cmd) {
-	warning("STUB: sceneHandler32_spin(cmd)");
+	MessageQueue *mq = g_fp->_globalMessageQueueList->getMessageQueueById(cmd->_parId);
+
+	if (!mq || !mq->getCount() <= 0)
+		return;
+
+	ExCommand *ex = mq->getExCommandByIndex(0);
+	ExCommand *newex;
+
+	if ((g_vars->scene32_cactus->_movement && g_vars->scene32_cactus->_movement->_id == MV_CTS_DEFAULT)
+		|| g_vars->scene32_cactus->_statics->_staticsId == ST_CTS_GROWUP) {
+		for (int i = 0; i < 12; i++) {
+			newex = ex->createClone();
+			newex->_excFlags |= 2;
+			mq->insertExCommandAt(1, newex);
+		}
+
+		g_vars->scene32_cactus->changeStatics2(ST_CTS_GROWUP);
+
+		chainQueue(QU_CTS_BACK, 1);
+
+		g_vars->scene32_var10 = 0;
+
+		return;
+	}
+
+	if (g_vars->scene32_cactus->_statics->_staticsId == ST_CTS_EMPTY && g_vars->scene32_var08 < 0) {
+		for (int i = 0; i < 2; i++) {
+			newex = ex->createClone();
+			newex->_excFlags |= 2;
+			mq->insertExCommandAt(1, newex);
+		}
+
+		chainQueue(QU_KDK_DRIZZLE, 0);
+	}
 }
 
 void sceneHandler32_startFlagLeft() {


Commit: b495a16812ead9bae573dbf1c31aea7fe9e1b134
    https://github.com/scummvm/scummvm/commit/b495a16812ead9bae573dbf1c31aea7fe9e1b134
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T07:14:57-08:00

Commit Message:
FULLPIPE: Implement sceneHandler32_trySit()

Changed paths:
    engines/fullpipe/constants.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 3df6ab3..aba3c61 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -1078,6 +1078,7 @@ namespace Fullpipe {
 #define MV_FLG_STARTR 2263
 #define MV_FLG_STOPL 2261
 #define MV_FLG_STOPR 2265
+#define MV_MAN32_SITDOWN 2276
 #define MV_MAN32_STANDUP 2313
 #define MV_TSTG_FLOW 2663
 #define MV_TSTO_FLOW 2657
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index b73dd99..4b463c4 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -173,7 +173,29 @@ void sceneHandler32_startFlagRight() {
 }
 
 void sceneHandler32_trySit(ExCommand *cmd) {
-	warning("STUB: sceneHandler32_trySit(cmd)");
+	MessageQueue *mq = g_fp->_globalMessageQueueList->getMessageQueueById(cmd->_parId);
+
+	if (!mq || !mq->getCount() <= 0)
+		return;
+
+	ExCommand *ex = mq->getExCommandByIndex(0);
+
+	if (g_vars->scene32_var10 || g_vars->scene32_cactus->_movement
+		|| g_vars->scene32_cactus->_statics->_staticsId != ST_CTS_EMPTY
+		|| (g_vars->scene32_var08 >= 0 && g_vars->scene32_var08 <= 20)) {
+		ex->_messageKind = 0;
+		ex->_excFlags |= 1;
+	} else {
+		ex->_parentId = ANI_MAN;
+		ex->_messageKind = 1;
+		ex->_messageNum = MV_MAN32_SITDOWN;
+		ex->_keyCode = g_fp->_aniMan->_okeyCode;
+
+		g_vars->scene32_var07 = 1;
+
+		getCurrSceneSc2MotionController()->clearEnabled();
+		getGameLoaderInteractionController()->disableFlag24();
+	}
 }
 
 void sceneHandler32_buttonPush() {


Commit: 9313c540afde6f06a91d247b2e2f2b7c0fb5a033
    https://github.com/scummvm/scummvm/commit/9313c540afde6f06a91d247b2e2f2b7c0fb5a033
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T07:20:15-08:00

Commit Message:
FULLPIPE: Started renames in scene32

Changed paths:
    engines/fullpipe/scenes.cpp
    engines/fullpipe/scenes.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 36a7191..ae5807f 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -313,12 +313,8 @@ Vars::Vars() {
 	scene31_cactus = 0;
 	scene31_plusMinus = 0;
 
-	scene32_var01 = 0;
-	scene32_var02 = 0;
-	scene32_var03 = 0;
-	scene32_var04 = 0;
-	scene32_var05 = 0;
-	scene32_var06 = 0;
+	scene32_flagIsWaving = false;
+	scene32_flagNeedsStopping = false;
 	scene32_var07 = 0;
 	scene32_var08 = -1;
 	scene32_var09 = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index c866e62..7b0b1b6 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -446,12 +446,8 @@ public:
 	StaticANIObject *scene31_cactus;
 	StaticANIObject *scene31_plusMinus;
 
-	int scene32_var01;
-	int scene32_var02;
-	int scene32_var03;
-	int scene32_var04;
-	int scene32_var05;
-	int scene32_var06;
+	bool scene32_flagIsWaving;
+	bool scene32_flagNeedsStopping;
 	int scene32_var07;
 	int scene32_var08;
 	int scene32_var09;
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 4b463c4..75f729a 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -37,12 +37,8 @@
 namespace Fullpipe {
 
 void scene32_initScene(Scene *sc) {
-	g_vars->scene32_var01 = 200;
-	g_vars->scene32_var02 = 200;
-	g_vars->scene32_var03 = 300;
-	g_vars->scene32_var04 = 300;
-	g_vars->scene32_var05 = 0;
-	g_vars->scene32_var06 = 0;
+	g_vars->scene32_flagIsWaving = false;
+	g_vars->scene32_flagNeedsStopping = false;
 	g_vars->scene32_var07 = 0;
 	g_vars->scene32_var08 = -1;
 	g_vars->scene32_var09 = 0;
@@ -162,14 +158,14 @@ void sceneHandler32_startFlagLeft() {
 	g_vars->scene32_flag->changeStatics2(ST_FLG_NORM);
 	g_vars->scene32_flag->startAnim(MV_FLG_STARTL, 0, -1);
 
-	g_vars->scene32_var05 = 1;
+	g_vars->scene32_flagIsWaving = true;
 }
 
 void sceneHandler32_startFlagRight() {
 	g_vars->scene32_flag->changeStatics2(ST_FLG_NORM);
 	g_vars->scene32_flag->startAnim(MV_FLG_STARTR, 0, -1);
 
-	g_vars->scene32_var05 = 1;
+	g_vars->scene32_flagIsWaving = true;
 }
 
 void sceneHandler32_trySit(ExCommand *cmd) {
@@ -307,8 +303,8 @@ int sceneHandler32(ExCommand *cmd) {
 		break;
 
 	case MSG_SC32_STOPFLAG:
-		g_vars->scene32_var05 = 0;
-		g_vars->scene32_var06 = 1;
+		g_vars->scene32_flagIsWaving = false;
+		g_vars->scene32_flagNeedsStopping = true;
 		break;
 
 	case MSG_SC32_SPIN:
@@ -354,28 +350,28 @@ int sceneHandler32(ExCommand *cmd) {
 		if (g_fp->_aniMan2) {
 			int x = g_fp->_aniMan2->_ox;
 
-			if (x < g_fp->_sceneRect.left + g_vars->scene32_var01)
-				g_fp->_currentScene->_x = x - g_vars->scene32_var03 - g_fp->_sceneRect.left;
+			if (x < g_fp->_sceneRect.left + 200)
+				g_fp->_currentScene->_x = x - 300 - g_fp->_sceneRect.left;
 
-			if (x > g_fp->_sceneRect.right - g_vars->scene32_var01)
-				g_fp->_currentScene->_x = x + g_vars->scene32_var03 - g_fp->_sceneRect.right;
+			if (x > g_fp->_sceneRect.right - 200)
+				g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right;
 		}
 
 		if (!g_vars->scene32_flag->_movement) {
-			if (g_vars->scene32_var05) {
+			if (g_vars->scene32_flagIsWaving) {
 				if (g_vars->scene32_flag->_statics->_staticsId == ST_FLG_RIGHT)
 					g_vars->scene32_flag->startAnim(MV_FLG_CYCLER, 0, -1);
 				else if (g_vars->scene32_flag->_statics->_staticsId == ST_FLG_LEFT)
 					g_vars->scene32_flag->startAnim(MV_FLG_CYCLEL, 0, -1);
 			}
 
-			if (g_vars->scene32_var06 && !g_vars->scene32_var05) {
+			if (g_vars->scene32_flagNeedsStopping && !g_vars->scene32_flagIsWaving) {
 				if (g_vars->scene32_flag->_statics->_staticsId == ST_FLG_RIGHT)
 					g_vars->scene32_flag->startAnim(MV_FLG_STOPR, 0, -1);
 				else if (g_vars->scene32_flag->_statics->_staticsId == ST_FLG_LEFT)
 					g_vars->scene32_flag->startAnim(MV_FLG_STOPL, 0, -1);
 
-				g_vars->scene32_var06 = 0;
+				g_vars->scene32_flagNeedsStopping = false;
 			}
 		}
 


Commit: 5e0236e7ad7157f67ca1eed6b4d28a959de5bc40
    https://github.com/scummvm/scummvm/commit/5e0236e7ad7157f67ca1eed6b4d28a959de5bc40
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-07T07:26:59-08:00

Commit Message:
FULLPIPE: Rename remaining vars in scene32. This completes the scene

Changed paths:
    engines/fullpipe/scenes.cpp
    engines/fullpipe/scenes.h
    engines/fullpipe/scenes/scene32.cpp



diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index ae5807f..08b3a0e 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -315,10 +315,10 @@ Vars::Vars() {
 
 	scene32_flagIsWaving = false;
 	scene32_flagNeedsStopping = false;
-	scene32_var07 = 0;
-	scene32_var08 = -1;
-	scene32_var09 = 0;
-	scene32_var10 = 0;
+	scene32_dudeIsSitting = false;
+	scene32_cactusCounter = -1;
+	scene32_dudeOnLadder = false;
+	scene32_cactusIsGrowing = false;
 	scene32_flag = 0;
 	scene32_cactus = 0;
 	scene32_massOrange = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 7b0b1b6..ec3602e 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -448,10 +448,10 @@ public:
 
 	bool scene32_flagIsWaving;
 	bool scene32_flagNeedsStopping;
-	int scene32_var07;
-	int scene32_var08;
-	int scene32_var09;
-	int scene32_var10;
+	bool scene32_dudeIsSitting;
+	int scene32_cactusCounter;
+	bool scene32_dudeOnLadder;
+	bool scene32_cactusIsGrowing;
 	StaticANIObject *scene32_flag;
 	StaticANIObject *scene32_cactus;
 	StaticANIObject *scene32_massOrange;
diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp
index 75f729a..8d462fb 100644
--- a/engines/fullpipe/scenes/scene32.cpp
+++ b/engines/fullpipe/scenes/scene32.cpp
@@ -39,10 +39,10 @@ namespace Fullpipe {
 void scene32_initScene(Scene *sc) {
 	g_vars->scene32_flagIsWaving = false;
 	g_vars->scene32_flagNeedsStopping = false;
-	g_vars->scene32_var07 = 0;
-	g_vars->scene32_var08 = -1;
-	g_vars->scene32_var09 = 0;
-	g_vars->scene32_var10 = 0;
+	g_vars->scene32_dudeIsSitting = false;
+	g_vars->scene32_cactusCounter = -1;
+	g_vars->scene32_dudeOnLadder = false;
+	g_vars->scene32_cactusIsGrowing = false;
 	g_vars->scene32_flag = sc->getStaticANIObject1ById(ANI_FLAG, -1);
 	g_vars->scene32_cactus = sc->getStaticANIObject1ById(ANI_CACTUS, -1);
 	g_vars->scene32_massOrange = sc->getStaticANIObject1ById(ANI_TESTO_ORANGE, -1);
@@ -102,7 +102,7 @@ int scene32_updateCursor() {
 	g_fp->updateCursorCommon();
 
 	if (g_fp->_objectIdAtCursor == PIC_SC32_LADDER && g_fp->_cursorId == PIC_CSR_ITN)
-		g_fp->_cursorId = g_vars->scene32_var09 ? PIC_CSR_GOD : PIC_CSR_GOU; // TODO FIXME doublecheck
+		g_fp->_cursorId = g_vars->scene32_dudeOnLadder ? PIC_CSR_GOD : PIC_CSR_GOU; // TODO FIXME doublecheck
 
 	return g_fp->_cursorId;
 }
@@ -113,8 +113,8 @@ void sceneHandler32_tryCube() {
 }
 
 void sceneHandler32_startCactus() {
-	g_vars->scene32_var08 = 48;
-	g_vars->scene32_var10 = 0;
+	g_vars->scene32_cactusCounter = 48;
+	g_vars->scene32_cactusIsGrowing = false;
 }
 
 void sceneHandler32_spin(ExCommand *cmd) {
@@ -138,12 +138,12 @@ void sceneHandler32_spin(ExCommand *cmd) {
 
 		chainQueue(QU_CTS_BACK, 1);
 
-		g_vars->scene32_var10 = 0;
+		g_vars->scene32_cactusIsGrowing = false;
 
 		return;
 	}
 
-	if (g_vars->scene32_cactus->_statics->_staticsId == ST_CTS_EMPTY && g_vars->scene32_var08 < 0) {
+	if (g_vars->scene32_cactus->_statics->_staticsId == ST_CTS_EMPTY && g_vars->scene32_cactusCounter < 0) {
 		for (int i = 0; i < 2; i++) {
 			newex = ex->createClone();
 			newex->_excFlags |= 2;
@@ -176,9 +176,9 @@ void sceneHandler32_trySit(ExCommand *cmd) {
 
 	ExCommand *ex = mq->getExCommandByIndex(0);
 
-	if (g_vars->scene32_var10 || g_vars->scene32_cactus->_movement
+	if (g_vars->scene32_cactusIsGrowing || g_vars->scene32_cactus->_movement
 		|| g_vars->scene32_cactus->_statics->_staticsId != ST_CTS_EMPTY
-		|| (g_vars->scene32_var08 >= 0 && g_vars->scene32_var08 <= 20)) {
+		|| (g_vars->scene32_cactusCounter >= 0 && g_vars->scene32_cactusCounter <= 20)) {
 		ex->_messageKind = 0;
 		ex->_excFlags |= 1;
 	} else {
@@ -187,7 +187,7 @@ void sceneHandler32_trySit(ExCommand *cmd) {
 		ex->_messageNum = MV_MAN32_SITDOWN;
 		ex->_keyCode = g_fp->_aniMan->_okeyCode;
 
-		g_vars->scene32_var07 = 1;
+		g_vars->scene32_dudeIsSitting = true;
 
 		getCurrSceneSc2MotionController()->clearEnabled();
 		getGameLoaderInteractionController()->disableFlag24();
@@ -218,8 +218,8 @@ void sceneHandler32_animateCactus() {
 	else
 		chainQueue(QU_CTS_GROWMAN, 1);
 
-	g_vars->scene32_var08 = -1;
-	g_vars->scene32_var10 = 1;
+	g_vars->scene32_cactusCounter = -1;
+	g_vars->scene32_cactusIsGrowing = true;
 }
 
 void sceneHandler32_ladderLogic(ExCommand *cmd) {
@@ -234,14 +234,14 @@ void sceneHandler32_ladderLogic(ExCommand *cmd) {
 	if (!mq->chain(g_fp->_aniMan))
 		delete mq;
 
-	g_vars->scene32_var09 = 0;
+	g_vars->scene32_dudeOnLadder = false;
 
 	getCurrSceneSc2MotionController()->setEnabled();
 	getGameLoaderInteractionController()->enableFlag24();
 }
 
 void sceneHandler32_potLogic(ExCommand *cmd) {
-	if (g_vars->scene32_var08 < 0 || g_vars->scene32_var08 > 20) {
+	if (g_vars->scene32_cactusCounter < 0 || g_vars->scene32_cactusCounter > 20) {
 		MessageQueue *mq = new MessageQueue(g_fp->_globalMessageQueueList->compact());
 
 		ExCommand *ex = new ExCommand(ANI_MAN, 1, MV_MAN32_STANDUP, 0, 0, 0, 1, 0, 0, 0);
@@ -261,7 +261,7 @@ void sceneHandler32_potLogic(ExCommand *cmd) {
 		getCurrSceneSc2MotionController()->setEnabled();
 		getGameLoaderInteractionController()->enableFlag24();
 
-		g_vars->scene32_var07 = 0;
+		g_vars->scene32_dudeIsSitting = false;
 	}
 }
 
@@ -328,7 +328,7 @@ int sceneHandler32(ExCommand *cmd) {
 		break;
 
 	case MSG_SC32_ONLADDER:
-		g_vars->scene32_var09 = 1;
+		g_vars->scene32_dudeOnLadder = true;
 
 		getCurrSceneSc2MotionController()->clearEnabled();
 		getGameLoaderInteractionController()->disableFlag24();
@@ -375,9 +375,9 @@ int sceneHandler32(ExCommand *cmd) {
 			}
 		}
 
-		if (g_vars->scene32_var08) {
-			if (g_vars->scene32_var08 > 0)
-				--g_vars->scene32_var08;
+		if (g_vars->scene32_cactusCounter) {
+			if (g_vars->scene32_cactusCounter > 0)
+				--g_vars->scene32_cactusCounter;
 
 			g_fp->_behaviorManager->updateBehaviors();
 
@@ -393,13 +393,13 @@ int sceneHandler32(ExCommand *cmd) {
 		break;
 
 	case 29:
-		if (g_vars->scene32_var09) {
+		if (g_vars->scene32_dudeOnLadder) {
 			sceneHandler32_ladderLogic(cmd);
 			cmd->_messageKind = 0;
 			break;
 		}
 
-		if (!g_vars->scene32_var07 || g_fp->_aniMan->_movement) {
+		if (!g_vars->scene32_dudeIsSitting || g_fp->_aniMan->_movement) {
 			StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
 
 			if (ani && ani->_id == ANI_LIFTBUTTON) {
@@ -417,7 +417,7 @@ int sceneHandler32(ExCommand *cmd) {
 			break;
 		}
 
-		if (!g_vars->scene32_var10)
+		if (!g_vars->scene32_cactusIsGrowing)
 			sceneHandler32_potLogic(cmd);
 
 		cmd->_messageKind = 0;






More information about the Scummvm-git-logs mailing list