aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock
diff options
context:
space:
mode:
authorPaul Gilbert2015-05-24 15:17:05 -0400
committerPaul Gilbert2015-05-24 15:17:05 -0400
commit55ab34b981cf58e3e650926713bf72729adaa311 (patch)
tree7bfd036eab12a6fb66fc90d171e9e6179c556c42 /engines/sherlock
parent79a33dc3b6e4717ae519405893169af81dcc2335 (diff)
downloadscummvm-rg350-55ab34b981cf58e3e650926713bf72729adaa311.tar.gz
scummvm-rg350-55ab34b981cf58e3e650926713bf72729adaa311.tar.bz2
scummvm-rg350-55ab34b981cf58e3e650926713bf72729adaa311.zip
SHERLOCK: Fully implemented RT opcodes array
Diffstat (limited to 'engines/sherlock')
-rw-r--r--engines/sherlock/talk.cpp100
-rw-r--r--engines/sherlock/talk.h101
2 files changed, 165 insertions, 36 deletions
diff --git a/engines/sherlock/talk.cpp b/engines/sherlock/talk.cpp
index 7379d04b5f..bc473f755f 100644
--- a/engines/sherlock/talk.cpp
+++ b/engines/sherlock/talk.cpp
@@ -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
};
/*----------------------------------------------------------------*/
diff --git a/engines/sherlock/talk.h b/engines/sherlock/talk.h
index bead67983b..b30b4ad714 100644
--- a/engines/sherlock/talk.h
+++ b/engines/sherlock/talk.h
@@ -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
};