diff options
author | athrxx | 2013-04-20 22:25:17 +0200 |
---|---|---|
committer | athrxx | 2013-04-21 13:14:35 +0200 |
commit | e37a542cfefd388dd2af2ef30e06d9b857155d73 (patch) | |
tree | 10050da8314500eb96ba3a5cd277ab1b529f97a8 /engines/kyra | |
parent | 4a17b91db2660848e6d2e8d41b383bebbe11f472 (diff) | |
download | scummvm-rg350-e37a542cfefd388dd2af2ef30e06d9b857155d73.tar.gz scummvm-rg350-e37a542cfefd388dd2af2ef30e06d9b857155d73.tar.bz2 scummvm-rg350-e37a542cfefd388dd2af2ef30e06d9b857155d73.zip |
KYRA: (EOB) - add debugger function (list_monsters)
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/debugger.cpp | 19 | ||||
-rw-r--r-- | engines/kyra/debugger.h | 1 |
2 files changed, 18 insertions, 2 deletions
diff --git a/engines/kyra/debugger.cpp b/engines/kyra/debugger.cpp index 75981958d6..084c436831 100644 --- a/engines/kyra/debugger.cpp +++ b/engines/kyra/debugger.cpp @@ -482,8 +482,9 @@ Debugger_EoB::Debugger_EoB(EoBCoreEngine *vm) : Debugger(vm), _vm(vm) { } void Debugger_EoB::initialize() { - DCmd_Register("import_savefile", WRAP_METHOD(Debugger_EoB, cmd_importSaveFile)); - DCmd_Register("save_original", WRAP_METHOD(Debugger_EoB, cmd_saveOriginal)); + DCmd_Register("import_savefile", WRAP_METHOD(Debugger_EoB, cmd_importSaveFile)); + DCmd_Register("save_original", WRAP_METHOD(Debugger_EoB, cmd_saveOriginal)); + DCmd_Register("list_monsters", WRAP_METHOD(Debugger_EoB, cmd_listMonsters)); } bool Debugger_EoB::cmd_importSaveFile(int argc, const char **argv) { @@ -558,6 +559,20 @@ bool Debugger_EoB::cmd_saveOriginal(int argc, const char **argv) { return true; } +bool Debugger_EoB::cmd_listMonsters(int, const char **) { + DebugPrintf("\nCurrent level: %d\n----------------------\n\n", _vm->_currentLevel); + DebugPrintf("Id Type Unit Block Position Direction Sub Level Mode Dst.block HP Flags\n--------------------------------------------------------------------------------------------------------------\n"); + + for (int i = 0; i < 30; i++) { + EoBMonsterInPlay *m = &_vm->_monsters[i]; + DebugPrintf("%.02d %.02d %.02d 0x%.04x %d %d %d %.02d 0x%.04x %.03d/%.03d 0x%.02x\n", i, m->type, m->unit, m->block, m->pos, m->dir, m->sub, m->mode, m->dest, m->hitPointsCur, m->hitPointsMax, m->flags); + } + + DebugPrintf("\n"); + + return true; +} + #endif // ENABLE_EOB } // End of namespace Kyra diff --git a/engines/kyra/debugger.h b/engines/kyra/debugger.h index e4ab39102a..d741e195a7 100644 --- a/engines/kyra/debugger.h +++ b/engines/kyra/debugger.h @@ -121,6 +121,7 @@ protected: bool cmd_importSaveFile(int argc, const char **argv); bool cmd_saveOriginal(int argc, const char **argv); + bool cmd_listMonsters(int argc, const char **argv); }; #endif // ENABLE_EOB |