diff options
-rw-r--r-- | engines/fullpipe/constants.h | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes.h | 1 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene18and19.cpp | 20 |
4 files changed, 26 insertions, 0 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index afa5218852..e2152003e7 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -877,6 +877,10 @@ namespace Fullpipe { #define ANI_GIRL18 1484 #define ANI_KRESLO 1459 #define ANI_WHIRLIGIG_18 829 +#define PIC_SC18_DOMIN 5184 +#define PIC_SC18_LADDER1 1471 +#define PIC_SC18_LADDER2 1472 +#define PIC_SC18_LADDER3 3299 #define PIC_SC18_RTRUBA 1520 #define SND_18_006 3906 #define SND_18_010 4994 diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 07f7f76b50..aadbe38db7 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -281,6 +281,7 @@ Vars::Vars() { scene18_var08 = 0; scene18_var03 = false; scene18_var21 = 0; + scene18_var11 = 0; scene18_var12 = 0; scene18_var22 = 1; scene18_var23 = -1; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index bc47831482..5d6856fefe 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -471,6 +471,7 @@ public: int scene18_var08; bool scene18_var03; int scene18_var21; + int scene18_var11; int scene18_var12; int scene18_var22; int scene18_var23; diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp index 033d7052f7..4994a02b87 100644 --- a/engines/fullpipe/scenes/scene18and19.cpp +++ b/engines/fullpipe/scenes/scene18and19.cpp @@ -104,4 +104,24 @@ void scene19_initScene2() { g_vars->scene19_var04 = 300; } +int scene18_updateCursor() { + if (g_vars->scene18_var15) { + g_fp->_cursorId = PIC_CSR_DEFAULT; + } else { + g_fp->updateCursorCommon(); + + if (g_fp->_cursorId == PIC_CSR_ITN) { + if (g_fp->_objectIdAtCursor == PIC_SC18_LADDER1) { + g_fp->_cursorId = (g_vars->scene18_var11 <= 250) ? PIC_CSR_GOD : PIC_CSR_GOU; + } else if (g_fp->_objectIdAtCursor == PIC_SC18_LADDER2 || g_fp->_objectIdAtCursor == PIC_SC18_LADDER3) { + g_fp->_cursorId = PIC_CSR_GOU; + } + } else if (g_fp->_cursorId == PIC_CSR_DEFAULT && g_fp->_objectIdAtCursor == PIC_SC18_DOMIN && g_vars->scene18_domino && (g_vars->scene18_domino->_flags & 4)) { + g_fp->_cursorId = PIC_CSR_ITN; + } + } + + return g_fp->_cursorId; +} + } // End of namespace Fullpipe |