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

bluegr bluegr at gmail.com
Fri Feb 19 21:19:21 UTC 2021


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

Summary:
bc45372332 STARTREK: Rewrite more room texts with the new format


Commit: bc4537233224af552d0538762f8d6f84e8253170
    https://github.com/scummvm/scummvm/commit/bc4537233224af552d0538762f8d6f84e8253170
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2021-02-19T23:19:00+02:00

Commit Message:
STARTREK: Rewrite more room texts with the new format

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


diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index c6443944a1..ba2ed072ff 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -87,10 +87,10 @@ Room::Room(StarTrekEngine *vm, const Common::String &name) : _vm(vm), _awayMissi
 	ADD_ROOM(feather7)
 	ADD_ROOM(trial0)
 	ADD_ROOM(trial1)
-	//ADD_ROOM(trial2)
-	//ADD_ROOM(trial3)
-	//ADD_ROOM(trial4)
-	//ADD_ROOM(trial5)
+	ADD_ROOM(trial2)
+	ADD_ROOM(trial3)
+	ADD_ROOM(trial4)
+	ADD_ROOM(trial5)
 	ADD_ROOM(sins0)
 	//ADD_ROOM(sins1)
 	//ADD_ROOM(sins2)
diff --git a/engines/startrek/rooms/function_map.h b/engines/startrek/rooms/function_map.h
index b1c70b2717..1b8ede3a5e 100644
--- a/engines/startrek/rooms/function_map.h
+++ b/engines/startrek/rooms/function_map.h
@@ -63,10 +63,10 @@ extern const RoomText feather4Texts[], feather5Texts[], feather6Texts[], feather
 
 extern const RoomAction trial0ActionList[], trial1ActionList[], trial2ActionList[], trial3ActionList[];
 extern const RoomAction trial4ActionList[], trial5ActionList[];
-extern const RoomTextOffsets trial0TextOffsets[], trial1TextOffsets[];//, trial2TextOffsets[], trial3TextOffsets[];
-//extern const RoomTextOffsets trial4TextOffsets[], trial5TextOffsets[];
-extern const RoomText trial0Texts[], trial1Texts[];//, trial2Texts[], trial3Texts[];
-//extern const RoomText trial4Texts[], trial5Texts[];
+extern const RoomTextOffsets trial0TextOffsets[], trial1TextOffsets[], trial2TextOffsets[], trial3TextOffsets[];
+extern const RoomTextOffsets trial4TextOffsets[], trial5TextOffsets[];
+extern const RoomText trial0Texts[], trial1Texts[], trial2Texts[], trial3Texts[];
+extern const RoomText trial4Texts[], trial5Texts[];
 extern const RoomTextOffsets trialTextOffsets[];
 
 extern const RoomAction sins0ActionList[], sins1ActionList[], sins2ActionList[], sins3ActionList[];
diff --git a/engines/startrek/rooms/trial2.cpp b/engines/startrek/rooms/trial2.cpp
index 34ffe7bbf8..89d46261b5 100644
--- a/engines/startrek/rooms/trial2.cpp
+++ b/engines/startrek/rooms/trial2.cpp
@@ -20,7 +20,6 @@
  *
  */
 
-#if 0
 #include "startrek/room.h"
 
 #define OBJECT_GLOB 8
@@ -123,18 +122,87 @@ extern const RoomAction trial2ActionList[] = {
 };
 
 enum trial2TextIds {
-	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK
+	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_UHURA, TX_SPEAKER_BENNIE,
+	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, TX_TRI2_F11,
+	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_QUIET,
+	TX_TRI1U080
 };
 
 // TODO: Finish floppy offsets
 extern const RoomTextOffsets trial2TextOffsets[] = {
-	//{ TX_SPEAKER_KIRK, 1064, 0 },
-	//{ TX_SPEAKER_MCCOY, 1075, 0 },
-	//{ TX_SPEAKER_SPOCK, 1085, 0 },
+	{ TX_SPEAKER_KIRK, 275, 0 },
+	{ TX_SPEAKER_MCCOY, 286, 0 },
+	{ TX_SPEAKER_SPOCK, 296, 0 },
+	{ TX_SPEAKER_UHURA, 320, 0 },
+	{ TX_SPEAKER_BENNIE, 306, 0 },
+	{ TX_TRI2_001, 1996, 0 },
+	{ TX_TRI2_002, 7658, 0 },
+	{ TX_TRI2_003, 7025, 0 },
+	{ TX_TRI2_004, 7098, 0 },
+	{ TX_TRI2_005, 832, 0 },
+	{ TX_TRI2_006, 7444, 0 },
+	{ TX_TRI2_007, 7158, 0 },
+	{ TX_TRI2_008, 1010, 0 },
+	{ TX_TRI2_009, 4913, 0 },
+	{ TX_TRI2_010, 8042, 0 },
+	{ TX_TRI2_011, 6217, 0 },
+	//{ TX_TRI2_012, 7886, 0 },	// Ignore duplicate line
+	{ TX_TRI2_012, 7964, 0 },
+	{ TX_TRI2_013, 2252, 0 },
+	{ TX_TRI2_014, 5949, 0 },
+	{ TX_TRI2_015, 6076, 0 },
+	{ TX_TRI2_016, 5690, 0 },
+	{ TX_TRI2_017, 5810, 0 },
+	{ TX_TRI2_018, 8732, 0 },
+	{ TX_TRI2_019, 2118, 0 },
+	{ TX_TRI2_020, 4778, 0 },
+	{ TX_TRI2_021, 5194, 0 },
+	{ TX_TRI2_022, 8373, 0 },
+	//{ TX_TRI2_023, 3777, 0 },	// Ignore duplicate line
+	{ TX_TRI2_023, 4481, 0 },
+	{ TX_TRI2_024, 1123, 0 },
+	//{ TX_TRI2_025, 3473, 0 },	// Ignore duplicate line
+	//{ TX_TRI2_025, 4173, 0 },	// Ignore duplicate line
+	{ TX_TRI2_025, 2852, 0 },
+	{ TX_TRI2_026, 6651, 0 },
+	{ TX_TRI2_027, 6490, 0 },
+	{ TX_TRI2_028, 8117, 0 },
+	{ TX_TRI2_029, 6351, 0 },
+	{ TX_TRI2_030, 880, 0 },
+	//{ TX_TRI2_031, 8456, 0 },	// Ignore duplicate line
+	{ TX_TRI2_031, 8552, 0 },
+	{ TX_TRI2_032, 8648, 0 },
+	{ TX_TRI2_033, 2387, 0 },
+	{ TX_TRI2_034, 777, 0 },
+	{ TX_TRI2_F11, 8245, 0 },
+	{ TX_TRI2N000, 1730, 0 },
+	{ TX_TRI2N001, 1373, 0 },
+	{ TX_TRI2N002, 1579, 0 },
+	{ TX_TRI2N003, 1277, 0 },
+	{ TX_TRI2N004, 1663, 0 },
+	{ TX_TRI2N005, 1905, 0 },
+	{ TX_TRI2N006, 1474, 0 },
+	{ TX_TRI2N007, 1790, 0 },
+	{ TX_TRI2N008, 2624, 0 },
+	{ TX_TRI2U074, 7755, 0 },
+	{ TX_TRI2U081, 7600, 0 },
+	{ TX_TRI2U087, 7238, 0 },
+	{ TX_TRI2U091, 6960, 0 },
+	{ TX_TRI2U104, 7544, 0 },
+	{ TX_QUIET, 2478, 0 },
 	{          -1, 0,    0 }
 };
 
 extern const RoomText trial2Texts[] = {
+	{ TX_TRI1U080, Common::EN_ANY, "#TRI1\\TRI1U080#Affirmative, sir." },
     { -1, Common::UNK_LANG, "" }
 };
 
@@ -165,65 +233,65 @@ void Room::trial2Tick1() {
 void Room::trial2Tick60() {
 	if (!_awayMission->trial.enteredGlobRoom) {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_BENNIE, 34);
-		showText(TX_SPEAKER_KIRK, 5);
-		showText(TX_SPEAKER_SPOCK, 30);
-		showText(TX_SPEAKER_KIRK, 8);
+		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);
 		_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, 24);
