KYRA: (EOB) - add debugger function (list_monsters)

This commit is contained in:
athrxx 2013-04-20 22:25:17 +02:00
parent 4a17b91db2
commit e37a542cfe
2 changed files with 18 additions and 2 deletions

View File

@ -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

View File

@ -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