aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes
diff options
context:
space:
mode:
authorEugene Sandulenko2016-10-02 22:04:06 +0200
committerEugene Sandulenko2016-10-02 22:04:31 +0200
commit55d9b5e2551c9522c703e98c398294edcbd6cb92 (patch)
tree16dd99d2e6e80932470bccdccc5cefff5243fc27 /engines/fullpipe/scenes
parent58f3816f3e5f152a30f9d970b036b280fa98df8b (diff)
downloadscummvm-rg350-55d9b5e2551c9522c703e98c398294edcbd6cb92.tar.gz
scummvm-rg350-55d9b5e2551c9522c703e98c398294edcbd6cb92.tar.bz2
scummvm-rg350-55d9b5e2551c9522c703e98c398294edcbd6cb92.zip
FULLPIPE: More corrections to scene logic in scene11
Diffstat (limited to 'engines/fullpipe/scenes')
-rw-r--r--engines/fullpipe/scenes/scene11.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp
index 0eab1e3a59..a1cad38f57 100644
--- a/engines/fullpipe/scenes/scene11.cpp
+++ b/engines/fullpipe/scenes/scene11.cpp
@@ -232,6 +232,8 @@ int sceneHandler11_updateScreenCallback() {
}
void sceneHandler11_manToSwing() {
+ debugC(1, kDebugSceneLogic, "sceneHandler11_manToSwing()");
+
g_vars->scene11_arcadeIsOn = true;
getCurrSceneSc2MotionController()->deactivate();
@@ -696,6 +698,7 @@ int sceneHandler11(ExCommand *cmd) {
if (g_vars->scene11_swingDirection == dir1 || dir2 <= 0 || g_vars->scene11_swingCounter - dir2 <= 2) {
LABEL_49:
if (g_vars->scene11_arcadeIsOn) {
+ LABEL_61:
g_fp->_behaviorManager->updateBehaviors();
g_fp->startSceneTrack();
return res;
@@ -719,9 +722,7 @@ int sceneHandler11(ExCommand *cmd) {
g_vars->scene11_swingie->startAnim(MV_SWR_SWING, 0, -1);
}
}
- g_fp->_behaviorManager->updateBehaviors();
- g_fp->startSceneTrack();
- return res;
+ goto LABEL_61;
}
if (dir1 == 1) {
@@ -777,14 +778,16 @@ int sceneHandler11(ExCommand *cmd) {
&& cmd->_param == ANI_INV_BOOT)
sceneHandler11_putBoot();
} else {
- if (g_vars->scene11_arcadeIsOn) {
- sceneHandler11_setSwingDirection();
+ if (!g_vars->scene11_arcadeIsOn)
+ goto LABEL_69;
- g_vars->scene11_swingCounterPrevTurn = g_vars->scene11_swingCounter;
- }
+ sceneHandler11_setSwingDirection();
+
+ g_vars->scene11_swingCounterPrevTurn = g_vars->scene11_swingCounter;
}
if (!g_vars->scene11_arcadeIsOn) {
+ LABEL_69:
StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
if (!ani || !canInteractAny(g_fp->_aniMan, ani, cmd->_param)) {