aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2014-01-02 15:02:33 +0200
committerEugene Sandulenko2014-01-02 15:02:33 +0200
commit3d949b1bdfbef9159188e1632ad63ae9f76c65c8 (patch)
tree306da03cbe62c30d314c2b5c1f442a0c04812bee
parent85420834b5d7dac9aca0a536fbd682ab65c54b1d (diff)
downloadscummvm-rg350-3d949b1bdfbef9159188e1632ad63ae9f76c65c8.tar.gz
scummvm-rg350-3d949b1bdfbef9159188e1632ad63ae9f76c65c8.tar.bz2
scummvm-rg350-3d949b1bdfbef9159188e1632ad63ae9f76c65c8.zip
FULLPIPE: Implement scene36_updateCursor()
-rw-r--r--engines/fullpipe/constants.h2
-rw-r--r--engines/fullpipe/scenes/scene36.cpp12
2 files changed, 14 insertions, 0 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 4a0a0dbf23..16dac18ff1 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -771,6 +771,8 @@ namespace Fullpipe {
// Scene 36
#define ANI_SCISSORS_36 2647
#define ANI_ROTOHRUST 2360
+#define PIC_SC36_MASK 5221
+#define ST_RHT_OPEN 2362
// Debug scene
#define PIC_SCD_1 727
diff --git a/engines/fullpipe/scenes/scene36.cpp b/engines/fullpipe/scenes/scene36.cpp
index a979338343..744df72778 100644
--- a/engines/fullpipe/scenes/scene36.cpp
+++ b/engines/fullpipe/scenes/scene36.cpp
@@ -45,4 +45,16 @@ void scene36_initScene(Scene *sc) {
g_vars->scene36_scissors = sc->getStaticANIObject1ById(ANI_SCISSORS_36, -1);
}
+int scene36_updateCursor() {
+ g_fp->updateCursorCommon();
+
+ if (g_fp->_cursorId != PIC_CSR_ITN || g_fp->_objectIdAtCursor != ANI_ROTOHRUST) {
+ if (g_fp->_objectIdAtCursor == PIC_SC36_MASK && g_fp->_cursorId == PIC_CSR_DEFAULT && (g_vars->scene36_scissors->_flags & 4))
+ g_fp->_cursorId = PIC_CSR_ITN;
+ } else if (g_vars->scene36_rotohrust->_statics->_staticsId == ST_RHT_OPEN)
+ g_fp->_cursorId = PIC_CSR_GOL;
+
+ return g_fp->_cursorId;
+}
+
} // End of namespace Fullpipe