diff options
author | Eugene Sandulenko | 2013-12-04 21:57:46 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2013-12-04 23:48:24 +0200 |
commit | 76eb512458e14772d9e7ffaa7b9633a5c7d0ceb8 (patch) | |
tree | 5f02edebb93f9bc3ea854bb6a3866636dbb2d6ca /engines | |
parent | eaf6367bb26b95af7e27ebbbb090664a3ad04e65 (diff) | |
download | scummvm-rg350-76eb512458e14772d9e7ffaa7b9633a5c7d0ceb8.tar.gz scummvm-rg350-76eb512458e14772d9e7ffaa7b9633a5c7d0ceb8.tar.bz2 scummvm-rg350-76eb512458e14772d9e7ffaa7b9633a5c7d0ceb8.zip |
FULLPIPE: Implement sceneHandler04_takeKozyawka()
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/scenes/scene04.cpp | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 98ded32599..fff1e7e438 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -474,14 +474,35 @@ void sceneHandler04_sub17() { } void sceneHandler04_takeBottle() { - g_vars->scene04_var02 = 1; - g_vars->scene04_hand->_priority = 5; + g_vars->scene04_var02 = 1; + g_vars->scene04_hand->_priority = 5; - g_fullpipe->setObjectState(sO_LowerPipe, g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsOpened)); + g_fullpipe->setObjectState(sO_LowerPipe, g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsOpened)); } void sceneHandler04_takeKozyawka() { - warning("sceneHandler04_takeKozyawka()"); + if (g_vars->scene04_kozyawkiAni.size() > 0) { + if (g_vars->scene04_kozyawkiAni.size() == 1) + g_vars->scene04_var19 = 1; + + StaticANIObject *koz = g_vars->scene04_kozyawkiAni.front(); + g_vars->scene04_kozyawkiAni.pop_front(); + + if (koz) { + koz->queueMessageQueue(0); + koz->hide(); + + g_vars->scene04_kozyawkiObjList.push_back(koz); + + for (Common::List<GameObject *>::iterator it = g_vars->scene04_bottleObjList.begin(); it != g_vars->scene04_bottleObjList.end(); ++it) + if (*it == koz) { + g_vars->scene04_bottleObjList.erase(it); + break; + } + + g_vars->scene04_var06 -= 2; + } + } } void sceneHandler04_testPlank(ExCommand *ex) { |