[Scummvm-cvs-logs] scummvm master -> a21bba04d041cce1fafedb265ded9d4f3e305e7e
sev-
sev at scummvm.org
Thu Jan 2 23:12:32 CET 2014
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
bf304184b8 FULLPIPE: Implement sceneHandler22_stoolLogic()
7d178a8647 FULLPIPE: Rename variables in scene22
a21bba04d0 FULLPIPE: Enable scene22. This completes the scene
Commit: bf304184b838bcd446cd3330a92c2d1ba2539b67
https://github.com/scummvm/scummvm/commit/bf304184b838bcd446cd3330a92c2d1ba2539b67
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T13:53:36-08:00
Commit Message:
FULLPIPE: Implement sceneHandler22_stoolLogic()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/scenes/scene22.cpp
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 96abc3a..af09d1d 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -756,8 +756,15 @@ namespace Fullpipe {
#define QU_SC22_FALLSACK 1791
#define QU_SC22_FALLSACK_GMA 2613
#define QU_SC22_FROMSTOOL 1800
+#define QU_SC22_HANDLEDOWN 1804
+#define QU_SC22_PUTSTOOL 1803
#define QU_SC22_SHOWSTOOL 1793
+#define QU_SC22_TOSTOOL 1801
+#define QU_SC22_TOSTOOL_R 3332
+#define QU_SC22_TRYBOX 5311
+#define QU_SC22_TRYHANDLE 1802
#define QU_MSH_MOVE 1812
+#define rMV_MAN_TURN_SRL 1090
#define ST_GRFM_AFTER 3472
#define ST_GRFM_NORM 1983
#define ST_MSH_SIT 1756
diff --git a/engines/fullpipe/scenes/scene22.cpp b/engines/fullpipe/scenes/scene22.cpp
index f4c6009..7a5ecb7 100644
--- a/engines/fullpipe/scenes/scene22.cpp
+++ b/engines/fullpipe/scenes/scene22.cpp
@@ -163,8 +163,134 @@ void sceneHandler22_fromStool(ExCommand *cmd) {
}
}
-void sceneHandler22_sub02(ExCommand *cmd) {
- warning("STUB: sceneHandler22_sub02(cmd)");
+void sceneHandler22_stoolLogic(ExCommand *cmd) {
+ StaticANIObject *ani;
+ MessageQueue *mq;
+ int xpos;
+ int manId;
+
+ if (g_fp->_aniMan->isIdle() && !(g_fp->_aniMan->_flags & 0x100)) {
+ if (cmd->_keyCode == ANI_INV_STOOL) {
+ if (abs(841 - g_fp->_aniMan->_ox) <= 1) {
+ if (abs(449 - g_fp->_aniMan->_oy) <= 1) {
+ chainQueue(QU_SC22_PUTSTOOL, 1);
+ g_vars->scene22_var08 = 1;
+
+ return;
+ }
+ }
+ goto LABEL_13;
+ }
+
+ if (cmd->_keyCode == ANI_INV_BOX) {
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_TABURETTE, -1);
+ if (!ani || !(ani->_flags & 4)) {
+ if (abs(841 - g_fp->_aniMan->_ox) <= 1) {
+ if (abs(449 - g_fp->_aniMan->_oy) <= 1) {
+ chainObjQueue(g_fp->_aniMan, QU_SC22_TRYBOX, 1);
+ return;
+ }
+ }
+ LABEL_13:
+ xpos = 841;
+ manId = ST_MAN_RIGHT;
+ LABEL_31:
+ mq = getCurrSceneSc2MotionController()->method34(g_fp->_aniMan, xpos, 449, 1, manId);
+
+ if (!mq)
+ return;
+
+ mq->addExCommandToEnd(new ExCommand(cmd));
+
+ postExCommand(g_fp->_aniMan->_id, 2, 841, 449, 0, -1);
+ return;
+ }
+ } else {
+ if (cmd->_keyCode)
+ return;
+ if (g_vars->scene22_var07) {
+ if (g_fp->_aniMan->_movement)
+ return;
+
+ chainQueue(QU_SC22_HANDLEDOWN, 1);
+ g_vars->scene22_var08 = 1;
+ return;
+ }
+
+ ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_TABURETTE, -1);
+ if (ani && (ani->_flags & 4)) {
+ int x = g_fp->_aniMan->_ox;
+ int y = g_fp->_aniMan->_ox;
+
+ if (sqrt((double)((841 - x) * (841 - x) + (449 - y) * (449 - y)))
+ < sqrt((double)((1075 - x) * (1075 - x) + (449 - y) * (449 - y)))) {
+ if (abs(841 - x) <= 1) {
+ if (abs(449 - y) <= 1) {
+ chainQueue(QU_SC22_TOSTOOL, 1);
+ g_vars->scene22_var08 = 1;
+ return;
+ }
+ }
+ goto LABEL_13;
+ }
+
+ if (abs(1075 - x) > 1 || abs(449 - y) > 1) {
+ xpos = 1075;
+ manId = ST_MAN_RIGHT | 0x4000;
+ goto LABEL_31;
+ }
+
+ MGM mgm;
+ MGMInfo mgminfo;
+
+ mgm.addItem(ANI_MAN);
+ mgminfo.ani = g_fp->_aniMan;
+ mgminfo.staticsId2 = ST_MAN_RIGHT;
+ mgminfo.x1 = 934;
+ mgminfo.y1 = 391;
+ mgminfo.field_1C = 10;
+ mgminfo.staticsId1 = 0x4145;
+ mgminfo.x2 = 981;
+ mgminfo.y2 = 390;
+ mgminfo.field_10 = 1;
+ mgminfo.flags = 127;
+ mgminfo.movementId = rMV_MAN_TURN_SRL;
+
+ mq = mgm.genMovement(&mgminfo);
+
+ ExCommand *ex = mq->getExCommandByIndex(0);
+
+ mq->deleteExCommandByIndex(0, 0);
+
+ if (mq)
+ delete mq;
+
+ mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC22_TOSTOOL_R), 0, 0);
+
+ mq->insertExCommandAt(2, ex);
+ mq->setFlags(mq->getFlags() | 1);
+ mq->chain(0);
+
+ g_vars->scene22_var08 = 1;
+ } else {
+ if (abs(1010 - g_fp->_aniMan->_ox) <= 1) {
+ if (abs(443 - g_fp->_aniMan->_oy) <= 1) {
+ chainQueue(QU_SC22_TRYHANDLE, 1);
+ return;
+ }
+ }
+
+ mq = getCurrSceneSc2MotionController()->method34(g_fp->_aniMan, 1010, 443, 1, ST_MAN_UP);
+
+ if (mq) {
+ mq->addExCommandToEnd(new ExCommand(cmd));
+
+ postExCommand(g_fp->_aniMan->_id, 2, 1010, 443, 0, -1);
+ return;
+ }
+ }
+ }
+ }
}
int sceneHandler22(ExCommand *cmd) {
@@ -213,7 +339,7 @@ int sceneHandler22(ExCommand *cmd) {
StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
if (ani && ani->_id == ANI_HANDLE_L) {
- sceneHandler22_sub02(cmd);
+ sceneHandler22_stoolLogic(cmd);
return 0;
}
@@ -254,7 +380,7 @@ int sceneHandler22(ExCommand *cmd) {
g_fp->_currentScene->_x = g_fp->_sceneWidth - x;
}
- if (x > g_fp->_sceneRect.right - g_vars->scene22_var01 )
+ if (x > g_fp->_sceneRect.right - g_vars->scene22_var01)
g_fp->_currentScene->_x = x + g_vars->scene22_var03 - g_fp->_sceneRect.right;
g_fp->_behaviorManager->updateBehaviors();
Commit: 7d178a86478c5bcf6bbeabf7347a4b0624f6466e
https://github.com/scummvm/scummvm/commit/7d178a86478c5bcf6bbeabf7347a4b0624f6466e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T14:06:37-08:00
Commit Message:
FULLPIPE: Rename variables in scene22
Changed paths:
engines/fullpipe/scenes.cpp
engines/fullpipe/scenes.h
engines/fullpipe/scenes/scene22.cpp
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 483d3cf..11d32d4 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -257,17 +257,12 @@ Vars::Vars() {
scene21_wigglePos = 0.0;
scene21_wiggleTrigger = 0;
- scene22_var01 = 200;
- scene22_var02 = 200;
- scene22_var03 = 300;
- scene22_var04 = 300;
scene22_bag = 0;
scene22_giraffeMiddle = 0;
- scene22_var07 = 0;
- scene22_var08 = 0;
- scene22_var09 = 0;
- scene22_var10 = 1;
- scene22_var11 = 1;
+ scene22_dudeIsOnStool = false;
+ scene22_interactionIsDisabled = false;
+ scene22_craneIsOut = true;
+ scene22_numBagFalls = 1;
scene24_jetIsOn = false;
scene24_flowIsLow = false;
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 49c25ac..72103fd 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -361,17 +361,12 @@ public:
double scene21_wigglePos;
bool scene21_wiggleTrigger;
- int scene22_var01;
- int scene22_var02;
- int scene22_var03;
- int scene22_var04;
StaticANIObject *scene22_bag;
StaticANIObject *scene22_giraffeMiddle;
- int scene22_var07;
- int scene22_var08;
- int scene22_var09;
- int scene22_var10;
- int scene22_var11;
+ bool scene22_dudeIsOnStool;
+ bool scene22_interactionIsDisabled;
+ bool scene22_craneIsOut;
+ int scene22_numBagFalls;
bool scene24_jetIsOn;
bool scene24_flowIsLow;
diff --git a/engines/fullpipe/scenes/scene22.cpp b/engines/fullpipe/scenes/scene22.cpp
index 7a5ecb7..5df2b6e 100644
--- a/engines/fullpipe/scenes/scene22.cpp
+++ b/engines/fullpipe/scenes/scene22.cpp
@@ -37,30 +37,25 @@
namespace Fullpipe {
void scene22_initScene(Scene *sc) {
- g_vars->scene22_var01 = 200;
- g_vars->scene22_var02 = 200;
- g_vars->scene22_var03 = 300;
- g_vars->scene22_var04 = 300;
g_vars->scene22_bag = sc->getStaticANIObject1ById(ANI_MESHOK, -1);
Scene *oldsc = g_fp->_currentScene;
g_fp->_currentScene = sc;
g_vars->scene22_giraffeMiddle = sc->getStaticANIObject1ById(ANI_GIRAFFE_MIDDLE, -1);
- g_vars->scene22_var07 = 0;
- g_vars->scene22_var08 = 0;
- g_vars->scene22_var09 = 0;
- g_vars->scene22_var10 = 1;
+ g_vars->scene22_dudeIsOnStool = false;
+ g_vars->scene22_interactionIsDisabled = false;
+ g_vars->scene22_craneIsOut = true;
if (g_fp->getObjectState(sO_Bag_22) == g_fp->getObjectEnumState(sO_Bag_22, sO_NotFallen))
- g_vars->scene22_var11 = 0;
+ g_vars->scene22_numBagFalls = 0;
else if (g_fp->getObjectState(sO_Bag_22) == g_fp->getObjectEnumState(sO_Bag_22, sO_FallenOnce))
- g_vars->scene22_var11 = 1;
+ g_vars->scene22_numBagFalls = 1;
else if ( g_fp->getObjectState(sO_Bag_22) == g_fp->getObjectEnumState(sO_Bag_22, sO_FallenTwice))
- g_vars->scene22_var11 = 2;
+ g_vars->scene22_numBagFalls = 2;
else {
- g_vars->scene22_var11 = 3;
- g_vars->scene22_var10 = 0;
+ g_vars->scene22_numBagFalls = 3;
+ g_vars->scene22_craneIsOut = false;
}
@@ -87,7 +82,7 @@ int scene22_updateCursor() {
return g_fp->_cursorId;
}
- if (g_vars->scene22_var07 || (sel != ANI_INV_STOOL && sel != ANI_INV_BOX))
+ if (g_vars->scene22_dudeIsOnStool || (sel != ANI_INV_STOOL && sel != ANI_INV_BOX))
; //empty
else
g_fp->_cursorId = PIC_CSR_ITN_INV;
@@ -96,7 +91,7 @@ int scene22_updateCursor() {
}
void scene22_setBagState() {
- if (g_vars->scene22_var10) {
+ if (g_vars->scene22_craneIsOut) {
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene22_bag, ST_MSH_SIT, QU_MSH_CRANEOUT, 1);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene22_bag, ST_MSH_SIT, QU_MSH_MOVE, 0);
} else {
@@ -116,13 +111,13 @@ void sceneHandler22and23_hideStool() {
void sceneHandler22_handleDown() {
if (g_vars->scene22_bag->_statics->_staticsId == ST_MSH_SIT) {
chainQueue(QU_MSH_CRANEOUT, 1);
- g_vars->scene22_var08 = 0;
+ g_vars->scene22_interactionIsDisabled = false;
} else {
- ++g_vars->scene22_var11;
+ ++g_vars->scene22_numBagFalls;
int qid;
- if (g_vars->scene22_var11 == 3) {
+ if (g_vars->scene22_numBagFalls == 3) {
chainQueue(QU_SC22_FALLSACK_GMA, 1);
qid = QU_SC22_FALLBROOM;
} else {
@@ -133,10 +128,10 @@ void sceneHandler22_handleDown() {
int state;
- if (g_vars->scene22_var11) {
- if (g_vars->scene22_var11 == 1) {
+ if (g_vars->scene22_numBagFalls) {
+ if (g_vars->scene22_numBagFalls == 1) {
state = g_fp->getObjectEnumState(sO_Bag_22, sO_FallenOnce);
- } else if (g_vars->scene22_var11 == 2) {
+ } else if (g_vars->scene22_numBagFalls == 2) {
state = g_fp->getObjectEnumState(sO_Bag_22, sO_FallenTwice);
} else {
state = g_fp->getObjectEnumState(sO_Bag_22, sO_BrushHasFallen);
@@ -147,7 +142,8 @@ void sceneHandler22_handleDown() {
g_fp->setObjectState(sO_Bag_22, state);
}
- g_vars->scene22_var10 = 1;
+
+ g_vars->scene22_craneIsOut = true;
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene22_bag, ST_MSH_SIT, QU_MSH_CRANEOUT, 1);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene22_bag, ST_MSH_SIT, QU_MSH_MOVE, 0);
@@ -174,7 +170,7 @@ void sceneHandler22_stoolLogic(ExCommand *cmd) {
if (abs(841 - g_fp->_aniMan->_ox) <= 1) {
if (abs(449 - g_fp->_aniMan->_oy) <= 1) {
chainQueue(QU_SC22_PUTSTOOL, 1);
- g_vars->scene22_var08 = 1;
+ g_vars->scene22_interactionIsDisabled = true;
return;
}
@@ -208,12 +204,14 @@ void sceneHandler22_stoolLogic(ExCommand *cmd) {
} else {
if (cmd->_keyCode)
return;
- if (g_vars->scene22_var07) {
+
+ if (g_vars->scene22_dudeIsOnStool) {
if (g_fp->_aniMan->_movement)
return;
chainQueue(QU_SC22_HANDLEDOWN, 1);
- g_vars->scene22_var08 = 1;
+
+ g_vars->scene22_interactionIsDisabled = true;
return;
}
@@ -227,7 +225,8 @@ void sceneHandler22_stoolLogic(ExCommand *cmd) {
if (abs(841 - x) <= 1) {
if (abs(449 - y) <= 1) {
chainQueue(QU_SC22_TOSTOOL, 1);
- g_vars->scene22_var08 = 1;
+
+ g_vars->scene22_interactionIsDisabled = true;
return;
}
}
@@ -271,7 +270,7 @@ void sceneHandler22_stoolLogic(ExCommand *cmd) {
mq->setFlags(mq->getFlags() | 1);
mq->chain(0);
- g_vars->scene22_var08 = 1;
+ g_vars->scene22_interactionIsDisabled = true;
} else {
if (abs(1010 - g_fp->_aniMan->_ox) <= 1) {
if (abs(443 - g_fp->_aniMan->_oy) <= 1) {
@@ -317,15 +316,15 @@ int sceneHandler22(ExCommand *cmd) {
break;
case MSG_SC22_FROMSTOOL:
- g_vars->scene22_var07 = 0;
- g_vars->scene22_var08 = 0;
+ g_vars->scene22_dudeIsOnStool = false;
+ g_vars->scene22_interactionIsDisabled = false;
getCurrSceneSc2MotionController()->setEnabled();
g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 1);
break;
case MSG_SC22_ONSTOOL:
- g_vars->scene22_var07 = 1;
+ g_vars->scene22_dudeIsOnStool = true;
getCurrSceneSc2MotionController()->clearEnabled();
g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 0);
break;
@@ -335,7 +334,7 @@ int sceneHandler22(ExCommand *cmd) {
break;
case 29:
- if (!g_vars->scene22_var08) {
+ if (!g_vars->scene22_interactionIsDisabled) {
StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
if (ani && ani->_id == ANI_HANDLE_L) {
@@ -343,7 +342,7 @@ int sceneHandler22(ExCommand *cmd) {
return 0;
}
- if (!g_vars->scene22_var07) {
+ if (!g_vars->scene22_dudeIsOnStool) {
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);
@@ -374,14 +373,14 @@ int sceneHandler22(ExCommand *cmd) {
int x = g_fp->_aniMan2->_ox;
if (x <= g_fp->_sceneWidth - 460) {
- if (x < g_fp->_sceneRect.left + g_vars->scene22_var01)
- g_fp->_currentScene->_x = x - g_vars->scene22_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->scene22_var01)
- g_fp->_currentScene->_x = x + g_vars->scene22_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: a21bba04d041cce1fafedb265ded9d4f3e305e7e
https://github.com/scummvm/scummvm/commit/a21bba04d041cce1fafedb265ded9d4f3e305e7e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-01-02T14:11:41-08:00
Commit Message:
FULLPIPE: Enable scene22. 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 11d32d4..34a8de6 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -682,7 +682,6 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene21_updateCursor;
break;
-#if 0
case SC_22:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_22");
scene->preloadMovements(sceneVar);
@@ -690,11 +689,12 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_behaviorManager->initBehavior(scene, sceneVar);
scene->initObjectCursors("SC_22");
setSceneMusicParameters(sceneVar);
- scene22_sub_4228A0();
+ scene22_setBagState();
insertMessageHandler(sceneHandler22, 2, 2);
_updateCursorCallback = scene22_updateCursor;
break;
+#if 0
case SC_23:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_23");
scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 72103fd..7852d96 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -108,6 +108,11 @@ int scene21_updateCursor();
void scene21_initScene(Scene *sc);
int sceneHandler21(ExCommand *cmd);
+void scene22_initScene(Scene *sc);
+void scene22_setBagState();
+int sceneHandler22(ExCommand *cmd);
+int scene22_updateCursor();
+
void scene24_initScene(Scene *sc);
void scene24_setPoolState();
int sceneHandler24(ExCommand *cmd);
More information about the Scummvm-git-logs
mailing list