[Scummvm-cvs-logs] CVS: scummvm/scumm debugger.h,1.15,1.16 debugger.cpp,1.23,1.24
Jonathan Gray
khalek at users.sourceforge.net
Tue Apr 22 22:06:05 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv22164
Modified Files:
debugger.h debugger.cpp
Log Message:
add script command to debugger and convert old printscripts function to new debugger
Index: debugger.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/debugger.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- debugger.h 22 Apr 2003 04:40:30 -0000 1.15
+++ debugger.h 23 Apr 2003 05:05:20 -0000 1.16
@@ -80,6 +80,8 @@
bool Cmd_PrintObjects(int argc, const char **argv);
bool Cmd_Actor(int argc, const char **argv);
bool Cmd_Object(int argc, const char **argv);
+ bool Cmd_Script(int argc, const char **argv);
+ bool Cmd_PrintScript(int argc, const char **argv);
bool Cmd_DebugLevel(int argc, const char **argv);
bool Cmd_Help(int argc, const char **argv);
Index: debugger.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/debugger.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- debugger.cpp 22 Apr 2003 04:40:30 -0000 1.23
+++ debugger.cpp 23 Apr 2003 05:05:20 -0000 1.24
@@ -85,6 +85,8 @@
DCmd_Register("room", &ScummDebugger::Cmd_Room);
DCmd_Register("objects", &ScummDebugger::Cmd_PrintObjects);
DCmd_Register("object", &ScummDebugger::Cmd_Object);
+ DCmd_Register("script", &ScummDebugger::Cmd_Script);
+ DCmd_Register("scripts", &ScummDebugger::Cmd_PrintScript);
DCmd_Register("loadgame", &ScummDebugger::Cmd_LoadGame);
DCmd_Register("savegame", &ScummDebugger::Cmd_SaveGame);
@@ -392,6 +394,49 @@
} else {
Debug_Printf("Unknown hide parameter '%s'\n", argv[1]);
}
+ return true;
+}
+
+bool ScummDebugger::Cmd_Script(int argc, const char** argv) {
+ int scriptnum;
+
+ if (argc < 2) {
+ Debug_Printf("Syntax: script <scriptnum> <command>\n");
+ return true;
+ }
+
+ scriptnum = atoi(argv[1]);
+
+ if (scriptnum >= _s->_maxScripts) {
+ Debug_Printf("Script number %d is out of range (range: 1 - %d)\n", scriptnum, _s->_maxScripts);
+ return true;
+ }
+
+ if ((!strcmp(argv[2], "kill")) || (!strcmp(argv[2], "stop"))) {
+ _s->stopScriptNr(scriptnum);
+ } else {
+ Debug_Printf("Unknown script command '%s'\n", argv[2]);
+ }
+
+ return true;
+}
+
+bool ScummDebugger::Cmd_PrintScript(int argc, const char **argv) {
+ int i;
+ ScriptSlot *ss;
+ Debug_Printf("+-----------------------------+\n");
+ Debug_Printf("|# |num|sta|typ|un1|un2|fc|cut|\n");
+ Debug_Printf("+--+---+---+---+---+--+---+---+\n");
+ for (i=0; i < 25; i++) {
+ ss = &(_s->vm.slot[i]);
+ if (ss->number) {
+ Debug_Printf("|%2d|%3d|%3d|%3d|%3d|%3d|%2d|%3d|\n",
+ i, ss->number, ss->status, ss->where, ss->unk1, ss->unk2,
+ ss->freezeCount, ss->cutsceneOverride);
+ }
+ }
+ Debug_Printf("+-----------------------------+\n");
+
return true;
}
More information about the Scummvm-git-logs
mailing list