+		showText(TX_SPEAKER_SPOCK, TX_TRI2_024);
 }
 
 void Room::trial2LookAtKirk() {
-	showDescription(3);
+	showDescription(TX_TRI2N003);
 }
 
 void Room::trial2LookAtSpock() {
-	showDescription(1);
+	showDescription(TX_TRI2N001);
 }
 
 void Room::trial2LookAtMccoy() {
-	showDescription(6);
+	showDescription(TX_TRI2N006);
 }
 
 void Room::trial2LookAtRedshirt() {
-	showDescription(2);
+	showDescription(TX_TRI2N002);
 }
 
 void Room::trial2LookAtInsignia() {
-	showDescription(4);
+	showDescription(TX_TRI2N004);
 }
 
 void Room::trial2LookAtGlob() {
-	showDescription(0);
+	showDescription(TX_TRI2N000);
 }
 
 void Room::trial2LookAtWall() {
-	showDescription(7);
+	showDescription(TX_TRI2N007);
 }
 
 void Room::trial2LookAtDoor() {
-	showDescription(5);
+	showDescription(TX_TRI2N005);
 }
 
 void Room::trial2TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, 1);
+	showText(TX_SPEAKER_KIRK, TX_TRI2_001);
 }
 
 void Room::trial2TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, 19);
+	showText(TX_SPEAKER_SPOCK, TX_TRI2_019);
 }
 
 void Room::trial2TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, 13);
