From 05301c240b3ccc195c533cf7a2eddde683ee7d06 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 11 Jun 2019 00:47:42 +0300 Subject: STARTREK: Load more messages from RDF files The whole Demon chapter has been converted to the new logic. The offsets for the extra room messages have been hardcoded, for now, inside loadOtherRoomMessages(), until we figure out how they are referenced. --- engines/startrek/room.cpp | 132 +++++++++--- engines/startrek/room.h | 12 +- engines/startrek/rooms/demon0.cpp | 12 +- engines/startrek/rooms/demon1.cpp | 98 ++++----- engines/startrek/rooms/demon2.cpp | 64 +++--- engines/startrek/rooms/demon3.cpp | 118 +++++------ engines/startrek/rooms/demon4.cpp | 126 ++++++------ engines/startrek/rooms/demon5.cpp | 46 ++--- engines/startrek/rooms/demon6.cpp | 142 ++++++------- engines/startrek/text.cpp | 409 +------------------------------------ engines/startrek/text.h | 417 +------------------------------------- 11 files changed, 422 insertions(+), 1154 deletions(-) diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp index d3bf2d8f80..e550d9c1a1 100644 --- a/engines/startrek/room.cpp +++ b/engines/startrek/room.cpp @@ -52,6 +52,7 @@ Room::Room(StarTrekEngine *vm, const Common::String &name) : _vm(vm), _awayMissi rdfFile->read(_rdfData, size); delete rdfFile; + _rdfName = name; _roomIndex = name.lastChar() - '0'; _roomActionList = nullptr; @@ -115,11 +116,13 @@ Room::Room(StarTrekEngine *vm, const Common::String &name) : _vm(vm), _awayMissi } loadRoomMessages(); + loadOtherRoomMessages(); memset(&_roomVar, 0, sizeof(_roomVar)); } Room::~Room() { _lookMessages.clear(); + _lookWithTalkerMessages.clear(); _talkMessages.clear(); delete[] _rdfData; } @@ -127,40 +130,106 @@ Room::~Room() { void Room::loadRoomMessages() { // TODO: There are some more messages which are not stored in that offset uint16 messagesOffset = readRdfWord(32); - byte *text = _rdfData + messagesOffset; - int messageNum; - bool isTalkMessage; + const char *text = (const char *)_rdfData + messagesOffset; do { while (*text != '#') text++; - if (text[5] != '\\') - error("loadRoomMessages: Invalid message"); + loadRoomMessage(text); - isTalkMessage = (text[10] == '_'); + while (*text != '\0') + text++; - // TODO: There are also 'L' messages (look at something, but has a talker). - // These clash with the normal talk ones (with underscores) - if (text[10] == 'L') { + // Peek the next byte, in case there's a filler text + if (Common::isAlpha(*(text + 1))) { while (*text != '\0') text++; - - continue; } + } while (*(text + 1) == '#'); +} - sscanf((const char *)(text + 11), "%3d", &messageNum); - if (text[14] != '#') - error("loadRoomMessages: Invalid message"); +void Room::loadRoomMessage(const char *text) { + int messageNum; + bool isTalkMessage; + bool isLookWithTalkerMessage; - if (isTalkMessage) - _talkMessages[messageNum] = Common::String((const char *)text); - else - _lookMessages[messageNum] = Common::String((const char *)text); + if (text[5] != '\\') + error("loadRoomMessage: Invalid message"); - while (*text != '\0') - text++; - } while (*(text + 1) == '#'); + isTalkMessage = (text[10] == '_' || text[10] == 'U'); // U = Uhura + isLookWithTalkerMessage = (text[10] == 'L'); + + sscanf((const char *)(text + 11), "%3d", &messageNum); + if (text[14] != '#') + error("loadRoomMessage: Invalid message"); + + if (isTalkMessage) + _talkMessages[messageNum] = Common::String((const char *)text); + else if (isLookWithTalkerMessage) + _lookWithTalkerMessages[messageNum] = Common::String((const char *)text); + else + _lookMessages[messageNum] = Common::String((const char *)text); + +} + +// HACK: We hardcode the other room messages here. Remove once we figure +// how these are indexed +void Room::loadOtherRoomMessages() { + int *offsets = nullptr; + + if (_rdfName == "DEMON0") { + int o[] = { 0x1d9, 0x422, 0x48f, 0x4d1, 0x536, 0x578, -1 }; + offsets = o; + } else if (_rdfName == "DEMON1") { + int o[] = { + 0x5d4, 0x716, 0x791, 0x7ec, 0x99e, 0xa06, 0xa51, 0xa96, 0xacc, 0xb5a, + 0xb87, 0xc46, 0xcd5, 0xd82, 0xe55, 0x107e, 0x1186, 0x11d1, 0x1216, 0x1271, + 0x12a4, 0x12f3, 0x1335, 0x1371, 0x13b4, 0x1419, 0x1467, 0x14b2, 0x14fd, -1 + }; + offsets = o; + } else if (_rdfName == "DEMON2") { + int o[] = { + 0x165, 0x195, 0x1c6, 0x1f7, 0x24a, 0x27d, 0x2c6, 0x311, 0x41a, 0x489, + 0x538, 0x5ba, 0x64d, 0x74d, 0x7ab, 0x817, 0x8a4, 0x950, 0x9e1, -1 + }; + offsets = o; + } else if (_rdfName == "DEMON3") { + int o[] = { + 0x662, 0x6d3, 0x7a5, 0xa19, 0xa9a, 0xbd7, 0xc30, 0xcfe, 0xe13, 0xed2, + 0x104e, 0x118e, 0x1248, 0x12a4, 0x12f4, 0x1383, 0x13d5, 0x1443, 0x14b1, + 0x1522, 0x15ab, 0x15f5, 0x1648, 0x16ad, -1 + }; + offsets = o; + } else if (_rdfName == "DEMON4") { + int o[] = { + 0x254, 0x2f3, 0x392, 0x41f, 0x642, 0x7b3, 0xa6a, 0xb34, 0xba4, 0xc7b, + -1 + }; + offsets = o; + } else if (_rdfName == "DEMON5") { + int o[] = { + 0x27c, 0x2e7, 0x387, 0x438, 0x483, 0x4de, 0x58f, 0x5e2, 0x61f, 0x713, + 0x783, 0x812, 0x8af, 0x904, 0x95e, 0x9b8, 0xb7e, 0xccc, -1 + }; + offsets = o; + } else if (_rdfName == "DEMON6") { + int o[] = { + 0x265, 0x2cb, 0x40c, 0x473, 0x52a, 0x5cd, 0x697, 0x6e5, 0x787, 0x97b, + 0x9f5, 0xa5f, 0xb7e, 0xbf1, 0xca7, 0xe54, 0xee4, + -1 + }; + offsets = o; + } + + if (offsets == nullptr) + return; + + int i = 0; + while (offsets[i] != -1) { + loadRoomMessage((const char *)_rdfData + offsets[i]); + i++; + } } uint16 Room::readRdfWord(int offset) { @@ -340,7 +409,7 @@ int Room::showRoomSpecificText(const char **array) { return _vm->showText(&StarTrekEngine::readTextFromArrayWithChoices, (uintptr)array, 20, 20, textColor, true, false, false); } -int Room::showText(const TextRef *textIDs, bool fromRDF) { +int Room::showText(const TextRef *textIDs, bool fromRDF, bool lookWithTalker) { int numIDs = 0; int retval; while (textIDs[numIDs] != TX_BLANK) @@ -350,9 +419,14 @@ int Room::showText(const TextRef *textIDs, bool fromRDF) { for (int i = 0; i <= numIDs; i++) { // TODO: This isn't nice, but it's temporary till we migrate to reading text from RDF files - if (i > 0 && fromRDF) - text[i] = (textIDs[0] == TX_NULL) ? _lookMessages[textIDs[i]].c_str() : _talkMessages[textIDs[i]].c_str(); - else + if (i > 0 && fromRDF) { + if (textIDs[0] == TX_NULL) + text[i] = _lookMessages[textIDs[i]].c_str(); + else if (lookWithTalker) + text[i] = _lookWithTalkerMessages[textIDs[i]].c_str(); + else + text[i] = _talkMessages[textIDs[i]].c_str(); + } else text[i] = g_gameStrings[textIDs[i]]; } @@ -362,16 +436,16 @@ int Room::showText(const TextRef *textIDs, bool fromRDF) { return retval; } -int Room::showText(TextRef speaker, TextRef text, bool fromRDF) { +int Room::showText(TextRef speaker, TextRef text, bool fromRDF, bool lookWithTalker) { TextRef textIDs[3]; textIDs[0] = speaker; textIDs[1] = text; textIDs[2] = TX_BLANK; - return showText(textIDs, fromRDF); + return showText(textIDs, fromRDF, lookWithTalker); } -int Room::showText(TextRef text, bool fromRDF) { - return showText(TX_NULL, text, fromRDF); +int Room::showText(TextRef text, bool fromRDF, bool lookWithTalker) { + return showText(TX_NULL, text, fromRDF, lookWithTalker); } void Room::giveItem(int item) { diff --git a/engines/startrek/room.h b/engines/startrek/room.h index 8f39b6b33e..a5bf463ff3 100644 --- a/engines/startrek/room.h +++ b/engines/startrek/room.h @@ -143,8 +143,6 @@ public: */ Common::Point getSpawnPosition(int crewmanIndex); - int showText(TextRef speaker, TextRef text, bool fromRDF = false); - public: byte *_rdfData; @@ -155,11 +153,15 @@ private: const RoomAction *_roomActionList; int _numRoomActions; + Common::String _rdfName; int _roomIndex; // ie. for DEMON2, this is 2 Common::HashMap _lookMessages; + Common::HashMap _lookWithTalkerMessages; Common::HashMap _talkMessages; void loadRoomMessages(); + void loadOtherRoomMessages(); + void loadRoomMessage(const char *text); int findFunctionPointer(int action, void (Room::*funcPtr)()); @@ -186,8 +188,10 @@ private: * Cmd 0x03 */ int showRoomSpecificText(const char **textAddr); - int showText(const TextRef *text, bool fromRDF = false); - int showText(TextRef text, bool fromRDF = false); + int showText(const TextRef *text, bool fromRDF = false, bool lookWithTalker = false); + int showText(TextRef text, bool fromRDF = false, bool lookWithTalker = false); + int showText(TextRef speaker, TextRef text, bool fromRDF = false, bool lookWithTalker = false); + /** * Cmd 0x04 */ diff --git a/engines/startrek/rooms/demon0.cpp b/engines/startrek/rooms/demon0.cpp index 869bb9259f..2aaba6f791 100644 --- a/engines/startrek/rooms/demon0.cpp +++ b/engines/startrek/rooms/demon0.cpp @@ -53,7 +53,7 @@ void Room::demon0Tick140() { if (_awayMission->demon.mccoyMentionedFlora) return; - showText(TX_SPEAKER_MCCOY, TX_DEM0_016); + showText(TX_SPEAKER_MCCOY, 16, true); _awayMission->demon.mccoyMentionedFlora = true; } @@ -199,18 +199,18 @@ void Room::demon0LookAtPrelate() { void Room::demon0UsePhaserOnSnow() { // BUG: doesn't check if redshirt is dead. - showText(TX_SPEAKER_EVERTS, TX_DEM0_039); + showText(TX_SPEAKER_EVERTS, 39, true); } void Room::demon0UsePhaserOnSign() { - showText(TX_SPEAKER_MCCOY, TX_DEM0_017); + showText(TX_SPEAKER_MCCOY, 17, true); } void Room::demon0UsePhaserOnShelter() { - showText(TX_SPEAKER_MCCOY, TX_DEM0_015); - showText(TX_SPEAKER_SPOCK, TX_DEM0_013); + showText(TX_SPEAKER_MCCOY, 15, true); + showText(TX_SPEAKER_SPOCK, 13, true); if (!_awayMission->redshirtDead) - showText(TX_SPEAKER_EVERTS, TX_DEM0_040); + showText(TX_SPEAKER_EVERTS, 40, true); } void Room::demon0UsePhaserOnPrelate() { diff --git a/engines/startrek/rooms/demon1.cpp b/engines/startrek/rooms/demon1.cpp index a33673c9fe..7034d75411 100644 --- a/engines/startrek/rooms/demon1.cpp +++ b/engines/startrek/rooms/demon1.cpp @@ -197,13 +197,13 @@ void Room::demon1KlingonFinishedAimingWeapon() { } void Room::demon1KirkShot() { - showText(TX_DEM1N000); + showText(0, true); showGameOverMenu(); } void Room::demon1UsePhaserOnAnything() { if (_roomVar.demon.numKlingonsKilled == 3) - showText(TX_SPEAKER_MCCOY, TX_DEM1_011); + showText(TX_SPEAKER_MCCOY, 11, true); } void Room::demon1UsePhaserOnKlingon1() { @@ -239,12 +239,12 @@ void Room::demon1KlingonDropsHand() { loadActorAnim(13, "klghnd", 0x10b, 0x8e, 0); _awayMission->disableInput = 0; _awayMission->timers[1] = 0; - showText(TX_DEM1N020); + showText(20, true); if (_awayMission->crewDownBitset & (1 << OBJECT_REDSHIRT)) return; - showText(TX_SPEAKER_EVERTS, TX_DEM1_025); + showText(TX_SPEAKER_EVERTS, 25, true); if (_roomVar.demon.numKlingonsKilled == 3) return; @@ -324,50 +324,50 @@ void Room::demon1Timer5Expired() { if (_awayMission->crewDownBitset != 0) return; - showText(TX_SPEAKER_UHURA, TX_DEM1U077); - showText(TX_SPEAKER_KIRK, TX_DEM1_003); - showText(TX_SPEAKER_UHURA, TX_DEM1U078); - showText(TX_SPEAKER_KIRK, TX_DEM1_002); - showText(TX_SPEAKER_SPOCK, TX_DEM1_020); - showText(TX_SPEAKER_KIRK, TX_DEM1_004); - showText(TX_SPEAKER_SPOCK, TX_DEM1_021); + showText(TX_SPEAKER_UHURA, 77, true); + showText(TX_SPEAKER_KIRK, 3, true); + showText(TX_SPEAKER_UHURA, 78, true); + showText(TX_SPEAKER_KIRK, 2, true); + showText(TX_SPEAKER_SPOCK, 20, true); + showText(TX_SPEAKER_KIRK, 4, true); + showText(TX_SPEAKER_SPOCK, 21, true); } void Room::demon1UseMTricorderOnKlingon() { loadActorAnim2(OBJECT_MCCOY, "mscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_MCCOY, TX_DEM1_012); + showText(TX_SPEAKER_MCCOY, 12, true); } void Room::demon1UseSTricorderOnTulips() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM1_007); + showText(TX_SPEAKER_SPOCK, 7, true); } void Room::demon1UseSTricorderOnPods() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM1_008); + showText(TX_SPEAKER_SPOCK, 8, true); } void Room::demon1UseSTricorderOnCattails() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM1_005); + showText(TX_SPEAKER_SPOCK, 5, true); } void Room::demon1UseSTricorderOnFerns() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM1_006); + showText(TX_SPEAKER_SPOCK, 6, true); } void Room::demon1UseSTricorderOnHand() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM1_017); + showText(TX_SPEAKER_SPOCK, 17, true); } void Room::demon1UseSTricorderOnKlingon1() { @@ -378,17 +378,17 @@ void Room::demon1UseSTricorderOnKlingon1() { playSoundEffectIndex(0x04); if (_roomVar.demon.numKlingonsKilled == 3 && !_awayMission->demon.tookKlingonHand && _rdfData[0xcf] != 1) { - showText(TX_SPEAKER_SPOCK, TX_DEM1_018); + showText(TX_SPEAKER_SPOCK, 18, true); _rdfData[0xcf] = 1; } else { - showText(TX_SPEAKER_SPOCK, TX_DEM1_019); + showText(TX_SPEAKER_SPOCK, 19, true); } } void Room::demon1UseSTricorderOnKlingon2Or3() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM1_019); + showText(TX_SPEAKER_SPOCK, 19, true); } void Room::demon1UseMTricorderOnKirk() { @@ -409,7 +409,7 @@ void Room::demon1UseMTricorderOnRedshirt() { void Room::demon1UseMTricorderOnCrewman() { loadActorAnim2(OBJECT_MCCOY, "mscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_MCCOY, TX_DEM1_009); + showText(TX_SPEAKER_MCCOY, 9, true); } void Room::demon1GetHand() { @@ -433,96 +433,96 @@ void Room::demon1PickedUpHand() { void Room::demon1FinishedGettingHand() { if (_awayMission->demon.tookKlingonHand) - showText(TX_DEM1N005); + showText(5, true); else { _awayMission->demon.tookKlingonHand = true; giveItem(OBJECT_IHAND); - showText(TX_DEM1N007); + showText(7, true); } } void Room::demon1LookAtKlingon() { - showText(TX_DEM1N004); + showText(4, true); } void Room::demon1LookAtCattails() { - showText(TX_DEM1N018); + showText(18, true); } void Room::demon1LookAtTulips() { - showText(TX_DEM1N010); + showText(10, true); } void Room::demon1LookAtPods() { - showText(TX_DEM1N019); + showText(19, true); } void Room::demon1LookAtFerns() { - showText(TX_DEM1N009); + showText(9, true); } void Room::demon1LookAtStream() { - showText(TX_DEM1N011); + showText(11, true); } void Room::demon1LookAtMine() { - showText(TX_DEM1N021); + showText(21, true); } void Room::demon1LookAtMountain() { - showText(TX_DEM1N016); + showText(16, true); } void Room::demon1LookAtHand() { - showText(TX_DEM1N023); + showText(23, true); } void Room::demon1LookAnywhere() { - showText(TX_DEM1N017); + showText(17, true); } void Room::demon1LookAtKirk() { if (_awayMission->crewDownBitset & (1 << OBJECT_KIRK)) - showText(TX_DEM1N012); + showText(12, true); else - showText(TX_DEM1N003); + showText(3, true); } void Room::demon1LookAtSpock() { if (_awayMission->crewDownBitset & (1 << OBJECT_SPOCK)) - showText(TX_DEM1N015); + showText(15, true); else - showText(TX_DEM1N008); + showText(8, true); } void Room::demon1LookAtMcCoy() { if (_awayMission->crewDownBitset & (1 << OBJECT_MCCOY)) - showText(TX_DEM1N013); + showText(13, true); else - showText(TX_DEM1N001); + showText(1, true); } void Room::demon1LookAtRedshirt() { if (_awayMission->crewDownBitset & (1 << OBJECT_REDSHIRT)) - showText(TX_DEM1N014); + showText(14, true); else - showText(TX_DEM1N002); + showText(2, true); } void Room::demon1TalkToKirk() { if (_awayMission->crewDownBitset & (1 << OBJECT_KIRK)) demon1TalkToUnconsciousCrewman(); else if (_roomVar.demon.numKlingonsKilled == 3) - showText(TX_SPEAKER_KIRK, TX_DEM1_001); + showText(TX_SPEAKER_KIRK, 1, true); } void Room::demon1TalkToSpock() { if (_awayMission->crewDownBitset & (1 << OBJECT_SPOCK)) demon1TalkToUnconsciousCrewman(); else { - showText(TX_SPEAKER_SPOCK, TX_DEM1_022); - showText(TX_SPEAKER_MCCOY, TX_DEM1_013); - showText(TX_SPEAKER_SPOCK, TX_DEM1_024); - showText(TX_SPEAKER_MCCOY, TX_DEM1_014); + showText(TX_SPEAKER_SPOCK, 22, true); + showText(TX_SPEAKER_MCCOY, 13, true); + showText(TX_SPEAKER_SPOCK, 24, true); + showText(TX_SPEAKER_MCCOY, 14, true); } } @@ -530,8 +530,8 @@ void Room::demon1TalkToMcCoy() { if (_awayMission->crewDownBitset & (1 << OBJECT_MCCOY)) demon1TalkToUnconsciousCrewman(); else { - showText(TX_SPEAKER_MCCOY, TX_DEM1_015); - showText(TX_SPEAKER_SPOCK, TX_DEM1_023); + showText(TX_SPEAKER_MCCOY, 15, true); + showText(TX_SPEAKER_SPOCK, 23, true); } } @@ -539,7 +539,7 @@ void Room::demon1TalkToRedshirt() { if (_awayMission->crewDownBitset & (1 << OBJECT_REDSHIRT)) demon1TalkToUnconsciousCrewman(); else - showText(TX_SPEAKER_EVERTS, TX_DEM1_026); + showText(TX_SPEAKER_EVERTS, 26, true); } // FIXME: this doesn't happen in actual game? (does the event get blocked from higher up?) diff --git a/engines/startrek/rooms/demon2.cpp b/engines/startrek/rooms/demon2.cpp index d31f417a44..a0b7f88ae7 100644 --- a/engines/startrek/rooms/demon2.cpp +++ b/engines/startrek/rooms/demon2.cpp @@ -42,91 +42,91 @@ void Room::demon2TouchedWarp1() { } void Room::demon2LookAtCave() { - showText(TX_DEM2N009); + showText(9, true); } void Room::demon2LookAtMountain() { - showText(TX_DEM2N007); + showText(7, true); } void Room::demon2LookAtBerries() { - showText(TX_DEM2N012); + showText(12, true); } void Room::demon2LookAtFern() { - showText(TX_DEM2N005); + showText(5, true); } void Room::demon2LookAtMoss() { - showText(TX_DEM2N010); + showText(10, true); } void Room::demon2LookAtLights() { - showText(TX_DEM2N006); + showText(6, true); } void Room::demon2LookAtAnything() { - showText(TX_DEM2N011); + showText(11, true); } void Room::demon2LookAtKirk() { - showText(TX_DEM2N002); + showText(2, true); } void Room::demon2LookAtSpock() { - showText(TX_DEM2N004); + showText(4, true); } void Room::demon2LookAtMcCoy() { - showText(TX_DEM2N003); + showText(3, true); } void Room::demon2LookAtRedshirt() { - showText(TX_DEM2N000); + showText(0, true); } void Room::demon2TalkToKirk() { - showText(TX_SPEAKER_KIRK, TX_DEM2_001); + showText(TX_SPEAKER_KIRK, 1, true); } void Room::demon2TalkToSpock() { - showText(TX_SPEAKER_SPOCK, TX_DEM2_018); - showText(TX_SPEAKER_KIRK, TX_DEM2_003); + showText(TX_SPEAKER_SPOCK, 18, true); + showText(TX_SPEAKER_KIRK, 3, true); } void Room::demon2TalkToMcCoy() { - showText(TX_SPEAKER_MCCOY, TX_DEM2_015); - showText(TX_SPEAKER_SPOCK, TX_DEM2_017); - showText(TX_SPEAKER_MCCOY, TX_DEM2_016); + showText(TX_SPEAKER_MCCOY, 15, true); + showText(TX_SPEAKER_SPOCK, 17, true); + showText(TX_SPEAKER_MCCOY, 16, true); } void Room::demon2TalkToRedshirt() { - showText(TX_SPEAKER_EVERTS, TX_DEM2_019); - showText(TX_SPEAKER_KIRK, TX_DEM2_002); - showText(TX_SPEAKER_EVERTS, TX_DEM2_020); - showText(TX_SPEAKER_KIRK, TX_DEM2_004); + showText(TX_SPEAKER_EVERTS, 19, true); + showText(TX_SPEAKER_KIRK, 2, true); + showText(TX_SPEAKER_EVERTS, 20, true); + showText(TX_SPEAKER_KIRK, 4, true); } void Room::demon2UsePhaserOnBerries() { - showText(TX_SPEAKER_MCCOY, TX_DEM2_011); + showText(TX_SPEAKER_MCCOY, 11, true); } void Room::demon2UseSTricorderOnBerries() { loadActorAnim2(OBJECT_SPOCK, "sscane", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM2_008); + showText(TX_SPEAKER_SPOCK, 8, true); } void Room::demon2UseSTricorderOnMoss() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM2_007); + showText(TX_SPEAKER_SPOCK, 7, true); } void Room::demon2UseSTricorderOnFern() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM2_006); + showText(TX_SPEAKER_SPOCK, 6, true); } void Room::demon2UseSTricorderOnCave() { @@ -134,7 +134,7 @@ void Room::demon2UseSTricorderOnCave() { playSoundEffectIndex(0x04); // NOTE: audio file for this is empty. - showText(TX_SPEAKER_SPOCK, TX_DEM2_005); + showText(TX_SPEAKER_SPOCK, 5, true); } void Room::demon2UseMTricorderOnBerries() { @@ -142,18 +142,18 @@ void Room::demon2UseMTricorderOnBerries() { playSoundEffectIndex(0x04); if (_awayMission->demon.curedChub) - showText(TX_SPEAKER_MCCOY, TX_DEM2_013); + showText(TX_SPEAKER_MCCOY, 13, true); else if (_awayMission->demon.madeHypoDytoxin) - showText(TX_SPEAKER_MCCOY, TX_DEM2_009); + showText(TX_SPEAKER_MCCOY, 9, true); else if (_awayMission->demon.knowAboutHypoDytoxin) - showText(TX_SPEAKER_MCCOY, TX_DEM2_010); + showText(TX_SPEAKER_MCCOY, 10, true); else - showText(TX_SPEAKER_MCCOY, TX_DEM2_012); + showText(TX_SPEAKER_MCCOY, 12, true); } void Room::demon2GetBerries() { if (_awayMission->demon.gotBerries) - showText(TX_SPEAKER_MCCOY, TX_DEM2_014); + showText(TX_SPEAKER_MCCOY, 14, true); else walkCrewman(OBJECT_KIRK, 0xe8, 0x97, 1); } @@ -164,7 +164,7 @@ void Room::demon2ReachedBerries() { } void Room::demon2PickedUpBerries() { - showText(TX_DEM2N013); + showText(13, true); giveItem(OBJECT_IBERRY); _awayMission->demon.gotBerries = true; _awayMission->demon.missionScore += 1; diff --git a/engines/startrek/rooms/demon3.cpp b/engines/startrek/rooms/demon3.cpp index 8f3bf3b9be..a0120d8bec 100644 --- a/engines/startrek/rooms/demon3.cpp +++ b/engines/startrek/rooms/demon3.cpp @@ -85,13 +85,13 @@ void Room::demon3Timer1Expired() { // Door just opened void Room::demon3Timer3Expired() { if (_awayMission->demon.repairedHand) { - showText(TX_DEM3N008); + showText(8, true); loadActorAnim(14, "door", 0x82, 0xc, 0); loadMapFile("demon3"); _awayMission->demon.doorOpened = true; _awayMission->demon.missionScore += 2; } else { - showText(TX_DEM3N007); + showText(7, true); } } @@ -112,7 +112,7 @@ void Room::demon3FinishedAnimation2() { void Room::demon3FinishedWalking5() { loadActorAnim2(OBJECT_MCCOY, "mscanw", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_MCCOY, TX_DEM3_019); + showText(TX_SPEAKER_MCCOY, 19, true); _awayMission->disableInput = false; } @@ -198,11 +198,11 @@ void Room::demon3FireAtBoulder() { void Room::demon3UsePhaserOnRedshirt() { if (!_awayMission->redshirtDead) return; - showText(TX_SPEAKER_MCCOY, TX_DEM3_013); + showText(TX_SPEAKER_MCCOY, 13, true); } void Room::demon3UseStunPhaserOnBoulder() { - showText(TX_SPEAKER_SPOCK, TX_DEM3_007); + showText(TX_SPEAKER_SPOCK, 7, true); } void Room::demon3UsePhaserOnBoulder1() { @@ -236,7 +236,7 @@ void Room::demon3UsePhaserOnBoulder3() { strcpy(_roomVar.demon.boulderAnim, "s0r3s1"); demon3BoulderCommon(); } else { - showText(TX_SPEAKER_SPOCK, TX_DEM3_006); + showText(TX_SPEAKER_SPOCK, 6, true); } } @@ -253,7 +253,7 @@ void Room::demon3UsePhaserOnBoulder4() { } else { // BUGFIX: In the original, the audio didn't play, despite the file existing (and // despite it being used for the boulder on the left). - showText(TX_SPEAKER_SPOCK, TX_DEM3_006); + showText(TX_SPEAKER_SPOCK, 6, true); } } @@ -268,7 +268,7 @@ void Room::demon3BoulderCommon() { if (_roomVar.demon.inFiringPosition) { demon3PullOutPhaserAndFireAtBoulder(); } else { - showText(TX_SPEAKER_KIRK, TX_DEM3_001); + showText(TX_SPEAKER_KIRK, 1, true); walkCrewman(OBJECT_KIRK, 0x79, 0xa0, 1); walkCrewman(OBJECT_SPOCK, 0xae, 0xb4, 2); @@ -284,13 +284,13 @@ void Room::demon3BoulderCommon() { void Room::demon3UseSTricorderOnMiner() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM3_008); + showText(TX_SPEAKER_SPOCK, 8, true); } void Room::demon3UseSTricorderOnPanel() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM3_009); + showText(TX_SPEAKER_SPOCK, 9, true); } void Room::demon3UseSTricorderOnBoulder() { @@ -298,7 +298,7 @@ void Room::demon3UseSTricorderOnBoulder() { return; loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM3_010); + showText(TX_SPEAKER_SPOCK, 10, true); } void Room::demon3UseMTricorderOnBoulder() { @@ -306,13 +306,13 @@ void Room::demon3UseMTricorderOnBoulder() { return; loadActorAnim2(OBJECT_MCCOY, "mscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_MCCOY, TX_DEM3_020); + showText(TX_SPEAKER_MCCOY, 20, true); } void Room::demon3UseCrewmanOnPanel() { if (_awayMission->demon.numBouldersGone != 4 || _awayMission->redshirtDead) return; - showText(TX_SPEAKER_EVERTS, TX_DEM3_031); + showText(TX_SPEAKER_EVERTS, 31, true); demon3UseRedshirtOnPanel(); } @@ -321,7 +321,7 @@ void Room::demon3UseRedshirtOnPanel() { return; if (_awayMission->demon.numBouldersGone != 4) - showText(TX_SPEAKER_EVERTS, TX_DEM3_030); + showText(TX_SPEAKER_EVERTS, 30, true); else walkCrewman(OBJECT_REDSHIRT, 0xd8, 0x70, 8); } @@ -345,10 +345,10 @@ void Room::demon3RedshirtUsedPanel() { _awayMission->demon.field45 = true; } else { const TextRef textTable[] = { - TX_DEM3N005, - TX_DEM3_033, - TX_DEM3_035, - TX_DEM3_034, + 5, + 33, + 35, + 34, }; TextRef text[] = { @@ -357,40 +357,40 @@ void Room::demon3RedshirtUsedPanel() { TX_BLANK }; text[1] = textTable[_awayMission->demon.field41 - 1]; - showText(text); + showText(text, true); walkCrewman(OBJECT_REDSHIRT, 0xbe, 0x9b, 0); } } void Room::demon3RedshirtElectrocuted() { - showText(TX_SPEAKER_MCCOY, TX_DEM3_018); + showText(TX_SPEAKER_MCCOY, 18, true); } void Room::demon3UseSTricorderOnDoor() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM3_012); + showText(TX_SPEAKER_SPOCK, 12, true); } void Room::demon3UseSTricorderOnAnything() { loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM3_027); + showText(TX_SPEAKER_SPOCK, 27, true); } void Room::demon3UseMTricorderOnDoor() { loadActorAnim2(OBJECT_SPOCK, "mscann", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_MCCOY, TX_DEM3_016); + showText(TX_SPEAKER_MCCOY, 16, true); } void Room::demon3UsePhaserOnDoor() { _roomVar.demon.usedPhaserOnDoor++; if (_roomVar.demon.usedPhaserOnDoor == 1) - showText(TX_DEM3N009); + showText(9, true); else if (_roomVar.demon.usedPhaserOnDoor == 2) - showText(TX_SPEAKER_SPOCK, TX_DEM3_011); + showText(TX_SPEAKER_SPOCK, 11, true); } void Room::demon3UseHandOnPanel() { @@ -399,7 +399,7 @@ void Room::demon3UseHandOnPanel() { return; walkCrewman(OBJECT_KIRK, 0xd8, 0x70, 7); } else { - showText(TX_SPEAKER_SPOCK, TX_DEM3_005); + showText(TX_SPEAKER_SPOCK, 5, true); } } @@ -420,15 +420,15 @@ void Room::demon3UseMTricorderOnMiner() { playSoundEffectIndex(0x04); if (_awayMission->demon.minerDead) { - showText(TX_SPEAKER_MCCOY, TX_DEM3_022); + showText(TX_SPEAKER_MCCOY, 22, true); } else { - showText(TX_SPEAKER_MCCOY, TX_DEM3_023); + showText(TX_SPEAKER_MCCOY, 23, true); } } void Room::demon3UseMedkitOnMiner() { if (_awayMission->demon.healedMiner) { - showText(TX_SPEAKER_MCCOY, TX_DEM3_015); + showText(TX_SPEAKER_MCCOY, 15, true); } else { walkCrewman(OBJECT_MCCOY, 0xe6, 0x7b, 6); _roomVar.demon.inFiringPosition = false; @@ -442,9 +442,9 @@ void Room::demon3McCoyReachedMiner() { void Room::demon3McCoyFinishedHealingMiner() { if (_awayMission->demon.minerDead) { - showText(TX_SPEAKER_MCCOY, TX_DEM3_022); + showText(TX_SPEAKER_MCCOY, 22, true); } else { - showText(TX_SPEAKER_MCCOY, TX_DEM3_021); + showText(TX_SPEAKER_MCCOY, 21, true); _awayMission->demon.healedMiner = true; loadActorAnim2(13, "drmine", 0xda, 0x6c, 0); _awayMission->demon.missionScore += 2; @@ -453,7 +453,7 @@ void Room::demon3McCoyFinishedHealingMiner() { } void Room::demon3GetMiner() { - showText(TX_SPEAKER_MCCOY, TX_DEM3_017); + showText(TX_SPEAKER_MCCOY, 17, true); } void Room::demon3TalkToMiner() { @@ -463,22 +463,22 @@ void Room::demon3TalkToMiner() { } void Room::demon3TalkToKirk() { - showText(TX_SPEAKER_KIRK, TX_DEM3_002); - showText(TX_SPEAKER_SPOCK, TX_DEM3_029); - showText(TX_SPEAKER_MCCOY, TX_DEM3_026); + showText(TX_SPEAKER_KIRK, 2, true); + showText(TX_SPEAKER_SPOCK, 29, true); + showText(TX_SPEAKER_MCCOY, 26, true); } void Room::demon3TalkToSpock() { - showText(TX_SPEAKER_SPOCK, TX_DEM3_028); + showText(TX_SPEAKER_SPOCK, 28, true); } void Room::demon3TalkToMccoy() { if (_awayMission->redshirtDead) { - showText(TX_SPEAKER_MCCOY, TX_DEM3_014); + showText(TX_SPEAKER_MCCOY, 14, true); } else { - showText(TX_SPEAKER_MCCOY, TX_DEM3_025); - showText(TX_SPEAKER_KIRK, TX_DEM3_003); - showText(TX_SPEAKER_MCCOY, TX_DEM3_024); + showText(TX_SPEAKER_MCCOY, 25, true); + showText(TX_SPEAKER_KIRK, 3, true); + showText(TX_SPEAKER_MCCOY, 24, true); } } @@ -486,77 +486,77 @@ void Room::demon3TalkToMccoy() { void Room::demon3TalkToRedshirt() { // FIXME: this shouldn't work if he's dead. Should it check higher up whether that's // the case? - showText(TX_SPEAKER_EVERTS, TX_DEM3_036); - showText(TX_SPEAKER_KIRK, TX_DEM3_004); + showText(TX_SPEAKER_EVERTS, 36, true); + showText(TX_SPEAKER_KIRK, 4, true); } void Room::demon3LookAtKirk() { - showText(TX_DEM3N004); + showText(4, true); } void Room::demon3LookAtSpock() { - showText(TX_DEM3N001); + showText(1, true); } void Room::demon3LookAtMccoy() { - showText(TX_DEM3N002); + showText(2, true); } void Room::demon3LookAtRedshirt() { if (_awayMission->redshirtDead) { - showText(TX_DEM3N017); + showText(17, true); // NOTE: there's an alternate string that isn't used? (TX_DEM3N018) } else { - showText(TX_DEM3N003); + showText(3, true); } } void Room::demon3LookAnywhere() { - showText(TX_DEM3N010); + showText(10, true); } void Room::demon3LookAtMiner() { if (_awayMission->demon.healedMiner) { - showText(TX_DEM3N000); + showText(0, true); } else { - showText(TX_DEM3N006); + showText(6, true); } } void Room::demon3LookAtBoulder1() { - showText(TX_DEM3N011); + showText(11, true); } void Room::demon3LookAtBoulder2() { - showText(TX_DEM3N013); + showText(13, true); } void Room::demon3LookAtBoulder3() { - showText(TX_DEM3N013); + showText(13, true); } void Room::demon3LookAtBoulder4() { - showText(TX_DEM3N020); + showText(20, true); } void Room::demon3LookAtStructure() { - showText(TX_DEM3N016); + showText(16, true); } void Room::demon3LookAtDoor() { if (_awayMission->demon.doorOpened) { - showText(TX_DEM3N014); + showText(14, true); } else { - showText(TX_DEM3N012); + showText(12, true); } } void Room::demon3LookAtPanel() { - showText(TX_DEM3N019); + showText(19, true); } void Room::demon3LookAtLight() { - showText(TX_DEM3N015); + showText(15, true); } } diff --git a/engines/startrek/rooms/demon4.cpp b/engines/startrek/rooms/demon4.cpp index d7e3227a8c..bd1717411d 100644 --- a/engines/startrek/rooms/demon4.cpp +++ b/engines/startrek/rooms/demon4.cpp @@ -60,7 +60,7 @@ void Room::demon4FinishedAnimation1() { void Room::demon4FinishedAnimation2() { if (!_roomVar.demon.cd) { _roomVar.demon.cd = true; - showText(TX_DEM4N011); + showText(11, true); } showGameOverMenu(); @@ -72,10 +72,10 @@ void Room::demon4FinishedAnimation2() { } void Room::demon4FinishedAnimation3() { - showText(TX_SPEAKER_NAUIAN, TX_DEM4_034); - showText(TX_SPEAKER_KIRK, TX_DEM4_010); - showText(TX_SPEAKER_NAUIAN, TX_DEM4_035); - showText(TX_SPEAKER_SPOCK, TX_DEM4_030); + showText(TX_SPEAKER_NAUIAN, 34, true); + showText(TX_SPEAKER_KIRK, 10, true); + showText(TX_SPEAKER_NAUIAN, 35, true); + showText(TX_SPEAKER_SPOCK, 30, true); _awayMission->disableInput = true; _awayMission->demon.missionScore += 5; @@ -92,7 +92,7 @@ void Room::demon4Timer0Expired() { // Mission end void Room::demon4Timer1Expired() { - showText(TX_SPEAKER_KIRK, TX_DEM4_011); + showText(TX_SPEAKER_KIRK, 11, true); walkCrewman(OBJECT_KIRK, 0xbe, 0xa5, 4); walkCrewman(OBJECT_SPOCK, 0xb4, 0x9b, 4); @@ -134,15 +134,15 @@ void Room::demon4Timer5Expired() { } void Room::demon4Timer6Expired() { - showText(TX_SPEAKER_MCCOY, TX_DEM4_017); + showText(TX_SPEAKER_MCCOY, 17, true); } void Room::demon4UsePhaserOnNauian() { if (!_roomVar.demon.triedToShootNauian) { // Lenient the first time - showText(TX_SPEAKER_NAUIAN, TX_DEM4_033); + showText(TX_SPEAKER_NAUIAN, 33, true); _roomVar.demon.triedToShootNauian = true; } else { // Murdery the second time - showText(TX_SPEAKER_NAUIAN, TX_DEM4_032); + showText(TX_SPEAKER_NAUIAN, 32, true); loadActorAnim2(10, "bxfire", 0, 0, 2); playVoc("V0SPOCKT"); _awayMission->disableInput = true; @@ -164,7 +164,7 @@ void Room::demon4KirkReachedSecurityEquipment() { void Room::demon4KirkFinishedUsingSecurityEquipment() { _awayMission->disableInput = false; - showText(TX_DEM4N014); + showText(14, true); } void Room::demon4UseMetalOnNauian() { @@ -184,10 +184,10 @@ void Room::demon4UseSkullOnNauian() { } void Room::demon4KirkReachedNauianWithSkull() { - showText(TX_SPEAKER_NAUIAN, TX_DEM4_036); + showText(TX_SPEAKER_NAUIAN, 36, true); - const TextRef choices[] = { TX_SPEAKER_KIRK, TX_DEM4_006, TX_DEM4_003, TX_DEM4_005, TX_BLANK }; - int choice = showText(choices); + const TextRef choices[] = { TX_SPEAKER_KIRK, 6, 3, 5, TX_BLANK }; + int choice = showText(choices, true); switch (choice) { case 0: @@ -209,15 +209,15 @@ void Room::demon4KirkReachedNauianWithSkull() { } void Room::demon4UsePhaserOnPanel() { - showText(TX_SPEAKER_SPOCK, TX_DEM4_013); + showText(TX_SPEAKER_SPOCK, 13, true); } void Room::demon4UsePhaserOnPattern() { - showText(TX_SPEAKER_SPOCK, TX_DEM4_045); + showText(TX_SPEAKER_SPOCK, 45, true); } void Room::demon4UsePhaserOnMccoy() { - showText(TX_SPEAKER_MCCOY, TX_DEM4_018); + showText(TX_SPEAKER_MCCOY, 18, true); } void Room::demon4TalkToNauian() { @@ -225,22 +225,22 @@ void Room::demon4TalkToNauian() { if (!_awayMission->demon.metNauian) { _awayMission->demon.metNauian = true; - showText(TX_SPEAKER_NAUIAN, TX_DEM4_044); + showText(TX_SPEAKER_NAUIAN, 44, true); - const TextRef choices[] = { TX_SPEAKER_KIRK, TX_DEM4_002, TX_DEM4_004, TX_DEM4_009, TX_BLANK }; - int choice = showText(choices); + const TextRef choices[] = { TX_SPEAKER_KIRK, 2, 4, 9, TX_BLANK }; + int choice = showText(choices, true); switch (choice) { case 0: _awayMission->demon.field2d = true; - showText(TX_SPEAKER_NAUIAN, TX_DEM4_042); + showText(TX_SPEAKER_NAUIAN, 42, true); break; case 1: break; case 2: - showText(TX_SPEAKER_NAUIAN, TX_DEM4_039); + showText(TX_SPEAKER_NAUIAN, 39, true); break; default: @@ -248,15 +248,15 @@ void Room::demon4TalkToNauian() { break; } - showText(TX_SPEAKER_NAUIAN, TX_DEM4_043); + showText(TX_SPEAKER_NAUIAN, 43, true); - const TextRef choices2[] = { TX_SPEAKER_KIRK, TX_DEM4_008, TX_DEM4_007, TX_BLANK }; - choice = showText(choices2); + const TextRef choices2[] = { TX_SPEAKER_KIRK, 8, 7, TX_BLANK }; + choice = showText(choices2, true); switch (choice) { case 0: _awayMission->demon.field2d = true; - showText(TX_SPEAKER_NAUIAN, TX_DEM4_041); + showText(TX_SPEAKER_NAUIAN, 41, true); break; case 1: break; @@ -265,70 +265,70 @@ void Room::demon4TalkToNauian() { break; } - showText(TX_SPEAKER_NAUIAN, TX_DEM4_040); + showText(TX_SPEAKER_NAUIAN, 40, true); if (_roomVar.demon.disabledSecurity) { // Impossible condition? - showText(TX_SPEAKER_NAUIAN, TX_DEM4_037); + showText(TX_SPEAKER_NAUIAN, 37, true); // BUGFIX: Originally all of these used no audio, despite the files existing // (being used elsewhere). - showText(TX_SPEAKER_KIRK, TX_DEM4_010); - showText(TX_SPEAKER_NAUIAN, TX_DEM4_035); - showText(TX_SPEAKER_SPOCK, TX_DEM4_030); + showText(TX_SPEAKER_KIRK, 10, true); + showText(TX_SPEAKER_NAUIAN, 35, true); + showText(TX_SPEAKER_SPOCK, 30, true); _awayMission->disableInput = true; _awayMission->demon.missionScore += 5; _awayMission->timers[1] = 20; } else { - showText(TX_SPEAKER_NAUIAN, TX_DEM4_038); + showText(TX_SPEAKER_NAUIAN, 38, true); } } else { - showText(TX_SPEAKER_NAUIAN, TX_DEM4_031); + showText(TX_SPEAKER_NAUIAN, 31, true); } } void Room::demon4LookAtPattern() { - showText(TX_DEM4N002); + showText(2, true); } void Room::demon4LookAtAlien() { - showText(TX_DEM4N007); + showText(7, true); } void Room::demon4LookAnywhere() { - showText(TX_DEM4N004); + showText(4, true); } void Room::demon4LookAtSecurityEquipment() { - showText(TX_DEM4N008); + showText(8, true); } void Room::demon4LookAtFloor() { - showText(TX_DEM4N009); + showText(9, true); } void Room::demon4LookAtKirk() { - showText(TX_DEM4N003); + showText(3, true); } void Room::demon4LookAtMccoy() { - showText(TX_DEM4N000); + showText(0, true); } void Room::demon4LookAtSpock() { - showText(TX_DEM4N005); + showText(5, true); } void Room::demon4LookAtRedshirt() { - showText(TX_DEM4N001); + showText(1, true); } void Room::demon4LookAtChamber() { - showText(TX_DEM4N006); + showText(6, true); } void Room::demon4LookAtPanel() { - showText(TX_DEM4N012); + showText(12, true); } void Room::demon4UseKirkOnPanel() { @@ -366,7 +366,7 @@ void Room::demon4CrewmanReachedPanel() { _awayMission->demon.missionScore += 3; _awayMission->timers[0] = 10; } else - showText(TX_DEM4N013); + showText(13, true); walkCrewman(_roomVar.demon.crewmanUsingPanel, 0xae, 0x93, 0); _awayMission->disableInput = false; @@ -536,93 +536,93 @@ done: } void Room::demon4TalkToKirk() { - showText(TX_SPEAKER_KIRK, TX_DEM4_001); + showText(TX_SPEAKER_KIRK, 1, true); } void Room::demon4TalkToMccoy() { if (_roomVar.demon.nauianEmerged) - showText(TX_SPEAKER_MCCOY, TX_DEM4_019); + showText(TX_SPEAKER_MCCOY, 19, true); else - showText(TX_SPEAKER_MCCOY, TX_DEM4_015); + showText(TX_SPEAKER_MCCOY, 15, true); } void Room::demon4TalkToSpock() { if (_roomVar.demon.nauianEmerged) - showText(TX_SPEAKER_SPOCK, TX_DEM4_022); + showText(TX_SPEAKER_SPOCK, 22, true); else - showText(TX_SPEAKER_SPOCK, TX_DEM4_024); + showText(TX_SPEAKER_SPOCK, 24, true); } void Room::demon4TalkToRedshirt() { if (_roomVar.demon.nauianEmerged) - showText(TX_SPEAKER_EVERTS, TX_DEM4_047); + showText(TX_SPEAKER_EVERTS, 47, true); else - showText(TX_SPEAKER_EVERTS, TX_DEM4_046); + showText(TX_SPEAKER_EVERTS, 46, true); } void Room::demon4UseSTricorderOnChamber() { loadActorAnim2(OBJECT_SPOCK, "sscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM4_012); + showText(TX_SPEAKER_SPOCK, 12, true); } void Room::demon4UseSTricorderOnPattern() { loadActorAnim2(OBJECT_SPOCK, "sscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM4_014); - showText(TX_SPEAKER_SPOCK, TX_DEM4_025); + showText(TX_SPEAKER_SPOCK, 14, true); + showText(TX_SPEAKER_SPOCK, 25, true); } void Room::demon4UseMTricorderOnPattern() { - showText(TX_SPEAKER_MCCOY, TX_DEM4_021); + showText(TX_SPEAKER_MCCOY, 21, true); } void Room::demon4UseSTricorderOnPanel() { loadActorAnim2(OBJECT_SPOCK, "sscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM4_027); + showText(TX_SPEAKER_SPOCK, 27, true); } void Room::demon4UseMTricorderOnPanel() { loadActorAnim2(OBJECT_MCCOY, "mscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_MCCOY, TX_DEM4_027); // BUG: Uses spock's voice (though speaker says "Mccoy") + showText(TX_SPEAKER_MCCOY, 27, true); // BUG: Uses spock's voice (though speaker says "Mccoy") } void Room::demon4UseSTricorderOnAnything() { loadActorAnim2(OBJECT_SPOCK, "sscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM4_023); + showText(TX_SPEAKER_SPOCK, 23, true); } void Room::demon4UseMTricorderOnAnything() { loadActorAnim2(OBJECT_MCCOY, "mscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_MCCOY, TX_DEM4_020); + showText(TX_SPEAKER_MCCOY, 20, true); } void Room::demon4UseSTricorderOnNauian() { loadActorAnim2(OBJECT_SPOCK, "sscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM4_029); + showText(TX_SPEAKER_SPOCK, 29, true); } void Room::demon4UseMTricorderOnNauian() { loadActorAnim2(OBJECT_MCCOY, "mscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM4_029); // BUG: Uses spock's voice (speaker says "Spock" too) + showText(TX_SPEAKER_SPOCK, 29, true); // BUG: Uses spock's voice (speaker says "Spock" too) } void Room::demon4UseSTricorderOnSecurityEquipment() { loadActorAnim2(OBJECT_SPOCK, "sscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM4_026); + showText(TX_SPEAKER_SPOCK, 26, true); } void Room::demon4UseMTricorderOnSecurityEquipment() { loadActorAnim2(OBJECT_MCCOY, "mscane", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM4_026); // BUG: Uses spock's voice (speaker says "Spock" too) + showText(TX_SPEAKER_SPOCK, 26, true); // BUG: Uses spock's voice (speaker says "Spock" too) } } diff --git a/engines/startrek/rooms/demon5.cpp b/engines/startrek/rooms/demon5.cpp index 03a9c89f4d..f0dea9a58f 100644 --- a/engines/startrek/rooms/demon5.cpp +++ b/engines/startrek/rooms/demon5.cpp @@ -59,26 +59,26 @@ void Room::demon5DoorOpenedOrReachedDoor() { void Room::demon5UseSTricorderOnCrate() { loadActorAnim(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(0x04); - showText(TX_SPEAKER_SPOCK, TX_DEM5_006); + showText(TX_SPEAKER_SPOCK, 6, true); } // FIXME: should work when used on people as well, but doesn't void Room::demon5UsePhaserOnAnything() { - showText(TX_SPEAKER_SPOCK, TX_DEM5_007); + showText(TX_SPEAKER_SPOCK, 7, true); } void Room::demon5UseHandOnStephen() { if (_awayMission->demon.repairedHand) - showText(TX_SPEAKER_STEPHEN, TX_DEM5_036); + showText(TX_SPEAKER_STEPHEN, 36, true); else - showText(TX_SPEAKER_STEPHEN, TX_DEM5_039); + showText(TX_SPEAKER_STEPHEN, 39, true); } void Room::demon5UseBerryOnStephen() { if (_awayMission->demon.knowAboutHypoDytoxin) - showText(TX_SPEAKER_STEPHEN, TX_DEM5_033); + showText(TX_SPEAKER_STEPHEN, 33, true); else - showText(TX_SPEAKER_STEPHEN, TX_DEM5_037); + showText(TX_SPEAKER_STEPHEN, 37, true); } void Room::demon5UseHypoDytoxinOnChub() { @@ -92,18 +92,18 @@ void Room::demon5MccoyReachedChub() { void Room::demon5MccoyHealedChub() { walkCrewman(OBJECT_MCCOY, 0xc8, 0xba, 0); _awayMission->crewDirectionsAfterWalk[OBJECT_MCCOY] = DIR_W; - showText(TX_SPEAKER_CHUB, TX_DEM5L027); + showText(TX_SPEAKER_CHUB, 27, true); loseItem(OBJECT_IDETOXIN); _awayMission->demon.curedChub = true; _awayMission->demon.missionScore += 2; } void Room::demon5UseHypoDytoxinOnAnything() { - showText(TX_SPEAKER_MCCOY, TX_DEM5_008); + showText(TX_SPEAKER_MCCOY, 8, true); } void Room::demon5UseBerryOnChub() { - showText(TX_SPEAKER_MCCOY, TX_DEM5_009); + showText(TX_SPEAKER_MCCOY, 9, true); } void Room::demon5LookAtRoberts() { @@ -147,7 +147,7 @@ void Room::demon5LookAnywhere() { } void Room::demon5LookAtChub() { - showText(TX_SPEAKER_CHUB, TX_DEM5L028); + showText(TX_SPEAKER_CHUB, 28, true, true); } void Room::demon5TalkToRoberts() { @@ -159,17 +159,17 @@ void Room::demon5TalkToRoberts() { demon5CheckCompletedStudy(); } } else { - showText(TX_DEM5N010); + showText(10, true); } } void Room::demon5TalkToChub() { if (_awayMission->demon.curedChub) { - showText(TX_SPEAKER_CHUB, TX_DEM5L029); + showText(TX_SPEAKER_CHUB, 29, true, true); showText(TX_SPEAKER_KIRK, 2, true); - showText(TX_SPEAKER_CHUB, TX_DEM5L030); + showText(TX_SPEAKER_CHUB, 30, true, true); showText(TX_SPEAKER_KIRK, 5, true); - showText(TX_SPEAKER_CHUB, TX_DEM5L031); + showText(TX_SPEAKER_CHUB, 31, true, true); if (!_roomVar.demon.talkedToChub) { _roomVar.demon.talkedToChub = true; @@ -177,7 +177,7 @@ void Room::demon5TalkToChub() { demon5CheckCompletedStudy(); } } else { - showText(TX_DEM5N013); + showText(13, true); } } @@ -194,7 +194,7 @@ void Room::demon5TalkToGrisnash() { demon5CheckCompletedStudy(); } } else { - showText(TX_DEM5N011); + showText(11, true); } } @@ -212,16 +212,16 @@ void Room::demon5TalkToStephen() { demon5CheckCompletedStudy(); } } else if (!_awayMission->demon.knowAboutHypoDytoxin) { - showText(TX_SPEAKER_ROBERTS, TX_DEM5_034); + showText(TX_SPEAKER_ROBERTS, 34, true); } else if (_awayMission->demon.madeHypoDytoxin) { - showText(TX_SPEAKER_ROBERTS, TX_DEM5_035); + showText(TX_SPEAKER_ROBERTS, 35, true); } else if (_awayMission->demon.gotBerries) { - showText(TX_SPEAKER_ROBERTS, TX_DEM5_032); + showText(TX_SPEAKER_ROBERTS, 32, true); _awayMission->demon.field3e = false; } else if (_awayMission->demon.field3e) { - showText(TX_SPEAKER_ROBERTS, TX_DEM5_038); + showText(TX_SPEAKER_ROBERTS, 38, true); } else { - showText(TX_SPEAKER_ROBERTS, TX_DEM5_034); + showText(TX_SPEAKER_ROBERTS, 34, true); } } @@ -280,7 +280,7 @@ void Room::demon5UseMTricorderOnChub() { demon5CheckCompletedStudy(); } else { if (_awayMission->demon.field3e) - showText(TX_SPEAKER_MCCOY, TX_DEM5_010); + showText(TX_SPEAKER_MCCOY, 10, true); else { showText(TX_SPEAKER_MCCOY, 12, true); showText(TX_SPEAKER_STEPHEN, 40, true); @@ -323,7 +323,7 @@ void Room::demon5CheckCompletedStudy() { } void Room::demon5GetCrate() { - showText(TX_DEM5N012); + showText(12, true); } } diff --git a/engines/startrek/rooms/demon6.cpp b/engines/startrek/rooms/demon6.cpp index c56ad6c5c4..464d5f6fbb 100644 --- a/engines/startrek/rooms/demon6.cpp +++ b/engines/startrek/rooms/demon6.cpp @@ -45,12 +45,12 @@ void Room::demon6Tick30() { if (_awayMission->demon.stephenWelcomedToStudy) return; - showText(TX_SPEAKER_STEPHEN, TX_DEM6_042); + showText(TX_SPEAKER_STEPHEN, 42, true); _awayMission->demon.stephenWelcomedToStudy = true; } void Room::demon6SpockReachedComputer() { - showText(TX_SPEAKER_SPOCK, TX_DEM6_014); + showText(TX_SPEAKER_SPOCK, 14, true); } void Room::demon6WalkToDoor() { @@ -73,71 +73,71 @@ void Room::demon6DoorOpenedOrReachedDoor() { } void Room::demon6UsePhaserOnStephen() { - showText(TX_SPEAKER_STEPHEN, TX_DEM6_028); + showText(TX_SPEAKER_STEPHEN, 28, true); } void Room::demon6UsePhaserOnCase() { - showText(TX_SPEAKER_MCCOY, TX_DEM6_017); + showText(TX_SPEAKER_MCCOY, 17, true); } void Room::demon6LookAtWorkspace() { - showText(TX_DEM6N003); + showText(3, true); } void Room::demon6LookAtCase() { - showText(TX_DEM6N001); + showText(1, true); } void Room::demon6LookAtTable() { - showText(TX_DEM6N007); + showText(7, true); } void Room::demon6LookAtMineral() { - showText(TX_DEM6N016); + showText(16, true); } void Room::demon6LookAtShells() { - showText(TX_DEM6N011); + showText(11, true); } void Room::demon6LookAtSkull() { - showText(TX_DEM6N017); + showText(17, true); } void Room::demon6LookAtMetal() { - showText(TX_DEM6N005); + showText(5, true); } void Room::demon6LookAtMeteor() { - showText(TX_DEM6N000); + showText(0, true); } void Room::demon6LookAtMountain() { - showText(TX_DEM6N002); + showText(2, true); } void Room::demon6LookAtSynthesizer() { - showText(TX_DEM6N004); + showText(4, true); } void Room::demon6LookAtKirk() { - showText(TX_DEM6N008); + showText(8, true); } void Room::demon6LookAtSpock() { - showText(TX_DEM6N015); + showText(15, true); } void Room::demon6LookAtMccoy() { - showText(TX_DEM6N009); + showText(9, true); } void Room::demon6LookAtRedshirt() { - showText(TX_DEM6N010); + showText(10, true); } void Room::demon6LookAtComputer() { - showText(TX_DEM6N006); + showText(6, true); if (!_awayMission->demon.lookedAtComputer) { _awayMission->demon.lookedAtComputer = true; _awayMission->demon.missionScore++; @@ -145,38 +145,38 @@ void Room::demon6LookAtComputer() { } void Room::demon6LookAnywhere() { - showText(TX_DEM6N024); + showText(24, true); } void Room::demon6LookAtStephen() { - showText(TX_DEM6N021); + showText(21, true); } void Room::demon6TalkToMccoy() { - showText(TX_SPEAKER_MCCOY, TX_DEM6_020); + showText(TX_SPEAKER_MCCOY, 20, true); } void Room::demon6TalkToSpock() { - showText(TX_SPEAKER_SPOCK, TX_DEM6_025); + showText(TX_SPEAKER_SPOCK, 25, true); } void Room::demon6TalkToKirk() { - showText(TX_SPEAKER_KIRK, TX_DEM6_002); + showText(TX_SPEAKER_KIRK, 2, true); } void Room::demon6TalkToRedshirt() { - showText(TX_SPEAKER_EVERTS, TX_DEM6_053); + showText(TX_SPEAKER_EVERTS, 53, true); } void Room::demon6TalkToStephen() { - showText(TX_SPEAKER_STEPHEN, TX_DEM6_035); + showText(TX_SPEAKER_STEPHEN, 35, true); } void Room::demon6UseBerryOnStephen() { if (_awayMission->demon.knowAboutHypoDytoxin) { - showText(TX_SPEAKER_STEPHEN, TX_DEM6_027); + showText(TX_SPEAKER_STEPHEN, 27, true); } else { - showText(TX_SPEAKER_STEPHEN, TX_DEM6_026); + showText(TX_SPEAKER_STEPHEN, 26, true); } } @@ -193,8 +193,8 @@ void Room::demon6MccoyReachedSynthesizer() { void Room::demon6FinishedMakingHypoDytoxin() { playMidiMusicTracks(-1, -1); - showText(TX_DEM6N023); - showText(TX_SPEAKER_MCCOY, TX_DEM6_018); + showText(23, true); + showText(TX_SPEAKER_MCCOY, 18, true); giveItem(OBJECT_IDETOXIN); _awayMission->demon.madeHypoDytoxin = true; @@ -208,10 +208,10 @@ void Room::demon6FinishedMakingHypoDytoxin() { void Room::demon6UseHandOnWorkspace() { if (_awayMission->demon.repairedHand) { - showText(TX_SPEAKER_SPOCK, TX_DEM6N018); // FIXME + showText(TX_SPEAKER_SPOCK, 18, true); // FIXME } else { _awayMission->disableInput = true; - showText(TX_SPEAKER_KIRK, TX_DEM6_005); + showText(TX_SPEAKER_KIRK, 5, true); walkCrewman(OBJECT_SPOCK, 0xb3, 0xbb, 2); } } @@ -221,7 +221,7 @@ void Room::demon6SpockReachedWorkspace() { } void Room::demon6SpockFinishedRepairingHand() { - showText(TX_SPEAKER_SPOCK, TX_DEM6_024); + showText(TX_SPEAKER_SPOCK, 24, true); _awayMission->demon.repairedHand = true; _awayMission->demon.missionScore += 2; loadActorStandAnim(OBJECT_SPOCK); @@ -230,39 +230,39 @@ void Room::demon6SpockFinishedRepairingHand() { // FIXME: doesn't work void Room::demon6UseAnythingOnWorkspace() { - showText(TX_DEM6N020); + showText(20, true); } void Room::demon6StephenIsInsulted() { - showText(TX_SPEAKER_STEPHEN, TX_DEM6_030); + showText(TX_SPEAKER_STEPHEN, 30, true); _roomVar.demon.insultedStephenRecently = true; _awayMission->demon.insultedStephen = true; } void Room::demon6StephenDescribesItemsInCase() { while (true) { - showText(TX_SPEAKER_STEPHEN, TX_DEM6_051); - TextRef choices2[] = { TX_SPEAKER_STEPHEN, TX_DEM6_045, TX_DEM6_046, TX_DEM6_047, TX_DEM6_048, TX_DEM6_049, TX_DEM6_050, TX_BLANK }; - TextRef choice = showText(choices2); + showText(TX_SPEAKER_STEPHEN, 51, true); + TextRef choices2[] = { TX_SPEAKER_STEPHEN, 45, 46, 47, 48, 49, 50, TX_BLANK }; + TextRef choice = showText(choices2, true); switch (choice) { case 0: - showText(TX_SPEAKER_STEPHEN, TX_DEM6_040); + showText(TX_SPEAKER_STEPHEN, 40, true); break; case 1: - showText(TX_SPEAKER_STEPHEN, TX_DEM6_033); + showText(TX_SPEAKER_STEPHEN, 33, true); break; case 2: - showText(TX_SPEAKER_STEPHEN, TX_DEM6_036); + showText(TX_SPEAKER_STEPHEN, 36, true); break; case 3: - showText(TX_SPEAKER_STEPHEN, TX_DEM6_038); + showText(TX_SPEAKER_STEPHEN, 38, true); break; case 4: - showText(TX_SPEAKER_STEPHEN, TX_DEM6_039); + showText(TX_SPEAKER_STEPHEN, 39, true); break; case 5: - showText(TX_SPEAKER_STEPHEN, TX_DEM6_041); + showText(TX_SPEAKER_STEPHEN, 41, true); _roomVar.demon.caseOpened = true; return; default: @@ -275,19 +275,19 @@ void Room::demon6UseCrewmanOnCase() { if (_roomVar.demon.stephenInRoom) { if (_roomVar.demon.insultedStephenRecently) return; - showText(TX_SPEAKER_STEPHEN, TX_DEM6_044); - TextRef choices1[] = {TX_SPEAKER_KIRK, TX_DEM6_001, TX_DEM6_006, TX_DEM6_003, TX_BLANK}; - TextRef choice = showText(choices1); + showText(TX_SPEAKER_STEPHEN, 44, true); + TextRef choices1[] = {TX_SPEAKER_KIRK, 1, 6, 3, TX_BLANK}; + TextRef choice = showText(choices1, true); if (choice == 0) { demon6StephenIsInsulted(); } else if (choice == 1) { - showText(TX_SPEAKER_STEPHEN, TX_DEM6_034); + showText(TX_SPEAKER_STEPHEN, 34, true); demon6StephenDescribesItemsInCase(); } else if (choice == 2) { - showText(TX_SPEAKER_STEPHEN, TX_DEM6_031); - TextRef choices3[] = {TX_SPEAKER_KIRK, TX_DEM6_001, TX_DEM6_006, TX_BLANK}; - choice = showText(choices3); + showText(TX_SPEAKER_STEPHEN, 31, true); + TextRef choices3[] = {TX_SPEAKER_KIRK, 1, 6, TX_BLANK}; + choice = showText(choices3, true); if (choice == 0) demon6StephenIsInsulted(); @@ -299,22 +299,22 @@ void Room::demon6UseCrewmanOnCase() { showText(TX_DIALOG_ERROR); } } else { - showText(TX_DEM6N012); - showText(TX_SPEAKER_MCCOY, TX_DEM6_019); + showText(12, true); + showText(TX_SPEAKER_MCCOY, 19, true); } } void Room::demon6UseKirkOnComputer() { - showText(TX_SPEAKER_KIRK, TX_DEM6_004); + showText(TX_SPEAKER_KIRK, 4, true); demon6UseSpockOnComputer(); } void Room::demon6UseMccoyOnComputer() { - showText(TX_SPEAKER_MCCOY, TX_DEM6_015); + showText(TX_SPEAKER_MCCOY, 15, true); } void Room::demon6UseRedshirtOnComputer() { - showText(TX_SPEAKER_EVERTS, TX_DEM6_052); + showText(TX_SPEAKER_EVERTS, 52, true); } void Room::demon6UseSpockOnComputer() { @@ -348,80 +348,80 @@ void Room::demon6UseMetalOnStephen() { void Room::demon6ReturnItemToStephen(int item) { loseItem(item); - showText(TX_DEM6N019); - showText(TX_SPEAKER_STEPHEN, TX_DEM6_029); + showText(19, true); + showText(TX_SPEAKER_STEPHEN, 29, true); } void Room::demon6UseHandOnStephen() { if (_awayMission->demon.repairedHand) - showText(TX_SPEAKER_STEPHEN, TX_DEM6_037); + showText(TX_SPEAKER_STEPHEN, 37, true); else - showText(TX_SPEAKER_STEPHEN, TX_DEM6_043); + showText(TX_SPEAKER_STEPHEN, 43, true); } void Room::demon6UseMTricoderOnStephen() { loadActorAnim2(OBJECT_MCCOY, "mscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_MCCOY, TX_DEM6_016); + showText(TX_SPEAKER_MCCOY, 16, true); } void Room::demon6UseSTricoderOnTable() { loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM6_009); + showText(TX_SPEAKER_SPOCK, 9, true); } void Room::demon6UseSTricoderOnComputer() { loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM6_007); + showText(TX_SPEAKER_SPOCK, 7, true); } void Room::demon6UseSTricoderOnMineral() { loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM6_013); + showText(TX_SPEAKER_SPOCK, 13, true); } void Room::demon6UseSTricoderOnShells() { loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM6_021); + showText(TX_SPEAKER_SPOCK, 21, true); } void Room::demon6UseSTricoderOnSkull() { loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM6_012); + showText(TX_SPEAKER_SPOCK, 12, true); } void Room::demon6UseSTricoderOnMetal() { loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM6_011); + showText(TX_SPEAKER_SPOCK, 11, true); } void Room::demon6UseSTricoderOnMeteor() { loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM6_010); + showText(TX_SPEAKER_SPOCK, 10, true); } void Room::demon6UseSTricoderOnCase() { loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM6_023); + showText(TX_SPEAKER_SPOCK, 23, true); } void Room::demon6UseSTricoderOnSynthesizer() { loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0); playSoundEffectIndex(4); - showText(TX_SPEAKER_SPOCK, TX_DEM6_008); + showText(TX_SPEAKER_SPOCK, 8, true); } void Room::demon6GetCase() { if (!_roomVar.demon.caseOpened) - showText(TX_DEM6N022); + showText(22, true); else walkCrewman(OBJECT_KIRK, 0xff, 0xba, 5); } diff --git a/engines/startrek/text.cpp b/engines/startrek/text.cpp index 67f5e0e647..92dfe2472b 100644 --- a/engines/startrek/text.cpp +++ b/engines/startrek/text.cpp @@ -97,421 +97,16 @@ extern const char *const g_gameStrings[] = { "#COMP\\COMPU192#Please select subject file...", "#COMP\\COMPU193#TLTDH gas: The chemical compound tantalum bi-lithium thalo-dihydroxide. Colorless, odorless, nonflammable gaseous at 1 atm and temperatures within the human norm. Early anesthetic among Vulcans and Romulans, in whom it produces laughter, feelings of exhiliration, euphoria; sometimes leading to unconsciousness. In post-industrial/pre-spaceflight era, a social problem evolved when crude TLTDH became popular to \"cook up\" from non-conductive tantalo-lithial compounds commonly used as electrical insulation.", - - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "#DEM0\\DEM0_013#Captain, Doctor McCoy is correct.", - "", // RDF - "#DEM0\\DEM0_015#Burning down their house is not the best way to gain their confidence Jim!", - "#DEM0\\DEM0_016#Captain, the flora on this planet is very interesting. I wonder how useful it may be for medicinal purposes.", - "#DEM0\\DEM0_017#Quite the vandal aren't we, Jim?", - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "#DEM0\\DEM0_039#Aw, Captain, please don't melt the snow. I've never seen it before.", - "#DEM0\\DEM0_040#Is he always this trigger happy on ground missions?", - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF "#DEM0\\DEM0N009#Spock raises an eyebrow.", // kept because it's used as an enhancement in mudd1 - "", // RDF "All mining equipment use this road.", - - "#DEM1\\DEM1_001#We were caught flat footed there. I don't want any more surprises to catch us off guard.", - "#DEM1\\DEM1_002#No just an idea, Kirk out.", - "#DEM1\\DEM1_003#We're fine. Did you register any Disruptor fire?", - "#DEM1\\DEM1_004#What is it, Spock?", - "#DEM1\\DEM1_005#Doctis Cattails are similar to their terran name sake except that they are known to cause hives if in contact with flesh for any amount of time.", - "#DEM1\\DEM1_006#Gindorian ferns are regarded as an intergalactic weed, Captain.", - "#DEM1\\DEM1_007#Khytellian tulips are a perennial flower that survive in almost any climate.", - "#DEM1\\DEM1_008#The Brandzite pod is similar to terran milkweed except that the silk pods are in bright iridecent colors.", - "#DEM1\\DEM1_009#He's only stunned. He'll be back up in a few seconds.", - "#DEM1\\DEM1_011#The fire fight is over, Jim. I think you can put that away now.", - "#DEM1\\DEM1_012#This is definitely not a real klingon Jim.", - "#DEM1\\DEM1_013#Demons, Klingons, avalanches... What's next, the Wicked Witch of the West?", - "#DEM1\\DEM1_014#It wasn't supposed to be logical, you green blooded Vulcan! Why does everything have to be so damned logical?", - "#DEM1\\DEM1_015#Well, we've seen Klingons. Now all we need is a few Romulans...", - "#DEM1\\DEM1_016#The circuit was damaged. It appears reparable, but some specialized equipment will be required.", - "#DEM1\\DEM1_017#This is a detached hand with some kind of circuitry in the palm, Captain.", - "#DEM1\\DEM1_018#This is not a Klingon, Captain, not a real one. It is an organic construct -- an android-like robot. It looks like a Klingon, but the appearance is entirely superficial. There is something different about this particular construct. Come here, Captain, look at the hand.It seems to have been separated from the body. There is a wiring circuit in the middle of the palm.", - "#DEM1\\DEM1_019#This is not a Klingon, Captain, not a real one. It is an organic construct -- an android-like robot. It looks like a Klingon, but the appearance is entirely superficial.", - "#DEM1\\DEM1_020#Fascinating. I begin to suspect that we have stumbled upon something that the colonists would never have uncovered.", - "#DEM1\\DEM1_021#I wish to gather further data before making a definite conclusion, Captain.", - "#DEM1\\DEM1_022#Captain, I detect a recent avalanche, approximately 6.2 kilometers away, that occurred within the last three days. The mountain may be quite dangerous.", - "#DEM1\\DEM1_023#Control your thoughts, Doctor. There is a high probability that something here is using our own memories against us.", - "#DEM1\\DEM1_024#That is not logical, doctor.", - "#DEM1\\DEM1_025#I guess they don't make Klingons like they used to, Sir.", - "#DEM1\\DEM1_026#I guess this isn't such a great planet after all.", "#DEM1\\DEM1_F23#Federation Scum!", - "#DEM1\\DEM1N000#Captain Kirk is fatally shot by a Klingon, game over.", - "#DEM1\\DEM1N001#Dr. McCoy, still hoping the cold winds that whip around Mount Idyll will soon die down.", - "#DEM1\\DEM1N002#Ensign Everts seems to be rattled by the attack of the Klingons.", - "#DEM1\\DEM1N003#James Kirk, filled with a premonition of more dangers yet to come.", - "#DEM1\\DEM1N004#They look like Klingons.", - "#DEM1\\DEM1N005#You already took the hand from the Klingon.", - "#DEM1\\DEM1N006#You find nothing new.", - "#DEM1\\DEM1N007#You take the Klingon's detached hand.", - "#DEM1\\DEM1N008#Your Vulcan science officer seems to be lost in thought, but remains alert.", - "#DEM1\\DEM1N009#A Gindorian Fern.", - "#DEM1\\DEM1N010#A large patch of Khytellian Tulips.", - "#DEM1\\DEM1N011#A small stream flows down towards the forest.", - "#DEM1\\DEM1N012#Captain Kirk is unconscious.", - "#DEM1\\DEM1N013#Dr. McCoy is unconscious.", - "#DEM1\\DEM1N014#Ensign Everts is unconscious.", - "#DEM1\\DEM1N015#Mr. Spock is unconscious.", - "#DEM1\\DEM1N016#Mt. Idyll rises above you.", - "#DEM1\\DEM1N017#The path is surrounded by some beautiful shrubbery.", - "#DEM1\\DEM1N018#These are very beautiful Doctis Cattails.", - "#DEM1\\DEM1N019#These Brandzite Pods add a nice touch to the local flora.", - "#DEM1\\DEM1N020#You see a small explosion, and the Klingon's hand falls to the ground with a dull thud.", - "#DEM1\\DEM1N021#You see the mine entrance ahead.", - "#DEM1\\DEM1N023#It's the Klingon's detached hand!", - "#DEM1\\DEM1U077#Captain we registered Phaser fire and an unknown energy beam. Is everyone OK?", - "#DEM1\\DEM1U078#No, Captain. Why, are Klingons down there?", - - - "#DEM2\\DEM2_001#The answer to this mystery lies ahead of us, gentlemen.", - "#DEM2\\DEM2_002#Just don't make that mistake again, Ensign.", - "#DEM2\\DEM2_003#The thought had occurred to me, Mr. Spock, but thank you for mentioning it.", - "#DEM2\\DEM2_004#We've all had our share of conflict with Klingons, Ensign. The Organians told me that one day Humans and Klingons will become good friends. I wonder if I'll ever live to see that day.", - "#DEM2\\DEM2_005#Captain, I'm having trouble getting reliable readings from inside the mountain. Unusual crystalline structures within the ore may be at fault, though I cannot say for certain.", - "#DEM2\\DEM2_006#Gindorian ferns are regarded as an intergalactic weed, Captain.", - "#DEM2\\DEM2_007#The Phequedine moss extracts nourishment from hafnium, Captain.", - "#DEM2\\DEM2_008#These seem to be Laraxian berries, Captain. They have several medicinal uses, but Dr. McCoy would know more.", - "#DEM2\\DEM2_009#Jim, these are Laraxian Berries that we used to make the Hypo-Dytoxin.", - "#DEM2\\DEM2_010#Jim, these are the berries we need to synthesize the Hypo-Dytoxin. We must get these to Brother Stephen quickly.", - "#DEM2\\DEM2_011#Jim, you usually pick food and then cook it.", - "#DEM2\\DEM2_012#These are Laraxian Berries. From what I remember, certain chemical compounds in the berry can be used to treat Nugaireyn infections.", - "#DEM2\\DEM2_013#These are the Laraxian Berries we used to cure Brother Chub.", - "#DEM2\\DEM2_014#We don't need any more berries, Jim.", - "#DEM2\\DEM2_015#Does your tricorder say the cave is warmer, Spock...", - "#DEM2\\DEM2_016#Spock, everybody talks about the weather!", - "#DEM2\\DEM2_017#It is not logical for me to use my tricorder to determine the cave's temperature, doctor. I do not see what purpose it would serve.", - "#DEM2\\DEM2_018#Whoever was trying to stop us may not stop with those Klingons, Captain. I recommend extreme caution.", - "#DEM2\\DEM2_019#I'm sorry I let you down with those Klingons back there. I should have been paying more attention.", - "#DEM2\\DEM2_020#Those Klingons give me the willies. They always have. My sister was wounded by them in the Chozon ambush.", - "#DEM2\\DEM2N000#Ensign Everts. Keeping a sharp eye out for anything dangerous.", - "#DEM2\\DEM2N002#James T. Kirk. Always wondering what the next surprise will be.", - "#DEM2\\DEM2N003#Leonard McCoy. Hoping that the cave will be warmer than outside.", - "#DEM2\\DEM2N004#Spock. Perhaps the most brilliant mind in Starfleet, pondering a most peculiar mystery.", - "#DEM2\\DEM2N005#A Gindorian fern.", - "#DEM2\\DEM2N006#Feeble lights illuminate the mine tunnel.", - "#DEM2\\DEM2N007#Idyll Mountain.", - "#DEM2\\DEM2N008#Idyll Mountain.", - "#DEM2\\DEM2N009#Mine entrance.", - "#DEM2\\DEM2N010#Phequedian moss grows on the cave wall.", - "#DEM2\\DEM2N011#The mine entrance goes deep into Mount Idyll.", - "#DEM2\\DEM2N012#Various types of berries grow amongst the bushes.", - "#DEM2\\DEM2N013#You have retrieved a sample of berries.", - - - "#DEM3\\DEM3_001#Assume firing positions.", - "#DEM3\\DEM3_002#A gateway to an alien race. The wonders of the galaxy are endless, aren't they, Mr. Spock?", - "#DEM3\\DEM3_003#Bones..", - "#DEM3\\DEM3_004#Don't be too anxious, Ensign. We may want to talk with them.", - "#DEM3\\DEM3_005#Captain, I would strongly recommend clearing all the debris first.", - "#DEM3\\DEM3_006#Captain, the structure is extremely unstable. I would not recommend disturbing the lower section before the upper sections have been cleared.", - "#DEM3\\DEM3_007#Captain, the stun setting would be very ineffective on these boulders.", - "#DEM3\\DEM3_008#I think Doctor McCoy would be better suited to deal with this.", - "#DEM3\\DEM3_009#It appears to be a security lock designed to open the door when the correct hand print is registered.", - "#DEM3\\DEM3_010#Captain, there are several weak points in the cave-in's structure. Careful use of our phasers, from the top down, should be able to clear it.", - "#DEM3\\DEM3_011#Captain, this course of action is ineffectual.", - "#DEM3\\DEM3_012#Fascinating, Captain. This door is made of an unknown material. It is clearly built by an alien race we have no knowledge of.", - "#DEM3\\DEM3_013#He's already dead, Jim. Isn't that good enough for you?", - "#DEM3\\DEM3_014#I'm sorry, Jim. Ensign Everts is beyond my help.", - "#DEM3\\DEM3_015#I've done all I can. He just needs rest now.", - "#DEM3\\DEM3_016#This is incredible, Jim. I'm picking up faint lifesign readings behind this door!", - "#DEM3\\DEM3_017#Dammit, Jim, I'm a doctor, not a bellhop. This man's too hurt to be moved.", - "#DEM3\\DEM3_018#He's dead Jim.", + "#DEM3\\DEM3_019#He's dead, Jim...", - "#DEM3\\DEM3_020#I'm picking up weak vital signs. If we don't dig him out soon, we're going to lose him!", - "#DEM3\\DEM3_021#It was a near thing, but he'll live.", - "#DEM3\\DEM3_022#The miner is dead.", - "#DEM3\\DEM3_023#This man is badly hurt, and suffering from shock and exposure as well.", - "#DEM3\\DEM3_024#I'll probably end up coming along.", - "#DEM3\\DEM3_025#Jim, the next time you need medical help on a snowball...", - "#DEM3\\DEM3_026#They can also be damned cold.", - "#DEM3\\DEM3_027#Fascinating... I'm registering low-intensity shielding unlike anything we've encountered before. That kept this door -- and whatever is behind it -- hidden from the ship's sensors and earlier tricorder readings.", - "#DEM3\\DEM3_028#I recommend as thorough an analysis of this area as possible.", - "#DEM3\\DEM3_029#Indeed, Captain.", - "#DEM3\\DEM3_030#Sir, I think we should clear the rest of the rocks before we check out the device.", - "#DEM3\\DEM3_031#Sir, it may be dangerous. Let me try it.", - "#DEM3\\DEM3_033#I think I was shocked, sir.", - "#DEM3\\DEM3_034#Ouch, that hurt.", - "#DEM3\\DEM3_035#That was definitely a mild shock.", - "#DEM3\\DEM3_036#No sign of demons, Klingons, or other hostiles, Captain. I promise I'll let you know the instant something appears.", + "#DEM3\\DEM3_A32#Aieeee!", "#DEM3\\DEM3_B32#Aieeeee.", "#DEM3\\DEM3_F21#Oh, thank you, kind souls, for saving my life. Let me rest here for a little before returning to report this miracle to Prelate Angiven.", - "#DEM3\\DEM3N000#Brother Kandrey is barely conscious, and is lying still, trying to regain his strength.", - "#DEM3\\DEM3N001#Commander Spock; curious about what lies ahead.", - "#DEM3\\DEM3N002#Doctor Leonard McCoy, glad that the cave provides some shelter from the breeze.", - "#DEM3\\DEM3N003#Ensign Everts, wary of more ambushes.", - "#DEM3\\DEM3N004#James T. Kirk. Captain of the Enterprise.", - "#DEM3\\DEM3N005#Nothing happens.", - "#DEM3\\DEM3N006#One of the Acolytes, who was trapped by the the rockfall.", - "#DEM3\\DEM3N007#The fit is perfect, but something seems to be shorting out.", - "#DEM3\\DEM3N008#The hand's circuitry triggers a connection, and the door opens.", - "#DEM3\\DEM3N009#There is no apparent effect.", - "#DEM3\\DEM3N010#A cavern, deep in Mount Idyll.", - "#DEM3\\DEM3N011#A huge boulder sits upon a large pile of rubble.", - "#DEM3\\DEM3N012#A large metallic door is set in the structure.", - "#DEM3\\DEM3N013#A large pile of rubble blocks what appears to be a large metallic structure.", - "#DEM3\\DEM3N014#A long tunnel descends into the mountain.", - "#DEM3\\DEM3N015#A pulsing red light is set in the structure above the door.", - "#DEM3\\DEM3N016#A structure built into the surrounding rock. It must have been buried here for millennia.", - "#DEM3\\DEM3N017#Ensign Everts lies dead, crushed by the boulder.", - "#DEM3\\DEM3N018#The crushed body of Ensign Everts reminds you of your poor command judgement.", - "#DEM3\\DEM3N019#This looks like some of the hand security panels on the Enterprise.", - "#DEM3\\DEM3N020#You notice what appears to be a man's arm sticking out from beneath the rubble.", - - - "#DEM4\\DEM4_001#I think we've found the answer to our mystery.", - "#DEM4\\DEM4_002#Stop! You're trespassing on Federation territory.", - "#DEM4\\DEM4_003#I think I should return it to where I got it from.", - "#DEM4\\DEM4_004#I welcome you on behalf of the United Federation of Planets. Who are you? Where do you come from?", - "#DEM4\\DEM4_005#No, I want to keep it as a memento for myself.", - "#DEM4\\DEM4_006#Of course. I think you will get along well with the Pollux inhabitants, and I'm sure you will have interesting theological discussions.", - "#DEM4\\DEM4_007#Perhaps you can tell us about the demons.", - "#DEM4\\DEM4_008#Some advanced civilization!", - "#DEM4\\DEM4_009#We did fix your machine. Can we write the repair bill off against rent on this land?", - "#DEM4\\DEM4_010#I would be glad to accept your application to the Federation. We shall have a diplomatic envoy sent to make the final arrangements.", - "#DEM4\\DEM4_011#Kirk to Enterprise... Beam us up, Mr. Scott.", - "#DEM4\\DEM4_012#This seems to be a Cryogenic Suspension chamber, Captain.", - "#DEM4\\DEM4_013#Captain, Starfleet would not be pleased.", - "#DEM4\\DEM4_014#Fascinating, Captain. It is a diagram of a lunar eclipse of this planet. See how the red ball, the moon, is casting a shadow on the blue ball, Pollux V. This must be a very old piece of work, because this planet's moon was destroyed thousands of years ago.", - "#DEM4\\DEM4_015#I wonder who, or what, constructed all this.", - "#DEM4\\DEM4_017#Jim, think about that skull we picked up from Brother Stephen. Now look at this alien. See the resemblance?", - "#DEM4\\DEM4_018#Ouch!", - "#DEM4\\DEM4_019#Perhaps we should try to communicate with the alien.", - "#DEM4\\DEM4_020#This is a very old and very complex life-support system. It appears to still be operational.", - "#DEM4\\DEM4_021#You should ask Spock, Jim.", - "#DEM4\\DEM4_022#Fascinating. this lifeform may represent what would have happened had the dinosaurs of your earth not become extinct.", - "#DEM4\\DEM4_023#It is an alien life-support system, Captain, utilizing geothermal energy. It is still functioning, waiting for some sort of signal.", - "#DEM4\\DEM4_024#Logically, the machinery is sustaining some type of life in suspended animation. If we can reactivate the machines, then we may be able to meet its creators.", - "#DEM4\\DEM4_025#The machinery is waiting for the gravitational pull of another eclipse to activate it, an eclipse that will never come. And one other thing, Captain. This may also be a diagram showing the proper settings on that control panel.", - "#DEM4\\DEM4_026#This alien construction takes readings of mental activity. It also activates manufacturing equipment related to security, and includes a short-distance transportation device.", - "#DEM4\\DEM4_027#This control panel is a manual override for the alien life-support equipment.", - "#DEM4\\DEM4_029#This lifeform appears to be intelligent, a new sentient race. There appear to be resemblances between it and the silotis, although the present forms are quite small and definitely nonsentient.", - "#DEM4\\DEM4_030#Live long and prosper.", - "#DEM4\\DEM4_031#Have you found the key?", - "#DEM4\\DEM4_032#Our patience is exhausted! Now feel our wrath!", - "#DEM4\\DEM4_033#There is no need for violence, Captain. We are a peaceful people.", - "#DEM4\\DEM4_034#You found the key! I can now turn off the machinery creating our guardians, and no more sentients shall be at risk. Surely the Holy One smiles upon us all. I have no way to thank you, Captain, but please carry this request from my people to yours. We have much ancient knowledge we can share, and we would like to join your Federation. Go in peace.", - "#DEM4\\DEM4_035#We look forward to meeting them. We also look forward to having discourse with the colonists. Farewell. May the Holy One bless you.", - "#DEM4\\DEM4_036#A child? No, I see many differences. This must be what our people who did not slumber have become. Still, I would like to see these remains properly interred, according to the precepts of our religion. May I keep this?", - "#DEM4\\DEM4_037#I see you have already shut off the machinery that creates the guardians. I have no way to thank you, Captain, but please carry this request from my people to yours. We have much ancient knowledge we can share, and we would like to join your Federation. Go in peace.", - "#DEM4\\DEM4_038#Oh woe! Alas! The key is missing, I can do nothing! Even we will suffer the attacks of our own guardians unless the key can be found! I implore you, if you can help, please do so.", - "#DEM4\\DEM4_039#So the Ferengi are not the only traders in the universe! Yes, Captain Kirk, excusing the settlers' debts is an excellent way of ensuring that our people will be friends.", - "#DEM4\\DEM4_040#The demons, as you call them, are created by a machine designed to keep intruders away from our sleep chambers. It pulls from the minds of any approaching creature their most feared enemy and produces replicas to scare them away. For you and your crew it was Klingons, for the Tellarite a wolf-demon, and for the other Humans a demon from their religion. On behalf of my people, thank you for waking us. I will turn off the machinery which creates our guardians, so that they no longer bedevil those with whom we now share our home.", - "#DEM4\\DEM4_041#There is no need for disrespect, intruder. Our race is old and powerful, wise in many things. Like our guardians, for example.", - "#DEM4\\DEM4_042#Violence is hardly necessary, Captain Kirk. We owe you a debt for your service to us, and are more than willing to peacefully co-exist with your kind.", - "#DEM4\\DEM4_043#We call ourselves Nauians. Thousands of years ago, we saw that meteor impacts were going to cause an Ice Age. We created this huge underground shelter to preserve our race, keeping us in suspended animation until the planet had recovered. We programmed the machinery to revive us at the next eclipse, but we did not count on the destruction of our moon.", - "#DEM4\\DEM4_044#Welcome to our home. Thank you for repairing our Sonambutron.", - "#DEM4\\DEM4_045#I do not think that would be a prudent action, sir.", - "#DEM4\\DEM4_046#I'm just a security officer, sir.", - "#DEM4\\DEM4_047#What is that?", - "#DEM4\\DEM4N000#Dr. McCoy looks back.", - "#DEM4\\DEM4N001#Ensign Everts is looking around.", - "#DEM4\\DEM4N002#It appears to be an abstract piece of alien art.", - "#DEM4\\DEM4N003#James T. Kirk, Captain of the Enterprise.", - "#DEM4\\DEM4N004#Many alien machines fill the room.", - "#DEM4\\DEM4N005#Spock is analyzing the alien machines.", - "#DEM4\\DEM4N006#The alien emerged from this metal chamber.", - "#DEM4\\DEM4N007#The alien is humanoid, with green reptilian skin. It appears unarmed.", - "#DEM4\\DEM4N008#This appears to control some unusual security equipment.", - "#DEM4\\DEM4N009#This floor contains conduits for conducting geothermal energy.", - "#DEM4\\DEM4N010#This is where the panel should pop up.", - "#DEM4\\DEM4N011#You meet your death at the hands of a race that could have been your ally. What a waste. Better luck next time.", - "#DEM4\\DEM4N012#It looks like a control panel with slide switches.", - "#DEM4\\DEM4N013#Nothing Happens.", - "#DEM4\\DEM4N014#You fit the key into the slot, but you cannot find a way to turn it.", - - - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "#DEM5\\DEM5_006#I detect various pieces of mining equipment but nothing of note.", - "#DEM5\\DEM5_007#May I suggest using a more diplomatic approach to questioning the colonists. Force will gain us little, if anything.", - "#DEM5\\DEM5_008#Jim, that wouldn't be wise.", - "#DEM5\\DEM5_009#Jim, these need to be processed first!", - "#DEM5\\DEM5_010#This man is getting worse. We've got to find those berries before he dies.", - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "#DEM5\\DEM5_032#Ahh, I see you found the berries. Meet me in my lab.", - "#DEM5\\DEM5_033#Good, you have found the berries. Bring them to my lab quickly.", - "#DEM5\\DEM5_034#I am worried about Brother Chub. Can you examine him, Doctor?", - "#DEM5\\DEM5_035#Please hurry Doctor. Brother Chub is looking worse.", - "#DEM5\\DEM5_036#That's very nice, but I'm busy now.", - "#DEM5\\DEM5_037#Those are Laraxian berries. They grow wild by the mine entrance.", - "#DEM5\\DEM5_038#Time is of the essence, you must hurry and retrieve the berry.", - "#DEM5\\DEM5_039#What an interesting artifact. Hmmm... It appears to have been damaged. When you have a chance, take it to my lab and we'll see if it can be repaired.", - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "#DEM5\\DEM5L027#Thank you. You are most kind.", - "#DEM5\\DEM5L028#You'll understand if I don't stand up, I hope. I am not well.", - "#DEM5\\DEM5L029#I headed up the party that sought to rescue Brother Kandrey. Without warning, the demons appeared and attacked us as we approached the mine!", - "#DEM5\\DEM5L030#Like the demons that have plagued devout folk since before our people left the Earth. Huge muscular demons, with ruddy skin. Truly the manifestation of Evil, with batwings, horns and talons, and a pointed tail. God preserve us all. One tore open my arm and I surely would have perished -- but for my companions who bore me back down the mountain.", - "#DEM5\\DEM5L031#No.", - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "", // RDF - "#DEM5\\DEM5N010#He is too busy consoling the wounded man.", - "#DEM5\\DEM5N011#He is too busy consoling the wounded man.", - "#DEM5\\DEM5N012#They are too heavy to move.", - "#DEM5\\DEM5N013#This man is in no condition to talk.", - - - "#DEM6\\DEM6_001#Looks like a pile of junk if you ask me.", - "#DEM6\\DEM6_002#Well, what happens next?", - "#DEM6\\DEM6_003#Where did you find all this?", - "#DEM6\\DEM6_004#Mr. Spock, See what you can dig up from that old fashioned computer terminal.", - "#DEM6\\DEM6_005#Mr. Spock, see what you can do about that hand.", - "#DEM6\\DEM6_006#Yes, tell us about these things.", - "#DEM6\\DEM6_007#A vintage 801286 of the mid-21st century. It is a fine museum piece.", - "#DEM6\\DEM6_008#Fascinating, Captain. It is an Ardak-4 molecular synthesizer. A museum piece in perfect working order.", - "#DEM6\\DEM6_009#Residue of several different compounds are in the tubes. None of the compounds would explain the sightings.", - "#DEM6\\DEM6_010#A completely ordinary nickel-iron meteorite.", - "#DEM6\\DEM6_011#A manufactured vanadium-tungsten alloy of considerable age and indeterminate use.", - "#DEM6\\DEM6_012#A sample of a local lifeform called a siloti, the largest animal reported on this planet. About the size of an Earth housecat, the silotis have an insectoid-reptilian genotype with praying mantis like forelimbs.", - "#DEM6\\DEM6_013#A variety of rock specimens, including native silver, azurite, crystalline forms of various minerals.", - "#DEM6\\DEM6_014#Captain, this appears to be a model of the Earth. Notice how it models the proper situation for a total eclipse?", - "#DEM6\\DEM6_015#Do I look like a pointy eared, green blooded, know-it-all alien?", - "#DEM6\\DEM6_016#He's in fine physical and mental condition, Jim.", - "#DEM6\\DEM6_017#Jim, that would destroy the glass case!", - "#DEM6\\DEM6_018#We've got to get this to brother Chub as quickly as possible, Jim!", - "#DEM6\\DEM6_019#I think we should wait and talk to the owner when he comes back, Jim.", - "#DEM6\\DEM6_020#This place looks real comfortable, a place to combine work and contemplation. The man's got an eye for the beauty of useful things, and the use of beautiful things. I think we could get along fine.", - "#DEM6\\DEM6_021#Fossil shells in limestone substrate, compatible with local geologic features.", - "#DEM6\\DEM6_022#I feel like this is delicate as surgery, Captain, but I've got it back in working order now.", - "#DEM6\\DEM6_023#I read a collection of small items of no evident value. I would characterize this as a small museum display, Captain.", - "#DEM6\\DEM6_024#This machinery is delicate but I have managed to repair the circuitry.", - "#DEM6\\DEM6_025#This study represents a man with a keen mind, Captain. To judge by what I see, there is little which does not interest him. The equipment is antiquated, but practical.", - "#DEM6\\DEM6_026#Fascinating, these berries can be used to synthesize Hypo-Dytoxin.", - "#DEM6\\DEM6_027#The settings on the Ardak-4 have already been adjusted. Simply place the berry in the machine and the Hypo-Dytoxin will be synthesized.", - "#DEM6\\DEM6_028#There is no need to threaten me if you need to use my study.", - "#DEM6\\DEM6_029#Bless you for returning my things.", - "#DEM6\\DEM6_030#Everything of this world is secondary to the perfection of the next, Captain.", - "#DEM6\\DEM6_031#Here and there. Much of it was brought to me by others exploring widely.", - "#DEM6\\DEM6_032#How interesting! Praise God for this opportunity. He brings me through you.", - "#DEM6\\DEM6_033#I believe this is evidence of the cataclysm which destroyed the moon of Pollux V eons past. I've constructed a theoretical model based on analysis of the planet's ring of what things might have been like. I think that the moon, like Earth's moon, would have made a total eclipse of the sun possible. I would have liked to have seen that, for conditions making a perfect total eclipse are rare in the Universe. Our God creates great wonders.", - "#DEM6\\DEM6_034#I enjoy talking about these treasures.", - "#DEM6\\DEM6_035#I never dreamed that Starfleet would be interested in my discoveries, Captain, but our God often surprises us.", - "#DEM6\\DEM6_036#One of the oldest forms I've seen on this planet. Our God makes beautiful things, indeed.", - "#DEM6\\DEM6_037#See how the fingertips have microsized sensors? I wonder what use they may have.", - "#DEM6\\DEM6_038#The skull of a modern siloti, the largest creature native to this planet, about the size of a housecat from Earth. The silotis combine a rather insectoid pattern with four-legged reptilian form including praying mantis-like forelimbs.", - "#DEM6\\DEM6_039#This chunk of rock is a greatly weathered example of a vanadium-tungsten alloy -- which doesn't occur naturally. It is my best evidence that the area was previously inhabited.", - "#DEM6\\DEM6_040#True curiosities, nothing more. I think they're very pretty, don't you?", - "#DEM6\\DEM6_041#Very well. I can't imagine why, but if you have a further interest in any of this, take what you like. But please remember to return my treasures when you are done with them.", - "#DEM6\\DEM6_042#Welcome to my study! Feel free to look around. My medical and scientific equipment is surely not so sophisticated as you are accustomed to, but if there is anything you wish to use, please feel free. Also, I would be interested in anything you might have to show me.", - "#DEM6\\DEM6_043#What a fascinating piece of equipment! Highly advanced technology. You see here, it seems to have been damaged, however. Take it to my workbench and let's see if it can be repaired. I fear my hands are too shaky to perform such fine work, but perhaps one of you can do it.", - "#DEM6\\DEM6_044#You are interested in my little museum of curiosities?", - "#DEM6\\DEM6_045#Mineral Specimens,", - "#DEM6\\DEM6_046#Meteorite,", - "#DEM6\\DEM6_047#Fossil Shells,", - "#DEM6\\DEM6_048#Skull of a small alien animal,", - "#DEM6\\DEM6_049#Twist of Metal,", - "#DEM6\\DEM6_050#or would you rather move on to something else?", - "#DEM6\\DEM6_051#Shall I go into...", - "#DEM6\\DEM6_052#I believe Mr. Spock would be more helpful with this, sir.", - "#DEM6\\DEM6_053#I wonder if any of this stuff might be useful.", - "#DEM6\\DEM6N000#A common-looking meteorite, about the size of a fist.", - "#DEM6\\DEM6N001#A glass-fronted display of mineral specimens including a meteorite, a few fossil shells, the skull of a cat-sized alien animal, and a very encrusted twist of metal.", - "#DEM6\\DEM6N002#A majestic view of Mt. Idyll can be seen through the skylight.", - "#DEM6\\DEM6N003#A multi-purpose work space, with fine, well-worn tools and equipment close at hand.", - "#DEM6\\DEM6N004#An antiquated molecular synthesizer sits in the corner.", - "#DEM6\\DEM6N005#An old corroded twist of metal.", - "#DEM6\\DEM6N006#An old-fashioned computer. It appears to have some type of simulation running.", - "#DEM6\\DEM6N007#Assorted pieces of glass rest on this table, from ancient beakers, to double burners.", - "#DEM6\\DEM6N008#Captain Kirk wonders what is going to happen on this mission.", - "#DEM6\\DEM6N009#Dr. McCoy is glad that he is in a warm, heated room.", - "#DEM6\\DEM6N010#Ensign Everts finds himself fascinated by the Acolytes and their planet.", - "#DEM6\\DEM6N011#Fossil shells of esthetic interest.", - "#DEM6\\DEM6N012#It is locked.", - "#DEM6\\DEM6N013#It opens.", - "#DEM6\\DEM6N014#It opens.", - "#DEM6\\DEM6N015#Mr. Spock finds the scientific equipment in this room to be rather primitive.", - "#DEM6\\DEM6N016#Pretty rock specimens.", - "#DEM6\\DEM6N017#The braincase of a small creature, looking slightly insectoid, somewhat reptilian.", - "#DEM6\\DEM6N018#The mechanism in the hand has already been repaired.", - "#DEM6\\DEM6N019#The old man carefully returns the items to his cabinet.", - "#DEM6\\DEM6N020#You tinker with it but do nothing significant.", - "#DEM6\\DEM6N021#Brother Stephen watches patiently as you examine his study.", - "#DEM6\\DEM6N022#The glass case is locked.", - "#DEM6\\DEM6N023#The machine synthesizes a quantity of Hypo-Dytoxin.", - "#DEM6\\DEM6N024#This appears to be a study and lab. The equipment looks very ancient.", - "#TUG0\\TUG0_001#I'm going to have a word for you, Spock, if we appear inside the door!", "#TUG0\\TUG0_002#Analysis, Lt. Christensen", diff --git a/engines/startrek/text.h b/engines/startrek/text.h index a9204153e2..02709345c4 100644 --- a/engines/startrek/text.h +++ b/engines/startrek/text.h @@ -156,421 +156,16 @@ enum GameStringIDs { TX_COMPU192, TX_COMPU193, - - TX_DEM0_001_REMOVED, - TX_DEM0_002_REMOVED, - TX_DEM0_003_REMOVED, - TX_DEM0_004_REMOVED, - TX_DEM0_005_REMOVED, - TX_DEM0_006_REMOVED, - TX_DEM0_007_REMOVED, - TX_DEM0_008_REMOVED, - TX_DEM0_009_REMOVED, - TX_DEM0_010_REMOVED, - TX_DEM0_011_REMOVED, - TX_DEM0_012_REMOVED, - TX_DEM0_013, - TX_DEM0_014_REMOVED, - TX_DEM0_015, - TX_DEM0_016, - TX_DEM0_017, - TX_DEM0_018_REMOVED, - TX_DEM0_019_REMOVED, - TX_DEM0_020_REMOVED, - TX_DEM0_021_REMOVED, - TX_DEM0_022_REMOVED, - TX_DEM0_023_REMOVED, - TX_DEM0_024_REMOVED, - TX_DEM0_025_REMOVED, - TX_DEM0_026_REMOVED, - TX_DEM0_027_REMOVED, - TX_DEM0_028_REMOVED, - TX_DEM0_029_REMOVED, - TX_DEM0_030_REMOVED, - TX_DEM0_031_REMOVED, - TX_DEM0_032_REMOVED, - TX_DEM0_033_REMOVED, - TX_DEM0_034_REMOVED, - TX_DEM0_035_REMOVED, - TX_DEM0_036_REMOVED, - TX_DEM0_037_REMOVED, - TX_DEM0_038_REMOVED, - TX_DEM0_039, - TX_DEM0_040, - TX_DEM0_041_REMOVED, - TX_DEM0_042_REMOVED, - TX_DEM0_043_REMOVED, - TX_DEM0_044_REMOVED, - TX_DEM0N000_REMOVED, - TX_DEM0N001_REMOVED, - TX_DEM0N002_REMOVED, - TX_DEM0N003_REMOVED, - TX_DEM0N004_REMOVED, - TX_DEM0N005_REMOVED, - TX_DEM0N006_REMOVED, - TX_DEM0N007_REMOVED, - TX_DEM0N008_REMOVED, TX_DEM0N009, // kept because it's also used as an enhancement in mudd1 - TX_DEM0N010_REMOVED, - TX_DEM0C001, // "C" = "Custom" (no ID originally assigned) - - - TX_DEM1_001, - TX_DEM1_002, - TX_DEM1_003, - TX_DEM1_004, - TX_DEM1_005, - TX_DEM1_006, - TX_DEM1_007, - TX_DEM1_008, - TX_DEM1_009, - TX_DEM1_011, - TX_DEM1_012, - TX_DEM1_013, - TX_DEM1_014, - TX_DEM1_015, - TX_DEM1_016, - TX_DEM1_017, - TX_DEM1_018, - TX_DEM1_019, - TX_DEM1_020, - TX_DEM1_021, - TX_DEM1_022, - TX_DEM1_023, - TX_DEM1_024, - TX_DEM1_025, - TX_DEM1_026, + TX_DEM0C001, // "C" = "Custom" (no ID originally assigned) + TX_DEM1_F23, - TX_DEM1N000, - TX_DEM1N001, - TX_DEM1N002, - TX_DEM1N003, - TX_DEM1N004, - TX_DEM1N005, - TX_DEM1N006, - TX_DEM1N007, - TX_DEM1N008, - TX_DEM1N009, - TX_DEM1N010, - TX_DEM1N011, - TX_DEM1N012, - TX_DEM1N013, - TX_DEM1N014, - TX_DEM1N015, - TX_DEM1N016, - TX_DEM1N017, - TX_DEM1N018, - TX_DEM1N019, - TX_DEM1N020, - TX_DEM1N021, - TX_DEM1N023, - TX_DEM1U077, - TX_DEM1U078, - - - TX_DEM2_001, - TX_DEM2_002, - TX_DEM2_003, - TX_DEM2_004, - TX_DEM2_005, - TX_DEM2_006, - TX_DEM2_007, - TX_DEM2_008, - TX_DEM2_009, - TX_DEM2_010, - TX_DEM2_011, - TX_DEM2_012, - TX_DEM2_013, - TX_DEM2_014, - TX_DEM2_015, - TX_DEM2_016, - TX_DEM2_017, - TX_DEM2_018, - TX_DEM2_019, - TX_DEM2_020, - TX_DEM2N000, - TX_DEM2N002, - TX_DEM2N003, - TX_DEM2N004, - TX_DEM2N005, - TX_DEM2N006, - TX_DEM2N007, - TX_DEM2N008, - TX_DEM2N009, - TX_DEM2N010, - TX_DEM2N011, - TX_DEM2N012, - TX_DEM2N013, - - - TX_DEM3_001, - TX_DEM3_002, - TX_DEM3_003, - TX_DEM3_004, - TX_DEM3_005, - TX_DEM3_006, - TX_DEM3_007, - TX_DEM3_008, - TX_DEM3_009, - TX_DEM3_010, - TX_DEM3_011, - TX_DEM3_012, - TX_DEM3_013, - TX_DEM3_014, - TX_DEM3_015, - TX_DEM3_016, - TX_DEM3_017, - TX_DEM3_018, - TX_DEM3_019, - TX_DEM3_020, - TX_DEM3_021, - TX_DEM3_022, - TX_DEM3_023, - TX_DEM3_024, - TX_DEM3_025, - TX_DEM3_026, - TX_DEM3_027, - TX_DEM3_028, - TX_DEM3_029, - TX_DEM3_030, - TX_DEM3_031, - TX_DEM3_033, - TX_DEM3_034, - TX_DEM3_035, - TX_DEM3_036, + + TX_DEM3_019, // kept because it's also used as an enhancement in venga + TX_DEM3_A32, - TX_DEM3_B32, + TX_DEM3_B32, // unused? TX_DEM3_F21, - TX_DEM3N000, - TX_DEM3N001, - TX_DEM3N002, - TX_DEM3N003, - TX_DEM3N004, - TX_DEM3N005, - TX_DEM3N006, - TX_DEM3N007, - TX_DEM3N008, - TX_DEM3N009, - TX_DEM3N010, - TX_DEM3N011, - TX_DEM3N012, - TX_DEM3N013, - TX_DEM3N014, - TX_DEM3N015, - TX_DEM3N016, - TX_DEM3N017, - TX_DEM3N018, - TX_DEM3N019, - TX_DEM3N020, - - - TX_DEM4_001, - TX_DEM4_002, - TX_DEM4_003, - TX_DEM4_004, - TX_DEM4_005, - TX_DEM4_006, - TX_DEM4_007, - TX_DEM4_008, - TX_DEM4_009, - TX_DEM4_010, - TX_DEM4_011, - TX_DEM4_012, - TX_DEM4_013, - TX_DEM4_014, - TX_DEM4_015, - TX_DEM4_017, - TX_DEM4_018, - TX_DEM4_019, - TX_DEM4_020, - TX_DEM4_021, - TX_DEM4_022, - TX_DEM4_023, - TX_DEM4_024, - TX_DEM4_025, - TX_DEM4_026, - TX_DEM4_027, - TX_DEM4_029, - TX_DEM4_030, - TX_DEM4_031, - TX_DEM4_032, - TX_DEM4_033, - TX_DEM4_034, - TX_DEM4_035, - TX_DEM4_036, - TX_DEM4_037, - TX_DEM4_038, - TX_DEM4_039, - TX_DEM4_040, - TX_DEM4_041, - TX_DEM4_042, - TX_DEM4_043, - TX_DEM4_044, - TX_DEM4_045, - TX_DEM4_046, - TX_DEM4_047, - TX_DEM4N000, - TX_DEM4N001, - TX_DEM4N002, - TX_DEM4N003, - TX_DEM4N004, - TX_DEM4N005, - TX_DEM4N006, - TX_DEM4N007, - TX_DEM4N008, - TX_DEM4N009, - TX_DEM4N010, - TX_DEM4N011, - TX_DEM4N012, - TX_DEM4N013, - TX_DEM4N014, - - - TX_DEM5_001_REMOVED, - TX_DEM5_002_REMOVED, - TX_DEM5_003_REMOVED, - TX_DEM5_004_REMOVED, - TX_DEM5_005_REMOVED, - TX_DEM5_006, - TX_DEM5_007, - TX_DEM5_008, - TX_DEM5_009, - TX_DEM5_010, - TX_DEM5_011_REMOVED, - TX_DEM5_012_REMOVED, - TX_DEM5_013_REMOVED, - TX_DEM5_014_REMOVED, - TX_DEM5_015_REMOVED, - TX_DEM5_016_REMOVED, - TX_DEM5_017_REMOVED, - TX_DEM5_018_REMOVED, - TX_DEM5_019_REMOVED, - TX_DEM5_020_REMOVED, - TX_DEM5_021_REMOVED, - TX_DEM5_022_REMOVED, - TX_DEM5_023_REMOVED, - TX_DEM5_024_REMOVED, - TX_DEM5_025_REMOVED, - TX_DEM5_026_REMOVED, - TX_DEM5_027_REMOVED, - TX_DEM5_028_REMOVED, - TX_DEM5_029_REMOVED, - TX_DEM5_030_REMOVED, - TX_DEM5_031_REMOVED, - TX_DEM5_032, - TX_DEM5_033, - TX_DEM5_034, - TX_DEM5_035, - TX_DEM5_036, - TX_DEM5_037, - TX_DEM5_038, - TX_DEM5_039, - TX_DEM5_040_REMOVED, - TX_DEM5_041_REMOVED, - TX_DEM5_042_REMOVED, - TX_DEM5_043_REMOVED, - TX_DEM5_044_REMOVED, - TX_DEM5_045_REMOVED, - TX_DEM5L027, - TX_DEM5L028, // name clash (L and _) - TX_DEM5L029, // name clash (L and _) - TX_DEM5L030, // name clash (L and _) - TX_DEM5L031, // name clash (L and _) - TX_DEM5N000_REMOVED, - TX_DEM5N001_REMOVED, - TX_DEM5N002_REMOVED, - TX_DEM5N003_REMOVED, - TX_DEM5N004_REMOVED, - TX_DEM5N005_REMOVED, - TX_DEM5N006_REMOVED, - TX_DEM5N007_REMOVED, - TX_DEM5N008_REMOVED, - TX_DEM5N009_REMOVED, - TX_DEM5N010, - TX_DEM5N011, - TX_DEM5N012, - TX_DEM5N013, - - - TX_DEM6_001, - TX_DEM6_002, - TX_DEM6_003, - TX_DEM6_004, - TX_DEM6_005, - TX_DEM6_006, - TX_DEM6_007, - TX_DEM6_008, - TX_DEM6_009, - TX_DEM6_010, - TX_DEM6_011, - TX_DEM6_012, - TX_DEM6_013, - TX_DEM6_014, - TX_DEM6_015, - TX_DEM6_016, - TX_DEM6_017, - TX_DEM6_018, - TX_DEM6_019, - TX_DEM6_020, - TX_DEM6_021, - TX_DEM6_022, - TX_DEM6_023, - TX_DEM6_024, - TX_DEM6_025, - TX_DEM6_026, - TX_DEM6_027, - TX_DEM6_028, - TX_DEM6_029, - TX_DEM6_030, - TX_DEM6_031, - TX_DEM6_032, - TX_DEM6_033, - TX_DEM6_034, - TX_DEM6_035, - TX_DEM6_036, - TX_DEM6_037, - TX_DEM6_038, - TX_DEM6_039, - TX_DEM6_040, - TX_DEM6_041, - TX_DEM6_042, - TX_DEM6_043, - TX_DEM6_044, - TX_DEM6_045, - TX_DEM6_046, - TX_DEM6_047, - TX_DEM6_048, - TX_DEM6_049, - TX_DEM6_050, - TX_DEM6_051, - TX_DEM6_052, - TX_DEM6_053, - TX_DEM6N000, - TX_DEM6N001, - TX_DEM6N002, - TX_DEM6N003, - TX_DEM6N004, - TX_DEM6N005, - TX_DEM6N006, - TX_DEM6N007, - TX_DEM6N008, - TX_DEM6N009, - TX_DEM6N010, - TX_DEM6N011, - TX_DEM6N012, - TX_DEM6N013, - TX_DEM6N014, - TX_DEM6N015, - TX_DEM6N016, - TX_DEM6N017, - TX_DEM6N018, - TX_DEM6N019, - TX_DEM6N020, - TX_DEM6N021, - TX_DEM6N022, - TX_DEM6N023, - TX_DEM6N024, - TX_TUG0_001, TX_TUG0_002, -- cgit v1.2.3