[Scummvm-cvs-logs] SF.net SVN: scummvm:[49460] tools/branches/gsoc2010-decompiler/decompiler/ scummv6/disassembler.cpp

pidgeot at users.sourceforge.net pidgeot at users.sourceforge.net
Sun Jun 6 17:23:36 CEST 2010


Revision: 49460
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49460&view=rev
Author:   pidgeot
Date:     2010-06-06 15:23:36 +0000 (Sun, 06 Jun 2010)

Log Message:
-----------
Flag instructions with variable stack arguments

Modified Paths:
--------------
    tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp

Modified: tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp	2010-06-06 15:22:39 UTC (rev 49459)
+++ tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp	2010-06-06 15:23:36 UTC (rev 49460)
@@ -93,9 +93,9 @@
 		OPCODE(0x5B, "wordArrayDec", kArithmetic, -1, "w");
 		OPCODE(0x5C, "jumpTrue", kCondJump, -1, "w");
 		OPCODE(0x5D, "jumpFalse", kCondJump, -1, "w");
-		OPCODE(0x5E, "startScript", kSpecial, 0, ""); //Variable stack arguments
-		OPCODE(0x5F, "startScriptQuick", kSpecial, 0, ""); //Variable stack arguments
-		OPCODE(0x60, "startObject", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0x5E, "startScript", kSpecial, -255, ""); //Variable stack arguments
+		OPCODE(0x5F, "startScriptQuick", kSpecial, -255, ""); //Variable stack arguments
+		OPCODE(0x60, "startObject", kSpecial, -255, ""); //Variable stack arguments
 		OPCODE(0x61, "drawObject", kSpecial, -2, "");
 		OPCODE(0x62, "drawObjectAt", kSpecial, -3, "");
 		OPCODE(0x63, "drawBlastObject", kSpecial, 0, "");
@@ -103,7 +103,7 @@
 		OPCODE(0x65, "stopObjectCodeA", kSpecial, 0, "");
 		OPCODE(0x66, "stopObjectCodeB", kSpecial, 0, "");
 		OPCODE(0x67, "endCutscene", kSpecial, 0, "");
-		OPCODE(0x68, "beginCutscene", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0x68, "beginCutscene", kSpecial, -255, ""); //Variable stack arguments
 		OPCODE(0x69, "stopMusic", kSpecial, 0, "");
 		OPCODE(0x6A, "freezeUnfreeze", kSpecial, -1, "");
 		START_SUBOPCODE(0x6B); //cursorCommand
@@ -118,12 +118,12 @@
 			OPCODE(0x99, "cursorCmd_Image", kSpecial, -2, "");
 			OPCODE(0x9A, "cursorCmd_Hotspot", kSpecial, -2, "");
 			OPCODE(0x9C, "cursorCmd_CharsetSet", kSpecial, -1, "");
-			OPCODE(0x9D, "cursorCmd_CharsetColor", kSpecial, 0, ""); //Variable stack arguments
+			OPCODE(0x9D, "cursorCmd_CharsetColor", kSpecial, -255, ""); //Variable stack arguments
 			OPCODE(0xD6, "cursorCmd_Transparent", kSpecial, -1, "");
 		END_SUBOPCODE;
 		OPCODE(0x6C, "breakHere", kSpecial, 0, "");
-		OPCODE(0x6D, "ifClassOfIs", kSpecial, 0, ""); //Variable stack arguments
-		OPCODE(0x6E, "setClass", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0x6D, "ifClassOfIs", kSpecial, -255, ""); //Variable stack arguments
+		OPCODE(0x6E, "setClass", kSpecial, -255, ""); //Variable stack arguments
 		OPCODE(0x6F, "getState", kSpecial, 0, "");
 		OPCODE(0x70, "setState", kSpecial, -2, "");
 		OPCODE(0x71, "setOwner", kSpecial, -2, "");
@@ -164,7 +164,7 @@
 		OPCODE(0x96, "endOverride", kSpecial, 0, "");
 		OPCODE(0x97, "setObjectName", kSpecial, -1, "c");
 		OPCODE(0x98, "isSoundRunning", kSpecial, 0, "");
-		OPCODE(0x99, "setBoxFlags", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0x99, "setBoxFlags", kSpecial, -255, ""); //Variable stack arguments
 		OPCODE(0x9A, "createBoxMatrix", kSpecial, 0, "");
 		START_SUBOPCODE(0x9B); //resourceRoutines
 			OPCODE(0x64, "resRoutine_loadScript", kSpecial, -1, "");
@@ -206,7 +206,7 @@
 		START_SUBOPCODE(0x9D); //actorOps
 			OPCODE(0x4C, "actorOp_setCostume", kSpecial, -1, "");
 			OPCODE(0x4D, "actorOp_setWalkSpeed", kSpecial, -2, "");
-			OPCODE(0x4E, "actorOp_setSound", kSpecial, 0, ""); //Variable stack arguments
+			OPCODE(0x4E, "actorOp_setSound", kSpecial, -255, ""); //Variable stack arguments
 			OPCODE(0x4F, "actorOp_setWalkFrame", kSpecial, -1, "");
 			OPCODE(0x50, "actorOp_setTalkFrame", kSpecial, -2, "");
 			OPCODE(0x51, "actorOp_setStandFrame", kSpecial, -1, "");
@@ -264,13 +264,13 @@
 		END_SUBOPCODE;
 		OPCODE(0x9F, "getActorFromXY", kSpecial, -1, "");
 		OPCODE(0xA0, "findObject", kSpecial, -1, "");
