[Scummvm-git-logs] scummvm master -> 9a7f2c8374e79ed44c62809e957e78a2b71fa1a5

bluegr bluegr at gmail.com
Tue Oct 29 16:46:50 CET 2019


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

Summary:
a0fb6deb29 STARTREK: Read the text for the SINS mission from RDF files
9a7f2c8374 STARTREK: Load the text of the TRIAL missions from RDF files


Commit: a0fb6deb298caa0b74f285f6122e8392193a53dd
    https://github.com/scummvm/scummvm/commit/a0fb6deb298caa0b74f285f6122e8392193a53dd
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-10-29T17:46:13+02:00

Commit Message:
STARTREK: Read the text for the SINS mission from RDF files

Changed paths:
    engines/startrek/room.cpp
    engines/startrek/room.h
    engines/startrek/rooms/sins0.cpp
    engines/startrek/rooms/sins1.cpp
    engines/startrek/rooms/sins2.cpp
    engines/startrek/rooms/sins3.cpp
    engines/startrek/rooms/sins4.cpp
    engines/startrek/rooms/sins5.cpp
    engines/startrek/text.cpp
    engines/startrek/text.h


diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index 0cc2a44..bd70898 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -157,12 +157,12 @@ void Room::loadRoomMessage(const char *text) {
 	Common::String patchedText = patchRoomMessage(text);
 	text = patchedText.c_str();
 
-	char textType = text[10];	// _ and U: talk message, N: look message, L: look with talker message
+	char textType = text[10];	// _, U and S: talk message, N: look message, L: look with talker message
 
 	if (text[5] != '\\')
 		error("loadRoomMessage: Invalid message");
 
-	isTalkMessage = (textType == '_' || textType == 'U');	// U = Uhura
+	isTalkMessage = (textType == '_' || textType == 'U' || textType == 'S');	// U = Uhura, S = Scotty
 	isLookMessage = (textType == 'N');
 	isLookWithTalkerMessage = (textType == 'L');
 
@@ -175,6 +175,11 @@ void Room::loadRoomMessage(const char *text) {
 		messageNum += COMMON_MESSAGE_OFFSET;
 	}
 
+	// For some reason, Uhura's messages (Uxx) follow the same numbering as the
+	// rest, but Scott's don't, and start from one.
+	if (textType == 'S')
+		messageNum += SCOTTY_MESSAGE_OFFSET;
+
 	if (isTalkMessage)
 		_talkMessages[messageNum] = text;
 	else if (isLookMessage)
@@ -213,6 +218,9 @@ Common::String Room::patchRoomMessage(const char *text) {
 		{ "#FEA6\\FEA6_017#", "isn't that just great", "isn't this just great" },
 		{ "#FEA6\\FEA6_019#", "that action, Captain It may", "that action, Captain. It may" },
 		{ "#FEA6\\FEA6N016#", "that attack you", "that attacked you" },
+		{ "#SIN2\\SIN2_012#", "I'm a surgeon not a alien", "I'm a surgeon, not an alien" },
+		{ "#SIN4\\SIN4_023#", "to bypass it's lock system", "to bypass its lock system" },
+		{ "#SIN5\\SIN5N012#", "Sparks explode and", "Sparks fly and" },
 		{ "", "", "" }
 	};
 
diff --git a/engines/startrek/room.h b/engines/startrek/room.h
index 9a2f477..8146dcb 100644
--- a/engines/startrek/room.h
+++ b/engines/startrek/room.h
@@ -62,6 +62,7 @@ const int RDF_BEAM_IN_POSITIONS = 0xaa;
 const int RDF_SPAWN_POSITIONS = 0xba;
 
 #define COMMON_MESSAGE_OFFSET 1000
+#define SCOTTY_MESSAGE_OFFSET 500
 
 class Room {
 public:
diff --git a/engines/startrek/rooms/sins0.cpp b/engines/startrek/rooms/sins0.cpp
index 63d77dd..5b50896 100644
--- a/engines/startrek/rooms/sins0.cpp
+++ b/engines/startrek/rooms/sins0.cpp
@@ -93,23 +93,23 @@ void Room::sins0Tick1() {
 }
 
 void Room::sins0LookAnywhere() {
-	showDescription(TX_SIN0N009);
+	showDescription(9, true);
 }
 
 void Room::sins0LookAtOpenDoor() {
-	showDescription(TX_SIN0N005);
+	showDescription(5, true);
 }
 
 void Room::sins0LookAtClosedDoor() {
-	showDescription(TX_SIN0N008);
+	showDescription(8, true);
 }
 
 void Room::sins0TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN0_009);
+	showText(TX_SPEAKER_SPOCK, 9, true);
 }
 
 void Room::sins0TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN0_011);
+	showText(TX_SPEAKER_MCCOY, 11, true);
 }
 
 void Room::sins0TalkToRedshirt() {
@@ -118,16 +118,16 @@ void Room::sins0TalkToRedshirt() {
 	// comments on how the small moon could have an atmosphere. This is more interesting
 	// and relevant, so that implementation is used instead.
 	if (false)
-		showText(TX_SPEAKER_MOSHER, TX_SIN0_024);
+		showText(TX_SPEAKER_MOSHER, 24, true);
 	else {
-		showText(TX_SPEAKER_MOSHER, TX_SIN0_026);
-		showText(TX_SPEAKER_SPOCK,  TX_SIN0_022);
-		showText(TX_SPEAKER_KIRK,   TX_SIN0_006);
+		showText(TX_SPEAKER_MOSHER, 26, true);
+		showText(TX_SPEAKER_SPOCK,  22, true);
+		showText(TX_SPEAKER_KIRK,   6, true);
 	}
 }
 
 void Room::sins0LookAtGround() {
-	showDescription(TX_SIN0N006);
+	showDescription(6, true);
 }
 
 void Room::sins0GetRock() {
@@ -139,82 +139,82 @@ void Room::sins0GetRock() {
 void Room::sins0PickedUpRock() {
 	_awayMission->disableInput = false;
 	loadActorStandAnim(OBJECT_KIRK);
-	showDescription(TX_SIN0N010);
+	showDescription(10, true);
 	giveItem(OBJECT_IS8ROCKS);
 }
 
 void Room::sins0UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_SIN0_018);
+	spockScan(DIR_S, 18, false, true);
 }
 
 void Room::sins0UseSTricorderOnGround() {
-	spockScan(DIR_S, TX_SIN0_017);
+	spockScan(DIR_S, 17, false, true);
 	_awayMission->sins.gatheredClues |= 1;
 }
 
 void Room::sins0UseSTricorderOnPlanet() {
-	spockScan(DIR_S, TX_SIN0_016);
+	spockScan(DIR_S, 16, false, true);
 }
 
 void Room::sins0Tick40() {
 	if (!_awayMission->sins.enteredRoom0FirstTime) {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_UHURA, TX_SIN0U082);
-		showText(TX_SPEAKER_KIRK,  TX_SIN0_003);
-		showText(TX_SPEAKER_SCOTT, TX_SIN0_S48);
-		showText(TX_SPEAKER_KIRK,  TX_SIN0_007);
-		showText(TX_SPEAKER_SCOTT, TX_SIN0_S50);
-		showText(TX_SPEAKER_KIRK,  TX_SIN0_005);
-		showText(TX_SPEAKER_SCOTT, TX_SIN0_S49);
-		showText(TX_SPEAKER_KIRK,  TX_SIN0_001);
+		showText(TX_SPEAKER_UHURA, 82, true);
+		showText(TX_SPEAKER_KIRK,  3, true);
+		showText(TX_SPEAKER_SCOTT, 48 + SCOTTY_MESSAGE_OFFSET);
+		showText(TX_SPEAKER_KIRK,  7, true);
+		showText(TX_SPEAKER_SCOTT, 50 + SCOTTY_MESSAGE_OFFSET);
+		showText(TX_SPEAKER_KIRK,  5, true);
+		showText(TX_SPEAKER_SCOTT, 49 + SCOTTY_MESSAGE_OFFSET);
+		showText(TX_SPEAKER_KIRK,  1, true);
 		_awayMission->sins.enteredRoom0FirstTime = true;
 	}
 }
 
 void Room::sins0LookAtStatue() {
-	showDescription(TX_SIN0N011);
-	showText(TX_SPEAKER_MCCOY,  TX_SIN0_015);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN0_021);
-	showText(TX_SPEAKER_MOSHER, TX_SIN0_027);
-	showText(TX_SPEAKER_MCCOY,  TX_SIN0_014);
+	showDescription(11, true);
+	showText(TX_SPEAKER_MCCOY,  15, true);
+	showText(TX_SPEAKER_SPOCK,  21, true);
+	showText(TX_SPEAKER_MOSHER, 27, true);
+	showText(TX_SPEAKER_MCCOY,  14, true);
 }
 
 void Room::sins0LookAtPlanet() {
-	showDescription(TX_SIN0N007);
+	showDescription(7, true);
 }
 
 void Room::sins0LookAtSky() {
 	// This seems unused, due to HOTSPOT_SKY not being mapped anywhere?
-	showDescription(TX_SIN0N004);
+	showDescription(4, true);
 }
 
 void Room::sins0LookAtKirk() {
-	showDescription(TX_SIN0N002);
+	showDescription(2, true);
 }
 
 void Room::sins0LookAtSpock() {
-	showDescription(TX_SIN0N003);
+	showDescription(3, true);
 }
 
 void Room::sins0LookAtMccoy() {
-	showDescription(TX_SIN0N000);
+	showDescription(0, true);
 }
 
 void Room::sins0LookAtRedshirt() {
-	showDescription(TX_SIN0N001);
+	showDescription(1, true);
 }
 
 void Room::sins0UseSTricorderOnClosedDoor() {
-	spockScan(DIR_S, TX_SIN0_019);
-	showText(TX_SPEAKER_MOSHER, TX_SIN0_025);
-	showText(TX_SPEAKER_MCCOY,  TX_SIN0_013);
-	showText(TX_SPEAKER_MOSHER, TX_SIN0_028);
+	spockScan(DIR_S, 19, false, true);
+	showText(TX_SPEAKER_MOSHER, 25, true);
+	showText(TX_SPEAKER_MCCOY,  13, true);
+	showText(TX_SPEAKER_MOSHER, 28, true);
 }
 
 void Room::sins0UseSTricorderOnStatue() {
-	spockScan(DIR_S, TX_SIN0_020);
-	showText(TX_SPEAKER_KIRK,  TX_SIN0_008);
-	showText(TX_SPEAKER_SPOCK, TX_SIN0_023);
+	spockScan(DIR_S, 20, false, true);
+	showText(TX_SPEAKER_KIRK,  8, true);
+	showText(TX_SPEAKER_SPOCK, 23, true);
 
 	if (!_awayMission->sins.gotPointsForScanningStatue) {
 		_awayMission->sins.gotPointsForScanningStatue = true;
@@ -223,20 +223,20 @@ void Room::sins0UseSTricorderOnStatue() {
 }
 
 void Room::sins0UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN0_012);
+	showText(TX_SPEAKER_MCCOY, 12, true);
 }
 
 void Room::sins0UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, TX_SIN0_010);
+	mccoyScan(DIR_S, 10, false, true);
 }
 
 void Room::sins0UseCommunicator() {
 	if (!_awayMission->sins.scottyInformedKirkAboutVirus) {
-		showText(TX_SPEAKER_KIRK,  TX_SIN0_004);
-		showText(TX_SPEAKER_SCOTT, TX_SIN0_S01);
-		showText(TX_SPEAKER_KIRK,  TX_SIN0_002);
+		showText(TX_SPEAKER_KIRK,  4, true);
+		showText(TX_SPEAKER_SCOTT, 1 + SCOTTY_MESSAGE_OFFSET, true);
+		showText(TX_SPEAKER_KIRK,  2, true);
 	} else
-		showText(TX_SPEAKER_UHURA, TX_SIN0U069);
+		showText(TX_SPEAKER_UHURA, 69, true);
 }
 
 void Room::sins0WalkToDoor() {
diff --git a/engines/startrek/rooms/sins1.cpp b/engines/startrek/rooms/sins1.cpp
index e287368..073837b 100644
--- a/engines/startrek/rooms/sins1.cpp
+++ b/engines/startrek/rooms/sins1.cpp
@@ -117,74 +117,74 @@ void Room::sins1Tick1() {
 }
 
 void Room::sins1LookAnywhere() {
-	showDescription(TX_SIN1N001);
+	showDescription(1, true);
 }
 
 void Room::sins1LookAtLock() {
-	showDescription(TX_SIN1N009);
+	showDescription(9, true);
 }
 
 void Room::sins1LookAtDoor() {
 	// NOTE: This function had two implementations (one unused).
 	if (true)
-		showDescription(TX_SIN1N010);
+		showDescription(10, true);
 	else
-		showDescription(TX_SIN1N008);
+		showDescription(8, true);
 }
 
 void Room::sins1LookAtPanel() {
-	showDescription(TX_SIN1N003);
+	showDescription(3, true);
 }
 
 void Room::sins1LookAtKeypad() {
-	showDescription(TX_SIN1N011);
+	showDescription(11, true);
 }
 
 void Room::sins1UseSTricorderOnPanel() {
-	spockScan(DIR_N, TX_SIN1_010);
+	spockScan(DIR_N, 10, false, true);
 }
 
 void Room::sins1UseSTricorderOnKeypad() {
-	spockScan(DIR_N, TX_SIN1_021);
+	spockScan(DIR_N, 21, false, true);
 }
 
 void Room::sins1UseSTricorderOnLock() {
-	spockScan(DIR_N, TX_SIN1_009);
+	spockScan(DIR_N, 9, false, true);
 }
 
 void Room::sins1UseSTricorderOnDoor() {
 	if (!_awayMission->sins.openedOuterDoor)
-		spockScan(DIR_N, TX_SIN1_019);
+		spockScan(DIR_N, 19, false, true);
 }
 
 void Room::sins1UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_SIN1_024);
+	spockScan(DIR_S, 24, false, true);
 }
 
 void Room::sins1UseSTricorderOnLens() {
 	if (!_awayMission->sins.doorLaserFiredOnce)
-		spockScan(DIR_N, TX_SIN1_022);
+		spockScan(DIR_N, 22, false, true);
 	else // BUGFIX: Original didn't do the tricorder animation, etc. in this case
-		spockScan(DIR_N, TX_SIN1_023);
+		spockScan(DIR_N, 23, false, true);
 }
 
 void Room::sins1UseRockOnDoor() {
-	showDescription(TX_SIN1N007);
+	showDescription(7, true);
 }
 
 void Room::sins1UseRedshirtOnKeypad() {
 	if (!_awayMission->sins.openedOuterDoor)
-		showText(TX_SPEAKER_MOSHER, TX_SIN1_028);
+		showText(TX_SPEAKER_MOSHER, 28, true);
 }
 
 void Room::sins1UseMccoyOnKeypad() {
 	if (!_awayMission->sins.openedOuterDoor)
-		showText(TX_SPEAKER_MCCOY, TX_SIN1_012);
+		showText(TX_SPEAKER_MCCOY, 12, true);
 }
 
 void Room::sins1UseKirkOnKeypad() {
 	if (!_awayMission->sins.openedOuterDoor) {
-		showText(TX_SPEAKER_KIRK, TX_SIN1_001);
+		showText(TX_SPEAKER_KIRK, 1, true);
 		sins1UseSpockOnKeypad();
 	}
 }
@@ -228,13 +228,13 @@ void Room::sins1EnteredCorrectCode() {
 }
 
 void Room::sins1DoorDoneOpening() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN1_011);
+	showText(TX_SPEAKER_SPOCK, 11, true);
 }
 
 void Room::sins1EnteredIncorrectCode() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_W;
 	walkCrewman(OBJECT_SPOCK, 0xf3, 0xad);
-	showText(TX_SPEAKER_SPOCK, TX_SIN1_017);
+	showText(TX_SPEAKER_SPOCK, 17, true);
 }
 
 void Room::sins1EnteredSacredSofNumber() {
@@ -246,12 +246,12 @@ void Room::sins1EnteredSacredSofNumber() {
 }
 
 void Room::sins1UsePhaserOnDoor() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN1_016);
+	showText(TX_SPEAKER_SPOCK, 16, true);
 }
 
 void Room::sins1DoorUsedLaser() {
 	loadActorStandAnim(OBJECT_9);
-	showText(TX_SPEAKER_SPOCK, TX_SIN1_018);
+	showText(TX_SPEAKER_SPOCK, 18, true);
 
 	_awayMission->sins.field33 = true;
 	_awayMission->sins.doorLaserFiredOnce = true;
@@ -259,13 +259,13 @@ void Room::sins1DoorUsedLaser() {
 
 void Room::sins1Tick40() {
 	if (!_awayMission->sins.scottyInformedKirkAboutVirus) {
-		showText(TX_SPEAKER_SCOTT, TX_SIN1_S10);
-		showText(TX_SPEAKER_KIRK,  TX_SIN1_007);
-		showText(TX_SPEAKER_SCOTT, TX_SIN1_S18);
-		showText(TX_SPEAKER_KIRK,  TX_SIN1_005);
-		showText(TX_SPEAKER_SCOTT, TX_SIN1_S85);
-		showText(TX_SPEAKER_KIRK,  TX_SIN1_003);
-		showText(TX_SPEAKER_SCOTT, TX_SIN1_S17);
+		showText(TX_SPEAKER_SCOTT, 10 + SCOTTY_MESSAGE_OFFSET, true);
+		showText(TX_SPEAKER_KIRK,  7, true);
+		showText(TX_SPEAKER_SCOTT, 18 + SCOTTY_MESSAGE_OFFSET, true);
+		showText(TX_SPEAKER_KIRK,  5, true);
+		showText(TX_SPEAKER_SCOTT, 85 + SCOTTY_MESSAGE_OFFSET, true);
+		showText(TX_SPEAKER_KIRK,  3, true);
+		showText(TX_SPEAKER_SCOTT, 17 + SCOTTY_MESSAGE_OFFSET, true);
 
 		_awayMission->sins.scottyInformedKirkAboutVirus = true;
 		_awayMission->disableInput = false;
@@ -273,8 +273,8 @@ void Room::sins1Tick40() {
 }
 
 void Room::sins1TalkToKirk() {
-	showText(TX_SPEAKER_KIRK,  TX_SIN1_006);
-	showText(TX_SPEAKER_SPOCK, TX_SIN1_027);
+	showText(TX_SPEAKER_KIRK,  6, true);
+	showText(TX_SPEAKER_SPOCK, 27, true);
 }
 
 void Room::sins1TalkToSpock() {
@@ -282,58 +282,58 @@ void Room::sins1TalkToSpock() {
 	// the energy source is coming from. The second (unused) one says to "carefully
 	// consider what we know about this culture".
 	if (true)
-		showText(TX_SPEAKER_SPOCK, TX_SIN1_020);
+		showText(TX_SPEAKER_SPOCK, 20, true);
 	else
-		showText(TX_SPEAKER_SPOCK, TX_SIN1_025);
+		showText(TX_SPEAKER_SPOCK, 25, true);
 }
 
 void Room::sins1TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN1_015);
+	showText(TX_SPEAKER_MCCOY, 15, true);
 }
 
 void Room::sins1TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN1_030);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN1_026);
-	showText(TX_SPEAKER_MOSHER, TX_SIN1_029);
+	showText(TX_SPEAKER_MOSHER, 30, true);
+	showText(TX_SPEAKER_SPOCK,  26, true);
+	showText(TX_SPEAKER_MOSHER, 29, true);
 }
 
 void Room::sins1LookAtKirk() {
-	showDescription(TX_SIN1N005);
+	showDescription(5, true);
 }
 
 void Room::sins1LookAtSpock() {
-	showDescription(TX_SIN1N004);
+	showDescription(4, true);
 }
 
 void Room::sins1LookAtMccoy() {
-	showDescription(TX_SIN1N006);
+	showDescription(6, true);
 }
 
 void Room::sins1LookAtRedshirt() {
-	showDescription(TX_SIN1N002);
+	showDescription(2, true);
 }
 
 void Room::sins1LookAtLens() {
-	showDescription(TX_SIN1N000);
+	showDescription(0, true);
 }
 
 void Room::sins1UseCommunicator() {
 	if (!_awayMission->sins.enteredRoom2FirstTime) {
-		showText(TX_SPEAKER_KIRK,  TX_SIN1_008);
-		showText(TX_SPEAKER_SCOTT, TX_SIN1_S51);
-		showText(TX_SPEAKER_KIRK,  TX_SIN1_002);
-		showText(TX_SPEAKER_SCOTT, TX_SIN1_S20);
-		showText(TX_SPEAKER_KIRK,  TX_SIN1_004);
+		showText(TX_SPEAKER_KIRK,  8, true);
+		showText(TX_SPEAKER_SCOTT, 51 + SCOTTY_MESSAGE_OFFSET, true);
+		showText(TX_SPEAKER_KIRK,  2, true);
+		showText(TX_SPEAKER_SCOTT, 20 + SCOTTY_MESSAGE_OFFSET, true);
+		showText(TX_SPEAKER_KIRK,  4, true);
 	} else
-		showText(TX_SPEAKER_UHURA, TX_SIN1U070);
+		showText(TX_SPEAKER_UHURA, 70, true);
 }
 
 void Room::sins1UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN1_014);
+	showText(TX_SPEAKER_MCCOY, 14, true);
 }
 
 void Room::sins1UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, TX_SIN1_013);
+	mccoyScan(DIR_S, 13, false, true);
 }
 
 void Room::sins1WalkToDoor() {
diff --git a/engines/startrek/rooms/sins2.cpp b/engines/startrek/rooms/sins2.cpp
index b85ca34..b045f01 100644
--- a/engines/startrek/rooms/sins2.cpp
+++ b/engines/startrek/rooms/sins2.cpp
@@ -104,15 +104,15 @@ void Room::sins2Tick1() {
 }
 
 void Room::sins2UsePhaserOnDoor() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN2_025);
+	showText(TX_SPEAKER_SPOCK, 25, true);
 }
 
 void Room::sins2UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_SIN2_026);
+	spockScan(DIR_S, 26, true);
 }
 
 void Room::sins2UseKirkOnTerminal() {
-	showText(TX_SPEAKER_KIRK, TX_SIN2_002);
+	showText(TX_SPEAKER_KIRK, 2, true);
 	sins2UseSpockOnTerminal();
 }
 
@@ -127,56 +127,56 @@ void Room::sins2SpockReachedTerminal() {
 }
 
 void Room::sins2SpockUsedTerminal() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN2_042);
-	showText(TX_SPEAKER_SPOCK, TX_SIN2_044);
+	showText(TX_SPEAKER_SPOCK, 42, true);
+	showText(TX_SPEAKER_SPOCK, 44, true);
 
 	if (!_awayMission->sins.gotPointsForAccessingTerminal) {
 		_awayMission->sins.missionScore += 2;
 		_awayMission->sins.gotPointsForAccessingTerminal = true;
 	}
 
-	showText(TX_SPEAKER_MCCOY,  TX_SIN2_015);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_032);
-	showText(TX_SPEAKER_MOSHER, TX_SIN2_050);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_035);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_043);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_041);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_040);
-	showText(TX_SPEAKER_MCCOY,  TX_SIN2_021);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_034);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_031);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_038);
-	showText(TX_SPEAKER_MCCOY,  TX_SIN2_020);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_033);
-	showText(TX_SPEAKER_KIRK,   TX_SIN2_007);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_037);
-	showText(TX_SPEAKER_MCCOY,  TX_SIN2_022);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN2_029);
+	showText(TX_SPEAKER_MCCOY,  15, true);
+	showText(TX_SPEAKER_SPOCK,  32, true);
+	showText(TX_SPEAKER_MOSHER, 50, true);
+	showText(TX_SPEAKER_SPOCK,  35, true);
+	showText(TX_SPEAKER_SPOCK,  43, true);
+	showText(TX_SPEAKER_SPOCK,  41, true);
+	showText(TX_SPEAKER_SPOCK,  40, true);
+	showText(TX_SPEAKER_MCCOY,  21, true);
+	showText(TX_SPEAKER_SPOCK,  34, true);
+	showText(TX_SPEAKER_SPOCK,  31, true);
+	showText(TX_SPEAKER_SPOCK,  38, true);
+	showText(TX_SPEAKER_MCCOY,  20, true);
+	showText(TX_SPEAKER_SPOCK,  33, true);
+	showText(TX_SPEAKER_KIRK,    7, true);
+	showText(TX_SPEAKER_SPOCK,  37, true);
+	showText(TX_SPEAKER_MCCOY,  22, true);
+	showText(TX_SPEAKER_SPOCK,  29, true);
 }
 
 void Room::sins2UseMccoyOnTerminal() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN2_012);
+	showText(TX_SPEAKER_MCCOY, 12, true);
 }
 
 void Room::sins2UseRedshirtOnTerminal() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN2_045);
+	showText(TX_SPEAKER_MOSHER, 45, true);
 }
 
 void Room::sins2UseSTricorderOnTerminal() {
-	spockScan(DIR_W, TX_SIN2_009);
+	spockScan(DIR_W, 9, false, true);
 }
 
 void Room::sins2UseSTricorderOnKeypad() {
-	spockScan(DIR_N, TX_SIN2_028);
+	spockScan(DIR_N, 28, false, true);
 }
 
 void Room::sins2UseSTricorderOnDoor() {
-	spockScan(DIR_N, TX_SIN2_027);
+	spockScan(DIR_N, 27, false, true);
 }
 
 void Room::sins2UseKirkOnKeypad() {
 	if (!_awayMission->sins.openedInnerDoor) {
-		showText(TX_SPEAKER_KIRK, TX_SIN2_001);
+		showText(TX_SPEAKER_KIRK, 01, true);
 		sins2UseSpockOnKeypad();
 	}
 }
@@ -212,105 +212,105 @@ void Room::sins2EnteredCorrectCode() {
 }
 
 void Room::sins2EnteredIncorrectCode() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN2_024); // BUGFIX: Speaker is spock, not "none"
+	showText(TX_SPEAKER_SPOCK, 24, true); // BUGFIX: Speaker is spock, not "none"
 }
 
 void Room::sins2DoorFinishedOpening() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN2_010);
+	showText(TX_SPEAKER_SPOCK, 10, true);
 }
 
 void Room::sins2Tick40() {
 	if (!_awayMission->sins.enteredRoom2FirstTime) {
 		_awayMission->disableInput = false;
 
-		showText(TX_SPEAKER_KIRK,  TX_SIN2_005);
-		showText(TX_SPEAKER_SCOTT, TX_SIN2_S05);
-		showText(TX_SPEAKER_UHURA, TX_SIN2U085);
-		showText(TX_SPEAKER_KIRK,  TX_SIN2_008);
-		showText(TX_SPEAKER_UHURA, TX_SIN2U097);
+		showText(TX_SPEAKER_KIRK,   5, true);
+		showText(TX_SPEAKER_SCOTT,  5 + SCOTTY_MESSAGE_OFFSET, true);
+		showText(TX_SPEAKER_UHURA, 85, true);
+		showText(TX_SPEAKER_KIRK,   8, true);
+		showText(TX_SPEAKER_UHURA, 97, true);
 		showText(TX_SPEAKER_MCCOY, TX_SIN2_F26);
-		showText(TX_SPEAKER_UHURA, TX_SIN2U096);
-		showText(TX_SPEAKER_MCCOY, TX_SIN2_019);
-		showText(TX_SPEAKER_KIRK,  TX_SIN2_004);
+		showText(TX_SPEAKER_UHURA, 96, true);
+		showText(TX_SPEAKER_MCCOY, 19, true);
+		showText(TX_SPEAKER_KIRK,   4, true);
 
 		_awayMission->sins.enteredRoom2FirstTime = true;
 	}
 }
 
 void Room::sins2LookAnywhere() {
-	showDescription(TX_SIN2N006);
+	showDescription(6, true);
 }
 
 void Room::sins2LookAtOpenDoor() {
-	showDescription(TX_SIN2N007);
+	showDescription(7, true);
 }
 
 void Room::sins2LookAtTerminal() {
-	showDescription(TX_SIN2N000);
+	showDescription(0, true);
 }
 
 void Room::sins2LookAtKeypad() {
-	showDescription(TX_SIN2N001);
+	showDescription(1, true);
 }
 
 void Room::sins2LookAtKirk() {
-	showDescription(TX_SIN2N003);
+	showDescription(3, true);
 }
 
 void Room::sins2LookAtSpock() {
-	showDescription(TX_SIN2N005);
+	showDescription(5, true);
 }
 
 void Room::sins2LookAtMccoy() {
-	showDescription(TX_SIN2N004);
+	showDescription(4, true);
 }
 
 void Room::sins2LookAtRedshirt() {
-	showDescription(TX_SIN2N002);
+	showDescription(2, true);
 }
 
 void Room::sins2TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_SIN2_003);
+	showText(TX_SPEAKER_KIRK, 3, true);
 }
 
 void Room::sins2TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN2_039);
-	showText(TX_SPEAKER_MCCOY, TX_SIN2_016);
+	showText(TX_SPEAKER_SPOCK, 39, true);
+	showText(TX_SPEAKER_MCCOY, 16, true);
 }
 
 void Room::sins2TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY,  TX_SIN2_023);
-	showText(TX_SPEAKER_MOSHER, TX_SIN2_049);
+	showText(TX_SPEAKER_MCCOY,  23, true);
+	showText(TX_SPEAKER_MOSHER, 49, true);
 }
 
 void Room::sins2TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN2_047);
+	showText(TX_SPEAKER_MOSHER, 47, true);
 }
 
 void Room::sins2LookAtDoor() {
 	if (!_awayMission->sins.openedInnerDoor)
-		showDescription(TX_SIN2N008);
+		showDescription(8, true);
 }
 
 void Room::sins2UseSpockOnDoor() {
 	if (!_awayMission->sins.openedInnerDoor) {
 		showText(TX_SPEAKER_SPOCK,  TX_SIN2_F12);
-		showText(TX_SPEAKER_MOSHER, TX_SIN2_048);
-		showText(TX_SPEAKER_SPOCK,  TX_SIN2_030);
+		showText(TX_SPEAKER_MOSHER, 48, true);
+		showText(TX_SPEAKER_SPOCK,  30, true);
 	}
 }
 
 void Room::sins2UseCommunicator() {
 	if (!_awayMission->sins.enteredRoom4FirstTime) {
-		showText(TX_SPEAKER_KIRK,  TX_SIN2_006);
-		showText(TX_SPEAKER_SCOTT, TX_SIN2_S16);
-		showText(TX_SPEAKER_MCCOY, TX_SIN2_017);
+		showText(TX_SPEAKER_KIRK,  6, true);
+		showText(TX_SPEAKER_SCOTT, 16 + SCOTTY_MESSAGE_OFFSET, true);
+		showText(TX_SPEAKER_MCCOY, 17, true);
 	} else
-		showText(TX_SPEAKER_UHURA, TX_SIN1U070);
+		showText(TX_SPEAKER_UHURA, 70, true);
 }
 
 void Room::sins2UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN2_014);
