diff options
author | Eugene Sandulenko | 2016-10-01 21:26:10 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-10-01 21:27:02 +0200 |
commit | a4758dac41e4c53c59c8b85545aeb8d8f5ed62bd (patch) | |
tree | 2b663035b339bd41160f52c97de617c59e3e072a /engines | |
parent | 70f9cc5215cce6a627a65bd4e705d846ca4150e3 (diff) | |
download | scummvm-rg350-a4758dac41e4c53c59c8b85545aeb8d8f5ed62bd.tar.gz scummvm-rg350-a4758dac41e4c53c59c8b85545aeb8d8f5ed62bd.tar.bz2 scummvm-rg350-a4758dac41e4c53c59c8b85545aeb8d8f5ed62bd.zip |
FULLPIPE: Fix logic in scene25. Now Dude can return back
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/scenes/scene25.cpp | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/engines/fullpipe/scenes/scene25.cpp b/engines/fullpipe/scenes/scene25.cpp index 36cff8fbc6..ec3184a5f4 100644 --- a/engines/fullpipe/scenes/scene25.cpp +++ b/engines/fullpipe/scenes/scene25.cpp @@ -365,7 +365,7 @@ void sceneHandler25_tryRow(int obj) { g_fp->_aniMan->getPicAniInfo(&info); g_fp->_aniMan->_messageQueueId = 0; - g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000); + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT | 0x4000); int x = g_fp->_aniMan->_ox; int y = g_fp->_aniMan->_oy; @@ -377,12 +377,12 @@ void sceneHandler25_tryRow(int obj) { if (x == 788 && y == 468) { if (g_vars->scene25_board->_statics->_staticsId == ST_BRD25_RIGHT2) { if (obj == ANI_INV_BROOM) { - g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000); + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT | 0x4000); qid = QU_SC25_TRYBROOM; } if (obj == ANI_INV_LOPAT) { - g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000); + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT | 0x4000); qid = QU_SC25_TRYSPADE; } @@ -396,18 +396,18 @@ void sceneHandler25_tryRow(int obj) { } if (obj == ANI_INV_SWAB) { - g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000); + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT | 0x4000); chainQueue(QU_SC25_TRYSWAB, 1); } else if (!obj) { - g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000); + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT | 0x4000); chainObjQueue(g_fp->_aniMan, QU_SC25_TRYHAND, 1); g_fp->playSound(SND_25_028, 0); } - } else if (g_vars->scene25_board->_statics->_staticsId == (ST_MAN_RIGHT|0x4000) && !obj) { - g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT|0x4000); + } else if (g_vars->scene25_board->_statics->_staticsId == (ST_BRD25_RIGHT2 | 0x4000) && !obj) { + g_fp->_aniMan->changeStatics2(ST_MAN_RIGHT | 0x4000); chainQueue(QU_SC25_TRUBATOBOARD, 1); @@ -645,7 +645,7 @@ int sceneHandler25(ExCommand *cmd) { if ((picId == PIC_SC25_LADDERUP || picId == PIC_SC25_LADDERDOWN) && sceneHandler25_isOnLadder(cmd)) cmd->_messageKind = 0; - break; + return 0; } StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY); @@ -656,23 +656,31 @@ int sceneHandler25(ExCommand *cmd) { if (!(g_fp->_aniMan->_flags & 0x100)) { if (ani->_id == ANI_WATER25) { if (g_vars->scene25_dudeIsOnBoard) { - if (cmd->_param == ANI_INV_LOPAT) + if (cmd->_param == ANI_INV_LOPAT) { sceneHandler25_rowShovel(); + return 0; + } - if (!cmd->_param) + if (!cmd->_param) { sceneHandler25_rowHand(); + return 0; + } } else { - if (cmd->_param == ANI_INV_BOARD) + if (cmd->_param == ANI_INV_BOARD) { sceneHandler25_putBoard(); + return 0; + } - if (!cmd->_param) + if (!cmd->_param) { sceneHandler25_tryWater(); + return 0; + } } } else if (ani->_id == ANI_BOARD25) { sceneHandler25_tryRow(cmd->_param); - break; + return 0; } - break; + return 0; } } } @@ -682,37 +690,37 @@ int sceneHandler25(ExCommand *cmd) { cmd->_messageKind = 0; if (!g_fp->_aniMan->isIdle() || (g_fp->_aniMan->_flags & 0x100)) - break; + return 0; if (g_vars->scene25_dudeIsOnBoard) { if (picId == PIC_SC25_RTRUBA && !cmd->_param) { sceneHandler25_enterTruba(); - break; + return 0; } } else { if (picId != PIC_SC25_RTRUBA) { if (picId == PIC_SC25_LADDERUP && !cmd->_param) sceneHandler25_ladderUp(); - break; + return 0; } if (!cmd->_param) { sceneHandler25_backToPipe(); - break; + return 0; } } if (g_vars->scene25_dudeIsOnBoard) { if (picId != PIC_SC25_LADDERUP || cmd->_param) - break; + return 0; sceneHandler25_toLadder(); - break; + return 0; } if (picId == PIC_SC25_LADDERUP && !cmd->_param) sceneHandler25_ladderUp(); - break; + return 0; } } |