25 #include "common/scummsys.h" 29 static const char *
const elvira1_opcodeNameTable[300] = {
76 "IWJ|OBJECT_HAS_FLAG",
132 "IW|CLEAR_CHILD2_BIT",
191 "J|IS_SUBJECT_ITEM_EMPTY",
192 "J|IS_OBJECT_ITEM_EMPTY",
253 "IW|CLEAR_USER_ITEM",
317 "WWWWWWW|DEFINE_WINDOW",
357 "IJ|IS_SIBLING_WITH_A",
358 "IWW|DO_CLASS_ICONS",
371 "|PRINT_PLAYER_DAMAGE",
372 "|PRINT_MONSTER_DAMAGE",
378 "|PRINT_MONSTER_HIT",
381 "II|SET_PARENT_SPECIAL",
387 static const char *
const elvira2_opcodeNameTable[256] = {
401 "IIJ|IS_NOT_SIBLING",
424 "IBJ|OBJECT_HAS_FLAG",
460 "IB|CLEAR_CHILD2_BIT",
485 "J|IS_SUBJECT_ITEM_EMPTY",
486 "J|IS_OBJECT_ITEM_EMPTY",
515 "BWWWWWW|DEFINE_WINDOW",
545 "IJ|IS_SIBLING_WITH_A",
546 "IBB|DO_CLASS_ICONS",
562 "II|SET_PARENT_SPECIAL",
570 "IB|SET_DOOR_CLOSED",
571 "IB|SET_DOOR_LOCKED",
575 "IBJ|IF_DOOR_CLOSED",
576 "IBJ|IF_DOOR_LOCKED",
599 "IWB|SET_EXIT_CLOSED",
600 "IWB|SET_EXIT_LOCKED",
601 "IWB|SET_EXIT_CLOSED",
604 "IWBJ|IF_EXIT_CLOSED",
605 "IWBJ|IF_EXIT_LOCKED",
609 "IWBB|SET_SUPER_ROOM_EXIT",
620 static const char *
const waxworks_opcodeNameTable[256] = {
634 "IIJ|IS_NOT_SIBLING",
657 "IBJ|OBJECT_HAS_FLAG",
693 "IB|CLEAR_CHILD2_BIT",
703 "WWWWWB|ADD_TEXT_BOX",
718 "J|IS_SUBJECT_ITEM_EMPTY",
719 "J|IS_OBJECT_ITEM_EMPTY",
748 "BWWWWWW|DEFINE_WINDOW",
778 "IJ|IS_SIBLING_WITH_A",
779 "IBB|DO_CLASS_ICONS",
795 "II|SET_PARENT_SPECIAL",
803 "IB|SET_DOOR_CLOSED",
804 "IB|SET_DOOR_LOCKED",
808 "IBJ|IF_DOOR_CLOSED",
809 "IBJ|IF_DOOR_LOCKED",
862 static const char *
const simon1dos_opcodeNameTable[256] = {
899 "IBJ|OBJECT_HAS_FLAG",
935 "IB|CLEAR_CHILD2_BIT",
945 "WWWWWB|ADD_TEXT_BOX",
960 "J|IS_SUBJECT_ITEM_EMPTY",
961 "J|IS_OBJECT_ITEM_EMPTY",
975 "|RESTART_ANIMATION",
990 "BWWWWWW|DEFINE_WINDOW",
1020 "IJ|IS_SIBLING_WITH_A",
1021 "IBB|DO_CLASS_ICONS",
1037 "II|SET_PARENT_SPECIAL",
1060 "IBB|GET_ITEM_PROP",
1061 "IBW|SET_ITEM_PROP",
1085 "BBI|SCREEN_TEXT_POBJ",
1087 "BBB|SCREEN_TEXT_LONG_TEXT",
1095 "W|LOAD_SOUND_FILES",
1100 static const char *
const simon1talkie_opcodeNameTable[256] = {
1135 "IWJ|ITEM_STATE_IS",
1137 "IBJ|OBJECT_HAS_FLAG",
1172 "IB|SET_CHILD2_BIT",
1173 "IB|CLEAR_CHILD2_BIT",
1183 "WWWWWB|ADD_TEXT_BOX",
1184 "BT|SET_SHORT_TEXT",
1185 "BTw|SET_LONG_TEXT",
1189 "V|SHOW_STRING_AR3",
1198 "J|IS_SUBJECT_ITEM_EMPTY",
1199 "J|IS_OBJECT_ITEM_EMPTY",
1213 "|RESTART_ANIMATION",
1228 "BWWWWWW|DEFINE_WINDOW",
1258 "IJ|IS_SIBLING_WITH_A",
1259 "IBB|DO_CLASS_ICONS",
1275 "II|SET_PARENT_SPECIAL",
1298 "IBB|GET_ITEM_PROP",
1299 "IBW|SET_ITEM_PROP",
1323 "BBI|SCREEN_TEXT_POBJ",
1325 "BBB|SCREEN_TEXT_LONG_TEXT",
1333 "W|LOAD_SOUND_FILES",
1338 static const char *
const simon2dos_opcodeNameTable[256] = {
1373 "IWJ|ITEM_STATE_IS",
1375 "IBJ|OBJECT_HAS_FLAG",
1410 "IB|SET_CHILD2_BIT",
1411 "IB|CLEAR_CHILD2_BIT",
1421 "WWWWWB|ADD_TEXT_BOX",
1422 "BT|SET_SHORT_TEXT",
1427 "V|SHOW_STRING_AR3",
1436 "J|IS_SUBJECT_ITEM_EMPTY",
1437 "J|IS_OBJECT_ITEM_EMPTY",
1451 "|RESTART_ANIMATION",
1466 "BWWWWWW|DEFINE_WINDOW",
1496 "IJ|IS_SIBLING_WITH_A",
1497 "IBB|DO_CLASS_ICONS",
1513 "II|SET_PARENT_SPECIAL",
1536 "IBB|GET_ITEM_PROP",
1537 "IBW|SET_ITEM_PROP",
1561 "BBI|SCREEN_TEXT_POBJ",
1563 "BBB|SCREEN_TEXT_LONG_TEXT",
1580 static const char *
const simon2talkie_opcodeNameTable[256] = {
1615 "IWJ|ITEM_STATE_IS",
1617 "IBJ|OBJECT_HAS_FLAG",
1652 "IB|SET_CHILD2_BIT",
1653 "IB|CLEAR_CHILD2_BIT",
1663 "WWWWWB|ADD_TEXT_BOX",
1664 "BT|SET_SHORT_TEXT",
1665 "BTw|SET_LONG_TEXT",
1669 "V|SHOW_STRING_AR3",
1678 "J|IS_SUBJECT_ITEM_EMPTY",
1679 "J|IS_OBJECT_ITEM_EMPTY",
1693 "|RESTART_ANIMATION",
1708 "BWWWWWW|DEFINE_WINDOW",
1738 "IJ|IS_SIBLING_WITH_A",
1739 "IBB|DO_CLASS_ICONS",
1755 "II|SET_PARENT_SPECIAL",
1778 "IBB|GET_ITEM_PROP",
1779 "IBW|SET_ITEM_PROP",
1803 "BBI|SCREEN_TEXT_POBJ",
1805 "BBB|SCREEN_TEXT_LONG_TEXT",
1822 static const char *
const feeblefiles_opcodeNameTable[256] = {
1857 "IWJ|ITEM_STATE_IS",
1859 "IBJ|OBJECT_HAS_FLAG",
1894 "IB|SET_CHILD2_BIT",
1895 "IB|CLEAR_CHILD2_BIT",
1905 "WWWWWB|ADD_TEXT_BOX",
1906 "BT|SET_SHORT_TEXT",
1907 "BTw|SET_LONG_TEXT",
1911 "V|SHOW_STRING_AR3",
1920 "J|IS_SUBJECT_ITEM_EMPTY",
1921 "J|IS_OBJECT_ITEM_EMPTY",
1935 "|RESTART_ANIMATION",
1950 "BWWWWWW|DEFINE_WINDOW",
1976 "|ORACLE_TEXT_DOWN",
1980 "IJ|IS_SIBLING_WITH_A",
1981 "IBB|DO_CLASS_ICONS",
1991 "|LIST_SAVED_GAMES",
1997 "II|SET_PARENT_SPECIAL",
2020 "IBB|GET_ITEM_PROP",
2021 "IBW|SET_ITEM_PROP",
2045 "BBI|SCREEN_TEXT_POBJ",
2047 "BBB|SCREEN_TEXT_LONG_TEXT",
2064 "BBBB|SET_PATH_VALUES",
2075 static const char *
const puzzlepack_opcodeNameTable[256] = {
2110 "IWJ|ITEM_STATE_IS",
2112 "IBJ|OBJECT_HAS_FLAG",
2114 "I|MINIMIZE_WINDOW",
2117 "I|RESTORE_OOOPS_POSITION",
2124 "IB|LOAD_MOUSE_IMAGE",
2147 "IB|SET_CHILD2_BIT",
2148 "IB|CLEAR_CHILD2_BIT",
2158 "WWWWWB|ADD_TEXT_BOX",
2159 "BTWW|SET_SHORT_TEXT",
2160 "BTw|SET_LONG_TEXT",
2164 "V|SHOW_STRING_AR3",
2173 "J|IS_SUBJECT_ITEM_EMPTY",
2174 "J|IS_OBJECT_ITEM_EMPTY",
2188 "|RESTART_ANIMATION",
2203 "BWWWWWW|DEFINE_WINDOW",
2208 "B|LOAD_HIGH_SCORES",
2209 "BB|CHECK_HIGH_SCORES",
2229 "|ORACLE_TEXT_DOWN",
2233 "IJ|IS_SIBLING_WITH_A",
2234 "IBB|DO_CLASS_ICONS",
2244 "|LIST_SAVED_GAMES",
2250 "II|SET_PARENT_SPECIAL",
2273 "IBB|GET_ITEM_PROP",
2274 "IBW|SET_ITEM_PROP",
2293 "|SAVE_OOPS_POSITION",
2298 "BBI|SCREEN_TEXT_POBJ",
2300 "BBB|SCREEN_TEXT_LONG_TEXT",
2317 "BBBB|SET_PATH_VALUES",
2323 const char *
const pn_videoOpcodeNameTable[] = {
2332 "dj|IF_OBJECT_HERE",
2333 "dj|IF_OBJECT_NOT_HERE",
2335 "ddj|IF_OBJECT_IS_AT",
2336 "ddj|IF_OBJECT_STATE_IS",
2342 "d|SET_SPRITE_OFFSET_X",
2343 "d|SET_SPRITE_OFFSET_Y",
2356 "diid|SET_SPRITE_XY",
2375 "dd|SET_WINDOW_IMAGE",
2387 "ddddddddd|SET_BOX",
2388 "v|IF_VAR_NOT_ZERO",
2396 const char *
const elvira1_videoOpcodeNameTable[] = {
2405 "dj|IF_OBJECT_HERE",
2406 "dj|IF_OBJECT_NOT_HERE",
2408 "ddj|IF_OBJECT_IS_AT",
2409 "ddj|IF_OBJECT_STATE_IS",
2415 "d|SET_SPRITE_OFFSET_X",
2416 "d|SET_SPRITE_OFFSET_Y",
2429 "diid|SET_SPRITE_XY",
2448 "dd|SET_WINDOW_IMAGE",
2461 "v|IF_VAR_NOT_ZERO",
2467 "dd|DELAY_IF_NOT_EQ",
2470 const char *
const elvira2_videoOpcodeNameTable[] = {
2479 "dj|IF_OBJECT_HERE",
2480 "dj|IF_OBJECT_NOT_HERE",
2482 "ddj|IF_OBJECT_IS_AT",
2483 "ddj|IF_OBJECT_STATE_IS",
2488 "d|SET_SPRITE_OFFSET_X",
2489 "d|SET_SPRITE_OFFSET_Y",
2502 "diid|SET_SPRITE_XY",
2517 "dd|SET_WINDOW_IMAGE",
2519 "vj|IF_VAR_NOT_ZERO",
2524 "vd|DELAY_IF_NOT_EQ",
2528 "dd|SET_WINDOW_PALETTE",
2529 "d|SET_PALETTE_SLOT1",
2530 "d|SET_PALETTE_SLOT2",
2532 "d|SET_PALETTE_SLOT3",
2544 "|CHECK_CODE_WHEEL",
2553 const char *
const ww_videoOpcodeNameTable[] = {
2562 "dj|IF_OBJECT_HERE",
2563 "dj|IF_OBJECT_NOT_HERE",
2565 "ddj|IF_OBJECT_IS_AT",
2566 "ddj|IF_OBJECT_STATE_IS",
2571 "d|SET_SPRITE_OFFSET_X",
2572 "d|SET_SPRITE_OFFSET_Y",
2585 "wiid|SET_SPRITE_XY",
2600 "dd|SET_WINDOW_IMAGE",
2602 "vj|IF_VAR_NOT_ZERO",
2607 "vd|DELAY_IF_NOT_EQ",
2611 "dd|SET_WINDOW_PALETTE",
2612 "d|SET_PALETTE_SLOT1",
2613 "d|SET_PALETTE_SLOT2",
2615 "d|SET_PALETTE_SLOT3",
2627 "|CHECK_CODE_WHEEL",
2636 const char *
const simon1_videoOpcodeNameTable[] = {
2645 "dj|IF_OBJECT_HERE",
2646 "dj|IF_OBJECT_NOT_HERE",
2648 "ddj|IF_OBJECT_IS_AT",
2649 "ddj|IF_OBJECT_STATE_IS",
2651 "|CLEAR_PATHFIND_ARRAY",
2654 "d|SET_SPRITE_OFFSET_X",
2655 "d|SET_SPRITE_OFFSET_Y",
2659 "dq|SET_PATHFIND_ITEM",
2668 "wiid|SET_SPRITE_XY",
2683 "dd|SET_WINDOW_IMAGE",
2684 "v|SET_SPRITE_OFFSET_Y",
2685 "vj|IF_VAR_NOT_ZERO",
2690 "vd|DELAY_IF_NOT_EQ",
2719 const char *
const simon2_videoOpcodeNameTable[] = {
2724 "dddddd|NEW_SPRITE",
2728 "dj|IF_OBJECT_HERE",
2729 "dj|IF_OBJECT_NOT_HERE",
2731 "ddj|IF_OBJECT_IS_AT",
2732 "ddj|IF_OBJECT_STATE_IS",
2734 "|CLEAR_PATHFIND_ARRAY",
2737 "d|SET_SPRITE_OFFSET_X",
2738 "d|SET_SPRITE_OFFSET_Y",
2742 "dq|SET_PATHFIND_ITEM",
2751 "wiib|SET_SPRITE_XY",
2766 "dd|SET_WINDOW_IMAGE",
2767 "v|SET_SPRITE_OFFSET_Y",
2768 "vj|IF_VAR_NOT_ZERO",
2773 "vd|DELAY_IF_NOT_EQ",
2793 "ddd|SET_PRIORITIES",
2794 "ddd|STOP_ANIMATIONS",
2816 const char *
const feeblefiles_videoOpcodeNameTable[] = {
2821 "dddddd|NEW_SPRITE",
2825 "dj|IF_OBJECT_HERE",
2826 "dj|IF_OBJECT_NOT_HERE",
2828 "ddj|IF_OBJECT_IS_AT",
2829 "ddj|IF_OBJECT_STATE_IS",
2831 "|CLEAR_PATHFIND_ARRAY",
2834 "d|SET_SPRITE_OFFSET_X",
2835 "d|SET_SPRITE_OFFSET_Y",
2839 "dq|SET_PATHFIND_ITEM",
2848 "wiib|SET_SPRITE_XY",
2863 "dd|SET_WINDOW_IMAGE",
2864 "v|SET_SPRITE_OFFSET_Y",
2865 "vj|IF_VAR_NOT_ZERO",
2870 "vd|DELAY_IF_NOT_EQ",
2890 "ddd|SET_PRIORITIES",
2891 "ddd|STOP_ANIMATIONS",
2913 "ddd|SETSCALEXOFFS",
2914 "ddd|SETSCALEYOFFS",
2918 "wdd|SETOVERLAYIMAGE",
2921 "ddd|PLAYSOUNDLOOP",
2925 const char *
const puzzlepack_videoOpcodeNameTable[] = {
2930 "dddddd|NEW_SPRITE",
2934 "dj|IF_OBJECT_HERE",
2935 "dj|IF_OBJECT_NOT_HERE",
2937 "ddj|IF_OBJECT_IS_AT",
2938 "ddj|IF_OBJECT_STATE_IS",
2940 "|CLEAR_PATHFIND_ARRAY",
2943 "d|SET_SPRITE_OFFSET_X",
2944 "d|SET_SPRITE_OFFSET_Y",
2948 "dq|SET_PATHFIND_ITEM",
2957 "wiib|SET_SPRITE_XY",
2972 "dd|SET_WINDOW_IMAGE",
2973 "v|SET_SPRITE_OFFSET_Y",
2974 "wj|IF_VAR_NOT_ZERO",
2979 "vd|DELAY_IF_NOT_EQ",
2999 "ddd|SET_PRIORITIES",
3000 "ddd|STOP_ANIMATIONS",
3022 "ddd|SETSCALEXOFFS",
3023 "ddd|SETSCALEYOFFS",
3027 "wdd|SETOVERLAYIMAGE",
3030 "ddd|PLAYSOUNDLOOP",