aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-12-22 00:51:13 +0200
committerEugene Sandulenko2013-12-22 00:58:42 +0200
commitbccb4d8f00b6f5abf404bcabbd53817c4d407a83 (patch)
treea888adbfe855ac01b7c265f149c8bfad532c476a /engines
parentc3ee5b4fed3558c42e3637a589159cb2faeb1df3 (diff)
downloadscummvm-rg350-bccb4d8f00b6f5abf404bcabbd53817c4d407a83.tar.gz
scummvm-rg350-bccb4d8f00b6f5abf404bcabbd53817c4d407a83.tar.bz2
scummvm-rg350-bccb4d8f00b6f5abf404bcabbd53817c4d407a83.zip
FULLPIPE: More code to scene08
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/constants.h2
-rw-r--r--engines/fullpipe/scenes/scene08.cpp35
2 files changed, 28 insertions, 9 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index ee5bf249e3..a55bfc8c4c 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -287,6 +287,7 @@ namespace Fullpipe {
#define PIC_SC6_LADDER 1104
#define PIC_SC8_ARCADENOW 1043
#define PIC_SC8_LADDER 754
+#define PIC_SC8_LADDER_D 755
#define PIC_SC8_LADDERD 1106
#define PIC_SC10_DTRUBA 974
#define PIC_SC10_LADDER 995
@@ -330,6 +331,7 @@ namespace Fullpipe {
#define QU_SC6_FALLBALL 2690
#define QU_SC6_SHOWHANDLE 1689
#define QU_SC6_SHOWNEXTBALL 2689
+#define QU_SC8_STANDUP 2975
#define QU_SC10_ENTERLIFT 1067
#define QU_SC10_EXITLIFT 2809
#define SC_1 301
diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp
index d3e81cbe0d..a523dd94c0 100644
--- a/engines/fullpipe/scenes/scene08.cpp
+++ b/engines/fullpipe/scenes/scene08.cpp
@@ -129,16 +129,22 @@ int scene08_updateCursor() {
return g_fp->_cursorId;
}
-void sceneHandler08_winArcade() {
- warning("STUB: sceneHandler08_winArcade()");
-}
-
void sceneHandler08_enterUp() {
warning("STUB: sceneHandler08_enterUp()");
}
+void sceneHandler08_winArcade() {
+ if (g_vars->scene08_var06) {
+ g_vars->scene08_var06 = 0;
+ g_fp->_sceneRect.top = 0;
+ g_fp->_sceneRect.bottom = 600;
+
+ sceneHandler08_enterUp();
+ }
+}
+
void sceneHandler08_hideLadder() {
- warning("STUB: sceneHandler08_hideLadder()");
+ g_fp->_currentScene->getPictureObjectById(PIC_SC8_LADDER_D, 0)->_flags &= 0xFFFB;
}
void sceneHandler08_arcadeNow() {
@@ -153,7 +159,10 @@ void sceneHandler08_arcadeNow() {
}
void sceneHandler08_resumeFlight() {
- warning("STUB: sceneHandler08_resumeFlight()");
+ g_vars->scene08_var08 = 3;
+ g_vars->scene08_var04 = -39;
+ g_vars->scene08_var01 = 1;
+ g_vars->scene08_var07 = 0;
}
void sceneHandler08_startArcade() {
@@ -201,11 +210,19 @@ void sceneHandler08_sitDown() {
}
void sceneHandler08_standUp() {
- warning("STUB: sceneHandler08_standUp()");
+ chainQueue(QU_SC8_STANDUP, 1);
+ g_vars->scene08_var03 = 0;
}
-void sceneHandler08_updateScreenCallback() {
- warning("STUB: sceneHandler08_updateScreenCallback()");
+int sceneHandler08_updateScreenCallback() {
+ int res;
+
+ res = g_fp->drawArcadeOverlay(g_vars->scene08_var06);
+
+ if (!res)
+ g_fp->_updateScreenCallback = 0;
+
+ return res;
}
int sceneHandler08(ExCommand *cmd) {