aboutsummaryrefslogtreecommitdiff
path: root/scumm/debugger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/debugger.cpp')
-rw-r--r--scumm/debugger.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/scumm/debugger.cpp b/scumm/debugger.cpp
index 635d068a9b..f4ce0a18c9 100644
--- a/scumm/debugger.cpp
+++ b/scumm/debugger.cpp
@@ -80,6 +80,7 @@ void ScummDebugger::attach(Scumm *s, char *entry) {
DCmd_Register("actor", &ScummDebugger::Cmd_Actor);
DCmd_Register("actors", &ScummDebugger::Cmd_PrintActor);
DCmd_Register("box", &ScummDebugger::Cmd_PrintBox);
+ DCmd_Register("matrix", &ScummDebugger::Cmd_PrintBoxMatrix);
DCmd_Register("room", &ScummDebugger::Cmd_Room);
DCmd_Register("objects", &ScummDebugger::Cmd_PrintObjects);
DCmd_Register("object", &ScummDebugger::Cmd_Object);
@@ -732,6 +733,24 @@ bool ScummDebugger::Cmd_PrintBox(int argc, const char **argv) {
return true;
}
+bool ScummDebugger::Cmd_PrintBoxMatrix(int argc, const char **argv) {
+ byte *boxm = _s->getBoxMatrixBaseAddr();
+ int num = _s->getNumBoxes();
+ int i;
+
+ Debug_Printf("Walk matrix:\n");
+ for (i = 0; i < num; i++) {
+ Debug_Printf("%d: ", i);
+ while (*boxm != 0xFF) {
+ Debug_Printf("[%d] ", *boxm);
+ boxm++;
+ }
+ boxm++;
+ Debug_Printf("\n");
+ }
+ return true;
+}
+
void ScummDebugger::printBox(int box) {
assert(box < _s->getNumBoxes());
BoxCoords coords;