aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-11-20 12:18:02 -0800
committerEugene Sandulenko2013-11-20 12:18:02 -0800
commitdf339806915a176fc57fa4ac1639949a876abd9d (patch)
treed7794979ea2f4e29a860800d495995e1cae16b14 /engines
parent24bfdd9e7c6e8c6afd9038c3f4012fccebe66a81 (diff)
downloadscummvm-rg350-df339806915a176fc57fa4ac1639949a876abd9d.tar.gz
scummvm-rg350-df339806915a176fc57fa4ac1639949a876abd9d.tar.bz2
scummvm-rg350-df339806915a176fc57fa4ac1639949a876abd9d.zip
FULLPIPE: Move sceneIntro to separate file
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/module.mk3
-rw-r--r--engines/fullpipe/scenes.cpp97
-rw-r--r--engines/fullpipe/scenes.h21
-rw-r--r--engines/fullpipe/scenes/sceneIntro.cpp109
4 files changed, 132 insertions, 98 deletions
diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk
index 2a64f7eb77..54b82a75a2 100644
--- a/engines/fullpipe/module.mk
+++ b/engines/fullpipe/module.mk
@@ -22,7 +22,8 @@ MODULE_OBJS = \
sound.o \
stateloader.o \
statics.o \
- utils.o
+ utils.o \
+ scenes/sceneIntro.o
# This module can be built as a plugin
ifeq ($(ENABLE_FULLPIPE), DYNAMIC_PLUGIN)
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 481dc5f68d..39336431a7 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -43,27 +43,6 @@
namespace Fullpipe {
-int defaultUpdateCursor();
-
-int sceneIntro_updateCursor();
-void sceneIntro_initScene(Scene *sc);
-int sceneHandlerIntro(ExCommand *cmd);
-
-void scene01_fixEntrance();
-void scene01_initScene(Scene *sc, int entrance);
-int sceneHandler01(ExCommand *cmd);
-
-void scene02_initScene(Scene *sc);
-int sceneHandler02(ExCommand *ex);
-
-void scene03_setEaterState();
-int scene03_updateCursor();
-void scene03_initScene(Scene *sc);
-int sceneHandler03(ExCommand *cmd);
-
-void sceneDbgMenu_initScene(Scene *sc);
-int sceneHandlerDbgMenu(ExCommand *cmd);
-
Vars::Vars() {
sceneIntro_aniin1man = 0;
sceneIntro_needSleep = true;
@@ -690,12 +669,6 @@ int defaultUpdateCursor() {
return g_fullpipe->_cursorId;
}
-int sceneIntro_updateCursor() {
- g_fullpipe->_cursorId = 0;
-
- return 0;
-}
-
void FullpipeEngine::setSwallowedEggsState() {
GameVar *v = _gameLoader->_gameVar->getSubVarByName("OBJSTATES")->getSubVarByName(sO_GulpedEggs);
@@ -708,76 +681,6 @@ void FullpipeEngine::setSwallowedEggsState() {
g_vars->swallowedEgg3->_value.intValue = 0;
}
-void sceneIntro_initScene(Scene *sc) {
- g_fullpipe->_gameLoader->loadScene(SC_INTRO2);
-
- g_vars->sceneIntro_aniin1man = sc->getStaticANIObject1ById(ANI_IN1MAN, -1);
- g_vars->sceneIntro_needSleep = true;
- g_vars->sceneIntro_needGetup = false;
- g_vars->sceneIntro_playing = true;
- g_vars->sceneIntro_needBlackout = false;
-
- if (g_fullpipe->_recordEvents || g_fullpipe->_inputArFlag)
- g_vars->sceneIntro_skipIntro = false;
-
- g_fullpipe->_modalObject = new ModalIntro;
-}
-
-void sceneHandlerIntro_part1() {
- g_fullpipe->_currentScene = g_fullpipe->accessScene(SC_INTRO1);
- chainQueue(QU_INTR_FINISH, 0);
-}
-
-void sceneHandlerIntro_part2() {
- g_fullpipe->_currentScene = g_fullpipe->accessScene(SC_INTRO2);
- chainQueue(QU_IN2_DO, 0);
-}
-
-int sceneHandlerIntro(ExCommand *ex) {
- if (ex->_messageKind != 17)
- return 0;
-
- switch (ex->_messageNum) {
- case MSG_INTR_ENDINTRO:
- g_vars->sceneIntro_playing = 0;
- return 0;
-
- case MSG_INTR_SWITCHTO1:
- sceneHandlerIntro_part1();
- return 0;
-
- case MSG_INTR_GETUPMAN:
- g_vars->sceneIntro_needSleep = 0;
- g_vars->sceneIntro_needGetup = 1;
- return 0;
-
- case MSG_INTR_SWITCHTO2:
- sceneHandlerIntro_part2();
- return 0;
-
- case 33:
- // fall through
- break;
-
- default:
- return 0;
- }
-
- if (g_vars->sceneIntro_needSleep) {
- if (!g_vars->sceneIntro_aniin1man->_movement && g_vars->sceneIntro_aniin1man->_statics->_staticsId == ST_IN1MAN_SLEEP)
- g_vars->sceneIntro_aniin1man->startAnim(MV_IN1MAN_SLEEP, 0, -1);
- } else if (g_vars->sceneIntro_needGetup && !g_vars->sceneIntro_aniin1man->_movement &&
- g_vars->sceneIntro_aniin1man->_statics->_staticsId == ST_IN1MAN_SLEEP) {
- g_vars->sceneIntro_needGetup = 0;
-
- chainQueue(QU_INTR_GETUPMAN, 0);
- }
-
- g_fullpipe->startSceneTrack();
-
- return 0;
-}
-
void scene01_fixEntrance() {
GameVar *var = g_fullpipe->getGameLoaderGameVar()->getSubVarByName("OBJSTATES")->getSubVarByName("SAVEGAME");
if (var->getSubVarAsInt("Entrance") == TrubaLeft)
diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h
index 4be8d8975a..180d8231a3 100644
--- a/engines/fullpipe/scenes.h
+++ b/engines/fullpipe/scenes.h
@@ -27,6 +27,27 @@ namespace Fullpipe {
class StaticANIObject;
+int defaultUpdateCursor();
+
+int sceneIntro_updateCursor();
+void sceneIntro_initScene(Scene *sc);
+int sceneHandlerIntro(ExCommand *cmd);
+
+void scene01_fixEntrance();
+void scene01_initScene(Scene *sc, int entrance);
+int sceneHandler01(ExCommand *cmd);
+
+void scene02_initScene(Scene *sc);
+int sceneHandler02(ExCommand *ex);
+
+void scene03_setEaterState();
+int scene03_updateCursor();
+void scene03_initScene(Scene *sc);
+int sceneHandler03(ExCommand *cmd);
+
+void sceneDbgMenu_initScene(Scene *sc);
+int sceneHandlerDbgMenu(ExCommand *cmd);
+
class Vars {
public:
Vars();
diff --git a/engines/fullpipe/scenes/sceneIntro.cpp b/engines/fullpipe/scenes/sceneIntro.cpp
new file mode 100644
index 0000000000..d60f90faf7
--- /dev/null
+++ b/engines/fullpipe/scenes/sceneIntro.cpp
@@ -0,0 +1,109 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "fullpipe/fullpipe.h"
+
+#include "fullpipe/constants.h"
+#include "fullpipe/gameloader.h"
+#include "fullpipe/scenes.h"
+#include "fullpipe/modal.h"
+#include "fullpipe/statics.h"
+
+namespace Fullpipe {
+
+int sceneIntro_updateCursor() {
+ g_fullpipe->_cursorId = 0;
+
+ return 0;
+}
+
+void sceneIntro_initScene(Scene *sc) {
+ g_fullpipe->_gameLoader->loadScene(SC_INTRO2);
+
+ g_vars->sceneIntro_aniin1man = sc->getStaticANIObject1ById(ANI_IN1MAN, -1);
+ g_vars->sceneIntro_needSleep = true;
+ g_vars->sceneIntro_needGetup = false;
+ g_vars->sceneIntro_playing = true;
+ g_vars->sceneIntro_needBlackout = false;
+
+ if (g_fullpipe->_recordEvents || g_fullpipe->_inputArFlag)
+ g_vars->sceneIntro_skipIntro = false;
+
+ g_fullpipe->_modalObject = new ModalIntro;
+}
+
+void sceneHandlerIntro_part1() {
+ g_fullpipe->_currentScene = g_fullpipe->accessScene(SC_INTRO1);
+ chainQueue(QU_INTR_FINISH, 0);
+}
+
+void sceneHandlerIntro_part2() {
+ g_fullpipe->_currentScene = g_fullpipe->accessScene(SC_INTRO2);
+ chainQueue(QU_IN2_DO, 0);
+}
+
+int sceneHandlerIntro(ExCommand *ex) {
+ if (ex->_messageKind != 17)
+ return 0;
+
+ switch (ex->_messageNum) {
+ case MSG_INTR_ENDINTRO:
+ g_vars->sceneIntro_playing = 0;
+ return 0;
+
+ case MSG_INTR_SWITCHTO1:
+ sceneHandlerIntro_part1();
+ return 0;
+
+ case MSG_INTR_GETUPMAN:
+ g_vars->sceneIntro_needSleep = 0;
+ g_vars->sceneIntro_needGetup = 1;
+ return 0;
+
+ case MSG_INTR_SWITCHTO2:
+ sceneHandlerIntro_part2();
+ return 0;
+
+ case 33:
+ // fall through
+ break;
+
+ default:
+ return 0;
+ }
+
+ if (g_vars->sceneIntro_needSleep) {
+ if (!g_vars->sceneIntro_aniin1man->_movement && g_vars->sceneIntro_aniin1man->_statics->_staticsId == ST_IN1MAN_SLEEP)
+ g_vars->sceneIntro_aniin1man->startAnim(MV_IN1MAN_SLEEP, 0, -1);
+ } else if (g_vars->sceneIntro_needGetup && !g_vars->sceneIntro_aniin1man->_movement &&
+ g_vars->sceneIntro_aniin1man->_statics->_staticsId == ST_IN1MAN_SLEEP) {
+ g_vars->sceneIntro_needGetup = 0;
+
+ chainQueue(QU_INTR_GETUPMAN, 0);
+ }
+
+ g_fullpipe->startSceneTrack();
+
+ return 0;
+}
+
+} // End of namespace Fullpipe