diff options
Diffstat (limited to 'engines/fullpipe/fullpipe.cpp')
-rw-r--r-- | engines/fullpipe/fullpipe.cpp | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp index 7dedaf3109..1c319d3660 100644 --- a/engines/fullpipe/fullpipe.cpp +++ b/engines/fullpipe/fullpipe.cpp @@ -33,12 +33,14 @@ #include "fullpipe/behavior.h" #include "fullpipe/modal.h" #include "fullpipe/input.h" +#include "fullpipe/motion.h" #include "fullpipe/scenes.h" #include "fullpipe/floaters.h" +#include "fullpipe/console.h" namespace Fullpipe { -FullpipeEngine *g_fullpipe = 0; +FullpipeEngine *g_fp = 0; Vars *g_vars = 0; FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc) { @@ -51,6 +53,7 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume")); _rnd = new Common::RandomSource("fullpipe"); + _console = 0; _gameProjectVersion = 0; _pictureScale = 8; @@ -91,13 +94,17 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) _isProcessingMessages = false; _musicAllowed = -1; + _musicGameVar = 0; _aniMan = 0; _aniMan2 = 0; _currentScene = 0; + _loaderScene = 0; _scene2 = 0; + _scene3 = 0; _movTable = 0; _floaters = 0; + _mgm = 0; _globalMessageQueueList = 0; _messageHandlers = 0; @@ -144,14 +151,22 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) _objectAtCursor = 0; _objectIdAtCursor = 0; + _arcadeOverlay = 0; + _arcadeOverlayHelper = 0; + _arcadeOverlayX = 0; + _arcadeOverlayY = 0; + _arcadeOverlayMidX = 0; + _arcadeOverlayMidY = 0; + _isSaveAllowed = true; - g_fullpipe = this; + g_fp = this; g_vars = new Vars; } FullpipeEngine::~FullpipeEngine() { delete _rnd; + delete _console; delete _globalMessageQueueList; } @@ -165,6 +180,7 @@ void FullpipeEngine::initialize() { _sceneRect.bottom = 599; _floaters = new Floaters; + _mgm = new MGM; } Common::Error FullpipeEngine::run() { @@ -174,6 +190,8 @@ Common::Error FullpipeEngine::run() { _backgroundSurface.create(800, 600, format); + _console = new Console(this); + initialize(); _isSaveAllowed = false; @@ -272,6 +290,11 @@ void FullpipeEngine::updateEvents() { return; break; default: + if (event.kbd.keycode == Common::KEYCODE_d && event.kbd.hasFlags(Common::KBD_CTRL)) { + // Start the debugger + getDebugger()->attach(); + getDebugger()->onFrame(); + } ex = new ExCommand(0, 17, 36, 0, 0, 0, 1, 0, 0, 0); ex->_keyCode = event.kbd.keycode; ex->_excFlags |= 3; @@ -428,21 +451,6 @@ void FullpipeEngine::setObjectState(const char *name, int state) { var->setSubVarAsInt(name, state); } -void FullpipeEngine::updateMapPiece(int mapId, int update) { - for (int i = 0; i < 200; i++) { - int hiWord = (_mapTable[i] >> 16) & 0xffff; - - if (hiWord == mapId) { - _mapTable[i] |= update; - return; - } - if (!hiWord) { - _mapTable[i] = (mapId << 16) | update; - return; - } - } -} - void FullpipeEngine::disableSaves(ExCommand *ex) { warning("STUB: FullpipeEngine::disableSaves()"); } |