[Scummvm-git-logs] scummvm master -> cb3030508eb3820f3e5f7f4ef779871621deb04b

bluegr bluegr at gmail.com
Mon Aug 26 01:46:11 CEST 2019


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
cb3030508e STARTREK: Read most strings for the LOV mission from its RDF files


Commit: cb3030508eb3820f3e5f7f4ef779871621deb04b
    https://github.com/scummvm/scummvm/commit/cb3030508eb3820f3e5f7f4ef779871621deb04b
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-08-26T02:45:33+03:00

Commit Message:
STARTREK: Read most strings for the LOV mission from its RDF files

Changed paths:
    engines/startrek/room.cpp
    engines/startrek/room.h
    engines/startrek/rooms/love0.cpp
    engines/startrek/rooms/love1.cpp
    engines/startrek/rooms/love2.cpp
    engines/startrek/rooms/love3.cpp
    engines/startrek/rooms/love4.cpp
    engines/startrek/rooms/love5.cpp
    engines/startrek/rooms/tug2.cpp
    engines/startrek/text.cpp
    engines/startrek/text.h


diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index 0cffed9..b8bb6ad 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -128,9 +128,10 @@ void Room::loadRoomMessages() {
 	// TODO: There are some more messages which are not stored in that offset
 	uint16 messagesOffset = readRdfWord(32);
 	const char *text = (const char *)_rdfData + messagesOffset;
+	const char roomIndexChar = '0' + _vm->_roomIndex;
 
 	do {
-		while (text[0] != '#' || text[1] != _vm->_missionName[0])
+		while (text[0] != '#' || text[1] != _vm->_missionName[0] && text[4] != roomIndexChar)
 			text++;
 
 		if (text[5] == '\\')
@@ -609,7 +610,7 @@ Common::String Room::getCrewmanAnimFilename(int object, const Common::String &st
 	return _vm->getCrewmanAnimFilename(object, str);
 }
 
-void Room::spockScan(int direction, TextRef text, bool changeDirection) {
+void Room::spockScan(int direction, TextRef text, bool changeDirection, bool fromRDF) {
 	const char *dirs = "nsew";
 	Common::String anim = "sscan_";
 	anim.setChar(dirs[direction], 5);
@@ -621,10 +622,10 @@ void Room::spockScan(int direction, TextRef text, bool changeDirection) {
 	playSoundEffectIndex(SND_TRICORDER);
 
 	if (text != -1)
-		showText(TX_SPEAKER_SPOCK, text);
+		showText(TX_SPEAKER_SPOCK, text, fromRDF);
 }
 
-void Room::mccoyScan(int direction, TextRef text, bool changeDirection) {
+void Room::mccoyScan(int direction, TextRef text, bool changeDirection, bool fromRDF) {
 	const char *dirs = "nsew";
 	Common::String anim = "mscan_";
 	anim.setChar(dirs[direction], 5);
@@ -636,7 +637,7 @@ void Room::mccoyScan(int direction, TextRef text, bool changeDirection) {
 	playSoundEffectIndex(SND_TRICORDER);
 
 	if (text != -1)
-		showText(TX_SPEAKER_MCCOY, text);
+		showText(TX_SPEAKER_MCCOY, text, fromRDF);
 }
 
 } // End of namespace StarTrek
diff --git a/engines/startrek/room.h b/engines/startrek/room.h
index 458f3df..7d7b49b 100644
--- a/engines/startrek/room.h
+++ b/engines/startrek/room.h
@@ -282,8 +282,8 @@ private:
 	 * If "changeDirection" is true, they remain facing that direction even after their
 	 * animation is finished. The game is inconsistent about doing this.
 	 */
-	void spockScan(int direction, TextRef text, bool changeDirection = false);
-	void mccoyScan(int direction, TextRef text, bool changeDirection = false);
+	void spockScan(int direction, TextRef text, bool changeDirection = false, bool fromRDF = false);
+	void mccoyScan(int direction, TextRef text, bool changeDirection = false, bool fromRDF = false);
 
 	// Room-specific code
 public:
diff --git a/engines/startrek/rooms/love0.cpp b/engines/startrek/rooms/love0.cpp
index 38e90d2..323cc68 100644
--- a/engines/startrek/rooms/love0.cpp
+++ b/engines/startrek/rooms/love0.cpp
@@ -98,79 +98,79 @@ void Room::love0ReachedDoor1() {
 }
 
 void Room::love0LookAtConsole() {
-	showDescription(TX_LOV0N006);
+	showDescription(6, true);
 }
 
 void Room::love0LookAtViewscreen() {
-	showDescription(TX_LOV0N000);
+	showDescription(0, true);
 }
 
 void Room::love0LookAnywhere() {
-	showDescription(TX_LOV0N009);
+	showDescription(9, true);
 }
 
 void Room::love0LookAtDoor1() {
-	showDescription(TX_LOV0N008);
+	showDescription(8, true);
 }
 
 void Room::love0LookAtDoor2() {
-	showDescription(TX_LOV0N007);
+	showDescription(7, true);
 }
 
 void Room::love0LookAtKirk() {
-	showDescription(TX_LOV0N002);
+	showDescription(2, true);
 }
 
 void Room::love0LookAtMccoy() {
-	showDescription(TX_LOV0N004);
+	showDescription(4, true);
 }
 
 void Room::love0LookAtSpock() {
-	showDescription(TX_LOV0N005);
+	showDescription(5, true);
 }
 
 void Room::love0LookAtRedshirt() {
-	showDescription(TX_LOV0N003);
+	showDescription(3, true);
 }
 
 void Room::love0TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_LOV0_003);
+	showText(TX_SPEAKER_KIRK, 3, true);
 }
 
 void Room::love0TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV0_007);
+	showText(TX_SPEAKER_MCCOY, 7, true);
 }
 
 void Room::love0TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_LOV0_027);
+	showText(TX_SPEAKER_SPOCK, 27, true);
 }
 
 void Room::love0TalkToRedshirt() {
-	showText(TX_SPEAKER_FERRIS, TX_LOV0_038);
+	showText(TX_SPEAKER_FERRIS, 38, true);
 }
 
 void Room::love0UseMTricorderAnywhere() {
 	if (_awayMission->love.knowAboutVirus)
-		mccoyScan(DIR_N, TX_LOV0_008, false);
+		mccoyScan(DIR_N, 8, false, true);
 	else
-		mccoyScan(DIR_N, TX_LOV0_006, false);
+		mccoyScan(DIR_N, 6, false, true);
 }
 
 void Room::love0UseSTricorderOnConsole() {
-	spockScan(DIR_N, TX_LOV0_031, false);
+	spockScan(DIR_N, 31, false, true);
 }
 
 void Room::love0UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_LOV0_028, false);
+	spockScan(DIR_S, 28, false, true);
 }
 
 void Room::love0UseKirkOnConsole() {
-	showText(TX_SPEAKER_KIRK, TX_LOV0_002);
+	showText(TX_SPEAKER_KIRK, 2, true);
 	love0UseSpockOnConsole();
 }
 
 void Room::love0UseRedshirtOnConsole() {
-	showText(TX_SPEAKER_FERRIS, TX_LOV0_036);
+	showText(TX_SPEAKER_FERRIS, 36, true);
 }
 
 void Room::love0UseSpockOnConsole() {
@@ -223,11 +223,11 @@ void Room::love0MccoyAccessedConsole() {
 			showText(TX_SPEAKER_COMPUTER, TX_COMPU188);
 			_roomVar.love.heardSummaryOfVirus = true;
 		}
-		showText(TX_SPEAKER_MCCOY, TX_LOV0_024);
-		showText(TX_SPEAKER_SPOCK, TX_LOV0_035);
-		showText(TX_SPEAKER_MCCOY, TX_LOV0_023);
-		showText(TX_SPEAKER_KIRK,  TX_LOV0_004);
-		showText(TX_SPEAKER_MCCOY, TX_LOV0_009);
+		showText(TX_SPEAKER_MCCOY, 24, true);
+		showText(TX_SPEAKER_SPOCK, 35, true);
+		showText(TX_SPEAKER_MCCOY, 23, true);
+		showText(TX_SPEAKER_KIRK,  4, true);
+		showText(TX_SPEAKER_MCCOY, 9, true);
 		_awayMission->love.knowAboutVirus = true;
 	}
 }
@@ -278,7 +278,7 @@ void Room::love0GetDoorOrConsole() {
 	// BUGFIX: There was a problem with "get door 1" where it would execute a bit of
 	// non-code before reaching where it was supposed to be. Not sure if it had any actual
 	// effect.
-	showDescription(TX_LOV0N001);
+	showDescription(1, true);
 
 	// NOTE: There is an unused block of code that's jumped over in the "get door 2"
 	// function. (Spock says "that's not logical".)
diff --git a/engines/startrek/rooms/love1.cpp b/engines/startrek/rooms/love1.cpp
index aba4846..25d0785 100644
--- a/engines/startrek/rooms/love1.cpp
+++ b/engines/startrek/rooms/love1.cpp
@@ -158,122 +158,122 @@ void Room::love1ReachedDoor2() {
 }
 
 void Room::love1LookAtLaser() {
-	showDescription(TX_LOV1N000);
+	showDescription(0, true);
 }
 
 void Room::love1LookAtKirk() {
-	showDescription(TX_LOV1N003);
+	showDescription(3, true);
 }
 
 void Room::love1LookAtSpock() {
-	showDescription(TX_LOV1N004);
+	showDescription(4, true);
 }
 
 void Room::love1LookAtMccoy() {
-	showDescription(TX_LOV1N001);
+	showDescription(1, true);
 }
 
 void Room::love1LookAtRedshirt() {
-	showDescription(TX_LOV1N002);
+	showDescription(2, true);
 }
 
 void Room::love1LookAnywhere() {
-	showDescription(TX_LOV1N019);
+	showDescription(19, true);
 }
 
 void Room::love1LookAtNozzle() {
-	showDescription(TX_LOV1N022);
+	showDescription(22, true);
 }
 
 void Room::love1LookAtLadder() {
-	showDescription(TX_LOV1N021);
+	showDescription(21, true);
 }
 
 void Room::love1LookAtDoor1Or2() {
-	showDescription(TX_LOV1N020);
+	showDescription(20, true);
 }
 
 void Room::love1LookAtDoor3() {
-	showDescription(TX_LOV1N017);
+	showDescription(17, true);
 }
 
 void Room::love1LookAtDistillator() {
-	showDescription(TX_LOV1N016);
+	showDescription(16, true);
 }
 
 void Room::love1LookAtChamber() {
 	if (_awayMission->love.chamberHasCure)
-		showDescription(TX_LOV1N013);
+		showDescription(13, true);
 	else
-		showDescription(TX_LOV1N014);
+		showDescription(14, true);
 }
 
 void Room::love1LookAtReplicator() {
-	showDescription(TX_LOV1N015);
+	showDescription(15, true);
 }
 
 void Room::love1LookAtFreezer() {
 	if (_awayMission->love.freezerOpen)
-		showDescription(TX_LOV1N023);
+		showDescription(23, true);
 	else
-		showDescription(TX_LOV1N018);
+		showDescription(18, true);
 }
 
 void Room::love1LookAtDishes() {
-	showDescription(TX_LOV1N012);
+	showDescription(12, true);
 }
 
 void Room::love1TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_LOV1_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 }
 
 void Room::love1TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_LOV1_005);
+	showText(TX_SPEAKER_SPOCK, 5, true);
 }
 
 void Room::love1TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV1_011);
+	showText(TX_SPEAKER_MCCOY, 11, true);
 }
 
 void Room::love1TalkToRedshirt() {
-	showText(TX_SPEAKER_FERRIS, TX_LOV1_027);
+	showText(TX_SPEAKER_FERRIS, 27, true);
 }
 
 void Room::love1UseMTricorderOnDishes() {
-	mccoyScan(DIR_W, TX_LOV1_017, false);
+	mccoyScan(DIR_W, 17, false, true);
 	// TODO: only works in this room, despite being inventory item?
 }
 
 void Room::love1UseMTricorderAnywhere() {
 	if (_awayMission->love.knowAboutVirus)
-		mccoyScan(DIR_S, TX_LOV1_009, false);
+		mccoyScan(DIR_S, 9, false, true);
 	else
-		mccoyScan(DIR_S, TX_LOV1_010, false);
+		mccoyScan(DIR_S, 10, false, true);
 }
 
 void Room::love1UseSTricorderOnReplicator() {
-	spockScan(DIR_N, TX_LOV1_022, false);
+	spockScan(DIR_N, 22, false, true);
 }
 
 void Room::love1UseSTricorderOnLaser() {
-	spockScan(DIR_E, TX_LOV1_006, false);
+	spockScan(DIR_E, 6, false, true);
 }
 
 void Room::love1UseSTricorderOnFreezer() {
-	spockScan(DIR_W, TX_LOV1_023, false);
+	spockScan(DIR_W, 23, false, true);
 }
 
 void Room::love1UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_LOV1_003, false);