+	showText(TX_SPEAKER_MCCOY, TX_TRI2_013);
 }
 
 void Room::trial2TalkToRedshirt() {
-	showText(TX_SPEAKER_BENNIE, 33);
+	showText(TX_SPEAKER_BENNIE, TX_TRI2_033);
 }
 
 void Room::trial2TalkToGlob() {
@@ -231,7 +299,7 @@ void Room::trial2TalkToGlob() {
 }
 
 void Room::trial2UsePhaserOnWall() {
-	showDescription(8);
+	showDescription(TX_TRI2N008);
 }
 
 
@@ -278,9 +346,9 @@ void Room::trial2DrewPhaserToShootGlob() {
 
 	if (!(_roomVar.trial.globBeingShot == OBJECT_GLOB && _roomVar.trial.phaserOnKill == true)) {
 		if (_roomVar.trial.phaserOnKill)
-			showText(TX_SPEAKER_SPOCK, 23);
+			showText(TX_SPEAKER_SPOCK, TX_TRI2_023);
 		else
-			showText(TX_SPEAKER_SPOCK, 25);
+			showText(TX_SPEAKER_SPOCK, TX_TRI2_025);
 	}
 
 
@@ -302,7 +370,7 @@ void Room::trial2DrewPhaserToShootGlob() {
 void Room::trial2GlobDoneExploding() {
 	stopAllVocSounds();
 	playVoc("Noooloop");
-	showText(TX_SPEAKER_SPOCK, 20);
+	showText(TX_SPEAKER_SPOCK, TX_TRI2_020);
 	_awayMission->trial.globDefeated = true;
 	playMidiMusicTracks(MIDITRACK_28, -1);
 	_awayMission->trial.missionScore += 1;
@@ -311,7 +379,7 @@ void Room::trial2GlobDoneExploding() {
 
 void Room::trial2GlobDoneSplitting() {
 	if (_roomVar.trial.globBeingShot == OBJECT_GLOB) {
-		showText(TX_SPEAKER_SPOCK, 9);
+		showText(TX_SPEAKER_SPOCK, TX_TRI2_009);
 	} 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 +428,23 @@ void Room::trial2UseKillPhaserOnSplitGlob2() {
 }
 
 void Room::trial2UseMTricorderOnKirk() {
-	mccoyScan(DIR_S, 16, true);
+	mccoyScan(DIR_S, TX_TRI2_016, true);
 }
 
 void Room::trial2UseMTricorderOnSpock() {
-	mccoyScan(DIR_S, 17, true);
+	mccoyScan(DIR_S, TX_TRI2_017, true);
 }
 
 void Room::trial2UseMTricorderOnMccoy() {
-	mccoyScan(DIR_S, 14, true);
+	mccoyScan(DIR_S, TX_TRI2_014, true);
 }
 
 void Room::trial2UseMTricorderOnRedshirt() {
-	mccoyScan(DIR_S, 15, true);
+	mccoyScan(DIR_S, TX_TRI2_015, true);
 }
 
 void Room::trial2UseMTricorderOnGlob() {
-	mccoyScan(DIR_S, 11, true);
+	mccoyScan(DIR_S, TX_TRI2_011, true);
 
 	if (!_awayMission->trial.gotPointsForScanningGlob) {
 		_awayMission->trial.gotPointsForScanningGlob = true;
@@ -385,15 +453,15 @@ void Room::trial2UseMTricorderOnGlob() {
 }
 
 void Room::trial2UseSTricorderOnWall() {
-	spockScan(DIR_S, 29, true);
+	spockScan(DIR_S, TX_TRI2_029, true);
 }
 
 void Room::trial2UseSTricorderAnywhere() {
-	spockScan(DIR_S, 27, true);
+	spockScan(DIR_S, TX_TRI2_027, true);
 }
 
 void Room::trial2UseSTricorderOnGlob() {
-	spockScan(DIR_S, 26, true);
+	spockScan(DIR_S, TX_TRI2_026, true);
 
 	if (!_awayMission->trial.gotPointsForScanningGlob) {
 		_awayMission->trial.gotPointsForScanningGlob = true;
@@ -403,58 +471,58 @@ void Room::trial2UseSTricorderOnGlob() {
 
 void Room::trial2UseCommunicator() {
 	if (_awayMission->trial.forceFieldDown) { // TODO: Refactor this between rooms?
-		showText(TX_SPEAKER_UHURA_GLOBAL, 91);
+		showText(TX_SPEAKER_UHURA, TX_TRI2U091);
 
 		const TextRef choices[] = {
 			TX_SPEAKER_KIRK,
-			3, 4, 7,
-			TX_BLANK
+			TX_TRI2_003, TX_TRI2_004, TX_TRI2_007,
+			TX_END
 		};
 		int choice = showMultipleTexts(choices);
 
 		if (choice == 0) { // "Beam us back to the enterprise"
 			_awayMission->trial.missionEndMethod = 1;
 			endMission(_awayMission->trial.missionScore, 1, 1); // FIXME: Inconsistent with TRIAL1
-		} else if (choice == 1) {                               // "Beam us to Vlict's position"
-			showText(TX_SPEAKER_UHURA_GLOBAL, TX_TRI1U080);     // NOTE: Original didn't show text here
+		} else if (choice == 1) { // "Beam us to Vlict's position"
+			showText(TX_SPEAKER_UHURA, TX_TRI1U080); // NOTE: Original didn't show text here
 			_awayMission->disableInput = true;
 			loadRoomIndex(4, 4);
 		} // Else don't transport anywhere
 	} else { // Force field still up
-		showText(TX_SPEAKER_UHURA_GLOBAL, 87);
-		showText(TX_SPEAKER_KIRK,  6);
-		showText(TX_SPEAKER_UHURA_GLOBAL, 104);
+		showText(TX_SPEAKER_UHURA, TX_TRI2U087);
+		showText(TX_SPEAKER_KIRK,  TX_TRI2_006);
+		showText(TX_SPEAKER_UHURA, TX_TRI2U104);
 		if (!_awayMission->trial.globDefeated) {
-			showText(TX_SPEAKER_UHURA_GLOBAL, 81);
-			showText(TX_SPEAKER_KIRK,  2);
+			showText(TX_SPEAKER_UHURA, TX_TRI2U081);
+			showText(TX_SPEAKER_KIRK,  TX_TRI2_002);
 		}
-		showText(TX_SPEAKER_UHURA_GLOBAL, 74);
+		showText(TX_SPEAKER_UHURA, TX_TRI2U074);
 	}
 }
 
 void Room::trial2UseMccoyOnGlob() {
-	showText(TX_SPEAKER_MCCOY, 12);
+	showText(TX_SPEAKER_MCCOY, TX_TRI2_012);
 }
 
 void Room::trial2UseMccoyOnWall() {
-	showText(TX_SPEAKER_MCCOY, 10);
+	showText(TX_SPEAKER_MCCOY, TX_TRI2_010);
 }
 
 void Room::trial2UseSpockOnGlob() {
 	// NOTE: Two possible audio files to use, TRI2_028 and TRI2_F11
-	showText(TX_SPEAKER_SPOCK, 28);
+	showText(TX_SPEAKER_SPOCK, TX_TRI2_028);
 }
 
 void Room::trial2UseSpockOnWall() {
-	showText(TX_SPEAKER_SPOCK, 22);
+	showText(TX_SPEAKER_SPOCK, TX_TRI2_022);
 }
 
 void Room::trial2UseRedshirtOnGlob() {
-	showText(TX_SPEAKER_BENNIE, 31);
+	showText(TX_SPEAKER_BENNIE, TX_TRI2_031);
 }
 
 void Room::trial2UseRedshirtOnWall() {
-	showText(TX_SPEAKER_BENNIE, 32);
+	showText(TX_SPEAKER_BENNIE, TX_TRI2_032);
 }
 
 void Room::trial2WalkToDoor() {
@@ -462,8 +530,7 @@ void Room::trial2WalkToDoor() {
 }
 
 void Room::trial2UseMedkitAnywhere() {
-	showText(TX_SPEAKER_MCCOY, 18);
+	showText(TX_SPEAKER_MCCOY, TX_TRI2_018);
 }
 
 }
-#endif
diff --git a/engines/startrek/rooms/trial3.cpp b/engines/startrek/rooms/trial3.cpp
index b48e1b2487..1229eb8bf5 100644
--- a/engines/startrek/rooms/trial3.cpp
+++ b/engines/startrek/rooms/trial3.cpp
@@ -20,7 +20,6 @@
  *
  */
 
-#if 0
 #include "startrek/room.h"
 
 #define OBJECT_KLINGON_1 8
@@ -94,14 +93,72 @@ extern const RoomAction trial3ActionList[] = {
 };
 
 enum trial3TextIds {
-	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK
+	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_UHURA, TX_SPEAKER_BENNIE,
+	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,
+	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, TX_TRI3U084, TX_TRI3U089,
+	TX_TRI3U099
 };
 
 // TODO: Finish floppy offsets
 extern const RoomTextOffsets trial3TextOffsets[] = {
-	//{ TX_SPEAKER_KIRK, 1064, 0 },
-	//{ TX_SPEAKER_MCCOY, 1075, 0 },
-	//{ TX_SPEAKER_SPOCK, 1085, 0 },
+	{ TX_SPEAKER_KIRK, 275, 0 },
+	{ TX_SPEAKER_MCCOY, 286, 0 },
+	{ TX_SPEAKER_SPOCK, 296, 0 },
+	{ TX_SPEAKER_UHURA, 320, 0 },
+	{ TX_SPEAKER_BENNIE, 306, 0 },
+	{ TX_TRI3_001, 3318, 0 },
+	{ TX_TRI3_002, 2137, 0 },
+	{ TX_TRI3_003, 2204, 0 },
+	{ TX_TRI3_004, 1005, 0 },
+	{ TX_TRI3_005, 621, 0 },
+	{ TX_TRI3_006, 2056, 0 },
+	{ TX_TRI3_007, 1920, 0 },
+	{ TX_TRI3_008, 6462, 0 },
+	{ TX_TRI3_009, 4980, 0 },
+	{ TX_TRI3_010, 6219, 0 },
+	{ TX_TRI3_011, 5545, 0 },
+	{ TX_TRI3_012, 6306, 0 },
+	{ TX_TRI3_013, 4775, 0 },
+	{ TX_TRI3_014, 4855, 0 },
+	{ TX_TRI3_015, 4516, 0 },
+	{ TX_TRI3_016, 4636, 0 },
+	{ TX_TRI3_017, 6798, 0 },
+	{ TX_TRI3_018, 3449, 0 },
+	{ TX_TRI3_019, 683, 0 },
+	{ TX_TRI3_020, 892, 0 },
+	{ TX_TRI3_021, 6379, 0 },
+	{ TX_TRI3_022, 3386, 0 },
+	{ TX_TRI3_023, 5295, 0 },
+	{ TX_TRI3_024, 5155, 0 },
+	{ TX_TRI3_025, 742, 0 },
+	{ TX_TRI3_026, 6690, 0 },
+	{ TX_TRI3_027, 6590, 0 },
+	{ TX_TRI3_028, 5689, 0 },
+	{ TX_TRI3_029, 3537, 0 },
+	{ TX_TRI3_030, 545, 0 },
+	{ TX_TRI3_103, 6001, 0 },
+	{ TX_TRI3_104, 6074, 0 },
+	{ TX_TRI3_107, 6134, 0 },
+	{ TX_TRI3N000, 2819, 0 },
+	{ TX_TRI3N001, 2989, 0 },
+	{ TX_TRI3N002, 3074, 0 },
+	{ TX_TRI3N003, 4395, 0 },
+	{ TX_TRI3N004, 2898, 0 },
+	{ TX_TRI3N005, 3178, 0 },
+	{ TX_TRI3N006, 3664, 0 },
+	{ TX_TRI3N007, 3258, 0 },
+	{ TX_TRI3U067, 5795, 0 },
+	{ TX_TRI3U080, 2345, 0 },
+	{ TX_TRI3U084, 1801, 0 },
+	{ TX_TRI3U089, 5936, 0 },
+	{ TX_TRI3U099, 1970, 0 },
 	{          -1, 0,    0 }
 };
 
@@ -124,12 +181,12 @@ void Room::trial3Tick30() {
 		_awayMission->disableInput = false;
 		_awayMission->trial.enteredTrial3FirstTime = true;
 
-		showText(TX_SPEAKER_BENNIE, 30);
-		showText(TX_SPEAKER_KIRK,    5);
-		showText(TX_SPEAKER_MCCOY,  19);
-		showText(TX_SPEAKER_SPOCK,  25);
-		showText(TX_SPEAKER_MCCOY,  20);
-		showText(TX_SPEAKER_KIRK,    4);
+		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);
 	}
 }
 
@@ -224,16 +281,16 @@ void Room::trial3CheckShowUhuraText() {
 		_awayMission->disableWalking = false;
 		loadActorStandAnim(OBJECT_KIRK);
 
-		showText(TX_SPEAKER_UHURA_GLOBAL, 84);
-		showText(TX_SPEAKER_KIRK,   7);
-		showText(TX_SPEAKER_UHURA_GLOBAL, 99);
+		showText(TX_SPEAKER_UHURA, TX_TRI3U084);
+		showText(TX_SPEAKER_KIRK,  TX_TRI3_007);
+		showText(TX_SPEAKER_UHURA, TX_TRI3U099);
 
 		_awayMission->trial.forceFieldDown = true;
 
 		const TextRef choices[] = {
 			TX_SPEAKER_KIRK,
-			6, 2, 3,
-			TX_BLANK
+			TX_TRI3_006, TX_TRI3_002, TX_TRI3_003,
+			TX_END
 		};
 		int choice = showMultipleTexts(choices);
 
@@ -274,47 +331,47 @@ void Room::trial3KirkExploded() {
 }
 
 void Room::trial3LookAtKirk() {
-	showDescription(0);
+	showDescription(TX_TRI3N000);
 }
 
 void Room::trial3LookAtSpock() {
-	showDescription(4);
+	showDescription(TX_TRI3N004);
 }
 
 void Room::trial3LookAtMccoy() {
-	showDescription(1);
+	showDescription(TX_TRI3N001);
 }
 
 void Room::trial3LookAtRedshirt() {
-	showDescription(2);
+	showDescription(TX_TRI3N002);
 }
 
 void Room::trial3LookAtExit() {
-	showDescription(5);
+	showDescription(TX_TRI3N005);
 }
 
 void Room::trial3LookAtWall() {
-	showDescription(7);
+	showDescription(TX_TRI3N007);
 }
 
 void Room::trial3TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, 1);
+	showText(TX_SPEAKER_KIRK, TX_TRI3_001);
 }
 
 void Room::trial3TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, 22);
+	showText(TX_SPEAKER_SPOCK, TX_TRI3_022);
 }
 
 void Room::trial3TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, 18);
+	showText(TX_SPEAKER_MCCOY, TX_TRI3_018);
 }
 
 void Room::trial3TalkToRedshirt() {
-	showText(TX_SPEAKER_BENNIE, 29);
+	showText(TX_SPEAKER_BENNIE, TX_TRI3_029);
 }
 
 void Room::trial3UsePhaserOnWall() {
-	showDescription(6);
+	showDescription(TX_TRI3N006);
 }
 
 void Room::trial3UseStunPhaserOnKlingon1() {
@@ -360,54 +417,54 @@ void Room::trial3ReadyToShootKlingon1OnKill() {
 }
 
 void Room::trial3UsePhaserAnywhere() {
-	showDescription(3);
+	showDescription(TX_TRI3N003);
 }
 
 void Room::trial3UseMTricorderOnKirk() {
 	// BUGFIX: Original animated Spock instead of Mccoy (same for below mccoy-scan functions)
-	mccoyScan(DIR_S, 15, true);
+	mccoyScan(DIR_S, TX_TRI3_015, true);
 }
 
 void Room::trial3UseMTricorderOnSpock() {
-	mccoyScan(DIR_S, 16, true);
+	mccoyScan(DIR_S, TX_TRI3_016, true);
 }
 
 void Room::trial3UseMTricorderOnMccoy() {
-	mccoyScan(DIR_S, 13, true);
+	mccoyScan(DIR_S, TX_TRI3_013, true);
 }
 
 void Room::trial3UseMTricorderOnRedshirt() {
-	mccoyScan(DIR_S, 14, true);
+	mccoyScan(DIR_S, TX_TRI3_014, true);
 }
 
 void Room::trial3UseMTricorderOnExit() {
-	mccoyScan(DIR_S, 9, true);
+	mccoyScan(DIR_S, TX_TRI3_009, true);
 }
 
 void Room::trial3UseSTricorderOnWall() {
-	spockScan(DIR_S, 24, true);
+	spockScan(DIR_S, TX_TRI3_024, true);
 }
 
 void Room::trial3UseSTricorderOnExit() {
-	spockScan(DIR_S, 23, true);
+	spockScan(DIR_S, TX_TRI3_023, true);
 }
 
 void Room::trial3UseMTricorderOnKlingon() {
 	if (_awayMission->trial.shotKlingonState == 22) { // Unconscious
-		mccoyScan(DIR_S, 11, false);
+		mccoyScan(DIR_S, TX_SPEAKER_MCCOY, TX_TRI3_011);
 		if (!_awayMission->redshirtDead) // BUGFIX: Check if redshirt is dead
-			showText(TX_SPEAKER_BENNIE, 28);
+			showText(TX_SPEAKER_BENNIE, TX_TRI3_028);
 	}
 }
 
 void Room::trial3UseCommunicator() {
 	if (_awayMission->trial.forceFieldDown) {
-		showText(TX_SPEAKER_UHURA_GLOBAL, 89);
+		showText(TX_SPEAKER_UHURA, TX_TRI3U089);
 
 		const TextRef choices[] = {
 			TX_SPEAKER_KIRK,
-			103, 104, 107,
-			TX_BLANK
+			TX_TRI3_103, TX_TRI3_104, TX_TRI3_107,
+			TX_END
 		};
 		int choice = showMultipleTexts(choices);
 
@@ -418,15 +475,12 @@ void Room::trial3UseCommunicator() {
 			trial3BeamToVlict();
 		} // Else don't transport anywhere
 	} else { // Force field still up
-		showText(TX_SPEAKER_UHURA_GLOBAL, 67);
+		showText(TX_SPEAKER_UHURA, TX_TRI3U067);
 	}
 }
 
 void Room::trial3BeamToVlict() {
-	// ENHANCEMENT: The audio that should play here (TX_TRI3U080) doesn't seem to have the
-	// normal "filter" applied over it, making it sound jarring. So, use the equivalent
-	// text from TRIAL1 instead.
-	showText(TX_SPEAKER_UHURA_GLOBAL, TX_TRI1U080);
+	showText(TX_SPEAKER_UHURA, TX_TRI3U080);
 
 	_awayMission->disableInput = true;
 	playSoundEffectIndex(kSfxTransporterDematerialize);
@@ -439,27 +493,27 @@ void Room::trial3BeamToVlict() {
 }
 
 void Room::trial3UseMccoyOnWall() {
-	showText(TX_SPEAKER_MCCOY, 10);
+	showText(TX_SPEAKER_MCCOY, TX_TRI3_010);
 }
 
 void Room::trial3UseMccoyOnExit() {
-	showText(TX_SPEAKER_MCCOY, 12);
+	showText(TX_SPEAKER_MCCOY, TX_TRI3_012);
 }
 
 void Room::trial3UseSpockOnWall() {
-	showText(TX_SPEAKER_SPOCK, 21);
+	showText(TX_SPEAKER_SPOCK, TX_TRI3_021);
 }
 
 void Room::trial3UseSpockOnExit() {
-	showText(TX_SPEAKER_SPOCK, 8);
+	showText(TX_SPEAKER_SPOCK, TX_TRI3_008);
 }
 
 void Room::trial3UseRedshirtOnExit() {
-	showText(TX_SPEAKER_BENNIE, 27);
+	showText(TX_SPEAKER_BENNIE, TX_TRI3_027);
 }
 
 void Room::trial3UseRedshirtOnWall() {
-	showText(TX_SPEAKER_BENNIE, 26);
+	showText(TX_SPEAKER_BENNIE, TX_TRI3_026);
 }
 
 void Room::trial3WalkToExit() {
@@ -467,8 +521,7 @@ void Room::trial3WalkToExit() {
 }
 
 void Room::trial3UseMedkitAnywhere() {
-	showText(TX_SPEAKER_MCCOY, 17);
+	showText(TX_SPEAKER_MCCOY, TX_TRI3_017);
 }
 
 }
-#endif
diff --git a/engines/startrek/rooms/trial4.cpp b/engines/startrek/rooms/trial4.cpp
index 5685cf5875..7518299ebd 100644
--- a/engines/startrek/rooms/trial4.cpp
+++ b/engines/startrek/rooms/trial4.cpp
@@ -20,7 +20,6 @@
  *
  */
 
-#if 0
 #include "startrek/room.h"
 
 #define OBJECT_VLICT 8
@@ -36,14 +35,109 @@ extern const RoomAction trial4ActionList[] = {
 };
 
 enum trial4TextIds {
-	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK
+	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_UHURA, TX_SPEAKER_BENNIE,
+	TX_SPEAKER_VLICT, TX_SPEAKER_QUETZECOATL,
+	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, 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
 };
 
 // TODO: Finish floppy offsets
 extern const RoomTextOffsets trial4TextOffsets[] = {
-	//{ TX_SPEAKER_KIRK, 1064, 0 },
-	//{ TX_SPEAKER_MCCOY, 1075, 0 },
-	//{ TX_SPEAKER_SPOCK, 1085, 0 },
+	{ TX_SPEAKER_KIRK, 275, 0 },
+	{ TX_SPEAKER_MCCOY, 286, 0 },
+	{ TX_SPEAKER_SPOCK, 296, 0 },
+	{ TX_SPEAKER_UHURA, 320, 0 },
+	{ TX_SPEAKER_BENNIE, 306, 0 },
+	{ TX_SPEAKER_VLICT, 330, 0 },
+	{ TX_SPEAKER_QUETZECOATL, 336, 0 },
+	{ TX_TRI4_001, 6207, 0 },
+	{ TX_TRI4_002, 1353, 0 },
+	{ TX_TRI4_003, 8171, 0 },
+	{ TX_TRI4_004, 4857, 0 },
+	{ TX_TRI4_005, 3358, 0 },
+	{ TX_TRI4_006, 7836, 0 },
+	{ TX_TRI4_007, 8534, 0 },
+	{ TX_TRI4_008, 4678, 0 },
+	{ TX_TRI4_009, 1275, 0 },
+	{ TX_TRI4_010, 8300, 0 },
+	{ TX_TRI4_011, 6615, 0 },
+	{ TX_TRI4_012, 8639, 0 },
+	{ TX_TRI4_013, 2909, 0 },
+	{ TX_TRI4_014, 1572, 0 },
+	{ TX_TRI4_015, 3131, 0 },
+	{ TX_TRI4_016, 7008, 0 },
+	{ TX_TRI4_017, 5392, 0 },
+	{ TX_TRI4_018, 5178, 0 },
+	{ TX_TRI4_019, 4384, 0 },
+	{ TX_TRI4_020, 2094, 0 },
+	{ TX_TRI4_021, 5691, 0 },
+	{ TX_TRI4_022, 683, 0 },
+	{ TX_TRI4_023, 7415, 0 },
+	{ TX_TRI4_024, 7320, 0 },
+	{ TX_TRI4_025, 4550, 0 },
+	{ TX_TRI4_026, 7203, 0 },
+	{ TX_TRI4_027, 4994, 0 },
+	{ TX_TRI4_028, 5645, 0 },
+	{ TX_TRI4_029, 1992, 0 },
+	{ TX_TRI4_030, 2217, 0 },
+	{ TX_TRI4_031, 5790, 0 },
+	{ TX_TRI4_032, 922, 0 },
+	{ TX_TRI4_033, 1211, 0 },
+	{ TX_TRI4_034, 5077, 0 },
+	{ TX_TRI4_036, 6007, 0 },
+	{ TX_TRI4_037, 6412, 0 },
+	{ TX_TRI4_038, 7692, 0 },
+	{ TX_TRI4_039, 774, 0 },
+	{ TX_TRI4_040, 2495, 0 },
+	{ TX_TRI4_041, 3609, 0 },
+	{ TX_TRI4_042, 5425, 0 },
+	{ TX_TRI4_043, 1847, 0 },
+	{ TX_TRI4_044, 7742, 0 },
+	{ TX_TRI4_045, 8077, 0 },
+	{ TX_TRI4_046, 8440, 0 },
+	{ TX_TRI4_047, 8232, 0 },
+	{ TX_TRI4_048, 7893, 0 },
+	{ TX_TRI4_049, 8591, 0 },
+	{ TX_TRI4_050, 4077, 0 },
+	{ TX_TRI4_051, 3719, 0 },
+	{ TX_TRI4_052, 3412, 0 },
+	{ TX_TRI4_053, 3867, 0 },
+	{ TX_TRI4_054, 5579, 0 },
+	{ TX_TRI4_055, 7943, 0 },
+	{ TX_TRI4_056, 6073, 0 },
+	{ TX_TRI4_057, 7557, 0 },
+	{ TX_TRI4_058, 4919, 0 },
+	{ TX_TRI4_059, 6790, 0 },
+	{ TX_TRI4_060, 2709, 0 },
+	{ TX_TRI4_061, 538, 0 },
+	{ TX_TRI4_062, 1458, 0 },
+	{ TX_TRI4_063, 2409, 0 },
+	{ TX_TRI4_064, 1117, 0 },
+	{ TX_TRI4_065, 6859, 0 },
+	{ TX_TRI4_066, 1647, 0 },
+	{ TX_TRI4_067, 8347, 0 },
+	{ TX_TRI4_068, 5935, 0 },
+	{ TX_TRI4_069, 4761, 0 },
+	{ TX_TRI4_070, 4249, 0 },
+	{ TX_TRI4_071, 3269, 0 },
+	{ TX_TRI4_072, 3044, 0 },
+	{ TX_TRI4_073, 6495, 0 },
+	{ TX_TRI4_074, 7109, 0 },
+	{ TX_TRI4_075, 5301, 0 },
+	{ TX_TRI4_076, 6315, 0 },
 	{          -1, 0,    0 }
 };
 
@@ -62,142 +156,141 @@ void Room::trial4Tick1() {
 }
 
 void Room::trial4Tick60() {
-	showText(TX_SPEAKER_VLICT, 61);
+	showText(TX_SPEAKER_VLICT, TX_TRI4_061);
 
 	const TextRef choices[] = {
 		TX_SPEAKER_KIRK,
-		22, 39, 32,
-		TX_BLANK
+		TX_TRI4_022, TX_TRI4_039, TX_TRI4_032,
+		TX_END
 	};
 	int choice = showMultipleTexts(choices);
 
 	if (choice == 0) { // "You were trying to kill us"
-		showText(TX_SPEAKER_VLICT, 64);
+		showText(TX_SPEAKER_VLICT, TX_TRI4_064);
 
 		const TextRef choices2[] = {
 			TX_SPEAKER_KIRK,
-			33, 9, 2,
-			TX_BLANK
+			TX_TRI4_033, TX_TRI4_009, TX_TRI4_002,
+			TX_END
 		};
 		showMultipleTexts(choices2); // choice doesn't matter
 
-		showText(TX_SPEAKER_VLICT, 62);
-		showText(TX_SPEAKER_KIRK,  14);
-		showText(TX_SPEAKER_VLICT, 66);
-		showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 43);
+		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);
 
 		const TextRef choices3[] = {
 			TX_SPEAKER_KIRK,
-			29, 20, 30,
-			TX_BLANK
+			TX_TRI4_029, TX_TRI4_020, TX_TRI4_030,
+			TX_END
 		};
 		choice = showMultipleTexts(choices3);
 
 		if (choice == 0) { // "Then you have my deepest respect"
 			// Nothing more
 		} else if (choice == 1) { // "Make it a painless death"
-			showText(TX_SPEAKER_VLICT, 63);
+			showText(TX_SPEAKER_VLICT, TX_TRI4_063);
 		} else if (choice == 2) { // "I hope you chose the right time"
-			showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 40);
+			showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_040);
 		}
 	} else if (choice == 1) { // "Use of guile is honorable?"
-		showText(TX_SPEAKER_VLICT, 60);
-		showText(TX_SPEAKER_KIRK,  13);
-		showText(TX_SPEAKER_VLICT, 72);
-		showText(TX_SPEAKER_KIRK,  15);
-		showText(TX_SPEAKER_VLICT, 71);
-		showText(TX_SPEAKER_KIRK,  05);
-		showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 52);
-		showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 41);
-		showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 51);
-		showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 53);
-		showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 50);
-		showText(TX_SPEAKER_VLICT, 70);
+		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);
 
 		const TextRef choices2[] = {
 			TX_SPEAKER_KIRK,
-			19, 25, 8,
-			TX_BLANK
+			TX_TRI4_019, TX_TRI4_025, TX_TRI4_008,
+			TX_END
 		};
 		choice = showMultipleTexts(choices2);
 
 		if (choice == 1) { // Threatened Vlict
-			showText(TX_SPEAKER_VLICT, 69);
-			showText(TX_SPEAKER_KIRK,  04);
+			showText(TX_SPEAKER_VLICT, TX_TRI4_069);
+			showText(TX_SPEAKER_KIRK,  TX_TRI4_004);
 		} // else, nothing more
 	} else if (choice == 2) { // "You didn't say I couldn't use my ship"
-		showText(TX_SPEAKER_VLICT, 58);
+		showText(TX_SPEAKER_VLICT, TX_TRI4_058);
 
 		const TextRef choices2[] = {
 			TX_SPEAKER_KIRK,
-			27, 34, 18,
-			TX_BLANK
+			TX_TRI4_027, TX_TRI4_034, TX_TRI4_018,
+			TX_END
 		};
 		choice = showMultipleTexts(choices2);
 
 		if (choice == 0) { // "Let's stop playing games"
-			showText(TX_SPEAKER_VLICT, 75);
-			showText(TX_SPEAKER_KIRK,  17);
-			showText(TX_SPEAKER_QUETZECOATL_GLOBAL,  42);
-			showText(TX_SPEAKER_VLICT, 54);
+			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);
 
 			const TextRef choices3[] = {
 				TX_SPEAKER_KIRK,
-				28, 21, 31,
-				TX_BLANK
+				TX_TRI4_028, TX_TRI4_021, TX_TRI4_031,
+				TX_END
 			};
 			choice = showMultipleTexts(choices3);
 
 			if (choice == 0 || choice == 1) {
-				showText(TX_SPEAKER_VLICT, 68);
-				showText(TX_SPEAKER_MCCOY, 36);
+				showText(TX_SPEAKER_VLICT, TX_TRI4_068);
+				showText(TX_SPEAKER_MCCOY, TX_TRI4_036);
 			} else if (choice == 2) {
-				showText(TX_SPEAKER_VLICT, 56);
-				showText(TX_SPEAKER_KIRK, 01);
+				showText(TX_SPEAKER_VLICT, TX_TRI4_056);
+				showText(TX_SPEAKER_KIRK, TX_TRI4_001);
 			}
 		} else if (choice == 1) { // "You lost, release Quetzecoatl"
-			showText(TX_SPEAKER_VLICT, 76);
-			showText(TX_SPEAKER_MCCOY, 37);
-			showText(TX_SPEAKER_VLICT, 73);
-			showText(TX_SPEAKER_KIRK,  11);
-			showText(TX_SPEAKER_VLICT, 59);
+			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);
 		} else if (choice == 2) { // "Nature beat me to it"
-			showText(TX_SPEAKER_VLICT, 65);
-			showText(TX_SPEAKER_KIRK,  16);
-			showText(TX_SPEAKER_VLICT, 74);
+			showText(TX_SPEAKER_VLICT, TX_TRI4_065);
+			showText(TX_SPEAKER_KIRK,  TX_TRI4_016);
+			showText(TX_SPEAKER_VLICT, TX_TRI4_074);
 
 			const TextRef choices3[] = {
 				TX_SPEAKER_KIRK,
-				26, 24, 23,
-				TX_BLANK
+				TX_TRI4_026, TX_TRI4_024, TX_TRI4_023,
+				TX_END
 			};
 			choice = showMultipleTexts(choices3);
 
 			if (choice == 0) { // "The empire will learn you betrayed them"
-				showText(TX_SPEAKER_VLICT, 57);
-				showText(TX_SPEAKER_SPOCK, 38);
-				showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 44);
-				showText(TX_SPEAKER_KIRK, 06);
-				showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 48);
+				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);
 			} else if (choice == 1) { // "You didn't give him a fair trial"
-				showText(TX_SPEAKER_VLICT,       55);
-				showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 45);
-				showText(TX_SPEAKER_KIRK,        03);
-				showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 47);
-				showText(TX_SPEAKER_KIRK,        10);
+				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);
 			} else if (choice == 2) { // "How can a liar like you say 'honor'"
-				showText(TX_SPEAKER_VLICT,       67);
-				showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 46);
-				showText(TX_SPEAKER_KIRK,        07);
-				showText(TX_SPEAKER_QUETZECOATL_GLOBAL, 49);
+				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_KIRK, 12);
+	showText(TX_SPEAKER_KIRK, TX_TRI4_012);
 	_awayMission->trial.missionEndMethod = 2;
 	endMission(_awayMission->trial.missionScore, _awayMission->trial.field2b, 2);
 }
 
 }
