aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek
diff options
context:
space:
mode:
authorFilippos Karapetis2019-10-07 01:08:18 +0300
committerFilippos Karapetis2019-10-07 01:08:51 +0300
commit95f8cfff1602d92178eea875794f83da548566c5 (patch)
treedbd74cc846b66ad9349e7dbaa9e093679f2daaa8 /engines/startrek
parent7caf897ee2e94a0c90601f55e476a1849b8c353b (diff)
downloadscummvm-rg350-95f8cfff1602d92178eea875794f83da548566c5.tar.gz
scummvm-rg350-95f8cfff1602d92178eea875794f83da548566c5.tar.bz2
scummvm-rg350-95f8cfff1602d92178eea875794f83da548566c5.zip
STARTREK: Handle shared messages
Also, start moving message patches inside patchRoomMessage(), and remove some redundant state variables
Diffstat (limited to 'engines/startrek')
-rw-r--r--engines/startrek/room.cpp62
-rw-r--r--engines/startrek/room.h18
-rw-r--r--engines/startrek/rooms/feather3.cpp8
-rw-r--r--engines/startrek/rooms/love0.cpp11
-rw-r--r--engines/startrek/rooms/love2.cpp4
-rw-r--r--engines/startrek/rooms/lovea.cpp77
-rw-r--r--engines/startrek/rooms/mudd0.cpp2
-rw-r--r--engines/startrek/rooms/tug2.cpp2
-rw-r--r--engines/startrek/text.cpp66
-rw-r--r--engines/startrek/text.h58
10 files changed, 88 insertions, 220 deletions
diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index 052a38cc71..eec1bb0f20 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -151,43 +151,85 @@ void Room::loadRoomMessages() {
void Room::loadRoomMessage(const char *text) {
int messageNum;
bool isTalkMessage;
+ bool isLookMessage;
bool isLookWithTalkerMessage;
+
+ Common::String patchedText = patchRoomMessage(text);
+ text = patchedText.c_str();
+
char textType = text[10]; // _ and U: talk message, N: look message, L: look with talker message
if (text[5] != '\\')
error("loadRoomMessage: Invalid message");
isTalkMessage = (textType == '_' || textType == 'U'); // U = Uhura
+ isLookMessage = (textType == 'N');
isLookWithTalkerMessage = (textType == 'L');
sscanf((const char *)(text + 11), "%3d", &messageNum);
if (text[14] != '#')
error("loadRoomMessage: Invalid message");
+ 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;
+ }
+
if (isTalkMessage)
- _talkMessages[messageNum] = Common::String((const char *)text);
+ _talkMessages[messageNum] = text;
+ else if (isLookMessage)
+ _lookMessages[messageNum] = text;
else if (isLookWithTalkerMessage)
- _lookWithTalkerMessages[messageNum] = Common::String((const char *)text);
- else
- _lookMessages[messageNum] = Common::String((const char *)text);
+ _lookWithTalkerMessages[messageNum] = text;
+}
+
+Common::String Room::patchRoomMessage(const char *text) {
+ Common::String txt = text;
+ // Fix typos where some messages contain a hyphen instead of an underscore
+ // (e.g in LOV2)
+ if (txt[10] == '-')
+ txt.replace(10, 1, "_");
+
+ // Message index missing
+ if (txt.hasPrefix("#LOV3\\LOV3_#"))
+ txt = Common::String("#LOV3\\LOV3_000#") + (text + 12);
+
+ // Should be TX_LOV2_012, but the audio file is missing
+ if (txt.hasPrefix("#LOV2\\LOV2_012#"))
+ txt = Common::String("#LOV1\\LOV1_010#") + (text + 14);
+
+ // Original voice clip is someone who's clearly not Kelley saying "he's dead, Jim"
+ if (txt.hasPrefix("#FEA3\\FEA3_030#"))
+ txt = Common::String("#LOVA\\LOVA_100#") + (text + 14);
+
+ return txt;
}
void Room::loadOtherRoomMessages() {
uint16 startOffset = readRdfWord(14);
uint16 endOffset = readRdfWord(16);
uint16 offset = startOffset;
+ const char *validPrefixes[] = {
+ "BRI", "COM", "DEM", "FEA", "GEN", "LOV", "MUD", "SIN", "TRI", "TUG", "VEN"
+ };
while (offset < endOffset) {
uint16 nextOffset = readRdfWord(offset + 4);
if (nextOffset >= endOffset)
break;
-
+
while (offset < nextOffset) {
const char *text = (const char *)_rdfData + offset;
- if (text[0] == '#' && text[1] == _vm->_missionName[0] && text[5] == '\\')
- loadRoomMessage(text);
+ if (text[0] == '#' && text[5] == '\\') {
+ for (uint i = 0; i < ARRAYSIZE(validPrefixes); i++) {
+ if (!memcmp(text + 1, validPrefixes[i], 3)) {
+ loadRoomMessage(text);
+ break;
+ }
+ }
+ }
offset++;
}
@@ -383,11 +425,11 @@ int Room::showMultipleTexts(const TextRef *textIDs, bool fromRDF, bool lookWithT
// TODO: This isn't nice, but it's temporary till we migrate to reading text from RDF files
if (i > 0 && fromRDF) {
if (textIDs[0] == TX_NULL)
- text[i] = _lookMessages[textIDs[i]].c_str();
+ text[i] = _lookMessages.contains(textIDs[i]) ? _lookMessages[textIDs[i]].c_str() : _lookMessages[textIDs[i] - COMMON_MESSAGE_OFFSET].c_str();
else if (lookWithTalker)
- text[i] = _lookWithTalkerMessages[textIDs[i]].c_str();
+ text[i] = _lookWithTalkerMessages.contains(textIDs[i]) ? _lookWithTalkerMessages[textIDs[i]].c_str() : _lookWithTalkerMessages[textIDs[i] - COMMON_MESSAGE_OFFSET].c_str();
else
- text[i] = _talkMessages[textIDs[i]].c_str();
+ text[i] = _talkMessages.contains(textIDs[i]) ? _talkMessages[textIDs[i]].c_str() : _talkMessages[textIDs[i] - COMMON_MESSAGE_OFFSET].c_str();
} else
text[i] = g_gameStrings[textIDs[i]];
}
diff --git a/engines/startrek/room.h b/engines/startrek/room.h
index 7d7b49bdd0..9a2f47787c 100644
--- a/engines/startrek/room.h
+++ b/engines/startrek/room.h
@@ -61,6 +61,8 @@ const int RDF_ROOM_ENTRY_POSITIONS = 0x2a;
const int RDF_BEAM_IN_POSITIONS = 0xaa;
const int RDF_SPAWN_POSITIONS = 0xba;
+#define COMMON_MESSAGE_OFFSET 1000
+
class Room {
public:
Room(StarTrekEngine *vm, const Common::String &name);
@@ -162,6 +164,7 @@ private:
void loadRoomMessages();
void loadOtherRoomMessages();
void loadRoomMessage(const char *text);
+ Common::String patchRoomMessage(const char *text);
int findFunctionPointer(int action, void (Room::*funcPtr)());
@@ -2996,10 +2999,6 @@ public:
struct {
// love0
bool heardSummaryOfVirus; // 0xda
- int16 consoleCrewman; // 0xe3
- char consoleAnimation[10]; // 0xe5
- TextRef consoleSpeaker; // 0xe7
- TextRef consoleText; // 0xe9
// love1
TextRef dyingSpeaker; // 0xcf
@@ -3037,10 +3036,13 @@ public:
void saveLoadWithSerializer(Common::Serializer &ser) {
// love0
ser.syncAsByte(heardSummaryOfVirus);
- ser.syncAsSint16LE(consoleCrewman);
- ser.syncBytes((byte *)consoleAnimation, 10);
- ser.syncAsSint32LE(consoleSpeaker);
- ser.syncAsSint32LE(consoleText);
+ uint16 tmp = 0;
+ uint32 tmp2 = 0;
+ byte tmp3[10];
+ ser.syncAsSint16LE(tmp); // consoleCrewman
+ ser.syncBytes((byte *)tmp3, 10); // consoleAnimation
+ ser.syncAsSint32LE(tmp2); // consoleSpeaker
+ ser.syncAsSint32LE(tmp2); // consoleText
// love1
ser.syncAsSint32LE(dyingSpeaker);
diff --git a/engines/startrek/rooms/feather3.cpp b/engines/startrek/rooms/feather3.cpp
index 69bf6f50b9..95680727ee 100644
--- a/engines/startrek/rooms/feather3.cpp
+++ b/engines/startrek/rooms/feather3.cpp
@@ -334,12 +334,8 @@ void Room::feather3UseMedkitOnTlaoxac() {
}
void Room::feather3UseMedkitOnRedshirt() {
- if (_awayMission->redshirtDead) {
- // BUGFIX: Original voice clip (TX_FEA3_030) is someone who's clearly not Kelley
- // saying "he's dead, Jim". He recorded the line a few other times, so use one of
- // those instead.
- mccoyScan(DIR_N, TX_LOVA_100);
- }
+ if (_awayMission->redshirtDead)
+ mccoyScan(DIR_N, 30, true);
}
void Room::feather3UseMedkitAnywhere() {
diff --git a/engines/startrek/rooms/love0.cpp b/engines/startrek/rooms/love0.cpp
index 323cc68452..40ba48455a 100644
--- a/engines/startrek/rooms/love0.cpp
+++ b/engines/startrek/rooms/love0.cpp
@@ -174,12 +174,7 @@ void Room::love0UseRedshirtOnConsole() {
}
void Room::love0UseSpockOnConsole() {
- _roomVar.love.consoleCrewman = OBJECT_SPOCK;
- _roomVar.love.consoleSpeaker = TX_SPEAKER_SPOCK;
- _roomVar.love.consoleText = TX_LOV0_005;
- strcpy(_roomVar.love.consoleAnimation, "susemn");
-
- walkCrewman(_roomVar.love.consoleCrewman, 0x9a, 0x9a, 2);
+ walkCrewman(OBJECT_SPOCK, 0x9a, 0x9a, 2);
if (!_awayMission->love.spockAccessedConsole) {
_awayMission->love.spockAccessedConsole = true;
_awayMission->love.missionScore += 4;
@@ -187,7 +182,7 @@ void Room::love0UseSpockOnConsole() {
}
void Room::love0SpockReachedConsole() {
- loadActorAnim2(_roomVar.love.consoleCrewman, _roomVar.love.consoleAnimation, -1, -1, 5);
+ loadActorAnim2(OBJECT_SPOCK, "susemn", -1, -1, 5);
}
void Room::love0SpockAccessedConsole() {
@@ -196,7 +191,7 @@ void Room::love0SpockAccessedConsole() {
love0InteractWithConsole();
else {
showText(TX_SPEAKER_COMPUTER, TX_COMPU188);
- showText(_roomVar.love.consoleSpeaker, _roomVar.love.consoleText);
+ showText(TX_SPEAKER_SPOCK, 5, true);
_roomVar.love.heardSummaryOfVirus = true;
}
}
diff --git a/engines/startrek/rooms/love2.cpp b/engines/startrek/rooms/love2.cpp
index 8419db5c9c..369f4035de 100644
--- a/engines/startrek/rooms/love2.cpp
+++ b/engines/startrek/rooms/love2.cpp
@@ -293,9 +293,7 @@ void Room::love2UseMTricorderAnywhere() {
if (_awayMission->love.knowAboutVirus)
mccoyScan(DIR_S, 8, false, true);
else
- // BUGFIX: should be TX_LOV2_012, but the audio file is missing. Using equivalent
- // audio from another room.
- mccoyScan(DIR_S, TX_LOV1_010, false);
+ mccoyScan(DIR_S, 12, false);
}
void Room::love2UseSTricorderAnywhere() {
diff --git a/engines/startrek/rooms/lovea.cpp b/engines/startrek/rooms/lovea.cpp
index 00c2a1f361..12dc564916 100644
--- a/engines/startrek/rooms/lovea.cpp
+++ b/engines/startrek/rooms/lovea.cpp
@@ -29,33 +29,8 @@ namespace StarTrek {
// Mccoy or Ferris say something under effects of laughing gas
void Room::loveaTimer0Expired() {
- const TextRef ferrisText[] = {
- TX_LOV0_039,
- TX_LOV0_048,
- TX_LOV0_045,
- TX_LOV0_040,
- TX_LOV0_042,
- TX_LOV0_050,
- TX_LOV0_043,
- TX_LOV0_041,
- TX_LOV0_047,
- TX_LOV0_046,
- TX_LOV0_039
- };
-
- const TextRef mccoyText[] = {
- TX_LOV0_011,
- TX_LOV0_020,
- TX_LOV0_016,
- TX_LOV0_012,
- TX_LOV0_014,
- TX_LOV0_022,
- TX_LOV0_015,
- TX_LOV0_021,
- TX_LOV0_013,
- TX_LOV0_019,
- TX_LOV0_017
- };
+ const TextRef ferrisText[] = { 39, 48, 45, 40, 42, 50, 43, 41, 47, 46, 39 };
+ const TextRef mccoyText[] = { 11, 20, 16, 12, 14, 22, 15, 21, 13, 19, 17 };
// BUGFIX: should range from 0-1, not 0-2. Original had "get name errors" when it
// rolled a 2.
@@ -74,16 +49,11 @@ void Room::loveaTimer0Expired() {
randomVal = getRandomWordInRange(0, 10);
- showText(speaker, textTable[randomVal]);
+ showText(speaker, COMMON_MESSAGE_OFFSET + textTable[randomVal], true);
if (!_awayMission->love.releasedRomulanLaughingGas) {
- const int spockText[] = {
- TX_LOV0_029,
- TX_LOV0_033,
- TX_LOV0_026,
- TX_LOV0_124
- };
- showText(TX_SPEAKER_SPOCK, spockText[getRandomWordInRange(0, 3)]);
+ const int spockText[] = { 29, 33, 26, 124 };
+ showText(TX_SPEAKER_SPOCK, COMMON_MESSAGE_OFFSET + spockText[getRandomWordInRange(0, 3)], true);
// BUG(?): This is in an if statement, meaning the human crewmen stop talking from
// laughing gas if Spock is under laughing gas effects. Might be intentional, to
@@ -94,27 +64,16 @@ void Room::loveaTimer0Expired() {
// Spock says something under effects of laughing gas
void Room::loveaTimer1Expired() {
- const int spockText[] = {
- TX_LOV0_025,
- TX_LOV0_101,
- TX_LOV0_102,
- TX_LOV0_103,
- TX_LOV0_104,
- TX_LOV0_105,
- TX_LOV0_106,
- TX_LOV0_107
- };
-
- showText(TX_SPEAKER_SPOCK, spockText[getRandomWordInRange(0, 7)]);
-
+ const int spockText[] = { 25, 101, 102, 103, 104, 105, 106, 107 };
+ showText(TX_SPEAKER_SPOCK, COMMON_MESSAGE_OFFSET + spockText[getRandomWordInRange(0, 7)], true);
_awayMission->timers[1] = getRandomWordInRange(200, 400);
}
void Room::loveaUseMedkitOnSpock() {
if (_awayMission->love.spockCured)
- showText(TX_SPEAKER_MCCOY, TX_LOV5_015);
+ showText(TX_SPEAKER_MCCOY, COMMON_MESSAGE_OFFSET + 15, true);
else
- showText(TX_SPEAKER_MCCOY, TX_LOV5_019);
+ showText(TX_SPEAKER_MCCOY, COMMON_MESSAGE_OFFSET + 19, true);
}
void Room::loveaUseCureSampleOnSpock() {
@@ -128,7 +87,7 @@ void Room::loveaUseCureSampleOnSpock() {
void Room::loveaUseCureOnSpock() {
if (_awayMission->love.spockCured)
- showText(TX_SPEAKER_MCCOY, TX_LOV5_015);
+ showText(TX_SPEAKER_MCCOY, COMMON_MESSAGE_OFFSET + 15, true);
else {
walkCrewman(OBJECT_SPOCK, _roomVar.love.cmnXPosToCureSpock, _roomVar.love.cmnYPosToCureSpock, 99);
walkCrewman(OBJECT_MCCOY, _roomVar.love.cmnXPosToCureSpock, _roomVar.love.cmnYPosToCureSpock + 10, 99);
@@ -142,9 +101,9 @@ void Room::loveaSpockOrMccoyInPositionToUseCure() {
}
void Room::loveaFinishedCuringSpock() {
- showText(TX_SPEAKER_MCCOY, TX_LOV5_030);
- showText(TX_SPEAKER_SPOCK, TX_LOV5_038);
- showText(TX_SPEAKER_MCCOY, TX_LOV5_027);
+ showText(TX_SPEAKER_MCCOY, COMMON_MESSAGE_OFFSET + 30, true);
+ showText(TX_SPEAKER_SPOCK, COMMON_MESSAGE_OFFSET + 38, true);
+ showText(TX_SPEAKER_MCCOY, COMMON_MESSAGE_OFFSET + 27, true);
showText(TX_SPEAKER_SPOCK, TX_LOV5C001);
_awayMission->love.spockCured = true;
}
@@ -195,11 +154,11 @@ void Room::loveaUseMTricorderOnSpock() {
else if (_awayMission->love.spockInfectionCounter < 50)
showText(TX_SPEAKER_MCCOY, TX_LOVA_F08);
else if (_awayMission->love.spockInfectionCounter < 70) // BUGFIX: < 70 instead of == 70
- showText(TX_SPEAKER_MCCOY, TX_TUG2_010);
+ 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);
else
- showText(TX_SPEAKER_MCCOY, TX_LOVA_100);
+ showText(TX_SPEAKER_MCCOY, COMMON_MESSAGE_OFFSET + 100);
}
void Room::loveaUseMTricorderOnHuman() {
@@ -208,7 +167,7 @@ void Room::loveaUseMTricorderOnHuman() {
}
void Room::loveaUseRomulanLaughingGas() {
- showDescription(TX_LOV2N005);
+ showDescription(COMMON_MESSAGE_OFFSET + 2, true);
_awayMission->love.releasedRomulanLaughingGas = true;
loseItem(OBJECT_IRLG);
@@ -217,7 +176,7 @@ void Room::loveaUseRomulanLaughingGas() {
}
void Room::loveaUseHumanLaughingGas() {
- showDescription(TX_LOV2N005);
+ showDescription(COMMON_MESSAGE_OFFSET + 5, true);
showText(TX_SPEAKER_SPOCK, TX_MUD2_040);
_awayMission->love.releasedHumanLaughingGas = true;
loseItem(OBJECT_IN2O);
@@ -228,7 +187,7 @@ void Room::loveaUseHumanLaughingGas() {
}
void Room::loveaUseAmmonia() {
- showDescription(TX_LOV2N005);
+ showDescription(COMMON_MESSAGE_OFFSET + 5, true);
// TODO: redshirt says something in floppy edition only
loseItem(OBJECT_INH3);
}
diff --git a/engines/startrek/rooms/mudd0.cpp b/engines/startrek/rooms/mudd0.cpp
index 9e540d60c9..fca2584f16 100644
--- a/engines/startrek/rooms/mudd0.cpp
+++ b/engines/startrek/rooms/mudd0.cpp
@@ -203,7 +203,7 @@ void Room::mudd0PickedUpLense() {
void Room::mudd0PickedUpItem() {
_awayMission->disableInput = false; // NOTE: this was never set to true
- showDescription(TX_LOV1N007);
+ showDescription(COMMON_MESSAGE_OFFSET + 7, true); // TX_LOV1N007
}
diff --git a/engines/startrek/rooms/tug2.cpp b/engines/startrek/rooms/tug2.cpp
index 3f6241f177..06c5011683 100644
--- a/engines/startrek/rooms/tug2.cpp
+++ b/engines/startrek/rooms/tug2.cpp
@@ -605,7 +605,7 @@ void Room::tug2TalkToSpock() {
}
void Room::tug2UseCommunicator() {
- showText(TX_SPEAKER_SPOCK, TX_TUG1_011);
+ showText(TX_SPEAKER_SPOCK, COMMON_MESSAGE_OFFSET + 11, true);
}
void Room::tug2DetermineElasiShooter() {
diff --git a/engines/startrek/text.cpp b/engines/startrek/text.cpp
index a7c82df337..c62731629b 100644
--- a/engines/startrek/text.cpp
+++ b/engines/startrek/text.cpp
@@ -114,17 +114,6 @@ extern const char *const g_gameStrings[] = {
"#TUG0\\TUG0_S11#Captain, you're alive!",
//"#TUG1\\TUG1_007#The force field is interfering too much to get an accurate reading, Jim.", // TYPO
- "#TUG1\\TUG1_011#I strongly recommend that we keep our silence, Captain. The Elasi are quite capable of tracing any communication from within this vessel.",
-
- "#TUG2\\TUG2_004#A medium strength phaser bomb. The brig force field would contain the explosion but it would kill the crew members within the cell. I recommend that we find a way of disarming it, Captain.",
- "#TUG2\\TUG2_007#Captain, the switch has been booby-trapped to detonate a bomb, presumably inside the brig somewhere.",
- "#TUG2\\TUG2_010#I don't like the looks of this, Jim.",
- "#TUG2\\TUG2_011#I don't operate on bombs, Jim, unless you like big explosions.",
- "#TUG2\\TUG2_015#The crew is tired and has elevated signs from extreme stress, but they will survive.",
- "#TUG2\\TUG2_016#The pirates won't wake for a while, but they are going to be quite unhappy when they do. I recommend that we not be here when they awake.",
- "#TUG2\\TUG2_019#They're all dead, Jim. What in God's name were you thinking?",
- "#TUG2\\TUG2J001#Don't you know any better?",
- "#TUG2\\TUG2J002#What kind of idiot are you?",
"#TUG2\\TUG2J003#I recommend extreme caution, Captain. We must be ready to expect anything.",
"Snip...snip...snip.",
@@ -132,53 +121,6 @@ extern const char *const g_gameStrings[] = {
"#TUG3\\TUG3_S07#Aye, Captain.",
"#TUG3\\TUG3_S08#Aye, Captain.",
- "#LOV0\\LOV0_005#Doctor, you may be interested in the medical data file appended to the log.",
- "#LOV0\\LOV0_011#Hee hee hee hee...",
- "#LOV0\\LOV0_012#I think we're all feeling just woooonderful!",
- "#LOV0\\LOV0_013#I'm a little teapot short and stout...",
- "#LOV0\\LOV0_014#I'm floating up and up and up...",
- "#LOV0\\LOV0_015#I'm so happy, I want to hug the world!",
- "#LOV0\\LOV0_016#Ooka! Ooka! Ooka!",
- "#LOV0\\LOV0_017#Row, row, row, your boat. Aww, come on Spock.",
- "#LOV0\\LOV0_019#Spock, ol' buddy, ol' friend, you look soo funny standing there!",
- "#LOV0\\LOV0_020#The hills are alive... With the sounds of...",
- "#LOV0\\LOV0_021#The moon in June's a boon to tunes... er, something like that.",
- "#LOV0\\LOV0_022#This is how I want to feel all the time!",
- "#LOV0\\LOV0_025#How many Admirals does it take to wire in a logic transmogrifier?",
- "#LOV0\\LOV0_026#I don't believe you'd behave like this if you could avoid it.",
- "#LOV0\\LOV0_029#Please, gentlemen, try to control yourselves",
- "#LOV0\\LOV0_030#That is not logical, Captain.",
- "#LOV0\\LOV0_033#Try taking deep breaths to clear your heads.",
- "#LOV0\\LOV0_039#Hee hee hee hee...",
- "#LOV0\\LOV0_040#I think we're all feeling just woooonderful!",
- "#LOV0\\LOV0_041#I'm a little teapot short and stout...",
- "#LOV0\\LOV0_042#I'm floating up and up and up...",
- "#LOV0\\LOV0_043#I'm so happy, I want to hug the world!",
- "#LOV0\\LOV0_045#Ooka! Ooka! Ooka!",
- "#LOV0\\LOV0_046#Row, row, row, your boat. Aww, come on Spock.",
- "#LOV0\\LOV0_047#Spock, ol' buddy, ol' friend, you look soo funny standing there!",
- "#LOV0\\LOV0_048#The hills are alive... With the sounds of...",
- "#LOV0\\LOV0_050#This is how I want to feel all the time!",
- "#LOV0\\LOV0_101#Fascinating. I am experiencing an urge to laugh.",
- "#LOV0\\LOV0_102#I am a Vulcan. I must resist these unchecked emotions.",
- "#LOV0\\LOV0_103#Logic... What happened to my logic?", // TYPO
- "#LOV0\\LOV0_104#Jim, is this how you feel on shore leave?",
- "#LOV0\\LOV0_105#I remember my mother trying to tell me jokes when I was a child. Now, I finally understand them.",
- "#LOV0\\LOV0_106#Romulan laughing gas. My father would never approve.",
- "#LOV0\\LOV0_107#Why do they call you \"Bones\", doctor?",
- "#LOV0\\LOV0_124#I'm trying to be patient, Captain.",
- "#LOV1\\LOV1_010#I'm picking up some strange, airborne virus. I can't identify it without more information.",
- "#LOV1\\LOV1N007#Done.",
-
- //"#LOV0\\LOV0_103#Logic... What happened to my logic?", // TYPO
- //"#LOV2\\LOV2_034#I don't think that's useful in your experiment, Doctor.", // TYPO (in audio filename)
- //"#LOV2\\LOV2_039#This does not appear to provide us with anything useful.", // TYPO (in audio filename)
- //"#LOV2\\LOV2N010#Lt. Ferris is carefully watching the hallway.", // TYPO
- //"#LOV2\\LOV2N036#You retrieve the Oroborus virus culture.", // TYPO
- //"#LOV2\\LOV2N037#You retrieve the Oroborus virus cure sample.", // TYPO
- //"#LOV3\\LOV3N000#All readings are normal.", // TYPO: audio filename was wrong
- "#LOV2\\LOV2N005#A loud hissing fills the room.",
- "#LOV2\\LOV2N007#Gas feed is off.",
"#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.",
"#LOV3\\LOV3NA20#This is a service access panel, permitting used-up or worn materials to be replaced.",
@@ -186,15 +128,8 @@ extern const char *const g_gameStrings[] = {
"#LOV3\\LOV3NA22#This is an engineering access panel, allowing repairs to be made to the interior wiring in the equipment.",
"#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.",
- "#LOV5\\LOV5_015#He's already cured, Jim.",
- "#LOV5\\LOV5_019#I don't have the proper medicine to cure him, Jim.",
- "#LOV5\\LOV5_027#Finally, a human response!",
- "#LOV5\\LOV5_030#There. You're now cured.",
- "#LOV5\\LOV5_038#Thank you, Doctor.",
"(Raises an eyebrow)", // NOTE: no corresponding audio
-
- "#LOVA\\LOVA_100#He's dead, Jim.",
"#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.",
@@ -205,7 +140,6 @@ extern const char *const g_gameStrings[] = {
"#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_001#Kirk to Enterprise...",
"#MUD0\\MUD0_002#Well! Now I think we know why the Elasi pirates were so interested in finding out where Mudd was getting these!",
"#MUD0\\MUD0_003#Bones, Federation law is clear on this. Federation law protects everyone, even Harry Mudd. ",
diff --git a/engines/startrek/text.h b/engines/startrek/text.h
index dcf76e1762..29ed0181ce 100644
--- a/engines/startrek/text.h
+++ b/engines/startrek/text.h
@@ -172,18 +172,6 @@ enum GameStringIDs {
TX_TUG0_S06,
TX_TUG0_S11,
- TX_TUG1_011,
-
- TX_TUG2_004,
- TX_TUG2_007,
- TX_TUG2_010,
- TX_TUG2_011,
- TX_TUG2_015,
- TX_TUG2_016,
- TX_TUG2_019,
- TX_TUG2J000,
- TX_TUG2J001,
- TX_TUG2J002,
TX_TUG2J003,
TX_TUG2C001, // Custom
@@ -191,45 +179,6 @@ enum GameStringIDs {
TX_TUG3_S07,
TX_TUG3_S08,
- TX_LOV0_005,
- TX_LOV0_011,
- TX_LOV0_012,
- TX_LOV0_013,
- TX_LOV0_014,
- TX_LOV0_015,
- TX_LOV0_016,
- TX_LOV0_017,
- TX_LOV0_019,
- TX_LOV0_020,
- TX_LOV0_021,
- TX_LOV0_022,
- TX_LOV0_025,
- TX_LOV0_026,
- TX_LOV0_029,
- TX_LOV0_030,
- TX_LOV0_033,
- TX_LOV0_039,
- TX_LOV0_040,
- TX_LOV0_041,
- TX_LOV0_042,
- TX_LOV0_043,
- TX_LOV0_045,
- TX_LOV0_046,
- TX_LOV0_047,
- TX_LOV0_048,
- TX_LOV0_050,
- TX_LOV0_101,
- TX_LOV0_102,
- TX_LOV0_103,
- TX_LOV0_104,
- TX_LOV0_105,
- TX_LOV0_106,
- TX_LOV0_107,
- TX_LOV0_124,
- TX_LOV1_010,
- TX_LOV1N007,
- TX_LOV2N005,
- TX_LOV2N007,
TX_LOV3NA08,
TX_LOV3NA09,
TX_LOV3NA20,
@@ -237,14 +186,8 @@ enum GameStringIDs {
TX_LOV3NA22,
TX_LOV3NA23,
TX_LOV3NJ32,
- TX_LOV5_015,
- TX_LOV5_019,
- TX_LOV5_027,
- TX_LOV5_030,
- TX_LOV5_038,
TX_LOV5C001, // Custom
- TX_LOVA_100,
TX_LOVA_F01,
TX_LOVA_F02,
TX_LOVA_F03,
@@ -255,7 +198,6 @@ enum GameStringIDs {
TX_LOVA_F54,
TX_LOVA_F55,
-
TX_MUD0_001,
TX_MUD0_002,
TX_MUD0_003,