aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-22 01:09:17 +0200
committerEugene Sandulenko2013-12-22 01:09:17 +0200
commit787868c1db40976441ddfc49211ea08f14af0fea (patch)
treee81fbe3e26c88f5dee64fd808527f334f81e477c
parent9ef756e8d7062999052d71e512a996c80c70af4c (diff)
downloadscummvm-rg350-787868c1db40976441ddfc49211ea08f14af0fea.tar.gz
scummvm-rg350-787868c1db40976441ddfc49211ea08f14af0fea.tar.bz2
scummvm-rg350-787868c1db40976441ddfc49211ea08f14af0fea.zip
FULLPIPE: Implement scene10_updateCursor() and enable scene10
-rw-r--r--engines/fullpipe/scenes.cpp2
-rw-r--r--engines/fullpipe/scenes.h4
-rw-r--r--engines/fullpipe/scenes/scene10.cpp21
3 files changed, 27 insertions, 0 deletions
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index d820bc0d14..1ab512c31d 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -381,6 +381,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
insertMessageHandler(sceneHandler09, 2, 2);
_updateCursorCallback = scene09_updateCursor;
break;
+#endif
case SC_10:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_10");
@@ -393,6 +394,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
_updateCursorCallback = scene10_updateCursor;
break;
+#if 0
case SC_11:
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_11");
scene->preloadMovements(sceneVar);
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 7db6ff1e7b..38c3fb3fb6 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -67,6 +67,10 @@ void scene08_setupMusic();
int sceneHandler08(ExCommand *cmd);
int scene08_updateCursor();
+void scene10_initScene(Scene *sc);
+int sceneHandler10(ExCommand *cmd);
+int scene10_updateCursor();
+
void sceneDbgMenu_initScene(Scene *sc);
int sceneHandlerDbgMenu(ExCommand *cmd);
diff --git a/engines/fullpipe/scenes/scene10.cpp b/engines/fullpipe/scenes/scene10.cpp
index 7cb277928d..44446439f3 100644
--- a/engines/fullpipe/scenes/scene10.cpp
+++ b/engines/fullpipe/scenes/scene10.cpp
@@ -52,6 +52,27 @@ void scene10_initScene(Scene *sc) {
}
}
+bool sceneHandler10_inflaterIsBlind() {
+ warning("STUB: sceneHandler10_inflaterIsBlind()");
+
+ return false;
+}
+
+int scene10_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_objectIdAtCursor == ANI_PACHKA || g_fp->_objectIdAtCursor == ANI_GUM) {
+ if (g_fp->_cursorId == PIC_CSR_ITN) {
+ if (g_vars->scene10_hasGum)
+ g_fp->_cursorId = (sceneHandler10_inflaterIsBlind() != 0) ? PIC_CSR_ITN_RED : PIC_CSR_ITN_GREEN;
+ else
+ g_fp->_cursorId = PIC_CSR_DEFAULT;
+ }
+ }
+
+ return g_fp->_cursorId;
+}
+
void sceneHandler10_clickGum() {
warning("STUB: sceneHandler10_clickGum()");
}