aboutsummaryrefslogtreecommitdiff
path: root/engines/queen
diff options
context:
space:
mode:
authorMax Horn2006-09-16 16:58:27 +0000
committerMax Horn2006-09-16 16:58:27 +0000
commit919092e5fcd0389b4cbd862e9e8cceab202e6741 (patch)
tree7d9c8f643191812bb1eb24f2e7cc2e67586149d5 /engines/queen
parent1add07becae0179e026a90924b419b74ffb1078f (diff)
downloadscummvm-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.cpp48
-rw-r--r--engines/queen/debug.h6
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);