[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