diff options
-rw-r--r-- | engines/fullpipe/constants.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene38.cpp | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index ed070218e7..86c8834b3f 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -1305,6 +1305,8 @@ namespace Fullpipe { #define ANI_DYLDA 2169 #define ANI_GLAVAR 2154 #define ANI_MALYSH 2165 +#define QU_SC38_SHOWBOTTLE 2199 +#define QU_SC38_SHOWBOTTLE_ONTABLE 2838 #define QU_SC38_ENTERLIFT 2836 #define QU_SC38_EXITLIFT 2837 diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp index 3a53c0f6f0..0b534614b5 100644 --- a/engines/fullpipe/scenes/scene38.cpp +++ b/engines/fullpipe/scenes/scene38.cpp @@ -37,7 +37,18 @@ namespace Fullpipe { void scene38_setBottleState(Scene *sc) { - warning("STUB: scene38_setBottleState()"); + ExCommand *ex = sc->getMessageQueueById(QU_SC38_SHOWBOTTLE_ONTABLE)->getExCommandByIndex(0); + + if (g_vars->scene38_bottle->_ox == ex->_x && g_vars->scene38_bottle->_oy == ex->_y) { + if (g_fp->lift_checkButton(sO_Level5) ) { + ex = sc->getMessageQueueById(QU_SC38_SHOWBOTTLE)->getExCommandByIndex(0); + + g_vars->scene38_bottle->setOXY(ex->_x, ex->_y); + g_vars->scene38_bottle->_priority = ex->_field_14; + + g_fp->setObjectState(sO_Bottle_38, g_fp->getObjectEnumState(sO_Bottle_38, sO_Blocked)); + } + } } void scene38_initScene(Scene *sc) { |