+	showText(TX_SPEAKER_MCCOY, 14, true);
 }
 
 void Room::sins2UseMTricorderOnCrewman() {
@@ -319,12 +319,12 @@ void Room::sins2UseMTricorderOnCrewman() {
 
 void Room::sins2UseMccoyOnKeypad() {
 	if (!_awayMission->sins.openedInnerDoor)
-		showText(TX_SPEAKER_MCCOY, TX_SIN2_013);
+		showText(TX_SPEAKER_MCCOY, 13, true);
 }
 
 void Room::sins2UseRedshirtOnKeypad() {
 	if (!_awayMission->sins.openedInnerDoor)
-		showText(TX_SPEAKER_MOSHER, TX_SIN2_046);
+		showText(TX_SPEAKER_MOSHER, 46, true);
 }
 
 void Room::sins2WalkToDoor() {
diff --git a/engines/startrek/rooms/sins3.cpp b/engines/startrek/rooms/sins3.cpp
index f04450b..2704e11 100644
--- a/engines/startrek/rooms/sins3.cpp
+++ b/engines/startrek/rooms/sins3.cpp
@@ -148,60 +148,57 @@ void Room::sins3Tick1() {
 }
 
 void Room::sins3UseSTricorderOnBox() {
-	spockScan(DIR_S, TX_SIN3_003);
+	spockScan(DIR_S, 3, false, true);
 }
 
 void Room::sins3UseSTricorderOnMonitor() {
-	spockScan(DIR_N, TX_SIN3_018);
+	spockScan(DIR_N, 18, false, true);
 }
 
 void Room::sins3UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_SIN3_017);
+	spockScan(DIR_S, 17, false, true);
 }
 
 void Room::sins3UseSTricorderOnDrill() {
-	spockScan(DIR_E, TX_SIN3_016);
+	spockScan(DIR_E, 16, false, true);
 }
 
 void Room::sins3UseSTricorderOnPanel() {
 	if (_awayMission->sins.scannedKeycardLock) {
-		spockScan(DIR_E, TX_SIN3_015);
+		spockScan(DIR_E, 15, false, true);
 		_awayMission->sins.laserPattern = 1;
 	} else
-		spockScan(DIR_E, TX_SIN3_019);
+		spockScan(DIR_E, 19, false, true);
 }
 
 void Room::sins3LookAtDrill() {
-	showDescription(TX_SIN3N012);
+	showDescription(12, true);
 }
 
 void Room::sins3LookAtPanel() {
-	showDescription(TX_SIN3N011);
+	showDescription(11, true);
 }
 
 void Room::sins3LookAtMonitor() {
-	showDescription(TX_SIN3N007);
+	showDescription(7, true);
 }
 
 void Room::sins3LookAnywhere() {
-	showDescription(TX_SIN3N013);
+	showDescription(13, true);
 }
 
 void Room::sins3UseSTricorderOnWall() {
-	// NOTE: this event has two implementations, one unused.
-	if (true)
-		spockScan(DIR_E, TX_SIN3_023);
-	else
-		spockScan(DIR_S, TX_SIN3_022);
+	// NOTE: this event has two implementations (index 23 and 22), one unused.
+	spockScan(DIR_E, 23, false, true);
 }
 
 void Room::sins3LookAtBox() {
 	if (_awayMission->sins.boxState == 0)
-		showDescription(TX_SIN3N000);
+		showDescription(0, true);
 	else if (_awayMission->sins.boxState == 1)
-		showDescription(TX_SIN3N008);
+		showDescription(8, true);
 	else if (_awayMission->sins.boxState == 2)
-		showDescription(TX_SIN3N005);
+		showDescription(5, true);
 }
 
 void Room::sins3UseKirkOnBox() {
@@ -295,9 +292,9 @@ void Room::sins3KirkGotBoxContents() {
 
 void Room::sins3Tick30() {
 	if (!_awayMission->sins.enteredRoom3FirstTime) {
-		showText(TX_SPEAKER_MCCOY, TX_SIN3_012);
-		showText(TX_SPEAKER_SPOCK, TX_SIN3_024);
-		showText(TX_SPEAKER_MCCOY, TX_SIN3_013);
+		showText(TX_SPEAKER_MCCOY, 12, true);
+		showText(TX_SPEAKER_SPOCK, 24, true);
+		showText(TX_SPEAKER_MCCOY, 13, true);
 		_awayMission->sins.enteredRoom3FirstTime = true;
 		_awayMission->disableInput = false;
 	}
@@ -305,13 +302,13 @@ void Room::sins3Tick30() {
 
 void Room::sins3Tick60() {
 	if (_awayMission->sins.gatheredClues == 7) {
-		showText(TX_SPEAKER_SPOCK, TX_SIN3_007);
+		showText(TX_SPEAKER_SPOCK, 7, true);
 		_awayMission->sins.gatheredClues |= 8;
 	}
 }
 
 void Room::sins3UseKirkOnPanel() {
-	showText(TX_SPEAKER_KIRK, TX_SIN3_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 	sins3UseSpockOnPanel();
 }
 
@@ -336,7 +333,7 @@ void Room::sins3SpockReachedPanel() {
 		if (_awayMission->sins.laserPattern == 0 && _awayMission->sins.laserSetting == 3)
 			// High setting can't be used until the template pattern has been uploaded to
 			// the machine
-			showText(TX_SPEAKER_SPOCK, TX_SIN3_005);
+			showText(TX_SPEAKER_SPOCK, 5, true);
 		else if (_awayMission->sins.moldState != -1) {
 			if (_awayMission->sins.moldState == 0) { // Mold not yet created
 				loadActorAnim2(OBJECT_SPOCK, "susemn");
@@ -375,7 +372,7 @@ void Room::sins3SpockReachedPanel() {
 				}
 			} else { // moldState == 2 or 4 (mold created; either keycard is in it, or nothing)
 				// "Template would be damaged from direct fire"
-				showText(TX_SPEAKER_SPOCK, TX_SIN3_006);
+				showText(TX_SPEAKER_SPOCK, 6, true);
 			}
 		}
 	}
@@ -423,12 +420,12 @@ void Room::sins3RockTurnedIntoIDCard() {
 }
 
 void Room::sins3RockVaporized() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN3_021);
+	showText(TX_SPEAKER_SPOCK, 21, true);
 }
 
 void Room::sins3UseDrillAnywhere() {
 	// It isn't possible to "use" a hotspot on something else, so this is never called?
-	showDescription(TX_SIN3N009);
+	showDescription(9, true);
 }
 
 void Room::sins3GetIDCard() {
@@ -452,61 +449,61 @@ void Room::sins3PickedUpIDCard() {
 
 void Room::sins3LookAtItemBeingDrilled() {
 	if (_awayMission->sins.moldState == 2)
-		showDescription(TX_SIN3N006);
+		showDescription(6, true);
 	else if (_awayMission->sins.moldState == 3)
-		showDescription(TX_SIN3N014);
+		showDescription(14, true);
 	else if (_awayMission->sins.moldState == 4)
-		showDescription(TX_SIN3N010);
+		showDescription(10, true);
 }
 
 void Room::sins3LookAtKirk() {
-	showDescription(TX_SIN3N003);
+	showDescription(3, true);
 }
 
 void Room::sins3LookAtSpock() {
-	showDescription(TX_SIN3N004);
+	showDescription(4, true);
 }
 
 void Room::sins3LookAtMccoy() {
-	showDescription(TX_SIN3N001); // BUGFIX: Speaker is "nobody", not Dr. McCoy
+	showDescription(1, true); // BUGFIX: Speaker is "nobody", not Dr. McCoy
 }
 
 void Room::sins3LookAtRedshirt() {
-	showDescription(TX_SIN3N002);
+	showDescription(2, true);
 }
 
 void Room::sins3TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_SIN3_002);
+	showText(TX_SPEAKER_KIRK, 2, true);
 }
 
 void Room::sins3TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN3_020);
+	showText(TX_SPEAKER_SPOCK, 20, true);
 }
 
 void Room::sins3TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN3_011);
+	showText(TX_SPEAKER_MCCOY, 11, true);
 }
 
 void Room::sins3TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN3_026);
-	showText(TX_SPEAKER_MCCOY,  TX_SIN3_014);
-	showText(TX_SPEAKER_MOSHER, TX_SIN3_027);
+	showText(TX_SPEAKER_MOSHER, 26, true);
+	showText(TX_SPEAKER_MCCOY,  14, true);
+	showText(TX_SPEAKER_MOSHER, 27, true);
 }
 
 void Room::sins3UseCommunicator() {
-	showText(TX_SPEAKER_UHURA, TX_SIN3U072);
+	showText(TX_SPEAKER_UHURA, 72, true);
 }
 
 void Room::sins3UseSpockOnDrill() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN3_004);
+	showText(TX_SPEAKER_SPOCK, 4, true);
 }
 
 void Room::sins3UseMccoyOnDrill() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN3_009);
+	showText(TX_SPEAKER_MCCOY, 9, true);
 }
 
 void Room::sins3UseRedshirtOnDrill() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN3_025);
+	showText(TX_SPEAKER_MOSHER, 25, true);
 }
 
 void Room::sins3WalkToDoor() {
@@ -514,11 +511,11 @@ void Room::sins3WalkToDoor() {
 }
 
 void Room::sins3UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN3_010);
+	showText(TX_SPEAKER_MCCOY, 10, true);
 }
 
 void Room::sins3UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, TX_SIN3_008);
+	mccoyScan(DIR_S, 8, false, true);
 }
 
 }
diff --git a/engines/startrek/rooms/sins4.cpp b/engines/startrek/rooms/sins4.cpp
index 9a0a37b..fa76587 100644
--- a/engines/startrek/rooms/sins4.cpp
+++ b/engines/startrek/rooms/sins4.cpp
@@ -108,41 +108,32 @@ void Room::sins4Tick1() {
 }
 
 void Room::sins4UseSTricorderOnPanel() {
-	spockScan(DIR_N, TX_SIN4_020);
+	spockScan(DIR_N, 20, false, true);
 	_awayMission->sins.scannedKeycardLock = true;
 	_awayMission->sins.gatheredClues |= 4;
 
 	if (_awayMission->sins.gatheredClues == 7) {
-		showText(TX_SPEAKER_SPOCK, TX_SIN4_010);
+		showText(TX_SPEAKER_SPOCK, 10, true);
 		_awayMission->sins.gatheredClues |= 8;
 	}
 }
 
 void Room::sins4UseSpockOnPanel() {
-	// NOTE: two implementations of this function, one unused
-	if (true)
-		showText(TX_SPEAKER_SPOCK, TX_SIN4_018);
-	else {
-		showText(TX_SPEAKER_SPOCK, TX_SIN4_021);
-
-		if (_awayMission->sins.gatheredClues == 7) {
-			showText(TX_SPEAKER_SPOCK, TX_SIN4_010);
-			_awayMission->sins.gatheredClues |= 8;
-		}
-	}
+	// NOTE: two implementations of this function (index 18 and 21), one unused
+	showText(TX_SPEAKER_SPOCK, 18, true);
 }
 
 void Room::sins4UsePhaserOnNorthDoor() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN4_009);
+	showText(TX_SPEAKER_SPOCK, 9, true);
 }
 
 void Room::sins4UsePhaserOnPanel() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN4_008);
+	showText(TX_SPEAKER_SPOCK, 8, true);
 }
 
 void Room::sins4UseIDCardOnPanel() {
 	if (_awayMission->sins.unlockedIDCardDoor)
-		showDescription(TX_SIN4N006);
+		showDescription(6, true);
 	else
 		walkCrewmanC(OBJECT_KIRK, 0xb8, 0x86, &Room::sins4KirkReachedPanel);
 }
@@ -170,106 +161,106 @@ void Room::sins4KirkReachedPanelWithRock() {
 }
 
 void Room::sins4KirkUsedRockOnPanel() {
-	showDescription(TX_SIN4N012);
-	showText(TX_SPEAKER_SPOCK, TX_SIN4_022);
+	showDescription(12, true);
+	showText(TX_SPEAKER_SPOCK, 22, true);
 
 	if (_awayMission->sins.gatheredClues == 7) {
-		showText(TX_SPEAKER_SPOCK, TX_SIN4_010);
+		showText(TX_SPEAKER_SPOCK, 10, true);
 		_awayMission->sins.gatheredClues |= 8;
 	}
 }
 
 void Room::sins4LookAtWestDoor() {
-	showDescription(TX_SIN4N009);
+	showDescription(9, true);
 }
 
 void Room::sins4LookAtEastDoor() {
-	showDescription(TX_SIN4N010);
+	showDescription(10, true);
 }
 
 void Room::sins4LookAnywhere() {
-	showDescription(TX_SIN4N013);
+	showDescription(13, true);
 }
 
 void Room::sins4LookAtPanel() {
-	showDescription(TX_SIN4N011);
+	showDescription(11, true);
 }
 
 void Room::sins4Tick40() {
 	if (!_awayMission->sins.enteredRoom4FirstTime) {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_UHURA, TX_SIN4U088);
-		showText(TX_SPEAKER_KIRK,  TX_SIN4_007);
-		showText(TX_SPEAKER_UHURA, TX_SIN4U103);
-		showText(TX_SPEAKER_SPOCK, TX_SIN4_025);
-		showText(TX_SPEAKER_KIRK,  TX_SIN4_003);
-		showText(TX_SPEAKER_UHURA, TX_SIN4U107);
-		showText(TX_SPEAKER_UHURA, TX_SIN4U105);
-		showText(TX_SPEAKER_KIRK,  TX_SIN4_005);
+		showText(TX_SPEAKER_UHURA, 88, true);
+		showText(TX_SPEAKER_KIRK,  7, true);
+		showText(TX_SPEAKER_UHURA, 103, true);
+		showText(TX_SPEAKER_SPOCK, 25, true);
+		showText(TX_SPEAKER_KIRK,  3, true);
+		showText(TX_SPEAKER_UHURA, 107, true);
+		showText(TX_SPEAKER_UHURA, 105, true);
+		showText(TX_SPEAKER_KIRK,  5, true);
 		_awayMission->sins.enteredRoom4FirstTime = true;
 	}
 }
 
 void Room::sins4LookAtKirk() {
-	showDescription(TX_SIN4N002);
+	showDescription(2, true);
 }
 
 void Room::sins4LookAtSpock() {
-	showDescription(TX_SIN4N004);
+	showDescription(4, true);
 }
 
 void Room::sins4LookAtMccoy() {
-	showDescription(TX_SIN4N003);
+	showDescription(3, true);
 }
 
 void Room::sins4LookAtRedshirt() {
-	showDescription(TX_SIN4N001);
+	showDescription(1, true);
 }
 
 void Room::sins4LookAtLight() {
-	showDescription(TX_SIN4N000);
+	showDescription(0, true);
 }
 
 void Room::sins4LookAtBeam() {
-	showDescription(TX_SIN4N005);
+	showDescription(5, true);
 }
 
 void Room::sins4LookAtOpenNorthDoor() {
-	showDescription(TX_SIN4N008);
+	showDescription(8, true);
 }
 
 void Room::sins4LookAtClosedNorthDoor() {
-	showDescription(TX_SIN4N007);
+	showDescription(7, true);
 }
 
 void Room::sins4TalkToKirk() {
-	showText(TX_SPEAKER_KIRK,  TX_SIN4_001);
-	showText(TX_SPEAKER_SPOCK, TX_SIN4_028);
-	showText(TX_SPEAKER_KIRK,  TX_SIN4_004);
+	showText(TX_SPEAKER_KIRK,  1, true);
+	showText(TX_SPEAKER_SPOCK, 28, true);
+	showText(TX_SPEAKER_KIRK,  4, true);
 }
 
 void Room::sins4TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN4_019);
+	showText(TX_SPEAKER_SPOCK, 19, true);
 }
 
 void Room::sins4TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN4_015);
-	showText(TX_SPEAKER_SPOCK, TX_SIN4_024);
-	showText(TX_SPEAKER_MCCOY, TX_SIN4_017);
+	showText(TX_SPEAKER_MCCOY, 15, true);
+	showText(TX_SPEAKER_SPOCK, 24, true);
+	showText(TX_SPEAKER_MCCOY, 17, true);
 }
 
 void Room::sins4TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN4_031);
+	showText(TX_SPEAKER_MOSHER, 31, true);
 }
 
 void Room::sins4UseSTricorderOnNorthDoor() {
-	spockScan(DIR_N, TX_SIN4_027);
-	showText(TX_SPEAKER_MOSHER, TX_SIN4_032);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN4_026);
+	spockScan(DIR_N, 27, false, true);
+	showText(TX_SPEAKER_MOSHER, 32, true);
+	showText(TX_SPEAKER_SPOCK,  26, true);
 }
 
 void Room::sins4UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_SIN4_011);
+	spockScan(DIR_S, 11, false, true);
 
 	if (!_awayMission->sins.gotPointsForScanningRoom4) {
 		_awayMission->sins.missionScore += 1;
@@ -279,32 +270,32 @@ void Room::sins4UseSTricorderAnywhere() {
 
 void Room::sins4UseCommunicator() {
 	if (!_awayMission->sins.enteredRoom3FirstTime) {
-		showText(TX_SPEAKER_UHURA, TX_SIN4U100);
-		showText(TX_SPEAKER_KIRK,  TX_SIN4_006);
+		showText(TX_SPEAKER_UHURA, 100, true);
+		showText(TX_SPEAKER_KIRK,  6, true);
 		showText(TX_SPEAKER_UHURA, TX_SIN4U83B);
-		showText(TX_SPEAKER_KIRK,  TX_SIN4_002);
+		showText(TX_SPEAKER_KIRK,  2, true);
 	} else
-		showText(TX_SPEAKER_UHURA, TX_SIN4U073);
+		showText(TX_SPEAKER_UHURA, 73, true);
 }
 
 void Room::sins4UseMccoyOnNorthDoor() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN4_016);
+	showText(TX_SPEAKER_MCCOY, 16, true);
 }
 
 void Room::sins4UseRedshirtOnNorthDoor() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN4_029);
+	showText(TX_SPEAKER_MOSHER, 29, true);
 }
 
 void Room::sins4UseSpockOnNorthDoor() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN4_023);
+	showText(TX_SPEAKER_SPOCK, 23, true);
 }
 
 void Room::sins4UseMccoyOnPanel() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN4_013);
+	showText(TX_SPEAKER_MCCOY, 13, true);
 }
 
 void Room::sins4UseRedshirtOnPanel() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN4_030);
+	showText(TX_SPEAKER_MOSHER, 30, true);
 }
 
 void Room::sins4WalkToNorthDoor() {
@@ -321,11 +312,11 @@ void Room::sins4WalkToEastDoor() {
 }
 
 void Room::sins4UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN4_014);
+	showText(TX_SPEAKER_MCCOY, 14, true);
 }
 
 void Room::sins4UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, TX_SIN4_012);
+	mccoyScan(DIR_S, 12, false, true);
 }
 
 }
diff --git a/engines/startrek/rooms/sins5.cpp b/engines/startrek/rooms/sins5.cpp
index ac3868f..1444652 100644
--- a/engines/startrek/rooms/sins5.cpp
+++ b/engines/startrek/rooms/sins5.cpp
@@ -152,7 +152,7 @@ void Room::sins5Tick1() {
 }
 
 void Room::sins5UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_SIN5_013);
+	spockScan(DIR_S, 13, false, true);
 }
 
 void Room::sins5UseSTricorderOnRightComputer() {
@@ -160,7 +160,7 @@ void Room::sins5UseSTricorderOnRightComputer() {
 		_awayMission->sins.missionScore += 1;
 		_awayMission->sins.gotPointsForScanningRightComputer = true; // BUGFIX: add this line to prevent infinite score mechanism
 	}
-	spockScan(DIR_S, TX_SIN5_030);
+	spockScan(DIR_S, 30, false, true);
 	_awayMission->sins.scannedAndUsedComputers |= 2;
 	sins5CheckGatheredAllClues();
 }
@@ -170,39 +170,39 @@ void Room::sins5UseSTricorderOnLeftComputer() {
 		_awayMission->sins.missionScore += 1;
 		_awayMission->sins.gotPointsForScanningLeftComputer = true; // BUGFIX: add this line to prevent infinite score mechanism
 	}
-	spockScan(DIR_S, TX_SIN5_029);
+	spockScan(DIR_S, 29, false, true);
 	_awayMission->sins.scannedAndUsedComputers |= 1;
 	sins5CheckGatheredAllClues();
 }
 
 void Room::sins5UseSTricorderOnMiddleComputer() {
-	spockScan(DIR_S, TX_SIN5_028);
+	spockScan(DIR_S, 28, false, true);
 }
 
 void Room::sins5UseKirkOnRightComputer() {
-	showText(TX_SPEAKER_KIRK, TX_SIN5_003);
+	showText(TX_SPEAKER_KIRK, 3, true);
 	sins5UseSpockOnRightComputer();
 }
 
 void Room::sins5UseKirkOnLeftComputer() {
-	showText(TX_SPEAKER_KIRK, TX_SIN5_004);
+	showText(TX_SPEAKER_KIRK, 4, true);
 	sins5UseSpockOnLeftComputer();
 }
 
 void Room::sins5UseKirkOnMiddleComputer() {
-	showText(TX_SPEAKER_KIRK, TX_SIN5_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 }
 
 void Room::sins5UseMccoyOnComputer() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN5_015);
+	showText(TX_SPEAKER_MCCOY, 15, true);
 }
 
 void Room::sins5UseRedshirtOnComputer() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN5_042);
+	showText(TX_SPEAKER_MOSHER, 42, true);
 }
 
 void Room::sins5UseSpockOnMiddleComputer() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN5_027);
+	showText(TX_SPEAKER_SPOCK, 27, true);
 }
 
 void Room::sins5UseSpockOnRightComputer() {
@@ -222,7 +222,7 @@ void Room::sins5SpockReachedRightComputer() {
 
 void Room::sins5SpockUsedRightComputer() {
 	_awayMission->disableInput = false;
-	showText(TX_SPEAKER_COMPUTER, TX_SIN5_039);
+	showText(TX_SPEAKER_COMPUTER, 39, true);
 	_awayMission->sins.scannedAndUsedComputers |= 8;
 	sins5CheckGatheredAllClues();
 }
@@ -244,8 +244,8 @@ void Room::sins5SpockReachedLeftComputer() {
 
 void Room::sins5SpockUsedLeftComputer() {
 	if (_awayMission->sins.wireConnected1 && _awayMission->sins.wireConnected2) {
-		showText(TX_SPEAKER_COMPUTER, TX_SIN5_041);
-		showText(TX_SPEAKER_SPOCK,    TX_SIN5_025);
+		showText(TX_SPEAKER_COMPUTER, 41, true);
+		showText(TX_SPEAKER_SPOCK,    25, true);
 
 		walkCrewmanC(OBJECT_KIRK,     0x8c, 0xb5, &Room::sins5CrewmanReadyToBeamOut);
 		walkCrewmanC(OBJECT_SPOCK,    0x82, 0xab, &Room::sins5CrewmanReadyToBeamOut);
@@ -253,7 +253,7 @@ void Room::sins5SpockUsedLeftComputer() {
 		walkCrewmanC(OBJECT_REDSHIRT, 0x91, 0xa1, &Room::sins5CrewmanReadyToBeamOut);
 	} else {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_COMPUTER, TX_SIN5_040);
+		showText(TX_SPEAKER_COMPUTER, 40, true);
 		_awayMission->sins.scannedAndUsedComputers |= 4;
 		sins5CheckGatheredAllClues();
 	}
@@ -261,9 +261,9 @@ void Room::sins5SpockUsedLeftComputer() {
 
 void Room::sins5CrewmanReadyToBeamOut() {
 	if (++_roomVar.sins.numCrewmenReadyToBeamOut == 4) {
-		showText(TX_SPEAKER_KIRK,  TX_SIN5_008);
-		showText(TX_SPEAKER_SCOTT, TX_SIN5_S19);
-		showText(TX_SPEAKER_KIRK,  TX_SIN5_005);
+		showText(TX_SPEAKER_KIRK,  8, true);
+		showText(TX_SPEAKER_SCOTT, 19 + SCOTTY_MESSAGE_OFFSET);
+		showText(TX_SPEAKER_KIRK,  5, true);
 		_awayMission->sins.missionScore += 19;
 		endMission(_awayMission->sins.missionScore, 28, 0);
 	}
@@ -272,7 +272,7 @@ void Room::sins5CrewmanReadyToBeamOut() {
 void Room::sins5Tick20() {
 	if (!_awayMission->sins.enteredRoom5FirstTime) {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_SPOCK, TX_SIN5_026);
+		showText(TX_SPEAKER_SPOCK, 26, true);
 		_awayMission->sins.enteredRoom5FirstTime = true;
 	}
 }
@@ -281,15 +281,15 @@ void Room::sins5Tick20() {
 void Room::sins5CheckGatheredAllClues() {
 	if (_awayMission->sins.scannedAndUsedComputers == 0xf && !_awayMission->sins.discoveredComputersOutOfSync) {
 		_awayMission->sins.discoveredComputersOutOfSync = true;
-		showText(TX_SPEAKER_MOSHER, TX_SIN5_044);
-		showText(TX_SPEAKER_SPOCK,  TX_SIN5_036);
-		showText(TX_SPEAKER_MCCOY,  TX_SIN5_020);
-		showText(TX_SPEAKER_SPOCK,  TX_SIN5_035);
-		showText(TX_SPEAKER_KIRK,   TX_SIN5_006);
-		showText(TX_SPEAKER_SPOCK,  TX_SIN5_037);
-		showText(TX_SPEAKER_MCCOY,  TX_SIN5_021);
-		showText(TX_SPEAKER_SPOCK,  TX_SIN5_032);
-		showText(TX_SPEAKER_KIRK,   TX_SIN5_007);
+		showText(TX_SPEAKER_MOSHER, 44, true);
+		showText(TX_SPEAKER_SPOCK,  36, true);
+		showText(TX_SPEAKER_MCCOY,  20, true);
+		showText(TX_SPEAKER_SPOCK,  35, true);
+		showText(TX_SPEAKER_KIRK,   6, true);
+		showText(TX_SPEAKER_SPOCK,  37, true);
+		showText(TX_SPEAKER_MCCOY,  21, true);
+		showText(TX_SPEAKER_SPOCK,  32, true);
+		showText(TX_SPEAKER_KIRK,   7, true);
 	}
 }
 
@@ -311,7 +311,7 @@ void Room::sins5WireConnected() {
 		_awayMission->sins.wireConnected1 = true;
 		_awayMission->sins.wireConnected2 = true;
 		loadActorAnim2(OBJECT_CABLE, "s5cabl", 0, 0);
-		showDescription(TX_SIN5N004);
+		showDescription(4, true);
 		loseItem(OBJECT_ICONECT);
 		playMidiMusicTracks(MIDITRACK_30, -1);
 	}
@@ -319,7 +319,7 @@ void Room::sins5WireConnected() {
 }
 
 void Room::sins5UseStunPhaserOnComputer() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN5_043);
+	showText(TX_SPEAKER_MOSHER, 43, true);
 }
 
 
@@ -393,8 +393,8 @@ void Room::sins5Timer2Expired() {
 
 void Room::sins5ComputerLaunchesMissiles() {
 	playMidiMusicTracks(MIDITRACK_2, -1);
-	showDescription(TX_SIN5N012);
-	showDescription(TX_SIN5N013);
+	showDescription(12, true);
+	showDescription(13, true);
 	showGameOverMenu();
 }
 
@@ -403,55 +403,55 @@ void Room::sins5Timer3Expired() {
 }
 
 void Room::sins5LookAnywhere() {
-	showDescription(TX_SIN5N005);
+	showDescription(5, true);
 }
 
 void Room::sins5LookAtKirk() {
-	showDescription(TX_SIN5N000);
+	showDescription(0, true);
 }
 
 void Room::sins5LookAtSpock() {
-	showDescription(TX_SIN5N006);
+	showDescription(6, true);
 }
 
 void Room::sins5LookAtMccoy() {
-	showDescription(TX_SIN5N001);
+	showDescription(1, true);
 }
 
 void Room::sins5LookAtRedshirt() {
-	showDescription(TX_SIN5N002);
+	showDescription(2, true);
 }
 
 void Room::sins5LookAtLight() {
-	showDescription(TX_SIN5N007);
+	showDescription(7, true);
 }
 
 void Room::sins5LookAtLeftComputer() {
-	showDescription(TX_SIN5N010);
+	showDescription(10, true);
 }
 
 void Room::sins5LookAtMiddleComputer() {
-	showDescription(TX_SIN5N008);
+	showDescription(8, true);
 }
 
 void Room::sins5LookAtRightComputer() {
-	showDescription(TX_SIN5N009);
+	showDescription(9, true);
 }
 
 void Room::sins5LookAtMissile() {
-	showDescription(TX_SIN5N003);
+	showDescription(3, true);
 }
 
 void Room::sins5LookAtNorthDoor() {
-	showDescription(TX_SIN5N011);
+	showDescription(11, true);
 }
 
 void Room::sins5UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN5_017);
+	showText(TX_SPEAKER_MCCOY, 17, true);
 }
 
 void Room::sins5UseMTricorderAnywhere() {
-	mccoyScan(DIR_S, TX_SIN5_016);
+	mccoyScan(DIR_S, 16, false, true);
 	if (!_awayMission->sins.gotPointsForScanningRoom5) {
 		_awayMission->sins.missionScore += 1;
 		_awayMission->sins.gotPointsForScanningRoom5 = true; // BUGFIX: add this line to prevent infinite score mechanism
@@ -459,46 +459,46 @@ void Room::sins5UseMTricorderAnywhere() {
 }
 
 void Room::sins5TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_SIN5_002);
+	showText(TX_SPEAKER_KIRK, 2, true);
 }
 
 void Room::sins5TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_SIN5_038);
-	showText(TX_SPEAKER_MCCOY, TX_SIN5_023);
-	showText(TX_SPEAKER_SPOCK, TX_SIN5_033);
-	showText(TX_SPEAKER_MCCOY, TX_SIN5_019);
+	showText(TX_SPEAKER_SPOCK, 38, true);
+	showText(TX_SPEAKER_MCCOY, 23, true);
+	showText(TX_SPEAKER_SPOCK, 33, true);
+	showText(TX_SPEAKER_MCCOY, 19, true);
 }
 
 void Room::sins5TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_SIN5_018);
-	showText(TX_SPEAKER_KIRK,  TX_SIN5_010);
+	showText(TX_SPEAKER_MCCOY, 18, true);
+	showText(TX_SPEAKER_KIRK,  10, true);
 
 	// The following code block is unused. It doesn't belong to any function, but would
 	// fit best as an alternative to this one.
 	if (false) {
-		showText(TX_SPEAKER_MCCOY, TX_SIN5_022);
-		showText(TX_SPEAKER_SPOCK, TX_SIN5_031);
-		showText(TX_SPEAKER_KIRK,  TX_SIN5_009);
+		showText(TX_SPEAKER_MCCOY, 22, true);
+		showText(TX_SPEAKER_SPOCK, 31, true);
+		showText(TX_SPEAKER_KIRK,  9, true);
 	}
 }
 
 void Room::sins5TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, TX_SIN5_046);
