[Scummvm-cvs-logs] SF.net SVN: scummvm:[34355] tools/trunk/descumm6.cpp

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Fri Sep 5 16:50:10 CEST 2008


Revision: 34355
          http://scummvm.svn.sourceforge.net/scummvm/?rev=34355&view=rev
Author:   Kirben
Date:     2008-09-05 14:50:09 +0000 (Fri, 05 Sep 2008)

Log Message:
-----------
Improve support for support for decompiling HE100 scripts.

Modified Paths:
--------------
    tools/trunk/descumm6.cpp

Modified: tools/trunk/descumm6.cpp
===================================================================
--- tools/trunk/descumm6.cpp	2008-09-05 14:48:47 UTC (rev 34354)
+++ tools/trunk/descumm6.cpp	2008-09-05 14:50:09 UTC (rev 34355)
@@ -1492,8 +1492,6 @@
 	byte code = get_byte();
 	StackEnt *se_a, *se_b;
 
-	//printf("HE_V100 Opcode: 0x0%x\n", code);
-
 	switch (code) {
 	case 0x0:
 		ext(output, "x" "actorOps\0"
@@ -1724,7 +1722,7 @@
 	case 0x24:
 		ext(output, "pppp|drawWizImage");
 		break;
-	case 0x25: // HE80+
+	case 0x25:
 		ext(output, "pp|drawWizPolygon");
 		break;
 	case 0x26:
@@ -2123,34 +2121,36 @@
 				"\x88p|setSoundFlag32");
 		break;
 	case 0x79:
-		// TODO: Convert to HE100
 		ext(output, "x" "setSpriteInfo\0"
-				"\x22p|setDistX,"
-				"\x23p|setDistY,"
-				"\x25p|setGroup,"
-				"\x2App|setFlags,"
-				"\x2Bp|setPriority,"
-				"\x2Cpp|move,"
-				"\x34p|setImageState,"
-				"\x35p|setAngle,"
-				"\x39pp|setRange,"
-				"\x3Ep|setSourceImage,"
-				"\x3Fp|setImage,"
-				"\x41pp|setPosition,"
-				"\x44p|setEraseType,"
-				"\x4Dpp|setDist,"
-				"\x52p|setAutoAnimFlag,"
-				"\x56p|setPalette,"
-				"\x5Cp|setScale,"
-				"\x61p|setAnimSpeed,"
-				"\x62p|setAutoShadow,"
-				"\x7Cp|setUpdateType,"
-				"\x7Dl|setClass,"
-				"\x8Bpp|setGeneralProperty,"
-				"\x8Cp|setMaskImage,"
-				"\x9E|resetTables,"
-				"\xC6pp|setUserValue,"
-				"\xD9|resetSprite");
+				"\x0pp|setRange,"
+				"\x2p|setAngle,"
+				"\x3p|setAutoAnimFlag,"
+				"\x4p|setAnimSpeed,"
+				"\x6pp|setPosition,"
+				"\x7p|setSourceImage,"
+				"\x10l|setClass,"
+				"\x20p|setEraseType,"
+				"\x26p|setGroup,"
+				"\x28p|setImage,"
+				"\x30p|setMaskImage,"
+				"\x31pp|move,"
+				"\x34|stringUnk,"
+				"\x35|resetSprite,"
+				"\x36pp|setGeneralProperty,"
+				"\x39p|setPalette,"
+				"\x3Bp|setPriority,"
+				"\x3Cpp|setFlags,"
+				"\x3D|resetTables,"
+				"\x41p|setScale,"
+				"\x46p|setAutoShadow,"
+				"\x49p|setImageState,"
+				"\x4App|setDist,"
+				"\x4Bp|setDistX,"
+				"\x4Cp|setDistY,"
+				"\x52p|setUpdateType,"
+				"\x53pp|setUserValue,"
+				"\x58p|setField84,"
+				"\x59|clearField84");
 		break;
 	case 0x7A:
 		ext(output, "pppp|stampObject");
