FULLPIPE: Implement scene24_setPoolState()

This commit is contained in:
Eugene Sandulenko 2013-12-28 22:14:38 +02:00
parent 0af0d2bc6a
commit d751e719ac
3 changed files with 29 additions and 1 deletions

View File

@ -555,6 +555,12 @@ namespace Fullpipe {
#define ANI_DROP_24 3505
#define ANI_JET24 1837
#define ANI_WATER24 1834
#define QU_DRP24_TOFLOOR 3510
#define QU_DRP24_TOWATER 3509
#define QU_DRP24_TOWATER2 4046
#define SND_24_006 4041
#define SND_24_007 4042
#define ST_DRP24_EMPTY 3507
#define ST_WTR24_FLOWLOWER 1843
} // End of namespace Fullpipe

View File

@ -625,7 +625,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
scene->initObjectCursors("SC_24");
setSceneMusicParameters(sceneVar);
addMessageHandler(sceneHandler24, 2);
scene24_sub_423DD0();
scene24_setPoolState();
_updateCursorCallback = defaultUpdateCursor;
break;

View File

@ -81,4 +81,26 @@ void scene24_initScene(Scene *sc) {
g_fp->_currentScene = oldsc;
}
void scene24_setPoolState() {
if (g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_Overfull)) {
g_fp->_behaviorManager->setFlagByStaticAniObject(g_vars->scene24_drop, 0);
g_fp->playSound(SND_24_007, 1);
} else if (g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_Full)) {
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene24_drop, ST_DRP24_EMPTY, QU_DRP24_TOFLOOR, 0);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene24_drop, ST_DRP24_EMPTY, QU_DRP24_TOWATER, 1);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene24_drop, ST_DRP24_EMPTY, QU_DRP24_TOWATER2, 0);
g_fp->playSound(SND_24_006, 1);
} else if (g_fp->getObjectState(sO_Pool) == g_fp->getObjectEnumState(sO_Pool, sO_HalfFull)) {
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene24_drop, ST_DRP24_EMPTY, QU_DRP24_TOFLOOR, 0);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene24_drop, ST_DRP24_EMPTY, QU_DRP24_TOWATER, 0);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene24_drop, ST_DRP24_EMPTY, QU_DRP24_TOWATER2, 1);
} else {
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene24_drop, ST_DRP24_EMPTY, QU_DRP24_TOFLOOR, 1);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene24_drop, ST_DRP24_EMPTY, QU_DRP24_TOWATER, 0);
g_fp->_behaviorManager->setBehaviorEnabled(g_vars->scene24_drop, ST_DRP24_EMPTY, QU_DRP24_TOWATER2, 0);
}
}
} // End of namespace Fullpipe