-	showText(TX_SPEAKER_SPOCK,  TX_SIN5_034);
-	showText(TX_SPEAKER_MOSHER, TX_SIN5_045);
-	showText(TX_SPEAKER_KIRK,   TX_SIN5_011);
+	showText(TX_SPEAKER_MOSHER, 46, true);
+	showText(TX_SPEAKER_SPOCK,  34, true);
+	showText(TX_SPEAKER_MOSHER, 45, true);
+	showText(TX_SPEAKER_KIRK,   11, true);
 }
 
 void Room::sins5UseSTricorderOnMissile() {
-	spockScan(DIR_S, TX_SIN5_012);
+	spockScan(DIR_S, 12, false, true);
 }
 
 void Room::sins5UseSTricorderOnNorthDoor() {
-	spockScan(DIR_S, TX_SIN5_024);
+	spockScan(DIR_S, 24, false, true);
 }
 
 void Room::sins5UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, TX_SIN5_014);
+	mccoyScan(DIR_S, 14, false, true);
 }
 
 }
diff --git a/engines/startrek/text.cpp b/engines/startrek/text.cpp
index 1257c54..79605e9 100644
--- a/engines/startrek/text.cpp
+++ b/engines/startrek/text.cpp
@@ -560,338 +560,16 @@ extern const char *const g_gameStrings[] = {
 	"#TRI5\\TRI5N020#This large gem appears to be an emerald of unusual size. This is obviously artificial.", // TYPO
 	"#TRI5\\TRI5N021#This large gem appears to be an emerald of unusual size. This is obviously artificial.", // TYPO
 
-
-	"#SIN0\\SIN0_001#Good Mr. Scott. I'll keep you posted. Kirk out.",
-	"#SIN0\\SIN0_002#Let me know if things change. Kirk out.",
-	"#SIN0\\SIN0_003#Mr. Scott?",
-	"#SIN0\\SIN0_004#Scotty, report on the transporter problem.",
-	"#SIN0\\SIN0_005#That will still give us plenty of time, Scotty.",
-	"#SIN0\\SIN0_006#That's what we're here to find out. The unknown.",
-	"#SIN0\\SIN0_007#We didn't notice anything beaming down.",
-	"#SIN0\\SIN0_008#Which means that this moon might still be inhabited, Mr. Spock.",
-	"#SIN0\\SIN0_009#Aside from the security door on what should be a lifeless planetoid, this place is unremarkable.",
-	"#SIN0\\SIN0_010#It's what I was afraid of, Jim. The thin atmosphere of this moon doesn't provide enough protection from cosmic rays. We shouldn't stay here any more than a few hours.",
-	"#SIN0\\SIN0_011#The atmosphere is breathable, Jim, but hardly nourishing. We should either get inside or go back to the ship.",
-	"#SIN0\\SIN0_012#There's not much I can do for cosmic radiation. It's best if we find some cover indoors.",
-	"#SIN0\\SIN0_013#Do you have Vulcan blood ensign?",
-	"#SIN0\\SIN0_014#I never realized the Orions ever got past decadence... They hadn't the last time I was there.",
-	"#SIN0\\SIN0_015#These stones resemble those on Earth, on Easter Island.",
-	"#SIN0\\SIN0_016#I cannot get readings from this range, Captain. But if we do not hurry there will be nothing left to get a reading on.",
-	"#SIN0\\SIN0_017#The rocks have a high quantity of Tri-Phosphorate Silver in them.",
-	"#SIN0\\SIN0_018#Unremarkable except for low grade power emanations from the door area.",
-	"#SIN0\\SIN0_019#As expected Captain. The source of power emanations lies beyond that door.",
-	"#SIN0\\SIN0_020#Large quantities of atmosphere are being circulated through these rocks. I would guess there are storage units within this satellite which are constantly replacing the atmosphere that is lost because of this moon's weak gravity.",
-	"#SIN0\\SIN0_021#Stone monoliths of faces are a common artistic expression in evolving cultures...",
-	"#SIN0\\SIN0_022#Unknown, ensign.",
-	"#SIN0\\SIN0_023#We have detected no signs of life, Captain, but the possibility does exist.",
-	"#SIN0\\SIN0_024#Area secure, Captain.",
-	"#SIN0\\SIN0_025#A power source that has lasted millenia and endured major catastrophes. That's fascinating, Mr. Spock.",
-	"#SIN0\\SIN0_026#How can there be an atmosphere on a moon of this size?",
-	"#SIN0\\SIN0_027#Like the faces on Vandu II. Even the animal face art of the Orion Post-Decadence Movement is similar.",
-	"#SIN0\\SIN0_028#No, sir.",
-	"#SIN0\\SIN0_S01#No change Captain. Although why it happened is about as clear as a foggy night in Glasgow.",
-	"#SIN0\\SIN0_S48#Aye. We've had some slight problems with the transporters.",
-	"#SIN0\\SIN0_S49#I know. I have the lads in Engineering doing a complete overhaul of the ship's systems.",
-	"#SIN0\\SIN0_S50#Just a glitch in the main transporter program. Mr. Kyle is loading a back-up, and we're performing tests. The transporters will be down for about an hour.",
-	"#SIN0\\SIN0N000#Dr. Leonard McCoy, knowing that they aren't likely to encounter any medical problems, is rather annoyed about being dragged yet again into the transporter.",
-	"#SIN0\\SIN0N001#Ensign Mosher seems to be rather curious about the planet's technology.",
-	"#SIN0\\SIN0N002#James T. Kirk, worried about the safety of the people of Proxtrey.",
-	"#SIN0\\SIN0N003#Mr. Spock looks forward to examining the technology of this ancient culture.",
-	"#SIN0\\SIN0N004#Ten thousand points of light are visible to the naked eye through the thin atmosphere of this moon.",
-	"#SIN0\\SIN0N005#The heavy-duty security door is now open.",
-	"#SIN0\\SIN0N006#There are many rocks here.",
-	"#SIN0\\SIN0N007#This is the planet Proxtrey, currently six hundred thousand kilometers from this moon.",
-	"#SIN0\\SIN0N008#This looks like a heavy-duty security door built into the side of a hill on this moon.",
-	"#SIN0\\SIN0N009#This moon has a thin but breathable atmosphere.",
-	"#SIN0\\SIN0N010#You retrieve a rock.",
-	"#SIN0\\SIN0N011#These stones look like faces.",
-	"#SIN0\\SIN0U069#Nothing new to report Captain.",
-	"#SIN0\\SIN0U082#Captain, Mr. Scott wishes to speak with you.",
-
-
-	"#SIN1\\SIN1_001#Spock, see what you can do with that lock.",
-	"#SIN1\\SIN1_002#Check her record, Mr. Scott. She was in the top ten percent of her class in computer systems analysis.",
-	"#SIN1\\SIN1_003#Isolate that virus. That's your number one priority.",
-	"#SIN1\\SIN1_004#Just do your best, Scotty. Kirk out.",
-	"#SIN1\\SIN1_005#There goes our back-up plan. Do what you can, Mr. Scott.",
-	"#SIN1\\SIN1_006#Well, we won't be able to phaser any outbound missiles.",
-	"#SIN1\\SIN1_007#What is it, Scotty?",
-	"#SIN1\\SIN1_008#Your situation, Mr. Scott?",
-	"#SIN1\\SIN1_009#A security lock, Captain.",
-	"#SIN1\\SIN1_010#A working display panel, Captain.",
-	"#SIN1\\SIN1_011#Ah, that worked. I see you deduced that 10200, in the Lucrs base three was equal to their sacred number 99.",
-	"#SIN1\\SIN1_012#Damn it, Jim. I'm a doctor, not a locksmith!",
-	"#SIN1\\SIN1_013#No appreciable cosmic radiation damage. Yet.",
-	"#SIN1\\SIN1_014#There's not much I can do for cosmic radiation. It's best if we find some cover indoors.",
-	"#SIN1\\SIN1_015#We should stay inside as much as possible. We must try to protect ourselves from the cosmic radiation.",
-	"#SIN1\\SIN1_016#It would be useless Captain. The door could easily withstand our phaser fire.",
-	"#SIN1\\SIN1_017#That did not seem to work, Captain. Perhaps we should try a number that had some significance to them. Remember they were very superstitious.",
-	"#SIN1\\SIN1_018#That prompted a response, Captain. 01210 is 100 in base four, a number the Sofs regarded as sacred.",
-	"#SIN1\\SIN1_019#The door still appears to be in operating condition.",
-	"#SIN1\\SIN1_020#The origin point for the broadcast Uhura monitored was approximately fifty meters beyond this door.",
-	"#SIN1\\SIN1_021#There is power running to the keypad.",
-	"#SIN1\\SIN1_022#This appears to be a dust-covered lens of some sort.",
-	"#SIN1\\SIN1_023#This is the focal lense for an anti-intruder laser.",
-	"#SIN1\\SIN1_024#Unremarkable.",
-	"#SIN1\\SIN1_025#We should carefully consider everything we know about this culture before taking action.",
-	"#SIN1\\SIN1_026#From what we know about the Lucrs, they had an affinity for size. Their machines weren't just equipment; they were also monuments.",
-	"#SIN1\\SIN1_027#It appears that our mission has increased in importance.",
-	"#SIN1\\SIN1_028#I'm just a security officer, Sir.",
-	"#SIN1\\SIN1_029#I can believe that.",
-	"#SIN1\\SIN1_030#This door is huge. If they were humanoid, they could have been giants...",
-	"#SIN1\\SIN1_S10#Captain, I'm afraid we've got a wee problem here.",
-	"#SIN1\\SIN1_S17#That it is, Captain. We'll keep you informed. Scott out.",
-	"#SIN1\\SIN1_S18#There is some sort of virus in the main computer. Our phasers and tractor beams have been disabled, and there's no way we're getting them back in three hours.",
-	"#SIN1\\SIN1_S20#We'll find that virus soon Captain, or I'm an Englishman.",
-	"#SIN1\\SIN1_S51#We're still looking for the virus, Captain. I even have Lieutenant Uhura looking through the computer system. I never realized the lass was so good with them.",
-	"#SIN1\\SIN1_S85#Aye, I will Captain. I may yet have a trick or two that I can pull, but don't count on any miracles.",
-	"#SIN1\\SIN1N000#A lens sits above the doorway, but is it mere decoration?",
-	"#SIN1\\SIN1N001#Built into the rock is a very large door.",
-	"#SIN1\\SIN1N002#Ensign Mosher is glad to be a member of this landing party, at least for now.",
-	"#SIN1\\SIN1N003#It looks like some sort of display panel.",
-	"#SIN1\\SIN1N004#It never ceases to amaze you how passive Spock can be, even in the presence of extraordinary wonders.",
-	"#SIN1\\SIN1N005#James T. Kirk, A man with a problem. A big problem that is getting bigger.",
-	"#SIN1\\SIN1N006#McCoy is examining himself for cosmic radiation sickness symptoms.",
-	"#SIN1\\SIN1N007#Meteorites have hit this door and left it undamaged. What are you going to do with a rock?",
-	"#SIN1\\SIN1N008#The doorway into the complex is huge.",
-	"#SIN1\\SIN1N009#This appears to be some sort of security lock.",
-	"#SIN1\\SIN1N010#This heavy-duty door has taken numerous micrometeorite strikes but still appears solid.",
-	"#SIN1\\SIN1N011#This is a keypad that looks functional.",
-	"#SIN1\\SIN1U070#Nothing new to report Captain.",
-
-
-	"#SIN2\\SIN2_001#Spock, see what you can do with that lock.",
-	"#SIN2\\SIN2_002#Spock, see what you can do with this.",
-	"#SIN2\\SIN2_003#The Lucrs did not seem to have a problem with security.",
-	"#SIN2\\SIN2_004#Keep working at it, Uhura. Kirk out.",
-	"#SIN2\\SIN2_005#Report, Scotty. How are things going?",
-	"#SIN2\\SIN2_006#Scotty, any progress on the phasers?",
-	"#SIN2\\SIN2_007#Spock is right, Bones. Spock, what are the chances that we could decode the transmission and send a stop code to the base?",
-	"#SIN2\\SIN2_008#Well done, Uhura.",
-	"#SIN2\\SIN2_009#A computer terminal, Captain. It uses the lucr alphabet. I think I can decipher it.",
-	"#SIN2\\SIN2_010#Fascinating. If the Federation language studies were correct, the ideograph for the word \"Scythe\" in the Lucrs language is the 17th symbol in their alphabet. That corresponds with 122 in base 3.",
-	"#SIN2\\SIN2_012#Damn it Jim, I'm a surgeon not an alien computer science specialist.", // TYPO
-	"#SIN2\\SIN2_013#I think Spock would have a better chance at cracking that, Jim.",
-	"#SIN2\\SIN2_014#We're safe from the cosmic radiation, Jim.",
-	"#SIN2\\SIN2_015#22%? That's very low -- hardly something to brag about.",
-	"#SIN2\\SIN2_016#At least we won't have to worry about suffocating.",
-	"#SIN2\\SIN2_017#By then, Proxtrey could be a dead planet.",
-	"#SIN2\\SIN2_019#Finally, someone who appreciates me!",
-	"#SIN2\\SIN2_020#Jim, let's return to the ship and blast this place to destroy its weapons.",
-	"#SIN2\\SIN2_021#So why has the base been activated again?",
-	"#SIN2\\SIN2_022#Spock!",
-	"#SIN2\\SIN2_023#This place does seem to provide protection against cosmic rays.",
-	"#SIN2\\SIN2_024#That did not work, Captain. It is probable this lock also uses a number of some significance.",
-	"#SIN2\\SIN2_025#The door will easily withstand our phasers, Captain.",
-	"#SIN2\\SIN2_026#The interior of the security lock is unremarkable and well preserved.",
-	"#SIN2\\SIN2_027#This door is similar to the one on the outside of the securelock except that it has not weathered over the years. Electrical panels indicate the keypad on the right controls the door.",
-	"#SIN2\\SIN2_028#This keypad is fully functional and controls the door. Its entry code is in base three.",
-	"#SIN2\\SIN2_029#1.327 million to one, provided the archaeological studies about Lucrs languages are correct. Our other option is to get into this base and see if we can bring the computers down.",
-	"#SIN2\\SIN2_030#Actually, Ensign, they differ from your culture only in that their language was explicit in their expressions of dominance and submission, rather than implied.",
-	"#SIN2\\SIN2_031#Because it does not recognize them, it assumes the Sofs are still active.",
-	"#SIN2\\SIN2_032#Doctor, in base 3, 22/100 is equivalent to 8 out of 9 or 88%. I would think that quite satisfactory given this base's probable mission of destroying the Sof forces on Proxtrey.",
-	"#SIN2\\SIN2_033#Doctor, this moon is a god to the people down there. If we destroy it we will violate the Prime Directive.",
-	"#SIN2\\SIN2_034#Given the damage to the moon, its slow rotation and orbit, it has never realized the war is over. On this pass, for the first time, it has detected radio-wave transmissions from Proxtrey.",
-	"#SIN2\\SIN2_035#If the Lucrs built this base with a clock that told the time by measuring the moon's rotational speed or the gravitational forces generated by Proxtrey and the sun, the computer may have calculated only a week of time has passed since its first action. I might be able to learn more with another look at the console.",
-	"#SIN2\\SIN2_037#In Trinary or Decimal?",
-	"#SIN2\\SIN2_038#Its transmission to the planet, I would assume, was some sort of a check beacon to see if it should continue its mission.",
-	"#SIN2\\SIN2_039#My tricorder is picking up large supplies of frozen oxygen, nitrogen, and carbon dioxide beneath the surface. Enough to last many centuries.",
-	"#SIN2\\SIN2_040#One Sof strike did, in fact, hit the moon and deflected it from its orbit. It has been dormant since then.",
-	"#SIN2\\SIN2_041#The Sofs managed to infiltrate the base. however, their actions triggered Scythe's auto-attack mechanisms, and initiated a holocaust that nearly annihilated the planet. ",
-	"#SIN2\\SIN2_042#The console reports the following: ",
-	"#SIN2\\SIN2_043#There is a substantial amount of data here, but in summary, Scythe was created by the Lucrs as a launching platform for missiles to keep the Sofs subjugated to their influence.",
-	"#SIN2\\SIN2_044#Welcome to Orbital Missile Base. Codename: Scythe. This base has been operational for the past week. It has completed 1 successful fire mission. Estimation of success is at 22/100.",
-	"#SIN2\\SIN2_045#I think Mr. Spock would have a better idea of how to operate that, Captain.",
-	"#SIN2\\SIN2_046#I'm just a security officer, Sir.",
-	"#SIN2\\SIN2_047#We appear to be in some type of Security Lock. No defensive systems are apparent here, but considering the size of the doors, they probably don't need them!",
-	"#SIN2\\SIN2_048#Dominance seemed to be very important to these people. No wonder the Lucr were so war-like.",
-	"#SIN2\\SIN2_049#I don't see why they bothered putting an atmosphere here, Captain. There hasn't even been bacteria here in centuries, let alone humanoids.",
-	"#SIN2\\SIN2_050#It says the base has been operational for a week, but this has been here for a thousand years.",
 	"#SIN2\\SIN2_F12#This says: \"Dominant People only to dominate things beyond >,<these Submissive Walls\". My guess is that only authorized personnel were allowed beyond this door.",
 	"#SIN2\\SIN2_F26#Computer science sounds more like medicine every day.",
-	"#SIN2\\SIN2_S05#About as badly as a kilt in a blast furnace, Captain. Wait a minute, Lieutenant Uhura has some news for you.",
-	"#SIN2\\SIN2_S16#Sorry Captain, but we cannot do that. We don't have phasers for at least eight more hours.",
-	"#SIN2\\SIN2N000#A computer terminal. Each word in the Lucr language has three aspects, Submissive, Neutral, and Aggressive, to supply connotation to their language.",
-	"#SIN2\\SIN2N001#A keypad, in base three.",
-	"#SIN2\\SIN2N002#Ensign Mosher is scanning the area for potentially hostile lifeforms.",
-	"#SIN2\\SIN2N003#James Kirk. The burden of command is quite heavy at times.",
-	"#SIN2\\SIN2N004#McCoy wishes this place was less... technological.",
-	"#SIN2\\SIN2N005#Spock looks at the equipment and raises an eyebrow.",
-	"#SIN2\\SIN2N006#This looks like some kind of security lock with heavy duty doors on both ends.",
-	"#SIN2\\SIN2N007#You see another chamber.",
-	"#SIN2\\SIN2N008#The door has some strange writing on it.",
-	"#SIN2\\SIN2U085#The virus came from our sensor sweep of the moon's computers. We believe we have analyzed the memory sectors it attacked.",
-	"#SIN2\\SIN2U096#If we had a doctor as good with computers as you are with patients, we'd be having a lot fewer problems.", // TYPO
-	"#SIN2\\SIN2U097#I wish I could take credit for it. It was Mr. Kyle who found the pattern. We are attacking it with anti-virus programs.",
-
-
-	"#SIN3\\SIN3_001#Spock, why don't you check out those laser drill controls.",
-	"#SIN3\\SIN3_002#You're right. This is a mess.",
-	"#SIN3\\SIN3_003#A storage box of some kind. I detect no dangerous substances.",
-	"#SIN3\\SIN3_004#Captain, nothing can be gained by trying to force it around.",
-	"#SIN3\\SIN3_005#Captain, the machine requests the proper coordinates before it may perform this operation.",
-	"#SIN3\\SIN3_006#Captain, the template would be damaged by direct fire from the laser.",
-	"#SIN3\\SIN3_007#Captain, with the 3KAg content of the surface rocks and the Tricorder scan of the pattern inside the lock, I believe the laser drill can be used to fashion the ID card needed to open the sealed door in the other chamber.",
 	"#SIN3\\SIN3_008#All readings are normal. The structure seems to be protecting us from the cosmic rays.",
-	"#SIN3\\SIN3_009#I'm too attached to my head to stick it in front of the laser that made this cave.",
-	"#SIN3\\SIN3_010#We're safe from the cosmic radiation, Jim.",
-	"#SIN3\\SIN3_011#Why was I even brought down on this mission, Jim? I'm a doctor, not a welder!",
 	"#SIN3\\SIN3_012#Can't say I like the decor.",
-	"#SIN3\\SIN3_013#I can see why.",
-	"#SIN3\\SIN3_014#This is one heck of a museum, Ensign.",
-	"#SIN3\\SIN3_015#I used the keycard pattern, scanned from the lock, to program the drill. It should now be able to make a template of the keycard in the rock.",
-	"#SIN3\\SIN3_016#The drill is unremarkable except its aiming component is corroded and frozen in place.",
-	"#SIN3\\SIN3_017#The mineshaft was drilled out of the lunar rock by a laser device similar to the one mounted in the ceiling.",
-	"#SIN3\\SIN3_018#These are display panels for the laser drill. They are still functional.",
-	"#SIN3\\SIN3_019#This is the laser drill's control panel. It is functional and power is flowing to it.",
-	"#SIN3\\SIN3_020#This technology is cruder and less efficient than the rest of the complex, Captain.",
-	"#SIN3\\SIN3_021#Too high a setting, Captain. The laser drill vaporized the rock.",
-	"#SIN3\\SIN3_022#Unlike the mineral samples on the surface, the rocks here do not contain any unusual trace elements.",
-	"#SIN3\\SIN3_023#Unlike the surface rocks, the ore here is unremarkable.",
-	"#SIN3\\SIN3_024#The Lucrs did not leave behind many examples of their architecture.",
-	"#SIN3\\SIN3_025#Uh, what do you want me to do with it, Sir?",
-	"#SIN3\\SIN3_026#Looks like a museum piece to me, Captain.",
-	"#SIN3\\SIN3_027#Still a mess, though.",
-	"#SIN3\\SIN3N000#A closed box sits on the floor.",
-	"#SIN3\\SIN3N001#Dr. McCoy again wonders why he even came along.",
-	"#SIN3\\SIN3N002#Ensign Mosher scouts for signs of trouble, as well as glancing at the great-looking laser drill!",
-	"#SIN3\\SIN3N003#James T. Kirk, Captain of the USS Enterprise.",
-	"#SIN3\\SIN3N004#Mr. Spock puzzles over the illogical design of some of these circuits.",
-	"#SIN3\\SIN3N005#The box is empty.",
-	"#SIN3\\SIN3N006#The laser drill has cut a template for the keycard in the stone.",
-	"#SIN3\\SIN3N007#These are display panels for the laser drill.",
-	"#SIN3\\SIN3N008#This box contains old wire and connectors.",
-	"#SIN3\\SIN3N009#This is a high powered item that will cause irrevocable damage if you use it in this manner.",
-	"#SIN3\\SIN3N010#This is a keycard made from the tri-phosphorate silver rock.", // TYPO
-	"#SIN3\\SIN3N011#This is a laser drill control panel.",
-	"#SIN3\\SIN3N012#This is an ancient laser drill.",
-	"#SIN3\\SIN3N013#This room looks like it was once used for some type of mining operation.",
-	"#SIN3\\SIN3N014#You have placed the rocks onto the pattern.",
-	"#SIN3\\SIN3U072#Nothing new to report Captain.",
 	"Laser Setting: 001",
 	"Laser Setting: 010",
 	"Laser Setting: 100",
 	"cancel",
-
-
-	"#SIN4\\SIN4_001#At least the Enterprise is safe.",
-	"#SIN4\\SIN4_002#Right now, I'll take anything that works. Kirk out.",
-	"#SIN4\\SIN4_003#The Klingons aren't going to be happy to learn that they helped us. How about the phasers and tractor beams?",
-	"#SIN4\\SIN4_004#Then we're just going to have to prevent that.",
-	"#SIN4\\SIN4_005#Understood. The ball is in our court. We'll give it our best shot. Kirk out.",
-	"#SIN4\\SIN4_006#We're making our way through. Keep your fingers crossed, lieutenant.",
-	"#SIN4\\SIN4_007#Well done, Uhura!",
-	"#SIN4\\SIN4_008#Captain, if you destroy the lock, there will be no way to open the door.",
-	"#SIN4\\SIN4_009#Captain, the door is heavily shielded. Our phasers will have a negligible effect.",
-	"#SIN4\\SIN4_010#Captain, with the 3KAg content of the surface rocks and the Tricorder scan of the pattern inside the lock, I believe the laser drill can be used to fashion the ID card needed to open this door.",
-	"#SIN4\\SIN4_011#Circuits and atmosphere pumps are hidden in the walls.",
-	"#SIN4\\SIN4_012#All readings are normal. The structure seems to be protecting us from the cosmic rays.",
-	"#SIN4\\SIN4_013#My fingers don't fit Jim.",
-	"#SIN4\\SIN4_014#We're safe from the cosmic radiation, Jim.",
-	"#SIN4\\SIN4_015#When I retire from Starfleet, I'm going to write one heck of an autobiography.",
-	"#SIN4\\SIN4_016#What do you want me to do, kick it down?",
-	"#SIN4\\SIN4_017#That way I can finally get someone to listen to me!",
-	"#SIN4\\SIN4_018#My fingers are too large to fit into the slot.",
-	"#SIN4\\SIN4_019#Please allow me to concentrate, Captain.",
-	"#SIN4\\SIN4_020#This panel has a slot in it rather than a keypad. The slot bears traces of Tri-Phosphorate Silver, and power is currently running to it. I am recording the pattern of this lock into my tricorder.",
-	"#SIN4\\SIN4_021#This panel requires a coded identification key to get it open.",
-	"#SIN4\\SIN4_022#Very odd, Captain. There was a power surge to the panel just after the rock struck it. Probably 3KAg dust getting into the slot. ",
-	"#SIN4\\SIN4_023#We must find a way to bypass its lock system.", // TYPO
-	"#SIN4\\SIN4_024#Fascinating, doctor. I look forward to reading it.",
-	"#SIN4\\SIN4_025#Fascinating, lieutenant.",
-	"#SIN4\\SIN4_026#Indeed, Ensign. And considerably thinner. A remarkable achievement in metallurgical engineering.",
-	"#SIN4\\SIN4_027#This door is made from remarkably dense alloys. Even our most powerful phaser rifle or welder would not be able to penetrate it.",
-	"#SIN4\\SIN4_028#Unless the computers decide to send more powerful viruses to the Enterprise.",
-	"#SIN4\\SIN4_029#I don't think a hand phaser is going to cut through that, Sir.",
-	"#SIN4\\SIN4_030#I don't think my phaser will do a lot of good Sir.",
-	"#SIN4\\SIN4_031#This machinery is incredible. Are all your landing missions this much fun? I might never leave this place!",
-	"#SIN4\\SIN4_032#The thing must be almost as tough as a starship hull!",
-	"#SIN4\\SIN4N000#Although centuries old, these lights still provide illumination for this complex.",
-	"#SIN4\\SIN4N001#As soon as this mission is over, Ensign Mosher is going to write his sister, who serves onboard Pegasus Science Station, and gloat about everything he's seen.",
-	"#SIN4\\SIN4N002#James Kirk seems relieved by the good news from his ship.",
-	"#SIN4\\SIN4N003#So far, this mission has been boring, from a medical standpoint.",
-	"#SIN4\\SIN4N004#Spock, deep in thought, analyzes the Lucr computers.",
-	"#SIN4\\SIN4N005#There are a few stress fractures on this beam, but it still looks to be quite sturdy.",
-	"#SIN4\\SIN4N006#There is already a card in the lock.",
-	"#SIN4\\SIN4N007#This door appears to be very solid.",
-	"#SIN4\\SIN4N008#This door leads to another chamber.",
-	"#SIN4\\SIN4N009#This doorway leads back to the security lock and outside.",
-	"#SIN4\\SIN4N010#This doorway leads to another area of the complex.",
-	"#SIN4\\SIN4N011#This panel is designed to receive an ID card to make the door open.",
-	"#SIN4\\SIN4N012#The Panel is undamaged.",
-	"#SIN4\\SIN4N013#You are in a corridor that connects to three other chambers.",
-	"#SIN4\\SIN4U073#Nothing new to report Captain.",
-	"#SIN4\\SIN4U088#Captain, we have a cure for the computer virus!",
-	"#SIN4\\SIN4U100#No change, Captain. Any progress on the planet?",
-	"#SIN4\\SIN4U103#I modified K'trhra-C to exclusively attack the Lucr virus. They annihilated each other, Captain.",
-	"#SIN4\\SIN4U105#We could destroy some missiles manually, but if this complex decides to launch more than ten missiles at a time...",
-	"#SIN4\\SIN4U107#We may get the tractor beams on-line in time, Captain. I'm afraid even the back-up phaser transmission codes were affected. ",
 	"#SIN4\\SIN4U83B#Captain, we'll help you all we can.",
 
-
-	"#SIN5\\SIN5_001#Hmmmm... This computer doesn't have a keyboard.",
-	"#SIN5\\SIN5_002#I don't have anything to say right now, Bones.",
-	"#SIN5\\SIN5_003#Mr. Spock, why don't you take a look at those computers.",
-	"#SIN5\\SIN5_004#Mr. Spock, why don't you take a look at those computers.",
-	"#SIN5\\SIN5_005#Bring us home.",
-	"#SIN5\\SIN5_006#Can you reprogram the Lucrs computer to give us that time, Mr. Spock?",
-	"#SIN5\\SIN5_007#If we could only bridge them...",
-	"#SIN5\\SIN5_008#Kirk to Enterprise. how are the transporters, Scotty?",
-	"#SIN5\\SIN5_009#Let's just find a way to stop this from happening again.",
-	"#SIN5\\SIN5_010#Sometimes it's useful to confront the dark side of our nature, that which we might become.",
-	"#SIN5\\SIN5_011#Well, gentlemen. Here's one fire we can put out. Let's go to work.",
-	"#SIN5\\SIN5_012#A crude Uranium 235 nuclear device with Lithium - Beryllium shells to increase heavy particle fallout.",
-	"#SIN5\\SIN5_013#All three of the computers in this room are fully operational.",
-	"#SIN5\\SIN5_014#All readings are normal. The structure seems to be protecting us from the cosmic rays.",
-	"#SIN5\\SIN5_015#Jim, I don't know anything about these things! Why don't you ask your science officer.",
-	"#SIN5\\SIN5_016#Thank goodness. I was worried there might be a radiation leak, but there's no sign of any.", // TYPO
-	"#SIN5\\SIN5_017#We're safe from the cosmic radiation, Jim.",
-	"#SIN5\\SIN5_018#I wish I hadn't seen any of this.",
-	"#SIN5\\SIN5_019#There's nothing constructive about this place, Spock! It's an obscenity!",
-	"#SIN5\\SIN5_020#They report different optimum launch times. Which is right?",
-	"#SIN5\\SIN5_021#Too bad old Omega here couldn't just take a sick day and miss the firing.",
-	"#SIN5\\SIN5_022#Unbelievable, isn't it? Putting this much time and effort into building devices to kill people.",
-	"#SIN5\\SIN5_023#Who needs efficiency, when the end of the world is everywhere around here!",
-	"#SIN5\\SIN5_024#Readings indicate an extremely high radiation level beyond those doors. It would be fatal to proceed beyond them.",
-	"#SIN5\\SIN5_025#The launched missiles will run out of fuel before they reach Proxtrey. They will drift into the sun and burn up.",
-	"#SIN5\\SIN5_026#This appears to be the brain of Scythe. There are two identical but isolated computers that communicate with a third which controls the launch of missiles.",
-	"#SIN5\\SIN5_027#This computer cannot be accessed directly. It is controlled by the other two computers.",
-	"#SIN5\\SIN5_028#This computer directly controls the missile launch system. There is no way to interface with it directly, but the other two computers are accessible.",
-	"#SIN5\\SIN5_029#This computer is functional and performing an average .75 million operations per second.",
-	"#SIN5\\SIN5_030#This computer is functional and performing an average 1.2 million operations per second.",
-	"#SIN5\\SIN5_031#A great waste, doctor. A technologically advanced society, an advanced culture...",
-	"#SIN5\\SIN5_032#Because the two machines are isolated, the virus did not spread from one to the other.",
-	"#SIN5\\SIN5_033#Curb your emotions, doctor. They serve no constructive purpose here. ",
-	"#SIN5\\SIN5_034#For people with emotions, Ensign, there are many things that can cause hatreds. And each new hatred breeds more hatred, and makes the path of peace harder to find.",
-	"#SIN5\\SIN5_035#Given the elliptical orbit and the range at which they will pass Proxtrey, the Omega unit is correct, but the window is very narrow. A variation of minutes will mean the missiles run out of fuel and fall harmlessly into the sun.",
-	"#SIN5\\SIN5_036#It appears they are out of sync, Captain. I have to assume the Alpha Unit has a virus which is using up an incredible amount of computing time.",
-	"#SIN5\\SIN5_037#Reprogramming an old Alien computer is not simple, Captain. The odds against success are 10221 to 1 against.",
-	"#SIN5\\SIN5_038#These warheads are not a very efficient delivery system, Captain.",
-	"#SIN5\\SIN5_039#Welcome to Scythe Operations Center, Alpha Unit. Estimated time to optimal launch range is 3.21 hours adjusted.",
-	"#SIN5\\SIN5_040#Welcome to Scythe Operations Center, Omega Unit. Estimated time to optimal launch range is 1.31 hours adjusted.",
-	"#SIN5\\SIN5_041#Welcome to Scythe Operations Center, Omega Unit. Estimated time to optimal launch range is 1.54 hours adjusted.",
-	"#SIN5\\SIN5_042#Sir, I don't think I'm qualified for that assignment. Mr. Spock would be a better choice, I think.",
-	"#SIN5\\SIN5_043#The stun setting won't work, Sir!",
-	"#SIN5\\SIN5_044#Captain, something is wrong with the computers. They may be twins, but they are not identical.",
-	"#SIN5\\SIN5_045#It's easy to say when you're not involved personally, Mr. Spock. But when people have treated you like a second class being because you are different, hate can become the only thing they can't take away from you. That is what started most of the firestorms of history.",
-	"#SIN5\\SIN5_046#No intruders, Captain. I think everyone died a long, long time ago. I wonder what caused it.",
-	"#SIN5\\SIN5_S19#They're operational again, Captain. We're ready to bring you back at any time.",
-	"#SIN5\\SIN5N000#Captain James T. Kirk, fingering his communicator, wonders if anything else is happening aboard his ship.",
-	"#SIN5\\SIN5N001#Dr. McCoy takes several deep sighs and closes his eyes.",
-	"#SIN5\\SIN5N002#Ensign Mosher awaits orders.",
-	"#SIN5\\SIN5N003#Missiles of death and destruction. The Lucr believed that you could never have enough of them.",
-	"#SIN5\\SIN5N004#The connector snaps into place.",
-	"#SIN5\\SIN5N005#The control center for the base. Computers and nuclear missiles fill the room.",
-	"#SIN5\\SIN5N006#These instruments of war make Spock uncomfortable, but he says nothing.",
-	"#SIN5\\SIN5N007#These lights are still operational after centuries.",
-	"#SIN5\\SIN5N008#This computer controls the launch of missiles. It is directly controlled by the other computers.",
-	"#SIN5\\SIN5N009#This computer is marked with the first letter of the Lucr alphabet.",
-	"#SIN5\\SIN5N010#This computer is marked with the last letter of the Lucr alphabet.",
-	"#SIN5\\SIN5N011#This door is marked with a radiation hazard symbol.",
-	"#SIN5\\SIN5N012#Computer consoles do not take well to phasering. Sparks fly and, in a defensive maneuver prompted by this attack from within, the base launches a full spread of nuclear missiles at the Enterprise.", // TYPO
-	"#SIN5\\SIN5N013#History will not be kind to you. Better luck next time.",
-
-
 	"#VEN0\\VEN0_001#Dick Patterson and I weren't exactly friends, but this...",
 	"#VEN0\\VEN0_002#Any idea of which one it was?",
 	"#VEN0\\VEN0_003#Can you bring him back?",
diff --git a/engines/startrek/text.h b/engines/startrek/text.h
index 5b1adc7..e40b5c6 100644
--- a/engines/startrek/text.h
+++ b/engines/startrek/text.h
@@ -637,348 +637,16 @@ enum GameStringIDs {
 	TX_TRI5N020,
 	TX_TRI5N021,
 
-
-	TX_SIN0_001,
-	TX_SIN0_002,
-	TX_SIN0_003,
-	TX_SIN0_004,
-	TX_SIN0_005,
-	TX_SIN0_006,
-	TX_SIN0_007,
-	TX_SIN0_008,
-	TX_SIN0_009,
-	TX_SIN0_010,
-	TX_SIN0_011,
-	TX_SIN0_012,
-	TX_SIN0_013,
-	TX_SIN0_014,
-	TX_SIN0_015,
-	TX_SIN0_016,
-	TX_SIN0_017,
-	TX_SIN0_018,
-	TX_SIN0_019,
-	TX_SIN0_020,
-	TX_SIN0_021,
-	TX_SIN0_022,
-	TX_SIN0_023,
-	TX_SIN0_024,
-	TX_SIN0_025,
-	TX_SIN0_026,
-	TX_SIN0_027,
-	TX_SIN0_028,
-	// UNUSED: 029 -> 030
-	TX_SIN0_S01,
-	TX_SIN0_S48,
-	TX_SIN0_S49,
-	TX_SIN0_S50,
-	TX_SIN0N000,
-	TX_SIN0N001,
-	TX_SIN0N002,
-	TX_SIN0N003,
-	TX_SIN0N004,
-	TX_SIN0N005,
-	TX_SIN0N006,
-	TX_SIN0N007,
-	TX_SIN0N008,
-	TX_SIN0N009,
-	TX_SIN0N010,
-	TX_SIN0N011,
-	TX_SIN0U069,
-	TX_SIN0U082,
-
-
-	TX_SIN1_001,
-	TX_SIN1_002,
-	TX_SIN1_003,
-	TX_SIN1_004,
-	TX_SIN1_005,
-	TX_SIN1_006,
-	TX_SIN1_007,
-	TX_SIN1_008,
-	TX_SIN1_009,
-	TX_SIN1_010,
-	TX_SIN1_011,
-	TX_SIN1_012,
-	TX_SIN1_013,
-	TX_SIN1_014,
-	TX_SIN1_015,
-	TX_SIN1_016,
-	TX_SIN1_017,
-	TX_SIN1_018,
-	TX_SIN1_019,
-	TX_SIN1_020,
-	TX_SIN1_021,
-	TX_SIN1_022,
-	TX_SIN1_023,
-	TX_SIN1_024,
-	TX_SIN1_025,
-	TX_SIN1_026,
-	TX_SIN1_027,
-	TX_SIN1_028,
-	TX_SIN1_029,
-	TX_SIN1_030,
-	// UNUSED: 031
-	TX_SIN1_S10,
-	TX_SIN1_S17,
-	TX_SIN1_S18,
-	TX_SIN1_S20,
-	TX_SIN1_S51,
-	TX_SIN1_S85,
-	TX_SIN1N000,
-	TX_SIN1N001,
-	TX_SIN1N002,
-	TX_SIN1N003,
-	TX_SIN1N004,
-	TX_SIN1N005,
-	TX_SIN1N006,
-	TX_SIN1N007,
-	TX_SIN1N008,
-	TX_SIN1N009,
-	TX_SIN1N010,
-	TX_SIN1N011,
-	TX_SIN1U070,
-
-
-	TX_SIN2_001,
-	TX_SIN2_002,
-	TX_SIN2_003,
-	TX_SIN2_004,
-	TX_SIN2_005,
-	TX_SIN2_006,
-	TX_SIN2_007,
-	TX_SIN2_008,
-	TX_SIN2_009,
-	TX_SIN2_010,
-	// MISSING
-	TX_SIN2_012,
-	TX_SIN2_013,
-	TX_SIN2_014,
-	TX_SIN2_015,
-	TX_SIN2_016,
-	TX_SIN2_017,
-	// MISSING
-	TX_SIN2_019,
-	TX_SIN2_020,
-	TX_SIN2_021,
-	TX_SIN2_022,
-	TX_SIN2_023,
-	TX_SIN2_024,
-	TX_SIN2_025,
-	TX_SIN2_026,
-	TX_SIN2_027,
-	TX_SIN2_028,
-	TX_SIN2_029,
-	TX_SIN2_030,
-	TX_SIN2_031,
-	TX_SIN2_032,
-	TX_SIN2_033,
-	TX_SIN2_034,
-	TX_SIN2_035,
-	// UNUSED (036)
-	TX_SIN2_037,
-	TX_SIN2_038,
-	TX_SIN2_039,
-	TX_SIN2_040,
-	TX_SIN2_041,
-	TX_SIN2_042,
-	TX_SIN2_043,
-	TX_SIN2_044,
-	TX_SIN2_045,
-	TX_SIN2_046,
-	TX_SIN2_047,
-	TX_SIN2_048,
-	TX_SIN2_049,
-	TX_SIN2_050,
-	// UNUSED (051 -> 054; uhura voice substitute)
 	TX_SIN2_F12,
 	TX_SIN2_F26,
-	TX_SIN2_S05,
-	TX_SIN2_S16,
-	TX_SIN2N000,
-	TX_SIN2N001,
-	TX_SIN2N002,
-	TX_SIN2N003,
-	TX_SIN2N004,
-	TX_SIN2N005,
-	TX_SIN2N006,
-	TX_SIN2N007,
-	TX_SIN2N008,
-	TX_SIN2U085,
-	TX_SIN2U096,
-	TX_SIN2U097,
-	// UNUSED: sin2_b35.voc (same as 036)
-
-
-	TX_SIN3_001,
-	TX_SIN3_002,
-	TX_SIN3_003,
-	TX_SIN3_004,
-	TX_SIN3_005,
-	TX_SIN3_006,
-	TX_SIN3_007,
 	TX_SIN3_008,
-	TX_SIN3_009,
-	TX_SIN3_010,
-	TX_SIN3_011,
 	TX_SIN3_012,
-	TX_SIN3_013,
-	TX_SIN3_014,
-	TX_SIN3_015,
-	TX_SIN3_016,
-	TX_SIN3_017,
-	TX_SIN3_018,
-	TX_SIN3_019,
-	TX_SIN3_020,
-	TX_SIN3_021,
-	TX_SIN3_022,
-	TX_SIN3_023,
-	TX_SIN3_024,
-	TX_SIN3_025,
-	TX_SIN3_026,
-	TX_SIN3_027,
-	// UNUSED (028; uhura voice substitute)
-	TX_SIN3N000,
-	TX_SIN3N001,
-	TX_SIN3N002,
-	TX_SIN3N003,
-	TX_SIN3N004,
-	TX_SIN3N005,
-	TX_SIN3N006,
-	TX_SIN3N007,
-	TX_SIN3N008,
-	TX_SIN3N009,
-	TX_SIN3N010,
-	TX_SIN3N011,
-	TX_SIN3N012,
-	TX_SIN3N013,
-	TX_SIN3N014,
-	TX_SIN3U072,
 	TX_SIN3_LASERSETTING001, // Custom named text
 	TX_SIN3_LASERSETTING010,
 	TX_SIN3_LASERSETTING100,
 	TX_SIN3_LASERCANCEL,
-
-
-	TX_SIN4_001,
-	TX_SIN4_002,
-	TX_SIN4_003,
-	TX_SIN4_004,
-	TX_SIN4_005,
-	TX_SIN4_006,
-	TX_SIN4_007,
-	TX_SIN4_008,
-	TX_SIN4_009,
-	TX_SIN4_010,
-	TX_SIN4_011,
-	TX_SIN4_012,
-	TX_SIN4_013,
-	TX_SIN4_014,
-	TX_SIN4_015,
-	TX_SIN4_016,
-	TX_SIN4_017,
-	TX_SIN4_018,
-	TX_SIN4_019,
-	TX_SIN4_020,
-	TX_SIN4_021,
-	TX_SIN4_022,
-	TX_SIN4_023,
-	TX_SIN4_024,
-	TX_SIN4_025,
-	TX_SIN4_026,
-	TX_SIN4_027,
-	TX_SIN4_028,
-	TX_SIN4_029,
-	TX_SIN4_030,
-	TX_SIN4_031,
-	TX_SIN4_032,
-	// UNUSED (033 -> 039; uhura voice substitute)
-	TX_SIN4N000,
-	TX_SIN4N001,
-	TX_SIN4N002,
-	TX_SIN4N003,
-	TX_SIN4N004,
-	TX_SIN4N005,
-	TX_SIN4N006,
-	TX_SIN4N007,
-	TX_SIN4N008,
-	TX_SIN4N009,
-	TX_SIN4N010,
-	TX_SIN4N011,
-	TX_SIN4N012,
-	TX_SIN4N013,
-	TX_SIN4U073,
-	TX_SIN4U088,
-	TX_SIN4U100,
-	TX_SIN4U103,
-	TX_SIN4U105,
-	TX_SIN4U107,
-	// UNUSED (sin4u83a; alternate version of sin4u83b)
 	TX_SIN4U83B,
 
-
-	TX_SIN5_001,
-	TX_SIN5_002,
-	TX_SIN5_003,
-	TX_SIN5_004,
-	TX_SIN5_005,
-	TX_SIN5_006,
-	TX_SIN5_007,
-	TX_SIN5_008,
-	TX_SIN5_009,
-	TX_SIN5_010,
-	TX_SIN5_011,
-	TX_SIN5_012,
-	TX_SIN5_013,
-	TX_SIN5_014,
-	TX_SIN5_015,
-	TX_SIN5_016,
-	TX_SIN5_017,
-	TX_SIN5_018,
-	TX_SIN5_019,
-	TX_SIN5_020,
-	TX_SIN5_021,
-	TX_SIN5_022,
-	TX_SIN5_023,
-	TX_SIN5_024,
-	TX_SIN5_025,
-	TX_SIN5_026,
-	TX_SIN5_027,
-	TX_SIN5_028,
-	TX_SIN5_029,
-	TX_SIN5_030,
-	TX_SIN5_031,
-	TX_SIN5_032,
-	TX_SIN5_033,
-	TX_SIN5_034,
-	TX_SIN5_035,
-	TX_SIN5_036,
-	TX_SIN5_037,
-	TX_SIN5_038,
-	TX_SIN5_039,
-	TX_SIN5_040,
-	TX_SIN5_041,
-	TX_SIN5_042,
-	TX_SIN5_043,
-	TX_SIN5_044,
-	TX_SIN5_045,
-	TX_SIN5_046,
-	TX_SIN5_S19,
-	TX_SIN5N000,
-	TX_SIN5N001,
-	TX_SIN5N002,
-	TX_SIN5N003,
-	TX_SIN5N004,
-	TX_SIN5N005,
-	TX_SIN5N006,
-	TX_SIN5N007,
-	TX_SIN5N008,
-	TX_SIN5N009,
-	TX_SIN5N010,
-	TX_SIN5N011,
-	TX_SIN5N012,
-	TX_SIN5N013,
-
-
 	TX_VEN0_001,
 	TX_VEN0_002,
 	TX_VEN0_003,


Commit: 9a7f2c8374e79ed44c62809e957e78a2b71fa1a5
    https://github.com/scummvm/scummvm/commit/9a7f2c8374e79ed44c62809e957e78a2b71fa1a5
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-10-29T17:46:13+02:00

Commit Message:
STARTREK: Load the text of the TRIAL missions from RDF files

Changed paths:
    engines/startrek/room.cpp
    engines/startrek/rooms/trial0.cpp
    engines/startrek/rooms/trial1.cpp
    engines/startrek/rooms/trial2.cpp
    engines/startrek/rooms/trial3.cpp
    engines/startrek/rooms/trial4.cpp
    engines/startrek/rooms/trial5.cpp
    engines/startrek/text.cpp
    engines/startrek/text.h


diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index bd70898..40b4ef4 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -221,6 +221,27 @@ Common::String Room::patchRoomMessage(const char *text) {
 		{ "#SIN2\\SIN2_012#", "I'm a surgeon not a alien", "I'm a surgeon, not an alien" },
 		{ "#SIN4\\SIN4_023#", "to bypass it's lock system", "to bypass its lock system" },
 		{ "#SIN5\\SIN5N012#", "Sparks explode and", "Sparks fly and" },
+		{ "#TRI0\\TRI0_036#", "the Enterprise!We've", "the Enterprise! We've" },
+		{ "#TRI1\\TRI1_025#", "Male Human-Vulcan", "One male Human-Vulcan" },
+		{ "#TRI1\\TRI1_048#", "with a phaser", "with your phaser" },
+		{ "#TRI2\\TRI2_015#", "Male Human,", "He's a male Human," },
+		{ "#TRI2\\TRI2_017#", "Male Human-Vulcan", "One male Human-Vulcan" },
+		{ "#TRI3\\TRI3_013#", "He's a Male Human", "One male Human" },
+		{ "#TRI3\\TRI3_014#", "Male Human,", "He's a male Human," },
+		{ "#TRI3\\TRI3_016#", "Male Human-Vulcan", "One male Human-Vulcan" },
+		{ "#TRI3\\TRI3U084#", "Captain, come in please!", "Captain, please come in!" },
+		{ "#TRI4\\TRI4_003#", "I didn't want it", "I don't want it" },
+		{ "#TRI4\\TRI4_024#", "a fair trail", "a fair trial" },
+		{ "#TRI4\\TRI4_039#", "what an enemy does not expect", "what the enemy does not expect" },
+		{ "#TRI4\\TRI4_057#", "will believe you", "to believe you" },
+		{ "#TRI5\\TRI5_045#", "at which to transport you", "to which to transport you" },
+		{ "#TRI5\\TRI5N002#", "a beam light", "a beam of light" },
+		{ "#TRI5\\TRI5N016#", "saphire", "sapphire" },
+		{ "#TRI5\\TRI5N017#", "saphire", "sapphire" },
+		{ "#TRI5\\TRI5N018#", "saphire", "sapphire" },
+		{ "#TRI5\\TRI5N019#", "a emerald", "an emerald" },
+		{ "#TRI5\\TRI5N020#", "a emerald", "an emerald" },
+		{ "#TRI5\\TRI5N021#", "a emerald", "an emerald" },
 		{ "", "", "" }
 	};
 
diff --git a/engines/startrek/rooms/trial0.cpp b/engines/startrek/rooms/trial0.cpp
index f4aba4d..1a4a778 100644
--- a/engines/startrek/rooms/trial0.cpp
+++ b/engines/startrek/rooms/trial0.cpp
@@ -93,7 +93,7 @@ void Room::trial0Tick1() {
 }
 
 void Room::trial0Tick40() {
-	showText(TX_SPEAKER_VLICT, TX_TRI0_058);
+	showText(TX_SPEAKER_VLICT, 58, true);
 }
 
 void Room::trial0Timer0Expired() { // Doesn't do anything?
@@ -110,79 +110,79 @@ void Room::trial0ReachedRoomCenter() {
 	bool gaveUp = false;
 
 	_awayMission->disableInput = false;
-	showText(TX_SPEAKER_VLICT, TX_TRI0_053);
+	showText(TX_SPEAKER_VLICT, 53, true);
 
 	const TextRef choices1[] = {
 		TX_SPEAKER_KIRK,
-		TX_TRI0_019, TX_TRI0_016, TX_TRI0_021,
+		19, 16, 21,
 		TX_BLANK
 	};
-	showMultipleTexts(choices1);
+	showMultipleTexts(choices1, true);
 
-	showText(TX_SPEAKER_VLICT, TX_TRI0_054);
-	showText(TX_SPEAKER_KIRK,  TX_TRI0_004);
-	showText(TX_SPEAKER_VLICT, TX_TRI0_047);
+	showText(TX_SPEAKER_VLICT, 54, true);
+	showText(TX_SPEAKER_KIRK,   4, true);
+	showText(TX_SPEAKER_VLICT, 47, true);
 
 	const TextRef choices2[] = {
 		TX_SPEAKER_KIRK,
-		TX_TRI0_011, TX_TRI0_018, TX_TRI0_015,
+		11, 18, 15,
 		TX_BLANK
 	};
-	int choice = showMultipleTexts(choices2);
+	int choice = showMultipleTexts(choices2, true);
 
 	if (choice == 0) { // Kirk intervenes as a warrior
-		showText(TX_SPEAKER_VLICT, TX_TRI0_043);
-		showText(TX_SPEAKER_KIRK,  TX_TRI0_002);
-		showText(TX_SPEAKER_VLICT, TX_TRI0_056);
-		showText(TX_SPEAKER_VLICT, TX_TRI0_061);
-		showText(TX_SPEAKER_KIRK,  TX_TRI0_001);
-		showText(TX_SPEAKER_VLICT, TX_TRI0_060);
+		showText(TX_SPEAKER_VLICT, 43, true);
+		showText(TX_SPEAKER_KIRK,   2, true);
+		showText(TX_SPEAKER_VLICT, 56, true);
+		showText(TX_SPEAKER_VLICT, 61, true);
+		showText(TX_SPEAKER_KIRK,   1, true);
+		showText(TX_SPEAKER_VLICT, 60, true);
 		_awayMission->disableInput = true;
 		loadRoomIndex(1, 4);
 	} else if (choice == 1) { // "This trial is a mockery"
-		showText(TX_SPEAKER_VLICT,        TX_TRI0_048);
-		showText(TX_SPEAKER_QUETZECOATL,  TX_TRI0_041);
-		showText(TX_SPEAKER_VLICT,        TX_TRI0_050);
-		showText(TX_SPEAKER_QUETZECOATL,  TX_TRI0_039);
-		showText(TX_SPEAKER_VLICT,        TX_TRI0_059);
-		showText(TX_SPEAKER_QUETZECOATL,  TX_TRI0_040);
-		showText(TX_SPEAKER_VLICT,        TX_TRI0_046);
+		showText(TX_SPEAKER_VLICT,        48, true);
+		showText(TX_SPEAKER_QUETZECOATL,  41, true);
+		showText(TX_SPEAKER_VLICT,        50, true);
+		showText(TX_SPEAKER_QUETZECOATL,  39, true);
+		showText(TX_SPEAKER_VLICT,        59, true);
+		showText(TX_SPEAKER_QUETZECOATL,  40, true);
+		showText(TX_SPEAKER_VLICT,        46, true);
 
 		const TextRef choices3[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI0_023, TX_TRI0_006, TX_TRI0_010,
+			23, 6, 10,
 			TX_BLANK
 		};
-		choice = showMultipleTexts(choices3);
+		choice = showMultipleTexts(choices3, true);
 
 		if (choice == 0 || choice == 1) {
-			showText(TX_SPEAKER_VLICT, TX_TRI0_052);
+			showText(TX_SPEAKER_VLICT, 52, true);
 
 			const TextRef choices4[] = {
 				TX_SPEAKER_KIRK,
-				TX_TRI0_017, TX_TRI0_020, TX_TRI0_008,
+				17, 20, 8,
 				TX_BLANK
 			};
-			choice = showMultipleTexts(choices4);
+			choice = showMultipleTexts(choices4, true);
 
 			if (choice == 0 || choice == 1) {
-				showText(TX_SPEAKER_VLICT, TX_TRI0_057);
-				showText(TX_SPEAKER_KIRK,  TX_TRI0_003);
-				showText(TX_SPEAKER_VLICT, TX_TRI0_051);
+				showText(TX_SPEAKER_VLICT, 57, true);
+				showText(TX_SPEAKER_KIRK,   3, true);
+				showText(TX_SPEAKER_VLICT, 51, true);
 
 				const TextRef choices5[] = {
 					TX_SPEAKER_KIRK,
-					TX_TRI0_009, TX_TRI0_014, TX_TRI0_013,
+					9, 14, 13,
 					TX_BLANK
 				};
-				choice = showMultipleTexts(choices5);
+				choice = showMultipleTexts(choices5, true);
 
 				if (choice == 0 || choice == 1) {
-					showText(TX_SPEAKER_VLICT, TX_TRI0_055);
+					showText(TX_SPEAKER_VLICT, 55, true);
 					_awayMission->disableInput = true;
 					loadRoomIndex(1, 4);
 				} else { // choice == 2
-					showText(TX_SPEAKER_VLICT, TX_TRI0_045);
+					showText(TX_SPEAKER_VLICT, 45, true);
 					_awayMission->disableInput = true;
 					loadRoomIndex(1, 4);
 				}
@@ -195,8 +195,8 @@ void Room::trial0ReachedRoomCenter() {
 
 	if (gaveUp) {
 		playMidiMusicTracks(2, -1);
-		showText(TX_SPEAKER_VLICT, TX_TRI0_049);
-		showText(TX_SPEAKER_VLICT, TX_TRI0_044);
+		showText(TX_SPEAKER_VLICT, 49, true);
+		showText(TX_SPEAKER_VLICT, 44, true);
 		_awayMission->trial.missionEndMethod = 0;
 
 		// FIXME: Are these parameters in the right order?
@@ -205,77 +205,77 @@ void Room::trial0ReachedRoomCenter() {
 }
 
 void Room::trial0LookAtWindow() {
-	showDescription(TX_TRI0N007);
+	showDescription(7, true);
 }
 
 void Room::trial0LookAtVlict() {
-	showDescription(TX_TRI0N001);
+	showDescription(1, true);
 }
 
 void Room::trial0LookAtGuard() {
-	showDescription(TX_TRI0N000);
+	showDescription(0, true);
 }
 
 void Room::trial0LookAtBench() {
-	showDescription(TX_TRI0N006);
+	showDescription(6, true);
 }
 
 void Room::trial0LookAtSeal() {
-	showDescription(TX_TRI0N008);
+	showDescription(8, true);
 }
 
 void Room::trial0LookAtKirk() {
-	showDescription(TX_TRI0N004);
+	showDescription(4, true);
 }
 
 void Room::trial0LookAtSpock() {
-	showDescription(TX_TRI0N005);
+	showDescription(5, true);
 }
 
 void Room::trial0LookAtMccoy() {
-	showDescription(TX_TRI0N002);
+	showDescription(2, true);
 }
 
 void Room::trial0LookAtRedshirt() {
-	showDescription(TX_TRI0N003);
+	showDescription(3, true);
 }
 
 void Room::trial0LookAtQuetzecoatl() {
-	showDescription(TX_TRI0N009);
+	showDescription(9, true);
 }
 
 void Room::trial0TalkToVlict() {
-	showText(TX_SPEAKER_VLICT, TX_TRI0_062);
+	showText(TX_SPEAKER_VLICT, 62, true);
 }
 
 void Room::trial0TalkToGuard() {
 	showText(TX_SPEAKER_KLINGON_GUARD, TX_TRI0_F24);
-	showText(TX_SPEAKER_BENNIE, TX_TRI0_065);
-	showText(TX_SPEAKER_KIRK,   TX_TRI0_007);
-	showText(TX_SPEAKER_BENNIE, TX_TRI0_064);
-	showText(TX_SPEAKER_KIRK,   TX_TRI0_022);
-	showText(TX_SPEAKER_BENNIE, TX_TRI0_066);
+	showText(TX_SPEAKER_BENNIE, 65, true);
+	showText(TX_SPEAKER_KIRK,    7, true);
+	showText(TX_SPEAKER_BENNIE, 64, true);
+	showText(TX_SPEAKER_KIRK,   22, true);
+	showText(TX_SPEAKER_BENNIE, 66, true);
 }
 
 void Room::trial0TalkToQuetzecoatl() {
-	showText(TX_SPEAKER_QUETZECOATL, TX_TRI0_042);
+	showText(TX_SPEAKER_QUETZECOATL, 42, true);
 }
 
 void Room::trial0TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI0_031);
+	showText(TX_SPEAKER_MCCOY, 31, true);
 }
 
 void Room::trial0TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI0_025);
+	showText(TX_SPEAKER_SPOCK, 25, true);
 }
 
 void Room::trial0TalkToRedshirt() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI0_063);
+	showText(TX_SPEAKER_BENNIE, 63, true);
 }
 
 void Room::trial0UsePhaserOrRock() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI0_026);
-	showText(TX_SPEAKER_MCCOY, TX_TRI0_036);
+	showText(TX_SPEAKER_SPOCK, 26, true);
+	showText(TX_SPEAKER_MCCOY, 36, true);
 }
 
 void Room::trial0UseSnakeOnVlict() {
@@ -289,44 +289,44 @@ void Room::trial0UseSnakeOnGuard() {
 }
 
 void Room::trial0UseMTricorderOnQuetzecoatl() {
-	mccoyScan(DIR_S, TX_TRI0_029, true);
+	mccoyScan(DIR_S, 29, false, true);
 }
 
 void Room::trial0UseMTricorderOnVlict() {
-	mccoyScan(DIR_S, TX_TRI0_030, true);
+	mccoyScan(DIR_S, 30, false, true);
 }
 
 void Room::trial0UseMTricorderAnywhere() {
-	mccoyScan(DIR_S, TX_TRI0_035, true);
+	mccoyScan(DIR_S, 35, false, true);
 }
 
 void Room::trial0UseSTricorderOnWindow() {
-	spockScan(DIR_S, TX_TRI0_037, true);
+	spockScan(DIR_S, 37, false, true);
 }
 
 void Room::trial0UseSTricorderAnywhere() {
 	// ENHANCEMENT: Originally didn't play tricorder sound, etc
-	spockScan(DIR_S, TX_TRI0_038, true);
+	spockScan(DIR_S, 38, false, true);
 }
 
 void Room::trial0UseCommunicator() {
-	showText(TX_SPEAKER_UHURA, TX_TRI0U075);
+	showText(TX_SPEAKER_UHURA, 75, true);
 }
 
 void Room::trial0UseCrewmanOnKlingon() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI0_024);
+	showText(TX_SPEAKER_SPOCK, 24, true);
 }
 
 void Room::trial0UseMccoyOnVlict() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI0_027);
