2013-07-19 22:01:05 +00:00
|
|
|
/* 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"
|
|
|
|
|
2013-07-20 18:28:32 +00:00
|
|
|
#include "fullpipe/utils.h"
|
|
|
|
#include "fullpipe/objects.h"
|
|
|
|
#include "fullpipe/statics.h"
|
|
|
|
#include "fullpipe/gameloader.h"
|
2013-07-21 20:22:04 +00:00
|
|
|
#include "fullpipe/motion.h"
|
2013-07-22 15:46:03 +00:00
|
|
|
#include "fullpipe/input.h"
|
2013-07-23 10:33:28 +00:00
|
|
|
#include "fullpipe/behavior.h"
|
2013-07-20 18:28:32 +00:00
|
|
|
|
2013-07-30 09:36:33 +00:00
|
|
|
#include "fullpipe/constants.h"
|
2013-08-06 21:43:08 +00:00
|
|
|
#include "fullpipe/scenes.h"
|
2013-08-11 10:39:05 +00:00
|
|
|
#include "fullpipe/interaction.h"
|
2013-07-20 18:28:32 +00:00
|
|
|
|
2013-07-19 22:01:05 +00:00
|
|
|
namespace Fullpipe {
|
|
|
|
|
2013-08-06 21:43:08 +00:00
|
|
|
Vars::Vars() {
|
|
|
|
sceneIntro_aniin1man = 0;
|
|
|
|
sceneIntro_needSleep = true;
|
|
|
|
sceneIntro_needGetup = false;
|
|
|
|
sceneIntro_skipIntro = true;
|
|
|
|
sceneIntro_playing = false;
|
|
|
|
sceneIntro_needBlackout = false;
|
2013-08-19 21:34:15 +00:00
|
|
|
|
|
|
|
swallowedEgg1 = 0;
|
|
|
|
swallowedEgg2 = 0;
|
|
|
|
swallowedEgg3 = 0;
|
|
|
|
|
|
|
|
scene01_picSc01Osk = 0;
|
|
|
|
scene01_picSc01Osk2 = 0;
|
2013-09-14 23:01:20 +00:00
|
|
|
|
2013-11-18 16:25:48 +00:00
|
|
|
scene02_guvTheDrawer = 0;
|
2013-11-19 21:07:20 +00:00
|
|
|
scene02_boxDelay = 0;
|
2013-11-18 16:25:48 +00:00
|
|
|
scene02_boxOpen = false;
|
|
|
|
|
2013-11-03 22:28:13 +00:00
|
|
|
scene03_eggeater = 0;
|
|
|
|
scene03_domino = 0;
|
|
|
|
|
2013-11-21 15:44:52 +00:00
|
|
|
scene04_bottle = 0;
|
|
|
|
scene04_hand = 0;
|
|
|
|
scene04_plank = 0;
|
|
|
|
scene04_clock = 0;
|
|
|
|
scene04_hand = 0;
|
|
|
|
scene04_spring = 0;
|
|
|
|
scene04_mamasha = 0;
|
|
|
|
scene04_boot = 0;
|
|
|
|
scene04_speaker = 0;
|
|
|
|
|
|
|
|
scene04_ladder = 0;
|
|
|
|
scene04_coinPut = false;
|
|
|
|
scene04_soundPlaying = false;
|
|
|
|
scene04_dynamicPhaseIndex = 0;
|
2013-12-12 14:13:10 +00:00
|
|
|
scene04_dudeOnLadder = false;
|
2013-11-21 15:44:52 +00:00
|
|
|
|
2013-11-22 05:04:24 +00:00
|
|
|
scene04_sceneClickX = 0;
|
|
|
|
scene04_sceneClickY = 0;
|
|
|
|
|
2013-11-30 22:47:35 +00:00
|
|
|
scene04_dudePosX = 0;
|
|
|
|
scene04_dudePosY = 0;
|
|
|
|
|
2013-12-14 13:48:35 +00:00
|
|
|
scene04_bottleIsTaken = false;
|
|
|
|
scene04_kozyawkaOnLadder = false;
|
2013-11-28 04:41:50 +00:00
|
|
|
scene04_walkingKozyawka = 0;
|
2013-12-11 12:22:21 +00:00
|
|
|
scene04_bottleWeight = 0;
|
2013-12-14 13:48:35 +00:00
|
|
|
scene04_var07 = false;
|
|
|
|
scene04_ladderClickable = false;
|
|
|
|
scene04_handIsDown = false;
|
|
|
|
scene04_dudeInBottle = false;
|
|
|
|
scene04_kozHeadRaised = false;
|
|
|
|
scene04_bottleIsDropped = false;
|
|
|
|
scene04_bigBallIn = false;
|
|
|
|
scene04_bigBallCounter = 0;
|
2013-12-14 14:12:40 +00:00
|
|
|
scene04_bigBallFromLeft = false;
|
2013-11-29 08:06:07 +00:00
|
|
|
scene04_speakerVariant = 0;
|
|
|
|
scene04_speakerPhase = 0;
|
2013-12-14 14:12:40 +00:00
|
|
|
scene04_clockCanGo = false;
|
|
|
|
scene04_objectIsTaken = false;
|
|
|
|
scene04_springOffset = 0;
|
|
|
|
scene04_lastKozyawka = 0;
|
|
|
|
scene04_springDelay = 0;
|
2013-12-01 15:07:23 +00:00
|
|
|
scene04_bottleY = 0;
|
2013-12-08 13:38:27 +00:00
|
|
|
scene04_ladderOffset = 0;
|
2013-11-21 15:44:52 +00:00
|
|
|
|
2013-12-14 15:38:14 +00:00
|
|
|
scene05_handle = 0;
|
|
|
|
scene05_wacko = 0;
|
|
|
|
scene05_bigHatch = 0;
|
2013-12-15 14:45:28 +00:00
|
|
|
scene05_wackoTicker = 0;
|
|
|
|
scene05_handleFlipper = 0;
|
|
|
|
scene05_floatersTicker = 0;
|
2013-12-14 15:38:14 +00:00
|
|
|
|
2013-12-18 22:14:18 +00:00
|
|
|
scene06_manX = 0;
|
|
|
|
scene06_manY = 0;
|
|
|
|
scene06_ballX = 0;
|
|
|
|
scene06_ballY = 0;
|
2013-12-16 09:08:54 +00:00
|
|
|
scene06_mumsy = 0;
|
2013-12-18 21:53:43 +00:00
|
|
|
scene06_someBall = 0;
|
2013-12-16 09:08:54 +00:00
|
|
|
scene06_invHandle = 0;
|
|
|
|
scene06_liftButton = 0;
|
|
|
|
scene06_ballDrop = 0;
|
2013-12-18 21:53:43 +00:00
|
|
|
scene06_arcadeEnabled = false;
|
|
|
|
scene06_aimingBall = false;
|
2013-12-17 20:47:56 +00:00
|
|
|
scene06_currentBall = 0;
|
2013-12-18 22:14:18 +00:00
|
|
|
scene06_ballInHands = 0;
|
|
|
|
scene06_flyingBall = 0;
|
2013-12-17 10:15:51 +00:00
|
|
|
scene06_numBallsGiven = 0;
|
2013-12-18 22:14:18 +00:00
|
|
|
scene06_mumsyNumBalls = 0;
|
|
|
|
scene06_eggieTimeout = 0;
|
|
|
|
scene06_eggieDirection = true;
|
|
|
|
scene06_mumsyGotBall = 0;
|
|
|
|
scene06_ballDeltaX = 0;
|
|
|
|
scene06_ballDeltaY = 0;
|
2013-12-16 20:05:21 +00:00
|
|
|
scene06_sceneClickX = 0;
|
|
|
|
scene06_sceneClickY = 0;
|
|
|
|
scene06_mumsyPos = 0;
|
|
|
|
scene06_mumsyJumpBk = 0;
|
|
|
|
scene06_mumsyJumpFw = 0;
|
|
|
|
scene06_mumsyJumpBkPercent = 0;
|
|
|
|
scene06_mumsyJumpFwPercent = 0;
|
2013-12-16 09:08:54 +00:00
|
|
|
|
2013-12-19 15:49:27 +00:00
|
|
|
scene07_lukeAnim = 0;
|
|
|
|
scene07_lukePercent = 0;
|
|
|
|
scene07_plusMinus = 0;
|
|
|
|
|
2013-12-19 21:00:23 +00:00
|
|
|
scene08_batuta = 0;
|
|
|
|
scene08_vmyats = 0;
|
|
|
|
scene08_clock = 0;
|
2013-12-22 23:06:54 +00:00
|
|
|
scene08_inAir = false;
|
2013-12-22 22:38:59 +00:00
|
|
|
scene08_flyingUp = false;
|
2013-12-22 23:06:54 +00:00
|
|
|
scene08_onBelly = false;
|
|
|
|
scene08_stairsOffset = -37;
|
|
|
|
scene08_snoringCountdown = -1;
|
|
|
|
scene08_inArcade = false;
|
|
|
|
scene08_stairsVisible = true;
|
|
|
|
scene08_manOffsetY = 0;
|
2013-12-19 21:00:23 +00:00
|
|
|
|
2013-12-21 15:18:06 +00:00
|
|
|
scene10_gum = 0;
|
|
|
|
scene10_packet = 0;
|
|
|
|
scene10_packet2 = 0;
|
|
|
|
scene10_inflater = 0;
|
|
|
|
scene10_ladder = 0;
|
|
|
|
scene10_hasGum = 0;
|
|
|
|
|
2013-12-23 22:08:18 +00:00
|
|
|
scene11_swingie = 0;
|
|
|
|
scene11_boots = 0;
|
|
|
|
scene11_dudeOnSwing = 0;
|
|
|
|
scene11_hint = 0;
|
|
|
|
scene11_var02 = 0;
|
|
|
|
scene11_var03 = 0;
|
|
|
|
scene11_var04 = 0;
|
|
|
|
scene11_var05 = 0;
|
|
|
|
scene11_var06 = 0;
|
|
|
|
scene11_var07 = 0;
|
|
|
|
scene11_var08 = 1.0;
|
|
|
|
scene11_var09 = 1.0;
|
|
|
|
scene11_var10 = 1.0;
|
|
|
|
scene11_var11 = 1.0;
|
|
|
|
scene11_var12 = 0.0;
|
|
|
|
scene11_var13 = 0;
|
|
|
|
scene11_var14 = 0;
|
|
|
|
scene11_var15 = 0;
|
|
|
|
scene11_var16 = 0;
|
|
|
|
scene11_var17 = 0;
|
|
|
|
scene11_var18 = 0;
|
|
|
|
scene11_var19 = 0;
|
|
|
|
scene11_var20 = 0;
|
|
|
|
|
2013-12-24 16:30:19 +00:00
|
|
|
scene12_fly = 0;
|
|
|
|
scene12_flyCountdown = 0;
|
|
|
|
|
2013-12-24 21:00:05 +00:00
|
|
|
scene15_chantingCountdown = 0;
|
2013-12-24 20:12:05 +00:00
|
|
|
scene15_plusminus = 0;
|
|
|
|
scene15_ladder = 0;
|
|
|
|
scene15_boot = 0;
|
|
|
|
|
2013-09-14 23:01:20 +00:00
|
|
|
selector = 0;
|
2013-08-06 21:43:08 +00:00
|
|
|
}
|
|
|
|
|
2013-10-10 20:58:44 +00:00
|
|
|
static int scenes[] = {
|
|
|
|
SC_1, SC_2, SC_3, SC_4, SC_5, SC_6, SC_7, SC_8, SC_9, SC_10,
|
|
|
|
SC_11, SC_12, SC_13, SC_14, SC_15, SC_16, SC_17, SC_18, SC_19, SC_20,
|
|
|
|
SC_21, SC_22, SC_23, SC_24, SC_25, SC_26, SC_27, SC_28, SC_29, SC_30,
|
|
|
|
SC_31, SC_32, SC_33, SC_34, SC_35, SC_36, SC_37, SC_38, SC_DBGMENU
|
|
|
|
};
|
|
|
|
|
|
|
|
int FullpipeEngine::convertScene(int scene) {
|
|
|
|
if (!scene || scene >= SC_1)
|
|
|
|
return scene;
|
|
|
|
|
|
|
|
if (scene < 1 || scene > 39)
|
|
|
|
return SC_1;
|
|
|
|
|
|
|
|
return scenes[scene - 1];
|
|
|
|
}
|
|
|
|
|
2013-07-20 18:28:32 +00:00
|
|
|
bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
|
2013-09-18 15:37:07 +00:00
|
|
|
GameVar *sceneVar;
|
2013-07-20 13:08:05 +00:00
|
|
|
Common::Point sceneDim;
|
2013-07-19 22:01:05 +00:00
|
|
|
|
2013-07-20 13:08:05 +00:00
|
|
|
Scene *scene = accessScene(entrance->_sceneId);
|
2013-07-19 22:01:05 +00:00
|
|
|
|
|
|
|
if (!scene)
|
|
|
|
return 0;
|
|
|
|
|
2013-07-20 18:28:32 +00:00
|
|
|
((PictureObject *)scene->_picObjList.front())->getDimensions(&sceneDim);
|
2013-07-20 13:08:05 +00:00
|
|
|
_sceneWidth = sceneDim.x;
|
|
|
|
_sceneHeight = sceneDim.y;
|
|
|
|
|
|
|
|
_sceneRect.top = 0;
|
|
|
|
_sceneRect.left = 0;
|
|
|
|
_sceneRect.right = 799;
|
|
|
|
_sceneRect.bottom = 599;
|
|
|
|
|
|
|
|
scene->_x = 0;
|
|
|
|
scene->_y = 0;
|
|
|
|
|
|
|
|
_aniMan->setOXY(0, 0);
|
|
|
|
_aniMan->clearFlags();
|
2013-07-20 18:28:32 +00:00
|
|
|
_aniMan->_callback1 = 0;
|
|
|
|
_aniMan->_callback2 = 0;
|
|
|
|
_aniMan->_shadowsOn = 1;
|
2013-07-20 13:08:05 +00:00
|
|
|
|
|
|
|
_scrollSpeed = 8;
|
|
|
|
|
2013-08-11 14:18:42 +00:00
|
|
|
_isSaveAllowed = true;
|
2013-07-20 18:28:32 +00:00
|
|
|
_updateFlag = true;
|
|
|
|
_flgCanOpenMap = true;
|
2013-07-20 13:08:05 +00:00
|
|
|
|
2013-07-20 18:28:32 +00:00
|
|
|
if (entrance->_sceneId == SC_DBGMENU) {
|
2013-07-20 13:08:05 +00:00
|
|
|
_inventoryScene = 0;
|
2013-07-19 22:01:05 +00:00
|
|
|
} else {
|
2013-07-20 13:08:05 +00:00
|
|
|
_gameLoader->loadScene(SC_INV);
|
2013-07-20 18:28:32 +00:00
|
|
|
getGameLoaderInventory()->rebuildItemRects();
|
|
|
|
_inventoryScene = getGameLoaderInventory()->getScene();
|
2013-07-19 22:01:05 +00:00
|
|
|
}
|
2013-07-20 18:28:32 +00:00
|
|
|
if (_soundEnabled) {
|
|
|
|
if (scene->_soundList) {
|
|
|
|
_currSoundListCount = 2;
|
|
|
|
_currSoundList1[0] = accessScene(SC_COMMON)->_soundList;
|
|
|
|
_currSoundList1[1] = scene->_soundList;
|
|
|
|
|
|
|
|
for (int i = 0; i < scene->_soundList->getCount(); i++) {
|
|
|
|
scene->_soundList->getSoundByIndex(i)->updateVolume();
|
2013-07-19 22:01:05 +00:00
|
|
|
}
|
|
|
|
} else {
|
2013-07-20 18:28:32 +00:00
|
|
|
_currSoundListCount = 1;
|
|
|
|
_currSoundList1[0] = accessScene(SC_COMMON)->_soundList;
|
2013-07-19 22:01:05 +00:00
|
|
|
}
|
|
|
|
}
|
2013-07-20 18:28:32 +00:00
|
|
|
|
2013-07-20 20:55:04 +00:00
|
|
|
getGameLoaderInteractionController()->sortInteractions(scene->_sceneId);
|
|
|
|
_currentScene = scene;
|
|
|
|
scene->addStaticANIObject(_aniMan, 1);
|
|
|
|
_scene2 = scene;
|
2013-07-25 21:14:47 +00:00
|
|
|
_aniMan->_movement = 0;
|
|
|
|
_aniMan->_statics = _aniMan->getStaticsById(ST_MAN_EMPTY);
|
2013-07-20 20:55:04 +00:00
|
|
|
_aniMan->setOXY(0, 0);
|
|
|
|
|
2013-09-22 08:28:44 +00:00
|
|
|
_aniMan2 = _aniMan;
|
|
|
|
MctlCompound *cmp = getSc2MctlCompoundBySceneId(entrance->_sceneId);
|
|
|
|
cmp->initMovGraph2();
|
|
|
|
cmp->addObject(_aniMan);
|
|
|
|
cmp->setEnabled();
|
|
|
|
getGameLoaderInteractionController()->enableFlag24();
|
|
|
|
setInputDisabled(0);
|
2013-07-20 20:55:04 +00:00
|
|
|
|
|
|
|
scene->setPictureObjectsFlag4();
|
|
|
|
|
2013-09-18 15:20:53 +00:00
|
|
|
for (PtrList::iterator s = scene->_staticANIObjectList1.begin(); s != scene->_staticANIObjectList1.end(); ++s) {
|
2013-08-14 18:11:12 +00:00
|
|
|
StaticANIObject *o = (StaticANIObject *)*s;
|
2013-08-14 21:46:19 +00:00
|
|
|
o->setFlags(o->_flags & 0xFE7F);
|
2013-07-19 22:01:05 +00:00
|
|
|
}
|
2013-07-20 20:55:04 +00:00
|
|
|
|
|
|
|
PictureObject *p = accessScene(SC_INV)->getPictureObjectById(PIC_INV_MENU, 0);
|
|
|
|
p->setFlags(p->_flags & 0xFFFB);
|
|
|
|
|
2013-07-19 22:01:05 +00:00
|
|
|
removeMessageHandler(2, -1);
|
2013-07-20 20:55:04 +00:00
|
|
|
_updateScreenCallback = 0;
|
2013-07-19 22:01:05 +00:00
|
|
|
|
2013-07-20 20:55:04 +00:00
|
|
|
switch (entrance->_sceneId) {
|
2013-07-19 22:01:05 +00:00
|
|
|
case SC_INTRO1:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_INTRO1");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
sceneIntro_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_INTRO1");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandlerIntro, 2);
|
|
|
|
_updateCursorCallback = sceneIntro_updateCursor;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_1:
|
2013-08-07 17:52:23 +00:00
|
|
|
scene01_fixEntrance();
|
2013-07-19 22:01:05 +00:00
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_1");
|
|
|
|
scene->preloadMovements(sceneVar);
|
2013-08-07 17:52:23 +00:00
|
|
|
scene01_initScene(scene, entrance->_field_4);
|
2013-07-19 22:01:05 +00:00
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_1");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler01, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_2:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_2");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene02_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_2");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler02, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_3:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_3");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene03_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_3");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler03, 2);
|
2013-11-03 22:28:13 +00:00
|
|
|
scene03_setEaterState();
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene03_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_4:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_4");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene04_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_4");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler04, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene04_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_5:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_5");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene05_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_5");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler05, 2, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_6:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_6");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene06_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_6");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
2013-12-16 20:16:47 +00:00
|
|
|
scene06_initMumsy();
|
2013-07-19 22:01:05 +00:00
|
|
|
insertMessageHandler(sceneHandler06, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene06_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_7:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_7");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene07_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_7");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler07, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_8:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_8");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene08_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_8");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
2013-12-20 09:35:42 +00:00
|
|
|
scene08_setupMusic();
|
2013-07-19 22:01:05 +00:00
|
|
|
addMessageHandler(sceneHandler08, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene08_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
2013-12-20 09:35:42 +00:00
|
|
|
#if 0
|
2013-07-19 22:01:05 +00:00
|
|
|
case SC_9:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_9");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene09_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_9");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler09, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene09_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
2013-12-21 23:09:17 +00:00
|
|
|
#endif
|
2013-07-19 22:01:05 +00:00
|
|
|
|
|
|
|
case SC_10:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_10");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene10_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_10");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler10, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene10_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
2013-12-21 23:09:17 +00:00
|
|
|
#if 0
|
2013-07-19 22:01:05 +00:00
|
|
|
case SC_11:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_11");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene11_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_11");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler11, 2, 2);
|
2013-12-23 22:14:13 +00:00
|
|
|
scene11_setupMusic();
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene11_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
2013-12-24 16:52:36 +00:00
|
|
|
#endif
|
2013-07-19 22:01:05 +00:00
|
|
|
|
|
|
|
case SC_12:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_12");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene12_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_12");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler12, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
2013-12-24 16:52:36 +00:00
|
|
|
#if 0
|
2013-07-19 22:01:05 +00:00
|
|
|
case SC_13:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_13");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene13_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_13");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler13, 2, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_14:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_14");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene14_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_14");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler14, 2, 2);
|
|
|
|
scene14_sub_41D2B0();
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene14_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
2013-12-24 20:49:09 +00:00
|
|
|
#endif
|
2013-07-19 22:01:05 +00:00
|
|
|
|
|
|
|
case SC_15:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_15");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene15_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_15");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler15, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene15_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
2013-12-24 20:49:09 +00:00
|
|
|
#if 0
|
2013-07-19 22:01:05 +00:00
|
|
|
case SC_16:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_16");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene16_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_16");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler16, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene16_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_17:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_17");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene17_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_17");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler17, 2);
|
|
|
|
scene17_sub_41F060();
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene17_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_18:
|
|
|
|
sub_40E1B0();
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_18");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
sub_4062D0();
|
|
|
|
if (dword_476C38)
|
|
|
|
scene18_initScene1(scene);
|
|
|
|
else
|
|
|
|
scene18_initScene2(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_18");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler18, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene18_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_19:
|
|
|
|
if (!g_scene3) {
|
|
|
|
g_scene3 = accessScene(SC_18);
|
|
|
|
getGameLoader()->loadScene(SC_18);
|
|
|
|
scene18_initScene2(g_scene3);
|
|
|
|
sub_40C5F0();
|
|
|
|
scene19_sub_420B10(g_scene3, entrance->field_4);
|
|
|
|
dword_476C38 = 1;
|
|
|
|
}
|
|
|
|
sub_40C650();
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_19");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
sub_4062D0();
|
|
|
|
if (dword_476C38)
|
|
|
|
scene18_initScene1(scene);
|
|
|
|
else
|
|
|
|
scene19_initScene2();
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_19");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler19, 2);
|
|
|
|
scene19_sub_4211D0(scene);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene19_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_20:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_20");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene20_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_20");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler20, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_21:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_21");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene21_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_21");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler21, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene21_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_22:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_22");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene22_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_22");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
scene22_sub_4228A0();
|
|
|
|
insertMessageHandler(sceneHandler22, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene22_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_23:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_23");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene23_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_23");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler23, 2, 2);
|
|
|
|
scene23_sub_423B00();
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene23_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_24:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_24");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene24_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_24");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler24, 2);
|
|
|
|
scene24_sub_423DD0();
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_25:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_25");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene25_initScene(scene, entrance->field_4);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_25");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler25, 2);
|
|
|
|
scene25_sub_4253B0(scene, entrance->field_4);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene25_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_26:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_26");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene26_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_26");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler26, 2, 2);
|
|
|
|
scene26_sub_426140(scene);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene26_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_27:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_27");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene27_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_27");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler27, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene27_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_28:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_28");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene28_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_28");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler28, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene28_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_29:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_29");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene29_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_29");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler29, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene29_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_30:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_30");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene30_initScene(scene, entrance->field_4);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_30");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler30, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene30_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_31:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_31");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene31_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_31");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler31, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_32:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_32");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene32_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_32");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler32, 2, 2);
|
|
|
|
scene32_sub_42C5C0();
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene32_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_33:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_33");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene33_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_33");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler33, 2, 2);
|
|
|
|
scene33_sub_42CEF0();
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene33_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_34:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_34");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene34_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_34");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler34, 2, 2);
|
|
|
|
scene34_sub_42DEE0();
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene34_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_35:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_35");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene35_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_35");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler35, 2, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_36:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_36");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene36_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_36");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler36, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene36_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_37:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_37");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene37_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_37");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
insertMessageHandler(sceneHandler37, 2, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = scene37_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_38:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_38");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
scene38_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_38");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandler38, 2);
|
2013-08-07 17:52:23 +00:00
|
|
|
_updateCursorCallback = defaultUpdateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case SC_FINAL1:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_FINAL1");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
sceneFinal1_initScene();
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_FINAL1");
|
|
|
|
setSceneMusicParameters(sceneVar);
|
|
|
|
addMessageHandler(sceneHandlerFinal1, 2);
|
2013-07-20 13:08:05 +00:00
|
|
|
_updateCursorCallback = sceneFinal1_updateCursor;
|
2013-07-19 22:01:05 +00:00
|
|
|
break;
|
2013-09-09 20:23:33 +00:00
|
|
|
#endif
|
2013-07-19 22:01:05 +00:00
|
|
|
|
|
|
|
case SC_DBGMENU:
|
|
|
|
sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_DBGMENU");
|
|
|
|
scene->preloadMovements(sceneVar);
|
|
|
|
sceneDbgMenu_initScene(scene);
|
|
|
|
_behaviorManager->initBehavior(scene, sceneVar);
|
|
|
|
scene->initObjectCursors("SC_DBGMENU");
|
|
|
|
addMessageHandler(sceneHandlerDbgMenu, 2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
_behaviorManager->initBehavior(0, 0);
|
|
|
|
break;
|
|
|
|
}
|
2013-07-20 20:55:04 +00:00
|
|
|
|
2013-07-20 13:08:05 +00:00
|
|
|
return true;
|
2013-07-19 22:01:05 +00:00
|
|
|
}
|
|
|
|
|
2013-08-07 17:52:23 +00:00
|
|
|
int defaultUpdateCursor() {
|
2013-12-20 14:08:02 +00:00
|
|
|
g_fp->updateCursorCommon();
|
2013-08-07 17:52:23 +00:00
|
|
|
|
2013-12-20 14:08:02 +00:00
|
|
|
return g_fp->_cursorId;
|
2013-08-07 17:52:23 +00:00
|
|
|
}
|
|
|
|
|
2013-12-11 21:40:56 +00:00
|
|
|
void FullpipeEngine::processArcade(ExCommand *ex) {
|
|
|
|
warning("STUB: FullpipeEngine::processArcade()");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-19 22:01:05 +00:00
|
|
|
} // End of namespace Fullpipe
|