SHERLOCK: Fully implemented RT opcodes array

This commit is contained in:
Paul Gilbert 2015-05-24 15:17:05 -04:00
parent 79a33dc3b6
commit 55ab34b981
2 changed files with 165 additions and 36 deletions

View File

@ -62,13 +62,109 @@ const byte SCALPEL_OPCODES[] = {
158, // OP_REMOVE_ITEM_FROM_INVENTORY
159, // OP_ENABLE_END_KEY
160, // OP_DISABLE_END_KEY
161 // OP_CARRIAGE_RETURN
161, // OP_CARRIAGE_RETURN
0, // OP_MOUSE_ON_OFF
0, // OP_SET_WALK_CONTROL
0, // OP_SET_TALK_SEQUENCE
0, // OP_PLAY_SONG
0, // OP_WALK_HOLMES_AND_NPC_TO_CANIM
0, // OP_SET_NPC_PATH_DEST
0, // OP_NEXT_SONG
0, // OP_SET_NPC_PATH_PAUSE
0, // OP_PASSWORD
0, // OP_SET_SCENE_ENTRY_FLAG
0, // OP_WALK_NPC_TO_CANIM
0, // OP_WALK_HOLMES_AND_NPC_TO_COORDS
0, // OP_WALK_HOLMES_AND_NPC_TO_COORDS
0, // OP_SET_NPC_TALK_FILE
0, // OP_TURN_NPC_OFF
0, // OP_TURN_NPC_ON
0, // OP_NPC_DESC_ON_OFF
0, // OP_NPC_PATH_PAUSE_TAKING_NOTES
0, // OP_NPC_PATH_PAUSE_LOOKING_HOLMES
0, // OP_ENABLE_TALK_INTERRUPTS
0, // OP_DISABLE_TALK_INTERRUPTS
0, // OP_SET_NPC_INFO_LINE
0, // OP_SET_NPC_POSITION
0, // OP_NPC_PATH_LABEL
0, // OP_PATH_GOTO_LABEL
0, // OP_PATH_IF_FLAG_GOTO_LABEL
0, // OP_NPC_WALK_GRAPHICS
0, // OP_NPC_VERB
0, // OP_NPC_VERB_CANIM
0, // OP_NPC_VERB_SCRIPT
0, // OP_RESTORE_PEOPLE_SEQUENCE
0, // OP_NPC_VERB_TARGET
0 // OP_TURN_SOUNDS_OFF
};
const byte TATTOO_OPCODES[] = {
170, // OP_SWITCH_SPEAKER
171, // OP_RUN_CANIMATION
0 // TODO reset of opcodes
0, // OP_ASSIGN_PORTRAIT_LOCATION
173, // OP_PAUSE
0, // OP_REMOVE_PORTRAIT
0, // OP_CLEAR_WINDOW
176, // OP_ADJUST_OBJ_SEQUENCE
177, // OP_WALK_TO_COORDS
178, // OP_PAUSE_WITHOUT_CONTROL
179, // OP_BANISH_WINDOW
0, // OP_SUMMON_WINDOW
181, // OP_SET_FLAG
0, // OP_SFX_COMMAND
183, // OP_TOGGLE_OBJECT
184, // OP_STEALTH_MODE_ACTIVE
0, // OP_IF_STATEMENT
0, // OP_ELSE_STATEMENT
0, // OP_END_IF_STATEMENT
188, // OP_STEALTH_MODE_DEACTIVATE
189, // OP_TURN_HOLMES_OFF
190, // OP_TURN_HOLMES_ON
191, // OP_GOTO_SCENE
0, // OP_PLAY_PROLOGUE
193, // OP_ADD_ITEM_TO_INVENTORY
194, // OP_SET_OBJECT
172, // OP_CALL_TALK_FILE
0, // OP_MOVE_MOUSE
0, // OP_DISPLAY_INFO_LINE
0, // OP_CLEAR_INFO_LINE
199, // OP_WALK_TO_CANIMATION
200, // OP_REMOVE_ITEM_FROM_INVENTORY
201, // OP_ENABLE_END_KEY
202, // OP_DISABLE_END_KEY
0, // OP_CARRIAGE_RETURN
174, // OP_MOUSE_ON_OFF
175, // OP_SET_WALK_CONTROL
180, // OP_SET_TALK_SEQUENCE
182, // OP_PLAY_SONG
187, // OP_WALK_HOLMES_AND_NPC_TO_CANIM
192, // OP_SET_NPC_PATH_DEST
195, // OP_NEXT_SONG
196, // OP_SET_NPC_PATH_PAUSE
197, // OP_PASSWORD
198, // OP_SET_SCENE_ENTRY_FLAG
185, // OP_WALK_NPC_TO_CANIM
204, // OP_WALK_HOLMES_AND_NPC_TO_COORDS
205, // OP_SET_NPC_TALK_FILE
206, // OP_TURN_NPC_OFF
207, // OP_TURN_NPC_ON
208, // OP_NPC_DESC_ON_OFF
209, // OP_NPC_PATH_PAUSE_TAKING_NOTES
210, // OP_NPC_PATH_PAUSE_LOOKING_HOLMES
211, // OP_ENABLE_TALK_INTERRUPTS
212, // OP_DISABLE_TALK_INTERRUPTS
213, // OP_SET_NPC_INFO_LINE
214, // OP_SET_NPC_POSITION
215, // OP_NPC_PATH_LABEL
216, // OP_PATH_GOTO_LABEL
217, // OP_PATH_IF_FLAG_GOTO_LABEL
218, // OP_NPC_WALK_GRAPHICS
220, // OP_NPC_VERB
221, // OP_NPC_VERB_CANIM
222, // OP_NPC_VERB_SCRIPT
224, // OP_RESTORE_PEOPLE_SEQUENCE
226, // OP_NPC_VERB_TARGET
227 // OP_TURN_SOUNDS_OFF
};
/*----------------------------------------------------------------*/

