diff options
author | Eugene Sandulenko | 2014-01-05 15:00:55 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-05 17:13:31 +0200 |
commit | 634fd658c9e547f55449e0f2b40ce899946094b9 (patch) | |
tree | 53715de8b14cc9133659d911ce58703b07f925cb | |
parent | f615eb489847bb376fd6efc8f2bde850871329f7 (diff) | |
download | scummvm-rg350-634fd658c9e547f55449e0f2b40ce899946094b9.tar.gz scummvm-rg350-634fd658c9e547f55449e0f2b40ce899946094b9.tar.bz2 scummvm-rg350-634fd658c9e547f55449e0f2b40ce899946094b9.zip |
FULLPIPE: Implement sceneHandler25_rowHand()
-rw-r--r-- | engines/fullpipe/constants.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene25.cpp | 29 |
2 files changed, 30 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 91d73e7cd5..7b943790db 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -893,6 +893,8 @@ namespace Fullpipe { #define QU_SC25_MANTOTRUBA 1905 #define QU_SC25_MANTOTRUBA_R 4218 #define QU_SC25_PUTBOARD 1896 +#define QU_SC25_TRYROWHAND 3493 +#define QU_SC25_TRYROWHAND_R 3494 #define QU_SC25_TRYWATER 1906 #define SND_25_006 4059 #define SND_25_025 4874 diff --git a/engines/fullpipe/scenes/scene25.cpp b/engines/fullpipe/scenes/scene25.cpp index ba84fef22c..10cd18a282 100644 --- a/engines/fullpipe/scenes/scene25.cpp +++ b/engines/fullpipe/scenes/scene25.cpp @@ -220,7 +220,34 @@ void sceneHandler25_rowShovel() { } void sceneHandler25_rowHand() { - warning("STUB: sceneHandler25_rowHand()"); + PicAniInfo info; + + g_fp->_aniMan->getPicAniInfo(&info); + g_fp->_aniMan->_messageQueueId = 0; + g_fp->_aniMan->changeStatics2(g_fp->_aniMan->_statics->_staticsId); + + int x = g_fp->_aniMan->_ox; + int y = g_fp->_aniMan->_oy; + + g_fp->_aniMan->setPicAniInfo(&info); + + int id = g_fp->_aniMan->_statics->_staticsId; + int qid = 0; + + if (id == ST_MAN25_ONBOARD && x == 370 && y == 502) { + g_fp->_aniMan->changeStatics2(ST_MAN25_ONBOARD); + + qid = QU_SC25_TRYROWHAND; + } else if (id == (ST_MAN25_ONBOARD|0x4000) && x == 632 && y == 502) { + g_fp->_aniMan->changeStatics2(ST_MAN25_ONBOARD|0x4000); + + qid = QU_SC25_TRYROWHAND_R; + } + + if (qid) + chainObjQueue(g_fp->_aniMan, qid, 1); + + g_vars->scene25_var12 = 0; } void sceneHandler25_putBoard() { |