+	showText(TX_SPEAKER_MCCOY, 27, true);
 }
 
 void Room::trial0UseMccoyOnGuard() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI0_028);
+	showText(TX_SPEAKER_MCCOY, 28, true);
 }
 
 void Room::trial0UseMedkitAnywhere() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI0_034);
+	showText(TX_SPEAKER_MCCOY, 34, true);
 }
 
 }
diff --git a/engines/startrek/rooms/trial1.cpp b/engines/startrek/rooms/trial1.cpp
index b1bdf0a..9163c15 100644
--- a/engines/startrek/rooms/trial1.cpp
+++ b/engines/startrek/rooms/trial1.cpp
@@ -184,13 +184,13 @@ void Room::trial1Tick50() {
 	if (!_awayMission->trial.doorOpen)
 		_awayMission->disableInput = false;
 	if (!_awayMission->trial.entityDefeated) {
-		showText(TX_SPEAKER_BENNIE, TX_TRI1_056);
-		showText(TX_SPEAKER_SPOCK,  TX_TRI1_047);
-		showText(TX_SPEAKER_MCCOY,  TX_TRI1_032);
-		showText(TX_SPEAKER_KIRK,   TX_TRI1_007);
-		showText(TX_SPEAKER_BENNIE, TX_TRI1_057);
-		showText(TX_SPEAKER_KIRK,   TX_TRI1_010);
-		showText(TX_SPEAKER_BENNIE, TX_TRI1_055);
+		showText(TX_SPEAKER_BENNIE, 56, true);
+		showText(TX_SPEAKER_SPOCK,  47, true);
+		showText(TX_SPEAKER_MCCOY,  32, true);
+		showText(TX_SPEAKER_KIRK,   7, true);
+		showText(TX_SPEAKER_BENNIE, 57, true);
+		showText(TX_SPEAKER_KIRK,   10, true);
+		showText(TX_SPEAKER_BENNIE, 55, true);
 	}
 }
 