-#endif
diff --git a/engines/startrek/rooms/trial5.cpp b/engines/startrek/rooms/trial5.cpp
index d7f2150916..ab2b65cab6 100644
--- a/engines/startrek/rooms/trial5.cpp
+++ b/engines/startrek/rooms/trial5.cpp
@@ -20,7 +20,6 @@
  *
  */
 
-#if 0
 #include "startrek/room.h"
 
 #define OBJECT_8 8
@@ -163,14 +162,111 @@ extern const RoomAction trial5ActionList[] = {
 };
 
 enum trial5TextIds {
-	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK
+	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_BENNIE, TX_SPEAKER_UHURA,
+	TX_SPEAKER_BIALBI, TX_SPEAKER_VLICT, TX_SPEAKER_VOICE, TX_SPEAKER_LIGHT_OF_WAR,
+	TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_SPEAKER_LIGHT_OF_TRAVEL,
+	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, TX_TRI5N002, 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
 };
 
 // TODO: Finish floppy offsets
 extern const RoomTextOffsets trial5TextOffsets[] = {
-	//{ TX_SPEAKER_KIRK, 1064, 0 },
-	//{ TX_SPEAKER_MCCOY, 1075, 0 },
-	//{ TX_SPEAKER_SPOCK, 1085, 0 },
+	{ TX_SPEAKER_KIRK, 275, 0 },
+	{ TX_SPEAKER_MCCOY, 286, 0 },
+	{ TX_SPEAKER_SPOCK, 296, 0 },
+	{ TX_SPEAKER_BENNIE, 306, 0 },
+	{ TX_SPEAKER_UHURA, 320, 0 },
+	{ TX_SPEAKER_BIALBI, 393, 0 },
+	{ TX_SPEAKER_VLICT, 400, 0 },
+	{ TX_SPEAKER_VOICE, 378, 0 },
+	{ TX_SPEAKER_LIGHT_OF_WAR, 330, 0 },
+	{ TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 343, 0 },
+	{ TX_SPEAKER_LIGHT_OF_TRAVEL, 362, 0 },
+	{ TX_TRI5_001, 7210, 0 },
+	{ TX_TRI5_002, 1082, 0 },
+	{ TX_TRI5_003, 1947, 0 },
+	{ TX_TRI5_004, 3104, 0 },
+	{ TX_TRI5_005, 3664, 0 },
+	{ TX_TRI5_006, 2153, 0 },
+	{ TX_TRI5_007, 2591, 0 },
+	{ TX_TRI5_008, 2043, 0 },
+	{ TX_TRI5_009, 2488, 0 },
+	{ TX_TRI5_010, 5768, 0 },
+	{ TX_TRI5_011, 5944, 0 },
+	{ TX_TRI5_012, 14859, 0 },
+	{ TX_TRI5_013, 7481, 0 },
+	{ TX_TRI5_014, 1010, 0 },
+	{ TX_TRI5_015, 2409, 0 },
+	{ TX_TRI5_016, 7317, 0 },
+	{ TX_TRI5_017, 943, 0 },
+	{ TX_TRI5_018, 1917, 0 },
+	{ TX_TRI5_019, 2950, 0 },
+	{ TX_TRI5_020, 1447, 0 },
+	{ TX_TRI5_021, 3487, 0 },
+	{ TX_TRI5_022, 1699, 0 },
+	{ TX_TRI5_023, 2313, 0 },
+	{ TX_TRI5_024, 4276, 0 },
+	{ TX_TRI5_025, 3004, 0 },
+	{ TX_TRI5_026, 3285, 0 },
+	{ TX_TRI5_027, 1251, 0 },
+	{ TX_TRI5_028, 3554, 0 },
+	{ TX_TRI5_029, 1755, 0 },
+	{ TX_TRI5_030, 3179, 0 },
+	{ TX_TRI5_031, 1500, 0 },
+	{ TX_TRI5_032, 4001, 0 },
+	{ TX_TRI5_033, 3830, 0 },
+	{ TX_TRI5_034, 2752, 0 },
+	{ TX_TRI5_035, 4215, 0 },
+	{ TX_TRI5_036, 13018, 0 },
+	{ TX_TRI5_037, 13608, 0 },
+	{ TX_TRI5_038, 13684, 0 },
+	{ TX_TRI5_039, 13969, 0 },
+	//{ TX_TRI5_039, 12698, 0 },	// Ignore duplicate line
+	{ TX_TRI5_040, 13379, 0 },
+	{ TX_TRI5_041, 13860, 0 },
+	{ TX_TRI5_042, 14630, 0 },
+	{ TX_TRI5_043, 14770, 0 },
+	{ TX_TRI5_044, 14223, 0 },
+	{ TX_TRI5_045, 14131, 0 },
+	{ TX_TRI5_046, 14343, 0 },
+	{ TX_TRI5_047, 13301, 0 },
+	{ TX_TRI5_048, 13150, 0 },
+	{ TX_TRI5_049, 13071, 0 },
+	{ TX_TRI5_050, 12880, 0 },
+	{ TX_TRI5_051, 7549, 0 },
+	{ TX_TRI5_052, 897, 0 },
+	{ TX_TRI5N002, 5594, 0 },
+	{ TX_TRI5N004, 5661, 0 },
+	{ TX_TRI5N005, 5313, 0 },
+	{ TX_TRI5N006, 7119, 0 },
+	{ TX_TRI5N007, 7905, 0 },
+	{ TX_TRI5N008, 5447, 0 },
+	{ TX_TRI5N009, 5381, 0 },
+	{ TX_TRI5N010, 5519, 0 },
+	{ TX_TRI5N011, 7659, 0 },
+	{ TX_TRI5N012, 7778, 0 },
+	{ TX_TRI5N013, 6041, 0 },
+	{ TX_TRI5N014, 6157, 0 },
+	{ TX_TRI5N015, 6273, 0 },
+	{ TX_TRI5N016, 6746, 0 },
+	{ TX_TRI5N017, 6865, 0 },
+	{ TX_TRI5N018, 6984, 0 },
+	{ TX_TRI5N019, 6389, 0 },
+	{ TX_TRI5N020, 6508, 0 },
+	{ TX_TRI5N021, 6627, 0 },	
 	{          -1, 0,    0 }
 };
 