+	spockScan(DIR_S, 3, false, true);
 }
 
 void Room::love1UseSTricorderOnDishes() {
-	spockScan(DIR_W, TX_LOV1_004, false);
+	spockScan(DIR_W, 4, false, true);
 	// TODO: only works in this room, despite being inventory item?
 }
 
 void Room::love1UseSTricorderOnDistillator() {
-	spockScan(DIR_S, TX_LOV1_007, false);
+	spockScan(DIR_S, 7, false, true);
 }
 
 void Room::love1GetFreezer() {
@@ -284,17 +284,17 @@ void Room::love1KirkReachedFreezer() {
 	if (_awayMission->love.freezerOpen)
 		loadActorAnim2(OBJECT_KIRK, "kusehw", -1, -1, 9);
 	else
-		showDescription(TX_LOV1N010);
+		showDescription(10, true);
 }
 
 void Room::love1KirkGotVirusCulture() {
 	giveItem(OBJECT_IDISHES);
-	showDescription(TX_LOV1N006);
+	showDescription(6, true);
 }
 
 void Room::love1GetFromChamber() {
 	if (!_awayMission->love.chamberHasDish)
-		showDescription(TX_LOV1N009);
+		showDescription(9, true);
 	else
 		walkCrewman(OBJECT_KIRK, 0xb5, 0x8c, 8);
 }
@@ -306,14 +306,14 @@ void Room::love1KirkReachedChamber() {
 void Room::love1KirkGotCureSample() {
 	if (_awayMission->love.chamberHasCure) {
 		giveItem(OBJECT_ISAMPLE);
-		showDescription(TX_LOV1N035);
+		showDescription(35, true);
 
 		// BUGFIX: after removing the cure, unset this variable.
 		// Otherwise, any normal dish inserted afterward automagically becomes a cure.
 		_awayMission->love.chamberHasCure = false;
 	} else {
 		giveItem(OBJECT_IDISHES);
-		showDescription(TX_LOV1N006);
+		showDescription(6, true);
 	}
 
 	loadActorStandAnim(OBJECT_DISH_IN_CHAMBER);
@@ -328,7 +328,7 @@ void Room::love1GetFromNozzle() {
 
 void Room::love1KirkReachedNozzleToGet() {
 	if (_awayMission->love.bottleInNozzle == 0)
-		showDescription(TX_LOV1N011);
+		showDescription(11, true);
 	else
 		loadActorAnim2(OBJECT_KIRK, "kusemn", -1, -1, 11);
 }
@@ -354,7 +354,7 @@ void Room::love1KirkGotBottleFromNozzle() {
 
 	_awayMission->love.bottleInNozzle = BOTTLETYPE_NONE;
 	loadActorStandAnim(OBJECT_BOTTLE);
-	showDescription(TX_LOV1N007);
+	showDescription(7, true);
 	_roomVar.love.itemInNozzle = 0;
 }
 
@@ -404,15 +404,15 @@ void Room::love1KirkPutBottleInNozzle() {
 }
 
 void Room::love1UseAnthingOnNozzle() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV1_012);
+	showText(TX_SPEAKER_MCCOY, 12, true);
 }
 
 void Room::love1UseSpockOnReplicator() {
-	showText(TX_SPEAKER_SPOCK, TX_LOV1_002);
+	showText(TX_SPEAKER_SPOCK, 2, true);
 }
 
 void Room::love1UseRedshirtOnReplicator() {
-	showText(TX_SPEAKER_FERRIS, TX_LOV1_026);
+	showText(TX_SPEAKER_FERRIS, 26, true);
 }
 
 void Room::love1UseMccoyOnReplicator() {
@@ -421,10 +421,10 @@ void Room::love1UseMccoyOnReplicator() {
 
 void Room::love1MccoyReachedReplicator() {
 	if (_awayMission->love.bottleInNozzle == BOTTLETYPE_NONE) {
-		showText(TX_SPEAKER_MCCOY, TX_LOV1_021);
+		showText(TX_SPEAKER_MCCOY, 21, true);
 		walkCrewman(OBJECT_MCCOY, 0xbf, 0x98, 0);
 	} else if (!_awayMission->love.chamberHasDish) {
-		showText(TX_SPEAKER_MCCOY, TX_LOV1_015);
+		showText(TX_SPEAKER_MCCOY, 15, true);
 		walkCrewman(OBJECT_MCCOY, 0xbf, 0x98, 0);
 	} else
 		loadActorAnim2(OBJECT_MCCOY, "musehn", -1, -1, 13);
@@ -437,7 +437,7 @@ void Room::love1MccoyUsedReplicator() {
 		playSoundEffectIndex(SND_DOOR1);
 		walkCrewman(OBJECT_MCCOY, 0xbf, 0x98, 0);
 	} else {
-		showText(TX_SPEAKER_MCCOY, TX_LOV1_019);
+		showText(TX_SPEAKER_MCCOY, 19, true);
 		walkCrewman(OBJECT_MCCOY, 0xbf, 0x98, 0);
 	}
 }
@@ -449,12 +449,12 @@ void Room::love1ChamberClosed() {
 
 void Room::love1ChamberOpened() {
 	loadActorAnim(OBJECT_DISH_IN_CHAMBER, "dishes", 0xb4, 0x71, 0);
-	showText(TX_SPEAKER_MCCOY, TX_LOV1_018);
+	showText(TX_SPEAKER_MCCOY, 18, true);
 	_awayMission->love.chamberHasCure = true;
 }
 
 void Room::love1UseAnythingOnChamber() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV1_013);
+	showText(TX_SPEAKER_MCCOY, 13, true);
 }
 
 void Room::love1UseDishesOnChamber() {
@@ -463,7 +463,7 @@ void Room::love1UseDishesOnChamber() {
 
 void Room::love1KirkReachedChamberToPut() {
 	if (_awayMission->love.chamberHasDish)
-		showText(TX_SPEAKER_MCCOY, TX_LOV1_014); // TODO: test
+		showText(TX_SPEAKER_MCCOY, 14, true); // TODO: test
 	else {
 		loadActorAnim(OBJECT_CHAMBER, "s3r2d5", 0xb4, 0x75, 1);
 		playSoundEffectIndex(SND_DOOR1);
@@ -491,7 +491,7 @@ void Room::love1KirkReachedDistillator() {
 
 void Room::love1KirkGotPolyberylcarbonate() {
 	// Result of using insulation on distillator
-	showDescription(TX_LOV1N034);
+	showDescription(34, true);
 	if (!_awayMission->love.gotPolyberylcarbonate) {
 		_awayMission->love.gotPolyberylcarbonate = true;
 		_awayMission->love.missionScore++;
@@ -561,7 +561,7 @@ void Room::love1ReachedFreezerWithArbitraryItem() {
 }
 
 void Room::love1FinishedUsingArbitraryItemOnFreezer() {
-	showDescription(TX_LOV1N008);
+	showDescription(8, true);
 }
 
 void Room::love1UseAnythingOnReplicator() {
@@ -573,7 +573,7 @@ void Room::love1ReachedReplicatorWithArbitraryItem() {
 }
 
 void Room::love1FinishedUsingArbitraryItemOnReplicator() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV1_016);
+	showText(TX_SPEAKER_MCCOY, 16, true);
 }
 
 void Room::love1UseAnythingOnDistillator() {
@@ -585,7 +585,7 @@ void Room::love1ReachedDistillatorWithArbitraryItem() {
 }
 
 void Room::love1FinishedUsingArbitraryItemOnDistillator() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV1_008);
+	showText(TX_SPEAKER_MCCOY, 8, true);
 }
 
 void Room::love1UseKirkOnLadder() {
@@ -639,10 +639,10 @@ void Room::love1CrewmanReachedLadder() {
 void Room::love1CrewmanDiedFromPhaser() {
 	if (_roomVar.love.crewmanUsingDevice == OBJECT_REDSHIRT) {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_FERRIS, TX_LOV1_024);
+		showText(TX_SPEAKER_FERRIS, 24, true);
 		_awayMission->redshirtDead = true;
 	} else {
-		showText(_roomVar.love.dyingSpeaker, TX_LOV1_025);
+		showText(_roomVar.love.dyingSpeaker, 25, true);
 		showGameOverMenu();
 	}
 }
@@ -654,7 +654,7 @@ void Room::love1TouchedHotspot0() {
 	loadActorAnim(OBJECT_PHASERSHOT, "s3r2s1", 0xf3, 0x89, 0);
 	playSoundEffectIndex(SND_PHASSHOT);
 	if (!_awayMission->redshirtDead)
-		showText(TX_SPEAKER_FERRIS, TX_LOV1_028);
+		showText(TX_SPEAKER_FERRIS, 28, true);
 }
 
 }
diff --git a/engines/startrek/rooms/love2.cpp b/engines/startrek/rooms/love2.cpp
index b4cbb33..8419db5 100644
--- a/engines/startrek/rooms/love2.cpp
+++ b/engines/startrek/rooms/love2.cpp
@@ -195,65 +195,65 @@ void Room::love2DoorReachedOrOpened() {
 }
 
 void Room::love2LookAtCabinet() {
-	showDescription(TX_LOV2N027);
+	showDescription(27, true);
 }
 
 void Room::love2LookAtDoor() {
-	showDescription(TX_LOV2N001);
+	showDescription(1, true);
 }
 
 void Room::love2LookAtSynthesizer() {
-	showDescription(TX_LOV2N028);
+	showDescription(28, true);
 }
 
 void Room::love2LookAtAnywhere() {
-	showDescription(TX_LOV2N026);
+	showDescription(26, true);
 }
 
 void Room::love2LookAtAntigrav() {
-	showDescription(TX_LOV2N006);
+	showDescription(6, true);
 }
 
 void Room::love2LookAtMccoy() {
-	showDescription(TX_LOV2N011);
+	showDescription(11, true);
 }
 
 void Room::love2LookAtSpock() {
-	showDescription(TX_LOV2N014);
+	showDescription(14, true);
 }
 
 void Room::love2LookAtRedshirt() {
-	showDescription(TX_LOV2N010);
+	showDescription(10, true);
 }
 
 void Room::love2LookAtKirk() {
-	showDescription(TX_LOV2N009);
+	showDescription(9, true);
 }
 
 void Room::love2LookAtArdak() {
-	showDescription(TX_LOV2N045);
-	showText(TX_SPEAKER_SPOCK, TX_LOV2_037);
+	showDescription(45, true);
+	showText(TX_SPEAKER_SPOCK, 37, true);
 }
 
 void Room::love2LookAtChamber() {
-	showDescription(TX_LOV2N029);
-	showText(TX_SPEAKER_SPOCK, TX_LOV2_035);
-	showText(TX_SPEAKER_MCCOY, TX_LOV2_019);
-	showText(TX_SPEAKER_SPOCK, TX_LOV2_033);
-	showText(TX_SPEAKER_MCCOY, TX_LOV2_016);
+	showDescription(29, true);
+	showText(TX_SPEAKER_SPOCK, 35, true);
+	showText(TX_SPEAKER_MCCOY, 19, true);
+	showText(TX_SPEAKER_SPOCK, 33, true);
+	showText(TX_SPEAKER_MCCOY, 16, true);
 }
 
 void Room::love2LookAtCan1() {
 	switch (_awayMission->love.canister1) {
 	case CANTYPE_O2:
-		showDescription(TX_LOV2N004);
+		showDescription(4, true);
 		break;
 	case CANTYPE_H2:
-		showDescription(TX_LOV2N002);
+		showDescription(2, true);
 		break;
 	case CANTYPE_N2:
 	default:
-		showDescription(TX_LOV2N003);
+		showDescription(3, true);
 		break;
 	}
 }
@@ -261,37 +261,37 @@ void Room::love2LookAtCan1() {
 void Room::love2LookAtCan2() {
 	switch (_awayMission->love.canister2) {
 	case CANTYPE_O2:
-		showDescription(TX_LOV2N004);
+		showDescription(4, true);
 		break;
 	case CANTYPE_H2:
-		showDescription(TX_LOV2N002);
+		showDescription(2, true);
 		break;
 	case CANTYPE_N2:
 	default:
-		showDescription(TX_LOV2N003);
+		showDescription(3, true);
 		break;
 	}
 }
 
 void Room::love2TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_LOV2_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 }
 
 void Room::love2TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_LOV2_029);
+	showText(TX_SPEAKER_SPOCK, 29, true);
 }
 
 void Room::love2TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV2_009);
+	showText(TX_SPEAKER_MCCOY, 9, true);
 }
 
 void Room::love2TalkToRedshirt() {
-	showText(TX_SPEAKER_FERRIS, TX_LOV2_041);
+	showText(TX_SPEAKER_FERRIS, 41, true);
 }
 
 void Room::love2UseMTricorderAnywhere() {
 	if (_awayMission->love.knowAboutVirus)
-		mccoyScan(DIR_S, TX_LOV2_008, false);
+		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.
@@ -299,7 +299,7 @@ void Room::love2UseMTricorderAnywhere() {
 }
 
 void Room::love2UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_LOV2_027, false);
+	spockScan(DIR_S, 27, false, true);
 }
 
 void Room::love2UseKirkOnCabinet() {
@@ -359,11 +359,11 @@ void Room::love2ChangedGasFeed() {
 	if (_awayMission->love.gasFeedOn) {
 		_awayMission->love.gasFeedOn = false;
 		loadActorAnim2(OBJECT_GAS_FEED, "s3r3v2", 0xac, 0x75, 0);
-		showDescription(TX_LOV2N007);
+		showDescription(7, true);
 	} else {
 		_awayMission->love.gasFeedOn = true;
 		loadActorAnim2(OBJECT_GAS_FEED, "s3r3v1", 0xac, 0x75, 0);
-		showDescription(TX_LOV2N008);
+		showDescription(8, true);
 	}
 }
 
@@ -390,14 +390,14 @@ void Room::love2UseN2GasOnCanisterSlot() {
 
 void Room::love2ReachedCanisterSlot() {
 	if (_awayMission->love.gasFeedOn)
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_026);
+		showText(TX_SPEAKER_SPOCK, 26, true);
 	else {
 		if (_awayMission->love.canister1 == CANTYPE_NONE)
 			loadActorAnim2(OBJECT_KIRK, "kusehn", -1, -1, 13);
 		else if (_awayMission->love.canister2 == CANTYPE_NONE)
 			loadActorAnim2(OBJECT_KIRK, "kusehn", -1, -1, 14);
 		else
-			showDescription(TX_LOV2N024);
+			showDescription(24, true);
 	}
 }
 
@@ -405,7 +405,7 @@ void Room::love2PutCanisterInSlot1() {
 	playVoc("SE6FOOD");
 	loadActorAnim(OBJECT_CAN1, _roomVar.love.canisterAnim, 0xa7, 0xae, 0);
 	_awayMission->love.canister1 = _roomVar.love.canisterType;
-	showDescription(TX_LOV2N034);
+	showDescription(34, true);
 	loseItem(_roomVar.love.canisterItem);
 }
 
@@ -413,7 +413,7 @@ void Room::love2PutCanisterInSlot2() {
 	playVoc("SE6FOOD");
 	loadActorAnim(OBJECT_CAN2, _roomVar.love.canisterAnim, 0xb1, 0xaf, 0);
 	_awayMission->love.canister2 = _roomVar.love.canisterType;
-	showDescription(TX_LOV2N035);
+	showDescription(35, true);
 	loseItem(_roomVar.love.canisterItem);
 }
 
@@ -423,7 +423,7 @@ void Room::love2UseAntigravOnCanister1() {
 
 void Room::love2ReachedCanisterSlot1ToGet() {
 	if (_awayMission->love.gasFeedOn)
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_025);
+		showText(TX_SPEAKER_SPOCK, 25, true);
 	else {
 		loadActorAnim2(OBJECT_KIRK, "kusehn", -1, -1, 15);
 		// BUGFIX: original game only played this for canister 2
@@ -432,7 +432,7 @@ void Room::love2ReachedCanisterSlot1ToGet() {
 }
 
 void Room::love2TookCanister1() {
-	showDescription(TX_LOV2N030);
+	showDescription(30, true);
 	loadActorStandAnim(OBJECT_CAN1);
 
 	switch (_awayMission->love.canister1) {
@@ -457,7 +457,7 @@ void Room::love2UseAntigravOnCanister2() {
 
 void Room::love2ReachedCanisterSlot2ToGet() {
 	if (_awayMission->love.gasFeedOn)
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_025);
+		showText(TX_SPEAKER_SPOCK, 25, true);
 	else {
 		loadActorAnim2(OBJECT_KIRK, "kusehn", -1, -1, 16);
 		playVoc("SE3PLBAT");
@@ -465,7 +465,7 @@ void Room::love2ReachedCanisterSlot2ToGet() {
 }
 
 void Room::love2TookCanister2() {
-	showDescription(TX_LOV2N031);
+	showDescription(31, true);
 	loadActorStandAnim(OBJECT_CAN2);
 
 	switch (_awayMission->love.canister2) {
@@ -515,13 +515,13 @@ void Room::love2CrewmanUsedSynthesizer() {
 	} else {
 		if (_roomVar.love.cb == 3) {
 			if (haveItem(OBJECT_IWRENCH)) {
-				showText(TX_SPEAKER_SPOCK, TX_LOV2_005);
+				showText(TX_SPEAKER_SPOCK, 5, true);
 				walkCrewman(OBJECT_SPOCK, 0xa8, 0xb7, 16);
 			} else
-				showText(TX_SPEAKER_SPOCK, TX_LOV2_006);
+				showText(TX_SPEAKER_SPOCK, 6, true);
 		} else {
 			_roomVar.love.cb++;
-			showDescription(TX_LOV2N012);
+			showDescription(12, true);
 		}
 	}
 }
@@ -535,7 +535,7 @@ void Room::love2SpockEnabledGasFeeds() {
 	_awayMission->love.gasFeedOn = true;
 
 	loadActorAnim2(OBJECT_GAS_FEED, "s3r3v1", 0xac, 0x75, 0);
-	showDescription(TX_LOV2N008);
+	showDescription(8, true);
 	walkCrewman(OBJECT_SPOCK, 0xc6, 0xbb, 0);
 
 	love2UseSynthesizer();
@@ -562,21 +562,21 @@ void Room::love2UseSynthesizer() {
 					break;
 
 				case SYNTHITEM_VIRUS_SAMPLE: // Wet goo
-					showDescription(TX_LOV2N051);
-					showText(TX_SPEAKER_KIRK, TX_LOV2_002);
+					showDescription(51, true);
+					showText(TX_SPEAKER_KIRK, 2, true);
 					loadActorStandAnim(OBJECT_VIRUSSAMPLE);
 					goto closeSynthesizerDoor;
 
 				case SYNTHITEM_CURE_SAMPLE: // Wet goo
 wetGooFailure:
-					showDescription(TX_LOV2N050);
-					showText(TX_SPEAKER_MCCOY, TX_LOV2_021);
+					showDescription(50, true);
+					showText(TX_SPEAKER_MCCOY, 21, true);
 					loadActorStandAnim(OBJECT_CURESAMPLE);
 					goto closeSynthesizerDoor;
 
 				case SYNTHITEM_BOTTLE: // Nothing happens
 bottleFailure:
-					showText(TX_SPEAKER_SPOCK, TX_LOV2_028);
+					showText(TX_SPEAKER_SPOCK, 28, true);
 					break;
 
 				case SYNTHITEM_NONE: // Water
@@ -598,15 +598,15 @@ closeSynthesizerDoor:
 				switch (_awayMission->love.synthesizerContents) {
 				case SYNTHITEM_PBC: // Inert matter
 inertMatterFailure:
-					showDescription(TX_LOV2N049);
-					showText(TX_SPEAKER_SPOCK, TX_LOV2_039); // BUGFIX: original didn't play audio
+					showDescription(49, true);
+					showText(TX_SPEAKER_SPOCK, 39, true); // BUGFIX: original didn't play audio
 					loadActorStandAnim(OBJECT_POLYBERYLCARBONATE);
 					goto closeSynthesizerDoor;
 
 				case SYNTHITEM_VIRUS_SAMPLE: // Colorless goo (with useful information about virus in ammonia)
-					showDescription(TX_LOV2N048);
-					showText(TX_SPEAKER_SPOCK, TX_LOV2_034); // BUGFIX: original didn't play audio
-					showText(TX_SPEAKER_MCCOY, TX_LOV2_023);
+					showDescription(48, true);
+					showText(TX_SPEAKER_SPOCK, 34, true); // BUGFIX: original didn't play audio
+					showText(TX_SPEAKER_MCCOY, 23, true);
 					loadActorStandAnim(OBJECT_VIRUSSAMPLE);
 					goto closeSynthesizerDoor;
 
@@ -631,8 +631,8 @@ inertMatterFailure:
 					goto inertMatterFailure;
 
 				case SYNTHITEM_VIRUS_SAMPLE: // Wet goo
-					showDescription(TX_LOV2N047);
-					showText(TX_SPEAKER_MCCOY, TX_LOV2_017);
+					showDescription(47, true);
+					showText(TX_SPEAKER_MCCOY, 17, true);
 					loadActorStandAnim(OBJECT_VIRUSSAMPLE);
 					goto closeSynthesizerDoor;
 
@@ -651,13 +651,13 @@ inertMatterFailure:
 			}
 		} else {
 			playVoc("EFX24");
-			showDescription(TX_LOV2N005);
-			showText(TX_SPEAKER_MCCOY, TX_LOV2_010);
+			showDescription(5, true);
+			showText(TX_SPEAKER_MCCOY, 10, true);
 		}
 	} else {
 		playVoc("EFX24");
-		showDescription(TX_LOV2N005);
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_024);
+		showDescription(5, true);
+		showText(TX_SPEAKER_SPOCK, 24, true);
 	}
 }
 
@@ -671,33 +671,33 @@ void Room::love2SynthesizerDoorClosed() {
 void Room::love2SynthesizerFinished() {
 	switch (_awayMission->love.synthesizerBottleIndex) {
 	case BOTTLETYPE_N2O:
-		showDescription(TX_LOV2N017);
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_032);
-		showText(TX_SPEAKER_MCCOY, TX_LOV2_015);
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_036);
+		showDescription(17, true);
+		showText(TX_SPEAKER_SPOCK, 32);
+		showText(TX_SPEAKER_MCCOY, 15);
+		showText(TX_SPEAKER_SPOCK, 36);
 		break;
 
 	case BOTTLETYPE_NH3:
-		showDescription(TX_LOV2N016);
+		showDescription(16, true);
 		if (!_awayMission->redshirtDead) {
-			showText(TX_SPEAKER_FERRIS, TX_LOV2_043);
-			showText(TX_SPEAKER_KIRK, TX_LOV2_003);
+			showText(TX_SPEAKER_FERRIS, 43, true);
+			showText(TX_SPEAKER_KIRK, 3, true);
 		}
 		break;
 
 	case BOTTLETYPE_H2O:
-		showDescription(TX_LOV2N018);
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_004);
+		showDescription(18, true);
+		showText(TX_SPEAKER_SPOCK, 4, true);
 		break;
 
 	case BOTTLETYPE_RLG:
 	default:
-		showDescription(TX_LOV2N019);
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_031);
-		showText(TX_SPEAKER_MCCOY, TX_LOV2_018);
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_030);
-		showText(TX_SPEAKER_MCCOY, TX_LOV2_022);
-		showText(TX_SPEAKER_SPOCK, TX_LOV2_038);
+		showDescription(19, true);
+		showText(TX_SPEAKER_SPOCK, 31, true);
+		showText(TX_SPEAKER_MCCOY, 18, true);
+		showText(TX_SPEAKER_SPOCK, 30, true);
+		showText(TX_SPEAKER_MCCOY, 22, true);
+		showText(TX_SPEAKER_SPOCK, 38, true);
 		break;
 	}
 }
@@ -719,8 +719,8 @@ void Room::love2CureStartedSynthesizing() {
 }
 
 void Room::love2CureSynthesized() {
-	showDescription(TX_LOV2N046);
-	showText(TX_SPEAKER_MCCOY, TX_LOV2_020);
+	showDescription(46, true);
+	showText(TX_SPEAKER_MCCOY, 20, true);
 }
 
 
@@ -732,7 +732,7 @@ void Room::love2UsePolyberylcarbonateOnSynthesizerDoor() {
 
 void Room::love2KirkReachedSynthesizerWithPolyberylcarbonate() {
 	if (_awayMission->love.synthesizerContents != 0)
-		showDescription(TX_LOV2N025);
+		showDescription(25, true);
 	else {
 		loadActorAnim(OBJECT_SYNTHESIZER_DOOR, "s3r3d2", 0x8a, 0x8d, 5);
 		playSoundEffectIndex(SND_DOOR1);
@@ -758,7 +758,7 @@ void Room::love2UseVirusSampleOnSynthesizerDoor() {
 
 void Room::love2KirkReachedSynthesizerWithVirusSample() {
 	if (_awayMission->love.synthesizerContents != 0)
-		showDescription(TX_LOV2N025);
+		showDescription(25, true);
 	else {
 		loadActorAnim(OBJECT_SYNTHESIZER_DOOR, "s3r3d2", 0x8a, 0x8d, 6);
 		playSoundEffectIndex(SND_DOOR1);
@@ -784,7 +784,7 @@ void Room::love2UseCureSampleOnSynthesizerDoor() {
 
 void Room::love2KirkReachedSynthesizerWithCureSample() {
 	if (_awayMission->love.synthesizerContents != 0)
-		showDescription(TX_LOV2N025); // BUGFIX: original didn't play audio
+		showDescription(25, true); // BUGFIX: original didn't play audio
 	else {
 		loadActorAnim(OBJECT_SYNTHESIZER_DOOR, "s3r3d2", 0x8a, 0x8d, 7);
 		playSoundEffectIndex(SND_DOOR1);
@@ -804,18 +804,18 @@ void Room::love2PutCureSampleInSynthesizer() {
 
 
 void Room::love2UseAnythingOnSynthesizerDoor() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV2_014);
+	showText(TX_SPEAKER_MCCOY, 14, true);
 }
 
 void Room::love2UseAnythingOnSynthesizer() {
-	showText(TX_SPEAKER_SPOCK, TX_LOV2_007);
+	showText(TX_SPEAKER_SPOCK, 7, true);
 }
 
 void Room::love2GetCanister() {
 	if (_awayMission->redshirtDead)
-		showText(TX_SPEAKER_MCCOY, TX_LOV2_011);
+		showText(TX_SPEAKER_MCCOY, 11, true);
 	else
-		showText(TX_SPEAKER_FERRIS, TX_LOV2_040);
+		showText(TX_SPEAKER_FERRIS, 40, true);
 }
 
 
@@ -831,7 +831,7 @@ void Room::love2ReachedAntigrav() {
 void Room::love2GotAntigrav() {
 	loadActorStandAnim(OBJECT_ANTIGRAV);
 	giveItem(OBJECT_IANTIGRA);
-	showDescription(TX_LOV2N042);
+	showDescription(42, true);
 }
 
 
@@ -847,7 +847,7 @@ void Room::love2ReachedPolyberylcarbonate() {
 
 void Room::love2GotPolyberylcarbonate() {
 	loadActorStandAnim(OBJECT_POLYBERYLCARBONATE);
-	showDescription(TX_LOV2N044);
+	showDescription(44, true);
 	giveItem(OBJECT_IPBC);
 	_awayMission->love.synthesizerContents = 0;
 	loadActorAnim(OBJECT_SYNTHESIZER_DOOR, "s3r3d5", 0x8a, 0x8d, 0);
@@ -867,7 +867,7 @@ void Room::love2ReachedDishes() {
 
 void Room::love2GotDishes() {
 	loadActorStandAnim(OBJECT_VIRUSSAMPLE);
-	showDescription(TX_LOV2N036); // FIXME: text doesn't match audio
+	showDescription(36, true); // FIXME: text doesn't match audio
 	giveItem(OBJECT_IDISHES);
 	_awayMission->love.synthesizerContents = 0;
 	loadActorAnim(OBJECT_SYNTHESIZER_DOOR, "s3r3d5", 0x8a, 0x8d, 0);
@@ -887,7 +887,7 @@ void Room::love2ReachedSample() {
 
 void Room::love2GotSample() {
 	loadActorStandAnim(OBJECT_CURESAMPLE);
-	showDescription(TX_LOV2N037);
+	showDescription(37, true);
 	giveItem(OBJECT_ISAMPLE);
 	_awayMission->love.synthesizerContents = 0;
 	loadActorAnim(OBJECT_SYNTHESIZER_DOOR, "s3r3d5", 0x8a, 0x8d, 0);
@@ -908,23 +908,23 @@ void Room::love2ReachedSynthesizerOutput() {
 void Room::love2GotSynthesizerOutput() {
 	switch (_awayMission->love.synthesizerBottleIndex) {
 	case BOTTLETYPE_N2O:
-		showDescription(TX_LOV2N040);
+		showDescription(40, true);
 		giveItem(OBJECT_IN2O);
 		break;
 
 	case BOTTLETYPE_NH3:
-		showDescription(TX_LOV2N039);
+		showDescription(39, true);
 		giveItem(OBJECT_INH3);
 		break;
 
 	case BOTTLETYPE_H2O:
-		showDescription(TX_LOV2N041);
+		showDescription(41, true);
 		giveItem(OBJECT_IH2O);
 		break;
 
 	case BOTTLETYPE_RLG:
 	default:
-		showDescription(TX_LOV2N038);
+		showDescription(38, true);
 		if (!_awayMission->love.gotTLDH) {
 			_awayMission->love.gotTLDH = true;
 			_awayMission->love.missionScore += 4;
@@ -959,7 +959,7 @@ void Room::love2GotCure() {
 
 	giveItem(OBJECT_ICURE);
 	loadActorStandAnim(OBJECT_CURE);
-	showDescription(TX_LOV2N043);
+	showDescription(43, true);
 
 	loadActorAnim(OBJECT_SYNTHESIZER_DOOR, "s3r3d5", 0x8a, 0x8d, 0);
 	playSoundEffectIndex(SND_DOOR1);
diff --git a/engines/startrek/rooms/love3.cpp b/engines/startrek/rooms/love3.cpp
index b0b90f0..bf1b97f 100644
--- a/engines/startrek/rooms/love3.cpp
+++ b/engines/startrek/rooms/love3.cpp
@@ -69,8 +69,8 @@ void Room::love3Tick1() {
 
 void Room::love3Tick80() {
 	if (!_awayMission->love.visitedRoomWithRomulans && haveItem(OBJECT_IRLG)) {
-		showText(TX_SPEAKER_MCCOY, TX_LOV3_010);
-		showText(TX_SPEAKER_SPOCK, TX_LOV3_020);
+		showText(TX_SPEAKER_MCCOY, 10, true);
+		showText(TX_SPEAKER_SPOCK, 20, true);
 	}
 }
 
@@ -89,27 +89,27 @@ void Room::love3LookAtServicePanel() {
 }
 
 void Room::love3LookAtMonitor() {
-	showDescription(TX_LOV3N000); // BUGFIX: original didn't play the audio
+	showDescription(0, true); // BUGFIX: original didn't play the audio
 }
 
 void Room::love3LookAtWrench() {
-	showDescription(TX_LOV3N002);
+	showDescription(2, true);
 }
 
 void Room::love3LookAtKirk() {
-	showDescription(TX_LOV3N003);
+	showDescription(3, true);
 }
 
 void Room::love3LookAtMccoy() {
-	showDescription(TX_LOV3N005);
+	showDescription(5, true);
 }
 
 void Room::love3LookAtSpock() {
-	showDescription(TX_LOV3N008);
+	showDescription(8, true);
 }
 
 void Room::love3LookAtRedshirt() {
-	showDescription(TX_LOV3N004);
+	showDescription(4, true);
 }
 
 void Room::love3LookAnywhere() {
@@ -121,69 +121,69 @@ void Room::love3LookAtShaft() {
 }
 
 void Room::love3LookAtGrate() {
-	showDescription(TX_LOV3N019);
+	showDescription(19, true);
 }
 
 void Room::love3LookAtPanel() {
 	if (_awayMission->love.insulationOnGround)
-		showDescription(TX_LOV3N017);
+		showDescription(17, true);
 	else
 		showDescription(TX_LOV3NA22);
 }
 
 void Room::love3LookAtGasTank() {
-	showDescription(TX_LOV3N006);
+	showDescription(6, true);
 }
 
 void Room::love3LookAtTurbines() {
-	showDescription(TX_LOV3N026);
-	showText(TX_SPEAKER_MCCOY, TX_LOV3_009);
-	showText(TX_SPEAKER_SPOCK, TX_LOV3_019);
+	showDescription(26, true);
+	showText(TX_SPEAKER_MCCOY, 9, true);
+	showText(TX_SPEAKER_SPOCK, 19, true);
 	if (!_awayMission->redshirtDead)
-		showText(TX_SPEAKER_FERRIS, TX_LOV3_026);
+		showText(TX_SPEAKER_FERRIS, 26, true);
 }
 
 void Room::love3TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_LOV3_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 }
 
 void Room::love3TalkToSpock() {
 	if (_awayMission->love.visitedRoomWithRomulans)
-		showText(TX_SPEAKER_SPOCK, TX_LOV3_003);
+		showText(TX_SPEAKER_SPOCK, 3, true);
 	else if (_awayMission->love.romulansUnconsciousFromLaughingGas)
-		showText(TX_SPEAKER_SPOCK, TX_LOV3_017);
+		showText(TX_SPEAKER_SPOCK, 17, true);
 	else if (haveItem(OBJECT_IRLG))
-		showText(TX_SPEAKER_SPOCK, TX_LOV3_004);
+		showText(TX_SPEAKER_SPOCK, 4, true);
 	else
-		showText(TX_SPEAKER_SPOCK, TX_LOV3_003);
+		showText(TX_SPEAKER_SPOCK, 3, true);
 }
 
 void Room::love3TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV3_008);
+	showText(TX_SPEAKER_MCCOY, 8, true);
 }
 
 void Room::love3TalkToRedshirt() {
-	showText(TX_SPEAKER_FERRIS, TX_LOV3_024);
+	showText(TX_SPEAKER_FERRIS, 24, true);
 }
 
 void Room::love3UseMTricorderAnywhere() {
 	if (_awayMission->love.knowAboutVirus)
-		mccoyScan(DIR_S, TX_LOV3_005, false);
+		mccoyScan(DIR_S, 5, false, true);
 	else
-		mccoyScan(DIR_S, TX_LOV3_006, false);
+		mccoyScan(DIR_S, 6, false, true);
 }
 
 void Room::love3UseSTricorderOnTurbines() {
-	spockScan(DIR_N, TX_LOV3_014, false);
+	spockScan(DIR_N, 14, false, true);
 }
 
 void Room::love3UseSTricorderOnInsulation() {
 	if (_awayMission->love.insulationOnGround)
-		spockScan(DIR_W, TX_LOV3_002, false);
+		spockScan(DIR_W, 2, false, true);
 }
 
 void Room::love3UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_LOV3_013, false);
+	spockScan(DIR_S, 13, false, true);
 }
 
 void Room::love3UseKirkOnServicePanel() {
@@ -222,11 +222,11 @@ void Room::love3OpenedOrClosedServicePanel() {
 
 	if (_awayMission->love.servicePanelOpen) {
 		if (_awayMission->love.tookN2TankFromServicePanel)
-			showDescription(TX_LOV3N023);
+			showDescription(23, true);
 		else
-			showDescription(TX_LOV3N022);
+			showDescription(22, true);
 	} else
-		showDescription(TX_LOV3N020);
+		showDescription(20, true);
 }
 
 // Use wrench on gas tank, to screw or unscrew it in position
@@ -241,19 +241,19 @@ void Room::love3ReachedGasTankToUnscrew() {
 
 void Room::love3ScrewedOrUnscrewedGasTank() {
 	if (!_awayMission->love.gasTankUnscrewed) {
-		showDescription(TX_LOV3N012);
+		showDescription(12, true);
 		if (!_awayMission->redshirtDead)
-			showText(TX_SPEAKER_FERRIS, TX_LOV3_022);
+			showText(TX_SPEAKER_FERRIS, 22, true);
 		_awayMission->love.gasTankUnscrewed = true;
 	} else {
-		showDescription(TX_LOV3N015);
+		showDescription(15, true);
 		_awayMission->love.gasTankUnscrewed = false;
 	}
 }
 
 
 void Room::love3UseWrenchOnO2OrH2Gas() {
-	showText(TX_SPEAKER_SPOCK, TX_LOV3_016);
+	showText(TX_SPEAKER_SPOCK, 16, true);
 }
 
 
@@ -268,7 +268,7 @@ void Room::love3ReachedGasTankToPutDown() {
 }
 
 void Room::love3PutN2TankBack() {
-	showDescription(TX_LOV3N013);
+	showDescription(13, true);
 	_awayMission->love.tookN2TankFromServicePanel = false;
 	loseItem(OBJECT_IN2GAS);
 	loadActorAnim(OBJECT_GAS_TANK, "r4n2", 0, 0, 0);
@@ -291,12 +291,12 @@ void Room::love3OpenedEngineeringPanel() {
 		loadActorAnim(OBJECT_INSULATION, "s3r4p1", 0, 0, 0);
 		_awayMission->love.insulationOnGround = true;
 	}
-	showDescription(TX_LOV3N021);
+	showDescription(21, true);
 }
 
 
 void Room::love3UseWrenchOnMonitor() {
-	showText(TX_SPEAKER_SPOCK, TX_LOV3_018);
+	showText(TX_SPEAKER_SPOCK, 18, true);
 }
 
 
@@ -312,14 +312,14 @@ void Room::love3PouredWaterOnMonitor() {
 	// BUGFIX: the speaker should be Lt. Ferris. In the original, the speaker wasn't
 	// specified.
 	// However, there is no substitute text for when Lt. Ferris is dead.
-	showText(TX_SPEAKER_FERRIS, TX_LOV3_021);
+	showText(TX_SPEAKER_FERRIS, 21, true);
 
 	loseItem(OBJECT_IH2O);
 }
 
 
 void Room::love3UseCrewmanOnEngineeringPanelOrGrate() {
-	showDescription(TX_LOV3N030);
+	showDescription(30, true);
 }
 
 
@@ -344,7 +344,7 @@ void Room::love3OpenedOrClosedGrate() {
 	if (!_awayMission->love.grateRemoved) {
 		_awayMission->love.grateRemoved = true;
 		loadActorAnim(OBJECT_GRATE, "s3r4g3", 0, 0, 0);
-		showDescription(TX_LOV3N016);
+		showDescription(16, true);
 		if (!_awayMission->love.gotPointsForOpeningGrate) {
 			_awayMission->love.gotPointsForOpeningGrate = true;
 			_awayMission->love.missionScore++;
@@ -352,13 +352,13 @@ void Room::love3OpenedOrClosedGrate() {
 	} else {
 		loadActorAnim(OBJECT_GRATE, "s3r4g1", 0x116, 0x8f, 0);
 		_awayMission->love.grateRemoved = false;
-		showDescription(TX_LOV3N032);
+		showDescription(32, true);
 	}
 }
 
 
 void Room::love3UseCrewmanOnShaft() {
-	showDescription(TX_LOV3N011);
+	showDescription(11, true);
 }
 
 
@@ -368,13 +368,13 @@ void Room::love3UseWaterOnShaft() {
 
 void Room::love3ReachedShaftUsingWater() {
 	if (!_awayMission->love.grateRemoved)
-		showDescription(TX_LOV3N025);
+		showDescription(25, true);
 	else
 		loadActorAnimC(OBJECT_KIRK, "kuseme", -1, -1, &Room::love3PouredWaterDownShaft);
 }
 
 void Room::love3PouredWaterDownShaft() {
-	showDescription(TX_LOV3N009);
+	showDescription(9, true);
 	loseItem(OBJECT_IH2O);
 }
 
@@ -385,14 +385,14 @@ void Room::love3UseNitrousOxideOnShaft() {
 
 void Room::love3ReachedShaftUsingNitrousOxide() {
 	if (!_awayMission->love.grateRemoved)
-		showDescription(TX_LOV3N025);
+		showDescription(25, true);
 	else
 		loadActorAnimC(OBJECT_KIRK, "kuseme", -1, -1, &Room::love3PouredNitrousOxideDownShaft);
 }
 
 void Room::love3PouredNitrousOxideDownShaft() {
-	showDescription(TX_LOV3N018);
-	showText(TX_SPEAKER_SPOCK, TX_LOV3_012);
+	showDescription(18, true);
+	showText(TX_SPEAKER_SPOCK, 12, true);
 	loseItem(OBJECT_IN2O);
 }
 
@@ -403,16 +403,16 @@ void Room::love3UseAmmoniaOnShaft() {
 
 void Room::love3ReachedShaftUsingAmmonia() {
 	if (!_awayMission->love.grateRemoved)
-		showDescription(TX_LOV3N025);
+		showDescription(25, true);
 	else
 		loadActorAnimC(OBJECT_KIRK, "kuseme", -1, -1, &Room::love3PouredAmmoniaDownShaft);
 }
 
 void Room::love3PouredAmmoniaDownShaft() {
 	if (!_awayMission->love.romulansUnconsciousFromVirus) {
-		showDescription(TX_LOV3N001);
+		showDescription(01, true);
 		if (!_awayMission->redshirtDead)
-			showText(TX_SPEAKER_FERRIS, TX_LOV3_023);
+			showText(TX_SPEAKER_FERRIS, 23, true);
 	}
 
 	loseItem(OBJECT_INH3);
@@ -427,7 +427,7 @@ void Room::love3UseRomulanLaughingGasOnShaft() {
 		_awayMission->love.missionScore += 6;
 	}
 	if (_awayMission->love.romulansUnconsciousFromLaughingGas)
-		showText(TX_SPEAKER_SPOCK, TX_LOV3_011);
+		showText(TX_SPEAKER_SPOCK, 11, true);
 	else {
 		walkCrewmanC(OBJECT_KIRK, 0xf6, 0xa4, &Room::love3ReachedShaftUsingRomulanLaughingGas);
 	}
@@ -435,7 +435,7 @@ void Room::love3UseRomulanLaughingGasOnShaft() {
 
 void Room::love3ReachedShaftUsingRomulanLaughingGas() {
 	if (!_awayMission->love.grateRemoved)
-		showDescription(TX_LOV3N025);
+		showDescription(25, true);
 	else {
 		loadActorAnimC(OBJECT_KIRK, "kuseme", -1, -1, &Room::love3PouredRomulanLaughingGasDownShaft);
 		playVoc("EFX24");
@@ -470,7 +470,7 @@ void Room::love3PickedUpWrench() {
 	giveItem(OBJECT_IWRENCH);
 	loadActorStandAnim(OBJECT_WRENCH);
 	_awayMission->love.wrenchTaken = true;
-	showDescription(TX_LOV3N031);
+	showDescription(31, true);
 }
 
 
@@ -481,9 +481,9 @@ void Room::love3GetGasTank() {
 
 void Room::love3ReachedGasTankToGet() {
 	if (_awayMission->love.gasTankUnscrewed)
-		showDescription(TX_LOV3N007);
+		showDescription(07, true);
 	else
-		showDescription(TX_LOV3N014);
+		showDescription(14, true);
 }
 
 
@@ -497,8 +497,8 @@ void Room::love3ReachedGasTankUsingAntigrav() {
 		loadActorAnimC(OBJECT_KIRK, "kusehe", -1, -1, &Room::love3PickedUpGasTank);
 		playVoc("SE3PLBAT");
 	} else {
-		showDescription(TX_LOV3N010);
-		showText(TX_SPEAKER_SPOCK, TX_LOV3_015);
+		showDescription(10, true);
+		showText(TX_SPEAKER_SPOCK, 15, true);
 	}
 }
 
@@ -509,7 +509,7 @@ void Room::love3PickedUpGasTank() {
 
 	showDescription(TX_LOV3NJ32);
 	if (!_awayMission->redshirtDead)
-		showText(TX_SPEAKER_FERRIS, TX_LOV3_025);
+		showText(TX_SPEAKER_FERRIS, 25, true);
 }
 
 void Room::love3GetInsulation() {
@@ -524,7 +524,7 @@ void Room::love3ReachedInsulationToGet() {
 void Room::love3PickedUpInsulation() {
 	loadActorStandAnim(OBJECT_KIRK);
 	giveItem(OBJECT_IINSULAT);
-	showDescription(TX_LOV3N029);
+	showDescription(29, true);
 }
 
 }
diff --git a/engines/startrek/rooms/love4.cpp b/engines/startrek/rooms/love4.cpp
index 9ca5305..9d48dab 100644
--- a/engines/startrek/rooms/love4.cpp
+++ b/engines/startrek/rooms/love4.cpp
@@ -96,23 +96,23 @@ void Room::love4ReachedLadder() {
 }
 
 void Room::love4UseStunPhaserOnRomulan() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV4_007);
+	showText(TX_SPEAKER_MCCOY, 7, true);
 }
 
 void Room::love4LookAnywhere() {
-	showDescription(TX_LOV4N009);
+	showDescription(9, true);
 }
 
 void Room::love4LookAtLadder() {
-	showDescription(TX_LOV4N010);
+	showDescription(10, true);
 }
 
 void Room::love4LookAtDoor() {
-	showDescription(TX_LOV4N008);
+	showDescription(8, true);
 }
 
 void Room::love4LookAtKirk() {
-	showDescription(TX_LOV4N002);
+	showDescription(2, true);
 }
 
 void Room::love4LookAtMccoy() {
@@ -121,76 +121,76 @@ void Room::love4LookAtMccoy() {
 	// is thinking it.
 	// Not sure if this was an intentional decision, but there is another unused audio
 	// file which matches with the text more accurately, so I'm using that instead.
-	showDescription(TX_LOV4N012);
+	showDescription(12, true);
 }
 
 void Room::love4LookAtSpock() {
-	showDescription(TX_LOV4N003);
+	showDescription(03, true);
 }
 
 void Room::love4LookAtRedshirt() {
-	showDescription(TX_LOV4N001);
+	showDescription(01, true);
 }
 
 void Room::love4LookAtRomulan() {
 	if (!_awayMission->love.romulansCured)
-		showDescription(TX_LOV4N006);
+		showDescription(06, true);
 	else
-		showDescription(TX_LOV4N011);
+		showDescription(11, true);
 }
 
 void Room::love4TalkToKirk() {
-	showText(TX_SPEAKER_KIRK,  TX_LOV4_005);
-	showText(TX_SPEAKER_MCCOY, TX_LOV4_024);
-	showText(TX_SPEAKER_KIRK,  TX_LOV4_002);
+	showText(TX_SPEAKER_KIRK,  05, true);
+	showText(TX_SPEAKER_MCCOY, 24, true);
+	showText(TX_SPEAKER_KIRK,  02, true);
 }
 
 void Room::love4TalkToMccoy() {
 	if (_awayMission->love.romulansCured)
-		showText(TX_SPEAKER_MCCOY, TX_LOV4_022);
+		showText(TX_SPEAKER_MCCOY, 22, true);
 	else
-		showText(TX_SPEAKER_MCCOY, TX_LOV4_010);
+		showText(TX_SPEAKER_MCCOY, 10, true);
 }
 
 void Room::love4TalkToRedshirt() {
-	showText(TX_SPEAKER_FERRIS, TX_LOV4_028);
+	showText(TX_SPEAKER_FERRIS, 28, true);
 }
 
 void Room::love4TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_LOV4_027);
-	showText(TX_SPEAKER_KIRK,  TX_LOV4_003);
+	showText(TX_SPEAKER_SPOCK, 27, true);
+	showText(TX_SPEAKER_KIRK,   3, true);
 }
 
 void Room::love4TalkToRomulan() {
 	if (_awayMission->love.romulansCured)
-		showDescription(TX_LOV4N007); // BUGFIX: original didn't play audio
+		showDescription(7, true); // BUGFIX: original didn't play audio
 }
 
 void Room::love4UseMTricorderOnRomulan() {
 	if (_awayMission->love.romulansCured)
-		mccoyScan(DIR_S, TX_LOV4_018, false);
+		mccoyScan(DIR_S, 18, false, true);
 	else
-		mccoyScan(DIR_S, TX_LOV4_015, false);
+		mccoyScan(DIR_S, 15, false, true);
 }
 
 void Room::love4UseMTricorderAnywhere() {
 	if (_awayMission->love.romulansCured)
-		mccoyScan(DIR_S, TX_LOV4_019, false);
+		mccoyScan(DIR_S, 19, false, true);
 	else if (_awayMission->love.romulansUnconsciousFromLaughingGas)
-		mccoyScan(DIR_S, TX_LOV4_020, false);
+		mccoyScan(DIR_S, 20, false, true);
 	else
-		mccoyScan(DIR_S, TX_LOV4_021, false);
+		mccoyScan(DIR_S, 21, false, true);
 }
 
 void Room::love4UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_LOV4_006, false);
+	spockScan(DIR_S, 6, false, true);
 }
 
 
 // Mccoy walks around to all romulans, giving each the cure
 void Room::love4UseCureOnRomulan() {
 	if (_awayMission->love.romulansCured)
-		showText(TX_SPEAKER_MCCOY, TX_LOV4_013);
+		showText(TX_SPEAKER_MCCOY, 13, true);
 	else {
 		_awayMission->love.missionScore += 2;
 		_awayMission->love.romulansCured = true;
@@ -233,9 +233,9 @@ void Room::love4MccoyReachedRomulan1() {
 void Room::love4MccoyCuredRomulan1() {
 	loadActorAnim2(OBJECT_ROMULAN_1, "s3r5r1", 0x36, 0xb3, 0);
 
-	showDescription(TX_LOV4N005);
+	showDescription(05, true);
 	if (!_roomVar.love.gaveWaterToRomulans)
-		showText(TX_SPEAKER_MCCOY, TX_LOV4_023);
+		showText(TX_SPEAKER_MCCOY, 23, true);
 
 	_awayMission->disableInput = false;
 }
@@ -246,13 +246,13 @@ void Room::love4UseWaterOnRomulan() {
 	// In the original, you could use water on them, but there would be no corresponding
 	// narration, you'd get no points for it, and you'd lose the water anyway.
 	if (!_awayMission->love.romulansCured)
-		showText(TX_SPEAKER_MCCOY, TX_LOV4_009);
+		showText(TX_SPEAKER_MCCOY, 9, true);
 	else {
 		_roomVar.love.gaveWaterToRomulans = true;
 		if (_awayMission->love.romulansCured) {
-			showDescription(TX_LOV4N013);
-			showText(TX_SPEAKER_MCCOY, TX_LOV4_026);
-			showText(TX_SPEAKER_KIRK, TX_LOV4_001);
+			showDescription(13, true);
+			showText(TX_SPEAKER_MCCOY, 26, true);
+			showText(TX_SPEAKER_KIRK, 1, true);
 			if (!_awayMission->love.gotPointsForHydratingRomulans) {
 				_awayMission->love.gotPointsForHydratingRomulans = true;
 				_awayMission->love.missionScore += 2;
@@ -271,29 +271,29 @@ void Room::love4UseWaterOnRomulan() {
 	// they did get voice acted anyway.
 	if (false) {
 		if (_awayMission->love.romulansUnconsciousFromVirus)
-			showText(TX_SPEAKER_MCCOY, TX_LOV4_009);
+			showText(TX_SPEAKER_MCCOY, 9, true);
 		else {
-			showDescription(TX_LOV4N004);
+			showDescription(4, true);
 			if (!_awayMission->redshirtDead) {
-				showText(TX_SPEAKER_FERRIS, TX_LOV4_029);
-				showText(TX_SPEAKER_KIRK,   TX_LOV4_004);
+				showText(TX_SPEAKER_FERRIS, 29, true);
+				showText(TX_SPEAKER_KIRK,    4, true);
 			}
-			showText(TX_SPEAKER_MCCOY, TX_LOV4_011);
+			showText(TX_SPEAKER_MCCOY, 11, true);
 			loseItem(OBJECT_IH2O);
 		}
 	}
 }
 
 void Room::love4UseMedkitOnRomulan() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV4_012);
+	showText(TX_SPEAKER_MCCOY, 12, true);
 }
 
 void Room::love4UseCureSampleOnRomulan() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV4_014);
+	showText(TX_SPEAKER_MCCOY, 14, true);
 }
 
 void Room::love4UseAnythingOnRomulan() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV4_017);
+	showText(TX_SPEAKER_MCCOY, 17, true);
 }
 
 }
diff --git a/engines/startrek/rooms/love5.cpp b/engines/startrek/rooms/love5.cpp
index ce30d4c..3575f92 100644
--- a/engines/startrek/rooms/love5.cpp
+++ b/engines/startrek/rooms/love5.cpp
@@ -71,7 +71,7 @@ void Room::love5Timer4Expired() {
 }
 
 void Room::love5UseStunPhaserOnPreax() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV5_011);
+	showText(TX_SPEAKER_MCCOY, 11, true);
 
 	// BUG: this function has two implementations. The second one (which is shadowed) is
 	// below.
@@ -80,23 +80,23 @@ void Room::love5UseStunPhaserOnPreax() {
 }
 
 void Room::love5LookAtKirk() {
-	showDescription(TX_LOV5N004);
+	showDescription(04, true);
 }
 
 void Room::love5LookAtSpock() {
-	showDescription(TX_LOV5N005);
+	showDescription(05, true);
 }
 
 void Room::love5LookAtMccoy() {
-	showDescription(TX_LOV5N002);
+	showDescription(02, true);
 }
 
 void Room::love5LookAtRedshirt() {
-	showDescription(TX_LOV5N003);
+	showDescription(3, true);
 }
 
 void Room::love5LookAnywhere() {
-	showDescription(TX_LOV5N008);
+	showDescription(8, true);
 
 	// There is an unused version of this function, which states "This is Dr. Marcus's
 	// quarters, and there are hostages and 4 romulans here". That description doesn't
@@ -105,104 +105,104 @@ void Room::love5LookAnywhere() {
 	// load room LOVE6. This may be a leftover from a removed room that somehow ended up
 	// here.
 
-	//showText(TX_LOV5N009);
+	//showText(09, true);
 }
 
 void Room::love5LookAtDevice() {
-	showDescription(TX_LOV5N013);
-	showText(TX_SPEAKER_MCCOY, TX_LOV5_028);
-	showText(TX_SPEAKER_MARCUS, TX_LOV5_044);
+	showDescription(13, true);
+	showText(TX_SPEAKER_MCCOY, 28, true);
+	showText(TX_SPEAKER_MARCUS, 44, true);
 }
 
 void Room::love5LookAtConsole() {
-	showDescription(TX_LOV5N016);
-	showText(TX_SPEAKER_MCCOY, TX_LOV5_031);
-	showText(TX_SPEAKER_MARCUS, TX_LOV5_050);
+	showDescription(16, true);
+	showText(TX_SPEAKER_MCCOY, 31, true);
+	showText(TX_SPEAKER_MARCUS, 50, true);
 }
 
 void Room::love5LookAtDrMarcus() {
 	if (_awayMission->love.freedMarcusAndCheever)
-		showDescription(TX_LOV5N001);
+		showDescription(01, true);
 	else {
 		// BUGFIX: originally played audio "LOV5N001", which is only the first sentence of
 		// what should be spoken.
-		showDescription(TX_LOV5N015);
+		showDescription(15, true);
 
-		showText(TX_SPEAKER_MARCUS, TX_LOV5_046);
+		showText(TX_SPEAKER_MARCUS, 46, true);
 	}
 }
 
 void Room::love5LookAtDrCheever() {
 	if (_awayMission->love.freedMarcusAndCheever)
-		showDescription(TX_LOV5N000);
+		showDescription(00, true);
 	else {
-		showDescription(TX_LOV5N014);
-		showText(TX_SPEAKER_CHEEVER, TX_LOV5_057);
+		showDescription(14, true);
+		showText(TX_SPEAKER_CHEEVER, 57, true);
 		if (!_awayMission->redshirtDead) {
-			showText(TX_SPEAKER_FERRIS, TX_LOV5_054);
-			showText(TX_SPEAKER_CHEEVER, TX_LOV5_058);
+			showText(TX_SPEAKER_FERRIS, 54, true);
+			showText(TX_SPEAKER_CHEEVER, 58, true);
 		}
 	}
 }
 
 void Room::love5LookAtPreax() {
 	if (_awayMission->love.preaxCured)
-		showDescription(TX_LOV5N011);
+		showDescription(11, true);
 	else
-		showDescription(TX_LOV5N012);
+		showDescription(12, true);
 }
 
 void Room::love5TalkToPreax() {
 	if (_awayMission->love.preaxCured) {
 		if (!_awayMission->love.freedMarcusAndCheever)
-			showDescription(TX_LOV5N006);
+			showDescription(06, true);
 		else {
 			const TextRef choices[] = {
 				TX_SPEAKER_KIRK,
-				TX_LOV5_008,
-				TX_LOV5_004,
-				TX_LOV5_006,
+				8,
+				4,
+				6,
 				TX_BLANK,
 			};
 
-			showText(TX_SPEAKER_PREAX, TX_LOV5_059);
-			int choice = showMultipleTexts(choices);
+			showText(TX_SPEAKER_PREAX, 59, true);
+			int choice = showMultipleTexts(choices, true);
 
 			switch (choice) {
 			case 1:
-				showText(TX_SPEAKER_MARCUS, TX_LOV5_043);
+				showText(TX_SPEAKER_MARCUS, 43, true);
 			// fall through
 			case 0:
-				showText(TX_SPEAKER_PREAX, TX_LOV5_061);
-				showText(TX_SPEAKER_KIRK, TX_LOV5_010);
+				showText(TX_SPEAKER_PREAX, 61, true);
+				showText(TX_SPEAKER_KIRK, 10, true);
 
 				// NOTE: This just says "(Spock raises an eyebrow)". No audio associated.
 				showText(TX_SPEAKER_SPOCK, TX_LOV5C001);
 
-				showText(TX_SPEAKER_MCCOY, TX_LOV5_032);
+				showText(TX_SPEAKER_MCCOY, 32, true);
 
 				break;
 			case 2:
-				showText(TX_SPEAKER_PREAX, TX_LOV5_060);
+				showText(TX_SPEAKER_PREAX, 60, true);
 				break;
 			default:
 				showDescription(TX_DIALOG_ERROR);
 				break;
 			}
 
-			showText(TX_SPEAKER_KIRK,   TX_LOV5_002);
-			showText(TX_SPEAKER_MARCUS, TX_LOV5_045);
+			showText(TX_SPEAKER_KIRK,   02, true);
+			showText(TX_SPEAKER_MARCUS, 45, true);
 
 			_awayMission->disableInput = true;
 
 			if (!_awayMission->love.spockCured) {
-				showText(TX_SPEAKER_MCCOY, TX_LOV5_021);
+				showText(TX_SPEAKER_MCCOY, 21, true);
 				walkCrewmanC(OBJECT_MCCOY, 0x87, 0xc3, &Room::love5MccoyReachedSpockToCure);
 			} else
 				love5EndMission();
 		}
 	} else
-		showText(TX_SPEAKER_MARCUS, TX_LOV5_018);
+		showText(TX_SPEAKER_MARCUS, 18, true);
 }
 
 void Room::love5MccoyReachedSpockToCure() {
@@ -210,16 +210,16 @@ void Room::love5MccoyReachedSpockToCure() {
 }
 
 void Room::love5MccoyCuredSpock() {
-	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, 30, true);
+	showText(TX_SPEAKER_SPOCK, 38, true);
+	showText(TX_SPEAKER_MCCOY, 27, true);
 	// NOTE: This just says "(Spock raises an eyebrow)". No audio associated.
 	showText(TX_SPEAKER_SPOCK, TX_LOV5C001);
 	love5EndMission();
 }
 
 void Room::love5EndMission() {
-	showText(TX_SPEAKER_KIRK, TX_LOV5_001);
+	showText(TX_SPEAKER_KIRK, 01, true);
 
 	_awayMission->crewDirectionsAfterWalk[OBJECT_KIRK] = DIR_S;
 	walkCrewmanC(OBJECT_KIRK, 0x64, 0xc2, &Room::love5CrewmanReachedBeamoutPosition);
@@ -247,78 +247,78 @@ void Room::love5CrewmanReachedBeamoutPosition() {
 
 void Room::love5TalkToDrMarcus() {
 	if (!_awayMission->love.freedMarcusAndCheever)
-		showText(TX_SPEAKER_MARCUS, TX_LOV5_040);
+		showText(TX_SPEAKER_MARCUS, 40, true);
 	else {
 		if (!haveItem(OBJECT_ICURE))
-			showText(TX_SPEAKER_MARCUS, TX_LOV5_039);
+			showText(TX_SPEAKER_MARCUS, 39, true);
 		else
-			showText(TX_SPEAKER_MARCUS, TX_LOV5_042);
+			showText(TX_SPEAKER_MARCUS, 42, true);
 	}
 }
 
 void Room::love5TalkToDrCheever() {
 	if (!_awayMission->love.freedMarcusAndCheever)
-		showText(TX_SPEAKER_CHEEVER, TX_LOV5_055);
+		showText(TX_SPEAKER_CHEEVER, 55, true);
 	else
-		showText(TX_SPEAKER_CHEEVER, TX_LOV5_056);
+		showText(TX_SPEAKER_CHEEVER, 56, true);
 }
 
 void Room::love5TalkToKirk() {
-	showText(TX_SPEAKER_KIRK,   TX_LOV5_003);
-	showText(TX_SPEAKER_MARCUS, TX_LOV5_048);
-	showText(TX_SPEAKER_KIRK,   TX_LOV5_009);
-	showText(TX_SPEAKER_MARCUS, TX_LOV5_047);
+	showText(TX_SPEAKER_KIRK,    3, true);
+	showText(TX_SPEAKER_MARCUS, 48, true);
+	showText(TX_SPEAKER_KIRK,    9, true);
+	showText(TX_SPEAKER_MARCUS, 47, true);
 }
 
 void Room::love5TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK,  TX_LOV5_036);
-	showText(TX_SPEAKER_MARCUS, TX_LOV5_051);
+	showText(TX_SPEAKER_SPOCK,  36, true);
+	showText(TX_SPEAKER_MARCUS, 51, true);
 	showText(TX_SPEAKER_SPOCK,  TX_G_024);
 }
 
 void Room::love5TalkToMccoy() {
 	if (!_awayMission->love.preaxCured)
-		showText(TX_SPEAKER_MCCOY, TX_LOV5_014);
+		showText(TX_SPEAKER_MCCOY, 14, true);
 }
 
 void Room::love5TalkToRedshirt() {
-	showText(TX_SPEAKER_FERRIS, TX_LOV5_052);
+	showText(TX_SPEAKER_FERRIS, 52, true);
 }
 
 void Room::love5UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_LOV5_033, false);
+	spockScan(DIR_S, 33, false, true);
 }
 
 void Room::love5UseSTricorderOnDevice() {
-	spockScan(DIR_N, TX_LOV5_034, false);
-	showText(TX_SPEAKER_MARCUS, TX_LOV5_049);
+	spockScan(DIR_N, 34, false, true);
+	showText(TX_SPEAKER_MARCUS, 49, true);
 }
 
 void Room::love5UseMTricorderOnMarcusOrCheever() {
-	mccoyScan(DIR_W, TX_LOV5_025, false);
+	mccoyScan(DIR_W, 25, false, true);
 }
 
 void Room::love5UseMTricorderOnPreax() {
 	if (!_awayMission->love.preaxCured) {
 		if (_awayMission->love.romulansUnconsciousFromLaughingGas)
-			mccoyScan(DIR_E, TX_LOV5_024, false);
+			mccoyScan(DIR_E, 24, false, true);
 		else
-			mccoyScan(DIR_E, TX_LOV5_016, false);
+			mccoyScan(DIR_E, 16, false, true);
 	}
 }
 
 void Room::love5UseMedkitOnPreax() {
 	if (_awayMission->love.preaxCured)
-		showText(TX_SPEAKER_MCCOY, TX_LOV5_015);
+		showText(TX_SPEAKER_MCCOY, 15, true);
 	else
-		showText(TX_SPEAKER_MCCOY, TX_LOV5_019);
+		showText(TX_SPEAKER_MCCOY, 19, true);
 }
 
 void Room::love5UseWaterOnPreax() {
 	if (_awayMission->love.preaxCured) {
-		showDescription(TX_LOV5N018);
-		showText(TX_SPEAKER_MCCOY, TX_LOV5_029);
-		showText(TX_SPEAKER_KIRK,  TX_LOV5_007);
+		showDescription(18, true);
+		showText(TX_SPEAKER_MCCOY, 29, true);
+		showText(TX_SPEAKER_KIRK,  07, true);
 		if (!_awayMission->love.gotPointsForHydratingPreax) {
 			_awayMission->love.gotPointsForHydratingPreax = true;
 			_awayMission->love.missionScore++;
@@ -326,16 +326,16 @@ void Room::love5UseWaterOnPreax() {
 		loseItem(OBJECT_IH2O);
 	} else {
 		if (_awayMission->love.romulansUnconsciousFromVirus) {
-			showText(TX_SPEAKER_MCCOY, TX_LOV5_013);
+			showText(TX_SPEAKER_MCCOY, 13, true);
 			// BUGFIX: original didn't have correct speaker. Also, you shouldn't lose your
 			// water since it's not actually used here, so a "loseItem" line was removed.
 		} else {
-			showDescription(TX_LOV5N017);
+			showDescription(17, true);
 			if (!_awayMission->redshirtDead) {
-				showText(TX_SPEAKER_FERRIS, TX_LOV5_053);
-				showText(TX_SPEAKER_KIRK,   TX_LOV5_005);
+				showText(TX_SPEAKER_FERRIS, 53, true);
+				showText(TX_SPEAKER_KIRK,   05, true);
 			}
-			showText(TX_SPEAKER_MCCOY,  TX_LOV5_026);
+			showText(TX_SPEAKER_MCCOY,  26, true);
 			loseItem(OBJECT_IH2O);
 
 			// BUGFIX: give a point for hydrating the Preax. It's inconsistent to only
@@ -349,7 +349,7 @@ void Room::love5UseWaterOnPreax() {
 }
 
 void Room::love5UseCureSampleOnPreax() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV5_020); // BUGFIX: original didn't have correct speaker
+	showText(TX_SPEAKER_MCCOY, 20, true); // BUGFIX: original didn't have correct speaker
 }
 
 
@@ -366,13 +366,13 @@ void Room::love5CuredPreax() {
 	walkCrewman(OBJECT_MCCOY, 0xdc, 0xc3);
 	_awayMission->crewDirectionsAfterWalk[OBJECT_MCCOY] = DIR_E;
 
-	showDescription(TX_LOV5N007);
+	showDescription(07, true);
 
 	// BUG: says he's dehydrated, but doesn't check whether you've given water to him
 	// already (like it does in LOVE4).
 	// TODO: make the whole "giving water to romulans" thing consistent between LOVE4 and
 	// LOVE5?
-	showText(TX_SPEAKER_MCCOY, TX_LOV5_017);
+	showText(TX_SPEAKER_MCCOY, 17, true);
 
 	loadActorAnim2(OBJECT_PREAX, "s3r6r1", 0x116, 0xba);
 	_awayMission->love.preaxCured = true;
@@ -380,7 +380,7 @@ void Room::love5CuredPreax() {
 
 
 void Room::love5UseAnythingOnPreax() {
-	showText(TX_SPEAKER_MCCOY, TX_LOV5_023);
+	showText(TX_SPEAKER_MCCOY, 23, true);
 }
 
 
@@ -415,7 +415,7 @@ void Room::love5KirkUntiedMarcus() {
 
 void Room::love5MarcusStoodUp() {
 	_awayMission->disableInput = false;
-	showText(TX_SPEAKER_MARCUS, TX_LOV5_041);
+	showText(TX_SPEAKER_MARCUS, 41, true);
 }
 
 }
diff --git a/engines/startrek/rooms/tug2.cpp b/engines/startrek/rooms/tug2.cpp
index ec23197..3f6241f 100644
--- a/engines/startrek/rooms/tug2.cpp
+++ b/engines/startrek/rooms/tug2.cpp
@@ -187,7 +187,7 @@ void Room::tug2LookAtWires() {
 void Room::tug2UseSTricorderOnButton() {
 	if (_awayMission->tug.field35 != 0)
 		return;
-	spockScan(DIR_E, TX_TUG2_007, true);
+	spockScan(DIR_E, 7, true, true);
 }
 
 void Room::tug2UseMccoyOnWires() {
@@ -780,18 +780,18 @@ void Room::tug2Timer2Expired() {
 }
 
 void Room::tug2UseSTricorderOnBomb() {
-	spockScan(DIR_E, TX_TUG2_004, true);
+	spockScan(DIR_E, 4, true, true);
 }
 
 void Room::tug2UseMTricorderOnGuard1() {
 	if (_awayMission->tug.guard1Status == GUARDSTAT_STUNNED)
-		mccoyScan(DIR_E, TX_TUG2_016, true);
+		mccoyScan(DIR_E, 16, true, true);
 }
 
 void Room::tug2UseMTricorderOnGuard2() {
 	// BUGFIX: original didn't play audio for this (despite being the same as above).
 	if (_awayMission->tug.guard2Status == GUARDSTAT_STUNNED)
-		mccoyScan(DIR_E, TX_TUG2_016, true);
+		mccoyScan(DIR_E, 16, true, true);
 }
 
 void Room::tug2TalkToGuard1() {
@@ -852,19 +852,19 @@ void Room::tug2TalkToBrig() {
 	if (_awayMission->tug.brigForceFieldDown && _awayMission->tug.talkedToBrigCrewman)
 		showText(TX_SPEAKER_MASADA_CREWMAN, 27, true);
 	else if (!_awayMission->tug.brigForceFieldDown)
-		mccoyScan(DIR_E, TX_TUG2_015, true);
+		mccoyScan(DIR_E, 15, true, true);
 }
 
 void Room::tug2UseMTricorderOnBrig() {
 	if (_awayMission->tug.field35 == 6)
-		mccoyScan(DIR_E, TX_TUG2_019, true);
+		mccoyScan(DIR_E, 19, true, true);
 	else if (!_awayMission->tug.brigForceFieldDown)
-		mccoyScan(DIR_E, TX_TUG2_015, true);
+		mccoyScan(DIR_E, 15, true, true);
 }
 
 void Room::tug2UseMTricorderOnOpenBrig() {
 	if (_awayMission->tug.brigForceFieldDown)
-		mccoyScan(DIR_E, TX_TUG2_015, true);
+		mccoyScan(DIR_E, 15, true, true);
 }
 
 void Room::tug2UsePhaserAnywhere() {
diff --git a/engines/startrek/text.cpp b/engines/startrek/text.cpp
index 77c74f6..a7c82df 100644
--- a/engines/startrek/text.cpp
+++ b/engines/startrek/text.cpp
@@ -132,16 +132,7 @@ extern const char *const g_gameStrings[] = {
 	"#TUG3\\TUG3_S07#Aye, Captain.",
 	"#TUG3\\TUG3_S08#Aye, Captain.",
 
-	"#LOV0\\LOV0_001#A medical data file is attached --  your bailiwick, Bones.",
-	"#LOV0\\LOV0_002#Spock, check out the station's computer and see what you can dig up.",
-	"#LOV0\\LOV0_003#Strange that the bridge is empty. Stay sharp everyone. The station's computer system might give us some answers.",
-	"#LOV0\\LOV0_004#Gentlemen, I think we have more pressing problems.",
 	"#LOV0\\LOV0_005#Doctor, you may be interested in the medical data file appended to the log.",
-	"#LOV0\\LOV0_006#I'm picking up some strange, airborne virus. I can't identify it without more information.",
-	"#LOV0\\LOV0_007#Nice view of the Romulan ship. How comforting.",
-	"#LOV0\\LOV0_008#Except for the Oroborus virus, I'm not picking up anything unusual.",
-	"#LOV0\\LOV0_009#Jim, there is an appended medical database online. Also, it would be useful for me to experiment on how the virus grows in the presence of different gases. I'm sure the station has the necessary equipment.",
-	"#LOV0\\LOV0_010#Ouch!",
 	"#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...",
@@ -153,20 +144,11 @@ extern const char *const g_gameStrings[] = {
 	"#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_023#Now listen here, you pointy-eared...",
-	"#LOV0\\LOV0_024#Now that's interesting -- there's more here. All of Dr. Marcus' research data on the Oroborous virus.  Let me see...virus growth patterns, pneumonococcal mimic affecting Romulo-Vulcan genotype ... alveoli involvement in--  Boy, Jim, this bug works fast!",
 	"#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_027#Nothing unusual here, Captain, though the station's computer may be able to tell us something.",
-	"#LOV0\\LOV0_028#Nothing unusual is detected.",
 	"#LOV0\\LOV0_029#Please, gentlemen, try to control yourselves",
 	"#LOV0\\LOV0_030#That is not logical, Captain.",
-	"#LOV0\\LOV0_031#The main computer banks of the Ark7. It looks like someone has recently been rummaging through the main data banks.",
 	"#LOV0\\LOV0_033#Try taking deep breaths to clear your heads.",
-	"#LOV0\\LOV0_035#Is this really the time to catch up on your reading, Doctor?",
-	"#LOV0\\LOV0_036#I think Mr. Spock would be more qualified in examining the station's computer.",
-	"#LOV0\\LOV0_037#A detailed data file is with the log.  Do you want to look at it, Doctor McCoy?",
-	"#LOV0\\LOV0_038#This is a very dangerous situation, sir. We should proceed with caution.",
 	"#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...",
@@ -176,7 +158,6 @@ extern const char *const g_gameStrings[] = {
 	"#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_049#The moon in June's a boon to tunes... er, something like that.",
 	"#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.",
@@ -186,222 +167,18 @@ extern const char *const g_gameStrings[] = {
 	"#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.",
-	"#LOV0\\LOV0N000#A Romulan bird of prey hovers menacingly on the view screen.",
-	"#LOV0\\LOV0N001#It is bolted down and cannot be moved.",
-	"#LOV0\\LOV0N002#James Kirk watches the Romulan ship with concern.",
-	"#LOV0\\LOV0N003#Lt. Ferris watches the exits carefully.",
-	"#LOV0\\LOV0N004#McCoy is fidgeting around.",
-	"#LOV0\\LOV0N005#Spock is analyzing the surroundings.",
-	"#LOV0\\LOV0N006#This computer terminal is linked into the station's main computer. It is currently running an open file of log programs.",
-	"#LOV0\\LOV0N007#This is a heavily secured door, leading to another section of the station. Its access code has been breached.",
-	"#LOV0\\LOV0N008#This is a standard door, leading to another room on this deck.",
-	"#LOV0\\LOV0N009#You are on the bridge of the ARK7.",
-
-
-	"#LOV1\\LOV1_001#When you are finished admiring all the equipment Bones, maybe you can help us figure out what's going on here.",
-	"#LOV1\\LOV1_002#Captain, I believe Dr. McCoy has the necessary skills to run that equipment.",
-	"#LOV1\\LOV1_003#It is a standard research lab.",
-	"#LOV1\\LOV1_004#The seals on these dishes are intact, but that's all I can determine.",
-	"#LOV1\\LOV1_005#This is a very well-equipped laboratory, Captain. Perhaps Dr. McCoy could be of some use here.",
-	"#LOV1\\LOV1_006#A Hawking Neutrino Accelerator. It is one of the finest in production today.",
-	"#LOV1\\LOV1_007#A Khrygellian II Basic Compound Distillator. Excellent piece of equipment for reducing complex materials to their basic compounds.",
-	"#LOV1\\LOV1_008#Careful, Jim! That's a distillator, not a can-opener.",
-	"#LOV1\\LOV1_009#Except for the Oroborus virus, I'm not picking up anything unusual.",
 	"#LOV1\\LOV1_010#I'm picking up some strange, airborne virus. I can't identify it without more information.",
-	"#LOV1\\LOV1_011#Jim, this lab is incredible! What I wouldn't give to have some of this equipment on the Enterprise.",
-	"#LOV1\\LOV1_012#That nozzle is for anti-agents only, Jim.",
-	"#LOV1\\LOV1_013#That's for Virus Cultures only, Jim.",
-	"#LOV1\\LOV1_014#There is already something in the chamber.",
-	"#LOV1\\LOV1_015#There is no specimen in the chamber.",
-	"#LOV1\\LOV1_016#This isn't a microwave, Jim! This is a delicate piece of equipment!",
-	"#LOV1\\LOV1_017#Jim, these viral cultures are alive. I can use them to work on a cure.",
-	"#LOV1\\LOV1_018#Eureka! This is it, Jim! There's not much, but all I need to do is synthesize some more, and we're in business.",
-	"#LOV1\\LOV1_019#This isn't the result I was hoping for, Jim.",
-	"#LOV1\\LOV1_021#We have to attach something to the nozzle first.",
-	"#LOV1\\LOV1_022#Residue of a viral agent is still within the chamber.",
-	"#LOV1\\LOV1_023#There are multiple culture samples of the virus within the freezer, Captain.",
-	"#LOV1\\LOV1_024#Arrggghhh!",
-	"#LOV1\\LOV1_025#Aieee!!",
-	"#LOV1\\LOV1_026#Sir, I think Dr. McCoy should run it. I may break it.",
-	"#LOV1\\LOV1_027#This level appears to be deserted, sir, but I'm worried about a Romulan counter-attack. They outnumber us.",
-	"#LOV1\\LOV1_028#Watch out, sir! It looks like the Romulans have taken control of the lower decks.",
-	"#LOV1\\LOV1N000#A device to accelerate neutrinos. Not much good for anything else.",
-	"#LOV1\\LOV1N001#Dr. McCoy is thinking about chemical formulas.",
-	"#LOV1\\LOV1N002#Ensign Ferris doesn't know much about chemical formulas.",
-	"#LOV1\\LOV1N003#James Tiberius Kirk.",
-	"#LOV1\\LOV1N004#Mr. Spock is thinking about chemical formulas.",
-	"#LOV1\\LOV1N005#You already have a culture dish.",
-	"#LOV1\\LOV1N006#You take the Oroborus virus culture.",
 	"#LOV1\\LOV1N007#Done.",
-	"#LOV1\\LOV1N008#It gets a little colder, but nothing else happens.",
-	"#LOV1\\LOV1N009#The chamber is empty.",
-	"#LOV1\\LOV1N010#The Freezer unit is too large to take.",
-	"#LOV1\\LOV1N011#The nozzle is empty.",
-	"#LOV1\\LOV1N012#There are many virus culture dishes, all of them labeled, \"Oroborus Virus -- DANGER!!\".",
-	"#LOV1\\LOV1N013#There is a single viral culture dish in here, and it contains a sample of the Oroborus cure.",
-	"#LOV1\\LOV1N014#This chamber is where virus samples are placed.",
-	"#LOV1\\LOV1N015#This device is used for the rapid reproduction of virus cultures in the presence of suspected anti-agents.",
-	"#LOV1\\LOV1N016#This is a distillator, used to isolate specific compounds from raw material.",
-	"#LOV1\\LOV1N017#This is a large engineering safety door with heavy shielding. Its entry codes seem to be breached.",
-	"#LOV1\\LOV1N018#This is a large refrigeration unit.",
-	"#LOV1\\LOV1N019#This is a research lab, with lots of expensive equipment.",
-	"#LOV1\\LOV1N020#This is a standard door, leading to another room on this deck.",
-	"#LOV1\\LOV1N021#This is an access ladder. It appears to lead to the next deck below.",
-	"#LOV1\\LOV1N022#This nozzle is where anti-agents are placed.",
-	"#LOV1\\LOV1N023#This refrigerator has a number of specimen dishes inside.",
-	"#LOV1\\LOV1N034#You have distilled a quantity of Polyberylcarbonate.",
-	"#LOV1\\LOV1N035#You retrieve the Oroborus cure sample.",
-
-
-	"#LOV2\\LOV2_001#Well, gentlemen, I believe this equipment may be of some use.",
-	"#LOV2\\LOV2_002#I think we can call that one a failure, Bones.",
-	"#LOV2\\LOV2_003#I think we can set this aside and not worry about it.",
-	"#LOV2\\LOV2_004#A clean drink of water, but I don't see its application in the context of our difficulties, Captain.",
-	"#LOV2\\LOV2_005#Captain, I see the problem: the gas feeds are turned off. If you'll permit me...",
-	"#LOV2\\LOV2_006#Captain, I see the problem: the gas feeds are turned off.",
-	"#LOV2\\LOV2_007#Fascinating, Captain, but it doesn't appear to get us any closer to our goal.",
-	"#LOV2\\LOV2_008#Except for the Oroborus virus, I'm not picking up anything unusual.",
-	"#LOV2\\LOV2_009#Go bother Spock. This is the kind of place he likes.",
-	"#LOV2\\LOV2_010#I think I'll stick to combining two gases in future experiments. That's how the machine's designed, after all.",
-	"#LOV2\\LOV2_011#I wouldn't try to lift that. You might hurt yourself.",
-	"#LOV2\\LOV2_012#I'm picking up some strange, airborne virus. I can't identify it without more information.", // BUG: audio file missing
-	"#LOV2\\LOV2_014#That's not the right material to put in there, Jim.",
-	"#LOV2\\LOV2_015#Do you mean to say it's undignified, Spock?",
-	"#LOV2\\LOV2_016#I rest my case.",
-	"#LOV2\\LOV2_017#I think I'd have more luck hypergrowing the virus in the presence of a limited quantity of gas.",
-	"#LOV2\\LOV2_018#It doesn't affect Vulcans, of course.",
-	"#LOV2\\LOV2_019#Next he'll tell us the DNA molecule is simple!",
-	"#LOV2\\LOV2_020#That's it, Jim. We've got enough serum here to cure everybody on the station!",
-	"#LOV2\\LOV2_021#We must be doing something wrong, Jim.",
-	"#LOV2\\LOV2_022#Why that's just dandy! Vulcan laughing gas!",
-	"#LOV2\\LOV2_023#You're wrong, Spock. Look... the virus culture has been eliminated. That's why it's clear. It'd be more useful for me to see how the virus might grow in the presence of a limited quantity of ammonia gas.",
-	"#LOV2\\LOV2_024#I recommend we follow the design specifications of the machine. Two gas tanks should always be attached before activating it.",
-	"#LOV2\\LOV2_025#I would not recommend removing the canister without turning off the valve.",
-	"#LOV2\\LOV2_026#It would be very dangerous to place the tanks without first turning off the valve.",
-	"#LOV2\\LOV2_027#Nothing unusual is detected.",
-	"#LOV2\\LOV2_028#The machine does not seem to be able to process that particular item.",
-	"#LOV2\\LOV2_029#This is an outstanding facility, Captain.",
-	"#LOV2\\LOV2_030#Actually, Doctor, both Romulans and Vulcans suffer its effects.",
-	"#LOV2\\LOV2_031#An unusual compound, Captain. It can induce laughter and feelings of exhiliration in some, much the way nitrous oxide affects humans.",
-	"#LOV2\\LOV2_032#Be careful with that canister, Captain. I think you would not care to fall under the effects of laughing gas in these straits.",
-	"#LOV2\\LOV2_033#Compared to many molecular models, it is, Doctor.",
-	"#LOV2\\LOV2_034#I don't think that's useful in your experiment, Doctor.", // TYPO (in audio filename)
-	"#LOV2\\LOV2_035#In principle, Captain, this device is quite simple. When this chamber is empty and gas tanks are attached, it will combine the gases to make new compounds. If chemicals are placed in the chamber, the machine will combine them with the gases to create new materials.",
-	"#LOV2\\LOV2_036#It is, at the least, inappropriate for a starship crew on duty, Doctor.",
-	"#LOV2\\LOV2_037#It would take us several hours to get this machine working, Captain. I do not believe we will need it. The synthesis chamber should be able to give us what we need.",
-	"#LOV2\\LOV2_038#Please, Doctor. This is not a laughing matter.",
-	"#LOV2\\LOV2_039#This does not appear to provide us with anything useful.", // TYPO (in audio filename)
-	"#LOV2\\LOV2_040#The can looks much too heavy to carry, sir.",
-	"#LOV2\\LOV2_041#This room is very defensible, Captain -- if things get nasty, we may want to retreat to here.",
-	"#LOV2\\LOV2_043#I hope you don't want me to swab the deck with that, Captain.",
-	"#LOV2\\LOV2N000#You already have the ?.",
-	"#LOV2\\LOV2N001#A door.",
-	"#LOV2\\LOV2N002#A gas tank marked 'H'.",
-	"#LOV2\\LOV2N003#A gas tank marked 'N',",
-	"#LOV2\\LOV2N004#A gas tank marked 'O'.",
+
+	//"#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\\LOV2N006#A small field-effect anti-gravity unit, useful for moving things too heavy to lift and carry by muscle alone.",
 	"#LOV2\\LOV2N007#Gas feed is off.",
-	"#LOV2\\LOV2N008#Gas feed is on.",
-	"#LOV2\\LOV2N009#James Tiberius Kirk.",
-	"#LOV2\\LOV2N010#Lt. Ferris is carefully watching the hallway.", // TYPO
-	"#LOV2\\LOV2N011#McCoy is fidgeting around.",
-	"#LOV2\\LOV2N012#Nothing Happens.",
-	"#LOV2\\LOV2N013#Nothing happens.",
-	"#LOV2\\LOV2N014#Spock is analyzing the surroundings.",
-	"#LOV2\\LOV2N015#The item is much soggier than it used to be, but otherwise undamaged.",
-	"#LOV2\\LOV2N016#The machine synthesizes a liter of ammonia.",
-	"#LOV2\\LOV2N017#The machine synthesizes a liter of nitrous oxide.",
-	"#LOV2\\LOV2N018#The machine synthesizes a liter of pure water.",
-	"#LOV2\\LOV2N019#The machine synthesizes one liter of TLTDH gas.",
-	"#LOV2\\LOV2N024#There is no room for another canister.",
-	"#LOV2\\LOV2N025#There is something already in the chamber.",
-	"#LOV2\\LOV2N026#This is a science lab.",
-	"#LOV2\\LOV2N027#This is a storage cabinet.",
-	"#LOV2\\LOV2N028#This is a synthesizer, used to combine and replicate chemicals and form new compounds. This particular model has twin gas feeds.",
-	"#LOV2\\LOV2N029#This is the door to the synthesis chamber.",
-	"#LOV2\\LOV2N030#You attach the antigrav unit to the gas tank. It can be moved freely.",
-	"#LOV2\\LOV2N031#You attach the antigrav unit to the gas tank. It can be moved freely.",
-	"#LOV2\\LOV2N033#You have synthesized one liter of Romulan Laughing Gas.",
-	"#LOV2\\LOV2N034#You install the gas tank to the synthesizer's feed lines.",
-	"#LOV2\\LOV2N035#You install the gas tank to the synthesizer's feed lines.",
-	"#LOV2\\LOV2N036#You retrieve the Oroborus virus culture.", // TYPO
-	"#LOV2\\LOV2N037#You retrieve the Oroborus virus cure sample.", // TYPO
-	"#LOV2\\LOV2N038#You take a one litre container of TLTDH gas.",
-	"#LOV2\\LOV2N039#You take a one litre container of Ammonia.",
-	"#LOV2\\LOV2N040#You take a one litre container of Nitrous Oxide.",
-	"#LOV2\\LOV2N041#You take a one litre container of pure water.",
-	"#LOV2\\LOV2N042#You take the antigrav unit.",
-	"#LOV2\\LOV2N043#You take the hypo with Oroborus toxin cure.",
-	"#LOV2\\LOV2N044#You take the Polyberylcarbonate.",
-	"#LOV2\\LOV2N045#An Ardak 1000, the last word in molecular replication, one of the most advanced pieces of scientific equipment ever constructed.",
-	"#LOV2\\LOV2N046#The machine synthesizes a quantity serum in a hypo.",
-	"#LOV2\\LOV2N047#The machine synthesizes a quantity of bubbling grey goo.",
-	"#LOV2\\LOV2N048#The machine synthesizes a quantity of colorless goo.",
-	"#LOV2\\LOV2N049#The machine synthesizes a quantity of inert matter.",
-	"#LOV2\\LOV2N050#The machine synthesizes a quantity of wet grey goo.",
-	"#LOV2\\LOV2N051#The machine synthesizes a quantity of wet grey goo.",
-
-
-	"#LOV3\\LOV3_001#At least all this equipment appears to be operating.",
-	"#LOV3\\LOV3_002#A prime source of raw material for TLDTH gas.",
-	"#LOV3\\LOV3_003#Captain, the fusion reactor doesn't seem to have been tampered with. I suggest we leave the controls as they are.",
-	"#LOV3\\LOV3_004#Captain, we can introduce the Romulan Laughing Gas into the station's ventilation system from here.",
-	"#LOV3\\LOV3_005#Except for the Oroborus virus, I'm not picking up anything unusual.",
-	"#LOV3\\LOV3_006#I'm picking up some strange, airborne virus. I can't identify it without more information.",
-	"#LOV3\\LOV3_007#Ouch!",
-	"#LOV3\\LOV3_008#Ah. The station's fusion reactor. Very nice. What are we going to tour next, the ventilation system?",
-	"#LOV3\\LOV3_009#I didn't realize that they used these old fusion reactors anymore.",
-	"#LOV3\\LOV3_010#I don't suppose you'd enjoy the psychological release of a few good belly laughs, Spock? We could open the canister right here, if you like.",
-	"#LOV3\\LOV3_011#I think one application of gas is sufficient, Captain.",
-	"#LOV3\\LOV3_012#Nitrous oxide affects humans, but not Romulans. However, a similar effect can be produced by the gas TLTDH.",
-	"#LOV3\\LOV3_013#Nothing unusual is detected.",
-	"#LOV3\\LOV3_014#The fusion reactor is functioning at peak efficiency. There is no need to tamper with its current operation.",
-	"#LOV3\\LOV3_015#The unit cannot lift something fastened to the body of the station, Captain. The tank must be detached first.",
-	"#LOV3\\LOV3_016#This is not wise, Captain. I don't believe we can safely substitute a different gas in this location.",
-	"#LOV3\\LOV3_017#We should now be able to proceed safely to the lower level.",
-	"#LOV3\\LOV3_018#Captain, the instruments are far too delicate for such abuse. We may set off a chain reaction that would destroy the entire space station.",
-	"#LOV3\\LOV3_019#Actually, doctor, as Mr. Scott would tell you, the Cochrane-500 is renowned for its reliability and perfectly suited for a station of this size.",
-	"#LOV3\\LOV3_020#I would strongly recommend against it, Doctor.",
-	"#LOV3\\LOV3_021#Good thing the person who designed these stations built in safeguards against an accidental spill!",
-	"#LOV3\\LOV3_022#I guess this made it easier to replace the tank every so often, eh Captain?",
-	"#LOV3\\LOV3_023#It doesn't sound like it subdued them, Captain. If anything, it just made them angry.",
-	"#LOV3\\LOV3_024#Sir, I'll watch the door so we don't get cornered.",
-	"#LOV3\\LOV3_025#It sure beats hauling it around on our backs, sir.",
-	"#LOV3\\LOV3_026#Hey, this thing's real old, isn't it?",
-	"#LOV3\\LOV3N000#All readings are normal.", // TYPO: audio filename was wrong
-	"#LOV3\\LOV3N001#Cursing and coughing echo up the air shaft.",
-	"#LOV3\\LOV3N002#It's a standard adjustable metric socket wrench.",
-	"#LOV3\\LOV3N003#Kirk is looking closely at the equipment.",
-	"#LOV3\\LOV3N004#Lt. Ferris is carefully watching the hallway",
-	"#LOV3\\LOV3N005#McCoy is fidgeting around.",
-	"#LOV3\\LOV3N006#N gas tank.",
-	"#LOV3\\LOV3N007#The tank is too heavy to move by muscle alone.",
-	"#LOV3\\LOV3N008#Spock is analyzing the surroundings.",
-	"#LOV3\\LOV3N009#The air vent becomes wet.",
-	"#LOV3\\LOV3N010#The antigrav unit hums and emits the stink of ozone before it failsafes.",
-	"#LOV3\\LOV3N011#The shaft is too small to crawl through.",
-	"#LOV3\\LOV3N012#The tank detaches easily.",
-	"#LOV3\\LOV3N013#The tank fits into place and is easy to reattach.",
-	"#LOV3\\LOV3N014#The tank is large and heavy, with its feed lines firmly attached.",
-	"#LOV3\\LOV3N015#The tank is now firmly attached to its feed lines.",
-	"#LOV3\\LOV3N016#The vent is now open. It leads to the lower deck.",
-	"#LOV3\\LOV3N017#There is a pile of stripped insulation that fell out of the Engineering access panel.",
-	"#LOV3\\LOV3N018#There seems to be no effect.",
-	"#LOV3\\LOV3N019#This is a screen and filter for the ventilation shaft.",
-	"#LOV3\\LOV3N020#The panel closes.",
-	"#LOV3\\LOV3N021#The panel is open. You see vast quantities of dust and stripped insulation from wiring repairs made to the console in the past.",
-	"#LOV3\\LOV3N022#The panel opens. You see a gas tank labeled N, with its feed lines running deeper into the wall.",
-	"#LOV3\\LOV3N023#The panel opens.",
-	"#LOV3\\LOV3N024#This is the engineering room. All appears normal.",
-	"#LOV3\\LOV3N025#This vent is currently closed.",
-	"#LOV3\\LOV3N026#Turbines of a Cochrane-500 Class Fusion drive, manufactured over a century ago on Alpha Centuri.",
-	"#LOV3\\LOV3N027#You already have some insulation.",
-	"#LOV3\\LOV3N028#You already have the wrench.",
-	"#LOV3\\LOV3N029#You grab a handful of insulation.",
-	"#LOV3\\LOV3N030#You need something to pry this open.",
-	"#LOV3\\LOV3N031#You pick up a large wrench.",
-	"#LOV3\\LOV3N032#You replace the air vent cover.",
 	"#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.",
@@ -409,128 +186,11 @@ 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.",
-
-
-	"#LOV4\\LOV4_001#We aren't barbarians, in spite of what some people think.",
-	"#LOV4\\LOV4_002#Being surrounded by Romulans and not at gun point.",
-	"#LOV4\\LOV4_003#I know Mr. Spock. But we'll get through this.",
-	"#LOV4\\LOV4_004#Lt. Ferris, collect their weapons.",
-	"#LOV4\\LOV4_005#Well, there's a first time for everything.",
-	"#LOV4\\LOV4_006#Except for the Romulans, I can detect no other lifeforms in this room.",
-	"#LOV4\\LOV4_007#Are you crazy, Jim! That's not going to help in the least!",
-	"#LOV4\\LOV4_009#Careful there! They're suffering from dehydration but it's dangerous to give water to someone while they're unconscious. These men need serum or they're going to die!",
-	"#LOV4\\LOV4_010#Dammit, Jim, I'm a doctor, not a diplomat. I've got to try and save these men.",
-	"#LOV4\\LOV4_011#Dammit, Jim, these men are sick! They need my help!",
-	"#LOV4\\LOV4_012#I don't have the proper medicine to cure them, Jim.",
-	"#LOV4\\LOV4_013#I don't think they need another shot, Jim.",
-	"#LOV4\\LOV4_014#Jim, we need to synthesize more before we can use it.",
-	"#LOV4\\LOV4_015#Jim, we've got to help these men before they die.",
-	"#LOV4\\LOV4_016#Ouch!",
-	"#LOV4\\LOV4_017#That's not working, Jim.",
-	"#LOV4\\LOV4_018#The Romulans have been cured of the Oroborus virus, but they are severely dehydrated and need some rest.",
-	"#LOV4\\LOV4_019#The Romulans have been cured of the Oroborus virus.",
-	"#LOV4\\LOV4_020#The laughing gas did the trick, Jim, but these Romulans are still very, very sick -- they've only got hours left.",
-	"#LOV4\\LOV4_021#These Romulans will die soon if we can't cure them.",
-	"#LOV4\\LOV4_022#They'll be fine now, Jim. They just need some rest.",
-	"#LOV4\\LOV4_023#They're severely dehydrated, but they'll live. We got to them in time.",
-	"#LOV4\\LOV4_024#First time for what?",
-	"#LOV4\\LOV4_025#McCoy thinks to himself: 'Dammit, I'm a doctor, not a diplomat!'",
-	"#LOV4\\LOV4_026#Take it easy now... You'll feel better in a few minutes. Good thing we had the water available, Jim.",
-	"#LOV4\\LOV4_027#I have been in more comfortable situations, Captain.",
-	"#LOV4\\LOV4_028#These Romulans appear to be a negligible threat, sir.",
-	"#LOV4\\LOV4_029#Freeze, Romulans! You're covered!",
-	"#LOV4\\LOV4N000#Door Opens.",
-	"#LOV4\\LOV4N001#Ensign Ferris is looking at the Romulans, in case one of them decides to try something.",
-	"#LOV4\\LOV4N002#James Kirk views the scene with concern.",
-	"#LOV4\\LOV4N003#Mr. Spock is his usual stoic self.",
-	"#LOV4\\LOV4N004#The Romulans come to weakly, reaching for their weapons.",
-	"#LOV4\\LOV4N005#The Romulans stir weakly, then begin to get up... they've all been cured!",
-	"#LOV4\\LOV4N006#These Romulans are totally out of it.",
-	"#LOV4\\LOV4N007#They are in no condition to talk right now.",
-	"#LOV4\\LOV4N008#This door leads into another section of the base.",
-	"#LOV4\\LOV4N009#This is the ARK7's crew quarters. There are only Romulans here.",
-	"#LOV4\\LOV4N010#This ladder leads back to the research lab.",
-	"#LOV4\\LOV4N011#This Romulan is groggy, but conscious.",
-	"#LOV4\\LOV4N012#McCoy thinks to himself: 'Dammit, I'm a doctor, not a diplomat!'",
-	"#LOV4\\LOV4N013#The Romulans drink thirstily and empty the container.",
-
-
-	"#LOV5\\LOV5_001#Well gentlemen, let's go home.",
-	"#LOV5\\LOV5_002#Goodbye Carol.",
-	"#LOV5\\LOV5_003#Hello, Carol. It's good to see you again.",
-	"#LOV5\\LOV5_004#I assure you, the Federation would never undertake such a foul program. It was all an accident, right, Dr. Marcus?",
-	"#LOV5\\LOV5_005#Lt. Ferris, collect his weapon.",
-	"#LOV5\\LOV5_006#Save it for someone who's buying, Preax. Leave Federation space immediately or we'll scatter your atoms across the quadrant.",
-	"#LOV5\\LOV5_007#We aren't barbarians, in spite of what some might think.",
-	"#LOV5\\LOV5_008#You also conducted yourself in the most honorable fashion, Centurion Preax. You may return to Romulan space without Federation interference.",
-	"#LOV5\\LOV5_009#You always could put me in my place, couldn't you?",
-	"#LOV5\\LOV5_010#You are also a worthy opponent, Preax. May you live long and prosper.",
-	"#LOV5\\LOV5_011#Are you crazy, Jim? That's not going to help in the least!",
-	"#LOV5\\LOV5_013#Careful there! He's suffering from dehydration but it's dangerous to give water to someone while they're unconscious. This man needs serum or he's going to die!",
-	"#LOV5\\LOV5_014#Dammit, Jim, I'm a doctor, not a diplomat. These people will be fine. I've got to try and save the Romulans.",
 	"#LOV5\\LOV5_015#He's already cured, Jim.",
-	"#LOV5\\LOV5_016#He's infected with the virus too, Jim.",
-	"#LOV5\\LOV5_017#He's severely dehydrated, but he'll live.",
-	"#LOV5\\LOV5_018#He's too weak to talk, Jim. He needs medical attention.",
 	"#LOV5\\LOV5_019#I don't have the proper medicine to cure him, Jim.",
-	"#LOV5\\LOV5_020#Jim, we need to synthesize more before we can use it.",
-	"#LOV5\\LOV5_021#Oops! Almost forgot about you Spock.",
-	"#LOV5\\LOV5_023#That's not working, Jim.",
-	"#LOV5\\LOV5_024#The hostages are scared, but fine. The laughing gas did the trick, Jim, but the Romulan is still very, very sick -- he's only got hours left.",
-	"#LOV5\\LOV5_025#They've been through a good deal of stress, but they are already starting to recover. Their heart rate is dropping, and their blood pressure is also dropping.",
-	"#LOV5\\LOV5_026#Dammit, Jim, these men are sick! They need my help!",
 	"#LOV5\\LOV5_027#Finally, a human response!",
-	"#LOV5\\LOV5_028#My God, that's some kind of weapon!",
-	"#LOV5\\LOV5_029#Take it easy now... You'll feel better in a few minutes. Good thing we had the water available, Jim.",
 	"#LOV5\\LOV5_030#There. You're now cured.",
-	"#LOV5\\LOV5_031#What does this stuff do? What's going on here?",
-	"#LOV5\\LOV5_032#You'll never cease to amaze me, Jim.",
-	"#LOV5\\LOV5_033#I detect no other lifeforms in the room, Captain.",
-	"#LOV5\\LOV5_034#Fascinating. This device contains over ten million forms of life. Patterns I have never seen before.",
-	"#LOV5\\LOV5_036#Fascinating equipment. I believe I have seen this sort of equipment someplace before.",
 	"#LOV5\\LOV5_038#Thank you, Doctor.",
-	"#LOV5\\LOV5_039#Anthony and I will look after these Romulans, Jim. Dr. McCoy, we could use your expertise on discovering a cure for the virus. All our equipment is at your disposal.",
-	"#LOV5\\LOV5_040#Jim, it's you! Please untie us!",
-	"#LOV5\\LOV5_041#Thank God it's you, Jim. I'm so glad you came.",
-	"#LOV5\\LOV5_042#Thank you for saving our station, Jim.",
-	"#LOV5\\LOV5_043#Absolutely. We've already destroyed all cultures and purged the data files. This will never happen again.",
-	"#LOV5\\LOV5_044#Everyone on this project is an avowed pacifist, doctor. Myself included. We do not make weapons.",
-	"#LOV5\\LOV5_045#Goodbye Jim.",
-	"#LOV5\\LOV5_046#How about someone giving us a hand?",
-	"#LOV5\\LOV5_047#That's the one thing I could never do. Your place was wandering the galaxy, and that's the one thing I could never give you.",
-	"#LOV5\\LOV5_048#There was a time when I wouldn't have agreed with that statement. But I guess some things do get better with age.",
-	"#LOV5\\LOV5_049#We call this the Cradle, Mr. Spock. One day, I hope, something wonderful will be produced here.",
-	"#LOV5\\LOV5_050#We're conducting research into the origins of life in the universe. This is our equipment. We believe that... uh, well, I guess you don't have the time. You can get the background in my doctoral thesis.",
-	"#LOV5\\LOV5_051#We're testing the effect of radiation on combinations of simple and complex molecules. We're trying to see what new forms of life are developed, and how they compare to our own early development.",
-	"#LOV5\\LOV5_052#These Romulans appear to be a negligible threat, sir.",
-	"#LOV5\\LOV5_053#Freeze, Romulan! You're covered!",
-	"#LOV5\\LOV5_054#I do. You just pull on the ropes until they're untied.",
-	"#LOV5\\LOV5_055#Hey! Would you please untie us?",
-	"#LOV5\\LOV5_056#It's about time someone got here.",
-	"#LOV5\\LOV5_057#Hey? Does anyone in Starfleet know how to untie a knot?",
-	"#LOV5\\LOV5_058#I don't care who does it, but could somebody get around to doing it on this Stardate?",
-	"#LOV5\\LOV5_059#I have called off the Romulan attack on this station, Kirk. I believed your virus was some kind of deliberate attack, but your great honor and compassion have convinced me otherwise.",
-	"#LOV5\\LOV5_060#Phah! And I thought you a man of honor... You need not worry, Captain Kirk. Your lack of warrior spirit stinks even across the vacuum of space, and I am eager to be free of it.",
-	"#LOV5\\LOV5_061#You are an honorable adversary, Kirk. Jolan-tru.",
-	"#LOV5\\LOV5N000#Dr. Anthony Cheever, the assistant of Dr. Marcus.",
-	"#LOV5\\LOV5N001#Dr. Carol Marcus, head of this station's research team.",
-	"#LOV5\\LOV5N002#Dr. McCoy is viewing this scene with interest.",
-	"#LOV5\\LOV5N003#Ensign Ferris is wondering when they're going to give him a tough assignment for a change.",
-	"#LOV5\\LOV5N004#James T. Kirk, glad to see Carol Marcus again, yet slightly uncomfortable.",
-	"#LOV5\\LOV5N005#Mr. Spock is fascinated by these machines.",
-	"#LOV5\\LOV5N006#The Preax remains silent, but glances between you and your tied up companions.",
-	"#LOV5\\LOV5N007#The Romulan Preax stirs weakly, then begins to get up... he has been cured!",
-	"#LOV5\\LOV5N008#This is a very advanced research laboratory.",
-	"#LOV5\\LOV5N009#This is Dr. Carol Marcus' quarters. The hostages and four Romulans are here.",
-	"#LOV5\\LOV5N010#This ladder leads back to the main level of the station.",
-	"#LOV5\\LOV5N011#This Romulan commander is cautiously looking at you.",
-	"#LOV5\\LOV5N012#This Romulan commander is unconscious.",
-	"#LOV5\\LOV5N013#An odd looking device, almost like a 20th Century torpedo, fitted with an experimental gear.",
-	"#LOV5\\LOV5N014#Dr. Anthony Cheever, Marcus's assistant. He has been bound by the Romulans.",
-	"#LOV5\\LOV5N015#Dr. Carol Marcus, head of this station's research team. She has been bound by the Romulans.",
-	"#LOV5\\LOV5N016#Some odd looking equipment, connected to the torpedo.",
-	"#LOV5\\LOV5N017#The Romulan Preax weakly regains conscienceness, reaching for his weapon.",
-	"#LOV5\\LOV5N018#The Romulan Preax drinks thirstily and empties the container.",
 	"(Raises an eyebrow)", // NOTE: no corresponding audio
 
 
diff --git a/engines/startrek/text.h b/engines/startrek/text.h
index a802123..dcf76e1 100644
--- a/engines/startrek/text.h
+++ b/engines/startrek/text.h
@@ -191,16 +191,7 @@ enum GameStringIDs {
 	TX_TUG3_S07,
 	TX_TUG3_S08,
 
-	TX_LOV0_001,
-	TX_LOV0_002,
-	TX_LOV0_003,
-	TX_LOV0_004,
 	TX_LOV0_005,
-	TX_LOV0_006,
-	TX_LOV0_007,
-	TX_LOV0_008,
-	TX_LOV0_009,
-	TX_LOV0_010,
 	TX_LOV0_011,
 	TX_LOV0_012,
 	TX_LOV0_013,
@@ -212,20 +203,11 @@ enum GameStringIDs {
 	TX_LOV0_020,
 	TX_LOV0_021,
 	TX_LOV0_022,
-	TX_LOV0_023,
-	TX_LOV0_024,
 	TX_LOV0_025,
 	TX_LOV0_026,
-	TX_LOV0_027,
-	TX_LOV0_028,
 	TX_LOV0_029,
 	TX_LOV0_030,
-	TX_LOV0_031,
 	TX_LOV0_033,
-	TX_LOV0_035,
-	TX_LOV0_036,
-	TX_LOV0_037,
-	TX_LOV0_038,
 	TX_LOV0_039,
 	TX_LOV0_040,
 	TX_LOV0_041,
@@ -235,7 +217,6 @@ enum GameStringIDs {
 	TX_LOV0_046,
 	TX_LOV0_047,
 	TX_LOV0_048,
-	TX_LOV0_049,
 	TX_LOV0_050,
 	TX_LOV0_101,
 	TX_LOV0_102,
@@ -245,222 +226,10 @@ enum GameStringIDs {
 	TX_LOV0_106,
 	TX_LOV0_107,
 	TX_LOV0_124,
-	TX_LOV0N000,
-	TX_LOV0N001,
-	TX_LOV0N002,
-	TX_LOV0N003,
-	TX_LOV0N004,
-	TX_LOV0N005,
-	TX_LOV0N006,
-	TX_LOV0N007,
-	TX_LOV0N008,
-	TX_LOV0N009,
-
-
-	TX_LOV1_001,
-	TX_LOV1_002,
-	TX_LOV1_003,
-	TX_LOV1_004,
-	TX_LOV1_005,
-	TX_LOV1_006,
-	TX_LOV1_007,
-	TX_LOV1_008,
-	TX_LOV1_009,
 	TX_LOV1_010,
-	TX_LOV1_011,
-	TX_LOV1_012,
-	TX_LOV1_013,
-	TX_LOV1_014,
-	TX_LOV1_015,
-	TX_LOV1_016,
-	TX_LOV1_017,
-	TX_LOV1_018,
-	TX_LOV1_019,
-	TX_LOV1_021,
-	TX_LOV1_022,
-	TX_LOV1_023,
-	TX_LOV1_024,
-	TX_LOV1_025,
-	TX_LOV1_026,
-	TX_LOV1_027,
-	TX_LOV1_028,
-	TX_LOV1N000,
-	TX_LOV1N001,
-	TX_LOV1N002,
-	TX_LOV1N003,
-	TX_LOV1N004,
-	TX_LOV1N005,
-	TX_LOV1N006,
 	TX_LOV1N007,
-	TX_LOV1N008,
-	TX_LOV1N009,
-	TX_LOV1N010,
-	TX_LOV1N011,
-	TX_LOV1N012,
-	TX_LOV1N013,
-	TX_LOV1N014,
-	TX_LOV1N015,
-	TX_LOV1N016,
-	TX_LOV1N017,
-	TX_LOV1N018,
-	TX_LOV1N019,
-	TX_LOV1N020,
-	TX_LOV1N021,
-	TX_LOV1N022,
-	TX_LOV1N023,
-	TX_LOV1N034,
-	TX_LOV1N035,
-
-
-	TX_LOV2_001,
-	TX_LOV2_002,
-	TX_LOV2_003,
-	TX_LOV2_004,
-	TX_LOV2_005,
-	TX_LOV2_006,
-	TX_LOV2_007,
-	TX_LOV2_008,
-	TX_LOV2_009,
-	TX_LOV2_010,
-	TX_LOV2_011,
-	TX_LOV2_012,
-	TX_LOV2_014,
-	TX_LOV2_015,
-	TX_LOV2_016,
-	TX_LOV2_017,
-	TX_LOV2_018,
-	TX_LOV2_019,
-	TX_LOV2_020,
-	TX_LOV2_021,
-	TX_LOV2_022,
-	TX_LOV2_023,
-	TX_LOV2_024,
-	TX_LOV2_025,
-	TX_LOV2_026,
-	TX_LOV2_027,
-	TX_LOV2_028,
-	TX_LOV2_029,
-	TX_LOV2_030,
-	TX_LOV2_031,
-	TX_LOV2_032,
-	TX_LOV2_033,
-	TX_LOV2_034,
-	TX_LOV2_035,
-	TX_LOV2_036,
-	TX_LOV2_037,
-	TX_LOV2_038,
-	TX_LOV2_039,
-	TX_LOV2_040,
-	TX_LOV2_041,
-	TX_LOV2_043,
-	TX_LOV2N000,
-	TX_LOV2N001,
-	TX_LOV2N002,
-	TX_LOV2N003,
-	TX_LOV2N004,
 	TX_LOV2N005,
-	TX_LOV2N006,
 	TX_LOV2N007,
-	TX_LOV2N008,
-	TX_LOV2N009,
-	TX_LOV2N010,
-	TX_LOV2N011,
-	TX_LOV2N012,
-	TX_LOV2N013,
-	TX_LOV2N014,
-	TX_LOV2N015,
-	TX_LOV2N016,
-	TX_LOV2N017,
-	TX_LOV2N018,
-	TX_LOV2N019,
-	TX_LOV2N024,
-	TX_LOV2N025,
-	TX_LOV2N026,
-	TX_LOV2N027,
-	TX_LOV2N028,
-	TX_LOV2N029,
-	TX_LOV2N030,
-	TX_LOV2N031,
-	TX_LOV2N033,
-	TX_LOV2N034,
-	TX_LOV2N035,
-	TX_LOV2N036,
-	TX_LOV2N037,
-	TX_LOV2N038,
-	TX_LOV2N039,
-	TX_LOV2N040,
-	TX_LOV2N041,
-	TX_LOV2N042,
-	TX_LOV2N043,
-	TX_LOV2N044,
-	TX_LOV2N045,
-	TX_LOV2N046,
-	TX_LOV2N047,
-	TX_LOV2N048,
-	TX_LOV2N049,
-	TX_LOV2N050,
-	TX_LOV2N051,
-
-
-	TX_LOV3_001,
-	TX_LOV3_002,
-	TX_LOV3_003,
-	TX_LOV3_004,
-	TX_LOV3_005,
-	TX_LOV3_006,
-	TX_LOV3_007,
-	TX_LOV3_008,
-	TX_LOV3_009,
-	TX_LOV3_010,
-	TX_LOV3_011,
-	TX_LOV3_012,
-	TX_LOV3_013,
-	TX_LOV3_014,
-	TX_LOV3_015,
-	TX_LOV3_016,
-	TX_LOV3_017,
-	TX_LOV3_018,
-	TX_LOV3_019,
-	TX_LOV3_020,
-	TX_LOV3_021,
-	TX_LOV3_022,
-	TX_LOV3_023,
-	TX_LOV3_024,
-	TX_LOV3_025,
-	TX_LOV3_026,
-	TX_LOV3N000,
-	TX_LOV3N001,
-	TX_LOV3N002,
-	TX_LOV3N003,
-	TX_LOV3N004,
-	TX_LOV3N005,
-	TX_LOV3N006,
-	TX_LOV3N007,
-	TX_LOV3N008,
-	TX_LOV3N009,
-	TX_LOV3N010,
-	TX_LOV3N011,
-	TX_LOV3N012,
-	TX_LOV3N013,
-	TX_LOV3N014,
-	TX_LOV3N015,
-	TX_LOV3N016,
-	TX_LOV3N017,
-	TX_LOV3N018,
-	TX_LOV3N019,
-	TX_LOV3N020,
-	TX_LOV3N021,
-	TX_LOV3N022,
-	TX_LOV3N023,
-	TX_LOV3N024,
-	TX_LOV3N025,
-	TX_LOV3N026,
-	TX_LOV3N027,
-	TX_LOV3N028,
-	TX_LOV3N029,
-	TX_LOV3N030,
-	TX_LOV3N031,
-	TX_LOV3N032,
 	TX_LOV3NA08,
 	TX_LOV3NA09,
 	TX_LOV3NA20,
@@ -468,131 +237,13 @@ enum GameStringIDs {
 	TX_LOV3NA22,
 	TX_LOV3NA23,
 	TX_LOV3NJ32,
-
-
-	TX_LOV4_001,
-	TX_LOV4_002,
-	TX_LOV4_003,
-	TX_LOV4_004,
-	TX_LOV4_005,
-	TX_LOV4_006,
-	TX_LOV4_007,
-	TX_LOV4_009,
-	TX_LOV4_010,
-	TX_LOV4_011,
-	TX_LOV4_012,
-	TX_LOV4_013,
-	TX_LOV4_014,
-	TX_LOV4_015,
-	TX_LOV4_016,
-	TX_LOV4_017,
-	TX_LOV4_018,
-	TX_LOV4_019,
-	TX_LOV4_020,
-	TX_LOV4_021,
-	TX_LOV4_022,
-	TX_LOV4_023,
-	TX_LOV4_024,
-	TX_LOV4_025,
-	TX_LOV4_026,
-	TX_LOV4_027,
-	TX_LOV4_028,
-	TX_LOV4_029,
-	TX_LOV4N000,
-	TX_LOV4N001,
-	TX_LOV4N002,
-	TX_LOV4N003,
-	TX_LOV4N004,
-	TX_LOV4N005,
-	TX_LOV4N006,
-	TX_LOV4N007,
-	TX_LOV4N008,
-	TX_LOV4N009,
-	TX_LOV4N010,
-	TX_LOV4N011,
-	TX_LOV4N012,
-	TX_LOV4N013,
-
-
-	TX_LOV5_001,
-	TX_LOV5_002,
-	TX_LOV5_003,
-	TX_LOV5_004,
-	TX_LOV5_005,
-	TX_LOV5_006,
-	TX_LOV5_007,
-	TX_LOV5_008,
-	TX_LOV5_009,
-	TX_LOV5_010,
-	TX_LOV5_011,
-	TX_LOV5_013,
-	TX_LOV5_014,
 	TX_LOV5_015,
-	TX_LOV5_016,
-	TX_LOV5_017,
-	TX_LOV5_018,
 	TX_LOV5_019,
-	TX_LOV5_020,
-	TX_LOV5_021,
-	TX_LOV5_023,
-	TX_LOV5_024,
-	TX_LOV5_025,
-	TX_LOV5_026,
 	TX_LOV5_027,
-	TX_LOV5_028,
-	TX_LOV5_029,
 	TX_LOV5_030,
-	TX_LOV5_031,
-	TX_LOV5_032,
-	TX_LOV5_033,
-	TX_LOV5_034,
-	TX_LOV5_036,
 	TX_LOV5_038,
-	TX_LOV5_039,
-	TX_LOV5_040,
-	TX_LOV5_041,
-	TX_LOV5_042,
-	TX_LOV5_043,
-	TX_LOV5_044,
-	TX_LOV5_045,
-	TX_LOV5_046,
-	TX_LOV5_047,
-	TX_LOV5_048,
-	TX_LOV5_049,
-	TX_LOV5_050,
-	TX_LOV5_051,
-	TX_LOV5_052,
-	TX_LOV5_053,
-	TX_LOV5_054,
-	TX_LOV5_055,
-	TX_LOV5_056,
-	TX_LOV5_057,
-	TX_LOV5_058,
-	TX_LOV5_059,
-	TX_LOV5_060,
-	TX_LOV5_061,
-	TX_LOV5N000,
-	TX_LOV5N001,
-	TX_LOV5N002,
-	TX_LOV5N003,
-	TX_LOV5N004,
-	TX_LOV5N005,
-	TX_LOV5N006,
-	TX_LOV5N007,
-	TX_LOV5N008,
-	TX_LOV5N009,
-	TX_LOV5N010,
-	TX_LOV5N011,
-	TX_LOV5N012,
-	TX_LOV5N013,
-	TX_LOV5N014,
-	TX_LOV5N015,
-	TX_LOV5N016,
-	TX_LOV5N017,
-	TX_LOV5N018,
 	TX_LOV5C001, // Custom
 
-
 	TX_LOVA_100,
 	TX_LOVA_F01,
 	TX_LOVA_F02,





More information about the Scummvm-git-logs mailing list