diff options
author | Max Horn | 2006-09-16 16:58:27 +0000 |
---|---|---|
committer | Max Horn | 2006-09-16 16:58:27 +0000 |
commit | 919092e5fcd0389b4cbd862e9e8cceab202e6741 (patch) | |
tree | 7d9c8f643191812bb1eb24f2e7cc2e67586149d5 /engines/queen | |
parent | 1add07becae0179e026a90924b419b74ffb1078f (diff) | |
download | scummvm-rg350-919092e5fcd0389b4cbd862e9e8cceab202e6741.tar.gz scummvm-rg350-919092e5fcd0389b4cbd862e9e8cceab202e6741.tar.bz2 scummvm-rg350-919092e5fcd0389b4cbd862e9e8cceab202e6741.zip |
Overhaul of the debugger code
* Moved Common::Debuggger to GUI::Debugger (mainly to satisfy linker
restrictions)
* Change the base Debugger class to *not* be a template class anymore;
instead, a thin (template based) wrapper class is used to hook up
debugger commands
* Removed duplicate Cmd_Exit and Cmd_Help methods in favor of a single
version of each in GUI::Debugger
* New Cmd_Help doesn't word wrap after 39/78 chars, but rather queries
the console to determine when to wrap
* Debugger::preEnter and postEnter aren't pure virtual anymore
svn-id: r23890
Diffstat (limited to 'engines/queen')
-rw-r--r-- | engines/queen/debug.cpp | 48 | ||||
-rw-r--r-- | engines/queen/debug.h | 6 |
2 files changed, 11 insertions, 43 deletions
diff --git a/engines/queen/debug.cpp b/engines/queen/debug.cpp index 63fc40f444..8f49753d17 100644 --- a/engines/queen/debug.cpp +++ b/engines/queen/debug.cpp @@ -29,24 +29,20 @@ #include "queen/resource.h" #include "queen/sound.h" -#include "common/debugger.cpp" - namespace Queen { Debugger::Debugger(QueenEngine *vm) : _vm(vm), _flags(0) { - DCmd_Register("exit", &Debugger::Cmd_Exit); - DCmd_Register("help", &Debugger::Cmd_Help); - DCmd_Register("areas", &Debugger::Cmd_Areas); - DCmd_Register("asm", &Debugger::Cmd_Asm); - DCmd_Register("bob", &Debugger::Cmd_Bob); - DCmd_Register("bobs", &Debugger::Cmd_PrintBobs); - DCmd_Register("gs", &Debugger::Cmd_GameState); - DCmd_Register("info", &Debugger::Cmd_Info); - DCmd_Register("items", &Debugger::Cmd_Items); - DCmd_Register("room", &Debugger::Cmd_Room); - DCmd_Register("song", &Debugger::Cmd_Song); + DCmd_Register("areas", WRAP_METHOD(Debugger, Cmd_Areas)); + DCmd_Register("asm", WRAP_METHOD(Debugger, Cmd_Asm)); + DCmd_Register("bob", WRAP_METHOD(Debugger, Cmd_Bob)); + DCmd_Register("bobs", WRAP_METHOD(Debugger, Cmd_PrintBobs)); + DCmd_Register("gs", WRAP_METHOD(Debugger, Cmd_GameState)); + DCmd_Register("info", WRAP_METHOD(Debugger, Cmd_Info)); + DCmd_Register("items", WRAP_METHOD(Debugger, Cmd_Items)); + DCmd_Register("room", WRAP_METHOD(Debugger, Cmd_Room)); + DCmd_Register("song", WRAP_METHOD(Debugger, Cmd_Song)); } Debugger::~Debugger() {} // we need this here for __SYMBIAN32__ @@ -57,32 +53,6 @@ void Debugger::postEnter() { _vm->graphics()->setupMouseCursor(); } -bool Debugger::Cmd_Exit(int argc, const char **argv) { - _detach_now = true; - return false; -} - -bool Debugger::Cmd_Help(int argc, const char **argv) { - // console normally has 39 line width - // wrap around nicely - int width = 0, size, i; - - DebugPrintf("Commands are:\n"); - for (i = 0 ; i < _dcmd_count ; i++) { - size = strlen(_dcmds[i].name) + 1; - - if ((width + size) >= 39) { - DebugPrintf("\n"); - width = size; - } else - width += size; - - DebugPrintf("%s ", _dcmds[i].name); - } - DebugPrintf("\n"); - return true; -} - bool Debugger::Cmd_Asm(int argc, const char **argv) { if (argc == 2) { uint16 sm = atoi(argv[1]); diff --git a/engines/queen/debug.h b/engines/queen/debug.h index 40cb8bb6ff..0959686a45 100644 --- a/engines/queen/debug.h +++ b/engines/queen/debug.h @@ -23,13 +23,13 @@ #ifndef QUEENDEBUG_H #define QUEENDEBUG_H -#include "common/debugger.h" +#include "gui/debugger.h" namespace Queen { class QueenEngine; -class Debugger : public Common::Debugger<Debugger> { +class Debugger : public GUI::Debugger { public: Debugger(QueenEngine *vm); @@ -46,8 +46,6 @@ protected: virtual void preEnter(); virtual void postEnter(); - bool Cmd_Exit(int argc, const char **argv); - bool Cmd_Help(int argc, const char **argv); bool Cmd_Areas(int argc, const char **argv); bool Cmd_Asm(int argc, const char **argv); bool Cmd_Bob(int argc, const char **argv); |