[Scummvm-cvs-logs] SF.net SVN: scummvm: [30294] tools/trunk

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Sun Jan 6 13:00:44 CET 2008


Revision: 30294
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30294&view=rev
Author:   Kirben
Date:     2008-01-06 04:00:03 -0800 (Sun, 06 Jan 2008)

Log Message:
-----------
Add way to select exact HE version for now.

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

Modified: tools/trunk/descumm-tool.cpp
===================================================================
--- tools/trunk/descumm-tool.cpp	2008-01-06 11:58:39 UTC (rev 30293)
+++ tools/trunk/descumm-tool.cpp	2008-01-06 12:00:03 UTC (rev 30294)
@@ -203,10 +203,13 @@
 					g_jump_opcode = 0x66;
 					break;
 
-				case '9':
-					g_options.heVersion = 72;
+				case 'g':
+					g_options.heVersion = atoi(s + 1);
 					g_options.scriptVersion = 6;
 					g_jump_opcode = 0x73;
+
+					// Skip two digits for HE version
+					s += 2;
 					break;
 
 				case 'o':

Modified: tools/trunk/descumm6.cpp
===================================================================
--- tools/trunk/descumm6.cpp	2008-01-06 11:58:39 UTC (rev 30293)
+++ tools/trunk/descumm6.cpp	2008-01-06 12:00:03 UTC (rev 30294)
@@ -175,10 +175,11 @@
 				else
 					where += sprintf(where, "var%d", _var & 0xFFF);
 			} else if (_var & 0x8000) {
-				// HE80+
-				// where += sprintf(where, "roomvar%ld", se->data & 0xFFF);
-				// else
-				where += sprintf(where, "bitvar%d", _var & 0x7FFF);
+				if (g_options.heVersion >= 80) {
+					where += sprintf(where, "roomvar%d", _var & 0xFFF);
+				} else {
+					where += sprintf(where, "bitvar%d", _var & 0x7FFF);
+				}
 			} else if (_var & 0x4000) {
 				where += sprintf(where, "localvar%d", _var & 0xFFF);
 			} else {
@@ -1547,66 +1548,153 @@
 				"\x1Dpppppp|case29");
 		break;
 	case 0x25: // HE90+
-		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,"
-//				"\x2Dppp|findSprite,"   // HE90
-				"\x2Dpppp|findSprite,"  // HE98
-//				"\x2Dlpppp|findSprite," // HE99+
-				"\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");
+		if (g_options.heVersion >= 99) {
+			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");
+		} else if (g_options.heVersion >= 98) {
+			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,"
+					"\x2Dpppp|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");
+		} else {
+			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,"
+					"\x2Dppp|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");
+		}
 		break;
 	case 0x26: // HE90+