-		OPCODE(0xA1, "pseudoRoom", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0xA1, "pseudoRoom", kSpecial, -255, ""); //Variable stack arguments
 		OPCODE(0xA2, "getActorElevation", kSpecial, 0, "");
 		OPCODE(0xA3, "getVerbEntrypoint", kSpecial, -1, "");
 		START_SUBOPCODE(0xA4); //arrayOps
 			OPCODE(0xCD, "arrayOp_assignString", kSpecial, -1, "wc");
-			OPCODE(0xD0, "arrayOp_assignIntList", kSpecial, 0, "w"); //Variable stack arguments
-			OPCODE(0xD4, "arrayOp_assign2DimList", kSpecial, 0, "w"); //Variable stack arguments
+			OPCODE(0xD0, "arrayOp_assignIntList", kSpecial, -255, "w"); //Variable stack arguments
+			OPCODE(0xD4, "arrayOp_assign2DimList", kSpecial, -255, "w"); //Variable stack arguments
 		END_SUBOPCODE;
 		START_SUBOPCODE(0xA5); //saveRestoreVerbs
 			OPCODE(0x8D, "srVerb_saveVerbs", kSpecial, -3, "");
@@ -290,8 +290,8 @@
 		END_SUBOPCODE;
 		OPCODE(0xAA, "getActorScaleX", kSpecial, 0, "");
 		OPCODE(0xAB, "getActorAnimCounter", kSpecial, 0, "");
-		OPCODE(0xAC, "soundKludge", kSpecial, 0, ""); //Variable stack arguments
-		OPCODE(0xAD, "isAnyOf", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0xAC, "soundKludge", kSpecial, -255, ""); //Variable stack arguments
+		OPCODE(0xAD, "isAnyOf", kSpecial, -255, ""); //Variable stack arguments
 		START_SUBOPCODE(0xAE); //systemOps
 			OPCODE(0x9E, "systemOp_restartGame", kSpecial, 0, "");
 			OPCODE(0x9F, "systemOp_pauseGame", kSpecial, 0, "");
@@ -384,8 +384,8 @@
 			OPCODE(0xCB, "dimArrayString", kSpecial, -1, "w");
 			OPCODE(0xCC, "dimArray_nukeArray", kSpecial, 0, "w");
 		END_SUBOPCODE;
-		OPCODE(0xBE, "startObjectQuick", kSpecial, 0, ""); //Variable stack arguments
-		OPCODE(0xBF, "startScriptQuick2", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0xBE, "startObjectQuick", kSpecial, -255, ""); //Variable stack arguments
+		OPCODE(0xBF, "startScriptQuick2", kSpecial, -255, ""); //Variable stack arguments
 		START_SUBOPCODE(0xC0); //dim2DimArray
 			OPCODE(0xC7, "dim2DimArrayInt", kSpecial, -2, "w");
 			OPCODE(0xC8, "dim2DimArrayBit", kSpecial, -2, "w");
@@ -397,23 +397,23 @@
 		OPCODE(0xC5, "getDistObjObj", kSpecial, -1, "");
 		OPCODE(0xC6, "getDistObjPt", kSpecial, -2, "");
 		OPCODE(0xC7, "getDistPtPt", kSpecial, -3, "");
-		OPCODE(0xC8, "kernelGetFunctions", kSpecial, 0, ""); //Variable stack arguments
-		OPCODE(0xC9, "kernelSetFunctions", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0xC8, "kernelGetFunctions", kSpecial, -255, ""); //Variable stack arguments
+		OPCODE(0xC9, "kernelSetFunctions", kSpecial, -255, ""); //Variable stack arguments
 		OPCODE(0xCA, "delayFrames", kSpecial, -1, "");
-		OPCODE(0xCB, "pickOneOf", kSpecial, 0, ""); //Variable stack arguments
-		OPCODE(0xCC, "pickOneOfDefault", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0xCB, "pickOneOf", kSpecial, -255, ""); //Variable stack arguments
+		OPCODE(0xCC, "pickOneOfDefault", kSpecial, -255, ""); //Variable stack arguments
 		OPCODE(0xCD, "stampObject", kSpecial, -4, "");
 		OPCODE(0xD0, "getDateTime", kSpecial, 0, "");
 		OPCODE(0xD1, "stopTalking", kSpecial, 0, "");
 		OPCODE(0xD2, "getAnimateVariable", kSpecial, -1, "");
 		OPCODE(0xD4, "shuffle", kSpecial, -2, "w");
-		OPCODE(0xD5, "jumpToScript", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0xD5, "jumpToScript", kSpecial, -255, ""); //Variable stack arguments
 		OPCODE(0xD6, "band", kBoolean, -1, "");
 		OPCODE(0xD7, "bor", kBoolean, -1, "");
 		OPCODE(0xD8, "isRoomScriptRunning", kSpecial, 0, "");
 		OPCODE(0xDD, "findAllObjects", kSpecial, 0, "");
 		OPCODE(0xE1, "getPixel", kSpecial, -1, "");
-		OPCODE(0xE3, "pickVarRandom", kSpecial, 0, ""); //Variable stack arguments
+		OPCODE(0xE3, "pickVarRandom", kSpecial, -255, ""); //Variable stack arguments
 		OPCODE(0xE4, "setBoxSet", kSpecial, -1, "");
 		OPCODE(0xEC, "getActorLayer", kSpecial, 0, "");
 		OPCODE(0xED, "getObjectNewDir", kSpecial, 0, "");


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