@@ -194,35 +290,35 @@ void Room::trial5Tick1() {
 }
 
 void Room::trial5Tick60() {
-	showText(TX_SPEAKER_BENNIE, 52);
-	showText(TX_SPEAKER_SPOCK,  17);
-	showText(TX_SPEAKER_MCCOY,  14);
-	showText(TX_SPEAKER_KIRK,    2);
+	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);
 }
 
 void Room::trial5VlictAppeared() {
-	showText(TX_SPEAKER_BIALBI, 27);
-	showText(TX_SPEAKER_VLICT,  20);
-	showText(TX_SPEAKER_BIALBI, 31);
-	showText(TX_SPEAKER_VLICT,  22);
-	showText(TX_SPEAKER_BIALBI, 29);
-	showText(TX_SPEAKER_VLICT,  18);
+	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);
 
 	const TextRef choices[] = {
 		TX_SPEAKER_KIRK,
-		3, 8, 6,
-		TX_BLANK
+		TX_TRI5_003, TX_TRI5_008, TX_TRI5_006,
+		TX_END
 	};
 	int choice = showMultipleTexts(choices);
 
 	if (choice == 0) { // "Do you want me to help you?"
-		showText(TX_SPEAKER_VLICT, 23);
-		showText(TX_SPEAKER_MCCOY, 15);
+		showText(TX_SPEAKER_VLICT, TX_TRI5_023);
+		showText(TX_SPEAKER_MCCOY, TX_TRI5_015);
 
 		const TextRef choices2[] = {
 			TX_SPEAKER_KIRK,
-			9, 7,
-			TX_BLANK
+			TX_TRI5_009, TX_TRI5_007,
+			TX_END
 		};
 		choice = showMultipleTexts(choices2);
 
@@ -233,24 +329,24 @@ void Room::trial5VlictAppeared() {
 	}
 
 	if (choice == 1) { // "Now you can rot as you deserve"
-		showText(TX_SPEAKER_BIALBI, 34);
+		showText(TX_SPEAKER_BIALBI, TX_TRI5_034);
 
 		_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, 19);
+		showText(TX_SPEAKER_VLICT, TX_TRI5_019);
 		playMidiMusicTracks(MIDITRACK_28, -1);
 
-		showText(TX_SPEAKER_BIALBI, 25);
+		showText(TX_SPEAKER_BIALBI, TX_TRI5_025);
 		_awayMission->trial.missionScore += 4;
-		showText(TX_SPEAKER_KIRK,    4);
-		showText(TX_SPEAKER_BIALBI, 30);
-		showText(TX_SPEAKER_BIALBI, 26);
-		showText(TX_SPEAKER_VLICT,  21);
-		showText(TX_SPEAKER_BIALBI, 28);
-		showText(TX_SPEAKER_KIRK,    5);
-		showText(TX_SPEAKER_BIALBI, 33);
-		showText(TX_SPEAKER_BIALBI, 32);
+		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);
 
 		_awayMission->trial.missionEndMethod = 3;
 		endMission(1, 1, 3); // FIXME: Are these parameters correct?
