diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene27.cpp | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index f61444ebc9..92d66933af 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1105,6 +1105,8 @@ namespace Fullpipe { #define SND_27_027 4128 #define SND_27_044 4687 #define ST_BTA_FALL 2054 +#define ST_BTA_HILITE 2052 +#define ST_BTA_NORM 2028 #define ST_DRV_VENT 1996 #define ST_MID_BROOM 2022 #define ST_MID_SPADE 3489 diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index 52dc42f37c..ef765bed09 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -366,8 +366,20 @@ void sceneHandler27_knockBats(int bat1, int bat2) { warning("STUB: sceneHandler27_knockBats()"); } -void sceneHandler27_batSetColors(int bat) { - warning("STUB: sceneHandler27_batSetColors()"); +void sceneHandler27_batSetColors(int batn) { + Bat *bat = g_vars->scene27_bats[batn]; + + if (g_vars->scene27_hitZone->isPixelHitAtPos((int)bat->currX, (int)bat->currY) ) { + if (bat->ani->_statics->_staticsId == ST_BTA_NORM) { + if (!bat->ani->_movement) + bat->ani->_statics = bat->ani->getStaticsById(ST_BTA_HILITE); + } + } else { + if (bat->ani->_statics->_staticsId == ST_BTA_HILITE) { + if (!bat->ani->_movement) + bat->ani->_statics = bat->ani->getStaticsById(ST_BTA_NORM); + } + } } void sceneHandler27_calcWinArcade() { |