@@ -238,47 +238,47 @@ void Room::trial1PickedUpRod() {
 }
 
 void Room::trial1LookAtKirk() {
-	showDescription(TX_TRI1N003);
+	showDescription(3, true);
 }
 
 void Room::trial1LookAtSpock() {
-	showDescription(TX_TRI1N017);
+	showDescription(17, true);
 }
 
 void Room::trial1LookAtMccoy() {
-	showDescription(TX_TRI1N016);
+	showDescription(16, true);
 }
 
 void Room::trial1LookAtRedshirt() {
-	showDescription(TX_TRI1N015);
+	showDescription(15, true);
 }
 
 void Room::trial1LookAtWall() {
-	showDescription(TX_TRI1N011);
+	showDescription(11, true);
 }
 
 void Room::trial1LookAtFloor() {
-	showDescription(TX_TRI1N006);
+	showDescription(6, true);
 }
 
 void Room::trial1LookAtRods() {
-	showDescription(TX_TRI1N009);
+	showDescription(9, true);
 }
 
 void Room::trial1LookAtDoor() {
-	showDescription(TX_TRI1N001);
+	showDescription(1, true);
 }
 
 void Room::trial1LookAtLock() {
-	showDescription(TX_TRI1N002);
+	showDescription(2, true);
 }
 
 void Room::trial1LookAtEntity() {
-	showDescription(TX_TRI1N000);
+	showDescription(0, true);
 }
 
 void Room::trial1LookAtMoltenRock() {
-	showDescription(TX_TRI1N007);
+	showDescription(7, true);
 }
 
 void Room::trial1TalkToKirk() {
@@ -286,16 +286,16 @@ void Room::trial1TalkToKirk() {
 }
 
 void Room::trial1TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI1_046);
-	showText(TX_SPEAKER_MCCOY, TX_TRI1_034);
+	showText(TX_SPEAKER_SPOCK, 46, true);
+	showText(TX_SPEAKER_MCCOY, 34, true);
 }
 
 void Room::trial1TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI1_019);
+	showText(TX_SPEAKER_MCCOY, 19, true);
 }
 
 void Room::trial1TalkToRedshirt() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI1_053);
+	showText(TX_SPEAKER_BENNIE, 53, true);
 }
 
 void Room::trial1TalkToEntity() {
@@ -303,15 +303,15 @@ void Room::trial1TalkToEntity() {
 }
 
 void Room::trial1UsePhaserOnCrewman() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI1_048);
+	showText(TX_SPEAKER_BENNIE, 48, true);
 }
 
 void Room::trial1UsePhaserOnEntity() {
-	showDescription(TX_TRI1N004);
+	showDescription(4, true);
 }
 
 void Room::trial1UsePhaserOnWall() {
-	showDescription(TX_TRI1N008);
+	showDescription(8, true);
 }
 
 
@@ -345,7 +345,7 @@ void Room::trial1ReachedFloorToUseKillPhaser() {
 }
 
 void Room::trial1DoneShootingFloorWithKillPhaser() {
-	showDescription(TX_TRI1N014);
+	showDescription(14, true);
 	loadActorAnim2(OBJECT_MOLTEN_ROCK, "t1mltd", 0xca, 0xbc);
 
 	_awayMission->crewDirectionsAfterWalk[OBJECT_KIRK] = DIR_E;
@@ -357,66 +357,66 @@ void Room::trial1DoneShootingFloorWithKillPhaser() {
 }
 
 void Room::trial1UsePhaserOnRod() {
-	showDescription(TX_TRI1N012);
+	showDescription(12, true);
 }
 
 void Room::trial1UsePhaserOnDoor() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI1_040);
+	showText(TX_SPEAKER_SPOCK, 40, true);
 }
 
 void Room::trial1UsePhaserOnLock() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI1_021);
+	showText(TX_SPEAKER_MCCOY, 21, true);
 }
 
 void Room::trial1UseMTricorderOnKirk() {
-	mccoyScan(DIR_S, TX_TRI1_024, true);
+	mccoyScan(DIR_S, 24, false, true);
 }
 
 void Room::trial1UseMTricorderOnSpock() {
 	// ENHANCEMENT: Original didn't play tricorder sound, etc
-	mccoyScan(DIR_S, TX_TRI1_025, true);
+	mccoyScan(DIR_S, 25, false, true);
 }
 
 void Room::trial1UseMTricorderOnMccoy() {
-	mccoyScan(DIR_S, TX_TRI1_022, true);
+	mccoyScan(DIR_S, 22, false, true);
 }
 
 void Room::trial1UseMTricorderOnRedshirt() {
-	mccoyScan(DIR_S, TX_TRI1_023, true);
+	mccoyScan(DIR_S, 23, false, true);
 }
 
 void Room::trial1UseMTricorderOnEntity() {
-	mccoyScan(DIR_S, TX_TRI1_017, true);
+	mccoyScan(DIR_S, 17, false, true);
 }
 
 void Room::trial1UseSTricorderOnWall() {
-	spockScan(DIR_S, TX_TRI1_043, true);
+	spockScan(DIR_S, 43, false, true);
 }
 
 void Room::trial1UseSTricorderOnEntity() {
-	spockScan(DIR_S, TX_TRI1_012, true);
+	spockScan(DIR_S, 12, false, true);
 
 	// BUG: infinite score mechanism
 	_awayMission->trial.missionScore += 1;
 }
 
 void Room::trial1UseSTricorderOnRods() {
-	spockScan(DIR_S, TX_TRI1_041, true);
+	spockScan(DIR_S, 41, false, true);
 }
 
 void Room::trial1UseSTricorderOnFloor() {
-	spockScan(DIR_S, TX_TRI1_042, true);
+	spockScan(DIR_S, 42, false, true);
 
 	// BUG: infinite score mechanism
 	_awayMission->trial.missionScore += 1;
 }
 
 void Room::trial1UseSTricorderOnDoor() {
-	spockScan(DIR_S, TX_TRI1_013, true);
+	spockScan(DIR_S, 13, false, true);
 }
 
 void Room::trial1UseSTricorderOnLock() {
-	spockScan(DIR_S, TX_TRI1_014, true);
+	spockScan(DIR_S, 14, false, true);
 
 	if (!_awayMission->trial.scannedLock) {
 		_awayMission->trial.scannedLock = true;
@@ -427,64 +427,64 @@ void Room::trial1UseSTricorderOnLock() {
 
 void Room::trial1UseCommunicator() {
 	if (_awayMission->trial.forceFieldDown) {
-		showText(TX_SPEAKER_UHURA, TX_TRI1U090);
+		showText(TX_SPEAKER_UHURA, 90, true);
 
 		const TextRef choices[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI1_005, TX_TRI1_004, TX_TRI1_009,
+			5, 4, 9,
 			TX_BLANK
 		};
-		int choice = showMultipleTexts(choices);
+		int choice = showMultipleTexts(choices, true);
 
 		if (choice == 0) { // "Beam us back to the enterprise"
 			_awayMission->trial.missionEndMethod = 1;
 			endMission(1, 1, 1);
 		} else if (choice == 1) { // "Beam us to Vlict's position"
-			showText(TX_SPEAKER_UHURA, TX_TRI1U080);
+			showText(TX_SPEAKER_UHURA, 80, true);
 			_awayMission->disableInput = true;
 			loadRoomIndex(4, 4);
 		} // Else don't transport anywhere
 	} else { // Force field still up
 		if (_awayMission->trial.uhuraAnalyzedCode)
-			showText(TX_SPEAKER_UHURA, TX_TRI1U068);
+			showText(TX_SPEAKER_UHURA, 68, true);
 		else {
-			showText(TX_SPEAKER_UHURA, TX_TRI1U086);
-			showText(TX_SPEAKER_UHURA, TX_TRI1U106);
-			showText(TX_SPEAKER_UHURA, TX_TRI1U098);
+			showText(TX_SPEAKER_UHURA, 86, true);
+			showText(TX_SPEAKER_UHURA, 106, true);
+			showText(TX_SPEAKER_UHURA, 98, true);
 
 			if (_awayMission->trial.scannedLock) {
-				showText(TX_SPEAKER_KIRK,  TX_TRI1_011);
-				showText(TX_SPEAKER_UHURA, TX_TRI1U101);
+				showText(TX_SPEAKER_KIRK,  11, true);
+				showText(TX_SPEAKER_UHURA, 101, true);
 
 				const TextRef choices[] = {
 					TX_SPEAKER_KIRK,
-					TX_TRI1_006, TX_TRI1_002,
+					6, 2,
 					TX_BLANK
 				};
-				int choice = showMultipleTexts(choices);
+				int choice = showMultipleTexts(choices, true);
 
 				if (choice == 0) { // Don't analyze the anomolous program
-					showText(TX_SPEAKER_UHURA, TX_TRI1U079);
+					showText(TX_SPEAKER_UHURA, 79, true);
 					_awayMission->trial.doorCodeBehaviour = 2;
 					_awayMission->trial.uhuraAnalyzedCode = true;
 					_awayMission->trial.missionScore += 1;
 				} else { // Analyze the anomolous program
-					showText(TX_SPEAKER_UHURA, TX_TRI1U102);
+					showText(TX_SPEAKER_UHURA, 102, true);
 
 					const TextRef choices2[] = {
 						TX_SPEAKER_KIRK,
-						TX_TRI1_003, TX_TRI1_008,
+						3, 8,
 						TX_BLANK
 					};
-					choice = showMultipleTexts(choices2);
+					choice = showMultipleTexts(choices2, true);
 
 					if (choice == 0) { // Activate the program
-						showText(TX_SPEAKER_UHURA, TX_TRI1U095);
+						showText(TX_SPEAKER_UHURA, 95, true);
 						_awayMission->trial.doorCodeBehaviour = 5;
 						_awayMission->trial.uhuraAnalyzedCode = true;
 						_awayMission->trial.missionScore += 3;
 					} else { // Don't activate, only open the door
-						showText(TX_SPEAKER_UHURA, TX_TRI1U079);
+						showText(TX_SPEAKER_UHURA, 79, true);
 						_awayMission->trial.doorCodeBehaviour = 2;
 						_awayMission->trial.uhuraAnalyzedCode = true;
 						_awayMission->trial.missionScore += 1;
@@ -496,34 +496,34 @@ void Room::trial1UseCommunicator() {
 }
 
 void Room::trial1UseMccoyOnEntity() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI1_016);
+	showText(TX_SPEAKER_MCCOY, 16, true);
 }
 
 void Room::trial1UseMccoyOnLock() {
 	if (!_awayMission->trial.entityDefeated)
-		showText(TX_SPEAKER_MCCOY, TX_TRI1_018);
+		showText(TX_SPEAKER_MCCOY, 18, true);
 	else if (_awayMission->trial.doorCodeBehaviour == 0)
-		showText(TX_SPEAKER_MCCOY, TX_TRI1_020);
+		showText(TX_SPEAKER_MCCOY, 20, true);
 	else
-		showText(TX_SPEAKER_MCCOY, TX_TRI1_029);
+		showText(TX_SPEAKER_MCCOY, 29, true);
 }
 
 void Room::trial1UseMccoyOnFloor() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI1_031);
+	showText(TX_SPEAKER_MCCOY, 31, true);
 }
 
 void Room::trial1UseSpockOnEntity() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI1_039);
+	showText(TX_SPEAKER_SPOCK, 39, true);
 }
 
 
 void Room::trial1UseSpockOnLock() {
 	if (_awayMission->trial.doorOpen)
-		showText(TX_SPEAKER_SPOCK, TX_TRI1_038);
+		showText(TX_SPEAKER_SPOCK, 38, true);
 	else if (!_awayMission->trial.entityDefeated)
-		showText(TX_SPEAKER_SPOCK, TX_TRI1_036);
+		showText(TX_SPEAKER_SPOCK, 36, true);
 	else if (_awayMission->trial.doorCodeBehaviour == 0)
-		showText(TX_SPEAKER_SPOCK, TX_TRI1_044);
+		showText(TX_SPEAKER_SPOCK, 44, true);
 	else if (_awayMission->trial.doorCodeBehaviour == 2)
 		walkCrewmanC(OBJECT_SPOCK, 0x1f, 0xb8, &Room::trial1SpockReachedKeypad);
 	else
@@ -558,11 +558,11 @@ void Room::trial1SpockUsedKeypadWithExtraProgram() {
 
 
 void Room::trial1UseSpockOnFloor() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI1_035);
+	showText(TX_SPEAKER_SPOCK, 35, true);
 }
 
 void Room::trial1UseRedshirtOnEntity() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI1_050);
+	showText(TX_SPEAKER_BENNIE, 50, true);
 }
 
 
@@ -570,9 +570,9 @@ void Room::trial1UseRedshirtOnLock() {
 	if (_awayMission->trial.doorOpen)
 		return;
 	else if (!_awayMission->trial.entityDefeated)
-		showText(TX_SPEAKER_BENNIE, TX_TRI1_051);
+		showText(TX_SPEAKER_BENNIE, 51, true);
 	else if (_awayMission->trial.doorCodeBehaviour == 0)
-		showText(TX_SPEAKER_BENNIE, TX_TRI1_054);
+		showText(TX_SPEAKER_BENNIE, 54, true);
 	else if (_awayMission->trial.doorCodeBehaviour == 2)
 		walkCrewmanC(OBJECT_REDSHIRT, 0x1f, 0xb8, &Room::trial1RedshirtReachedKeypad);
 	else
@@ -607,21 +607,21 @@ void Room::trial1RedshirtUsedKeypadWithExtraProgram() {
 
 
 void Room::trial1UseRedshirtOnFloor() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI1_049);
+	showText(TX_SPEAKER_BENNIE, 49, true);
 }
 
 void Room::trial1UseRodOnMccoy() {
 	// ENHANCEMENT: This was originally only voiced with the wooden rod, not the iron rod.
 	// (This applies to the Spock and Redshirt functions below, too.)
-	showText(TX_SPEAKER_MCCOY, TX_TRI1_027);
+	showText(TX_SPEAKER_MCCOY, 27, true);
 }
 
 void Room::trial1UseRodOnSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI1_037);
+	showText(TX_SPEAKER_SPOCK, 37, true);
 }
 
 void Room::trial1UseRodOnRedshirt() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI1_052);
+	showText(TX_SPEAKER_BENNIE, 52, true);
 }
 
 void Room::trial1UseRodOnFloorOrWall() {
@@ -645,7 +645,7 @@ void Room::trial1DoneThrowingWoodRod() {
 
 
 void Room::trial1UseWoodRodOnLock() {
-	showDescription(TX_TRI1N005);
+	showDescription(5, true);
 }
 
 
@@ -660,7 +660,7 @@ void Room::trial1ReachedMoltenRock() {
 
 void Room::trial1DoneCoatingWoodRod() {
 	_awayMission->disableInput = false;
-	showDescription(TX_TRI1N013);
+	showDescription(13, true);
 	loseItem(OBJECT_IWROD);
 	giveItem(OBJECT_IIROD);
 
@@ -691,19 +691,19 @@ void Room::trial1DoneThrowingIronRod() {
 
 	_awayMission->disableInput = false;
 	stopAllVocSounds();
-	showText(TX_SPEAKER_SPOCK, TX_TRI1_045);
-	showText(TX_SPEAKER_MCCOY, TX_TRI1_033);
+	showText(TX_SPEAKER_SPOCK, 45, true);
+	showText(TX_SPEAKER_MCCOY, 33, true);
 
 	_awayMission->trial.missionScore += 1;
 }
 
 
 void Room::trial1UseIronRodOnLock() {
-	showDescription(TX_TRI1N004);
+	showDescription(4, true);
 }
 
 void Room::trial1GetThrownIronRod() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI1_015);
+	showText(TX_SPEAKER_SPOCK, 15, true);
 }
 
 void Room::trial1WalkToDoor() {
@@ -712,7 +712,7 @@ void Room::trial1WalkToDoor() {
 }
 
 void Room::trial1UseMedkit() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI1_026);
+	showText(TX_SPEAKER_MCCOY, 26, true);
 }
 
 }
diff --git a/engines/startrek/rooms/trial2.cpp b/engines/startrek/rooms/trial2.cpp
index 53e7f66..e8d580c 100644
--- a/engines/startrek/rooms/trial2.cpp
+++ b/engines/startrek/rooms/trial2.cpp
@@ -150,65 +150,65 @@ void Room::trial2Tick1() {
 void Room::trial2Tick60() {
 	if (!_awayMission->trial.enteredGlobRoom) {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_BENNIE, TX_TRI2_034);
-		showText(TX_SPEAKER_KIRK, TX_TRI2_005);
-		showText(TX_SPEAKER_SPOCK, TX_TRI2_030);
-		showText(TX_SPEAKER_KIRK, TX_TRI2_008);
+		showText(TX_SPEAKER_BENNIE, 34, true);
+		showText(TX_SPEAKER_KIRK, 5, true);
+		showText(TX_SPEAKER_SPOCK, 30, true);
+		showText(TX_SPEAKER_KIRK, 8, true);
 		_awayMission->trial.enteredGlobRoom = true;
 	}
 }
 
 void Room::trial2TouchedHotspot0() { // This is unused
 	if (_awayMission->trial.globEnergyLevels[1] != 0 || _awayMission->trial.globEnergyLevels[2] != 0)
-		showText(TX_SPEAKER_SPOCK, TX_TRI2_024);
+		showText(TX_SPEAKER_SPOCK, 24, true);
 }
 
 void Room::trial2LookAtKirk() {
-	showDescription(TX_TRI2N003);
+	showDescription(3, true);
 }
 
 void Room::trial2LookAtSpock() {
-	showDescription(TX_TRI2N001);
+	showDescription(1, true);
 }
 
 void Room::trial2LookAtMccoy() {
-	showDescription(TX_TRI2N006);
+	showDescription(6, true);
 }
 
 void Room::trial2LookAtRedshirt() {
-	showDescription(TX_TRI2N002);
+	showDescription(2, true);
 }
 
 void Room::trial2LookAtInsignia() {
-	showDescription(TX_TRI2N004);
+	showDescription(4, true);
 }
 
 void Room::trial2LookAtGlob() {
-	showDescription(TX_TRI2N000);
+	showDescription(0, true);
 }
 
 void Room::trial2LookAtWall() {
-	showDescription(TX_TRI2N007);
+	showDescription(7, true);
 }
 
 void Room::trial2LookAtDoor() {
-	showDescription(TX_TRI2N005);
+	showDescription(5, true);
 }
 
 void Room::trial2TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_TRI2_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 }
 
 void Room::trial2TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI2_019);
+	showText(TX_SPEAKER_SPOCK, 19, true);
 }
 
 void Room::trial2TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI2_013);
+	showText(TX_SPEAKER_MCCOY, 13, true);
 }
 
 void Room::trial2TalkToRedshirt() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI2_033);
+	showText(TX_SPEAKER_BENNIE, 33, true);
 }
 
 void Room::trial2TalkToGlob() {
@@ -216,7 +216,7 @@ void Room::trial2TalkToGlob() {
 }
 
 void Room::trial2UsePhaserOnWall() {
-	showDescription(TX_TRI2N008);
+	showDescription(8, true);
 }
 
 
@@ -263,9 +263,9 @@ void Room::trial2DrewPhaserToShootGlob() {
 
 	if (!(_roomVar.trial.globBeingShot == OBJECT_GLOB && _roomVar.trial.phaserOnKill == true)) {
 		if (_roomVar.trial.phaserOnKill)
-			showText(TX_SPEAKER_SPOCK, TX_TRI2_023);
+			showText(TX_SPEAKER_SPOCK, 23, true);
 		else
-			showText(TX_SPEAKER_SPOCK, TX_TRI2_025);
+			showText(TX_SPEAKER_SPOCK, 25, true);
 	}
 
 
@@ -288,7 +288,7 @@ void Room::trial2DrewPhaserToShootGlob() {
 void Room::trial2GlobDoneExploding() {
 	stopAllVocSounds();
 	playVoc("Noooloop");
-	showText(TX_SPEAKER_SPOCK, TX_TRI2_020);
+	showText(TX_SPEAKER_SPOCK, 20, true);
 	_awayMission->trial.globDefeated = true;
 	playMidiMusicTracks(MIDITRACK_28, -1);
 	_awayMission->trial.missionScore += 1;
@@ -297,21 +297,7 @@ void Room::trial2GlobDoneExploding() {
 
 void Room::trial2GlobDoneSplitting() {
 	if (_roomVar.trial.globBeingShot == OBJECT_GLOB) {
-		if (true)
-			showText(TX_SPEAKER_SPOCK, TX_TRI2_009);
-		else {
-			// Unused code block: instead of killing the crew right away, the crew can
-			// interact with the split globs.
-			_awayMission->trial.globEnergyLevels[0] = 0;
-			_awayMission->trial.globEnergyLevels[1] = 1;
-			_awayMission->trial.globEnergyLevels[2] = 1;
-			_awayMission->trial.globSplitInTwo = true;
-			loadActorAnim2(OBJECT_SPLIT_GLOB_1, "sglob", SPLIT_GLOB_1_X, SPLIT_GLOB_1_Y);
-			loadActorAnim2(OBJECT_SPLIT_GLOB_2, "sglob", SPLIT_GLOB_2_X, SPLIT_GLOB_2_Y);
-			loadActorStandAnim(OBJECT_GLOB);
-			showText(TX_SPEAKER_SPOCK, TX_TRI2_021);
-			return;
-		}
+		showText(TX_SPEAKER_SPOCK, 9, true);
 	} else if (_roomVar.trial.globBeingShot == OBJECT_SPLIT_GLOB_1) {
 		loadActorAnim2(OBJECT_11, "sglob", 0x43, 0xaf);
 		loadActorAnim2(OBJECT_SPLIT_GLOB_1, "sglob", 0, 0xaf);
@@ -360,23 +346,23 @@ void Room::trial2UseKillPhaserOnSplitGlob2() {
 }
 
 void Room::trial2UseMTricorderOnKirk() {
-	mccoyScan(DIR_S, TX_TRI2_016, true);
+	mccoyScan(DIR_S, 16, true, true);
 }
 
 void Room::trial2UseMTricorderOnSpock() {
-	mccoyScan(DIR_S, TX_TRI2_017, true);
+	mccoyScan(DIR_S, 17, true, true);
 }
 
 void Room::trial2UseMTricorderOnMccoy() {
-	mccoyScan(DIR_S, TX_TRI2_014, true);
+	mccoyScan(DIR_S, 14, true, true);
 }
 
 void Room::trial2UseMTricorderOnRedshirt() {
-	mccoyScan(DIR_S, TX_TRI2_015, true);
+	mccoyScan(DIR_S, 15, true, true);
 }
 
 void Room::trial2UseMTricorderOnGlob() {
-	mccoyScan(DIR_S, TX_TRI2_011, true);
+	mccoyScan(DIR_S, 11, true, true);
 
 	if (!_awayMission->trial.gotPointsForScanningGlob) {
 		_awayMission->trial.gotPointsForScanningGlob = true;
@@ -385,15 +371,15 @@ void Room::trial2UseMTricorderOnGlob() {
 }
 
 void Room::trial2UseSTricorderOnWall() {
-	spockScan(DIR_S, TX_TRI2_029, true);
+	spockScan(DIR_S, 29, true, true);
 }
 
 void Room::trial2UseSTricorderAnywhere() {
-	spockScan(DIR_S, TX_TRI2_027, true);
+	spockScan(DIR_S, 27, true, true);
 }
 
 void Room::trial2UseSTricorderOnGlob() {
-	spockScan(DIR_S, TX_TRI2_026, true);
+	spockScan(DIR_S, 26, true, true);
 
 	if (!_awayMission->trial.gotPointsForScanningGlob) {
 		_awayMission->trial.gotPointsForScanningGlob = true;
@@ -403,14 +389,14 @@ void Room::trial2UseSTricorderOnGlob() {
 
 void Room::trial2UseCommunicator() {
 	if (_awayMission->trial.forceFieldDown) { // TODO: Refactor this between rooms?
-		showText(TX_SPEAKER_UHURA, TX_TRI2U091);
+		showText(TX_SPEAKER_UHURA, 91, true);
 
 		const TextRef choices[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI2_003, TX_TRI2_004, TX_TRI2_007,
+			3, 4, 7,
 			TX_BLANK
 		};
-		int choice = showMultipleTexts(choices);
+		int choice = showMultipleTexts(choices, true);
 
 		if (choice == 0) { // "Beam us back to the enterprise"
 			_awayMission->trial.missionEndMethod = 1;
@@ -421,40 +407,40 @@ void Room::trial2UseCommunicator() {
 			loadRoomIndex(4, 4);
 		} // Else don't transport anywhere
 	} else { // Force field still up
-		showText(TX_SPEAKER_UHURA, TX_TRI2U087);
-		showText(TX_SPEAKER_KIRK,  TX_TRI2_006);
-		showText(TX_SPEAKER_UHURA, TX_TRI2U104);
+		showText(TX_SPEAKER_UHURA, 87, true);
+		showText(TX_SPEAKER_KIRK,  6, true);
+		showText(TX_SPEAKER_UHURA, 104, true);
 		if (!_awayMission->trial.globDefeated) {
-			showText(TX_SPEAKER_UHURA, TX_TRI2U081);
-			showText(TX_SPEAKER_KIRK,  TX_TRI2_002);
+			showText(TX_SPEAKER_UHURA, 81, true);
+			showText(TX_SPEAKER_KIRK,  2, true);
 		}
-		showText(TX_SPEAKER_UHURA, TX_TRI2U074);
+		showText(TX_SPEAKER_UHURA, 74, true);
 	}
 }
 
 void Room::trial2UseMccoyOnGlob() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI2_012);
+	showText(TX_SPEAKER_MCCOY, 12, true);
 }
 
 void Room::trial2UseMccoyOnWall() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI2_010);
+	showText(TX_SPEAKER_MCCOY, 10, true);
 }
 
 void Room::trial2UseSpockOnGlob() {
 	// NOTE: Two possible audio files to use, TRI2_028 and TRI2_F11
-	showText(TX_SPEAKER_SPOCK, TX_TRI2_028);
+	showText(TX_SPEAKER_SPOCK, 28, true);
 }
 
 void Room::trial2UseSpockOnWall() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI2_022);
+	showText(TX_SPEAKER_SPOCK, 22, true);
 }
 
 void Room::trial2UseRedshirtOnGlob() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI2_031);
+	showText(TX_SPEAKER_BENNIE, 31, true);
 }
 
 void Room::trial2UseRedshirtOnWall() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI2_032);
+	showText(TX_SPEAKER_BENNIE, 32, true);
 }
 
 void Room::trial2WalkToDoor() {
@@ -462,7 +448,7 @@ void Room::trial2WalkToDoor() {
 }
 
 void Room::trial2UseMedkitAnywhere() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI2_018);
+	showText(TX_SPEAKER_MCCOY, 18, true);
 }
 
 }
diff --git a/engines/startrek/rooms/trial3.cpp b/engines/startrek/rooms/trial3.cpp
index acfd2be..0c321bc 100644
--- a/engines/startrek/rooms/trial3.cpp
+++ b/engines/startrek/rooms/trial3.cpp
@@ -109,12 +109,12 @@ void Room::trial3Tick30() {
 		_awayMission->disableInput = false;
 		_awayMission->trial.enteredTrial3FirstTime = true;
 
-		showText(TX_SPEAKER_BENNIE, TX_TRI3_030);
-		showText(TX_SPEAKER_KIRK,   TX_TRI3_005);
-		showText(TX_SPEAKER_MCCOY,  TX_TRI3_019);
-		showText(TX_SPEAKER_SPOCK,  TX_TRI3_025);
-		showText(TX_SPEAKER_MCCOY,  TX_TRI3_020);
-		showText(TX_SPEAKER_KIRK,   TX_TRI3_004);
+		showText(TX_SPEAKER_BENNIE, 30, true);
+		showText(TX_SPEAKER_KIRK,    5, true);
+		showText(TX_SPEAKER_MCCOY,  19, true);
+		showText(TX_SPEAKER_SPOCK,  25, true);
+		showText(TX_SPEAKER_MCCOY,  20, true);
+		showText(TX_SPEAKER_KIRK,    4, true);
 	}
 }
 