@@ -263,9 +359,9 @@ void Room::trial5WalkToInterface() {
 
 void Room::trial5ReachedInterface() {
 	if (!_awayMission->trial.neuralInterfaceActive)
-		showText(TX_SPEAKER_VOICE, 35);
+		showText(TX_SPEAKER_VOICE, TX_TRI5_035);
 	else {
-		showText(TX_SPEAKER_BIALBI, 24);
+		showText(TX_SPEAKER_BIALBI, TX_TRI5_024);
 		loadActorAnimC(OBJECT_VLICT, "vlict1", 0xbe, 0x91, &Room::trial5VlictAppeared);
 		_awayMission->trial.missionScore += 5;
 		playMidiMusicTracks(MIDITRACK_1, -1);
@@ -347,110 +443,110 @@ void Room::trial5GetBlueGem3() {
 }
 
 void Room::trial5LookAtKirk() {
-	showDescription(5);
+	showDescription(TX_TRI5N005);
 }
 
 void Room::trial5LookAtSpock() {
-	showDescription(9);
+	showDescription(TX_TRI5N009);
 }
 
 void Room::trial5LookAtMccoy() {
-	showDescription(8);
+	showDescription(TX_TRI5N008);
 }
 
 void Room::trial5LookAtRedshirt() {
-	showDescription(10);
+	showDescription(TX_TRI5N010);
 }
 
 void Room::trial5LookAtBeam() {
-	showDescription(2);
+	showDescription(TX_TRI5N002);
 }
 
 void Room::trial5LookAtInterface() {
-	showDescription(4);
+	showDescription(TX_TRI5N004);
 }
 
 void Room::trial5UseSTricorderOnInterface() {
-	spockScan(DIR_E, 10, true);
+	spockScan(DIR_E, TX_SPEAKER_SPOCK, TX_TRI5_010, true);
 }
 
 void Room::trial5UseMTricorderOnInterface() {
-	mccoyScan(DIR_E, 11, true);
+	mccoyScan(DIR_E, TX_SPEAKER_MCCOY, TX_TRI5_011, true);
 }
 
 void Room::trial5LookAtRedGem1() {
-	showDescription(13);
+	showDescription(TX_TRI5N013);
 }
 
 void Room::trial5LookAtRedGem2() {
-	showDescription(14);
+	showDescription(TX_TRI5N014);
 }
 
 void Room::trial5LookAtRedGem3() {
-	showDescription(15);
+	showDescription(TX_TRI5N015);
 }
 
 void Room::trial5LookAtGreenGem1() {
-	showDescription(19);
+	showDescription(TX_TRI5N019);
 }
 
 void Room::trial5LookAtGreenGem2() {
-	showDescription(20);
+	showDescription(TX_TRI5N020);
 }
 
 void Room::trial5LookAtGreenGem3() {
-	showDescription(21);
+	showDescription(TX_TRI5N021);
 }
 
 void Room::trial5LookAtBlueGem1() {
-	showDescription(16);
+	showDescription(TX_TRI5N016);
 }
 
 void Room::trial5LookAtBlueGem2() {
-	showDescription(17);
+	showDescription(TX_TRI5N017);
 }
 
 void Room::trial5LookAtBlueGem3() {
-	showDescription(18);
+	showDescription(TX_TRI5N018);
 }
 
 void Room::trial5LookAtHole() {
-	showDescription(6);
+	showDescription(TX_TRI5N006);
 }
 
 void Room::trial5TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, 1);
+	showText(TX_SPEAKER_KIRK, TX_TRI5_001);
 }
 
 void Room::trial5TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, 16);
