[Scummvm-cvs-logs] scummvm master -> b53487fe388668e22a81f3de83755e76003c48f6

Kirben kirben at optusnet.com.au
Wed Mar 5 04:28:41 CET 2014


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
b53487fe38 AGOS: Update debug tables.


Commit: b53487fe388668e22a81f3de83755e76003c48f6
    https://github.com/scummvm/scummvm/commit/b53487fe388668e22a81f3de83755e76003c48f6
Author: Kirben (kirben at optusnet.com.au)
Date: 2014-03-04T19:27:48-08:00

Commit Message:
AGOS: Update debug tables.

Changed paths:
    engines/agos/debug.cpp
    engines/agos/debug.h



diff --git a/engines/agos/debug.cpp b/engines/agos/debug.cpp
index 9dd6db9..ad5bfb5 100644
--- a/engines/agos/debug.cpp
+++ b/engines/agos/debug.cpp
@@ -101,7 +101,7 @@ const byte *AGOSEngine::dumpOpcode(const byte *p) {
 			}
 
 		case 'W':{
-				int n = (int16)READ_BE_UINT16(p);
+				uint16 n = READ_BE_UINT16(p);
 				p += 2;
 				if (getGameType() == GType_PP) {
 					if (n >= 60000 && n < 62048)
@@ -222,14 +222,18 @@ void AGOSEngine::dumpVideoScript(const byte *src, bool singeOpcode) {
 			error("dumpVideoScript: Opcode %d out of range (%d)", opcode, _numVideoOpcodes);
 		}
 
-		if (getGameType() == GType_FF || getGameType() == GType_PP) {
+		if (getGameType() == GType_PP) {
+			strn = str = puzzlepack_videoOpcodeNameTable[opcode];
+		} else if (getGameType() == GType_FF) {
 			strn = str = feeblefiles_videoOpcodeNameTable[opcode];
 		} else if (getGameType() == GType_SIMON2) {
 			strn = str = simon2_videoOpcodeNameTable[opcode];
 		} else if (getGameType() == GType_SIMON1) {
 			strn = str = simon1_videoOpcodeNameTable[opcode];
-		} else if (getGameType() == GType_ELVIRA2 || getGameType() == GType_WW) {
+		} else if (getGameType() == GType_WW) {
 			strn = str = ww_videoOpcodeNameTable[opcode];
+		} else if (getGameType() == GType_ELVIRA2) {
+			strn = str = elvira2_videoOpcodeNameTable[opcode];
 		} else if (getGameType() == GType_ELVIRA1) {
 			strn = str = elvira1_videoOpcodeNameTable[opcode];
 		} else {
@@ -250,25 +254,39 @@ void AGOSEngine::dumpVideoScript(const byte *src, bool singeOpcode) {
 			case 'x':
 				debugN("\n");
 				return;
-			case 'b':
+			case 'b': {
 				debugN("%d ", *src++);
 				break;
-			case 'd':
+				}
+			case 'w': {
+				int16 v = (int16)readUint16Wrapper(src);
+				src += 2;
+				if (v < 0)
+					debugN("[%d] ", -v);
+				else
+					debugN("%d ", v);
+				break;
+				}
+			case 'd': {
 				debugN("%d ", (int16)readUint16Wrapper(src));
 				src += 2;
 				break;
-			case 'v':
+				}
+			case 'v': {
 				debugN("[%d] ", readUint16Wrapper(src));
 				src += 2;
 				break;
-			case 'i':
+				}
+			case 'i': {
 				debugN("%d ", (int16)readUint16Wrapper(src));
 				src += 2;
 				break;
-			case 'j':
+				}
+			case 'j': {
 				debugN("-> ");
 				break;
-			case 'q':
+				}
+			case 'q': {
 				while (readUint16Wrapper(src) != end) {
 					debugN("(%d,%d) ", readUint16Wrapper(src),
 									readUint16Wrapper(src + 2));
@@ -276,6 +294,7 @@ void AGOSEngine::dumpVideoScript(const byte *src, bool singeOpcode) {
 				}
 				src += 2;
 				break;
+				}
 			default:
 				error("dumpVideoScript: Invalid fmt string '%c' in decompile VGA", *str);
 			}
diff --git a/engines/agos/debug.h b/engines/agos/debug.h
index f99a167..4d521de 100644
--- a/engines/agos/debug.h
+++ b/engines/agos/debug.h
@@ -2468,7 +2468,7 @@ const char *const elvira1_videoOpcodeNameTable[] = {
 	"dd|DELAY_IF_NOT_EQ",
 };
 
-const char *const ww_videoOpcodeNameTable[] = {
+const char *const elvira2_videoOpcodeNameTable[] = {
 	/* 0 */
 	"x|RET",
 	"ddd|FADEOUT",
@@ -2485,7 +2485,7 @@ const char *const ww_videoOpcodeNameTable[] = {
 	"dddd|DRAW",
 	"d|ON_STOP",
 	/* 12 */
-	"d|DELAY",
+	"w|DELAY",
 	"d|SET_SPRITE_OFFSET_X",
 	"d|SET_SPRITE_OFFSET_Y",
 	"d|SYNC",
@@ -2551,11 +2551,94 @@ const char *const ww_videoOpcodeNameTable[] = {
 	"|FASTFADEIN",
 };
 
+const char *const ww_videoOpcodeNameTable[] = {
+	/* 0 */
+	"x|RET",
+	"ddd|FADEOUT",
+	"w|CALL",
+	"ddddd|NEW_SPRITE",
+	/* 4 */
+	"ddd|FADEIN",
+	"vdj|IF_EQUAL",
+	"dj|IF_OBJECT_HERE",
+	"dj|IF_OBJECT_NOT_HERE",
+	/* 8 */
+	"ddj|IF_OBJECT_IS_AT",
+	"ddj|IF_OBJECT_STATE_IS",
+	"dddd|DRAW",
+	"d|ON_STOP",
+	/* 12 */
+	"w|DELAY",
+	"d|SET_SPRITE_OFFSET_X",
+	"d|SET_SPRITE_OFFSET_Y",
+	"d|SYNC",
+	/* 16 */
+	"d|WAIT_SYNC",
+	"d|WAIT_END",
+	"i|JUMP_REL",
+	"|CHAIN_TO",
+	/* 20 */
+	"dd|SET_REPEAT",
+	"i|END_REPEAT",
+	"d|SET_PALETTE",
+	"d|SET_PRIORITY",
+	/* 24 */
+	"wiid|SET_SPRITE_XY",
+	"x|HALT_SPRITE",
+	"ddddd|SET_WINDOW",
+	"|RESET",
+	/* 28 */
+	"dddd|PLAY_SOUND",
+	"|STOP_ALL_SOUNDS",
+	"d|SET_FRAME_RATE",
+	"d|SET_WINDOW",
+	/* 32 */
+	"|SAVE_SCREEN",
+	"|MOUSE_ON",
+	"|MOUSE_OFF",
+	"dd|CLEAR_WINDOW",
+	/* 36 */
+	"dd|SET_WINDOW_IMAGE",
+	"dd|POKE_PALETTE",
+	"vj|IF_VAR_NOT_ZERO",
+	"vd|SET_VAR",
+	/* 40 */
+	"vd|ADD_VAR",
+	"vd|SUB_VAR",
+	"vd|DELAY_IF_NOT_EQ",
+	"dj|IF_BIT_SET",
+	/* 44 */
+	"dj|IF_BIT_CLEAR",
+	"dd|SET_WINDOW_PALETTE",
+	"d|SET_PALETTE_SLOT1",
+	"d|SET_PALETTE_SLOT2",
+	/* 48 */
+	"d|SET_PALETTE_SLOT3",
+	"d|SET_BIT",
+	"d|CLEAR_BIT",
+	"d|ENABLE_BOX",
+	/* 52 */
+	"d|PLAY_EFFECT",
+	"dd|DISSOLVE_IN",
+	"ddd|DISSOLVE_OUT",
+	"ddd|MOVE_BOX",
+	/* 56 */
+	"|FULL_SCREEN",
+	"|BLACK_PALETTE",
+	"|CHECK_CODE_WHEEL",
+	"j|IF_EGA",
+	/* 60 */
+	"d|STOP_ANIMATE",
+	"d|INTRO",
+	"|FASTFADEOUT",
+	"|FASTFADEIN",
+};
+
 const char *const simon1_videoOpcodeNameTable[] = {
 	/* 0 */
 	"x|RET",
 	"ddd|FADEOUT",
-	"d|CALL",
+	"w|CALL",
 	"ddddd|NEW_SPRITE",
 	/* 4 */
 	"ddd|FADEIN",
@@ -2568,7 +2651,7 @@ const char *const simon1_videoOpcodeNameTable[] = {
 	"ddddd|DRAW",
 	"|CLEAR_PATHFIND_ARRAY",
 	/* 12 */
-	"d|DELAY",
+	"w|DELAY",
 	"d|SET_SPRITE_OFFSET_X",
 	"d|SET_SPRITE_OFFSET_Y",
 	"d|SYNC",
@@ -2583,7 +2666,7 @@ const char *const simon1_videoOpcodeNameTable[] = {
 	"dd|SET_PALETTE",
 	"d|SET_PRIORITY",
 	/* 24 */
-	"diid|SET_SPRITE_XY",
+	"wiid|SET_SPRITE_XY",
 	"x|HALT_SPRITE",
 	"ddddd|SET_WINDOW",
 	"|RESET",
@@ -2629,7 +2712,7 @@ const char *const simon1_videoOpcodeNameTable[] = {
 	"j|IF_SPEECH",
 	/* 60 */
 	"d|STOP_ANIMATE",
-	"ddd|MASK",
+	"wdd|MASK",
 	"|FASTFADEOUT",
 	"|FASTFADEIN",
 };
@@ -2638,7 +2721,7 @@ const char *const simon2_videoOpcodeNameTable[] = {
 	/* 0 */
 	"x|RET",
 	"ddd|FADEOUT",
-	"d|CALL",
+	"w|CALL",
 	"dddddd|NEW_SPRITE",
 	/* 4 */
 	"ddd|FADEIN",
@@ -2666,7 +2749,7 @@ const char *const simon2_videoOpcodeNameTable[] = {
 	"dd|SET_PALETTE",
 	"d|SET_PRIORITY",
 	/* 24 */
-	"diib|SET_SPRITE_XY",
+	"wiib|SET_SPRITE_XY",
 	"x|HALT_SPRITE",
 	"ddddd|SET_WINDOW",
 	"|RESET",
@@ -2706,13 +2789,13 @@ const char *const simon2_videoOpcodeNameTable[] = {
 	"ddd|DUMMY_54",
 	"ddd|MOVE_BOX",
 	/* 56 */
-	"i|WAIT_BIG",
+	"w|WAIT_BIG",
 	"|BLACK_PALETTE",
 	"ddd|SET_PRIORITIES",
 	"ddd|STOP_ANIMATIONS",
 	/* 60 */
 	"dd|STOP_ANIMATE",
-	"ddd|MASK",
+	"wdd|MASK",
 	"|FASTFADEOUT",
 	"|FASTFADEIN",
 	/* 64 */
@@ -2735,7 +2818,7 @@ const char *const feeblefiles_videoOpcodeNameTable[] = {
 	/* 0 */
 	"x|RET",
 	"ddd|FADEOUT",
-	"d|CALL",
+	"w|CALL",
 	"dddddd|NEW_SPRITE",
 	/* 4 */
 	"ddd|FADEIN",
@@ -2763,7 +2846,7 @@ const char *const feeblefiles_videoOpcodeNameTable[] = {
 	"dd|SET_PALETTE",
 	"d|SET_PRIORITY",
 	/* 24 */
-	"diib|SET_SPRITE_XY",
+	"wiib|SET_SPRITE_XY",
 	"x|HALT_SPRITE",
 	"ddddd|SET_WINDOW",
 	"|RESET",
@@ -2803,7 +2886,116 @@ const char *const feeblefiles_videoOpcodeNameTable[] = {
 	"ddd|DUMMY_54",
 	"ddd|MOVE_BOX",
 	/* 56 */
-	"i|WAIT_BIG",
+	"w|WAIT_BIG",
+	"|BLACK_PALETTE",
+	"ddd|SET_PRIORITIES",
+	"ddd|STOP_ANIMATIONS",
+	/* 60 */
+	"dd|STOP_ANIMATE",
+	"wdd|MASK",
+	"|FASTFADEOUT",
+	"|FASTFADEIN",
+	/* 64 */
+	"j|IF_SPEECH",
+	"|SLOW_FADE_IN",
+	"ddj|IF_VAR_EQUAL",
+	"ddj|IF_VAR_LE",
+	/* 68 */
+	"ddj|IF_VAR_GE",
+	"dd|PLAY_SEQ",
+	"dd|JOIN_SEQ",
+	"|IF_SEQ_WAITING",
+	/* 72 */
+	"dd|SEQUE",
+	"bb|SET_MARK",
+	"bb|CLEAR_MARK",
+	"dd|SETSCALE",
+	/* 76 */
+	"ddd|SETSCALEXOFFS",
+	"ddd|SETSCALEYOFFS",
+	"|COMPUTEXY",
+	"|COMPUTEPOSNUM",
+	/* 80 */
+	"wdd|SETOVERLAYIMAGE",
+	"dd|SETRANDOM",
+	"d|GETPATHVALUE",
+	"ddd|PLAYSOUNDLOOP",
+	"|STOPSOUNDLOOP",
+};
+
+const char *const puzzlepack_videoOpcodeNameTable[] = {
+	/* 0 */
+	"x|RET",
+	"ddd|FADEOUT",
+	"w|CALL",
+	"dddddd|NEW_SPRITE",
+	/* 4 */
+	"ddd|FADEIN",
+	"wdj|IF_EQUAL",
+	"dj|IF_OBJECT_HERE",
+	"dj|IF_OBJECT_NOT_HERE",
+	/* 8 */
+	"ddj|IF_OBJECT_IS_AT",
+	"ddj|IF_OBJECT_STATE_IS",
+	"ddddb|DRAW",
+	"|CLEAR_PATHFIND_ARRAY",
+	/* 12 */
+	"b|DELAY",
+	"d|SET_SPRITE_OFFSET_X",
+	"d|SET_SPRITE_OFFSET_Y",
+	"d|SYNC",
+	/* 16 */
+	"d|WAIT_SYNC",
+	"dq|SET_PATHFIND_ITEM",
+	"i|JUMP_REL",
+	"|CHAIN_TO",
+	/* 20 */
+	"dd|SET_REPEAT",
+	"i|END_REPEAT",
+	"dd|SET_PALETTE",
+	"d|SET_PRIORITY",
+	/* 24 */
+	"wiib|SET_SPRITE_XY",
+	"x|HALT_SPRITE",
+	"ddddd|SET_WINDOW",
+	"|RESET",
+	/* 28 */
+	"dddd|PLAY_SOUND",
+	"|STOP_ALL_SOUNDS",
+	"d|SET_FRAME_RATE",
+	"d|SET_WINDOW",
+	/* 32 */
+	"vv|COPY_VAR",
+	"|MOUSE_ON",
+	"|MOUSE_OFF",
+	"dd|CLEAR_WINDOW",
+	/* 36 */
+	"dd|SET_WINDOW_IMAGE",
+	"v|SET_SPRITE_OFFSET_Y",
+	"wj|IF_VAR_NOT_ZERO",
+	"wd|SET_VAR",
+	/* 40 */
+	"vd|ADD_VAR",
+	"vd|SUB_VAR",
+	"vd|DELAY_IF_NOT_EQ",
+	"dj|IF_BIT_SET",
+	/* 44 */
+	"dj|IF_BIT_CLEAR",
+	"v|SET_SPRITE_X",
+	"v|SET_SPRITE_Y",
+	"vv|ADD_VAR_F",
+	/* 48 */
+	"|COMPUTE_YOFS",
+	"d|SET_BIT",
+	"d|CLEAR_BIT",
+	"d|ENABLE_BOX",
+	/* 52 */
+	"ddd|PLAY_EFFECT",
+	"ddd|PAN_SFX",
+	"ddd|DUMMY_54",
+	"ddd|MOVE_BOX",
+	/* 56 */
+	"w|WAIT_BIG",
 	"|BLACK_PALETTE",
 	"ddd|SET_PRIORITIES",
 	"ddd|STOP_ANIMATIONS",
@@ -2833,7 +3025,7 @@ const char *const feeblefiles_videoOpcodeNameTable[] = {
 	"|COMPUTEXY",
 	"|COMPUTEPOSNUM",
 	/* 80 */
-	"ddd|SETOVERLAYIMAGE",
+	"wdd|SETOVERLAYIMAGE",
 	"dd|SETRANDOM",
 	"d|GETPATHVALUE",
 	"ddd|PLAYSOUNDLOOP",






More information about the Scummvm-git-logs mailing list