@@ -209,18 +209,18 @@ void Room::trial3CheckShowUhuraText() {
 		_awayMission->disableWalking = false;
 		loadActorStandAnim(OBJECT_KIRK);
 
-		showText(TX_SPEAKER_UHURA, TX_TRI3U084);
-		showText(TX_SPEAKER_KIRK,  TX_TRI3_007);
-		showText(TX_SPEAKER_UHURA, TX_TRI3U099);
+		showText(TX_SPEAKER_UHURA, 84, true);
+		showText(TX_SPEAKER_KIRK,   7, true);
+		showText(TX_SPEAKER_UHURA, 99, true);
 
 		_awayMission->trial.forceFieldDown = true;
 
 		const TextRef choices[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI3_006, TX_TRI3_002, TX_TRI3_003,
+			6, 2, 3,
 			TX_BLANK
 		};
-		int choice = showMultipleTexts(choices);
+		int choice = showMultipleTexts(choices, true);
 
 		if (choice == 0) { // Don't beam out
 		} else if (choice == 1) { // Beam to enterprise
@@ -260,47 +260,47 @@ void Room::trial3KirkExploded() {
 }
 
 void Room::trial3LookAtKirk() {
-	showDescription(TX_TRI3N000);
+	showDescription(0, true);
 }
 
 void Room::trial3LookAtSpock() {
-	showDescription(TX_TRI3N004);
+	showDescription(4, true);
 }
 
 void Room::trial3LookAtMccoy() {
-	showDescription(TX_TRI3N001);
+	showDescription(1, true);
 }
 
 void Room::trial3LookAtRedshirt() {
-	showDescription(TX_TRI3N002);
+	showDescription(2, true);
 }
 
 void Room::trial3LookAtExit() {
-	showDescription(TX_TRI3N005);
+	showDescription(5, true);
 }
 
 void Room::trial3LookAtWall() {
-	showDescription(TX_TRI3N007);
+	showDescription(7, true);
 }
 
 void Room::trial3TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_TRI3_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 }
 
 void Room::trial3TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI3_022);
+	showText(TX_SPEAKER_SPOCK, 22, true);
 }
 
 void Room::trial3TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI3_018);
+	showText(TX_SPEAKER_MCCOY, 18, true);
 }
 
 void Room::trial3TalkToRedshirt() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI3_029);
+	showText(TX_SPEAKER_BENNIE, 29, true);
 }
 
 void Room::trial3UsePhaserOnWall() {
-	showDescription(TX_TRI3N006);
+	showDescription(6, true);
 }
 
 void Room::trial3UseStunPhaserOnKlingon1() {
@@ -346,56 +346,56 @@ void Room::trial3ReadyToShootKlingon1OnKill() {
 }
 
 void Room::trial3UsePhaserAnywhere() {
-	showDescription(TX_TRI3N003);
+	showDescription(3, true);
 }
 
 void Room::trial3UseMTricorderOnKirk() {
 	// BUGFIX: Original animated Spock instead of Mccoy (same for below mccoy-scan functions)
-	mccoyScan(DIR_S, TX_TRI3_015, true);
+	mccoyScan(DIR_S, 15, true, true);
 }
 
 void Room::trial3UseMTricorderOnSpock() {
-	mccoyScan(DIR_S, TX_TRI3_016, true);
+	mccoyScan(DIR_S, 16, true, true);
 }
 
 void Room::trial3UseMTricorderOnMccoy() {
-	mccoyScan(DIR_S, TX_TRI3_013, true);
+	mccoyScan(DIR_S, 13, true, true);
 }
 
 void Room::trial3UseMTricorderOnRedshirt() {
-	mccoyScan(DIR_S, TX_TRI3_014, true);
+	mccoyScan(DIR_S, 14, true, true);
 }
 
 void Room::trial3UseMTricorderOnExit() {
-	mccoyScan(DIR_S, TX_TRI3_009, true);
+	mccoyScan(DIR_S, 9, true, true);
 }
 
 void Room::trial3UseSTricorderOnWall() {
-	spockScan(DIR_S, TX_TRI3_024, true);
+	spockScan(DIR_S, 24, true, true);
 }
 
 void Room::trial3UseSTricorderOnExit() {
-	spockScan(DIR_S, TX_TRI3_023, true);
+	spockScan(DIR_S, 23, true, true);
 }
 
 void Room::trial3UseMTricorderOnKlingon() {
 	if (_awayMission->trial.shotKlingonState == 22) { // Unconscious
-		mccoyScan(DIR_S, TX_TRI3_011);
+		mccoyScan(DIR_S, 11, false, true);
 		if (!_awayMission->redshirtDead) // BUGFIX: Check if redshirt is dead
-			showText(TX_SPEAKER_BENNIE, TX_TRI3_028);
+			showText(TX_SPEAKER_BENNIE, 28, true);
 	}
 }
 
 void Room::trial3UseCommunicator() {
 	if (_awayMission->trial.forceFieldDown) {
-		showText(TX_SPEAKER_UHURA, TX_TRI3U089);
+		showText(TX_SPEAKER_UHURA, 89, true);
 
 		const TextRef choices[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI3_103, TX_TRI3_104, TX_TRI3_107,
+			103, 104, 107,
 			TX_BLANK
 		};
-		int choice = showMultipleTexts(choices);
+		int choice = showMultipleTexts(choices, true);
 
 		if (choice == 0) { // "Beam us back to the enterprise"
 			_awayMission->trial.missionEndMethod = 1;
@@ -404,7 +404,7 @@ void Room::trial3UseCommunicator() {
 			trial3BeamToVlict();
 		} // Else don't transport anywhere
 	} else { // Force field still up
-		showText(TX_SPEAKER_UHURA, TX_TRI3U067);
+		showText(TX_SPEAKER_UHURA, 67, true);
 	}
 }
 
@@ -425,27 +425,27 @@ void Room::trial3BeamToVlict() {
 }
 
 void Room::trial3UseMccoyOnWall() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI3_010);
+	showText(TX_SPEAKER_MCCOY, 10, true);
 }
 
 void Room::trial3UseMccoyOnExit() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI3_012);
+	showText(TX_SPEAKER_MCCOY, 12, true);
 }
 
 void Room::trial3UseSpockOnWall() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI3_021);
+	showText(TX_SPEAKER_SPOCK, 21, true);
 }
 
 void Room::trial3UseSpockOnExit() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI3_008);
+	showText(TX_SPEAKER_SPOCK, 8, true);
 }
 
 void Room::trial3UseRedshirtOnExit() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI3_027);
+	showText(TX_SPEAKER_BENNIE, 27, true);
 }
 
 void Room::trial3UseRedshirtOnWall() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI3_026);
+	showText(TX_SPEAKER_BENNIE, 26, true);
 }
 
 void Room::trial3WalkToExit() {
@@ -453,7 +453,7 @@ void Room::trial3WalkToExit() {
 }
 
 void Room::trial3UseMedkitAnywhere() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI3_017);
+	showText(TX_SPEAKER_MCCOY, 17, true);
 }
 
 }
diff --git a/engines/startrek/rooms/trial4.cpp b/engines/startrek/rooms/trial4.cpp
index 62f00c6..5faeed1 100644
--- a/engines/startrek/rooms/trial4.cpp
+++ b/engines/startrek/rooms/trial4.cpp
@@ -47,139 +47,139 @@ void Room::trial4Tick1() {
 }
 
 void Room::trial4Tick60() {
-	showText(TX_SPEAKER_VLICT, TX_TRI4_061);
+	showText(TX_SPEAKER_VLICT, 61, true);
 
 	const TextRef choices[] = {
 		TX_SPEAKER_KIRK,
-		TX_TRI4_022, TX_TRI4_039, TX_TRI4_032,
+		22, 39, 32,
 		TX_BLANK
 	};
-	int choice = showMultipleTexts(choices);
+	int choice = showMultipleTexts(choices, true);
 
 	if (choice == 0) { // "You were trying to kill us"
-		showText(TX_SPEAKER_VLICT, TX_TRI4_064);
+		showText(TX_SPEAKER_VLICT, 64, true);
 
 		const TextRef choices2[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI4_033, TX_TRI4_009, TX_TRI4_002,
+			33, 9, 2,
 			TX_BLANK
 		};
-		showMultipleTexts(choices2); // choice doesn't matter
+		showMultipleTexts(choices2, true); // choice doesn't matter
 
-		showText(TX_SPEAKER_VLICT, TX_TRI4_062);
-		showText(TX_SPEAKER_KIRK,  TX_TRI4_014);
-		showText(TX_SPEAKER_VLICT, TX_TRI4_066);
-		showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_043);
+		showText(TX_SPEAKER_VLICT, 62, true);
+		showText(TX_SPEAKER_KIRK,  14, true);
+		showText(TX_SPEAKER_VLICT, 66, true);
+		showText(TX_SPEAKER_QUETZECOATL, 43, true);
 
 		const TextRef choices3[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI4_029, TX_TRI4_020, TX_TRI4_030,
+			29, 20, 30,
 			TX_BLANK
 		};
-		choice = showMultipleTexts(choices3);
+		choice = showMultipleTexts(choices3, true);
 
 		if (choice == 0) { // "Then you have my deepest respect"
 			// Nothing more
 		} else if (choice == 1) { // "Make it a painless death"
-			showText(TX_SPEAKER_VLICT, TX_TRI4_063);
+			showText(TX_SPEAKER_VLICT, 63, true);
 		} else if (choice == 2) { // "I hope you chose the right time"
-			showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_040);
+			showText(TX_SPEAKER_QUETZECOATL, 40, true);
 		}
 	} else if (choice == 1) { // "Use of guile is honorable?"
-		showText(TX_SPEAKER_VLICT, TX_TRI4_060);
-		showText(TX_SPEAKER_KIRK,  TX_TRI4_013);
-		showText(TX_SPEAKER_VLICT, TX_TRI4_072);
-		showText(TX_SPEAKER_KIRK,  TX_TRI4_015);
-		showText(TX_SPEAKER_VLICT, TX_TRI4_071);
-		showText(TX_SPEAKER_KIRK,  TX_TRI4_005);
-		showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_052);
-		showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_041);
-		showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_051);
-		showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_053);
-		showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_050);
-		showText(TX_SPEAKER_VLICT, TX_TRI4_070);
+		showText(TX_SPEAKER_VLICT, 60, true);
+		showText(TX_SPEAKER_KIRK,  13, true);
+		showText(TX_SPEAKER_VLICT, 72, true);
+		showText(TX_SPEAKER_KIRK,  15, true);
+		showText(TX_SPEAKER_VLICT, 71, true);
+		showText(TX_SPEAKER_KIRK,  05, true);
+		showText(TX_SPEAKER_QUETZECOATL, 52, true);
+		showText(TX_SPEAKER_QUETZECOATL, 41, true);
+		showText(TX_SPEAKER_QUETZECOATL, 51, true);
+		showText(TX_SPEAKER_QUETZECOATL, 53, true);
+		showText(TX_SPEAKER_QUETZECOATL, 50, true);
+		showText(TX_SPEAKER_VLICT, 70, true);
 
 		const TextRef choices2[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI4_019, TX_TRI4_025, TX_TRI4_008,
+			19, 25, 8,
 			TX_BLANK
 		};
-		choice = showMultipleTexts(choices2);
+		choice = showMultipleTexts(choices2, true);
 
 		if (choice == 1) { // Threatened Vlict
-			showText(TX_SPEAKER_VLICT, TX_TRI4_069);
-			showText(TX_SPEAKER_KIRK,  TX_TRI4_004);
+			showText(TX_SPEAKER_VLICT, 69, true);
+			showText(TX_SPEAKER_KIRK,  04, true);
 		} // else, nothing more
 	} else if (choice == 2) { // "You didn't say I couldn't use my ship"
-		showText(TX_SPEAKER_VLICT, TX_TRI4_058);
+		showText(TX_SPEAKER_VLICT, 58, true);
 
 		const TextRef choices2[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI4_027, TX_TRI4_034, TX_TRI4_018,
+			27, 34, 18,
 			TX_BLANK
 		};
-		choice = showMultipleTexts(choices2);
+		choice = showMultipleTexts(choices2, true);
 
 		if (choice == 0) { // "Let's stop playing games"
-			showText(TX_SPEAKER_VLICT, TX_TRI4_075);
-			showText(TX_SPEAKER_KIRK,  TX_TRI4_017);
-			showText(TX_SPEAKER_QUETZECOATL,  TX_TRI4_042);
-			showText(TX_SPEAKER_VLICT, TX_TRI4_054);
+			showText(TX_SPEAKER_VLICT, 75, true);
+			showText(TX_SPEAKER_KIRK,  17, true);
+			showText(TX_SPEAKER_QUETZECOATL,  42, true);
+			showText(TX_SPEAKER_VLICT, 54, true);
 
 			const TextRef choices3[] = {
 				TX_SPEAKER_KIRK,
-				TX_TRI4_028, TX_TRI4_021, TX_TRI4_031,
+				28, 21, 31,
 				TX_BLANK
 			};
-			choice = showMultipleTexts(choices3);
+			choice = showMultipleTexts(choices3, true);
 
 			if (choice == 0 || choice == 1) {
-				showText(TX_SPEAKER_VLICT, TX_TRI4_068);
-				showText(TX_SPEAKER_MCCOY, TX_TRI4_036);
+				showText(TX_SPEAKER_VLICT, 68, true);
+				showText(TX_SPEAKER_MCCOY, 36, true);
 			} else if (choice == 2) {
-				showText(TX_SPEAKER_VLICT, TX_TRI4_056);
-				showText(TX_SPEAKER_KIRK, TX_TRI4_001);
+				showText(TX_SPEAKER_VLICT, 56, true);
+				showText(TX_SPEAKER_KIRK, 01, true);
 			}
 		} else if (choice == 1) { // "You lost, release Quetzecoatl"
-			showText(TX_SPEAKER_VLICT, TX_TRI4_076);
-			showText(TX_SPEAKER_MCCOY, TX_TRI4_037);
-			showText(TX_SPEAKER_VLICT, TX_TRI4_073);
-			showText(TX_SPEAKER_KIRK,  TX_TRI4_011);
-			showText(TX_SPEAKER_VLICT, TX_TRI4_059);
+			showText(TX_SPEAKER_VLICT, 76, true);
+			showText(TX_SPEAKER_MCCOY, 37, true);
+			showText(TX_SPEAKER_VLICT, 73, true);
+			showText(TX_SPEAKER_KIRK,  11, true);
+			showText(TX_SPEAKER_VLICT, 59, true);
 		} else if (choice == 2) { // "Nature beat me to it"
-			showText(TX_SPEAKER_VLICT, TX_TRI4_065);
-			showText(TX_SPEAKER_KIRK,  TX_TRI4_016);
-			showText(TX_SPEAKER_VLICT, TX_TRI4_074);
+			showText(TX_SPEAKER_VLICT, 65, true);
+			showText(TX_SPEAKER_KIRK,  16, true);
+			showText(TX_SPEAKER_VLICT, 74, true);
 
 			const TextRef choices3[] = {
 				TX_SPEAKER_KIRK,
-				TX_TRI4_026, TX_TRI4_024, TX_TRI4_023,
+				26, 24, 23,
 				TX_BLANK
 			};
-			choice = showMultipleTexts(choices3);
+			choice = showMultipleTexts(choices3, true);
 
 			if (choice == 0) { // "The empire will learn you betrayed them"
-				showText(TX_SPEAKER_VLICT, TX_TRI4_057);
-				showText(TX_SPEAKER_SPOCK, TX_TRI4_038);
-				showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_044);
-				showText(TX_SPEAKER_KIRK, TX_TRI4_006);
-				showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_048);
+				showText(TX_SPEAKER_VLICT, 57, true);
+				showText(TX_SPEAKER_SPOCK, 38, true);
+				showText(TX_SPEAKER_QUETZECOATL, 44, true);
+				showText(TX_SPEAKER_KIRK, 06, true);
+				showText(TX_SPEAKER_QUETZECOATL, 48, true);
 			} else if (choice == 1) { // "You didn't give him a fair trial"
-				showText(TX_SPEAKER_VLICT,       TX_TRI4_055);
-				showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_045);
-				showText(TX_SPEAKER_KIRK,        TX_TRI4_003);
-				showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_047);
-				showText(TX_SPEAKER_KIRK,        TX_TRI4_010);
+				showText(TX_SPEAKER_VLICT,       55, true);
+				showText(TX_SPEAKER_QUETZECOATL, 45, true);
+				showText(TX_SPEAKER_KIRK,        03, true);
+				showText(TX_SPEAKER_QUETZECOATL, 47, true);
+				showText(TX_SPEAKER_KIRK,        10, true);
 			} else if (choice == 2) { // "How can a liar like you say 'honor'"
-				showText(TX_SPEAKER_VLICT,       TX_TRI4_067);
-				showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_046);
-				showText(TX_SPEAKER_KIRK,        TX_TRI4_007);
-				showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_049);
+				showText(TX_SPEAKER_VLICT,       67, true);
+				showText(TX_SPEAKER_QUETZECOATL, 46, true);
+				showText(TX_SPEAKER_KIRK,        07, true);
+				showText(TX_SPEAKER_QUETZECOATL, 49, true);
 			}
 		}
 	}
 
-	showText(TX_SPEAKER_KIRK, TX_TRI4_012);
+	showText(TX_SPEAKER_KIRK, 12, true);
 	_awayMission->trial.missionEndMethod = 2;
 	endMission(_awayMission->trial.missionScore, _awayMission->trial.field2b, 2);
 }
diff --git a/engines/startrek/rooms/trial5.cpp b/engines/startrek/rooms/trial5.cpp
index 59c6a71..8576136 100644
--- a/engines/startrek/rooms/trial5.cpp
+++ b/engines/startrek/rooms/trial5.cpp
@@ -179,37 +179,37 @@ void Room::trial5Tick1() {
 }
 
 void Room::trial5Tick60() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI5_052);
-	showText(TX_SPEAKER_SPOCK,  TX_TRI5_017);
-	showText(TX_SPEAKER_MCCOY,  TX_TRI5_014);
-	showText(TX_SPEAKER_KIRK,   TX_TRI5_002);
+	showText(TX_SPEAKER_BENNIE, 52, true);
+	showText(TX_SPEAKER_SPOCK,  17, true);
+	showText(TX_SPEAKER_MCCOY,  14, true);
+	showText(TX_SPEAKER_KIRK,    2, true);
 }
 
 void Room::trial5VlictAppeared() {
-	showText(TX_SPEAKER_BIALBI, TX_TRI5_027);
-	showText(TX_SPEAKER_VLICT,  TX_TRI5_020);
-	showText(TX_SPEAKER_BIALBI, TX_TRI5_031);
-	showText(TX_SPEAKER_VLICT,  TX_TRI5_022);
-	showText(TX_SPEAKER_BIALBI, TX_TRI5_029);
-	showText(TX_SPEAKER_VLICT,  TX_TRI5_018);
+	showText(TX_SPEAKER_BIALBI, 27, true);
+	showText(TX_SPEAKER_VLICT,  20, true);
+	showText(TX_SPEAKER_BIALBI, 31, true);
+	showText(TX_SPEAKER_VLICT,  22, true);
+	showText(TX_SPEAKER_BIALBI, 29, true);
+	showText(TX_SPEAKER_VLICT,  18, true);
 
 	const TextRef choices[] = {
 		TX_SPEAKER_KIRK,
-		TX_TRI5_003, TX_TRI5_008, TX_TRI5_006,
+		3, 8, 6,
 		TX_BLANK
 	};
-	int choice = showMultipleTexts(choices);
+	int choice = showMultipleTexts(choices, true);
 
 	if (choice == 0) { // "Do you want me to help you?"
-		showText(TX_SPEAKER_VLICT, TX_TRI5_023);
-		showText(TX_SPEAKER_MCCOY, TX_TRI5_015);
+		showText(TX_SPEAKER_VLICT, 23, true);
+		showText(TX_SPEAKER_MCCOY, 15, true);
 
 		const TextRef choices2[] = {
 			TX_SPEAKER_KIRK,
-			TX_TRI5_009, TX_TRI5_007,
+			9, 7,
 			TX_BLANK
 		};
-		choice = showMultipleTexts(choices2);
+		choice = showMultipleTexts(choices2, true);
 
 		if (choice == 0)
 			choice = 1;
@@ -218,24 +218,24 @@ void Room::trial5VlictAppeared() {
 	}
 
 	if (choice == 1) { // "Now you can rot as you deserve"
-		showText(TX_SPEAKER_BIALBI, TX_TRI5_034);
+		showText(TX_SPEAKER_BIALBI, 34, true);
 
 		_awayMission->trial.missionEndMethod = 4;
 		endMission(_awayMission->trial.missionScore, 1, 4);
 	} else if (choice == 2) { // "I'll intervene if Quetzecoatl goes free"
-		showText(TX_SPEAKER_VLICT, TX_TRI5_019);
+		showText(TX_SPEAKER_VLICT, 19, true);
 		playMidiMusicTracks(MIDITRACK_28, -1);
 
-		showText(TX_SPEAKER_BIALBI, TX_TRI5_025);
+		showText(TX_SPEAKER_BIALBI, 25, true);
 		_awayMission->trial.missionScore += 4;
-		showText(TX_SPEAKER_KIRK,   TX_TRI5_004);
-		showText(TX_SPEAKER_BIALBI, TX_TRI5_030);
-		showText(TX_SPEAKER_BIALBI, TX_TRI5_026);
-		showText(TX_SPEAKER_VLICT,  TX_TRI5_021);
-		showText(TX_SPEAKER_BIALBI, TX_TRI5_028);
-		showText(TX_SPEAKER_KIRK,   TX_TRI5_005);
-		showText(TX_SPEAKER_BIALBI, TX_TRI5_033);
-		showText(TX_SPEAKER_BIALBI, TX_TRI5_032);
+		showText(TX_SPEAKER_KIRK,    4, true);
+		showText(TX_SPEAKER_BIALBI, 30, true);
+		showText(TX_SPEAKER_BIALBI, 26, true);
+		showText(TX_SPEAKER_VLICT,  21, true);
+		showText(TX_SPEAKER_BIALBI, 28, true);
+		showText(TX_SPEAKER_KIRK,    5, true);
+		showText(TX_SPEAKER_BIALBI, 33, true);
+		showText(TX_SPEAKER_BIALBI, 32, true);
 
 		_awayMission->trial.missionEndMethod = 3;
 		endMission(1, 1, 3); // FIXME: Are these parameters correct?
@@ -248,9 +248,9 @@ void Room::trial5WalkToInterface() {
 
 void Room::trial5ReachedInterface() {
 	if (!_awayMission->trial.neuralInterfaceActive)
-		showText(TX_SPEAKER_VOICE, TX_TRI5_035);
+		showText(TX_SPEAKER_VOICE, 35, true);
 	else {
-		showText(TX_SPEAKER_BIALBI, TX_TRI5_024);
+		showText(TX_SPEAKER_BIALBI, 24, true);
 		loadActorAnimC(OBJECT_VLICT, "vlict1", 0xbe, 0x91, &Room::trial5VlictAppeared);
 		_awayMission->trial.missionScore += 5;
 		playMidiMusicTracks(MIDITRACK_1, -1);
@@ -332,110 +332,110 @@ void Room::trial5GetBlueGem3() {
 }
 
 void Room::trial5LookAtKirk() {
-	showDescription(TX_TRI5N005);
+	showDescription(5, true);
 }
 
 void Room::trial5LookAtSpock() {
-	showDescription(TX_TRI5N009);
+	showDescription(9, true);
 }
 
 void Room::trial5LookAtMccoy() {
-	showDescription(TX_TRI5N008);
+	showDescription(8, true);
 }
 
 void Room::trial5LookAtRedshirt() {
-	showDescription(TX_TRI5N010);
+	showDescription(10, true);
 }
 
 void Room::trial5LookAtBeam() {
-	showDescription(TX_TRI5N002);
+	showDescription(2, true);
 }
 
 void Room::trial5LookAtInterface() {
-	showDescription(TX_TRI5N004);
+	showDescription(4, true);
 }
 
 void Room::trial5UseSTricorderOnInterface() {
-	spockScan(DIR_E, TX_TRI5_010, true);
+	spockScan(DIR_E, 10, true, true);
 }
 
 void Room::trial5UseMTricorderOnInterface() {
-	mccoyScan(DIR_E, TX_TRI5_011, true);
+	mccoyScan(DIR_E, 11, true, true);
 }
 
 void Room::trial5LookAtRedGem1() {
-	showDescription(TX_TRI5N013);
+	showDescription(13, true);
 }
 
 void Room::trial5LookAtRedGem2() {
-	showDescription(TX_TRI5N014);
+	showDescription(14, true);
 }
 
 void Room::trial5LookAtRedGem3() {
-	showDescription(TX_TRI5N015);
+	showDescription(15, true);
 }
 
 void Room::trial5LookAtGreenGem1() {
-	showDescription(TX_TRI5N019);
+	showDescription(19, true);
 }
 
 void Room::trial5LookAtGreenGem2() {
-	showDescription(TX_TRI5N020);
+	showDescription(20, true);
 }
 
 void Room::trial5LookAtGreenGem3() {
-	showDescription(TX_TRI5N021);
+	showDescription(21, true);
 }
 
 void Room::trial5LookAtBlueGem1() {
-	showDescription(TX_TRI5N016);
+	showDescription(16, true);
 }
 
 void Room::trial5LookAtBlueGem2() {
-	showDescription(TX_TRI5N017);
+	showDescription(17, true);
 }
 
 void Room::trial5LookAtBlueGem3() {
-	showDescription(TX_TRI5N018);
+	showDescription(18, true);
 }
 
 void Room::trial5LookAtHole() {
-	showDescription(TX_TRI5N006);
+	showDescription(6, true);
 }
 
 void Room::trial5TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, TX_TRI5_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 }
 
 void Room::trial5TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_TRI5_016);
+	showText(TX_SPEAKER_SPOCK, 16, true);
 }
 
 void Room::trial5TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI5_013);
+	showText(TX_SPEAKER_MCCOY, 13, true);
 }
 
 void Room::trial5TalkToRedshirt() {
-	showText(TX_SPEAKER_BENNIE, TX_TRI5_051);
+	showText(TX_SPEAKER_BENNIE, 51, true);
 }
 
 void Room::trial5UsePhaser() {
-	showDescription(TX_TRI5N011);
+	showDescription(11, true);
 }
 
 void Room::trial5UseMTricorderAnywhere() {
 	// BUGFIX: Original had Spock doing the animation, not Mccoy
 	mccoyScan(DIR_S, -1, true);
-	showDescription(TX_TRI5N012);
+	showDescription(12, true);
 }
 
 void Room::trial5UseSTricorderAnywhere() {
 	spockScan(DIR_S, -1, true);
-	showDescription(TX_TRI5N012);
+	showDescription(12, true);
 }
 
 void Room::trial5UseCommunicator() {
-	showDescription(TX_TRI5N007);
+	showDescription(7, true);
 }
 
 void Room::trial5UseGemOnHole(int16 item, int16 object, int16 hole) {
@@ -502,7 +502,7 @@ void Room::trial5ReachedHoleToPutGem() {
 		if COMBO(RED, RED, RED) {
 			trial5ActivateLightOfWar();
 			playMidiMusicTracks(MIDITRACK_1, -1);
-			showText(TX_SPEAKER_LIGHT_OF_WAR, TX_TRI5_050); // All ships in orbit destroyed
+			showText(TX_SPEAKER_LIGHT_OF_WAR, 50, true); // All ships in orbit destroyed
 			showGameOverMenu();
 		} else if COMBO(RED, RED, GREEN) {
 			trial5RestrictedCombination1();
@@ -512,20 +512,20 @@ void Room::trial5ReachedHoleToPutGem() {
 			trial5RestrictedCombination1();
 		} else if COMBO(RED, GREEN, GREEN) {
 			trial5ActivateLightOfWar();
-			showText(TX_SPEAKER_LIGHT_OF_WAR, TX_TRI5_036);
+			showText(TX_SPEAKER_LIGHT_OF_WAR, 36, true);
 		} else if COMBO(RED, GREEN, BLUE) {
 			trial5ActivateLightOfWar();
-			showText(TX_SPEAKER_LIGHT_OF_WAR, TX_TRI5_048);
+			showText(TX_SPEAKER_LIGHT_OF_WAR, 48, true);
 		} else if COMBO(RED, BLUE, RED) {
 			trial5RestrictedCombination1();
 		} else if COMBO(RED, BLUE, GREEN) {
 			trial5RestrictedCombination1();
 		} else if COMBO(RED, BLUE, BLUE) {
 			trial5ActivateLightOfWar();
-			showText(TX_SPEAKER_LIGHT_OF_WAR, TX_TRI5_049);
+			showText(TX_SPEAKER_LIGHT_OF_WAR, 49, true);
 		} else if COMBO(GREEN, RED, RED) {
 			trial5ActivateLightOfKnowledge();
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_047);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 47, true);
 		} else if COMBO(GREEN, RED, GREEN) {
 			trial5RestrictedCombination2();
 		} else if COMBO(GREEN, RED, BLUE) {
@@ -535,8 +535,8 @@ void Room::trial5ReachedHoleToPutGem() {
 		} else if COMBO(GREEN, GREEN, GREEN) {
 			trial5ActivateLightOfKnowledge();
 			playVoc("EFX12B");
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_040);
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_037);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 40, true);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 37, true);
 			_awayMission->trial.neuralInterfaceActive = true;
 
 			if (!_awayMission->trial.gotPointsForActivatingInterface) {
@@ -547,25 +547,25 @@ void Room::trial5ReachedHoleToPutGem() {
 			trial5RestrictedCombination1();
 		} else if COMBO(GREEN, BLUE, RED) {
 			trial5ActivateLightOfKnowledge();
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_041);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 41, true);
 		} else if COMBO(GREEN, BLUE, GREEN) {
 			trial5RestrictedCombination2();
 		} else if COMBO(GREEN, BLUE, BLUE) {
 			trial5ActivateLightOfKnowledge();
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_038);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 38, true);
 		} else if COMBO(BLUE, RED, RED) {
 			trial5ActivateLightOfTravel();
-			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_045);
+			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, 45, true);
 		} else if COMBO(BLUE, RED, GREEN) {
 			trial5DestinationNoLongerExists();
 		} else if COMBO(BLUE, RED, BLUE) {
 			trial5DestinationNoLongerExists();
 		} else if COMBO(BLUE, GREEN, RED) {
 			trial5ActivateLightOfTravel();
-			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_042);
+			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, 42, true);
 		} else if COMBO(BLUE, GREEN, GREEN) {
 			trial5ActivateLightOfTravel();
-			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_044);
+			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, 44, true);
 		} else if COMBO(BLUE, GREEN, BLUE) {
 			trial5DestinationNoLongerExists();
 		} else if COMBO(BLUE, BLUE, RED) {
@@ -574,7 +574,7 @@ void Room::trial5ReachedHoleToPutGem() {
 			trial5RestrictedCombination1();
 		} else if COMBO(BLUE, BLUE, BLUE) {
 			trial5ActivateLightOfTravel();
-			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_046);
+			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, 46, true);
 
 			_awayMission->disableInput = true;
 			playSoundEffectIndex(SND_TRANSDEM);