+	showText(TX_SPEAKER_SPOCK, TX_TRI5_016);
 }
 
 void Room::trial5TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, 13);
+	showText(TX_SPEAKER_MCCOY, TX_TRI5_013);
 }
 
 void Room::trial5TalkToRedshirt() {
-	showText(TX_SPEAKER_BENNIE, 51);
+	showText(TX_SPEAKER_BENNIE, TX_TRI5_051);
 }
 
 void Room::trial5UsePhaser() {
-	showDescription(11);
+	showDescription(TX_TRI5N011);
 }
 
 void Room::trial5UseMTricorderAnywhere() {
 	// BUGFIX: Original had Spock doing the animation, not Mccoy
-	mccoyScan(DIR_S, -1, true);
-	showDescription(12);
+	mccoyScan(DIR_S, TX_SPEAKER_MCCOY, - 1, true);
+	showDescription(TX_TRI5N012);
 }
 
 void Room::trial5UseSTricorderAnywhere() {
-	spockScan(DIR_S, -1, true);
-	showDescription(12);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, - 1, true);
+	showDescription(TX_TRI5N012);
 }
 
 void Room::trial5UseCommunicator() {
-	showDescription(7);
+	showDescription(TX_TRI5N007);
 }
 
 void Room::trial5UseGemOnHole(int16 item, int16 object, int16 hole) {
@@ -517,7 +613,7 @@ void Room::trial5ReachedHoleToPutGem() {
 		if COMBO(RED, RED, RED) {
 			trial5ActivateLightOfWar();
 			playMidiMusicTracks(MIDITRACK_1, -1);
-			showText(TX_SPEAKER_LIGHT_OF_WAR, 50); // All ships in orbit destroyed
+			showText(TX_SPEAKER_LIGHT_OF_WAR, TX_TRI5_050); // All ships in orbit destroyed
 			showGameOverMenu();
 		} else if COMBO(RED, RED, GREEN) {
 			trial5RestrictedCombination1();
@@ -527,20 +623,20 @@ void Room::trial5ReachedHoleToPutGem() {
 			trial5RestrictedCombination1();
 		} else if COMBO(RED, GREEN, GREEN) {
 			trial5ActivateLightOfWar();
-			showText(TX_SPEAKER_LIGHT_OF_WAR, 36);
+			showText(TX_SPEAKER_LIGHT_OF_WAR, TX_TRI5_036);
 		} else if COMBO(RED, GREEN, BLUE) {
 			trial5ActivateLightOfWar();
-			showText(TX_SPEAKER_LIGHT_OF_WAR, 48);
+			showText(TX_SPEAKER_LIGHT_OF_WAR, TX_TRI5_048);
 		} 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, 49);
+			showText(TX_SPEAKER_LIGHT_OF_WAR, TX_TRI5_049);
 		} else if COMBO(GREEN, RED, RED) {
 			trial5ActivateLightOfKnowledge();
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 47);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_047);
 		} else if COMBO(GREEN, RED, GREEN) {
 			trial5RestrictedCombination2();
 		} else if COMBO(GREEN, RED, BLUE) {
@@ -550,8 +646,8 @@ void Room::trial5ReachedHoleToPutGem() {
 		} else if COMBO(GREEN, GREEN, GREEN) {
 			trial5ActivateLightOfKnowledge();
 			playVoc("EFX12B");
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 40);
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 37);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_040);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_037);
 			_awayMission->trial.neuralInterfaceActive = true;
 
 			if (!_awayMission->trial.gotPointsForActivatingInterface) {
@@ -562,25 +658,25 @@ void Room::trial5ReachedHoleToPutGem() {
 			trial5RestrictedCombination1();
 		} else if COMBO(GREEN, BLUE, RED) {
 			trial5ActivateLightOfKnowledge();
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 41);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_041);
 		} else if COMBO(GREEN, BLUE, GREEN) {
 			trial5RestrictedCombination2();
 		} else if COMBO(GREEN, BLUE, BLUE) {
 			trial5ActivateLightOfKnowledge();
-			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 38);
+			showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_038);
 		} else if COMBO(BLUE, RED, RED) {
 			trial5ActivateLightOfTravel();
-			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, 45);
+			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_045);
 		} 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, 42);
