diff options
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/debugger.cpp | 14 | ||||
-rw-r--r-- | engines/kyra/debugger.h | 5 | ||||
-rw-r--r-- | engines/kyra/kyra_hof.cpp | 8 | ||||
-rw-r--r-- | engines/kyra/kyra_lok.cpp | 8 | ||||
-rw-r--r-- | engines/kyra/kyra_mr.cpp | 9 | ||||
-rw-r--r-- | engines/kyra/kyra_v1.cpp | 5 | ||||
-rw-r--r-- | engines/kyra/lol.cpp | 9 |
7 files changed, 44 insertions, 14 deletions
diff --git a/engines/kyra/debugger.cpp b/engines/kyra/debugger.cpp index dfc2a9f868..35b4d8ba7f 100644 --- a/engines/kyra/debugger.cpp +++ b/engines/kyra/debugger.cpp @@ -32,9 +32,10 @@ namespace Kyra { Debugger::Debugger(KyraEngine_v1 *vm) - : ::GUI::Debugger() { - _vm = vm; + : ::GUI::Debugger(), _vm(vm) { +} +void Debugger::initialize() { DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit)); DCmd_Register("screen_debug_mode", WRAP_METHOD(Debugger, cmd_setScreenDebug)); DCmd_Register("load_palette", WRAP_METHOD(Debugger, cmd_loadPalette)); @@ -196,6 +197,9 @@ bool Debugger::cmd_setTimerCountdown(int argc, const char **argv) { Debugger_LoK::Debugger_LoK(KyraEngine_LoK *vm) : Debugger(vm), _vm(vm) { +} + +void Debugger_LoK::initialize() { DCmd_Register("enter", WRAP_METHOD(Debugger_LoK, cmd_enterRoom)); DCmd_Register("scenes", WRAP_METHOD(Debugger_LoK, cmd_listScenes)); DCmd_Register("give", WRAP_METHOD(Debugger_LoK, cmd_giveItem)); @@ -281,6 +285,9 @@ bool Debugger_LoK::cmd_listBirthstones(int argc, const char **argv) { #pragma mark - Debugger_v2::Debugger_v2(KyraEngine_v2 *vm) : Debugger(vm), _vm(vm) { +} + +void Debugger_v2::initialize() { DCmd_Register("character_info", WRAP_METHOD(Debugger_v2, cmd_characterInfo)); DCmd_Register("enter", WRAP_METHOD(Debugger_v2, cmd_enterScene)); DCmd_Register("scenes", WRAP_METHOD(Debugger_v2, cmd_listScenes)); @@ -433,6 +440,9 @@ bool Debugger_v2::cmd_giveItem(int argc, const char **argv) { #pragma mark - Debugger_HoF::Debugger_HoF(KyraEngine_HoF *vm) : Debugger_v2(vm), _vm(vm) { +} + +void Debugger_HoF::initialize() { DCmd_Register("pass_codes", WRAP_METHOD(Debugger_HoF, cmd_passcodes)); } diff --git a/engines/kyra/debugger.h b/engines/kyra/debugger.h index 09ddd89a7a..e9c0a6a98a 100644 --- a/engines/kyra/debugger.h +++ b/engines/kyra/debugger.h @@ -37,6 +37,8 @@ public: Debugger(KyraEngine_v1 *vm); virtual ~Debugger() {} // we need this for __SYMBIAN32__ archaic gcc/UIQ + virtual void initialize(); + protected: KyraEngine_v1 *_vm; @@ -56,6 +58,7 @@ public: Debugger_LoK(KyraEngine_LoK *vm); virtual ~Debugger_LoK() {} // we need this for __SYMBIAN32__ archaic gcc/UIQ + virtual void initialize(); protected: KyraEngine_LoK *_vm; @@ -70,6 +73,7 @@ public: Debugger_v2(KyraEngine_v2 *vm); virtual ~Debugger_v2() {} + virtual void initialize(); protected: KyraEngine_v2 *_vm; @@ -85,6 +89,7 @@ class Debugger_HoF : public Debugger_v2 { public: Debugger_HoF(KyraEngine_HoF *vm); + virtual void initialize(); protected: KyraEngine_HoF *_vm; diff --git a/engines/kyra/kyra_hof.cpp b/engines/kyra/kyra_hof.cpp index e91f3ba6fc..34bde7fe5c 100644 --- a/engines/kyra/kyra_hof.cpp +++ b/engines/kyra/kyra_hof.cpp @@ -223,11 +223,12 @@ Common::Error KyraEngine_HoF::init() { assert(_screen); _screen->setResolution(); + _debugger = new Debugger_HoF(this); + assert(_debugger); + KyraEngine_v1::init(); initStaticResource(); - _debugger = new Debugger_HoF(this); - assert(_debugger); _text = new TextDisplayer_HoF(this, _screen); assert(_text); _gui = new GUI_HoF(this); @@ -455,6 +456,9 @@ void KyraEngine_HoF::startup() { } void KyraEngine_HoF::runLoop() { + // Initialize debugger since how it should be fully usable + _debugger->initialize(); + _screen->updateScreen(); _runFlag = true; diff --git a/engines/kyra/kyra_lok.cpp b/engines/kyra/kyra_lok.cpp index 601ae8f10c..84990bcfb8 100644 --- a/engines/kyra/kyra_lok.cpp +++ b/engines/kyra/kyra_lok.cpp @@ -174,6 +174,9 @@ Common::Error KyraEngine_LoK::init() { assert(_screen); _screen->setResolution(); + _debugger = new Debugger_LoK(this); + assert(_debugger); + KyraEngine_v1::init(); _sprites = new Sprites(this, _system); @@ -229,8 +232,6 @@ Common::Error KyraEngine_LoK::init() { memset(&_scriptMain, 0, sizeof(EMCState)); memset(&_scriptClick, 0, sizeof(EMCState)); - _debugger = new Debugger_LoK(this); - assert(_debugger); memset(_shapes, 0, sizeof(_shapes)); for (int i = 0; i < ARRAYSIZE(_movieObjects); ++i) @@ -436,6 +437,9 @@ void KyraEngine_LoK::startup() { } void KyraEngine_LoK::mainLoop() { + // Initialize debugger since how it should be fully usable + _debugger->initialize(); + _eventList.clear(); while (!shouldQuit()) { diff --git a/engines/kyra/kyra_mr.cpp b/engines/kyra/kyra_mr.cpp index 5798e99a1f..39ed0d038a 100644 --- a/engines/kyra/kyra_mr.cpp +++ b/engines/kyra/kyra_mr.cpp @@ -205,12 +205,12 @@ Common::Error KyraEngine_MR::init() { assert(_screen); _screen->setResolution(); - KyraEngine_v1::init(); - initStaticResource(); - _debugger = new Debugger_v2(this); assert(_debugger); + KyraEngine_v1::init(); + initStaticResource(); + _soundDigital = new SoundDigital(this, _mixer); assert(_soundDigital); if (!_soundDigital->init()) @@ -887,6 +887,9 @@ bool KyraEngine_MR::checkCharCollision(int x, int y) { #pragma mark - void KyraEngine_MR::runLoop() { + // Initialize debugger since how it should be fully usable + _debugger->initialize(); + _eventList.clear(); _runFlag = true; diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp index bf0c23bf69..dbdcda22d5 100644 --- a/engines/kyra/kyra_v1.cpp +++ b/engines/kyra/kyra_v1.cpp @@ -85,8 +85,9 @@ KyraEngine_v1::KyraEngine_v1(OSystem *system, const GameFlags &flags) void KyraEngine_v1::pauseEngineIntern(bool pause) { Engine::pauseEngineIntern(pause); if (_sound) - _sound->pause(pause); - _timer->pause(pause); + _sound->pause(pause); + if (_timer) + _timer->pause(pause); } Common::Error KyraEngine_v1::init() { diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp index aed8f5c965..538e88aa90 100644 --- a/engines/kyra/lol.cpp +++ b/engines/kyra/lol.cpp @@ -434,6 +434,9 @@ Common::Error LoLEngine::init() { assert(_screen); _screen->setResolution(); + _debugger = new Debugger_LoL(this); + assert(_debugger); + KyraEngine_v1::init(); initStaticResource(); @@ -547,9 +550,6 @@ Common::Error LoLEngine::init() { _spellProcs.push_back(new SpellProc(this, 0)); _spellProcs.push_back(new SpellProc(this, &LoLEngine::castGuardian)); - _debugger = new Debugger_LoL(this); - assert(_debugger); - initKeymap(); return Common::kNoError; @@ -978,6 +978,9 @@ void LoLEngine::startupNew() { } void LoLEngine::runLoop() { + // Initialize debugger since how it should be fully usable + _debugger->initialize(); + enableSysTimer(2); bool _runFlag = true; |