diff options
Diffstat (limited to 'engines/fullpipe/fullpipe.cpp')
-rw-r--r-- | engines/fullpipe/fullpipe.cpp | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp index 85a5167841..f79564eb27 100644 --- a/engines/fullpipe/fullpipe.cpp +++ b/engines/fullpipe/fullpipe.cpp @@ -34,6 +34,7 @@ #include "fullpipe/modal.h" #include "fullpipe/input.h" #include "fullpipe/motion.h" +#include "fullpipe/statics.h" #include "fullpipe/scenes.h" #include "fullpipe/floaters.h" #include "fullpipe/console.h" @@ -413,21 +414,32 @@ void FullpipeEngine::updateEvents() { } } - -#if 0 - warning("STUB: FullpipeEngine::updateEvents() <mainWindowProc>"); - if (Msg == MSG_SC11_SHOWSWING && _modalObject) { - _modalObject->method14(); - } -#endif + // pollEvent() is implemented only for video player. So skip it. + //if (event.kbd.keycode == MSG_SC11_SHOWSWING && _modalObject) { + // _modalObject->pollEvent(); + //} } void FullpipeEngine::freeGameLoader() { - warning("STUB: FullpipeEngine::freeGameLoader()"); + setCursor(0); + delete _movTable; + _floaters->stopAll(); + delete _gameLoader; + _currentScene = 0; + _scene2 = 0; + _loaderScene = 0; } void FullpipeEngine::cleanup() { - warning("STUB: FullpipeEngine::cleanup()"); + //cleanRecorder(); + clearMessageHandlers(); + clearMessages(); + _globalMessageQueueList->compact(); + + for (uint i = 0; i < _globalMessageQueueList->size(); i++) + delete (*_globalMessageQueueList)[i]; + + stopAllSoundStreams(); } void FullpipeEngine::updateScreen() { @@ -514,7 +526,7 @@ void FullpipeEngine::disableSaves(ExCommand *ex) { _isSaveAllowed = false; if (_globalMessageQueueList->size() && (*_globalMessageQueueList)[0] != 0) { - for (int i = 0; i < _globalMessageQueueList->size(); i++) { + for (uint i = 0; i < _globalMessageQueueList->size(); i++) { if ((*_globalMessageQueueList)[i]->_flags & 1) if ((*_globalMessageQueueList)[i]->_id != ex->_parId && !(*_globalMessageQueueList)[i]->_isFinished) return; |