-		ext(output, "x" "setSpriteInfo\0"
-				"\x22p|setDistX,"
-				"\x23p|setDistY,"
-				"\x25p|setGroup,"
-				"\x2App|setFlags,"
-				"\x2Bp|setPriority,"
-				"\x2Cpp|move,"
-				"\x34p|setImageState,"
-				"\x35p|setAngle,"
-				"\x39p|setRange,"  // HE90-98
-//				"\x39pp|setRange," // HE 98.5+
-				"\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");
+		if (g_options.heVersion >= 98) {
+			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");
+		} else {
+			ext(output, "x" "setSpriteInfo\0"
+					"\x22p|setDistX,"
+					"\x23p|setDistY,"
+					"\x25p|setGroup,"
+					"\x2App|setFlags,"
+					"\x2Bp|setPriority,"
+					"\x2Cpp|move,"
+					"\x34p|setImageState,"
+					"\x35p|setAngle,"
+					"\x39p|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");
+		}
 		break;
 	case 0x27: // HE90+
 		ext(output, "rx" "getSpriteGroupInfo\0"
@@ -1851,16 +1939,17 @@
 		ext(output, "l|beginCutscene");
 		break;
 	case 0x69:
-		// HE80+
-		ext(output, "x" "windowOps\0"
-				"\x39p|case25,"
-				"\x3Ap|case26,"
-				"\x3Fp|case31,"
-				"\xD9|case185,"
-				"\xF3h|case211,"
-				"\xFF|case223");
-		// else
-		// ext(output, "|stopMusic");
+		if (g_options.heVersion >= 80) {
+			ext(output, "x" "windowOps\0"
+					"\x39p|case25,"
+					"\x3Ap|case26,"
+					"\x3Fp|case31,"
+					"\xD9|case185,"
+					"\xF3h|case211,"
+					"\xFF|case223");
+		} else {
+			ext(output, "|stopMusic");
+		}
 		break;
 	case 0x6A:
 		ext(output, "p|freezeUnfreeze");
@@ -2011,15 +2100,16 @@
 		ext(output, "rp|getInventoryCount");
 		break;
 	case 0x94:
-		// HE90+
-		ext(output, "rx" "getPaletteData\0"
-				"\x2Dpppppp|,"
-				"\x34ppp|getColorCompontent,"
-				"\x42pp|getColor,"
-				"\x84pp|getColorCompontent2,"
-				"\xD9ppp|getSimilarColor2");
-		// else
-		// ext(output, "rpp|getVerbFromXY");
+		if (g_options.heVersion >= 90) {
+			ext(output, "rx" "getPaletteData\0"
+					"\x2Dpppppp|,"
+					"\x34ppp|getColorCompontent,"
+					"\x42pp|getColor,"
+					"\x84pp|getColorCompontent2,"
+					"\xD9ppp|getSimilarColor2");
+		} else {
+			ext(output, "rpp|getVerbFromXY");
+		}
 		break;
 	case 0x95:
 		ext(output, "|beginOverride");
@@ -2134,38 +2224,38 @@
 				"\xE1hp|setTalkieSlot");
 		break;
 	case 0x9E:
-		// HE90+
-		ext(output, "x" "paletteOps\0"
-				"\x39p|setPaletteNum,"
-				"\x3Fpp|setPaletteFromImage,"
-				"\x42ppppp|setPaletteColor,"
-				"\x46ppp|copyPaletteColor,"
-				"\x4Cp|setPaletteFromCostume,"
-				"\x56p|copyPalette,"
-				"\xAFpp|setPaletteFromRoom,"
-				"\xD9|restorePalette,"
-				"\xFF|resetPaletteNum");
-		/* else
-		ext(output, "x" "verbOps\0"
-				"\xC4p|setCurVerb,"
-				"\x7Cp|loadImg,"
-				"\x7Dh|loadString,"
-				"\x7Ep|setColor,"
-				"\x7Fp|setHiColor,"
-				"\x80pp|setXY,"
-				"\x81|setOn,"
-				"\x82|setOff,"
-				"\x83p|kill,"
-				"\x84|init,"
-				"\x85p|setDimColor,"
-				"\x86|setDimmed,"
-				"\x87p|setKey,"
-				"\x88|setCenter,"
-				"\x89p|setToString,"
-				"\x8Bpp|setToObject,"
-				"\x8Cp|setBkColor,"
-				"\xFF|redraw");
-		*/
+		if (g_options.heVersion >= 90) {
+			ext(output, "x" "paletteOps\0"
+					"\x39p|setPaletteNum,"
+					"\x3Fpp|setPaletteFromImage,"
+					"\x42ppppp|setPaletteColor,"
+					"\x46ppp|copyPaletteColor,"
+					"\x4Cp|setPaletteFromCostume,"
+					"\x56p|copyPalette,"
+					"\xAFpp|setPaletteFromRoom,"
+					"\xD9|restorePalette,"
+					"\xFF|resetPaletteNum");
+		} else {
+			ext(output, "x" "verbOps\0"
+					"\xC4p|setCurVerb,"
+					"\x7Cp|loadImg,"
+					"\x7Dh|loadString,"
+					"\x7Ep|setColor,"
+					"\x7Fp|setHiColor,"
+					"\x80pp|setXY,"
+					"\x81|setOn,"
+					"\x82|setOff,"
+					"\x83p|kill,"
+					"\x84|init,"
+					"\x85p|setDimColor,"
+					"\x86|setDimmed,"
+					"\x87p|setKey,"
+					"\x88|setCenter,"
+					"\x89p|setToString,"
+					"\x8Bpp|setToObject,"
+					"\x8Cp|setBkColor,"
+					"\xFF|redraw");
+		}
 		break;
 	case 0x9F:
 		ext(output, "rpp|getActorFromXY");


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