@@ -2337,7 +2337,12 @@
 		ext(output, "rp|cos");
 		break;
 	case 0xA8:
-		ext(output, "rh|debugInput");
+		ext(output, "x" "debugInput\0"
+				"\x0h|case0,"
+				"\x1Ap|case26,"
+				"\x1Bh|case27,"
+				"\x50h|case80,"
+				"\x5Ch|case92");
 		break;
 	case 0xA9:
 		ext(output, "rh|getFileSize");
@@ -2422,9 +2427,10 @@
 				"\x1App|imageCount,"
 				"\x21pppp|isPixelNonTransparentnumber,"
 				"\x27pp|height,"
-				"\x36pp|width,"
-				"\x54pp|imageSpotX,"
-				"\x55pp|imageSpotY");
+				"\x36ppp|block,"
+				"\x54pp|width,"
+				"\x55pp|imageSpotX,"
+				"\x56pp|imageSpotY");
 		break;
 	case 0xBB:
 		ext(output, "rpp|isActorInBox");
@@ -2545,35 +2551,34 @@
 		ext(output, "rpp|getSoundVar");
 		break;
 	case 0xDB:
-		// TODO: Convert to HE100
 			ext(output, "rx" "getSpriteInfo\0"
-					"\x1Ep|getPosX,"
-					"\x1Fp|getPosY,"
-					"\x20p|getImageX,"
-					"\x21p|getImageY,"
-					"\x22p|getDistX,"
-					"\x23p|getDistY,"
-					"\x24p|getImageStateCount,"
-					"\x25p|getGroup,"
-					"\x26p|getDisplayX,"
-					"\x27p|getDisplayY,"
-					"\x2App|getFlags,"
-					"\x2Bp|getPriority,"
-					"\x2Dlpppp|findSprite,"
-					"\x34p|getImageState,"
-					"\x3Ep|getSourceImage,"
-					"\x3Fp|getImage,"
-					"\x44p|getEraseType,"
-					"\x52p|getFlagAutoAnim,"
-					"\x56p|getPalette,"
-					"\x5Cp|getScale,"
-					"\x61p|getAnimSpeed,"
-					"\x62p|getShadow,"
-					"\x7Cp|getUpdateType,"
-					"\x7Dlp|getClass,"
-					"\x8Bpp|getGeneralProperty,"
-					"\x8Cp|getMaskImage,"
-					"\xC6pp|getUserValue");
+					"\x3p|getFlagAutoAnim,"
+					"\x4p|getAnimSpeed,"
+					"\x7p|getSourceImage,"
+					"\x10lp|getClass,"
+					"\x1Ap|getImageStateCount,"
+					"\x1Ep|getDisplayX,"
+					"\x1Fp|getDisplayY,"
+					"\x20p|getEraseType,"
+					"\x21lpppp|findSprite,"
+					"\x26p|getGroup,"
+					"\x27p|getImageY,"
+					"\x28p|getImage,"
+					"\x30p|getMaskImage,"
+					"\x36pp|getGeneralProperty,"
+					"\x39p|getPalette,"
+					"\x3Bp|getPriority,"
+					"\x3Cpp|getFlags,"
+					"\x41p|getScale,"
+					"\x46p|getShadow,"
+					"\x49p|getImageState,"
+					"\x4Bp|getDistX,"
+					"\x4Cp|getDistY,"
+					"\x52p|getUpdateType,"
+					"\x53pp|getUserValue,"
+					"\x54p|getImageX,"
+					"\x55p|getPosX,"
+					"\x56p|getPosY");
 		break;
 	case 0xDC:
 		ext(output, "rp|sqrt");
@@ -2658,8 +2663,6 @@
 	byte code = get_byte();
 	StackEnt *se_a, *se_b;
 
-	//printf("HE_V72 Opcode: 0x0%x\n", code);
-
 	switch (code) {
 	case 0x0:
 		push(se_int(get_byte()));


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