[Scummvm-cvs-logs] CVS: scummvm/simon debugger.cpp,1.5,1.6 debugger.h,1.2,1.3

Travis Howell kirben at users.sourceforge.net
Tue Jan 27 18:32:03 CET 2004


Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11719/simon

Modified Files:
	debugger.cpp debugger.h 
Log Message:

Add some more commands to debugger.


Index: debugger.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/debugger.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- debugger.cpp	28 Jan 2004 01:19:15 -0000	1.5
+++ debugger.cpp	28 Jan 2004 02:27:09 -0000	1.6
@@ -33,8 +33,13 @@
 	DCmd_Register("exit", &Debugger::Cmd_Exit);
 	DCmd_Register("help", &Debugger::Cmd_Help);
 	DCmd_Register("quit", &Debugger::Cmd_Exit);
-	DCmd_Register("voice", &Debugger::Cmd_PlayVoice);
 	DCmd_Register("music", &Debugger::Cmd_PlayMusic);
+	DCmd_Register("sound", &Debugger::Cmd_PlaySound);
+	DCmd_Register("voice", &Debugger::Cmd_PlayVoice);
+	DCmd_Register("bit", &Debugger::Cmd_SetBit);
+	DCmd_Register("var", &Debugger::Cmd_SetVar);
+	DCmd_Register("sub", &Debugger::Cmd_StartSubroutine);
+
 }
 
 
@@ -79,7 +84,7 @@
 		uint music = atoi(argv[1]);
 		if (_vm->_game & GF_SIMON2)
 			DebugPrintf("No support for Simon the Sorcerer 2\n");
-		else if (music < 35)
+		else if (music <= 34)
 			_vm->loadMusic(music);
 		else
 			DebugPrintf("Music out of range (0 - 34)\n");
@@ -89,16 +94,83 @@
 	return true;
 }
 
+bool Debugger::Cmd_PlaySound(int argc, const char **argv) {
+	if (argc > 1) {
+		uint sound = atoi(argv[1]);
+		uint range = (_vm->_game & GF_SIMON2) ? 222 : 127;
+		if (sound <= range)
+			_vm->_sound->playEffects(sound);
+		else
+			DebugPrintf("Voice out of range (0 - %d)\n", range);
+	} else
+		DebugPrintf("Syntax: voice <voicenum>\n");
+
+	return true;
+}
+
 bool Debugger::Cmd_PlayVoice(int argc, const char **argv) {
 	if (argc > 1) {
 		uint voice = atoi(argv[1]);
-		uint range = (_vm->_game & GF_SIMON2) ? 3633 : 1997;
-		if (voice < range)
+		uint range = (_vm->_game & GF_SIMON2) ? 3632 : 1996;
+		if (voice <= range)
 			_vm->_sound->playVoice(voice);
 		else
 			DebugPrintf("Voice out of range (0 - %d)\n", range);
 	} else
-		DebugPrintf("Syntax: voice <soundnum>\n");
+		DebugPrintf("Syntax: voice <voicenum>\n");
+
+	return true;
+}
+
+bool Debugger::Cmd_SetBit(int argc, const char **argv) {
+	uint bit, value;
+	if (argc > 2) {
+		bit = atoi(argv[1]);
+		value = atoi(argv[2]);
+		if (value <= 1) {
+			_vm->vc_set_bit_to(bit, value);
+			DebugPrintf("Set bit %d to %d\n", bit, value);
+		} else
+			DebugPrintf("Bit value out of range (0 - 1)\n");
+	} else if (argc > 1) {
+		bit = atoi(argv[1]);
+		value = _vm->vc_get_bit(bit);
+		DebugPrintf("Bit %d is %d\n", bit, value);
+	} else
+		DebugPrintf("Syntax: bit <bitnum> <value>\n");
+
+	return true;
+}
+
+bool Debugger::Cmd_SetVar(int argc, const char **argv) {
+	uint var, value;
+	if (argc > 1) {
+		var = atoi(argv[1]);
+		if (var <= 254) {
+			if (argc > 2) {
+				value = atoi(argv[2]);
+				_vm->writeVariable(var, value);
+				DebugPrintf("Set var %d to %d\n", var, value);
+			} else {
+				value = _vm->readVariable(var);
+				DebugPrintf("Var %d is %d\n", var, value);
+			}
+		} else
+			DebugPrintf("Var out of range (0 - 254)\n");
+	} else
+		DebugPrintf("Syntax: var <varnum> <value>\n");
+
+	return true;
+}
+
+bool Debugger::Cmd_StartSubroutine(int argc, const char **argv) {
+	if (argc > 1) {
+		uint subroutine = atoi(argv[1]);
+		Subroutine *sub;
+		sub = _vm->getSubroutineByID(subroutine);
+		_vm->startSubroutine(sub);
+	} else
+		DebugPrintf("Syntax: sub <subroutinenum>\n");
 
 	return true;
 }

Index: debugger.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/debugger.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- debugger.h	27 Jan 2004 17:13:43 -0000	1.2
+++ debugger.h	28 Jan 2004 02:27:09 -0000	1.3
@@ -40,8 +40,12 @@
 
 	bool Cmd_Exit(int argc, const char **argv);
 	bool Cmd_Help(int argc, const char **argv);
-	bool Cmd_PlayVoice(int argc, const char **argv);
 	bool Cmd_PlayMusic(int argc, const char **argv);
+	bool Cmd_PlaySound(int argc, const char **argv);
+	bool Cmd_PlayVoice(int argc, const char **argv);
+	bool Cmd_SetBit(int argc, const char **argv);
+	bool Cmd_SetVar(int argc, const char **argv);
+	bool Cmd_StartSubroutine(int argc, const char **argv);
 };
 
 } // End of namespace Simon





More information about the Scummvm-git-logs mailing list