diff options
author | Filippos Karapetis | 2019-10-30 01:42:03 +0200 |
---|---|---|
committer | Filippos Karapetis | 2019-10-30 01:42:47 +0200 |
commit | 78958a01f80bc6dbe43c45bfd0f63092f4b49b2c (patch) | |
tree | 165804bf5236feed6c8bd2807f79cbe69317cddf /engines/startrek/room.cpp | |
parent | 8dca2bf30a3c2002490c33fc0a812e719a4998d3 (diff) | |
download | scummvm-rg350-78958a01f80bc6dbe43c45bfd0f63092f4b49b2c.tar.gz scummvm-rg350-78958a01f80bc6dbe43c45bfd0f63092f4b49b2c.tar.bz2 scummvm-rg350-78958a01f80bc6dbe43c45bfd0f63092f4b49b2c.zip |
STARTREK: Load more messages from RDF files
Diffstat (limited to 'engines/startrek/room.cpp')
-rw-r--r-- | engines/startrek/room.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp index 6a9d7c5695..9c308ebeed 100644 --- a/engines/startrek/room.cpp +++ b/engines/startrek/room.cpp @@ -158,11 +158,12 @@ void Room::loadRoomMessage(const char *text) { text = patchedText.c_str(); char textType = text[10]; // _, U and S: talk message, N: look message, L: look with talker message + char numberType = text[11]; // Sxx: Scotty if (text[5] != '\\') error("loadRoomMessage: Invalid message"); - isTalkMessage = (textType == '_' || textType == 'U' || textType == 'S'); // U = Uhura, S = Scotty + isTalkMessage = (textType == '_' || textType == 'U' || numberType == 'S' || numberType == 'F'); // U = Uhura, S = Scotty, F = followup isLookMessage = (textType == 'N'); isLookWithTalkerMessage = (textType == 'L'); @@ -173,12 +174,13 @@ void Room::loadRoomMessage(const char *text) { if (memcmp(text + 1, _vm->_missionName.c_str(), 3) || text[4] != _vm->_roomIndex + '0') { // String with a prefix of another mission, separate it messageNum += COMMON_MESSAGE_OFFSET; - } - - // For some reason, Uhura's messages (Uxx) follow the same numbering as the - // rest, but Scott's don't, and start from one. - if (textType == 'S') + } else if (numberType == 'S') { + // For some reason, Uhura's messages (Uxx) follow the same numbering as the + // rest, but Scott's don't, and start from one. messageNum += SCOTTY_MESSAGE_OFFSET; + } else if (numberType == 'F') { + messageNum += FOLLOWUP_MESSAGE_OFFSET; + } if (isTalkMessage) _talkMessages[messageNum] = text; @@ -201,6 +203,8 @@ Common::String Room::patchRoomMessage(const char *text) { TypoFix typoFixes[] = { { "#LOV2\\LOV2_012#", "#LOV2\\LOV2_012#", "#LOV1\\LOV1_010#" }, // Audio file missing { "#LOV3\\LOV3_#", "#LOV3\\LOV3_#", "#LOV3\\LOV3_000#"}, // Message index missing + { "#LOVA\\LOVA_F08#", "spock", "Spock" }, + { "#LOVA\\LOVA_F55#", "sysnthesize", "synthesize" }, { "#FEA3\\FEA3_030#", "#FEA3\\FEA3_030#", "#LOVA\\LOVA_100#" }, // Wrong voice actor { "#MUD0\\MUD0_023#", "gullability", "gullibility" }, { "#MUD2\\MUD2_002#", "Well, now! I think", "Well, now I think" }, |