[Scummvm-cvs-logs] scummvm master -> 1ec92edb87ef2cf68da77091231b971a0e8c70ad
sev-
sev at scummvm.org
Thu Jan 2 09:47:44 CET 2014
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
f5c36318fe FULLPIPE: Plug scene21 in
2873bdb6af FULLPIPE: Implement sceneHandler21()
ada85fbfcd FULLPIPE: Implement sceneHandler21_doWiggle()
e19530ce37 FULLPIPE: Rename vars in scene21
0fc133eab7 FULLPIPE: Implement scene21_updateCursor()
1ec92edb87 FULLPIPE: Enable scene21. This completes the scene
Commit: f5c36318fe085ed548a7b3628cb6ef01a54e6207
https://github.com/scummvm/scummvm/commit/f5c36318fe085ed548a7b3628cb6ef01a54e6207
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00
Commit Message:
FULLPIPE: Plug scene21 in
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/module.mk
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene21.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index c1a7487..0dafd6f 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -723,6 +723,10 @@ namespace Fullpipe {
#define ST_MUG17_EMPTY 2739
#define ST_SMG_SIT 1399
+// Scene 21
+#define ANI_GIRAFFE_BOTTOM 1633
+#define ST_GRFB_HANG 1638
+
// Scene 24
#define ANI_DROP_24 3505
#define ANI_INV_HAMMER 884
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index ea83767..75b34dc 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/scene21.o \
scenes/scene24.o \
scenes/sceneDbg.o \
scenes/sceneIntro.o
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index c8ace3c..fcacb04 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -247,6 +247,17 @@ Vars::Vars() {
scene17_handPhase = false;
scene17_sceneEdgeX = 0;
+ scene21_var01 = 0;
+ scene21_var02 = 0;
+ scene21_var03 = 0;
+ scene21_var04 = 0;
+ scene21_giraffeBottom = 0;
+ scene21_giraffeBottomX = 0;
+ scene21_giraffeBottomY = 0;
+ scene21_var05 = 0;
+ scene21_var06 = 0.0;
+ scene21_var07 = 0;
+
scene24_jetIsOn = false;
scene24_flowIsLow = false;
scene24_waterIsOn = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 358c6bc..ee52f8c 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -333,6 +333,17 @@ public:
bool scene17_handPhase;
int scene17_sceneEdgeX;
+ int scene21_var01;
+ int scene21_var02;
+ int scene21_var03;
+ int scene21_var04;
+ StaticANIObject *scene21_giraffeBottom;
+ int scene21_giraffeBottomX;
+ int scene21_giraffeBottomY;
+ int scene21_var05;
+ double scene21_var06;
+ int scene21_var07;
+
bool scene24_jetIsOn;
bool scene24_flowIsLow;
bool scene24_waterIsOn;
diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index 3198a18..017716d 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -47,7 +47,7 @@ void scene21_initScene(Scene *sc) {
g_vars->scene21_giraffeBottom = sc->getStaticANIObject1ById(ANI_GIRAFFE_BOTTOM, -1);
g_fp->_currentScene = sc;
- if (g_fp->getObjectState(sO_LowerPipe_21) == g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsOpened )) {
+ if (g_fp->getObjectState(sO_LowerPipe_21) == g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsOpened)) {
g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_HANG);
g_vars->scene21_var05 = 1;
g_vars->scene21_var06 = 0.0;
Commit: 2873bdb6af09dc76a49287a98ec7df0d8132408e
https://github.com/scummvm/scummvm/commit/2873bdb6af09dc76a49287a98ec7df0d8132408e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00
Commit Message:
FULLPIPE: Implement sceneHandler21()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene21.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 0dafd6f..53c6977 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -725,6 +725,8 @@ namespace Fullpipe {
// Scene 21
#define ANI_GIRAFFE_BOTTOM 1633
+#define MSG_SC21_UPDATEASS 4211
+#define ST_GRFB_SIT 1687
#define ST_GRFB_HANG 1638
// Scene 24
diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index 017716d..2656a5f 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -61,4 +61,73 @@ void scene21_initScene(Scene *sc) {
g_fp->initArcadeKeys("SC_21");
}
+void sceneHandler21_doWiggle() {
+ warning("STUB: sceneHandler21_doWiggle()");
+}
+
+int sceneHandler21(ExCommand *cmd) {
+ if (cmd->_messageKind != 17)
+ return 0;
+
+ switch (cmd->_messageNum) {
+ case MSG_SC21_UPDATEASS:
+ if (g_fp->getObjectState(sO_LowerPipe_21) == g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsOpened)) {
+ g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_HANG);
+ g_vars->scene21_giraffeBottom->setOXY(g_vars->scene21_giraffeBottomX, g_vars->scene21_giraffeBottomY);
+ g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_SIT);
+
+ g_vars->scene21_var05 = 0;
+
+ g_fp->setObjectState(sO_LowerPipe_21, g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsClosed));
+ }
+
+ break;
+
+ case 29:
+ {
+ StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+ if (!ani || !canInteractAny(g_fp->_aniMan, ani, cmd->_keyCode)) {
+ int picId = g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
+
+ PictureObject *pic = g_fp->_currentScene->getPictureObjectById(picId, 0);
+
+ if (!pic || !canInteractAny(g_fp->_aniMan, pic, cmd->_keyCode) ) {
+ 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;
+ }
+
+ case 33:
+ if (g_fp->_aniMan2) {
+ int x = g_fp->_aniMan2->_ox;
+
+ if (x <= g_fp->_sceneWidth - 460) {
+ if (x < g_fp->_sceneRect.left + g_vars->scene21_var01)
+ g_fp->_currentScene->_x = x - g_vars->scene21_var03 - g_fp->_sceneRect.left;
+ } else {
+ g_fp->_currentScene->_x = g_fp->_sceneWidth - x;
+ }
+
+ if (x > g_fp->_sceneRect.right - g_vars->scene21_var01)
+ g_fp->_currentScene->_x = x + g_vars->scene21_var03 - g_fp->_sceneRect.right;
+ }
+
+ if (g_vars->scene21_var05 && !g_vars->scene21_var07)
+ sceneHandler21_doWiggle();
+
+ g_vars->scene21_var07 = g_vars->scene21_var07 == 0;
+
+ g_fp->_behaviorManager->updateBehaviors();
+ g_fp->startSceneTrack();
+
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Fullpipe
Commit: ada85fbfcdf3013ef371b9f7df0b9ebe6cfaac8b
https://github.com/scummvm/scummvm/commit/ada85fbfcdf3013ef371b9f7df0b9ebe6cfaac8b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00
Commit Message:
FULLPIPE: Implement sceneHandler21_doWiggle()
Changed paths:
engines/fullpipe/scenes/scene21.cpp
diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index 2656a5f..9b47fc5 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -62,7 +62,17 @@ void scene21_initScene(Scene *sc) {
}
void sceneHandler21_doWiggle() {
- warning("STUB: sceneHandler21_doWiggle()");
+ g_vars->scene21_giraffeBottom->setOXY((int)(cos(g_vars->scene21_var06) * 4.0) + g_vars->scene21_giraffeBottom->_ox,
+ g_vars->scene21_giraffeBottom->_oy);
+
+ g_vars->scene21_var06 += 0.19635;
+
+ if (g_vars->scene21_var06 > 6.2831853) {
+ g_vars->scene21_var06 = 0;
+
+ if (!g_vars->scene21_giraffeBottom->_movement)
+ g_vars->scene21_giraffeBottom->setOXY(g_vars->scene21_giraffeBottomX, g_vars->scene21_giraffeBottomY);
+ }
}
int sceneHandler21(ExCommand *cmd) {
Commit: e19530ce37abfefc91bbbe7182d38171b3e5b909
https://github.com/scummvm/scummvm/commit/e19530ce37abfefc91bbbe7182d38171b3e5b909
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00
Commit Message:
FULLPIPE: Rename vars in scene21
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene21.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index fcacb04..36ee8cc 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -247,16 +247,12 @@ Vars::Vars() {
scene17_handPhase = false;
scene17_sceneEdgeX = 0;
- scene21_var01 = 0;
- scene21_var02 = 0;
- scene21_var03 = 0;
- scene21_var04 = 0;
scene21_giraffeBottom = 0;
scene21_giraffeBottomX = 0;
scene21_giraffeBottomY = 0;
- scene21_var05 = 0;
- scene21_var06 = 0.0;
- scene21_var07 = 0;
+ scene21_pipeIsOpen = false;
+ scene21_wigglePos = 0.0;
+ scene21_wiggleTrigger = 0;
scene24_jetIsOn = false;
scene24_flowIsLow = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index ee52f8c..9313bf0 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -333,16 +333,12 @@ public:
bool scene17_handPhase;
int scene17_sceneEdgeX;
- int scene21_var01;
- int scene21_var02;
- int scene21_var03;
- int scene21_var04;
StaticANIObject *scene21_giraffeBottom;
int scene21_giraffeBottomX;
int scene21_giraffeBottomY;
- int scene21_var05;
- double scene21_var06;
- int scene21_var07;
+ int scene21_pipeIsOpen;
+ double scene21_wigglePos;
+ bool scene21_wiggleTrigger;
bool scene24_jetIsOn;
bool scene24_flowIsLow;
diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index 9b47fc5..a915d76 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -37,11 +37,6 @@
namespace Fullpipe {
void scene21_initScene(Scene *sc) {
- g_vars->scene21_var01 = 200;
- g_vars->scene21_var02 = 200;
- g_vars->scene21_var03 = 300;
- g_vars->scene21_var04 = 300;
-
Scene *oldsc = g_fp->_currentScene;
g_vars->scene21_giraffeBottom = sc->getStaticANIObject1ById(ANI_GIRAFFE_BOTTOM, -1);
@@ -49,26 +44,26 @@ void scene21_initScene(Scene *sc) {
if (g_fp->getObjectState(sO_LowerPipe_21) == g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsOpened)) {
g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_HANG);
- g_vars->scene21_var05 = 1;
- g_vars->scene21_var06 = 0.0;
+ g_vars->scene21_pipeIsOpen = true;
+ g_vars->scene21_wigglePos = 0.0;
g_vars->scene21_giraffeBottomX = g_vars->scene21_giraffeBottom->_ox;
g_vars->scene21_giraffeBottomY = g_vars->scene21_giraffeBottom->_oy;
- g_vars->scene21_var07 = 0;
+ g_vars->scene21_wiggleTrigger = false;
} else {
- g_vars->scene21_var05 = 0;
+ g_vars->scene21_pipeIsOpen = false;
}
g_fp->_currentScene = oldsc;
g_fp->initArcadeKeys("SC_21");
}
void sceneHandler21_doWiggle() {
- g_vars->scene21_giraffeBottom->setOXY((int)(cos(g_vars->scene21_var06) * 4.0) + g_vars->scene21_giraffeBottom->_ox,
+ g_vars->scene21_giraffeBottom->setOXY((int)(cos(g_vars->scene21_wigglePos) * 4.0) + g_vars->scene21_giraffeBottom->_ox,
g_vars->scene21_giraffeBottom->_oy);
- g_vars->scene21_var06 += 0.19635;
+ g_vars->scene21_wigglePos += 0.19635;
- if (g_vars->scene21_var06 > 6.2831853) {
- g_vars->scene21_var06 = 0;
+ if (g_vars->scene21_wigglePos > 6.2831853) {
+ g_vars->scene21_wigglePos = 0;
if (!g_vars->scene21_giraffeBottom->_movement)
g_vars->scene21_giraffeBottom->setOXY(g_vars->scene21_giraffeBottomX, g_vars->scene21_giraffeBottomY);
@@ -86,7 +81,7 @@ int sceneHandler21(ExCommand *cmd) {
g_vars->scene21_giraffeBottom->setOXY(g_vars->scene21_giraffeBottomX, g_vars->scene21_giraffeBottomY);
g_vars->scene21_giraffeBottom->changeStatics2(ST_GRFB_SIT);
- g_vars->scene21_var05 = 0;
+ g_vars->scene21_pipeIsOpen = false;
g_fp->setObjectState(sO_LowerPipe_21, g_fp->getObjectEnumState(sO_LowerPipe_21, sO_IsClosed));
}
@@ -116,20 +111,20 @@ int sceneHandler21(ExCommand *cmd) {
int x = g_fp->_aniMan2->_ox;
if (x <= g_fp->_sceneWidth - 460) {
- if (x < g_fp->_sceneRect.left + g_vars->scene21_var01)
- g_fp->_currentScene->_x = x - g_vars->scene21_var03 - g_fp->_sceneRect.left;
+ if (x < g_fp->_sceneRect.left + 200)
+ g_fp->_currentScene->_x = x - 300 - g_fp->_sceneRect.left;
} else {
g_fp->_currentScene->_x = g_fp->_sceneWidth - x;
}
- if (x > g_fp->_sceneRect.right - g_vars->scene21_var01)
- g_fp->_currentScene->_x = x + g_vars->scene21_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->scene21_var05 && !g_vars->scene21_var07)
+ if (g_vars->scene21_pipeIsOpen && !g_vars->scene21_wiggleTrigger)
sceneHandler21_doWiggle();
- g_vars->scene21_var07 = g_vars->scene21_var07 == 0;
+ g_vars->scene21_wiggleTrigger = !g_vars->scene21_wiggleTrigger;
g_fp->_behaviorManager->updateBehaviors();
g_fp->startSceneTrack();
Commit: 0fc133eab7b007d9dd5b6f8b148fadd36054edad
https://github.com/scummvm/scummvm/commit/0fc133eab7b007d9dd5b6f8b148fadd36054edad
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00
Commit Message:
FULLPIPE: Implement scene21_updateCursor()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene21.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 53c6977..e85ed20 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -726,6 +726,7 @@ namespace Fullpipe {
// Scene 21
#define ANI_GIRAFFE_BOTTOM 1633
#define MSG_SC21_UPDATEASS 4211
+#define PIC_SC21_DTRUBA 1823
#define ST_GRFB_SIT 1687
#define ST_GRFB_HANG 1638
diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp
index a915d76..5a65099 100644
--- a/engines/fullpipe/scenes/scene21.cpp
+++ b/engines/fullpipe/scenes/scene21.cpp
@@ -56,6 +56,16 @@ void scene21_initScene(Scene *sc) {
g_fp->initArcadeKeys("SC_21");
}
+int scene21_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_cursorId == PIC_CSR_ITN && g_fp->_objectIdAtCursor == PIC_SC21_DTRUBA)
+
+ g_fp->_cursorId = PIC_CSR_GOD;
+
+ return g_fp->_cursorId;
+}
+
void sceneHandler21_doWiggle() {
g_vars->scene21_giraffeBottom->setOXY((int)(cos(g_vars->scene21_wigglePos) * 4.0) + g_vars->scene21_giraffeBottom->_ox,
g_vars->scene21_giraffeBottom->_oy);
Commit: 1ec92edb87ef2cf68da77091231b971a0e8c70ad
https://github.com/scummvm/scummvm/commit/1ec92edb87ef2cf68da77091231b971a0e8c70ad
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T00:45:52-08:00
Commit Message:
FULLPIPE: Enable scene21. 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 36ee8cc..104d078 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -649,6 +649,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
addMessageHandler(sceneHandler20, 2);
_updateCursorCallback = defaultUpdateCursor;
break;
+#endif
case SC_21:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_21");
@@ -661,6 +662,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene21_updateCursor;
break;
+#if 0
case SC_22:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_22");
scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 9313bf0..8b5e6c2 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -101,6 +101,10 @@ void scene17_restoreState();
int sceneHandler17(ExCommand *cmd);
int scene17_updateCursor();
+int scene21_updateCursor();
+void scene21_initScene(Scene *sc);
+int sceneHandler21(ExCommand *cmd);
+
void scene24_initScene(Scene *sc);
void scene24_setPoolState();
int sceneHandler24(ExCommand *cmd);
More information about the Scummvm-git-logs
mailing list