+			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_042);
 		} else if COMBO(BLUE, GREEN, GREEN) {
 			trial5ActivateLightOfTravel();
-			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, 44);
+			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_044);
 		} else if COMBO(BLUE, GREEN, BLUE) {
 			trial5DestinationNoLongerExists();
 		} else if COMBO(BLUE, BLUE, RED) {
@@ -589,7 +685,7 @@ void Room::trial5ReachedHoleToPutGem() {
 			trial5RestrictedCombination1();
 		} else if COMBO(BLUE, BLUE, BLUE) {
 			trial5ActivateLightOfTravel();
-			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, 46);
+			showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_046);
 
 			_awayMission->disableInput = true;
 			playSoundEffectIndex(kSfxTransporterDematerialize);
@@ -627,17 +723,17 @@ void Room::trial5RestrictedCombination1() {
 	// knowledge.
 	// It's inconsistent, but I guess we can chalk it up to the aliens being mysterious...
 	playSoundEffectIndex(kSfxTransporterEnergize);
-	showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 39);
+	showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_039);
 }
 
 void Room::trial5RestrictedCombination2() {
 	trial5ActivateLightOfKnowledge();
-	showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, 39);
+	showText(TX_SPEAKER_LIGHT_OF_KNOWLEDGE, TX_TRI5_039);
 }
 
 void Room::trial5DestinationNoLongerExists() {
 	trial5ActivateLightOfTravel();
-	showText(TX_SPEAKER_LIGHT_OF_TRAVEL, 43);
+	showText(TX_SPEAKER_LIGHT_OF_TRAVEL, TX_TRI5_043);
 }
 
 void Room::trial5CrewmanBeamedOut() {
@@ -761,8 +857,7 @@ void Room::trial5UseBlueGem3OnHole3() {
 
 
 void Room::trial5UseMedkitAnywhere() {
-	showText(TX_SPEAKER_MCCOY, 12);
+	showText(TX_SPEAKER_MCCOY, TX_TRI5_012);
 }
 
 }
-#endif
diff --git a/engines/startrek/text.cpp b/engines/startrek/text.cpp
index 7ea3b2bbfc..6a8f660751 100644
--- a/engines/startrek/text.cpp
+++ b/engines/startrek/text.cpp
@@ -18,6 +18,7 @@ Common::String patchRoomMessage(const char *text) {
 		{ "They are in no condition to talk right now", "#LOV4\\LOV4N007#They are in no condition to talk right now." },	// LOV4N007: add missing audio
 		{ "#FEA3\\FEA3_030#", "#LOVA\\LOVA_100#" }, // FEA3_030: Wrong voice actor when McCoy says "He's dead, Jim"
 		{ "#FEA4\\TX_FEA4N008", "#FEA4\\FEA4_005" },	// FEA4N008: Fix wrong audio
+		{ "#TRI3\\TRI3U080", "#TRI1\\TRI1U080" },	// Fix audio with missing filter
 	    { "spock", "Spock" },	// LOVA_F08
 	    { "sysnthesize", "synthesize" },	// LOVA_F55
 	    { "gullability", "gullibility" },	// MUD0_023




More information about the Scummvm-git-logs mailing list