[Scummvm-cvs-logs] scummvm master -> 389d1f3fe5d1da0d735eed856510f20e4e46d0b9
sev-
sev at scummvm.org
Thu Jan 2 14:22:50 CET 2014
This automated email contains information about 19 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
36b1b40cc7 FULLPIPE: Initial code for scene31
a4ff43d417 FULLPIPE: Plug scene31 in
1d865fd826 FULLPIPE: Implement sceneHandler31()
c2493c0690 FULLPIPE: Implement sceneHandler31_testCactus()
3ccecb9f8e FULLPIPE: Rename vars in scene31
6b87e3b013 FULLPIPE: Enable scene31. This completes the scene
3da549630e FULLPIPE: Initial code for scene30
ff6cbe625b FULLPIPE: Plug scene30 in
b2fe937db5 FULLPIPE: Implement scene30_enablePass()
39b83756b8 FULLPIPE: Implement scene30_updateCursor()
64b001e869 FULLPIPE: Implement sceneHandler30()
8deb6908e2 FULLPIPE: Rename vars in scene30
3f7077a251 FULLPIPE: Enable scene30. This completes the scene
f7235b8a4c FULLPIPE: Initial code for scene36
85420834b5 FULLPIPE: Plug scene36 in
3d949b1bdf FULLPIPE: Implement scene36_updateCursor()
fcae83afad FULLPIPE: Implement sceneHandler36()
b6f4bce10c FULLPIPE: Rename vars in scene36
389d1f3fe5 FULLPIPE: Enable scene36. This completes the scene
Commit: 36b1b40cc7bbba6cd9ff352424d693c8a1356c08
https://github.com/scummvm/scummvm/commit/36b1b40cc7bbba6cd9ff352424d693c8a1356c08
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:05:34-08:00
Commit Message:
FULLPIPE: Initial code for scene31
Changed paths:
A engines/fullpipe/scenes/scene31.cpp
diff --git a/engines/fullpipe/scenes/scene31.cpp b/engines/fullpipe/scenes/scene31.cpp
new file mode 100644
index 0000000..b033b88
--- /dev/null
+++ b/engines/fullpipe/scenes/scene31.cpp
@@ -0,0 +1,67 @@
+/* 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 scene31_initScene(Scene *sc) {
+ g_vars->scene31_var01 = 200;
+ g_vars->scene31_var02 = 200;
+ g_vars->scene31_var03 = 300;
+ g_vars->scene31_var04 = 300;
+ g_vars->scene31_var05 = 0;
+ g_vars->scene31_cactus = sc->getStaticANIObject1ById(ANI_CACTUS_31, -1);
+
+ if (g_fp->getObjectState(sO_Cactus) == g_fp->getObjectEnumState(sO_Cactus, sO_HasGrown)) {
+ Scene *oldsc = g_fp->_currentScene;
+ g_fp->_currentScene = sc;
+
+ g_vars->scene31_cactus->changeStatics2(ST_CTS31_GROWN2);
+ g_vars->scene31_cactus->_priority = 22;
+
+ g_fp->_currentScene = oldsc;
+ } else {
+ g_vars->scene31_cactus->hide();
+ }
+
+ g_vars->scene31_plusMinus = sc->getStaticANIObject1ById(ANI_PLUSMINUS, -1);
+
+ if (g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_Off))
+ g_vars->scene31_plusMinus->_statics = g_vars->scene31_plusMinus->getStaticsById(ST_PMS_MINUS);
+ else
+ g_vars->scene31_plusMinus->_statics = g_vars->scene31_plusMinus->getStaticsById(ST_PMS_PLUS);
+}
+
+} // End of namespace Fullpipe
Commit: a4ff43d4173dd06fcc8cc4fe034e7d7928ba677e
https://github.com/scummvm/scummvm/commit/a4ff43d4173dd06fcc8cc4fe034e7d7928ba677e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:07:11-08:00
Commit Message:
FULLPIPE: Plug scene31 in
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/module.mk
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index e85ed20..63efe7c 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -747,6 +747,10 @@ namespace Fullpipe {
#define ST_DRP24_EMPTY 3507
#define ST_WTR24_FLOWLOWER 1843
+// Scene 31
+#define ANI_CACTUS_31 2456
+#define ST_CTS31_GROWN2 2472
+
// Debug scene
#define PIC_SCD_1 727
#define PIC_SCD_2 728
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 75b34dc..39e20ee 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -42,6 +42,7 @@ MODULE_OBJS = \
scenes/scene17.o \
scenes/scene21.o \
scenes/scene24.o \
+ scenes/scene31.o \
scenes/sceneDbg.o \
scenes/sceneIntro.o
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 104d078..783db9c 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -261,6 +261,14 @@ Vars::Vars() {
scene24_jet = 0;
scene24_drop = 0;
+ scene31_var01 = 0;
+ scene31_var02 = 0;
+ scene31_var03 = 0;
+ scene31_var04 = 0;
+ scene31_var05 = 0;
+ scene31_cactus = 0;
+ scene31_plusMinus = 0;
+
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 8b5e6c2..91ea142 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -351,6 +351,14 @@ public:
StaticANIObject *scene24_jet;
StaticANIObject *scene24_drop;
+ int scene31_var01;
+ int scene31_var02;
+ int scene31_var03;
+ int scene31_var04;
+ int scene31_var05;
+ StaticANIObject *scene31_cactus;
+ StaticANIObject *scene31_plusMinus;
+
PictureObject *selector;
};
Commit: 1d865fd826339f17ce1f94f33e7f5ee9ac1a3f15
https://github.com/scummvm/scummvm/commit/1d865fd826339f17ce1f94f33e7f5ee9ac1a3f15
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:15:55-08:00
Commit Message:
FULLPIPE: Implement sceneHandler31()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene31.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 63efe7c..44f42ad 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -749,6 +749,9 @@ namespace Fullpipe {
// Scene 31
#define ANI_CACTUS_31 2456
+#define MSG_SC31_PULL 2944
+#define MSG_SC31_TESTCACTUS 5095
+#define SND_31_001 4377
#define ST_CTS31_GROWN2 2472
// Debug scene
diff --git a/engines/fullpipe/scenes/scene31.cpp b/engines/fullpipe/scenes/scene31.cpp
index b033b88..30763c0 100644
--- a/engines/fullpipe/scenes/scene31.cpp
+++ b/engines/fullpipe/scenes/scene31.cpp
@@ -64,4 +64,57 @@ void scene31_initScene(Scene *sc) {
g_vars->scene31_plusMinus->_statics = g_vars->scene31_plusMinus->getStaticsById(ST_PMS_PLUS);
}
+void sceneHandler31_testCactus(ExCommand *cmd) {
+ warning("STUB: sceneHandler31_testCactus");
+}
+
+int sceneHandler31(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch (cmd->_messageNum) {
+ case MSG_SC31_TESTCACTUS:
+ sceneHandler31_testCactus(cmd);
+ break;
+
+ case MSG_SC15_STOPCHANTING:
+ g_fp->stopAllSoundInstances(SND_31_001);
+
+ g_vars->scene31_var05 = 120;
+ break;
+
+ case MSG_SC31_PULL:
+ if ( g_vars->scene31_plusMinus->_statics->_staticsId == ST_PMS_MINUS)
+ g_vars->scene31_plusMinus->_statics = g_vars->scene31_plusMinus->getStaticsById(ST_PMS_PLUS);
+ else
+ g_vars->scene31_plusMinus->_statics = g_vars->scene31_plusMinus->getStaticsById(ST_PMS_MINUS);
+
+ break;
+
+ case 33:
+ if (g_fp->_aniMan2) {
+ int x = g_fp->_aniMan2->_ox;
+
+ if (x < g_fp->_sceneRect.left + g_vars->scene31_var01)
+ g_fp->_currentScene->_x = x - g_vars->scene31_var03 - g_fp->_sceneRect.left;
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene31_var01)
+ g_fp->_currentScene->_x = x + g_vars->scene31_var03 - g_fp->_sceneRect.right;
+ }
+
+ if (g_vars->scene31_var05 > 0) {
+ --g_vars->scene31_var05;
+
+ if (!g_vars->scene31_var05)
+ g_fp->playSound(SND_31_001, 1);
+ }
+
+ g_fp->_behaviorManager->updateBehaviors();
+
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: c2493c0690b3e3bb9ace7f9bfcdc0a1e8c838053
https://github.com/scummvm/scummvm/commit/c2493c0690b3e3bb9ace7f9bfcdc0a1e8c838053
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:22:30-08:00
Commit Message:
FULLPIPE: Implement sceneHandler31_testCactus()
Changed paths:
engines/fullpipe/scenes/scene31.cpp
diff --git a/engines/fullpipe/scenes/scene31.cpp b/engines/fullpipe/scenes/scene31.cpp
index 30763c0..9874772 100644
--- a/engines/fullpipe/scenes/scene31.cpp
+++ b/engines/fullpipe/scenes/scene31.cpp
@@ -65,7 +65,17 @@ void scene31_initScene(Scene *sc) {
}
void sceneHandler31_testCactus(ExCommand *cmd) {
- warning("STUB: sceneHandler31_testCactus");
+ if ((g_vars->scene31_cactus->_flags & 4) && g_vars->scene31_cactus->_statics->_staticsId == ST_CTS31_GROWN2) {
+ MessageQueue *mq = g_fp->_globalMessageQueueList->getMessageQueueById(cmd->_parId);
+
+ if (mq) {
+ mq->getExCommandByIndex(0)->_messageKind = 0;
+ mq->getExCommandByIndex(0)->_excFlags |= 1;
+
+ mq->getExCommandByIndex(1)->_messageKind = 0;
+ mq->getExCommandByIndex(1)->_excFlags |= 1;
+ }
+ }
}
int sceneHandler31(ExCommand *cmd) {
Commit: 3ccecb9f8e4962e7ac17e6cfa85c7841443fd854
https://github.com/scummvm/scummvm/commit/3ccecb9f8e4962e7ac17e6cfa85c7841443fd854
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:24:30-08:00
Commit Message:
FULLPIPE: Rename vars in scene31
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene31.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 783db9c..69986ab 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -261,11 +261,7 @@ Vars::Vars() {
scene24_jet = 0;
scene24_drop = 0;
- scene31_var01 = 0;
- scene31_var02 = 0;
- scene31_var03 = 0;
- scene31_var04 = 0;
- scene31_var05 = 0;
+ scene31_chantingCountdown = 0;
scene31_cactus = 0;
scene31_plusMinus = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 91ea142..66bc0cf 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -351,11 +351,7 @@ public:
StaticANIObject *scene24_jet;
StaticANIObject *scene24_drop;
- int scene31_var01;
- int scene31_var02;
- int scene31_var03;
- int scene31_var04;
- int scene31_var05;
+ int scene31_chantingCountdown;
StaticANIObject *scene31_cactus;
StaticANIObject *scene31_plusMinus;
diff --git a/engines/fullpipe/scenes/scene31.cpp b/engines/fullpipe/scenes/scene31.cpp
index 9874772..587fc6a 100644
--- a/engines/fullpipe/scenes/scene31.cpp
+++ b/engines/fullpipe/scenes/scene31.cpp
@@ -37,11 +37,7 @@
namespace Fullpipe {
void scene31_initScene(Scene *sc) {
- g_vars->scene31_var01 = 200;
- g_vars->scene31_var02 = 200;
- g_vars->scene31_var03 = 300;
- g_vars->scene31_var04 = 300;
- g_vars->scene31_var05 = 0;
+ g_vars->scene31_chantingCountdown = 0;
g_vars->scene31_cactus = sc->getStaticANIObject1ById(ANI_CACTUS_31, -1);
if (g_fp->getObjectState(sO_Cactus) == g_fp->getObjectEnumState(sO_Cactus, sO_HasGrown)) {
@@ -90,7 +86,7 @@ int sceneHandler31(ExCommand *cmd) {
case MSG_SC15_STOPCHANTING:
g_fp->stopAllSoundInstances(SND_31_001);
- g_vars->scene31_var05 = 120;
+ g_vars->scene31_chantingCountdown = 120;
break;
case MSG_SC31_PULL:
@@ -105,17 +101,17 @@ int sceneHandler31(ExCommand *cmd) {
if (g_fp->_aniMan2) {
int x = g_fp->_aniMan2->_ox;
- if (x < g_fp->_sceneRect.left + g_vars->scene31_var01)
- g_fp->_currentScene->_x = x - g_vars->scene31_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->scene31_var01)
- g_fp->_currentScene->_x = x + g_vars->scene31_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->scene31_var05 > 0) {
- --g_vars->scene31_var05;
+ if (g_vars->scene31_chantingCountdown > 0) {
+ --g_vars->scene31_chantingCountdown;
- if (!g_vars->scene31_var05)
+ if (!g_vars->scene31_chantingCountdown)
g_fp->playSound(SND_31_001, 1);
}
Commit: 6b87e3b01365879673558ace85287fc88d857f34
https://github.com/scummvm/scummvm/commit/6b87e3b01365879673558ace85287fc88d857f34
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:25:48-08:00
Commit Message:
FULLPIPE: Enable scene31. This completes the scene
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 69986ab..a86e86e 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -772,6 +772,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
addMessageHandler(sceneHandler30, 2);
_updateCursorCallback = scene30_updateCursor;
break;
+#endif
case SC_31:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_31");
@@ -784,6 +785,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = defaultUpdateCursor;
break;
+#if 0
case SC_32:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_32");
scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 66bc0cf..a39c1cc 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -109,6 +109,9 @@ void scene24_initScene(Scene *sc);
void scene24_setPoolState();
int sceneHandler24(ExCommand *cmd);
+void scene31_initScene(Scene *sc);
+int sceneHandler31(ExCommand *ex);
+
void sceneDbgMenu_initScene(Scene *sc);
int sceneHandlerDbgMenu(ExCommand *cmd);
Commit: 3da549630e0af5f1fbc39654c00b0346d3dc28be
https://github.com/scummvm/scummvm/commit/3da549630e0af5f1fbc39654c00b0346d3dc28be
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:39:43-08:00
Commit Message:
FULLPIPE: Initial code for scene30
Changed paths:
A engines/fullpipe/scenes/scene30.cpp
engines/fullpipe/objectnames.h
diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h
index 871ca5d..928fcad 100644
--- a/engines/fullpipe/objectnames.h
+++ b/engines/fullpipe/objectnames.h
@@ -32,7 +32,7 @@ namespace Fullpipe {
#define sO_Pool "\xc1\xe0\xf1\xf1\xe5\xe9\xed" // "Бассейн"
#define sO_TummyTrampie "\xc1\xe0\xf2\xf3\xf2\xe0" // "Батута"
#define sO_WithoutBoot "\xc1\xe5\xe7 \xe1\xee\xf2\xe8\xed\xea\xe0" // "Без ботинка"
-#define sO_WithoutJug "\xc1\xe5\xe7 \xe3\xee\xf0\xf8\xea\xee\xe2" // "Без горшков"
+#define sO_WithoutJugs "\xc1\xe5\xe7 \xe3\xee\xf0\xf8\xea\xee\xe2" // "Без горшков"
#define sO_WithoutCarpet "\xc1\xe5\xe7 \xea\xee\xe2\xf0\xe8\xea\xe0" // "Без коврика"
#define sO_WithoutCoin "\xc1\xe5\xe7 \xec\xee\xed\xe5\xf2\xfb" // "Без монеты"
#define sO_WithNothing "\xc1\xe5\xe7 \xed\xe8\xf7\xe5\xe3\xee" // "Без ничего"
@@ -190,7 +190,7 @@ namespace Fullpipe {
#define sO_WithJug "\xd1 \xe3\xee\xf0\xf8\xea\xee\xec" // "С горшком"
#define sO_WithGum "\xd1 \xe6\xe2\xe0\xf7\xea\xee\xe9" // "С жвачкой"
#define sO_WithShovel "\xd1 \xeb\xee\xef\xe0\xf2\xee\xe9" // "С лопатой"
-#define sO_WithTiny "\xd1 \xec\xe0\xeb\xfb\xec" // "С малым"
+#define sO_WithSmall "\xd1 \xec\xe0\xeb\xfb\xec" // "С малым"
#define sO_WithHammer "\xd1 \xec\xee\xeb\xee\xf2\xea\xee\xec" // "С молотком"
#define sO_WithCoin "\xd1 \xec\xee\xed\xe5\xf2\xee\xe9" // "С монетой"
#define sO_WithSock "\xd1 \xed\xee\xf1\xea\xee\xec" // "С носком"
@@ -204,7 +204,7 @@ namespace Fullpipe {
#define sO_IsFree "\xd1\xe2\xee\xe1\xee\xe4\xed\xe0" // "Свободна"
#define sO_IsSitting "\xd1\xe8\xe4\xe8\xf2" // "Сидит"
#define sO_IsLaughing "\xd1\xec\xe5\xe5\xf2\xf1\xff" // "Смеется"
-#define sO_WithEveryone "\xd1\xee \xe2\xf1\xe5\xec\xe8" // "Со всеми"
+#define sO_WithAll "\xd1\xee \xe2\xf1\xe5\xec\xe8" // "Со всеми"
#define sO_WithMop "\xd1\xee \xf8\xe2\xe0\xe1\xf0\xee\xe9" // "Со шваброй"
#define sO_WithHose "\xd1\xee \xf8\xeb\xe0\xed\xe3\xee\xec" // "Со шлангом"
#define sO_WithBrush "\xd1\xee \xf9\xe5\xf2\xea\xee\xe9" // "Со щеткой"
diff --git a/engines/fullpipe/scenes/scene30.cpp b/engines/fullpipe/scenes/scene30.cpp
new file mode 100644
index 0000000..125f8a9
--- /dev/null
+++ b/engines/fullpipe/scenes/scene30.cpp
@@ -0,0 +1,79 @@
+/* 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 scene30_enablePass(Scene *sc) {
+ warning("STUB: scene30_enablePass()");
+}
+
+void scene30_initScene(Scene *sc, int flag) {
+ g_vars->scene30_var01 = 200;
+ g_vars->scene30_var02 = 200;
+ g_vars->scene30_var03 = 300;
+ g_vars->scene30_var04 = 300;
+
+ Scene *oldsc = g_fp->_currentScene;
+
+ g_vars->scene30_leg = sc->getStaticANIObject1ById(ANI_LEG, -1);
+ g_fp->_currentScene = sc;
+
+ if (g_fp->getObjectState(sO_Leg) == g_fp->getObjectEnumState(sO_Leg, sO_ShowingHeel))
+ g_vars->scene30_leg->changeStatics2(ST_LEG_UP);
+ else if (g_fp->getObjectState(sO_Leg) == g_fp->getObjectEnumState(sO_Leg, sO_WithoutJugs))
+ g_vars->scene30_leg->changeStatics2(ST_LEG_DOWN);
+ else if (g_fp->getObjectState(sO_Leg) == g_fp->getObjectEnumState(sO_Leg, sO_WithBig))
+ g_vars->scene30_leg->changeStatics2(ST_LEG_DOWN1);
+ else if (g_fp->getObjectState(sO_Leg) == g_fp->getObjectEnumState(sO_Leg, sO_WithSmall))
+ g_vars->scene30_leg->changeStatics2(ST_LEG_DOWN2);
+ else if (g_fp->getObjectState(sO_Leg) == g_fp->getObjectEnumState(sO_Leg, sO_WithAll))
+ g_vars->scene30_leg->changeStatics2(ST_LEG_EMPTY);
+
+ g_fp->_currentScene = oldsc;
+
+ scene30_enablePass(sc);
+
+ if (flag == LiftUp || flag == LiftDown)
+ g_vars->scene30_var05 = 0;
+ else
+ g_vars->scene30_var05 = 1;
+
+ g_fp->lift_setButton(sO_Level8, ST_LBN_8N);
+
+ g_fp->lift_sub5(sc, QU_SC30_ENTERLIFT, QU_SC30_EXITLIFT);
+}
+
+} // End of namespace Fullpipe
Commit: ff6cbe625b31c2fee34282dc4f22932cc112b28a
https://github.com/scummvm/scummvm/commit/ff6cbe625b31c2fee34282dc4f22932cc112b28a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:44:57-08:00
Commit Message:
FULLPIPE: Plug scene30 in
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/module.mk
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 44f42ad..28eee39 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -747,7 +747,19 @@ namespace Fullpipe {
#define ST_DRP24_EMPTY 3507
#define ST_WTR24_FLOWLOWER 1843
+// Scene 30
+#define ANI_LEG 2322
+#define QU_SC30_ENTERLIFT 2823
+#define QU_SC30_EXITLIFT 2824
+#define ST_LEG_DOWN 2325
+#define ST_LEG_DOWN1 2330
+#define ST_LEG_DOWN2 2334
+#define ST_LEG_EMPTY 2338
+#define ST_LEG_UP 2324
+
// Scene 31
+#define LiftDown 1058
+#define LiftUp 1057
#define ANI_CACTUS_31 2456
#define MSG_SC31_PULL 2944
#define MSG_SC31_TESTCACTUS 5095
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 39e20ee..aa18924 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -42,6 +42,7 @@ MODULE_OBJS = \
scenes/scene17.o \
scenes/scene21.o \
scenes/scene24.o \
+ scenes/scene30.o \
scenes/scene31.o \
scenes/sceneDbg.o \
scenes/sceneIntro.o
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index a86e86e..0a95b5e 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -261,6 +261,13 @@ Vars::Vars() {
scene24_jet = 0;
scene24_drop = 0;
+ scene30_var01 = 0;
+ scene30_var02 = 0;
+ scene30_var03 = 0;
+ scene30_var04 = 0;
+ scene30_leg = 0;
+ scene30_var05 = 0;
+
scene31_chantingCountdown = 0;
scene31_cactus = 0;
scene31_plusMinus = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index a39c1cc..296e3d1 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -354,6 +354,13 @@ public:
StaticANIObject *scene24_jet;
StaticANIObject *scene24_drop;
+ int scene30_var01;
+ int scene30_var02;
+ int scene30_var03;
+ int scene30_var04;
+ StaticANIObject *scene30_leg;
+ int scene30_var05;
+
int scene31_chantingCountdown;
StaticANIObject *scene31_cactus;
StaticANIObject *scene31_plusMinus;
Commit: b2fe937db5f54499676c860761360ea17df5c8f2
https://github.com/scummvm/scummvm/commit/b2fe937db5f54499676c860761360ea17df5c8f2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:47:47-08:00
Commit Message:
FULLPIPE: Implement scene30_enablePass()
Changed paths:
engines/fullpipe/scenes/scene30.cpp
diff --git a/engines/fullpipe/scenes/scene30.cpp b/engines/fullpipe/scenes/scene30.cpp
index 125f8a9..ace3ce0 100644
--- a/engines/fullpipe/scenes/scene30.cpp
+++ b/engines/fullpipe/scenes/scene30.cpp
@@ -37,7 +37,12 @@
namespace Fullpipe {
void scene30_enablePass(Scene *sc) {
- warning("STUB: scene30_enablePass()");
+ MovGraphLink *lnk = getSc2MctlCompoundBySceneId(sc->_sceneId)->getLinkByName(sO_WayToPipe);
+
+ if (g_fp->getObjectState(sO_Leg) == g_fp->getObjectEnumState(sO_Leg, sO_WithAll))
+ lnk->_flags &= 0xDFFFFFFF;
+ else
+ lnk->_flags |= 0x20000000;
}
void scene30_initScene(Scene *sc, int flag) {
Commit: 39b83756b8ecb380c01add00c137ef4765605191
https://github.com/scummvm/scummvm/commit/39b83756b8ecb380c01add00c137ef4765605191
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:49:35-08:00
Commit Message:
FULLPIPE: Implement scene30_updateCursor()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene30.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 28eee39..09fe970 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -749,6 +749,7 @@ namespace Fullpipe {
// Scene 30
#define ANI_LEG 2322
+#define PIC_SC30_LTRUBA 2354
#define QU_SC30_ENTERLIFT 2823
#define QU_SC30_EXITLIFT 2824
#define ST_LEG_DOWN 2325
diff --git a/engines/fullpipe/scenes/scene30.cpp b/engines/fullpipe/scenes/scene30.cpp
index ace3ce0..51f6866 100644
--- a/engines/fullpipe/scenes/scene30.cpp
+++ b/engines/fullpipe/scenes/scene30.cpp
@@ -81,4 +81,13 @@ void scene30_initScene(Scene *sc, int flag) {
g_fp->lift_sub5(sc, QU_SC30_ENTERLIFT, QU_SC30_EXITLIFT);
}
+int scene30_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_cursorId == PIC_CSR_ITN && g_fp->_objectIdAtCursor == PIC_SC30_LTRUBA) {
+ g_fp->_cursorId = PIC_CSR_GOL;
+ }
+ return g_fp->_cursorId;
+}
+
} // End of namespace Fullpipe
Commit: 64b001e8697bcc87d9bdbed6acddabc05277b747
https://github.com/scummvm/scummvm/commit/64b001e8697bcc87d9bdbed6acddabc05277b747
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T03:59:11-08:00
Commit Message:
FULLPIPE: Implement sceneHandler30()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene30.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 09fe970..127c380 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -749,6 +749,7 @@ namespace Fullpipe {
// Scene 30
#define ANI_LEG 2322
+#define MSG_SC30_UPDATEPATH 2358
#define PIC_SC30_LTRUBA 2354
#define QU_SC30_ENTERLIFT 2823
#define QU_SC30_EXITLIFT 2824
diff --git a/engines/fullpipe/scenes/scene30.cpp b/engines/fullpipe/scenes/scene30.cpp
index 51f6866..13e9477 100644
--- a/engines/fullpipe/scenes/scene30.cpp
+++ b/engines/fullpipe/scenes/scene30.cpp
@@ -90,4 +90,68 @@ int scene30_updateCursor() {
return g_fp->_cursorId;
}
+int sceneHandler30(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_LIFT_CLICKBUTTON:
+ g_fp->lift_animation3();
+ break;
+
+ case MSG_SC30_UPDATEPATH:
+ scene30_enablePass(g_fp->_currentScene);
+ break;
+
+ case 64:
+ g_fp->lift_sub05(cmd);
+ break;
+
+ case MSG_LIFT_GO:
+ g_fp->lift_goAnimation();
+ break;
+
+ case 29:
+ {
+ StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(g_fp->_sceneRect.left + cmd->_x, g_fp->_sceneRect.top + cmd->_y);
+
+ if (ani && ani->_id == ANI_LIFTBUTTON) {
+ g_fp->lift_sub1(ani);
+
+ cmd->_messageKind = 0;
+ }
+ break;
+ }
+
+ case 33:
+ if (g_fp->_aniMan2) {
+ int x = g_fp->_aniMan2->_ox;
+
+ if (x < g_fp->_sceneRect.left + g_vars->scene30_var01)
+ g_fp->_currentScene->_x = x - g_vars->scene30_var03 - g_fp->_sceneRect.left;
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene30_var01)
+ g_fp->_currentScene->_x = x + g_vars->scene30_var03 - g_fp->_sceneRect.right;
+ }
+
+ g_fp->_behaviorManager->updateBehaviors();
+
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: 8deb6908e24ba1110be142390d083b1c57385389
https://github.com/scummvm/scummvm/commit/8deb6908e24ba1110be142390d083b1c57385389
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T04:02:21-08:00
Commit Message:
FULLPIPE: Rename vars in scene30
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene30.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 0a95b5e..0330977 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -261,12 +261,8 @@ Vars::Vars() {
scene24_jet = 0;
scene24_drop = 0;
- scene30_var01 = 0;
- scene30_var02 = 0;
- scene30_var03 = 0;
- scene30_var04 = 0;
scene30_leg = 0;
- scene30_var05 = 0;
+ scene30_liftFlag = 1;
scene31_chantingCountdown = 0;
scene31_cactus = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 296e3d1..d8a1b18 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -354,12 +354,8 @@ public:
StaticANIObject *scene24_jet;
StaticANIObject *scene24_drop;
- int scene30_var01;
- int scene30_var02;
- int scene30_var03;
- int scene30_var04;
StaticANIObject *scene30_leg;
- int scene30_var05;
+ int scene30_liftFlag;
int scene31_chantingCountdown;
StaticANIObject *scene31_cactus;
diff --git a/engines/fullpipe/scenes/scene30.cpp b/engines/fullpipe/scenes/scene30.cpp
index 13e9477..59cb83e 100644
--- a/engines/fullpipe/scenes/scene30.cpp
+++ b/engines/fullpipe/scenes/scene30.cpp
@@ -46,11 +46,6 @@ void scene30_enablePass(Scene *sc) {
}
void scene30_initScene(Scene *sc, int flag) {
- g_vars->scene30_var01 = 200;
- g_vars->scene30_var02 = 200;
- g_vars->scene30_var03 = 300;
- g_vars->scene30_var04 = 300;
-
Scene *oldsc = g_fp->_currentScene;
g_vars->scene30_leg = sc->getStaticANIObject1ById(ANI_LEG, -1);
@@ -72,9 +67,9 @@ void scene30_initScene(Scene *sc, int flag) {
scene30_enablePass(sc);
if (flag == LiftUp || flag == LiftDown)
- g_vars->scene30_var05 = 0;
+ g_vars->scene30_liftFlag = 0;
else
- g_vars->scene30_var05 = 1;
+ g_vars->scene30_liftFlag = 1;
g_fp->lift_setButton(sO_Level8, ST_LBN_8N);
@@ -139,11 +134,11 @@ int sceneHandler30(ExCommand *cmd) {
if (g_fp->_aniMan2) {
int x = g_fp->_aniMan2->_ox;
- if (x < g_fp->_sceneRect.left + g_vars->scene30_var01)
- g_fp->_currentScene->_x = x - g_vars->scene30_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->scene30_var01)
- g_fp->_currentScene->_x = x + g_vars->scene30_var03 - g_fp->_sceneRect.right;
+ if (x > g_fp->_sceneRect.right - 200)
+ g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right;
}
g_fp->_behaviorManager->updateBehaviors();
Commit: 3f7077a251f2b2d75a269a652a30e08313c061be
https://github.com/scummvm/scummvm/commit/3f7077a251f2b2d75a269a652a30e08313c061be
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T04:04:05-08:00
Commit Message:
FULLPIPE: Enable scene30. This completes the scene
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 0330977..79b9830 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -764,18 +764,18 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
addMessageHandler(sceneHandler29, 2);
_updateCursorCallback = scene29_updateCursor;
break;
+#endif
case SC_30:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_30");
scene->preloadMovements(sceneVar);
- scene30_initScene(scene, entrance->field_4);
+ scene30_initScene(scene, entrance->_field_4);
_behaviorManager->initBehavior(scene, sceneVar);
scene->initObjectCursors("SC_30");
setSceneMusicParameters(sceneVar);
addMessageHandler(sceneHandler30, 2);
_updateCursorCallback = scene30_updateCursor;
break;
-#endif
case SC_31:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_31");
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index d8a1b18..f15ce00 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -109,6 +109,10 @@ void scene24_initScene(Scene *sc);
void scene24_setPoolState();
int sceneHandler24(ExCommand *cmd);
+int scene30_updateCursor();
+ void scene30_initScene(Scene *sc, int flag);
+int sceneHandler30(ExCommand *cmd);
+
void scene31_initScene(Scene *sc);
int sceneHandler31(ExCommand *ex);
Commit: f7235b8a4c7310544acc562ed4a9431ec64b2e3b
https://github.com/scummvm/scummvm/commit/f7235b8a4c7310544acc562ed4a9431ec64b2e3b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T04:54:25-08:00
Commit Message:
FULLPIPE: Initial code for scene36
Changed paths:
A engines/fullpipe/scenes/scene36.cpp
diff --git a/engines/fullpipe/scenes/scene36.cpp b/engines/fullpipe/scenes/scene36.cpp
new file mode 100644
index 0000000..a979338
--- /dev/null
+++ b/engines/fullpipe/scenes/scene36.cpp
@@ -0,0 +1,48 @@
+/* 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 scene36_initScene(Scene *sc) {
+ g_vars->scene36_var01 = 200;
+ g_vars->scene36_var02 = 200;
+ g_vars->scene36_var03 = 300;
+ g_vars->scene36_var04 = 300;
+ g_vars->scene36_rotohrust = sc->getStaticANIObject1ById(ANI_ROTOHRUST, -1);
+ g_vars->scene36_scissors = sc->getStaticANIObject1ById(ANI_SCISSORS_36, -1);
+}
+
+} // End of namespace Fullpipe
Commit: 85420834b5d7dac9aca0a536fbd682ab65c54b1d
https://github.com/scummvm/scummvm/commit/85420834b5d7dac9aca0a536fbd682ab65c54b1d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T04:56:54-08:00
Commit Message:
FULLPIPE: Plug scene36 in
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/module.mk
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 127c380..4a0a0db 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -768,6 +768,10 @@ namespace Fullpipe {
#define SND_31_001 4377
#define ST_CTS31_GROWN2 2472
+// Scene 36
+#define ANI_SCISSORS_36 2647
+#define ANI_ROTOHRUST 2360
+
// Debug scene
#define PIC_SCD_1 727
#define PIC_SCD_2 728
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index aa18924..3a0ccc9 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -44,6 +44,7 @@ MODULE_OBJS = \
scenes/scene24.o \
scenes/scene30.o \
scenes/scene31.o \
+ scenes/scene36.o \
scenes/sceneDbg.o \
scenes/sceneIntro.o
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 79b9830..7d02ec4 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -268,6 +268,13 @@ Vars::Vars() {
scene31_cactus = 0;
scene31_plusMinus = 0;
+ scene36_var01 = 0;
+ scene36_var02 = 0;
+ scene36_var03 = 0;
+ scene36_var04 = 0;
+ scene36_rotohrust = 0;
+ scene36_scissors = 0;
+
selector = 0;
}
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index f15ce00..f1a10ee 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -365,6 +365,13 @@ public:
StaticANIObject *scene31_cactus;
StaticANIObject *scene31_plusMinus;
+ int scene36_var01;
+ int scene36_var02;
+ int scene36_var03;
+ int scene36_var04;
+ StaticANIObject *scene36_rotohrust;
+ StaticANIObject *scene36_scissors;
+
PictureObject *selector;
};
Commit: 3d949b1bdfbef9159188e1632ad63ae9f76c65c8
https://github.com/scummvm/scummvm/commit/3d949b1bdfbef9159188e1632ad63ae9f76c65c8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T05:02:33-08:00
Commit Message:
FULLPIPE: Implement scene36_updateCursor()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene36.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 4a0a0db..16dac18 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -771,6 +771,8 @@ namespace Fullpipe {
// Scene 36
#define ANI_SCISSORS_36 2647
#define ANI_ROTOHRUST 2360
+#define PIC_SC36_MASK 5221
+#define ST_RHT_OPEN 2362
// Debug scene
#define PIC_SCD_1 727
diff --git a/engines/fullpipe/scenes/scene36.cpp b/engines/fullpipe/scenes/scene36.cpp
index a979338..744df72 100644
--- a/engines/fullpipe/scenes/scene36.cpp
+++ b/engines/fullpipe/scenes/scene36.cpp
@@ -45,4 +45,16 @@ void scene36_initScene(Scene *sc) {
g_vars->scene36_scissors = sc->getStaticANIObject1ById(ANI_SCISSORS_36, -1);
}
+int scene36_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_cursorId != PIC_CSR_ITN || g_fp->_objectIdAtCursor != ANI_ROTOHRUST) {
+ if (g_fp->_objectIdAtCursor == PIC_SC36_MASK && g_fp->_cursorId == PIC_CSR_DEFAULT && (g_vars->scene36_scissors->_flags & 4))
+ g_fp->_cursorId = PIC_CSR_ITN;
+ } else if (g_vars->scene36_rotohrust->_statics->_staticsId == ST_RHT_OPEN)
+ g_fp->_cursorId = PIC_CSR_GOL;
+
+ return g_fp->_cursorId;
+}
+
} // End of namespace Fullpipe
Commit: fcae83afad870dfa0b6986c1b6d2f151675d4218
https://github.com/scummvm/scummvm/commit/fcae83afad870dfa0b6986c1b6d2f151675d4218
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T05:14:17-08:00
Commit Message:
FULLPIPE: Implement sceneHandler36()
Changed paths:
engines/fullpipe/scenes/scene36.cpp
diff --git a/engines/fullpipe/scenes/scene36.cpp b/engines/fullpipe/scenes/scene36.cpp
index 744df72..b973ec9 100644
--- a/engines/fullpipe/scenes/scene36.cpp
+++ b/engines/fullpipe/scenes/scene36.cpp
@@ -57,4 +57,42 @@ int scene36_updateCursor() {
return g_fp->_cursorId;
}
+int sceneHandler36(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch (cmd->_messageNum) {
+ case 29:
+ if (g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY) == PIC_SC36_MASK)
+ if (g_vars->scene36_scissors)
+ if (g_vars->scene36_scissors->_flags & 4)
+ if (g_fp->_aniMan->isIdle())
+ if (!(g_fp->_aniMan->_flags & 0x100) && g_fp->_msgObjectId2 != g_vars->scene36_scissors->_id ) {
+ handleObjectInteraction(g_fp->_aniMan, g_vars->scene36_scissors, cmd->_keyCode);
+
+ cmd->_messageKind = 0;
+ }
+
+ break;
+
+ case 33:
+ if (g_fp->_aniMan2) {
+ int x = g_fp->_aniMan2->_ox;
+
+ if (x < g_fp->_sceneRect.left + g_vars->scene36_var01)
+ g_fp->_currentScene->_x = x - g_vars->scene36_var03 - g_fp->_sceneRect.left;
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene36_var01)
+ g_fp->_currentScene->_x = x + g_vars->scene36_var03 - g_fp->_sceneRect.right;
+ }
+
+ g_fp->_behaviorManager->updateBehaviors();
+ g_fp->startSceneTrack();
+
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: b6f4bce10c77d893a3c749f08dcc1227ec78a8bb
https://github.com/scummvm/scummvm/commit/b6f4bce10c77d893a3c749f08dcc1227ec78a8bb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T05:15:27-08:00
Commit Message:
FULLPIPE: Rename vars in scene36
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene36.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 7d02ec4..fa70b0a 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -268,10 +268,6 @@ Vars::Vars() {
scene31_cactus = 0;
scene31_plusMinus = 0;
- scene36_var01 = 0;
- scene36_var02 = 0;
- scene36_var03 = 0;
- scene36_var04 = 0;
scene36_rotohrust = 0;
scene36_scissors = 0;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index f1a10ee..fb39949 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -365,10 +365,6 @@ public:
StaticANIObject *scene31_cactus;
StaticANIObject *scene31_plusMinus;
- int scene36_var01;
- int scene36_var02;
- int scene36_var03;
- int scene36_var04;
StaticANIObject *scene36_rotohrust;
StaticANIObject *scene36_scissors;
diff --git a/engines/fullpipe/scenes/scene36.cpp b/engines/fullpipe/scenes/scene36.cpp
index b973ec9..7d237fd 100644
--- a/engines/fullpipe/scenes/scene36.cpp
+++ b/engines/fullpipe/scenes/scene36.cpp
@@ -37,10 +37,6 @@
namespace Fullpipe {
void scene36_initScene(Scene *sc) {
- g_vars->scene36_var01 = 200;
- g_vars->scene36_var02 = 200;
- g_vars->scene36_var03 = 300;
- g_vars->scene36_var04 = 300;
g_vars->scene36_rotohrust = sc->getStaticANIObject1ById(ANI_ROTOHRUST, -1);
g_vars->scene36_scissors = sc->getStaticANIObject1ById(ANI_SCISSORS_36, -1);
}
@@ -79,11 +75,11 @@ int sceneHandler36(ExCommand *cmd) {
if (g_fp->_aniMan2) {
int x = g_fp->_aniMan2->_ox;
- if (x < g_fp->_sceneRect.left + g_vars->scene36_var01)
- g_fp->_currentScene->_x = x - g_vars->scene36_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->scene36_var01)
- g_fp->_currentScene->_x = x + g_vars->scene36_var03 - g_fp->_sceneRect.right;
+ if (x > g_fp->_sceneRect.right - 200)
+ g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right;
}
g_fp->_behaviorManager->updateBehaviors();
Commit: 389d1f3fe5d1da0d735eed856510f20e4e46d0b9
https://github.com/scummvm/scummvm/commit/389d1f3fe5d1da0d735eed856510f20e4e46d0b9
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T05:17:11-08:00
Commit Message:
FULLPIPE: Enable scene36. This completes the scene
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index fa70b0a..16fa78c 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -838,6 +838,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
insertMessageHandler(sceneHandler35, 2, 2);
_updateCursorCallback = defaultUpdateCursor;
break;
+#endif
case SC_36:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_36");
@@ -850,6 +851,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene36_updateCursor;
break;
+#if 0
case SC_37:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_37");
scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index fb39949..4ff23d2 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -116,6 +116,10 @@ int sceneHandler30(ExCommand *cmd);
void scene31_initScene(Scene *sc);
int sceneHandler31(ExCommand *ex);
+int scene36_updateCursor();
+void scene36_initScene(Scene *sc);
+int sceneHandler36(ExCommand *cmd);
+
void sceneDbgMenu_initScene(Scene *sc);
int sceneHandlerDbgMenu(ExCommand *cmd);
More information about the Scummvm-git-logs
mailing list