aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
authorEugene Sandulenko2014-02-05 23:58:21 +0200
committerEugene Sandulenko2014-02-05 23:58:44 +0200
commita231d6c7d2a28a92830a347cee1654a97da4ca59 (patch)
tree8c4602eea98482f7d69db6a0e625614eac097d88 /engines/fullpipe
parentff50ea73bf98445faf30cfda2482d532ed5c2a38 (diff)
downloadscummvm-rg350-a231d6c7d2a28a92830a347cee1654a97da4ca59.tar.gz
scummvm-rg350-a231d6c7d2a28a92830a347cee1654a97da4ca59.tar.bz2
scummvm-rg350-a231d6c7d2a28a92830a347cee1654a97da4ca59.zip
FULLPIPE: Bugfix in scene27
Diffstat (limited to 'engines/fullpipe')
-rw-r--r--engines/fullpipe/scenes/scene27.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp
index 6ca0cb8fc0..1807266c23 100644
--- a/engines/fullpipe/scenes/scene27.cpp
+++ b/engines/fullpipe/scenes/scene27.cpp
@@ -33,6 +33,7 @@
#include "fullpipe/interaction.h"
#include "fullpipe/behavior.h"
+#define DBG 1
namespace Fullpipe {
@@ -243,6 +244,11 @@ void sceneHandler27_clickBat(ExCommand *cmd) {
int bx = g_vars->scene27_bat->_ox - 5;
int by = g_vars->scene27_bat->_oy - 71;
+#if DBG
+ sceneHandler27_throwBat();
+ return;
+#endif
+
if (ABS(bx - g_fp->_aniMan->_ox) > 1 || ABS(by - g_fp->_aniMan->_oy) > 1
|| g_fp->_aniMan->_movement || g_fp->_aniMan->_statics->_staticsId != ST_MAN_RIGHT) {
MessageQueue *mq = getCurrSceneSc2MotionController()->method34(g_fp->_aniMan, bx, by, 1, ST_MAN_RIGHT);
@@ -258,6 +264,9 @@ void sceneHandler27_clickBat(ExCommand *cmd) {
}
void sceneHandler27_maidSwab() {
+#if DBG
+ return;
+#endif
if (g_fp->getObjectState(sO_Maid) == g_fp->getObjectEnumState(sO_Maid, sO_WithSwab))
g_vars->scene27_maid->changeStatics2(ST_MID_SWAB);
}
@@ -343,8 +352,10 @@ bool sceneHandler27_batFallLogic(int batn) {
if (bat->currX - y > 15.0 || bat->ani->_statics->_staticsId == ST_BTA_FALL) {
bat->ani->_priority = 2020;
- g_vars->scene27_var07.remove_at(batn);
g_vars->scene27_var07.push_back(bat);
+
+ if (batn != g_vars->scene27_var07.size() - 1)
+ g_vars->scene27_var07.remove_at(batn);
} else if (!bat->ani->_movement) {
bat->ani->startAnim(MV_BTA_FALL, 0, -1);
}