@@ -612,17 +612,17 @@ void Room::trial5RestrictedCombination1() {
 	// knowledge.
 	// It's inconsistent, but I guess we can chalk it up to the aliens being mysterious...
 	playSoundEffectIndex(SND_TRANSENE);
-	showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_039);
+	showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 39, true);
 }
 
 void Room::trial5RestrictedCombination2() {
 	trial5ActivateLightOfKnowledge();
-	showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_039);
+	showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 39, true);
 }
 
 void Room::trial5DestinationNoLongerExists() {
 	trial5ActivateLightOfTravel();
-	showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_043);
+	showText(TX_SPEAKER_LIGHT_OF_TRAVEL, 43, true);
 }
 
 void Room::trial5CrewmanBeamedOut() {
@@ -746,7 +746,7 @@ void Room::trial5UseBlueGem3OnHole3() {
 
 
 void Room::trial5UseMedkitAnywhere() {
-	showText(TX_SPEAKER_MCCOY, TX_TRI5_012);
+	showText(TX_SPEAKER_MCCOY, 12, true);
 }
 
 }
diff --git a/engines/startrek/text.cpp b/engines/startrek/text.cpp
index 79605e9..e484852 100644
--- a/engines/startrek/text.cpp
+++ b/engines/startrek/text.cpp
@@ -148,418 +148,14 @@ extern const char *const g_gameStrings[] = {
 	"#FEA1\\FEA1_A46#There is not enough support, Captain.",
 	"#FEA1\\FEA1_F25#What on Earth are you doing with that slithering thing!",
 
-	"#TRI0\\TRI0_001#I want your word of honor, Vlict, that Quetzecoatl will not be harmed while we take these tests.",
-	"#TRI0\\TRI0_002#I've faced Klingons, both in personal and ship-to-ship combat. Your own records will confirm this. If I'm not worthy of their honors, why didn't they kill me?",
-	"#TRI0\\TRI0_003#Then the Klingon Empire is wrong.",
-	"#TRI0\\TRI0_004#Those are serious charges, Vlict. Should he not be tried by a Klingon High Court?",
-	"#TRI0\\TRI0_006#By our standards, he would rank among the greatest heroes of the Federation: Gandhi, Surak, M'lelto-jhi, Shanarda. We will not abandon him.",
-	"#TRI0\\TRI0_007#Ensign!",
-	"#TRI0\\TRI0_008#Fine. Can we get this over with? I've got shore leave scheduled on Ryza next week.",
-	"#TRI0\\TRI0_009#Give me an opportunity. If I succeed, Quetzecoatl goes free.",
-	"#TRI0\\TRI0_010#Guess I can't argue with you. Pleasant conquests, admiral.",
-	"#TRI0\\TRI0_011#I'm a warrior, Vlict! I hereby intervene for him and demand the honors and responsibilities of a warrior's trial!",
-	"#TRI0\\TRI0_013#I'm James T. Kirk. I'm more worthy than you'll ever be, and I have girlfriends on fifty planets who will vouch for that!",
-	"#TRI0\\TRI0_014#If it means that I can prevent you from murdering an ancient and blameless creature, yes. And I'm prepared to back it up.",
-	"#TRI0\\TRI0_015#Oh well. I'm afraid you're on your own, Quetzecoatl.",
-	"#TRI0\\TRI0_016#Stick around, Vlict. There are more surprises awaiting you.",
-	"#TRI0\\TRI0_017#Then a Klingon can thrive on the conflict between his inner nature and his philosophy. Clearly, the people of Hrakkour did that.",
-	"#TRI0\\TRI0_018#Then this trial is a mockery for the entire galaxy to see!",
-	"#TRI0\\TRI0_019#There's nothing less appealing than a gloating Klingon, Vlict. Let's get this trial under way.",
-	"#TRI0\\TRI0_020#This is a matter for a philosophical debate, not a trial! The state has no right to interfere in a person's conscience.",
-	"#TRI0\\TRI0_021#Why does every Klingon tell me they expected to meet me in battle? You really have a one-track mind!",
-	"#TRI0\\TRI0_022#You will act with the discipline of a Federation officer, Ensign, or you will return to the Enterprise. Do I make myself clear?",
-	"#TRI0\\TRI0_023#You're going to kill this old man because he encouraged non-violence? The Federation cannot accept this.",
-	"#TRI0\\TRI0_024#Any hostile action here may result in the destruction of the Enterprise.",
-	"#TRI0\\TRI0_025#Captain, I estimate the odds of this court acquitting Quetzecoatl at 0.086 percent.",
-	"#TRI0\\TRI0_026#Captain, may I remind you that we are deep in Klingon space? If we attack them here, they may respond by destroying the Enterprise.",
-	"#TRI0\\TRI0_027#Damn it Jim, I'm a doctor not a arbitrator.",
-	"#TRI0\\TRI0_028#Damn it, Jim!  I use my hands to save lives not take them.",
-	"#TRI0\\TRI0_029#He's still weak from the operation.",
-	"#TRI0\\TRI0_030#One healthy adult klingon male.",
-	"#TRI0\\TRI0_031#I've got nothing to say to you, Jim.",
-	"#TRI0\\TRI0_034#Nobody needs healing, Jim, but you will if they harm my patient.",
-	"#TRI0\\TRI0_035#Nothing of interest.",
-	"#TRI0\\TRI0_036#Don't be a fool, Jim! We can't risk the Enterprise! We've already signed one person's death warrant!", // TYPO
-	"#TRI0\\TRI0_037#Low level radiation, within safety limits. But you wouldn't want to spend more than a few days here.",
-	"#TRI0\\TRI0_038#Nothing of interest.",
-	"#TRI0\\TRI0_039#Children should not even play at war. To prepare them to kill is barbaric.",
-	"#TRI0\\TRI0_040#I have failed. Death is what I deserve.",
-	"#TRI0\\TRI0_041#I offered them insights into the philosophy of peace and cooperation. They chose to follow it of their own free will.",
-	"#TRI0\\TRI0_042#I'm frightened, Captain, but if I am to die, then I shall die well.",
-	"#TRI0\\TRI0_043#A Federation officer, claiming the rights of a Klingon warrior? How dare you insult me, Kirk!",
-	"#TRI0\\TRI0_044#As for you Kirk, I expected a more forceful response. I had heard you were a worthy opponent. Instead, I see a cringing coward. Leave this place, Kirk. You dishonor it.",
-	"#TRI0\\TRI0_045#Ha! Ha! You have never encountered Klingon women, Captain. But that was the response of a true warrior. You have earned my respect. I shall give you and your companions a chance to defend the traitor.",
-	"#TRI0\\TRI0_046#He has admitted guilt. You have surrendered him to Klingon law. Can you deny that this was a fair trial?",
-	"#TRI0\\TRI0_047#He has not demonstrated honor, Kirk! Only a proven warrior may be tried in High Court! Principles of honor are not applicable to his defense!",
-	"#TRI0\\TRI0_048#How typical of the Federation, to judge every other species as morally inferior. Your rhetoric is not welcome here!",
-	"#TRI0\\TRI0_049#I hereby sentence K'etz'coatl to a coward's death.",
-	"#TRI0\\TRI0_050#K'etz'koatl, you encouraged the colony to destroy its weapons. You even encouraged them to hold their children from our traditional military ceremonies.",
-	"#TRI0\\TRI0_051#Only the greatest warriors of old could say such a thing and expect to live! Do you think yourself worthy enough to walk in their footsteps?",
-	"#TRI0\\TRI0_052#Pacifism is utterly alien to our people. It would be as though he preached a doctrine of suicide in direct contradiction of the will to live. Honorable men thrive in war and conflict -- cowards seek to avoid conflict.",
-	"#TRI0\\TRI0_053#So Kirk, we finally meet. I had thought it would be in battle, but the universe holds many surprises.",
-	"#TRI0\\TRI0_054#So be it. This begins the trial of the entity K'etz'koatl, who is charged with impersonating a klingon, stirring dissent, encouraging cowardice, and treason in the highest degree.",
-	"#TRI0\\TRI0_055#Stories of your impudence are not exaggerated. You shall have your chance. It is a pity we will not meet again, Captain.",
-	"#TRI0\\TRI0_056#That oversight, Kirk, is easily rectified.",
-	"#TRI0\\TRI0_057#The Klingon Empire will not tolerate dissent.",
-	"#TRI0\\TRI0_058#The prisoner and his witnesses will stand forth, so the trial may begin!",
-	"#TRI0\\TRI0_059#To counsel it is to counsel cowardice. To counsel it is to abandon all honor! This is treason, for all to see! The penalty for treason in this system is death! Do you accept your sentence?",
-	"#TRI0\\TRI0_060#Very well. You have my word. Captain Kallarax, transport them to the Test of Life.",
-	"#TRI0\\TRI0_061#You and your three companions may face the tests that we set for the defender. Then we shall see if you are as worthy as a Klingon!",
-	"#TRI0\\TRI0_062#You will not speak unless the court requests it, Kirk!",
-	"#TRI0\\TRI0_063#Awaiting your orders, sir!",
-	"#TRI0\\TRI0_064#But I did, sir. Lieutenant Hildebrandt is a third dan in karate. Toughest fighter I've ever known...",
-	"#TRI0\\TRI0_065#Who are you calling a weakling? I've had tougher girlfriends than you, pal!",
-	"#TRI0\\TRI0_066#Yes sir.",
 	"#TRI0\\TRI0_F24#How amusing. Federation weaklings.",
-	"#TRI0\\TRI0N000#A Klingon guard. A big Klingon guard. A big Klingon guard with his disruptor ready to fire on anyone who gives him trouble.",
-	"#TRI0\\TRI0N001#Admiral Vlict, commander of the Klingon flagship K'lirta.",
-	"#TRI0\\TRI0N002#Dr. McCoy glares angrily at Kirk. It is obvious he does not like seeing his patient handed over to the Klingons.",
-	"#TRI0\\TRI0N003#Ensign Bennie stares around the Klingon court, distrusting everything he sees.",
-	"#TRI0\\TRI0N004#James T. Kirk, trapped in a situation he cannot win, forced to watch a travesty of justice... or is he?",
-	"#TRI0\\TRI0N005#Mr. Spock looks stoically at the klingon bench. Expecting to win this case would be illogical.",
-	"#TRI0\\TRI0N006#This bench is marked with the symbol of the Klingon Court of High Justice, the two Triangles of Words and Blood, linked together.",
-	"#TRI0\\TRI0N007#This city was destroyed by heavy bombardment and intense doses of neutrino rays that killed all known forms of life on this planet.",
-	"#TRI0\\TRI0N008#This is the famous seal of the Klingon Empire.",
-	"#TRI0\\TRI0N009#Your new found friend looks rather frightened right now, and you don't blame him.",
-	"#TRI0\\TRI0U075#Uhura here. Captain, there's a force field over the planet. We will not be able to beam you aboard.",
-
-
-	"#TRI1\\TRI1_002#Affirmative, Uhura.",
-	"#TRI1\\TRI1_003#Affirmative.",
-	"#TRI1\\TRI1_004#Beam us to Vlict's position.",
-	"#TRI1\\TRI1_005#Beam us back to the Enterprise. Kirk out.",
-	"#TRI1\\TRI1_006#I want that door open.",
-	"#TRI1\\TRI1_007#I somehow doubt that Vlict intends for us to survive this, whatever the outcome. We're the only thing that stands between him and the killing of Quetzecoatl that he can justify.",
-	"#TRI1\\TRI1_008#Negative. Transmit the door entry code only.",
-	"#TRI1\\TRI1_009#Negative.",
-	"#TRI1\\TRI1_010#That's not true, Ensign. However, I suspect that Vlict's attack on Hrakkour exceeded his orders. He needs Quetzecoatl as a scapegoat, and he needs a fair trial to avoid an inquiry of his own actions.",
-	"#TRI1\\TRI1_011#Uhura, prepare to receive a tricorder message. There is a door with an entry coder here; try to analyze the circuits and let the main computer crack the code.",
-	"#TRI1\\TRI1_012#This creature is composed of electrical fields. I would not recommend approaching it. A metal projectile might disrupt its fields and render it harmless.",
-	"#TRI1\\TRI1_013#A Klingon entry door, slightly antiquated.",
-	"#TRI1\\TRI1_014#An entry coder for the door, keyed to a number sequence. The tricorder is unable to determine the code, but can scan the mechanism.",
-	"#TRI1\\TRI1_015#Captain, I would strongly recommend against disturbing the rod. It could result in awakening the creature or possibly electrocuting you.",
-	"#TRI1\\TRI1_016#Do you know what ten million volts can do to a man? It can ruin his whole damn day.",
-	"#TRI1\\TRI1_017#Does not register as a known life form.",
-	"#TRI1\\TRI1_018#Find someone else to be a volunteer. I've retired.",
-	"#TRI1\\TRI1_019#How could you do it, Jim? I spent hours trying to save his life, and you just gave him away in seconds to the Klingons!",
-	"#TRI1\\TRI1_020#I don't know the code.",
-	"#TRI1\\TRI1_021#Jim! Are you mad? that's our only way out!",
-	"#TRI1\\TRI1_022#One Male Human, average physical condition.",
-	"#TRI1\\TRI1_023#He's a Male Human, excellent physical condition.",
-	"#TRI1\\TRI1_024#Male Human, good physical condition.",
-	"#TRI1\\TRI1_025#One male Human-Vulcan hybrid. Excellent physical condition.", // TYPO
-	"#TRI1\\TRI1_026#Nobody needs healing, Jim, but you will if they harm my patient.",
-	"#TRI1\\TRI1_027#Ouch!",
-	"#TRI1\\TRI1_029#This is not in my field of expertise.",
-	"#TRI1\\TRI1_030#This is not in my field of expertise.",
-	"#TRI1\\TRI1_031#What the blazes do you want me to do on a rock?",
-	"#TRI1\\TRI1_032#A test of courage? That is the Klingon way.",
-	"#TRI1\\TRI1_033#I'll bet it'll be mad.",
-	"#TRI1\\TRI1_034#Shut up Spock!",
-	"#TRI1\\TRI1_035#I do not understand the desired course of action.",
-	"#TRI1\\TRI1_036#If you will observe the position of the creature, Captain, I think that you will find that it prevents access to the keypad.",
-	"#TRI1\\TRI1_037#Ouch!",
-	"#TRI1\\TRI1_038#The door is already open Captain.",
-	"#TRI1\\TRI1_039#The odds of surviving contact with the creature are too small to calculate.",
-	"#TRI1\\TRI1_040#There is a high probability that shooting the door would be hasardous to our wellbeing.",
-	"#TRI1\\TRI1_041#These wooden rods are support beams that were not placed.",
-	"#TRI1\\TRI1_042#This rock has a high iron content.",
-	"#TRI1\\TRI1_043#This wall was carved from the natural rock.",
-	"#TRI1\\TRI1_044#We do not know the code, Captain.",
-	"#TRI1\\TRI1_045#As I suspected, Captain. The creature is in stasis. It should awaken in 3.48 days.",
-	"#TRI1\\TRI1_046#Captain, I have calculated the odds of surviving this at...",
-	"#TRI1\\TRI1_047#Not much is known about Hrakkour, Ensign. This would appear to be some sort of a mining installation; that creature might be a native lifeform.",
-	"#TRI1\\TRI1_048#Captain, my instructor at the Academy always told me that if you don't know what you're going to do with your phaser, you shouldn't draw it.", // TYPO
-	"#TRI1\\TRI1_049#Do you want me to arrest it, interrogate it, or beat it up, Captain?",
-	"#TRI1\\TRI1_050#I refuse, Captain, on the grounds that it might eliminate me.",
-	"#TRI1\\TRI1_051#I refuse, Captain, on the grounds that it might eliminate me.",
-	"#TRI1\\TRI1_052#Ouch!",
-	"#TRI1\\TRI1_053#You handled those Klingons well, sir. We've got them on the run now.",
-	"#TRI1\\TRI1_054#You want me to smash it? But that's our only way out of here.",
-	"#TRI1\\TRI1_055#And our deaths will be the only way he can get it. Great.",
-	"#TRI1\\TRI1_056#What is this place?",
-	"#TRI1\\TRI1_057#Why should he worry about justification, Captain? He's a Klingon. Murder is as natural to them as breathing!",
 	"#TRI1\\TRI1_J00#Why do I have the feeling that I'm about to have a bad day?",
-	"#TRI1\\TRI1N000#A field of static lightning. It seems to be moving in a purposeful manner.",
-	"#TRI1\\TRI1N001#A slightly antiquated Klingon door, opened by a keycode entry.",
-	"#TRI1\\TRI1N002#A slightly antiquated Klingon lock-mechanism.",
-	"#TRI1\\TRI1N003#James T. Kirk, hero of the galaxy!",
-	"#TRI1\\TRI1N004#No effect.",
-	"#TRI1\\TRI1N005#No effect.",
-	"#TRI1\\TRI1N006#The floor is incomplete, made of unrefined, natural rock.",
-	"#TRI1\\TRI1N007#The melted rock is cooling, but still remains in a molten state.",
-	"#TRI1\\TRI1N008#The wall is resistant to phaser fire.",
-	"#TRI1\\TRI1N009#These wooden rods are support beams that were not placed.",
-	"#TRI1\\TRI1N011#This section of wall was carved by some sort of plasma field.",
-	"#TRI1\\TRI1N012#You burn one of the rods.",
-	"#TRI1\\TRI1N013#You coat the rod with molten iron. It hardens quickly.",
-	"#TRI1\\TRI1N014#You melt some of the rock.",
-	"#TRI1\\TRI1N015#Your ever dependable crewman, Ensign Bennie.",
-	"#TRI1\\TRI1N016#Your ever emotional friend, Dr. McCoy.",
-	"#TRI1\\TRI1N017#Your ever logical friend, Spock.",
-	"#TRI1\\TRI1U068#Nothing else to report Captain.",
-	"#TRI1\\TRI1U079#Affirmative sir. We will transmit code when you activate the keycode. Uhura out.",
 	"#TRI1\\TRI1U080#Affirmative, sir.",
-	"#TRI1\\TRI1U086#Captain, there is a force field between us and the planet.",
-	"#TRI1\\TRI1U090#Do you wish to be beamed up now Captain?",
-	"#TRI1\\TRI1U095#Good luck, Captain.",
-	"#TRI1\\TRI1U098#Keep us informed, we'll help you all we can. We can analyze any data you gather through the main computer.",
-	"#TRI1\\TRI1U101#Scan complete. Main computer has the code. We also read an anomaly. Something else has tapped into the keycode. Shall I analyze?",
-	"#TRI1\\TRI1U102#Sir, we have a secondary code that is nested in the Klingon program. Computer is unable to analyze its function. Shall we broadcast it to you when you activate the keypad?",
-	"#TRI1\\TRI1U106#We have your position at approximately thirty meters beneath the surface of Hrakkour, in what appears to be the ruins of an archeological dig.",
 	"Zzzt! Sptttz! Zzzt! Tttt!",
 	"Clunk.",
-
-
 	"#SFX\\QUIET#Zzzzzzzzzzzmmmm.",
-	"#TRI2\\TRI2_001#This reminds me of an old practical joke that Finnegan played on me back at the Academy.",
-	"#TRI2\\TRI2_002#...some kind of energy source a few meters from our position. We know.",
-	"#TRI2\\TRI2_003#Beam us back to the Enterprise. Kirk out.",
-	"#TRI2\\TRI2_004#Beam us to Vlict's position.",
-	"#TRI2\\TRI2_005#I don't know, Ensign.",
-	"#TRI2\\TRI2_006#Keep working on it, but don't try to beam us up unless I give the signal.",
-	"#TRI2\\TRI2_007#Negative.",
-	"#TRI2\\TRI2_008#Whatever it is, we have to find a way to get by it.",
-	"#TRI2\\TRI2_009#Extreme increase in energy level, Captain. It absorbed the phaser fire. An unexpected reaction is occuring, high levels of lethal radiation are being produced.",
-	"#TRI2\\TRI2_010#Do you want me to hit my head against it?",
-	"#TRI2\\TRI2_011#It does not register as a life form.",
-	"#TRI2\\TRI2_012#I'm not touching some damned ball of energy!",
-	"#TRI2\\TRI2_013#If you hadn't been so damned anxious to give my patient to the Klingons, we wouldn't be in this mess.",
-	"#TRI2\\TRI2_014#One Male Human, average physical condition.",
-	"#TRI2\\TRI2_015#He's a male Human, excellent physical condition.", // TYPO
-	"#TRI2\\TRI2_016#Male Human, good physical condition.",
-	"#TRI2\\TRI2_017#One male Human-Vulcan hybrid. Excellent physical condition.", // TYPO
-	"#TRI2\\TRI2_018#Nobody needs healing, Jim, but you will if they harm my patient.",
-	"#TRI2\\TRI2_019#Fascinating. It would appear that Vlict sent us into this place in the hope that we would be killed.",
-	"#TRI2\\TRI2_020#Fascinating. These automatons are not stable.",
-	"#TRI2\\TRI2_021#Fascinating. These automatons are not stable.",
-	"#TRI2\\TRI2_022#I do not understand the desired course of action.",
-	"#TRI2\\TRI2_023#Marked increase in energy level, Captain. It absorbed the phaser fire. No appreciable increase in mass.",
-	"#TRI2\\TRI2_024#The automaton is emitting a protective force field, Captain. We cannot proceed further without rendering it inoperative.",
-	"#TRI2\\TRI2_025#The automaton's energy level has increased slightly. It absorbed the phaser fire. No appreciable increase in mass.",
-	"#TRI2\\TRI2_026#The ball of energy is an automaton, Captain. It is an artificial construct, programmed to block any movements; I can detect no other function or intelligence.",
-	"#TRI2\\TRI2_027#These walls were carved from the natural rock of the cavern.",
-	"#TRI2\\TRI2_028#This automaton is generating a force field, Captain. I am physically incapable of touching it.",
-	"#TRI2\\TRI2_029#This wall was carved from the natural rock of a cavern.",
-	"#TRI2\\TRI2_030#I believe Ensign, that this energy sphere is some sort of automaton, programmed to block our movements.",
-	"#TRI2\\TRI2_031#I refuse, Captain, on the grounds that it might incinerate me.",
-	"#TRI2\\TRI2_032#Uh, pardon sir?",
-	"#TRI2\\TRI2_033#We're not going to get out of this alive, are we Captain?",
-	"#TRI2\\TRI2_034#Captain, what is that thing?",
-	"#TRI2\\TRI2_F11#This automaton is generating a force field, Captain. I am physically incapable of touching it.",
-	"#TRI2\\TRI2N000#A pulsing globe of energy.",
-	"#TRI2\\TRI2N001#Commander Spock, a patient and thoughtful Federation first officer.",
-	"#TRI2\\TRI2N002#Ensign Bennie, faithful and true security officer.",
-	"#TRI2\\TRI2N003#James T. Kirk, a rather frustated Federation starship captain.",
-	"#TRI2\\TRI2N004#Klingon insignia.",
-	"#TRI2\\TRI2N005#Leads back to the room where the Electrical creature was.",
-	"#TRI2\\TRI2N006#Leonard McCoy, a crusty country doctor, and Starfleet's finest surgeon.",
-	"#TRI2\\TRI2N007#Rock wall. Looks like it was carved from stone by Klingon heavy mining equipment.",
-	"#TRI2\\TRI2N008#The walls are resistant to phaser fire.",
-	"#TRI2\\TRI2U074#Please keep in contact with us. We'll keep you informed if further developments occur. Uhura out.",
-	"#TRI2\\TRI2U081#By the way, sensors indicate...",
-	"#TRI2\\TRI2U087#Captain, there is still a barrier between us and the planet. Mr. Scott thinks there might be a way to break through it, and he's working on it now, but the Klingons won't like it.",
-	"#TRI2\\TRI2U091#Do you wish to be beamed up now Captain?",
-	"#TRI2\\TRI2U104#Understood, Captain.",
-
-
-	"#TRI3\\TRI3_001#This is too easy. I don't like it.",
-	"#TRI3\\TRI3_002#Beam us directly to the Enterprise.",
-	"#TRI3\\TRI3_003#Beam us directly to Vlict's position.",
-	"#TRI3\\TRI3_004#Deaths, Bones. Our deaths.",
-	"#TRI3\\TRI3_005#I don't like it. This was too easy.",
-	"#TRI3\\TRI3_006#We'll call you if we want to transport. Kirk out.",
-	"#TRI3\\TRI3_007#We're fine, lieutenant.",
-	"#TRI3\\TRI3_008#Captain, Starfleet protocol requires that the commanding officer lead in hazardous situations.",
-	"#TRI3\\TRI3_009#Approximately thirty Klingons, within 500 meters of the opening, no closer than 200 meters.",
-	"#TRI3\\TRI3_010#Damn it Jim, I'm a Doctor, not a structural Engineer!",
-	"#TRI3\\TRI3_011#He's out like a light, Jim. There are hibernating Arcturian sloth-tigers that will get up more quickly than this guy.",
-	"#TRI3\\TRI3_012#I believe that you have seniority, Jim.",
-	"#TRI3\\TRI3_013#One Male Human, average physical condition.", // TYPO
-	"#TRI3\\TRI3_014#He's a Male Human, excellent physical condition.", // TYPO
-	"#TRI3\\TRI3_015#Male Human, good physical condition.", // TYPO
-	"#TRI3\\TRI3_016#One Male Human-Vulcan hybrid. Excellent physical condition.", // TYPO
-	"#TRI3\\TRI3_017#Nobody needs healing, Jim, but you will if they harm my patient.",
-	"#TRI3\\TRI3_018#Well, maybe I've been too hard on you, Jim. I'm sorry.",
-	"#TRI3\\TRI3_019#Easy! Are you out of your mind?",
-	"#TRI3\\TRI3_020#Electrical monsters, things that explode when you phaser them, what else does he want?",
-	"#TRI3\\TRI3_021#I do not understand the desired course of action.",
-	"#TRI3\\TRI3_022#I recommend caution, Captain.",
-	"#TRI3\\TRI3_023#Reading a high energy build-up; there is a Klingon explosive device present five point three meters outside the cavern! It could be detonated at any moment!",
-	"#TRI3\\TRI3_024#This wall was carved from the natural rock of a cavern.",
-	"#TRI3\\TRI3_025#Admiral Vlict has a reputation for thoroughness, Doctor. If he means to kill us, we can expect more than we've encountered.",
-	"#TRI3\\TRI3_026#How hard do you want me to hit it, sir.",
-	"#TRI3\\TRI3_027#No sir. I insist that you have the honor of leading us to victory.",
-	"#TRI3\\TRI3_028#What are waiting for, sir? Shouldn't we just get out of here?",
-	"#TRI3\\TRI3_029#When I get out of this, I am going to have the best shore leave in Starfleet history!",
-	"#TRI3\\TRI3_030#Daylight!  We're almost there! We've beaten them!",
-	"#TRI3\\TRI3_103#Beam us back to the Enterprise. Kirk out.",
-	"#TRI3\\TRI3_104#Beam us to Vlict's position.",
-	"#TRI3\\TRI3_107#Negative.",
-	"#TRI3\\TRI3N000#Captain James Tiberius Kirk, deep in thought.",
-	"#TRI3\\TRI3N001#Doctor Leonard McCoy, a rather disgruntled surgeon.",
-	"#TRI3\\TRI3N002#Ensign Bennie, who wishes that he was back at the Academy right now...",
-	"#TRI3\\TRI3N003#No gunslinging allowed, space cowboy.",
-	"#TRI3\\TRI3N004#Spock, one of the foremost science officers in Starfleet.",
-	"#TRI3\\TRI3N005#The exit to this particular complex. You hope.",
-	"#TRI3\\TRI3N006#The wall is resistant to phaser fire.",
-	"#TRI3\\TRI3N007#The wall of this corridor.",
-	"#TRI3\\TRI3U067#Captain, we're still working on breaching the force field. We will let you know when we're ready to beam you out.",
-	"#TRI3\\TRI3U080#Affirmative, sir.",
-	"#TRI3\\TRI3U084#Captain, our sensors have picked up phaser fire! Are you all right? Captain, please come in!", // TYPO
-	"#TRI3\\TRI3U089#Do you wish to be beamed up now Captain?",
-	"#TRI3\\TRI3U099#Mr. Scott has found a way to breach the force field!",
-
-
-	"#TRI4\\TRI4_001#Admiral, one day the weaklings are going to surprise the Hell out of you.",
-	"#TRI4\\TRI4_002#Do Klingons believe in ghosts?",
-	"#TRI4\\TRI4_003#I don't want it to end like this.", // TYPO
-	"#TRI4\\TRI4_004#I don't really give a damn.",
-	"#TRI4\\TRI4_005#I won't let you. I chal...",
-	"#TRI4\\TRI4_006#I'm sorry we couldn't do more.",
-	"#TRI4\\TRI4_007#I'm sorry we couldn't do more.",
-	"#TRI4\\TRI4_008#Justice?",
-	"#TRI4\\TRI4_009#Maybe you aren't as good as you think you are.",
-	"#TRI4\\TRI4_010#No it isn't.",
-	"#TRI4\\TRI4_011#Nothing you have done has been honorable, Vlict! One day, everyone in the Klingon empire will know it too. Perhaps one day even you will realize it.",
-	"#TRI4\\TRI4_012#Scotty, beam us up.",
-	"#TRI4\\TRI4_013#Then you admit that it was you, and not Quetzecoatl who was responsible for the death of Hrakkour.",
-	"#TRI4\\TRI4_014#Then you admit this trial is a sham! A charade!",
-	"#TRI4\\TRI4_015#Then you will not object to presenting the orders from the Klingon Council authorizing mass murder on Hrakkour.",
-	"#TRI4\\TRI4_016#We beat you, Vlict. Unless you free Quetzecoatl, you will lose your honor!",
-	"#TRI4\\TRI4_017#What!",
-	"#TRI4\\TRI4_018#As we say on Earth, Vlict, nature beat me to it.",
-	"#TRI4\\TRI4_019#Did you listen to anything he said? One day, in spite of people like you, the Klingons will know peace. I hope I live to see that day.",
-	"#TRI4\\TRI4_020#Farewell my friend. Vlict, if you respect honor, you will make it quick and painless.", // TYPO
-	"#TRI4\\TRI4_021#He knows more about courage than you or your Empire will ever know.",
-	"#TRI4\\TRI4_022#Honor? Give me a break, Vlict! You were trying to kill us!",
-	"#TRI4\\TRI4_023#How can a liar like you even say the word \"honor\" without blushing?",
-	"#TRI4\\TRI4_024#How can you call him a traitor without giving him a fair trial!", // TYPO
-	"#TRI4\\TRI4_025#I do not know if you are a praying man, Vlict. If I were you, I would not want to meet me again.",
-	"#TRI4\\TRI4_026#If you kill him, the Empire will learn that you betrayed them by destroying Hrakkour.",
-	"#TRI4\\TRI4_027#Isn't it time that we stopped playing games, Vlict?",
-	"#TRI4\\TRI4_028#Shut up Vlict.",
-	"#TRI4\\TRI4_029#Then you have my deepest respect. I am sorry I cannot do more for you.",
-	"#TRI4\\TRI4_030#There's a time to fight for what you believe, and a time to die for it. I hope you chose the right time, Quetzecoatl.",
-	"#TRI4\\TRI4_031#Vlict is right, Quetzecoatl. This is suicide. It is a cowardly action.",
-	"#TRI4\\TRI4_032#You didn't say I wasn't allowed to use my ship's computer. If you didn't explain the rules clearly, whose fault is that?",
-	"#TRI4\\TRI4_033#You don't lie very well, do you?",
-	"#TRI4\\TRI4_034#You lost, Vlict. I beat your test. Release Quetzecoatl and let us go!",
-	"#TRI4\\TRI4_036#Jim! You can't let him do this!",
-	"#TRI4\\TRI4_037#You never had any intention of letting Quetzecoatl live!",
-	"#TRI4\\TRI4_038#He is correct, Captain.",
-	"#TRI4\\TRI4_039#I believe that the use of guile, to do what the enemy does not expect, is considered very honorable by the Klingons.", // TYPO
-	"#TRI4\\TRI4_040#As do I. My only regret is that I did not get to know you better. If only a part of what you are is because you learned from the mistakes of my acolytes, my work was not in vain.",
-	"#TRI4\\TRI4_041#But before I die, I believe that Klingon law allows me to make a public statement.",
-	"#TRI4\\TRI4_042#Captain, I do not see any successful resolution to this, except with my death. Dying to prevent conflict would give it meaning.",
-	"#TRI4\\TRI4_043#Captain, I taught others self-sacrifice. Now I must practice what I preached. It is the only way to atone for my crimes.",
-	"#TRI4\\TRI4_044#Captain, I thank you for your efforts on my behalf, but it is over.",
-	"#TRI4\\TRI4_045#Captain, I thank you for your efforts on my behalf, but it is over.",
-	"#TRI4\\TRI4_046#Captain, I thank you for your efforts on my behalf, but it is over.",
-	"#TRI4\\TRI4_047#I know Captain. But it's better this way.",
-	"#TRI4\\TRI4_048#I know Captain.",
-	"#TRI4\\TRI4_049#I know, Captain.",
-	"#TRI4\\TRI4_050#I, who was once immortal, know that truth is the only true immortal. You can kill people, cultures, even gods, but the truth will always survive.",
-	"#TRI4\\TRI4_051#Intelligent beings are not meant to be caged, either by tyranny, or barbarism. Those who try doom themselves to failure.",
-	"#TRI4\\TRI4_052#No captain. Let there be an end to this violence. I will not allow any more blood to be shed, save my own. I taught the doctrine of self-sacrifice, and I shall die of it.",
-	"#TRI4\\TRI4_053#Once a culture has tasted peace, it will not desire anything else, because peace is better than war, love is better than hate, and creation is better than destruction. This is Truth.",
-	"#TRI4\\TRI4_054#A coward's attitude. He shames this soil.",
-	"#TRI4\\TRI4_055#As judge, I determine what is fair and what is unfair, Kirk! The trial is at an end. The verdict is guilty.",
-	"#TRI4\\TRI4_056#As long as the Federation continues to foster such weaklings, the triumph of the Klingon Empire is assured.",
-	"#TRI4\\TRI4_057#Do not threaten me, Kirk! If you expect the Empire to believe you instead of me, you are greatly mistaken.", // TYPO
-	"#TRI4\\TRI4_058#Do you think that you can make a fool of me, Kirk!",
-	"#TRI4\\TRI4_059#Go back to your Federation, Kirk!",
-	"#TRI4\\TRI4_060#How dare you lecture me on points of honor! I, the most decorated warrior in the entire empire! I, who took the dishonored trash of my homeworld and destroyed it with a fist of steel!",
-	"#TRI4\\TRI4_061#How dare you! The test was supposed to take place without interference from your ship. You have shown all lack of honor.",
-	"#TRI4\\TRI4_062#I am tired of this posturing, Kirk. You know what the verdict is. Go back to your ship.",
-	"#TRI4\\TRI4_063#I shall agree to it, Captain. Until we meet again.",
-	"#TRI4\\TRI4_064#If I had been trying to murder you, Kirk, you would have surely died.",
-	"#TRI4\\TRI4_065#If I was not bound by the Organian treaty, you would be a dead man now, Kirk! Perhaps one day, I shall not be bound by it.",
-	"#TRI4\\TRI4_066#Of course it was, you fool! Did you honestly expect us to act with kindness to traitors? You fought a battle that you could not win, and fought it very well. Go home, Kirk.",
-	"#TRI4\\TRI4_067#Perhaps because Klingons do not blush. You've lost, Kirk. Go home.",
-	"#TRI4\\TRI4_068#Return to your ship, Kirk. The trial is over.",
-	"#TRI4\\TRI4_069#Such threats, Kirk, will only increase my longing for the experience.",
-	"#TRI4\\TRI4_070#The death ceremony shall take place aboard the K'lirta. I trust you are satisfied that justice has been done.",
-	"#TRI4\\TRI4_071#The trial is over! He is guilty. Durn, carry out the sentence!",
-	"#TRI4\\TRI4_072#Those who lose honor lose life, Kirk! It is the Klingon way!",
-	"#TRI4\\TRI4_073#To allow a traitor to live would dishonor me. I will not live with such a stain on my honor.",
-	"#TRI4\\TRI4_074#To free a traitor is to lose all honor, Kirk! He is sentenced to die!",
-	"#TRI4\\TRI4_075#Very well. The trial is over. K'etz'koatl is sentenced to death.",
 	"#TRI4\\TRI4_076#You humans have an excellent imagination, but a poor grasp of reality.",
 
-
-	"#TRI5\\TRI5_001#Obviously, they want us to place the gems in the holes, but which one...",
-	"#TRI5\\TRI5_002#Gentlemen, I suggest we start trying to find out what this is. I have a feeling we've come some place Vlict wasn't expecting us to go.",
-	"#TRI5\\TRI5_003#Hoist on your own petard, eh, Vlict? Do you want me to help you?",
-	"#TRI5\\TRI5_004#I do not see what can be served by more killing.",
-	"#TRI5\\TRI5_005#I fear that politics will make it impossible. Your planet is in Klingon space. But I don't understand why the Klingons never detected you.",
-	"#TRI5\\TRI5_006#If I have your word that Quetzecoatl goes free, I'm willing to intervene to save you.",
-	"#TRI5\\TRI5_007#If I have your word that Quetzecoatl goes free, I'm willing to intervene to save you.",
-	"#TRI5\\TRI5_008#You tried to send me to my death. Now you can rot as you get what you deserve.",
-	"#TRI5\\TRI5_009#You tried to eliminate me. Now you can rot as you get what you deserve.",
-	"#TRI5\\TRI5_010#Captain, it seems to be some sort of interface device, but I do not know how to activate it.",
-	"#TRI5\\TRI5_011#Jim, I have no idea what it is. Why don't you try asking Spock.",
-	"#TRI5\\TRI5_012#Nobody needs healing, Jim, but you will if they harm my patient.",
-	"#TRI5\\TRI5_013#We've got to get out of here, Jim!",
-	"#TRI5\\TRI5_014#Even I can see that, you pointy-eared freak!",
-	"#TRI5\\TRI5_015#He really doesn't have a likable personality, does he?",
-	"#TRI5\\TRI5_016#I suspect Captain, that the machinery is activated by placing the gems in the proper slots. We should determine a system for this.",
-	"#TRI5\\TRI5_017#This is not Klingon technology, Captain.",
-	"#TRI5\\TRI5_018#Kirk!",
-	"#TRI5\\TRI5_019#Agreed!",
-	"#TRI5\\TRI5_020#Kirk! This is your doing!",
-	"#TRI5\\TRI5_021#Rrrrr. Very well. I agree to your terms.",
-	"#TRI5\\TRI5_022#You have no right to try me!",
-	"#TRI5\\TRI5_023#You want me to beg like a weakling child cowering before his betters!",
-	"#TRI5\\TRI5_024#This is Bialbi, the most advanced lifeform on this world. Thank you for informing us of the situation. It shall be resolved.",
-	"#TRI5\\TRI5_025#A life for a life is a just bargain. But his crimes are beyond count.",
-	"#TRI5\\TRI5_026#Admiral Vlict, the entity Quetzecoatl shall be set free. If you ever return to this sector, the sentence shall be carried out. No Klingon vessel may ever return to this world.",
-	"#TRI5\\TRI5_027#Admiral Vlict, this is the defensive system of Hrakkour. You have engaged in genocidal activities on this world. Have you anything to say before your sentence is passed?",
-	"#TRI5\\TRI5_028#As for you, Captain, you may return. I find your social development most pleasing.",
-	"#TRI5\\TRI5_029#I have as much right as you to conduct trials on this planet. You showed no justice to your victim. The penalty for injustice is death.",
-	"#TRI5\\TRI5_030#Idealism! An advanced concept! Naive, perhaps, but charming in its simplicity.",
-	"#TRI5\\TRI5_031#No, Admiral, it is not, but that will suffice as a final public statement. The sentence is banishment, to you and all members of your crew who were involved in this action.",
-	"#TRI5\\TRI5_032#Now, you may go. Heed my warning Vlict. I shall not be merciful a second time.",
-	"#TRI5\\TRI5_033#Their archeological digs did come close, Captain, but I am very elusive. I waited and monitored the situation and chose to reveal myself to you.",
-	"#TRI5\\TRI5_034#You will be returned to your ship, Captain. As will the creature who was unfairly punished. You need not witness the Klingon's punishment.",
-	"#TRI5\\TRI5_035#Not primed for neural interlink.",
-	"#TRI5\\TRI5_036#Alien vessels scanned.",
-	"#TRI5\\TRI5_037#Integrator now active",
-	"#TRI5\\TRI5_038#Telepathic entry codes required for greater than level One functions. Neural interlink at the integrator, and use the main index code of my light.", // TYPO
-	"#TRI5\\TRI5_039#That combination is restricted to higher order functions. Neural interlink required.",
-	"#TRI5\\TRI5_040#This is Bialbi, High Mentalic of Hrakkour. For defense, use the light of war. For information, use my light. For transportation, use the light of travel. Sequences are keyed by combinations of crystals.",
-	"#TRI5\\TRI5_041#To use any light, the first crystal must correspond to the color of the light.",
-	"#TRI5\\TRI5_042#Force field blocks trans-system transport. Transport aborted. Use defense systems to eliminate alien vessels.",
-	"#TRI5\\TRI5_043#That destination no longer exists. Transport abandoned.",
-	"#TRI5\\TRI5_044#There is damage in the archive section due to a recent neutrino burst. Transport aborted.",
-	"#TRI5\\TRI5_045#There is no battle site at present to which to transport you.", // TYPO
-	"#TRI5\\TRI5_046#We can transport you only in proximity of nearest humanoid life. Transport imminent.",
-	"#TRI5\\TRI5_047#Alien vessels scanned.",
-	"#TRI5\\TRI5_048#Breach of protocol. Alien invasion imminent. Internal security activated.",
-	"#TRI5\\TRI5_049#Internal defenses off line. Failsafes cancelled.",
-	"#TRI5\\TRI5_050#Planetary defenses revived. All alien vessels in orbit destroyed.",
-	"#TRI5\\TRI5_051#I guess I should've taken a few more science courses at the Academy.",
-	"#TRI5\\TRI5_052#What is this place?",
-	"#TRI5\\TRI5N002#A platform emitting a beam of light.", // TYPO
-	"#TRI5\\TRI5N004#A strange yellow light.",
-	"#TRI5\\TRI5N005#James T. Kirk, hero of the galaxy!",
-	"#TRI5\\TRI5N006#Openings on the platform. Place something in these holes?",
-	"#TRI5\\TRI5N007#Your communicator is not working.",
-	"#TRI5\\TRI5N008#Your ever emotional friend, Dr. McCoy.",
-	"#TRI5\\TRI5N009#Your ever logical friend, Spock.",
-	"#TRI5\\TRI5N010#Your ever nervous crewman, Ensign Bennie.",
-	"#TRI5\\TRI5N011#Your phaser is not working.",
-	"#TRI5\\TRI5N012#Your tricorder's recording functions are working, but it does not seem to be able to analyze.",
-	"#TRI5\\TRI5N013#This large gem appears to be a ruby of unusual size. This is obviously artificial.",
-	"#TRI5\\TRI5N014#This large gem appears to be a ruby of unusual size. This is obviously artificial.",
-	"#TRI5\\TRI5N015#This large gem appears to be a ruby of unusual size. This is obviously artificial.",
-	"#TRI5\\TRI5N016#This large gem appears to be a sapphire of unusual size. This is obviously artificial.", // TYPO
-	"#TRI5\\TRI5N017#This large gem appears to be a sapphire of unusual size. This is obviously artificial.", // TYPO
-	"#TRI5\\TRI5N018#This large gem appears to be a sapphire of unusual size. This is obviously artificial.", // TYPO
-	"#TRI5\\TRI5N019#This large gem appears to be an emerald of unusual size. This is obviously artificial.", // TYPO
-	"#TRI5\\TRI5N020#This large gem appears to be an emerald of unusual size. This is obviously artificial.", // TYPO
-	"#TRI5\\TRI5N021#This large gem appears to be an emerald of unusual size. This is obviously artificial.", // TYPO
-
 	"#SIN2\\SIN2_F12#This says: \"Dominant People only to dominate things beyond >,<these Submissive Walls\". My guess is that only authorized personnel were allowed beyond this door.",
 	"#SIN2\\SIN2_F26#Computer science sounds more like medicine every day.",
 	"#SIN3\\SIN3_008#All readings are normal. The structure seems to be protecting us from the cosmic rays.",
diff --git a/engines/startrek/text.h b/engines/startrek/text.h
index e40b5c6..fa94167 100644
--- a/engines/startrek/text.h
+++ b/engines/startrek/text.h
@@ -206,437 +206,15 @@ enum GameStringIDs {
 
 	TX_FEA1_A46,
 	TX_FEA1_F25,
-	TX_TRI0_001,
-	TX_TRI0_002,
-	TX_TRI0_003,
-	TX_TRI0_004,
-	// MISSING
-	TX_TRI0_006,
-	TX_TRI0_007,
-	TX_TRI0_008,
-	TX_TRI0_009,
-	TX_TRI0_010,
-	TX_TRI0_011,
-	// UNUSED
-	TX_TRI0_013,
-	TX_TRI0_014,
-	TX_TRI0_015,
-	TX_TRI0_016,
-	TX_TRI0_017,
-	TX_TRI0_018,
-	TX_TRI0_019,
-	TX_TRI0_020,
-	TX_TRI0_021,
-	TX_TRI0_022,
-	TX_TRI0_023,
-	TX_TRI0_024,
-	TX_TRI0_025,
-	TX_TRI0_026,
-	TX_TRI0_027,
-	TX_TRI0_028,
-	TX_TRI0_029,
-	TX_TRI0_030,
-	TX_TRI0_031,
-	// UNUSED
-	TX_TRI0_034,
-	TX_TRI0_035,
-	TX_TRI0_036,
-	TX_TRI0_037,
-	TX_TRI0_038,
-	TX_TRI0_039,
-	TX_TRI0_040,
-	TX_TRI0_041,
-	TX_TRI0_042,
-	TX_TRI0_043,
-	TX_TRI0_044,
-	TX_TRI0_045,
-	TX_TRI0_046,
-	TX_TRI0_047,
-	TX_TRI0_048,
-	TX_TRI0_049,
-	TX_TRI0_050,
-	TX_TRI0_051,
-	TX_TRI0_052,
-	TX_TRI0_053,
-	TX_TRI0_054,
-	TX_TRI0_055,
-	TX_TRI0_056,
-	TX_TRI0_057,
-	TX_TRI0_058,
-	TX_TRI0_059,
-	TX_TRI0_060,
-	TX_TRI0_061,
-	TX_TRI0_062,
-	TX_TRI0_063,
-	TX_TRI0_064,
-	TX_TRI0_065,
-	TX_TRI0_066,
-	// UNUSED (067)
-	TX_TRI0_F24,
-	TX_TRI0N000,
-	TX_TRI0N001,
-	TX_TRI0N002,
-	TX_TRI0N003,
-	TX_TRI0N004,
-	TX_TRI0N005,
-	TX_TRI0N006,
-	TX_TRI0N007,
-	TX_TRI0N008,
-	TX_TRI0N009,
-	TX_TRI0U075,
 
-
-	// UNUSED (001)
-	TX_TRI1_002,
-	TX_TRI1_003,
-	TX_TRI1_004,
-	TX_TRI1_005,
-	TX_TRI1_006,
-	TX_TRI1_007,
-	TX_TRI1_008,
-	TX_TRI1_009,
-	TX_TRI1_010,
-	TX_TRI1_011,
-	TX_TRI1_012,
-	TX_TRI1_013,
-	TX_TRI1_014,
-	TX_TRI1_015,
-	TX_TRI1_016,
-	TX_TRI1_017,
-	TX_TRI1_018,
-	TX_TRI1_019,
-	TX_TRI1_020,
-	TX_TRI1_021,
-	TX_TRI1_022,
-	TX_TRI1_023,
-	TX_TRI1_024,
-	TX_TRI1_025,
-	TX_TRI1_026,
-	TX_TRI1_027,
-	// UNUSED
-	TX_TRI1_029,
-	TX_TRI1_030, // UNUSED
-	TX_TRI1_031,
-	TX_TRI1_032,
-	TX_TRI1_033,
-	TX_TRI1_034,
-	TX_TRI1_035,
-	TX_TRI1_036,
-	TX_TRI1_037,
-	TX_TRI1_038,
-	TX_TRI1_039,
-	TX_TRI1_040,
-	TX_TRI1_041,
-	TX_TRI1_042,
-	TX_TRI1_043,
-	TX_TRI1_044,
-	TX_TRI1_045,
-	TX_TRI1_046,
-	TX_TRI1_047,
-	TX_TRI1_048,
-	TX_TRI1_049,
-	TX_TRI1_050,
-	TX_TRI1_051,
-	TX_TRI1_052,
-	TX_TRI1_053,
-	TX_TRI1_054,
-	TX_TRI1_055,
-	TX_TRI1_056,
-	TX_TRI1_057,
-	// UNUSED (058 -> 066)
+	TX_TRI0_F24,
 	TX_TRI1_J00,
-	TX_TRI1N000,
-	TX_TRI1N001,
-	TX_TRI1N002,
-	TX_TRI1N003,
-	TX_TRI1N004,
-	TX_TRI1N005,
-	TX_TRI1N006,
-	TX_TRI1N007,
-	TX_TRI1N008,
-	TX_TRI1N009,
-	// UNUSED
-	TX_TRI1N011,
-	TX_TRI1N012,
-	TX_TRI1N013,
-	TX_TRI1N014,
-	TX_TRI1N015,
-	TX_TRI1N016,
-	TX_TRI1N017,
-	// UNUSED (018 -> 019)
-	TX_TRI1U068,
-	TX_TRI1U079,
 	TX_TRI1U080,
-	TX_TRI1U086,
-	TX_TRI1U090,
-	TX_TRI1U095,
-	TX_TRI1U098,
-	TX_TRI1U101,
-	TX_TRI1U102,
-	TX_TRI1U106,
-	// UNUSED: TRI1UO68 (that's 'O', not '0'); same as TRI1U068 but before the voice
-	// filter on the communicator is applied?
-	// There are also TRI3 audio files in the TRI1 folder?
 	TX_TRI1C001, // Custom
 	TX_TRI1C002,
-
-
 	TX_QUIET,
-	TX_TRI2_001,
-	TX_TRI2_002,
-	TX_TRI2_003,
-	TX_TRI2_004,
-	TX_TRI2_005,
-	TX_TRI2_006,
-	TX_TRI2_007,
-	TX_TRI2_008,
-	TX_TRI2_009,
-	TX_TRI2_010,
-	TX_TRI2_011,
-	TX_TRI2_012,
-	TX_TRI2_013,
-	TX_TRI2_014,
-	TX_TRI2_015,
-	TX_TRI2_016,
-	TX_TRI2_017,
-	TX_TRI2_018,
-	TX_TRI2_019,
-	TX_TRI2_020,
-	TX_TRI2_021,
-	TX_TRI2_022,
-	TX_TRI2_023,
-	TX_TRI2_024,
-	TX_TRI2_025,
-	TX_TRI2_026,
-	TX_TRI2_027,
-	TX_TRI2_028,
-	TX_TRI2_029,
-	TX_TRI2_030,
-	TX_TRI2_031,
-	TX_TRI2_032,
-	TX_TRI2_033,
-	TX_TRI2_034,
-	// UNUSED (035 -> 039; voice substitute for Uhura)
-	TX_TRI2_F11, // UNUSED
-	TX_TRI2N000,
-	TX_TRI2N001,
-	TX_TRI2N002,
-	TX_TRI2N003,
-	TX_TRI2N004,
-	TX_TRI2N005,
-	TX_TRI2N006,
-	TX_TRI2N007,
-	TX_TRI2N008,
-	TX_TRI2U074,
-	TX_TRI2U081,
-	TX_TRI2U087,
-	TX_TRI2U091,
-	TX_TRI2U104,
-
-
-	TX_TRI3_001,
-	TX_TRI3_002,
-	TX_TRI3_003,
-	TX_TRI3_004,
-	TX_TRI3_005,
-	TX_TRI3_006,
-	TX_TRI3_007,
-	TX_TRI3_008,
-	TX_TRI3_009,
-	TX_TRI3_010,
-	TX_TRI3_011,
-	TX_TRI3_012,
-	TX_TRI3_013,
-	TX_TRI3_014,
-	TX_TRI3_015,
-	TX_TRI3_016,
-	TX_TRI3_017,
-	TX_TRI3_018,
-	TX_TRI3_019,
-	TX_TRI3_020,
-	TX_TRI3_021,
-	TX_TRI3_022,
-	TX_TRI3_023,
-	TX_TRI3_024,
-	TX_TRI3_025,
-	TX_TRI3_026,
-	TX_TRI3_027,
-	TX_TRI3_028,
-	TX_TRI3_029,
-	TX_TRI3_030,
-	// UNUSED (031 -> 036; voice substitute for Uhura)
-	TX_TRI3_103,
-	TX_TRI3_104,
-	TX_TRI3_107,
-	TX_TRI3N000,
-	TX_TRI3N001,
-	TX_TRI3N002,
-	TX_TRI3N003,
-	TX_TRI3N004,
-	TX_TRI3N005,
-	TX_TRI3N006,
-	TX_TRI3N007,
-	TX_TRI3U067,
-	TX_TRI3U080,
-	// UNUSED (U081)
-	TX_TRI3U084,
-	TX_TRI3U089,
-	// UNUSED (U090)
-	TX_TRI3U099,
-
-
-	TX_TRI4_001,
-	TX_TRI4_002,
-	TX_TRI4_003,
-	TX_TRI4_004,
-	TX_TRI4_005,
-	TX_TRI4_006,
-	TX_TRI4_007,
-	TX_TRI4_008,
-	TX_TRI4_009,
-	TX_TRI4_010,
-	TX_TRI4_011,
-	TX_TRI4_012,
-	TX_TRI4_013,
-	TX_TRI4_014,
-	TX_TRI4_015,
-	TX_TRI4_016,
-	TX_TRI4_017,
-	TX_TRI4_018,
-	TX_TRI4_019,
-	TX_TRI4_020,
-	TX_TRI4_021,
-	TX_TRI4_022,
-	TX_TRI4_023,
-	TX_TRI4_024,
-	TX_TRI4_025,
-	TX_TRI4_026,
-	TX_TRI4_027,
-	TX_TRI4_028,
-	TX_TRI4_029,
-	TX_TRI4_030,
-	TX_TRI4_031,
-	TX_TRI4_032,
-	TX_TRI4_033,
-	TX_TRI4_034,
-	// UNUSED (035)
-	TX_TRI4_036,
-	TX_TRI4_037,
-	TX_TRI4_038,
-	TX_TRI4_039,
-	TX_TRI4_040,
-	TX_TRI4_041,
-	TX_TRI4_042,
-	TX_TRI4_043,
-	TX_TRI4_044,
-	TX_TRI4_045,
-	TX_TRI4_046,
-	TX_TRI4_047,
-	TX_TRI4_048,
-	TX_TRI4_049,
-	TX_TRI4_050,
-	TX_TRI4_051,
-	TX_TRI4_052,
-	TX_TRI4_053,
-	TX_TRI4_054,
-	TX_TRI4_055,
-	TX_TRI4_056,
-	TX_TRI4_057,
-	TX_TRI4_058,
-	TX_TRI4_059,
-	TX_TRI4_060,
-	TX_TRI4_061,
-	TX_TRI4_062,
-	TX_TRI4_063,
-	TX_TRI4_064,
-	TX_TRI4_065,
-	TX_TRI4_066,
-	TX_TRI4_067,
-	TX_TRI4_068,
-	TX_TRI4_069,
-	TX_TRI4_070,
-	TX_TRI4_071,
-	TX_TRI4_072,
-	TX_TRI4_073,
-	TX_TRI4_074,
-	TX_TRI4_075,
 	TX_TRI4_076,
 
-
-	TX_TRI5_001,
-	TX_TRI5_002,
-	TX_TRI5_003,
-	TX_TRI5_004,
-	TX_TRI5_005,
-	TX_TRI5_006,
-	TX_TRI5_007,
-	TX_TRI5_008,
-	TX_TRI5_009,
-	TX_TRI5_010,
-	TX_TRI5_011,
-	TX_TRI5_012,
-	TX_TRI5_013,
-	TX_TRI5_014,
-	TX_TRI5_015,
-	TX_TRI5_016,
-	TX_TRI5_017,
-	TX_TRI5_018,
-	TX_TRI5_019,
-	TX_TRI5_020,
-	TX_TRI5_021,
-	TX_TRI5_022,
-	TX_TRI5_023,
-	TX_TRI5_024,
-	TX_TRI5_025,
-	TX_TRI5_026,
-	TX_TRI5_027,
-	TX_TRI5_028,
-	TX_TRI5_029,
-	TX_TRI5_030,
-	TX_TRI5_031,
-	TX_TRI5_032,
-	TX_TRI5_033,
-	TX_TRI5_034,
-	TX_TRI5_035,
-	TX_TRI5_036,
-	TX_TRI5_037,
-	TX_TRI5_038,
-	TX_TRI5_039,
-	TX_TRI5_040,
-	TX_TRI5_041,
-	TX_TRI5_042,
-	TX_TRI5_043,
-	TX_TRI5_044,
-	TX_TRI5_045,
-	TX_TRI5_046,
-	TX_TRI5_047,
-	TX_TRI5_048,
-	TX_TRI5_049,
-	TX_TRI5_050,
-	TX_TRI5_051,
-	TX_TRI5_052,
-	// UNUSED (000 -> 001)
-	TX_TRI5N002,
-	// UNUSED (003)
-	TX_TRI5N004,
-	TX_TRI5N005,
-	TX_TRI5N006,
-	TX_TRI5N007,
-	TX_TRI5N008,
-	TX_TRI5N009,
-	TX_TRI5N010,
-	TX_TRI5N011,
-	TX_TRI5N012,
-	TX_TRI5N013,
-	TX_TRI5N014,
-	TX_TRI5N015,
-	TX_TRI5N016,
-	TX_TRI5N017,
-	TX_TRI5N018,
-	TX_TRI5N019,
-	TX_TRI5N020,
-	TX_TRI5N021,
-
 	TX_SIN2_F12,
 	TX_SIN2_F26,
 	TX_SIN3_008,





More information about the Scummvm-git-logs mailing list