From 78958a01f80bc6dbe43c45bfd0f63092f4b49b2c Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Wed, 30 Oct 2019 01:42:03 +0200 Subject: STARTREK: Load more messages from RDF files --- engines/startrek/room.cpp | 16 ++++++++++------ engines/startrek/room.h | 1 + engines/startrek/rooms/demon1.cpp | 2 +- engines/startrek/rooms/demon3.cpp | 2 +- engines/startrek/rooms/feather1.cpp | 2 +- engines/startrek/rooms/lovea.cpp | 22 +++++++++++----------- engines/startrek/rooms/mudd4.cpp | 6 +++--- engines/startrek/rooms/sins2.cpp | 4 ++-- engines/startrek/rooms/trial0.cpp | 4 ++-- engines/startrek/rooms/tug0.cpp | 8 ++++---- engines/startrek/rooms/tug3.cpp | 6 +++--- engines/startrek/rooms/veng1.cpp | 2 +- engines/startrek/rooms/veng2.cpp | 6 +++--- engines/startrek/rooms/venga.cpp | 6 +++--- engines/startrek/text.cpp | 33 --------------------------------- engines/startrek/text.h | 33 --------------------------------- 16 files changed, 46 insertions(+), 107 deletions(-) (limited to 'engines') diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp index 6a9d7c5695..9c308ebeed 100644 --- a/engines/startrek/room.cpp +++ b/engines/startrek/room.cpp @@ -158,11 +158,12 @@ void Room::loadRoomMessage(const char *text) { text = patchedText.c_str(); char textType = text[10]; // _, U and S: talk message, N: look message, L: look with talker message + char numberType = text[11]; // Sxx: Scotty if (text[5] != '\\') error("loadRoomMessage: Invalid message"); - isTalkMessage = (textType == '_' || textType == 'U' || textType == 'S'); // U = Uhura, S = Scotty + isTalkMessage = (textType == '_' || textType == 'U' || numberType == 'S' || numberType == 'F'); // U = Uhura, S = Scotty, F = followup isLookMessage = (textType == 'N'); isLookWithTalkerMessage = (textType == 'L'); @@ -173,12 +174,13 @@ void Room::loadRoomMessage(const char *text) { if (memcmp(text + 1, _vm->_missionName.c_str(), 3) || text[4] != _vm->_roomIndex + '0') { // String with a prefix of another mission, separate it messageNum += COMMON_MESSAGE_OFFSET; - } - - // For some reason, Uhura's messages (Uxx) follow the same numbering as the - // rest, but Scott's don't, and start from one. - if (textType == 'S') + } else if (numberType == 'S') { + // For some reason, Uhura's messages (Uxx) follow the same numbering as the + // rest, but Scott's don't, and start from one. messageNum += SCOTTY_MESSAGE_OFFSET; + } else if (numberType == 'F') { + messageNum += FOLLOWUP_MESSAGE_OFFSET; + } if (isTalkMessage) _talkMessages[messageNum] = text; @@ -201,6 +203,8 @@ Common::String Room::patchRoomMessage(const char *text) { TypoFix typoFixes[] = { { "#LOV2\\LOV2_012#", "#LOV2\\LOV2_012#", "#LOV1\\LOV1_010#" }, // Audio file missing { "#LOV3\\LOV3_#", "#LOV3\\LOV3_#", "#LOV3\\LOV3_000#"}, // Message index missing + { "#LOVA\\LOVA_F08#", "spock", "Spock" }, + { "#LOVA\\LOVA_F55#", "sysnthesize", "synthesize" }, { "#FEA3\\FEA3_030#", "#FEA3\\FEA3_030#", "#LOVA\\LOVA_100#" }, // Wrong voice actor { "#MUD0\\MUD0_023#", "gullability", "gullibility" }, { "#MUD2\\MUD2_002#", "Well, now! I think", "Well, now I think" }, diff --git a/engines/startrek/room.h b/engines/startrek/room.h index 8146dcb654..f507b9fd0d 100644 --- a/engines/startrek/room.h +++ b/engines/startrek/room.h @@ -62,6 +62,7 @@ const int RDF_BEAM_IN_POSITIONS = 0xaa; const int RDF_SPAWN_POSITIONS = 0xba; #define COMMON_MESSAGE_OFFSET 1000 +#define FOLLOWUP_MESSAGE_OFFSET 600 #define SCOTTY_MESSAGE_OFFSET 500 class Room { diff --git a/engines/startrek/rooms/demon1.cpp b/engines/startrek/rooms/demon1.cpp index 899f76095c..0e64e6dff2 100644 --- a/engines/startrek/rooms/demon1.cpp +++ b/engines/startrek/rooms/demon1.cpp @@ -249,7 +249,7 @@ void Room::demon1KlingonDropsHand() { if (_roomVar.demon.numKlingonsKilled == 3) return; - showText(TX_SPEAKER_KLINGON, TX_DEM1_F23); + showText(TX_SPEAKER_KLINGON, 23 + FOLLOWUP_MESSAGE_OFFSET, true); _awayMission->timers[1] = 1; } diff --git a/engines/startrek/rooms/demon3.cpp b/engines/startrek/rooms/demon3.cpp index 1218292bfb..9b8b34b3e6 100644 --- a/engines/startrek/rooms/demon3.cpp +++ b/engines/startrek/rooms/demon3.cpp @@ -459,7 +459,7 @@ void Room::demon3GetMiner() { void Room::demon3TalkToMiner() { if (!_awayMission->demon.healedMiner) return; - showText(TX_SPEAKER_KANDREY, TX_DEM3_F21); + showText(TX_SPEAKER_KANDREY, 21 + FOLLOWUP_MESSAGE_OFFSET, true); } void Room::demon3TalkToKirk() { diff --git a/engines/startrek/rooms/feather1.cpp b/engines/startrek/rooms/feather1.cpp index ada6e6693f..5decbf26a6 100644 --- a/engines/startrek/rooms/feather1.cpp +++ b/engines/startrek/rooms/feather1.cpp @@ -314,7 +314,7 @@ void Room::feather1UseSnakeOnKirk() { } void Room::feather1UseSnakeOnMccoy() { - showText(TX_SPEAKER_MCCOY, TX_FEA1_F25); + showText(TX_SPEAKER_MCCOY, 25 + FOLLOWUP_MESSAGE_OFFSET, true); } void Room::feather1UseSnakeOnRedshirt() { diff --git a/engines/startrek/rooms/lovea.cpp b/engines/startrek/rooms/lovea.cpp index 12dc564916..3fd2dd795b 100644 --- a/engines/startrek/rooms/lovea.cpp +++ b/engines/startrek/rooms/lovea.cpp @@ -81,7 +81,7 @@ void Room::loveaUseCureSampleOnSpock() { walkCrewman(OBJECT_SPOCK, _roomVar.love.cmnXPosToCureSpock, _roomVar.love.cmnYPosToCureSpock, 99); walkCrewman(OBJECT_MCCOY, _roomVar.love.cmnXPosToCureSpock, _roomVar.love.cmnYPosToCureSpock + 10, 99); } else - showText(TX_SPEAKER_MCCOY, TX_LOVA_F55); + showText(TX_SPEAKER_MCCOY, 55 + COMMON_MESSAGE_OFFSET, true); } @@ -123,13 +123,13 @@ void Room::loveaTimer2Expired() { showText(TX_SPEAKER_SPOCK, TX_SPOKCOFF); _awayMission->love.spockInfectionCounter++; } else if (_awayMission->love.spockInfectionCounter == 30) { - showText(TX_SPEAKER_MCCOY, TX_LOVA_F08); + showText(TX_SPEAKER_MCCOY, 8 + COMMON_MESSAGE_OFFSET, true); _awayMission->love.spockInfectionCounter++; } else if (_awayMission->love.spockInfectionCounter == 45) { showText(TX_SPEAKER_SPOCK, TX_SPOKCOFF); _awayMission->love.spockInfectionCounter++; } else if (_awayMission->love.spockInfectionCounter == 60) { - showText(TX_SPEAKER_SPOCK, TX_LOVA_F54); + showText(TX_SPEAKER_SPOCK, 54 + COMMON_MESSAGE_OFFSET, true); _awayMission->love.romulansUnconsciousFromVirus = true; _awayMission->love.spockInfectionCounter++; } @@ -144,26 +144,26 @@ void Room::loveaUseMTricorderOnSpock() { playSoundEffectIndex(SND_TRICORDER); if (_awayMission->love.spockCured) - showText(TX_SPEAKER_MCCOY, TX_LOVA_F01); + showText(TX_SPEAKER_MCCOY, 1 + COMMON_MESSAGE_OFFSET, true); else if (!_awayMission->love.knowAboutVirus) - showText(TX_SPEAKER_MCCOY, TX_LOVA_F02); + showText(TX_SPEAKER_MCCOY, 2 + COMMON_MESSAGE_OFFSET, true); else if (_awayMission->love.spockInfectionCounter < 10) - showText(TX_SPEAKER_MCCOY, TX_LOVA_F04); + showText(TX_SPEAKER_MCCOY, 4 + COMMON_MESSAGE_OFFSET, true); else if (_awayMission->love.spockInfectionCounter < 30) - showText(TX_SPEAKER_MCCOY, TX_LOVA_F03); + showText(TX_SPEAKER_MCCOY, 3 + COMMON_MESSAGE_OFFSET, true); else if (_awayMission->love.spockInfectionCounter < 50) - showText(TX_SPEAKER_MCCOY, TX_LOVA_F08); + showText(TX_SPEAKER_MCCOY, 8 + COMMON_MESSAGE_OFFSET, true); else if (_awayMission->love.spockInfectionCounter < 70) // BUGFIX: < 70 instead of == 70 showText(TX_SPEAKER_MCCOY, COMMON_MESSAGE_OFFSET + 10, true); // TX_TUG2_010 else if (_awayMission->love.spockInfectionCounter < 100) - showText(TX_SPEAKER_MCCOY, TX_LOVA_F10); + showText(TX_SPEAKER_MCCOY, 10 + COMMON_MESSAGE_OFFSET, true); else showText(TX_SPEAKER_MCCOY, COMMON_MESSAGE_OFFSET + 100); } void Room::loveaUseMTricorderOnHuman() { playSoundEffectIndex(SND_TRICORDER); - showText(TX_SPEAKER_MCCOY, TX_LOVA_F07); + showText(TX_SPEAKER_MCCOY, 7 + COMMON_MESSAGE_OFFSET, true); } void Room::loveaUseRomulanLaughingGas() { @@ -200,7 +200,7 @@ void Room::loveaUseCommunicator() { showText(TX_SPEAKER_KIRK, TX_MUD4_018); showText(TX_SPEAKER_UHURA, TX_BRIDU146); - showText(TX_SPEAKER_KIRK, TX_VENA_F41); + showText(TX_SPEAKER_KIRK, 41 + COMMON_MESSAGE_OFFSET, true); _awayMission->love.contactedEnterpriseBeforeCure = true; } diff --git a/engines/startrek/rooms/mudd4.cpp b/engines/startrek/rooms/mudd4.cpp index 4cbb8a31b8..9118aff823 100644 --- a/engines/startrek/rooms/mudd4.cpp +++ b/engines/startrek/rooms/mudd4.cpp @@ -280,14 +280,14 @@ void Room::mudd4KirkUsedCommunications() { if (!_awayMission->mudd.contactedEnterpriseFirstTime) { _awayMission->mudd.missionScore++; showText(TX_SPEAKER_KIRK, 25, true); - showText(TX_SPEAKER_SCOTT, TX_MUD4_S02); + showText(TX_SPEAKER_SCOTT, 2 + SCOTTY_MESSAGE_OFFSET, true); if (_awayMission->mudd.torpedoStatus == 1) showText(TX_SPEAKER_KIRK, 27, true); else showText(TX_SPEAKER_KIRK, 28, true); - showText(TX_SPEAKER_SCOTT, TX_MUD4_S04); + showText(TX_SPEAKER_SCOTT, 4 + SCOTTY_MESSAGE_OFFSET, true); const TextRef choices[] = { TX_SPEAKER_KIRK, @@ -316,7 +316,7 @@ void Room::mudd4KirkUsedCommunications() { }; showText(TX_SPEAKER_KIRK, 20, true); - showText(TX_SPEAKER_SCOTT, TX_MUD4_S03); + showText(TX_SPEAKER_SCOTT, 3 + SCOTTY_MESSAGE_OFFSET, true); int choice = showMultipleTexts(choices); if (choice == 1) { diff --git a/engines/startrek/rooms/sins2.cpp b/engines/startrek/rooms/sins2.cpp index b045f0113e..2d6fb5ad81 100644 --- a/engines/startrek/rooms/sins2.cpp +++ b/engines/startrek/rooms/sins2.cpp @@ -228,7 +228,7 @@ void Room::sins2Tick40() { showText(TX_SPEAKER_UHURA, 85, true); showText(TX_SPEAKER_KIRK, 8, true); showText(TX_SPEAKER_UHURA, 97, true); - showText(TX_SPEAKER_MCCOY, TX_SIN2_F26); + showText(TX_SPEAKER_MCCOY, 26 + FOLLOWUP_MESSAGE_OFFSET, true); showText(TX_SPEAKER_UHURA, 96, true); showText(TX_SPEAKER_MCCOY, 19, true); showText(TX_SPEAKER_KIRK, 4, true); @@ -294,7 +294,7 @@ void Room::sins2LookAtDoor() { void Room::sins2UseSpockOnDoor() { if (!_awayMission->sins.openedInnerDoor) { - showText(TX_SPEAKER_SPOCK, TX_SIN2_F12); + showText(TX_SPEAKER_SPOCK, 12 + FOLLOWUP_MESSAGE_OFFSET, true); showText(TX_SPEAKER_MOSHER, 48, true); showText(TX_SPEAKER_SPOCK, 30, true); } diff --git a/engines/startrek/rooms/trial0.cpp b/engines/startrek/rooms/trial0.cpp index 1a4a778445..e1d45e609e 100644 --- a/engines/startrek/rooms/trial0.cpp +++ b/engines/startrek/rooms/trial0.cpp @@ -249,7 +249,7 @@ void Room::trial0TalkToVlict() { } void Room::trial0TalkToGuard() { - showText(TX_SPEAKER_KLINGON_GUARD, TX_TRI0_F24); + showText(TX_SPEAKER_KLINGON_GUARD, 24 + FOLLOWUP_MESSAGE_OFFSET, true); showText(TX_SPEAKER_BENNIE, 65, true); showText(TX_SPEAKER_KIRK, 7, true); showText(TX_SPEAKER_BENNIE, 64, true); @@ -285,7 +285,7 @@ void Room::trial0UseSnakeOnVlict() { void Room::trial0UseSnakeOnGuard() { // Unused, since the snake item doesn't carry over to the courtroom - showText(TX_SPEAKER_KLINGON_GUARD, TX_TRI0_F24); + showText(TX_SPEAKER_KLINGON_GUARD, 24 + FOLLOWUP_MESSAGE_OFFSET, true); } void Room::trial0UseMTricorderOnQuetzecoatl() { diff --git a/engines/startrek/rooms/tug0.cpp b/engines/startrek/rooms/tug0.cpp index df9aab88b9..912b44e703 100644 --- a/engines/startrek/rooms/tug0.cpp +++ b/engines/startrek/rooms/tug0.cpp @@ -179,7 +179,7 @@ void Room::tug0MccoyHealedEngineer() { } void Room::tug0EngineerGotUp() { - showText(TX_SPEAKER_SIMPSON, TX_TUG0_F31); + showText(TX_SPEAKER_SIMPSON, 31 + FOLLOWUP_MESSAGE_OFFSET, true); _awayMission->tug.engineerConscious = true; loadActorAnim2(8, "tcshow", 0x27, 0xa8, 0); loadActorAnim2(9, "popen", 0x27, 0xa9, 0); @@ -329,9 +329,9 @@ void Room::tug0BombExploded() { showText(TX_SPEAKER_SPOCK, 37, true); showText(TX_SPEAKER_MCCOY, 27, true); showText(TX_SPEAKER_KIRK, 4, true); - showText(TX_SPEAKER_SCOTT, TX_TUG0_S11); + showText(TX_SPEAKER_SCOTT, 11 + SCOTTY_MESSAGE_OFFSET, true); showText(TX_SPEAKER_KIRK, 3, true); - showText(TX_SPEAKER_SCOTT, TX_TUG0_S06); + showText(TX_SPEAKER_SCOTT, 6 + SCOTTY_MESSAGE_OFFSET, true); _awayMission->tug.field2d = 1; _awayMission->disableInput = true; @@ -433,7 +433,7 @@ void Room::tug0TalkToRedshirt() { void Room::tug0TalkToEngineer() { if (_awayMission->tug.engineerConscious) { - showText(TX_SPEAKER_SIMPSON, TX_TUG0_F30); + showText(TX_SPEAKER_SIMPSON, 30 + FOLLOWUP_MESSAGE_OFFSET, true); showText(TX_SPEAKER_MCCOY, 26, true); showText(TX_SPEAKER_KIRK, 12, true); } diff --git a/engines/startrek/rooms/tug3.cpp b/engines/startrek/rooms/tug3.cpp index 6374983967..c16d58eba0 100644 --- a/engines/startrek/rooms/tug3.cpp +++ b/engines/startrek/rooms/tug3.cpp @@ -246,7 +246,7 @@ void Room::tug3TalkToElasi1() { case 1: // Cereth shoots console, doesn't surrender _awayMission->disableInput = true; - showText(TX_SPEAKER_ELASI_CERETH, TX_TUG3_F27); + showText(TX_SPEAKER_ELASI_CERETH, 27 + FOLLOWUP_MESSAGE_OFFSET, true); loadActorAnim2(OBJECT_ELASI_1, "p1draw", -1, -1, 3); break; @@ -389,7 +389,7 @@ void Room::tug3UseCommunicator() { } else { if (_awayMission->tug.orbitalDecayCounter < 16) { showText(TX_SPEAKER_KIRK, 6, true); - showText(TX_SPEAKER_SCOTT, TX_TUG3_S07); + showText(TX_SPEAKER_SCOTT, 7 + SCOTTY_MESSAGE_OFFSET, true); playMidiMusicTracks(-1, -1); @@ -482,7 +482,7 @@ void Room::tug3SecurityTeamBeamedIn() { loadActorAnim2(OBJECT_15, "rfiren", -1, -1, 10); showText(TX_SPEAKER_KIRK, 5, true); - showText(TX_SPEAKER_SCOTT, TX_TUG3_S08); + showText(TX_SPEAKER_SCOTT, 8 + SCOTTY_MESSAGE_OFFSET, true); playMidiMusicTracks(-1, -1); _awayMission->disableInput = true; diff --git a/engines/startrek/rooms/veng1.cpp b/engines/startrek/rooms/veng1.cpp index 82c4036223..48578a2c02 100644 --- a/engines/startrek/rooms/veng1.cpp +++ b/engines/startrek/rooms/veng1.cpp @@ -294,7 +294,7 @@ void Room::veng1KirkAccessedPanel() { loadActorAnim2(OBJECT_DEBRIS, "s7r1p2", 0xd1, 0x6a); loadActorStandAnim(OBJECT_PANEL); } else - showDescription(TX_VEN1_F33); + showDescription(33 + FOLLOWUP_MESSAGE_OFFSET, true); walkCrewman(OBJECT_KIRK, 0xc9, 0x98); } diff --git a/engines/startrek/rooms/veng2.cpp b/engines/startrek/rooms/veng2.cpp index 15b81ab640..72be99376b 100644 --- a/engines/startrek/rooms/veng2.cpp +++ b/engines/startrek/rooms/veng2.cpp @@ -578,8 +578,8 @@ void Room::veng2KirkFiredTorpedo() { void Room::veng2TorpedoStruckElasiShip() { loadActorAnim2(OBJECT_VIEWSCREEN, "s7r2p1", VIEWSCREEN_X, VIEWSCREEN_Y); showText(TX_SPEAKER_ELASI_CAPTAIN, 104, true); - showText(TX_SPEAKER_ELASI_WEAPONS_MASTER, TX_VEN2_F29); - showText(TX_SPEAKER_ELASI_CREWMAN, TX_VEN2_F28); + showText(TX_SPEAKER_ELASI_WEAPONS_MASTER, 29 + FOLLOWUP_MESSAGE_OFFSET, true); + showText(TX_SPEAKER_ELASI_CREWMAN, 28 + FOLLOWUP_MESSAGE_OFFSET, true); showText(TX_SPEAKER_ELASI_CAPTAIN, 101, true); showText(TX_SPEAKER_KIRK, 14, true); showText(TX_SPEAKER_ELASI_CAPTAIN, 106, true); @@ -619,7 +619,7 @@ void Room::veng2CrewmanInPositionToBeamOut() { } void Room::veng2UseSTricorderOnTorpedoButton() { - spockScan(DIR_N, TX_VEN2_F35); // ENHANCEMENT: Use spockScan (don't just show text) + spockScan(DIR_N, 35 + FOLLOWUP_MESSAGE_OFFSET, true); // ENHANCEMENT: Use spockScan (don't just show text) } void Room::veng2UseSTricorderOnMiddleConsole() { diff --git a/engines/startrek/rooms/venga.cpp b/engines/startrek/rooms/venga.cpp index 57a4ec25aa..5efb7316a4 100644 --- a/engines/startrek/rooms/venga.cpp +++ b/engines/startrek/rooms/venga.cpp @@ -60,7 +60,7 @@ void Room::vengaTick() { _awayMission->veng.counterUntilElasiDestroyShip--; if (_awayMission->veng.counterUntilElasiDestroyShip == 0 && !_awayMission->veng.firedTorpedo) { // Elasi fire torpedoes at you since you wouldn't lower your shields. - showDescription(TX_VENA_F40); + showDescription(40 + COMMON_MESSAGE_OFFSET, true); showGameOverMenu(); return; } @@ -76,12 +76,12 @@ void Room::vengaTick() { } void Room::vengaElasiBeamOver() { - showDescription(TX_VENA_F32); + showDescription(32 + COMMON_MESSAGE_OFFSET, true); showGameOverMenu(); } void Room::vengaUsePhaserAnywhere() { - showText(TX_SPEAKER_SPOCK, TX_VENA_F34); + showText(TX_SPEAKER_SPOCK, 34 + COMMON_MESSAGE_OFFSET, true); } void Room::vengaLookAtHypo() { diff --git a/engines/startrek/text.cpp b/engines/startrek/text.cpp index 84689542fd..ff61206e79 100644 --- a/engines/startrek/text.cpp +++ b/engines/startrek/text.cpp @@ -99,20 +99,11 @@ extern const char *const g_gameStrings[] = { "#DEM0\\DEM0N009#Spock raises an eyebrow.", // kept because it's used as an enhancement in mudd1 "All mining equipment use this road.", - "#DEM1\\DEM1_F23#Federation Scum!", "#DEM3\\DEM3_019#He's dead, Jim...", "#DEM3\\DEM3_A32#Aieeee!", - "#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.", - "#TUG0\\TUG0_F30#I suppose I should be grateful to see anyone after that. I thought I was dead.", - "#TUG0\\TUG0_F31#Thank you, Doctor. Be careful, Captain, the Elasi like to set boobytraps. if you need any equipment I've got my tools in this workspace.", - "#TUG0\\TUG0_S06#Aye Captain.", - "#TUG0\\TUG0_S11#Captain, you're alive!", "#TUG2\\TUG2J003#I recommend extreme caution, Captain. We must be ready to expect anything.", "Snip...snip...snip.", - "#TUG3\\TUG3_F27#Foolhardy words, Kirk. You have underestimated me at every turn.", - "#TUG3\\TUG3_S07#Aye, Captain.", - "#TUG3\\TUG3_S08#Aye, Captain.", "#LOV3\\LOV3NA08#With a hiss, the Romulan Laughing Gas billows down the vent. Things are strangely quiet below.", "#LOV3\\LOV3NA09#With a hiss, the Romulan Laughing Gas billows down the vent. You hear the muffled sounds through the vent of hearty Romulan laughter, followed by the dull thud of bodies hitting the deck.", @@ -122,15 +113,6 @@ extern const char *const g_gameStrings[] = { "#LOV3\\LOV3NA23#This is the engineering center for the ARK7 space station.", "#LOV3\\LOV3NJ32#You attach the antigrav unit to the gas tank. It can be moved freely.", "(Raises an eyebrow)", // NOTE: no corresponding audio - "#LOVA\\LOVA_F01#He's been cured of the Oroborus virus.", - "#LOVA\\LOVA_F02#I'm picking up some kind of virus. I can't identify it without more information.", - "#LOVA\\LOVA_F03#He's infected with the virus, Jim.", - "#LOVA\\LOVA_F04#The virus affects the Romulan-Vulcan genotype, Jim.", - "#LOVA\\LOVA_F07#All lifesigns are normal.", - "#LOVA\\LOVA_F08#It's what I was afraid of, Jim. I think Spock is getting worse.", // TYPO - "#LOVA\\LOVA_F10#He has weak vital signs.", - "#LOVA\\LOVA_F54#The virus has spread to me, Captain. I suggest you concentrate your efforts on the problem.", - "#LOVA\\LOVA_F55#Jim, we need to synthesize more to make the serum before we can use it.", // TYPO "#MUD0\\MUD0_018#Life support down to 25%, Captain.", "#MUD0\\MUD0_019#Life support down to 50%, Captain.", @@ -141,14 +123,9 @@ extern const char *const g_gameStrings[] = { "#MUD4\\MUD4_019#Later, Mr. Scott.", "#MUD4\\MUD4_023#No, I need to have a word with Harry Mudd before we go.", "#MUD4\\MUD4_A29#Very well, bring us home, Mr. Scott.", - "#MUD4\\MUD4_S02#The Elasi pirates have been driven off, Captain. We have damage, and injuries among the crew. We just arrived back here a few minutes ago, and we've been trying to raise you on the communicators.", - "#MUD4\\MUD4_S03#The neutron star is causing more and more problems, Captain. I would recommend beaming over at your earliest possible convenience.", - "#MUD4\\MUD4_S04#We can do it, Captain, no problem. At least right now, but the situation is only going to get worse. Are you ready to beam over now?", "#FEA1\\FEA1_A46#There is not enough support, Captain.", - "#FEA1\\FEA1_F25#What on Earth are you doing with that slithering thing!", - "#TRI0\\TRI0_F24#How amusing. Federation weaklings.", "#TRI1\\TRI1_J00#Why do I have the feeling that I'm about to have a bad day?", "#TRI1\\TRI1U080#Affirmative, sir.", "Zzzt! Sptttz! Zzzt! Tttt!", @@ -156,8 +133,6 @@ extern const char *const g_gameStrings[] = { "#SFX\\QUIET#Zzzzzzzzzzzmmmm.", "#TRI4\\TRI4_076#You humans have an excellent imagination, but a poor grasp of reality.", - "#SIN2\\SIN2_F12#This says: \"Dominant People only to dominate things beyond >,