View File

@ -36,40 +36,73 @@ namespace Sherlock {
#define MAX_TALK_FILES 500
enum {
OP_SWITCH_SPEAKER = 128,
OP_RUN_CANIMATION = 129,
OP_ASSIGN_PORTRAIT_LOCATION = 130,
OP_PAUSE = 131,
OP_REMOVE_PORTRAIT = 132,
OP_CLEAR_WINDOW = 133,
OP_ADJUST_OBJ_SEQUENCE = 134,
OP_WALK_TO_COORDS = 135,
OP_PAUSE_WITHOUT_CONTROL = 136,
OP_BANISH_WINDOW = 137,
OP_SUMMON_WINDOW = 138,
OP_SET_FLAG = 139,
OP_SFX_COMMAND = 140,
OP_TOGGLE_OBJECT = 141,
OP_STEALTH_MODE_ACTIVE = 142,
OP_IF_STATEMENT = 143,
OP_ELSE_STATEMENT = 144,
OP_END_IF_STATEMENT = 145,
OP_STEALTH_MODE_DEACTIVATE = 146,
OP_TURN_HOLMES_OFF = 147,
OP_TURN_HOLMES_ON = 148,
OP_GOTO_SCENE = 149,
OP_PLAY_PROLOGUE = 150,
OP_ADD_ITEM_TO_INVENTORY = 151,
OP_SET_OBJECT = 152,
OP_CALL_TALK_FILE = 153,
OP_MOVE_MOUSE = 154,
OP_DISPLAY_INFO_LINE = 155,
OP_CLEAR_INFO_LINE = 156,
OP_WALK_TO_CANIMATION = 157,
OP_REMOVE_ITEM_FROM_INVENTORY = 158,
OP_ENABLE_END_KEY = 159,
OP_DISABLE_END_KEY = 160,
OP_CARRIAGE_RETURN = 161
OP_SWITCH_SPEAKER = 0,
OP_RUN_CANIMATION = 1,
OP_ASSIGN_PORTRAIT_LOCATION = 2,
OP_PAUSE = 3,
OP_REMOVE_PORTRAIT = 4,
OP_CLEAR_WINDOW = 5,
OP_ADJUST_OBJ_SEQUENCE = 6,
OP_WALK_TO_COORDS = 7,
OP_PAUSE_WITHOUT_CONTROL = 8,
OP_BANISH_WINDOW = 9,
OP_SUMMON_WINDOW = 10,
OP_SET_FLAG = 11,
OP_SFX_COMMAND = 12,
OP_TOGGLE_OBJECT = 13,
OP_STEALTH_MODE_ACTIVE = 14,
OP_IF_STATEMENT = 15,
OP_ELSE_STATEMENT = 16,
OP_END_IF_STATEMENT = 17,
OP_STEALTH_MODE_DEACTIVATE = 18,
OP_TURN_HOLMES_OFF = 19,
OP_TURN_HOLMES_ON = 20,
OP_GOTO_SCENE = 21,
OP_PLAY_PROLOGUE = 22,
OP_ADD_ITEM_TO_INVENTORY = 23,
OP_SET_OBJECT = 24,
OP_CALL_TALK_FILE = 25,
OP_MOVE_MOUSE = 26,
OP_DISPLAY_INFO_LINE = 27,
OP_CLEAR_INFO_LINE = 28,
OP_WALK_TO_CANIMATION = 29,
OP_REMOVE_ITEM_FROM_INVENTORY = 30,
OP_ENABLE_END_KEY = 31,
OP_DISABLE_END_KEY = 32,
OP_CARRIAGE_RETURN = 33,
OP_MOUSE_OFF_ON = 34,
OP_SET_WALK_CONTROL = 35,
OP_SET_TALK_SEQUENCE = 36,
OP_PLAY_SONG = 37,
OP_WALK_HOLMES_AND_NPC_TO_CANIM = 38,
OP_SET_NPC_PATH_DEST = 39,
OP_NEXT_SONG = 40,
OP_SET_NPC_PATH_PAUSE = 41,
OP_NEED_PASSWORD = 42,
OP_SET_SCENE_ENTRY_FLAG = 43,
OP_WALK_NPC_TO_CANIM = 44,
OP_WALK_HOLMES_AND_NPC_TO_COORDS = 45,
OP_SET_NPC_TALK_FILE = 46,
OP_TURN_NPC_OFF = 47,
OP_TURN_NPC_ON = 48,
OP_NPC_DESC_ON_OFF = 49,
OP_NPC_PATH_PAUSE_TAKING_NOTES = 50,
OP_NPC_PATH_PAUSE_LOOKING_HOLMES = 51,
OP_ENABLE_TALK_INTERRUPTS = 52,
OP_DISABLE_TALK_INTERRUPTS = 53,
OP_SET_NPC_INFO_LINE = 54,
OP_SET_NPC_POSITION = 54,
OP_NPC_PATH_LABEL = 55,
OP_PATH_GOTO_LABEL = 56,
OP_PATH_IF_FLAG_GOTO_LABEL = 57,
OP_NPC_WALK_GRAPHICS = 58,
OP_NPC_VERB = 59,
OP_NPC_VERB_CANIM = 60,
OP_NPC_VERB_SCRIPT = 61,
OP_RESTORE_PEOPLE_SEQUENCE = 62,
OP_NPC_VERB_TARGET = 63,
OP_TURN_SOUNDS_OFF = 64
};