[Scummvm-cvs-logs] SF.net SVN: scummvm:[40231] scummvm/trunk/engines/agos

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Fri May 1 16:32:00 CEST 2009


Revision: 40231
          http://scummvm.svn.sourceforge.net/scummvm/?rev=40231&view=rev
Author:   Kirben
Date:     2009-05-01 14:31:59 +0000 (Fri, 01 May 2009)

Log Message:
-----------
Add bit2 and bit3 options to debugger.

Modified Paths:
--------------
    scummvm/trunk/engines/agos/debugger.cpp
    scummvm/trunk/engines/agos/debugger.h

Modified: scummvm/trunk/engines/agos/debugger.cpp
===================================================================
--- scummvm/trunk/engines/agos/debugger.cpp	2009-05-01 12:18:16 UTC (rev 40230)
+++ scummvm/trunk/engines/agos/debugger.cpp	2009-05-01 14:31:59 UTC (rev 40231)
@@ -42,6 +42,8 @@
 	DCmd_Register("sound",    WRAP_METHOD(Debugger, Cmd_PlaySound));
 	DCmd_Register("voice",    WRAP_METHOD(Debugger, Cmd_PlayVoice));
 	DCmd_Register("bit",      WRAP_METHOD(Debugger, Cmd_SetBit));
+	DCmd_Register("bit2",     WRAP_METHOD(Debugger, Cmd_SetBit2));
+	DCmd_Register("bit3",     WRAP_METHOD(Debugger, Cmd_SetBit2));
 	DCmd_Register("var",      WRAP_METHOD(Debugger, Cmd_SetVar));
 	DCmd_Register("obj",      WRAP_METHOD(Debugger, Cmd_SetObjectFlag));
 	DCmd_Register("sub",      WRAP_METHOD(Debugger, Cmd_StartSubroutine));
@@ -146,6 +148,52 @@
 	return true;
 }
 
+bool Debugger::Cmd_SetBit2(int argc, const char **argv) {
+	uint bit, value;
+	if (argc > 2) {
+		bit = atoi(argv[1]);
+		value = atoi(argv[2]);
+		if (value == 0) {
+			_vm->_bitArrayTwo[bit / 16] &= ~(1 << (bit & 15));
+			DebugPrintf("Set bit2 %d to %d\n", bit, value);
+		} else if (value == 1) {
+			_vm->_bitArrayTwo[bit / 16] |= (1 << (bit & 15));
+			DebugPrintf("Set bit2 %d to %d\n", bit, value);
+		} else
+			DebugPrintf("Bit2 value out of range (0 - 1)\n");
+	} else if (argc > 1) {
+		bit = atoi(argv[1]);
+		value = (_vm->_bitArrayTwo[bit / 16] & (1 << (bit & 15))) != 0;
+		DebugPrintf("Bit2 %d is %d\n", bit, value);
+	} else
+		DebugPrintf("Syntax: bit2 <bitnum> <value>\n");
+
+	return true;
+}
+
+bool Debugger::Cmd_SetBit3(int argc, const char **argv) {
+	uint bit, value;
+	if (argc > 2) {
+		bit = atoi(argv[1]);
+		value = atoi(argv[2]);
+		if (value == 0) {
+			_vm->_bitArrayThree[bit / 16] &= ~(1 << (bit & 15));
+			DebugPrintf("Set bit3 %d to %d\n", bit, value);
+		} else if (value == 1) {
+			_vm->_bitArrayThree[bit / 16] |= (1 << (bit & 15));
+			DebugPrintf("Set bit3 %d to %d\n", bit, value);
+		} else
+			DebugPrintf("Bit3 value out of range (0 - 1)\n");
+	} else if (argc > 1) {
+		bit = atoi(argv[1]);
+		value = (_vm->_bitArrayThree[bit / 16] & (1 << (bit & 15))) != 0;
+		DebugPrintf("Bit3 %d is %d\n", bit, value);
+	} else
+		DebugPrintf("Syntax: bit3 <bitnum> <value>\n");
+
+	return true;
+}
+
 bool Debugger::Cmd_SetVar(int argc, const char **argv) {
 	uint var, value;
 	if (argc > 1) {

Modified: scummvm/trunk/engines/agos/debugger.h
===================================================================
--- scummvm/trunk/engines/agos/debugger.h	2009-05-01 12:18:16 UTC (rev 40230)
+++ scummvm/trunk/engines/agos/debugger.h	2009-05-01 14:31:59 UTC (rev 40231)
@@ -48,6 +48,8 @@
 	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_SetBit2(int argc, const char **argv);
+	bool Cmd_SetBit3(int argc, const char **argv);
 	bool Cmd_SetVar(int argc, const char **argv);
 	bool Cmd_SetObjectFlag(int argc, const char **argv);
 	bool Cmd_StartSubroutine(int argc, const char **argv);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list