[Scummvm-git-logs] scummvm master -> 0add13ed4375adf532ddf84394022bc212643eea

bluegr bluegr at gmail.com
Sun Aug 18 23:20:41 CEST 2019


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

Summary:
6a9969ed25 STARTREK: Fix loading of some texts, and add the "text" console command
8e69e9e462 STARTREK: Fix failed action texts
0add13ed43 STARTREK: Read most of the TUG mission texts from RDF files


Commit: 6a9969ed25e485e393cd76fe486d3778b541d0c4
    https://github.com/scummvm/scummvm/commit/6a9969ed25e485e393cd76fe486d3778b541d0c4
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-08-19T00:18:00+03:00

Commit Message:
STARTREK: Fix loading of some texts, and add the "text" console command

Changed paths:
    engines/startrek/console.cpp
    engines/startrek/console.h
    engines/startrek/room.cpp
    engines/startrek/room.h
    engines/startrek/startrek.h


diff --git a/engines/startrek/console.cpp b/engines/startrek/console.cpp
index 471294f..d3f012d 100644
--- a/engines/startrek/console.cpp
+++ b/engines/startrek/console.cpp
@@ -30,6 +30,7 @@ namespace StarTrek {
 Console::Console(StarTrekEngine *vm) : GUI::Debugger(), _vm(vm) {
 	registerCmd("room",			WRAP_METHOD(Console, Cmd_Room));
 	registerCmd("actions",		WRAP_METHOD(Console, Cmd_Actions));
+	registerCmd("text",			WRAP_METHOD(Console, Cmd_Text));
 }
 
 Console::~Console() {
@@ -84,6 +85,30 @@ bool Console::Cmd_Actions(int argc, const char **argv) {
 	return true;
 }
 
+bool Console::Cmd_Text(int argc, const char **argv) {
+	typedef Common::HashMap<int, Common::String>::iterator MessageIterator;
+
+	debugPrintf("\nLook messages\n");
+	debugPrintf("-------------\n");
+	for (MessageIterator i = _vm->_room->_lookMessages.begin(); i != _vm->_room->_lookMessages.end(); ++i) {
+		debugPrintf("%i: %s\n", i->_key, i->_value.c_str());
+	}
+
+	debugPrintf("\nLook with talker messages\n");
+	debugPrintf("-------------------------\n");
+	for (MessageIterator i = _vm->_room->_lookWithTalkerMessages.begin(); i != _vm->_room->_lookWithTalkerMessages.end(); ++i) {
+		debugPrintf("%i: %s\n", i->_key, i->_value.c_str());
+	}
+
+	debugPrintf("\nTalk messages\n");
+	debugPrintf("-------------\n");
+	for (MessageIterator i = _vm->_room->_talkMessages.begin(); i != _vm->_room->_talkMessages.end(); ++i) {
+		debugPrintf("%i: %s\n", i->_key, i->_value.c_str());
+	}
+
+	return true;
+}
+
 Common::String Console::EventToString(uint32 action) {
 	const char *actions[] = {
 		"Tick",
diff --git a/engines/startrek/console.h b/engines/startrek/console.h
index 8a920ef..5293557 100644
--- a/engines/startrek/console.h
+++ b/engines/startrek/console.h
@@ -39,6 +39,7 @@ private:
 
 	bool Cmd_Room(int argc, const char **argv);
 	bool Cmd_Actions(int argc, const char **argv);
+	bool Cmd_Text(int argc, const char **argv);
 
 	Common::String EventToString(uint32 action);
 	Common::String ItemToString(byte index);
diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index c0ce89e..0cffed9 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -183,8 +183,10 @@ void Room::loadOtherRoomMessages() {
 			break;
 
 		while (offset < nextOffset) {
-			if (*(_rdfData + offset) == 0xeb && *(_rdfData + offset + 2) == '#')
-				loadRoomMessage((const char *)_rdfData + offset + 2);
+			const char *text = (const char *)_rdfData + offset;
+
+			if (text[0] == '#' && text[1] == _vm->_missionName[0] && text[5] == '\\')
+				loadRoomMessage(text);
 
 			offset++;
 		}
diff --git a/engines/startrek/room.h b/engines/startrek/room.h
index 47a778f..458f3df 100644
--- a/engines/startrek/room.h
+++ b/engines/startrek/room.h
@@ -66,6 +66,8 @@ public:
 	Room(StarTrekEngine *vm, const Common::String &name);
 	~Room();
 
+	friend class Console;
+
 	uint16 readRdfWord(int offset);
 
 	/**
diff --git a/engines/startrek/startrek.h b/engines/startrek/startrek.h
index 3e27e00..f07da10 100644
--- a/engines/startrek/startrek.h
+++ b/engines/startrek/startrek.h
@@ -231,6 +231,8 @@ public:
 	StarTrekEngine(OSystem *syst, const StarTrekGameDescription *gamedesc);
 	virtual ~StarTrekEngine();
 
+	friend class Console;
+
 	Common::Error run();
 	Common::Error runGameMode(int mode, bool resume);
 


Commit: 8e69e9e462aa5c5b79c4561da8702b76279f5cc9
    https://github.com/scummvm/scummvm/commit/8e69e9e462aa5c5b79c4561da8702b76279f5cc9
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-08-19T00:18:02+03:00

Commit Message:
STARTREK: Fix failed action texts

Changed paths:
    engines/startrek/startrek.cpp


diff --git a/engines/startrek/startrek.cpp b/engines/startrek/startrek.cpp
index 2e4a5a0..d22c610 100644
--- a/engines/startrek/startrek.cpp
+++ b/engines/startrek/startrek.cpp
@@ -628,18 +628,25 @@ Common::String StarTrekEngine::getLoadedText(int textIndex) {
 
 	Common::String str;
 	byte cur;
-	while (textIndex != 0) {
+	int curIndex = 0;
+
+	while (!txtFile->eos()) {
 		do {
 			cur = txtFile->readByte();
-			if (cur != '\0')
-				str += cur;
+			str += cur;
 		} while (cur != '\0');
-		textIndex--;
-	}
 
-	delete txtFile;
+		if (curIndex == textIndex) {
+			delete txtFile;
+			return str;
+		}
 
-	return str;
+		curIndex++;
+		str = "";
+	}
+	
+	delete txtFile;
+	return "";
 }
 
 } // End of namespace StarTrek


Commit: 0add13ed4375adf532ddf84394022bc212643eea
    https://github.com/scummvm/scummvm/commit/0add13ed4375adf532ddf84394022bc212643eea
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2019-08-19T00:18:05+03:00

Commit Message:
STARTREK: Read most of the TUG mission texts from RDF files

Changed paths:
    engines/startrek/rooms/tug0.cpp
    engines/startrek/rooms/tug1.cpp
    engines/startrek/rooms/tug2.cpp
    engines/startrek/rooms/tug3.cpp
    engines/startrek/text.cpp
    engines/startrek/text.h


diff --git a/engines/startrek/rooms/tug0.cpp b/engines/startrek/rooms/tug0.cpp
index 0ae7f52..df9aab8 100644
--- a/engines/startrek/rooms/tug0.cpp
+++ b/engines/startrek/rooms/tug0.cpp
@@ -54,7 +54,7 @@ void Room::tug0LookAtEngineer() {
 }
 
 void Room::tug0GetEngineer() {
-	showText(TX_SPEAKER_MCCOY, TX_TUG0_019);
+	showText(TX_SPEAKER_MCCOY, 19, true);
 }
 
 void Room::tug0LookAtControls() {
@@ -76,18 +76,18 @@ void Room::tug0SpockReachedControlsToExamine() {
 }
 
 void Room::tug0SpockExaminedControls() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_040);
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_005);
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_043);
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_013);
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_038);
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_008);
+	showText(TX_SPEAKER_SPOCK, 40, true);
+	showText(TX_SPEAKER_KIRK,  5, true);
+	showText(TX_SPEAKER_SPOCK, 43, true);
+	showText(TX_SPEAKER_KIRK,  13, true);
+	showText(TX_SPEAKER_SPOCK, 38, true);
+	showText(TX_SPEAKER_KIRK,  8, true);
 	_awayMission->tug.spockExaminedTransporter = true;
 	_awayMission->disableInput = false;
 }
 
 void Room::tug0UseTransmogrifierWithoutBitOnControls() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_014);
+	showText(TX_SPEAKER_SPOCK, 14, true);
 }
 
 void Room::tug0UseTransmogrifierWithBitOnControls() {
@@ -97,7 +97,7 @@ void Room::tug0UseTransmogrifierWithBitOnControls() {
 }
 
 void Room::tug0SpockReachedControlsWithTransmogrifier() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_029);
+	showText(TX_SPEAKER_SPOCK, 29, true);
 	loadActorAnim2(OBJECT_SPOCK, "susehn", -1, -1, 7);
 	playSoundEffectIndex(SND_BLANK_0b); // FIXME: blank sound?
 }
@@ -115,7 +115,7 @@ void Room::tug0TransporterScreenFullyLit() {
 
 void Room::tug0UseWireScrapsOnControls() {
 	if (_awayMission->tug.usedTransmogrifierOnTransporter)
-		showText(TX_SPEAKER_SPOCK, TX_TUG0_034);
+		showText(TX_SPEAKER_SPOCK, 34, true);
 }
 
 void Room::tug0UseWireOnControls() {
@@ -136,24 +136,24 @@ void Room::tug0SpockFinishedUsingWire() {
 	_awayMission->tug.missionScore++;
 	loadActorAnim2(11, "t0con1", 0x105, 0xc2, 22);
 
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_039);
+	showText(TX_SPEAKER_SPOCK, 39, true);
 
 	_awayMission->tug.transporterRepaired = true;
 
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_010);
-	showText(TX_SPEAKER_MCCOY, TX_TUG0_022);
+	showText(TX_SPEAKER_KIRK,  10, true);
+	showText(TX_SPEAKER_MCCOY, 22, true);
 
 	// BUGFIX: check if the redshirt is dead.
 	if (!_awayMission->redshirtDead) {
-		showText(TX_SPEAKER_KIRK,  TX_TUG0_002);
+		showText(TX_SPEAKER_KIRK,  2, true);
 
-		showText(TX_SPEAKER_CHRISTENSEN, TX_TUG0L009);
-		showText(TX_SPEAKER_CHRISTENSEN, TX_TUG0L008);
+		showText(TX_SPEAKER_CHRISTENSEN, 9, true, true);
+		showText(TX_SPEAKER_CHRISTENSEN, 8, true, true);
 
 		if (_awayMission->tug.haveBomb) {
-			showText(TX_SPEAKER_CHRISTENSEN, TX_TUG0L010);
-			showText(TX_SPEAKER_MCCOY,       TX_TUG0_021);
-			showText(TX_SPEAKER_SPOCK,       TX_TUG0_041);
+			showText(TX_SPEAKER_CHRISTENSEN, 10, true, true);
+			showText(TX_SPEAKER_MCCOY,       21, true);
+			showText(TX_SPEAKER_SPOCK,       41, true);
 		}
 	}
 }
@@ -229,13 +229,13 @@ void Room::tug0UseWelderOnWireScraps() {
 }
 
 void Room::tug0UseWelderOnMetalScraps() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_032);
+	showText(TX_SPEAKER_SPOCK, 32, true);
 	loseItem(OBJECT_IJNKMETL);
 	giveItem(OBJECT_ICOMBBIT);
 }
 
 void Room::tug0UseCombBitOnTransmogrifier() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_035);
+	showText(TX_SPEAKER_SPOCK, 35, true);
 	loseItem(OBJECT_ICOMBBIT);
 	loseItem(OBJECT_IRT);
 	giveItem(OBJECT_IRTWB);
@@ -263,7 +263,7 @@ void Room::tug0SpockReachedControlsToTransport() {
 }
 
 void Room::tug0SpockPreparedTransporter() {
-	showText(TX_SPEAKER_KIRK, TX_TUG0_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_S;
 	walkCrewman(OBJECT_SPOCK, 0x9a, 0x7e, 20);
 }
@@ -325,12 +325,12 @@ void Room::tug0SpockFinishesBeamingBomb() {
 
 void Room::tug0BombExploded() {
 	playMidiMusicTracks(2, -1);
-	showText(TX_SPEAKER_MCCOY, TX_TUG0_023);
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_037);
-	showText(TX_SPEAKER_MCCOY, TX_TUG0_027);
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_004);
+	showText(TX_SPEAKER_MCCOY, 23, true);
+	showText(TX_SPEAKER_SPOCK, 37, true);
+	showText(TX_SPEAKER_MCCOY, 27, true);
+	showText(TX_SPEAKER_KIRK,  4, true);
 	showText(TX_SPEAKER_SCOTT, TX_TUG0_S11);
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_003);
+	showText(TX_SPEAKER_KIRK,  3, true);
 	showText(TX_SPEAKER_SCOTT, TX_TUG0_S06);
 
 	_awayMission->tug.field2d = 1;
@@ -344,13 +344,13 @@ void Room::tug0UseMTricorderOnControls() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_MCCOY] = DIR_S;
 	loadActorAnim2(OBJECT_MCCOY, "mscans", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_MCCOY, TX_TUG0_016);
+	showText(TX_SPEAKER_MCCOY, 16, true);
 }
 
 void Room::tug0UseSTricorderOnControls() {
 	loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 23);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_015);
+	showText(TX_SPEAKER_SPOCK, 15, true);
 }
 
 void Room::tug0UseMTricorderOnEngineer() {
@@ -366,9 +366,9 @@ void Room::tug0MccoyReachedEngineerToScan() {
 
 void Room::tug0MccoyFinishedScanningEngineer() {
 	if (_awayMission->tug.engineerConscious)
-		showText(TX_SPEAKER_MCCOY, TX_TUG0_017);
+		showText(TX_SPEAKER_MCCOY, 17, true);
 	else
-		showText(TX_SPEAKER_MCCOY, TX_TUG0_018);
+		showText(TX_SPEAKER_MCCOY, 18, true);
 
 	_awayMission->crewDirectionsAfterWalk[OBJECT_MCCOY] = DIR_W;
 	walkCrewman(OBJECT_MCCOY, 0x41, 0xaf, 26);
@@ -379,7 +379,7 @@ void Room::tug0UseSTricorderOnEngineer() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_S;
 	loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_030);
+	showText(TX_SPEAKER_SPOCK, 30, true);
 }
 
 void Room::tug0WalkToDoor() {
@@ -411,36 +411,36 @@ void Room::tug0LookAtDoor() {
 }
 
 void Room::tug0TalkToKirk() {
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_006);
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_036);
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_011);
+	showText(TX_SPEAKER_KIRK,  6, true);
+	showText(TX_SPEAKER_SPOCK, 36, true);
+	showText(TX_SPEAKER_KIRK,  11, true);
 }
 
 void Room::tug0TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, TX_TUG0_025);
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_007);
-	showText(TX_SPEAKER_MCCOY, TX_TUG0_024);
+	showText(TX_SPEAKER_MCCOY, 25, true);
+	showText(TX_SPEAKER_KIRK,  7, true);
+	showText(TX_SPEAKER_MCCOY, 24, true);
 }
 
 void Room::tug0TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_042);
-	showText(TX_SPEAKER_KIRK,  TX_TUG0_009);
+	showText(TX_SPEAKER_SPOCK, 42, true);
+	showText(TX_SPEAKER_KIRK,  9, true);
 }
 
 void Room::tug0TalkToRedshirt() {
-	showText(TX_SPEAKER_CHRISTENSEN,  TX_TUG0L006);
+	showText(TX_SPEAKER_CHRISTENSEN,  6, true, true);
 }
 
 void Room::tug0TalkToEngineer() {
 	if (_awayMission->tug.engineerConscious) {
 		showText(TX_SPEAKER_SIMPSON, TX_TUG0_F30);
-		showText(TX_SPEAKER_MCCOY,  TX_TUG0_026);
-		showText(TX_SPEAKER_KIRK,   TX_TUG0_012);
+		showText(TX_SPEAKER_MCCOY,  26, true);
+		showText(TX_SPEAKER_KIRK,   12, true);
 	}
 }
 
 void Room::tug0UseCommunicator() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_031);
+	showText(TX_SPEAKER_SPOCK, 31, true);
 }
 
 void Room::tug0LookAnywhere() {
@@ -451,14 +451,14 @@ void Room::tug0UseSTricorderAnywhere() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_S;
 	loadActorAnim2(OBJECT_SPOCK, "sscans", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_SPOCK, TX_TUG0_028);
+	showText(TX_SPEAKER_SPOCK, 28, true);
 }
 
 void Room::tug0UseMTricorderAnywhere() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_MCCOY] = DIR_S;
 	loadActorAnim2(OBJECT_MCCOY, "mscans", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_MCCOY, TX_TUG0_020); // BUG: typo
+	showText(TX_SPEAKER_MCCOY, 20, true); // BUG: typo
 }
 
 }
diff --git a/engines/startrek/rooms/tug1.cpp b/engines/startrek/rooms/tug1.cpp
index 9f219c2..aa9a808 100644
--- a/engines/startrek/rooms/tug1.cpp
+++ b/engines/startrek/rooms/tug1.cpp
@@ -44,7 +44,7 @@ void Room::tug1UseSTricorderOnAnything() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_N;
 	loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_SPOCK, TX_TUG1_014);
+	showText(TX_SPEAKER_SPOCK, 14, true);
 
 	// NOTE: this action has a second implementation (which is never called). It displayed
 	// TX_TUG1_006. Was this meant to be displayed after the force field is down?
@@ -53,7 +53,7 @@ void Room::tug1UseSTricorderOnAnything() {
 void Room::tug1LookAtBridgeDoor() {
 	if (_awayMission->tug.bridgeForceFieldDown)
 		return;
-	showDescription(TX_TUG1N005);
+	showDescription(5, true);
 }
 
 void Room::tug1UseSTricorderOnBridgeDoor() {
@@ -63,12 +63,12 @@ void Room::tug1UseSTricorderOnBridgeDoor() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_N;
 	loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_SPOCK, TX_TUG1_002);
+	showText(TX_SPEAKER_SPOCK, 2, true);
 }
 
 void Room::tug1UsePhaserOnBridgeDoor() {
 	if (_awayMission->tug.bridgeForceFieldDown)
-		showDescription(TX_TUG1N007);
+		showDescription(7, true);
 	else {
 		_awayMission->disableInput = true;
 		_awayMission->crewDirectionsAfterWalk[OBJECT_KIRK] = DIR_N;
@@ -93,18 +93,18 @@ void Room::tug1KirkFinishedFiringPhaser() {
 
 void Room::tug1TalkToSpock() {
 	if (!_awayMission->tug.bridgeForceFieldDown)
-		showText(TX_SPEAKER_SPOCK, TX_TUG1_010);
+		showText(TX_SPEAKER_SPOCK, 10, true);
 }
 
 void Room::tug1UseSTricorderOnJunkPile() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_N;
 	loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_SPOCK, TX_TUG1_009);
+	showText(TX_SPEAKER_SPOCK, 9, true);
 }
 
 void Room::tug1LookAtJunkPile() {
-	showDescription(TX_TUG1N000);
+	showDescription(0, true);
 }
 
 void Room::tug1GetJunkPile() {
@@ -130,24 +130,24 @@ void Room::tug1KirkFinishedTakingJunkPile() {
 void Room::tug1UsePhaserOnWelder() {
 	loseItem(OBJECT_IPWE);
 	giveItem(OBJECT_IPWF);
-	showDescription(TX_TUG1N004);
+	showDescription(4, true);
 
 	_awayMission->tug.missionScore += 3;
 }
 
 void Room::tug1UseWelderOnWireScraps() {
-	showDescription(TX_TUG1N009);
+	showDescription(9, true);
 	loseItem(OBJECT_IWIRSCRP);
 }
 
 void Room::tug1UseWelderOnMetalScraps() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG1_012);
+	showText(TX_SPEAKER_SPOCK, 12, true);
 	loseItem(OBJECT_IJNKMETL);
 	giveItem(OBJECT_ICOMBBIT);
 }
 
 void Room::tug1UseCombBitOnTransmogrifier() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG1_017);
+	showText(TX_SPEAKER_SPOCK, 17, true);
 	loseItem(OBJECT_ICOMBBIT);
 	loseItem(OBJECT_IRT);
 	giveItem(OBJECT_IRTWB);
@@ -155,7 +155,7 @@ void Room::tug1UseCombBitOnTransmogrifier() {
 
 void Room::tug1UsePhaserWelderOnBridgeDoor() {
 	if (_awayMission->tug.bridgeForceFieldDown)
-		showDescription(TX_TUG1N008);
+		showDescription(8, true);
 	else {
 		_awayMission->disableInput = true;
 		_awayMission->crewDirectionsAfterWalk[OBJECT_KIRK] = DIR_N;
@@ -165,7 +165,7 @@ void Room::tug1UsePhaserWelderOnBridgeDoor() {
 
 void Room::tug1UsePhaserWelderOnBridgeDoorInLeftSpot() {
 	if (_awayMission->tug.bridgeForceFieldDown)
-		showDescription(TX_TUG1N007);
+		showDescription(7, true);
 	else {
 		_awayMission->disableInput = true;
 		_awayMission->crewDirectionsAfterWalk[OBJECT_KIRK] = DIR_N;
@@ -181,7 +181,7 @@ void Room::tug1KirkReachedBridgeDoorWithWelder() {
 
 void Room::tug1KirkFinishedUsingWelder() {
 	loadActorStandAnim(OBJECT_PHASERSHOT);
-	showText(TX_SPEAKER_SPOCK, TX_TUG1_016);
+	showText(TX_SPEAKER_SPOCK, 16, true);
 	_awayMission->disableInput = false;
 }
 
@@ -193,26 +193,26 @@ void Room::tug1KirkReachedBridgeDoorWithWelderInLeftSpot() {
 
 void Room::tug1KirkFinishedUsingWelderInLeftSpot() {
 	loadActorStandAnim(OBJECT_PHASERSHOT);
-	showText(TX_SPEAKER_SPOCK, TX_TUG1_015);
+	showText(TX_SPEAKER_SPOCK, 15, true);
 	_awayMission->tug.bridgeForceFieldDown = true;
 	_awayMission->disableInput = false;
 	_awayMission->tug.missionScore++;
 }
 
 void Room::tug1LookAnywhere() {
-	showDescription(TX_TUG1N013);
+	showDescription(13, true);
 }
 
 void Room::tug1LookAtMccoy() {
-	showDescription(TX_TUG1N003);
+	showDescription(3, true);
 }
 
 void Room::tug1LookAtSpock() {
-	showDescription(TX_TUG1N006);
+	showDescription(6, true);
 }
 
 void Room::tug1LookAtRedshirt() {
-	showDescription(TX_TUG1N002);
+	showDescription(2, true);
 }
 
 void Room::tug1TalkToMccoy() {
@@ -220,36 +220,36 @@ void Room::tug1TalkToMccoy() {
 }
 
 void Room::tug1TalkToRedshirt() {
-	showText(TX_SPEAKER_CHRISTENSEN, TX_TUG1L005);
+	showText(TX_SPEAKER_CHRISTENSEN, 5, true, true);
 }
 
 void Room::tug1LookAtTerminal() {
-	showDescription(TX_TUG1N010);
+	showDescription(10, true);
 }
 
 void Room::tug1LookAtDebris() {
-	showDescription(TX_TUG1N011);
+	showDescription(11, true);
 }
 
 void Room::tug1LookAtBrigDoor() {
-	showDescription(TX_TUG1N001);
+	showDescription(1, true);
 }
 
 void Room::tug1UseSTricorderOnBrigDoor() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_N;
 	loadActorAnim2(OBJECT_SPOCK, "sscann", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_SPOCK, TX_TUG1_018);
+	showText(TX_SPEAKER_SPOCK, 18, true);
 }
 
 void Room::tug1TalkToKirk() {
-	showText(TX_SPEAKER_KIRK,  TX_TUG1_001);
-	showText(TX_SPEAKER_MCCOY, TX_TUG1_008);
+	showText(TX_SPEAKER_KIRK,  1, true);
+	showText(TX_SPEAKER_MCCOY, 8, true);
 }
 
 // FIXME: not working
 void Room::tug1UseCommunicator() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG1_011);
+	showText(TX_SPEAKER_SPOCK, 11, true);
 }
 
 void Room::tug1WalkToBridgeDoor() {
@@ -276,36 +276,36 @@ void Room::tug1UseMTricorderAnywhere() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_MCCOY] = DIR_N;
 	loadActorAnim2(OBJECT_MCCOY, "mscann", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_MCCOY, TX_TUG1_003);
+	showText(TX_SPEAKER_MCCOY, 3, true);
 }
 
 void Room::tug1UseMTricorderOnBridgeDoor() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_MCCOY] = DIR_N;
 	loadActorAnim2(OBJECT_MCCOY, "mscann", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_MCCOY, TX_TUG1_007);
+	showText(TX_SPEAKER_MCCOY, 7, true);
 }
 
 void Room::tug1UseMTricorderOnBrigDoor() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_MCCOY] = DIR_N;
 	loadActorAnim2(OBJECT_MCCOY, "mscann", -1, -1, 0);
 	playSoundEffectIndex(SND_TRICORDER);
-	showText(TX_SPEAKER_MCCOY, TX_TUG1_005);
+	showText(TX_SPEAKER_MCCOY, 5, true);
 }
 
 void Room::tug1UseSpockOnBridgeDoor() {
 	if (!_awayMission->tug.bridgeForceFieldDown)
-		showText(TX_SPEAKER_SPOCK, TX_TUG1_013);
+		showText(TX_SPEAKER_SPOCK, 13, true);
 }
 
 void Room::tug1UseRedshirtOnBridgeDoor() {
 	if (!_awayMission->tug.bridgeForceFieldDown)
-		showText(TX_SPEAKER_CHRISTENSEN, TX_TUG1L000);
+		showText(TX_SPEAKER_CHRISTENSEN, 0, true, true);
 }
 
 void Room::tug1UseMedkitOnBridgeDoor() {
 	if (!_awayMission->tug.bridgeForceFieldDown)
-		showText(TX_SPEAKER_MCCOY, TX_TUG1_004);
+		showText(TX_SPEAKER_MCCOY, 4, true);
 }
 
 }
diff --git a/engines/startrek/rooms/tug2.cpp b/engines/startrek/rooms/tug2.cpp
index 1cd21df..ec23197 100644
--- a/engines/startrek/rooms/tug2.cpp
+++ b/engines/startrek/rooms/tug2.cpp
@@ -113,25 +113,25 @@ void Room::tug2Tick1() {
 void Room::tug2Tick60() {
 	if (!_awayMission->tug.guard1Status || !_awayMission->tug.guard2Status) {
 		_awayMission->timers[0] = 60;
-		showText(TX_SPEAKER_ELASI_GUARD, TX_TUG2L085);
+		showText(TX_SPEAKER_ELASI_GUARD, 85, true, true);
 		tug2ElasiReadyPhaser();
 	}
 }
 
 void Room::tug2LookAtButton() {
-	showDescription(TX_TUG2N011);
+	showDescription(11, true);
 }
 
 void Room::tug2LookAtMccoy() {
-	showDescription(TX_TUG2N005);
+	showDescription(5, true);
 }
 
 void Room::tug2LookAtSpock() {
-	showDescription(TX_TUG2N007);
+	showDescription(7, true);
 }
 
 void Room::tug2LookAtRedshirt() {
-	showDescription(TX_TUG2N004);
+	showDescription(4, true);
 }
 
 void Room::tug2GetBomb() {
@@ -140,7 +140,7 @@ void Room::tug2GetBomb() {
 		_awayMission->crewDirectionsAfterWalk[OBJECT_KIRK] = DIR_N;
 		walkCrewman(OBJECT_KIRK, 0xc9, 0xa0, 12);
 	} else
-		showDescription(TX_TUG2N024);
+		showDescription(24, true);
 }
 
 void Room::tug2KirkReachedBomb() {
@@ -155,33 +155,33 @@ void Room::tug2KirkGotBomb() {
 }
 
 void Room::tug2LookAtBomb() {
-	showDescription(TX_TUG2N000);
+	showDescription(0, true);
 }
 
 void Room::tug2LookAtGuard1() {
 	if (_awayMission->tug.guard1Status == 0)
-		showDescription(TX_TUG2N001);
+		showDescription(1, true);
 	else if (_awayMission->tug.guard1Status == 1)
-		showDescription(TX_TUG2N013);
+		showDescription(13, true);
 	else if (_awayMission->tug.guard1Status == 8)
-		showDescription(TX_TUG2N015);
+		showDescription(15, true);
 	else if (_awayMission->tug.guard1Status == 2)
-		showDescription(TX_TUG2N106);
+		showDescription(106, true);
 }
 
 void Room::tug2LookAtGuard2() {
 	if (_awayMission->tug.guard2Status == 0)
-		showDescription(TX_TUG2N037);
+		showDescription(37, true);
 	else if (_awayMission->tug.guard2Status == 1)
-		showDescription(TX_TUG2N014);
+		showDescription(14, true);
 	else if (_awayMission->tug.guard2Status == 8)
-		showDescription(TX_TUG2N016);
+		showDescription(16, true);
 	else if (_awayMission->tug.guard2Status == 2)
-		showDescription(TX_TUG2N106);
+		showDescription(106, true);
 }
 
 void Room::tug2LookAtWires() {
-	showDescription(TX_TUG2N010);
+	showDescription(10, true);
 }
 
 void Room::tug2UseSTricorderOnButton() {
@@ -193,17 +193,17 @@ void Room::tug2UseSTricorderOnButton() {
 void Room::tug2UseMccoyOnWires() {
 	if (_awayMission->tug.field35 != 0)
 		return;
-	showText(TX_SPEAKER_MCCOY, TX_TUG2_009);
+	showText(TX_SPEAKER_MCCOY, 9, true);
 }
 
 void Room::tug2UseMccoyOnBomb() {
-	showText(TX_SPEAKER_MCCOY, TX_TUG2_011);
+	showText(TX_SPEAKER_MCCOY, 11, true);
 }
 
 void Room::tug2UseRedshirtOnWires() {
 	if (_awayMission->disableWalking || _awayMission->tug.field35 != 0)
 		return;
-	showText(TX_SPEAKER_CHRISTENSEN, TX_TUG2L007);
+	showText(TX_SPEAKER_CHRISTENSEN, 7, true, true);
 	_awayMission->crewDirectionsAfterWalk[OBJECT_REDSHIRT] = DIR_N;
 	_awayMission->disableInput = true;
 	walkCrewman(OBJECT_REDSHIRT, 0xc9, 0xa0, 6);
@@ -215,7 +215,7 @@ void Room::tug2RedshirtReachedWires() {
 
 void Room::tug2RedshirtDefusedBomb() {
 	showDescription(TX_TUG2C001);
-	showText(TX_SPEAKER_CHRISTENSEN, TX_TUG2L011);
+	showText(TX_SPEAKER_CHRISTENSEN, 11, true, true);
 	_awayMission->tug.field35 = 4;
 	_awayMission->crewDirectionsAfterWalk[OBJECT_REDSHIRT] = DIR_E;
 	walkCrewman(OBJECT_REDSHIRT, 0x44, 0xc2, 8);
@@ -235,8 +235,8 @@ void Room::tug2UseKirkOnWires() {
 }
 
 void Room::tug2KirkReachedWires() {
-	showText(TX_SPEAKER_KIRK,  TX_TUG2_003);
-	showText(TX_SPEAKER_SPOCK, TX_TUG2_023);
+	showText(TX_SPEAKER_KIRK,  3, true);
+	showText(TX_SPEAKER_SPOCK, 23, true);
 
 	_awayMission->crewDirectionsAfterWalk[OBJECT_KIRK] = DIR_E;
 	walkCrewman(OBJECT_KIRK, 0x66, 0xb8, 0);
@@ -255,11 +255,11 @@ void Room::tug2UseSpockOnWires() {
 void Room::tug2SpockReachedWires() {
 	loadActorAnim2(OBJECT_SPOCK, "suseme", -1, -1, 0);
 	playVoc("WIRESNIP");
-	showText(TX_SPEAKER_SPOCK, TX_TUG2_024);
+	showText(TX_SPEAKER_SPOCK, 24, true);
 	_awayMission->tug.field35 = 4;
 
 	if (_awayMission->tug.spockExaminedTransporter)
-		showText(TX_SPEAKER_SPOCK, TX_TUG2_008);
+		showText(TX_SPEAKER_SPOCK, 8, true);
 
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_E;
 	walkCrewman(OBJECT_SPOCK, 0x56, 0xa9, 11);
@@ -376,25 +376,25 @@ void Room::tug2TurnedOffForceField() {
 
 void Room::tug2PrisonersDead() {
 	loadActorAnim2(OBJECT_BRIG, "zapdon", 0, 0, 0);
-	showDescription(TX_TUG2N026);
+	showDescription(26, true);
 }
 
 void Room::tug2PrisonersReleased() {
 	loadActorAnim2(OBJECT_BRIG, "fld10d", 0, 0, 0);
-	showText(TX_SPEAKER_MASADA_CREWMAN, TX_TUG2_029);
-	showText(TX_SPEAKER_MASADA_CREWMAN, TX_TUG2_030);
-	showText(TX_SPEAKER_MASADA_CREWMAN, TX_TUG2_028);
+	showText(TX_SPEAKER_MASADA_CREWMAN, 29, true);
+	showText(TX_SPEAKER_MASADA_CREWMAN, 30, true);
+	showText(TX_SPEAKER_MASADA_CREWMAN, 28, true);
 	_awayMission->tug.savedPrisoners = true;
 }
 
 void Room::tug2UsePhaserOnBrig() {
 	if (_awayMission->tug.field35 == 0)
-		showText(TX_SPEAKER_SPOCK, TX_TUG2_006);
+		showText(TX_SPEAKER_SPOCK, 6, true);
 	else if (_awayMission->tug.brigForceFieldDown) {
 		// BUGFIX: this function had two implementations; one for firing on the brig, and
 		// one for firing on the masada crewman (who replaces the brig object). The first
 		// took priority, meaning the latter code never ran. That's fixed here.
-		showText(TX_SPEAKER_MASADA_CREWMAN, TX_TUG2_025);
+		showText(TX_SPEAKER_MASADA_CREWMAN, 25, true);
 	}
 }
 
@@ -526,7 +526,7 @@ void Room::tug2KirkKillGuard2() {
 void Room::tug2UsePhaserOnWelder() {
 	loseItem(OBJECT_IPWE);
 	giveItem(OBJECT_IPWF);
-	showDescription(TX_TUG2N006);
+	showDescription(6, true);
 
 	// BUGFIX: this following line didn't exist, despite it existing in TUG1; meaning this
 	// was supposed to give points, but it only did in a specific room.
@@ -534,25 +534,25 @@ void Room::tug2UsePhaserOnWelder() {
 }
 
 void Room::tug2UseWelderOnWireScraps() {
-	showDescription(TX_TUG2N009);
+	showDescription(9, true);
 	loseItem(OBJECT_IWIRSCRP);
 }
 
 void Room::tug2UseWelderOnMetalScraps() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG2_112);
+	showText(TX_SPEAKER_SPOCK, 112, true);
 	loseItem(OBJECT_IJNKMETL);
 	giveItem(OBJECT_ICOMBBIT);
 }
 
 void Room::tug2UseCombBitOnTransmogrifier() {
-	showText(TX_SPEAKER_SPOCK, TX_TUG2_021);
+	showText(TX_SPEAKER_SPOCK, 21, true);
 	loseItem(OBJECT_ICOMBBIT);
 	loseItem(OBJECT_IRT);
 	giveItem(OBJECT_IRTWB);
 }
 
 void Room::tug2ShotByElasi() {
-	showDescription(TX_TUG2N025);
+	showDescription(25, true);
 	showGameOverMenu();
 
 	// Unused: additional textbox that says "***Game over man!***"
@@ -563,25 +563,25 @@ void Room::tug2WalkToDoor() {
 }
 
 void Room::tug2LookAtDoor() {
-	showDescription(TX_TUG2N012);
+	showDescription(12, true);
 }
 
 void Room::tug2LookAtKirk() {
-	showDescription(TX_TUG2N003);
+	showDescription(3, true);
 }
 
 void Room::tug2TalkToKirk() {
 	if (_awayMission->tug.field35 == 6)
-		showText(TX_SPEAKER_KIRK, TX_TUG2_001);
+		showText(TX_SPEAKER_KIRK, 1, true);
 	else
-		showText(TX_SPEAKER_KIRK, TX_TUG2_002);
+		showText(TX_SPEAKER_KIRK, 2, true);
 }
 
 void Room::tug2TalkToMccoy() {
 	if (_awayMission->tug.field35 == 6)
-		showText(TX_SPEAKER_MCCOY, TX_TUG2_018);
+		showText(TX_SPEAKER_MCCOY, 18, true);
 	else
-		showText(TX_SPEAKER_MCCOY, TX_TUG2_010);
+		showText(TX_SPEAKER_MCCOY, 10, true);
 }
 
 void Room::tug2TalkToRedshirt() {
@@ -589,7 +589,7 @@ void Room::tug2TalkToRedshirt() {
 	// precedence, however, it's just generic, unhelpful text. The second implementation
 	// is more interesting, so that one is used instead.
 	if (_awayMission->tug.field35 == 6)
-		showText(TX_SPEAKER_CHRISTENSEN, TX_TUG2L004);
+		showText(TX_SPEAKER_CHRISTENSEN, 4, true, true);
 	else
 		showText(TX_SPEAKER_CHRISTENSEN, TX_TUG2J003);
 
@@ -599,9 +599,9 @@ void Room::tug2TalkToRedshirt() {
 
 void Room::tug2TalkToSpock() {
 	if (_awayMission->tug.field35 == 6)
-		showText(TX_SPEAKER_SPOCK, TX_TUG2_005);
+		showText(TX_SPEAKER_SPOCK, 5, true);
 	else
-		showText(TX_SPEAKER_SPOCK, TX_TUG2_020);
+		showText(TX_SPEAKER_SPOCK, 20, true);
 }
 
 void Room::tug2UseCommunicator() {
@@ -796,47 +796,47 @@ void Room::tug2UseMTricorderOnGuard2() {
 
 void Room::tug2TalkToGuard1() {
 	if (_awayMission->tug.guard1Status == GUARDSTAT_TIED)
-		showText(TX_SPEAKER_ELASI_GUARD, TX_TUG2L086);
+		showText(TX_SPEAKER_ELASI_GUARD, 86, true, true);
 	else if (_awayMission->tug.guard1Status == GUARDSTAT_STUNNED)
-		showText(TX_SPEAKER_MCCOY, TX_TUG2_012);
+		showText(TX_SPEAKER_MCCOY, 12, true);
 }
 
 void Room::tug2TalkToGuard2() {
 	if (_awayMission->tug.guard2Status == GUARDSTAT_TIED)
-		showText(TX_SPEAKER_ELASI_GUARD, TX_TUG2L086);
+		showText(TX_SPEAKER_ELASI_GUARD, 86, true, true);
 	else if (_awayMission->tug.guard2Status == GUARDSTAT_STUNNED)
-		showText(TX_SPEAKER_MCCOY, TX_TUG2_013);
+		showText(TX_SPEAKER_MCCOY, 13, true);
 }
 
 void Room::tug2UseMedkitOnBomb() {
-	showText(TX_SPEAKER_MCCOY, TX_TUG2_017);
+	showText(TX_SPEAKER_MCCOY, 17, true);
 }
 
 void Room::tug2UseMedkitOnGuard1() {
 	if (_awayMission->tug.guard1Status == GUARDSTAT_STUNNED)
-		showText(TX_SPEAKER_MCCOY, TX_TUG2_014);
+		showText(TX_SPEAKER_MCCOY, 14, true);
 }
 
 void Room::tug2UseMedkitOnGuard2() {
 	if (_awayMission->tug.guard2Status == GUARDSTAT_STUNNED)
-		showText(TX_SPEAKER_MCCOY, TX_TUG2_014);
+		showText(TX_SPEAKER_MCCOY, 14, true);
 }
 
 void Room::tug2LookAnywhere() {
 	if (_awayMission->tug.guard1Status == GUARDSTAT_DEAD && _awayMission->tug.guard2Status == GUARDSTAT_DEAD && _awayMission->tug.field35 == 6)
-		showDescription(TX_TUG2N019);
+		showDescription(19, true);
 	else if (_awayMission->tug.guard1Status == GUARDSTAT_DEAD && _awayMission->tug.guard2Status == GUARDSTAT_DEAD && !_awayMission->tug.brigForceFieldDown)
-		showDescription(TX_TUG2N017);
+		showDescription(17, true);
 	else if (_awayMission->tug.guard1Status == GUARDSTAT_STUNNED && _awayMission->tug.guard2Status == GUARDSTAT_STUNNED && _awayMission->tug.field35 == 6)
-		showDescription(TX_TUG2N020);
+		showDescription(20, true);
 	else if (_awayMission->tug.guard1Status == GUARDSTAT_STUNNED && _awayMission->tug.guard2Status == GUARDSTAT_STUNNED && !_awayMission->tug.brigForceFieldDown)
-		showDescription(TX_TUG2N018);
+		showDescription(18, true);
 	else if (_awayMission->tug.guard1Status == GUARDSTAT_STUNNED && _awayMission->tug.guard2Status == GUARDSTAT_STUNNED && _awayMission->tug.brigForceFieldDown)
-		showDescription(TX_TUG2N021);
+		showDescription(21, true);
 	else if (_awayMission->tug.guard1Status == GUARDSTAT_DEAD && _awayMission->tug.guard2Status == GUARDSTAT_DEAD && _awayMission->tug.brigForceFieldDown)
-		showDescription(TX_TUG2N022);
+		showDescription(22, true);
 	else
-		showDescription(TX_TUG2N023);
+		showDescription(23, true);
 }
 
 void Room::tug2TalkToBrig() {
@@ -845,12 +845,12 @@ void Room::tug2TalkToBrig() {
 
 	if (_awayMission->tug.brigForceFieldDown && !_awayMission->tug.talkedToBrigCrewman) {
 		loadActorAnim2(OBJECT_BRIG, "fld10d", 0, 0, 0);
-		showText(TX_SPEAKER_MASADA_CREWMAN, TX_TUG2_026);
+		showText(TX_SPEAKER_MASADA_CREWMAN, 26, true);
 		_awayMission->tug.talkedToBrigCrewman = true;
 	}
 
 	if (_awayMission->tug.brigForceFieldDown && _awayMission->tug.talkedToBrigCrewman)
-		showText(TX_SPEAKER_MASADA_CREWMAN, TX_TUG2_027);
+		showText(TX_SPEAKER_MASADA_CREWMAN, 27, true);
 	else if (!_awayMission->tug.brigForceFieldDown)
 		mccoyScan(DIR_E, TX_TUG2_015, true);
 }
diff --git a/engines/startrek/rooms/tug3.cpp b/engines/startrek/rooms/tug3.cpp
index 9fd2a07..6374983 100644
--- a/engines/startrek/rooms/tug3.cpp
+++ b/engines/startrek/rooms/tug3.cpp
@@ -54,7 +54,7 @@ void Room::tug3Tick40() {
 }
 
 void Room::tug3LookAnywhere() {
-	showDescription(TX_TUG3N007);
+	showDescription(7, true);
 }
 
 void Room::tug3ElasiSurrendered() {
@@ -102,7 +102,7 @@ void Room::tug3ElasiDrawPhasers() {
 
 	// If brig guards are alive & untied, kill the hostages
 	if (_awayMission->tug.guard1Status == 0 || _awayMission->tug.guard2Status == 0) {
-		showText(TX_SPEAKER_ELASI_CLANSMAN, TX_TUG3L081);
+		showText(TX_SPEAKER_ELASI_CLANSMAN, 81, true, true);
 		_awayMission->tug.missionScore = 0;
 	}
 
@@ -226,16 +226,16 @@ void Room::tug3TalkToElasi1() {
 
 	const TextRef choices[] = {
 		TX_SPEAKER_KIRK,
-		TX_TUG3_004,
-		TX_TUG3_003,
-		TX_TUG3_002,
+		4,
+		3,
+		2,
 		TX_BLANK
 	};
-	int choice = showMultipleTexts(choices);
+	int choice = showMultipleTexts(choices, true);
 
 	switch (choice) {
 	case 0: // They surrender
-		showText(TX_SPEAKER_ELASI_CERETH, TX_TUG3L084);
+		showText(TX_SPEAKER_ELASI_CERETH, 84, true, true);
 		_awayMission->tug.bridgeElasi1Status = GUARDSTAT_SURRENDERED;
 		loadActorAnim2(OBJECT_ELASI_1, "p1surr", -1, -1, 0);
 		tug3ElasiSurrendered();
@@ -252,7 +252,7 @@ void Room::tug3TalkToElasi1() {
 
 	case 2: // Cereth shoots console and surrenders
 		_awayMission->disableInput = true;
-		showText(TX_SPEAKER_ELASI_CERETH, TX_TUG3L083);
+		showText(TX_SPEAKER_ELASI_CERETH, 83, true, true);
 		loadActorAnim2(OBJECT_ELASI_1, "p1draw", -1, -1, 5);
 
 		// BUGFIX: they're going to surrender, so stop the firefight.
@@ -282,7 +282,7 @@ void Room::tug3Elasi1DrewPhaser2() {
 }
 
 void Room::tug3Elasi1ShotConsoleAndSurrenders() {
-	showText(TX_SPEAKER_ELASI_CERETH, TX_TUG3L080);
+	showText(TX_SPEAKER_ELASI_CERETH, 80, true, true);
 	tug3ElasiSurrendered();
 	_awayMission->disableInput = false;
 	_awayMission->tug.bridgeWinMethod = 3;
@@ -290,15 +290,15 @@ void Room::tug3Elasi1ShotConsoleAndSurrenders() {
 }
 
 void Room::tug3LookAtMccoy() {
-	showDescription(TX_TUG3N000);
+	showDescription(0, true);
 }
 
 void Room::tug3LookAtSpock() {
-	showDescription(TX_TUG3N002);
+	showDescription(2, true);
 }
 
 void Room::tug3LookAtRedshirt() {
-	showDescription(TX_TUG3N001);
+	showDescription(1, true);
 }
 
 void Room::tug3LookAtElasi1() {
@@ -309,61 +309,61 @@ void Room::tug3LookAtElasi1() {
 	// instead of just checking if he's stunned.
 
 	if (_awayMission->tug.bridgeElasi1Status == GUARDSTAT_STUNNED || _awayMission->tug.bridgeElasi1Status == GUARDSTAT_DEAD)
-		showDescription(TX_TUG3N003);
+		showDescription(3, true);
 	else
-		showDescription(TX_TUG3N008);
+		showDescription(8, true);
 }
 
 void Room::tug3LookAtElasi2() {
 	// BUGFIX: also check if stunned. They can't "glare at the crewmembers" if they're
 	// unconscious. (applies to below functions too.)
 	if (_awayMission->tug.bridgeElasi2Status == GUARDSTAT_DEAD || _awayMission->tug.bridgeElasi2Status == GUARDSTAT_STUNNED)
-		showDescription(TX_TUG3N004);
+		showDescription(4, true);
 	else
-		showDescription(TX_TUG3N005);
+		showDescription(5, true);
 }
 
 void Room::tug3LookAtElasi3() {
 	if (_awayMission->tug.bridgeElasi3Status == GUARDSTAT_DEAD || _awayMission->tug.bridgeElasi2Status == GUARDSTAT_STUNNED)
-		showDescription(TX_TUG3N004);
+		showDescription(4, true);
 	else
-		showDescription(TX_TUG3N005);
+		showDescription(5, true);
 }
 
 void Room::tug3LookAtElasi4() {
 	if (_awayMission->tug.bridgeElasi4Status == GUARDSTAT_DEAD || _awayMission->tug.bridgeElasi2Status == GUARDSTAT_STUNNED)
-		showDescription(TX_TUG3N004);
+		showDescription(4, true);
 	else
-		showDescription(TX_TUG3N005);
+		showDescription(5, true);
 }
 
 void Room::tug3TalkToMccoy() {
 	if (_awayMission->tug.orbitalDecayCounter != 0 || _awayMission->tug.bridgeElasi1Status != GUARDSTAT_UP) {
 		if (_awayMission->tug.orbitalDecayCounter >= 10) {
 			if (_awayMission->tug.orbitalDecayCounter < 16)
-				showText(TX_SPEAKER_MCCOY, TX_TUG3_011);
+				showText(TX_SPEAKER_MCCOY, 11, true);
 		} else if (_awayMission->tug.orbitalDecayCounter != 0) {
 			// BUGFIX: original game displays a blank textbox. An appropriate audio file
 			// exists, but the corresponding text was written from scratch for ScummVM.
 			// TODO: check if original floppy version has text for this.
-			showText(TX_SPEAKER_MCCOY, TX_TUG3_012);
+			showText(TX_SPEAKER_MCCOY, 12, true);
 		}
 	} else
-		showText(TX_SPEAKER_MCCOY, TX_TUG3_013);
+		showText(TX_SPEAKER_MCCOY, 13, true);
 }
 
 void Room::tug3TalkToSpock() {
 	if (_awayMission->tug.orbitalDecayCounter != 0) {
 		if (_awayMission->tug.orbitalDecayCounter >= 10) {
 			if (_awayMission->tug.orbitalDecayCounter < 16)
-				showText(TX_SPEAKER_SPOCK, TX_TUG3_008);
+				showText(TX_SPEAKER_SPOCK, 8, true);
 		} else
-			showText(TX_SPEAKER_SPOCK, TX_TUG3_009);
+			showText(TX_SPEAKER_SPOCK, 9, true);
 	}
 }
 
 void Room::tug3TalkToRedshirt() {
-	showText(TX_SPEAKER_CHRISTENSEN, TX_TUG3L003);
+	showText(TX_SPEAKER_CHRISTENSEN, 3, true, true);
 }
 
 void Room::tug3UseCommunicator() {
@@ -371,8 +371,8 @@ void Room::tug3UseCommunicator() {
 		return;
 
 	if (_awayMission->tug.orbitalDecayCounter < 10) {
-		showText(TX_SPEAKER_KIRK, TX_TUG3_007);
-		showText(TX_SPEAKER_SULU, TX_TUG3_015);
+		showText(TX_SPEAKER_KIRK, 7, true);
+		showText(TX_SPEAKER_SULU, 15, true);
 		showText(TX_SPEAKER_SHIPS_COMPUTER, TX_COMPA180);
 		_awayMission->timers[1] = 0;
 
@@ -388,7 +388,7 @@ void Room::tug3UseCommunicator() {
 		tug3EndMission();
 	} else {
 		if (_awayMission->tug.orbitalDecayCounter < 16) {
-			showText(TX_SPEAKER_KIRK, TX_TUG3_006);
+			showText(TX_SPEAKER_KIRK, 6, true);
 			showText(TX_SPEAKER_SCOTT, TX_TUG3_S07);
 
 			playMidiMusicTracks(-1, -1);
@@ -462,14 +462,14 @@ void Room::tug3Timer1Expired() {
 		_awayMission->timers[1] = 100;
 		_awayMission->tug.orbitalDecayCounter++;
 	} else { // Game over
-		showDescription(TX_TUG3N006);
+		showDescription(6, true);
 		showGameOverMenu();
 	}
 }
 
 void Room::tug3EndMission() {
 	playMidiMusicTracks(28, -1);
-	showText(TX_SPEAKER_KIRK, TX_TUG3_001);
+	showText(TX_SPEAKER_KIRK, 1, true);
 	playSoundEffectIndex(SND_TRANSMAT);
 	loadActorAnim2(OBJECT_13, "rteleb", 0x14, 0xa0, 7);
 	loadActorAnim2(OBJECT_14, "rteleb", 0x118, 0xa0, 0);
@@ -481,7 +481,7 @@ void Room::tug3SecurityTeamBeamedIn() {
 	loadActorAnim2(OBJECT_14, "rdraws", -1, -1, 9);
 	loadActorAnim2(OBJECT_15, "rfiren", -1, -1, 10);
 
-	showText(TX_SPEAKER_KIRK, TX_TUG3_005);
+	showText(TX_SPEAKER_KIRK, 5, true);
 	showText(TX_SPEAKER_SCOTT, TX_TUG3_S08);
 
 	playMidiMusicTracks(-1, -1);
diff --git a/engines/startrek/text.cpp b/engines/startrek/text.cpp
index f1bb2d9..77c74f6 100644
--- a/engines/startrek/text.cpp
+++ b/engines/startrek/text.cpp
@@ -108,196 +108,29 @@ extern const char *const g_gameStrings[] = {
 	"#DEM3\\DEM3_B32#Aieeeee.",
 	"#DEM3\\DEM3_F21#Oh, thank you, kind souls, for saving my life. Let me rest here for a little before returning to report this miracle to Prelate Angiven.",
 
-	"#TUG0\\TUG0_001#I'm going to have a word for you, Spock, if we appear inside the door!",
-	"#TUG0\\TUG0_002#Analysis, Lt. Christensen",
-	"#TUG0\\TUG0_003#Beam us out of here.",
-	"#TUG0\\TUG0_004#Bones, later. Kirk to Enterprise.",
-	"#TUG0\\TUG0_005#Can they be repaired, Spock?",
-	"#TUG0\\TUG0_006#Get what you can from this area -- let's get moving.",
-	"#TUG0\\TUG0_007#I can't see them winning any popularity contests, Bones.",
-	"#TUG0\\TUG0_008#I've always been a gambler, Spock. Figure out what you'll need.",
-	"#TUG0\\TUG0_009#Let's not look too far ahead, Mr. Spock.",
-	"#TUG0\\TUG0_010#Mr. Spock, you're a genius!",
-	"#TUG0\\TUG0_011#Okay, but let's not stay too long in one place.",
-	"#TUG0\\TUG0_012#Provided the Elasi don't have anything to say about it.",
-	"#TUG0\\TUG0_013#Spock, we don't have two days. If we can repair the transporter, we might be able to transport onto the bridge and capture the Elasi.",
-	"#TUG0\\TUG0_014#Captain, I need to find a bit that will fit into the transmogrifier before I can go further with this.",
-	"#TUG0\\TUG0_015#Even our most efficient Chief Engineer Scott would have trouble repairing this damage in less than two days.",
-	"#TUG0\\TUG0_016#Damn it, Jim. I'm a doctor, not a rocket scientist.",
-	"#TUG0\\TUG0_017#He will be all right, but we shouldn't move him.",
-	"#TUG0\\TUG0_018#He's not hurt badly. I can revive him.",
-	"#TUG0\\TUG0_019#I don't think he should be moved, Jim.",
-	"#TUG0\\TUG0_020#Well, at least I'm not picking up residue of any biological weapons.  The Elasi used some restraint if you can call it that.",
-	"#TUG0\\TUG0_021#And any hostages on the bridge will be killed when the bomb goes off! No, Jim, that's inhuman!",
-	"#TUG0\\TUG0_022#I wouldn't go that far, Jim. But I do have to congratulate you, Mr. Spock. Now we can really risk shooting our atoms around the universe. Is this really necessary, Jim?",
-	"#TUG0\\TUG0_023#My God Jim, what have you done! You killed them all. You probably blew up the whole damn bridge.",
-	"#TUG0\\TUG0_024#They can forget about my vote.",
-	"#TUG0\\TUG0_025#Well Jim, there's one thing I can tell you -- I don't like Elasi.",
-	"#TUG0\\TUG0_026#Well, with any luck, you won't have to worry about that for quite some time.",
-	"#TUG0\\TUG0_027#You cold blooded emotionless...",
-	"#TUG0\\TUG0_028#I am registering energy residue from phaser fire and phaser grenade detonations. There are readings of another energy weapon, but the type is unknown.",
-	"#TUG0\\TUG0_029#I attach these here... Now all I need is a spare length of wiring.",
-	"#TUG0\\TUG0_030#I believe this would be in Dr. McCoy's field of expertise.",
-	"#TUG0\\TUG0_031#I strongly recommend that we keep our silence, Captain. The Elasi are quite capable of tracing any communication from within this vessel.",
-	"#TUG0\\TUG0_032#I think that does it -- a Comb Bit for the transmogrifier. Now I can continue repairs on the transporter controls. ",
-	"#TUG0\\TUG0_033#I'll be able to use this later, so I want to keep it -- but I need to get some equipment in here first.",
-	"#TUG0\\TUG0_034#The bits are not long enough, I need a longer piece of wire.",
-	"#TUG0\\TUG0_035#The parts fit together satisfactorily.",
-	"#TUG0\\TUG0_036#Captain, a thorough analysis is required.",
-	"#TUG0\\TUG0_037#Captain, the ship will crash into the planet in 18.32 seconds, I would recommend, leaving the ship immediately.",
-	"#TUG0\\TUG0_038#I can attempt to jury-rig repairs if I can find parts. However, there is only a 67.357 percent probability of success.",
-	"#TUG0\\TUG0_039#The controls are set for just inside the bridge door Captain.",
-	"#TUG0\\TUG0_040#The controls have been virtually destroyed, Captain.",
-	"#TUG0\\TUG0_041#To say nothing of the possible damage to the bridge controls.",
-	"#TUG0\\TUG0_042#When this operation is complete, Captain, we should have Mr. Scott or Transporter Chief Kyle come here to assist with the repairs.",
-	"#TUG0\\TUG0_043#With chief Engineer Scott's assistance, I believe we could get them in perfect working order in two days.",
 	"#TUG0\\TUG0_F30#I suppose I should be grateful to see anyone after that. I thought I was dead.",
 	"#TUG0\\TUG0_F31#Thank you, Doctor. Be careful, Captain, the Elasi like to set boobytraps. if you need any equipment I've got my tools in this workspace.",
 	"#TUG0\\TUG0_S06#Aye Captain.",
 	"#TUG0\\TUG0_S11#Captain, you're alive!",
-	"#TUG0\\TUG0L006#This is just like their raid on Damocles Station, hard, fast, and dirty.",
-	"#TUG0\\TUG0L008#If we could get past the forcefield on the door of the bridge, we should be able to surprise them for sure.",
-	"#TUG0\\TUG0L009#Security analysis, sir: if we transport onto the bridge, we'll have the drop on them -- assuming Mr. Spock has the transporter working porperly.",
-	"#TUG0\\TUG0L010#Since we have a bomb, Captain, we could rearm it, transport it onto the bridge, and perhaps the Elasi will flee into the hallway. Then we could capture them.",
-
-	"#TUG1\\TUG1_001#This is a mess now, isn't it?",
-	"#TUG1\\TUG1_002#A forcefield of unusual configurations has been erected in front of the doorway which leads into the bridge. I don't think it would be healthy to approach too closely, Captain.",
-	"#TUG1\\TUG1_003#I'm getting life readings both on the bridge and in the brig, Jim.",
-	"#TUG1\\TUG1_004#Jim, I can only perform medical miracles not engineering ones.",
-	"#TUG1\\TUG1_005#Jim, I'm picking up 11 life forms in the brig. That accounts for over half the crew. I don't like what that indicates.",
-	"#TUG1\\TUG1_006#Nothing unusual is detected.",
-	"#TUG1\\TUG1_007#The force field is interfering too much to get an accurate reading, Jim.", // TYPO
-	"#TUG1\\TUG1_008#My daddy would have sent me to bed without supper if I'd done something like this.",
-	"#TUG1\\TUG1_009#Five phasers without power packs, a drained phaser welder, insulation and bits of wire, and droplets of cooled molten metal.",
-	"#TUG1\\TUG1_010#I don't think we can bring down that forcefield, Captain. If we could, though, it might be less risky than trying to transport onto the bridge.",
+
+	//"#TUG1\\TUG1_007#The force field is interfering too much to get an accurate reading, Jim.", // TYPO
 	"#TUG1\\TUG1_011#I strongly recommend that we keep our silence, Captain. The Elasi are quite capable of tracing any communication from within this vessel.",
-	"#TUG1\\TUG1_012#I think that does it -- a Comb Bit for the transmogrifier. Now I can continue repairs on the transporter controls. ",
-	"#TUG1\\TUG1_013#If we could find a point to interrupt the flow of power to the field we could gain access to the bridge, Captain.",
-	"#TUG1\\TUG1_014#Strong electromagnetic readings come from the doorway at the far end of the hallway.",
-	"#TUG1\\TUG1_015#That did it. The field is deactivated, Captain.",
-	"#TUG1\\TUG1_016#The field is absorbing the energy.",
-	"#TUG1\\TUG1_017#he parts fit together satisfactorily.",
-	"#TUG1\\TUG1_018#Tricorder readings indicate an indeterminate number of people in the brig. At least 2 are armed with phasers. I recommend caution when entering.",
-	"#TUG1\\TUG1L000#I doubt that our phasers could get through that, Captain.",
-	"#TUG1\\TUG1L005#This corridor provides access to the transporter room, Captain. It is secure.",
-	"#TUG1\\TUG1N000#A tangle of mangled equipment, reduced to junk. There are the remains of five phasers without power packs, a drained phaser welder, and scraps of wire and uncertain bits of metal junk.",
-	"#TUG1\\TUG1N001#According to the deckplans of this class of Starship, this is the entrance to the ship's brig.",
-	"#TUG1\\TUG1N002#Lt. Christensen is carefully watching the hallway",
-	"#TUG1\\TUG1N003#McCoy is fidgeting around.",
-	"#TUG1\\TUG1N004#Phaser Welder is now charged.",
-	"#TUG1\\TUG1N005#Some kind of forcefield appears to cover the door. ",
-	"#TUG1\\TUG1N006#Spock is analyzing the surroundings.",
-	"#TUG1\\TUG1N007#The field has already been deactivated.",
-	"#TUG1\\TUG1N008#The field has already been deactivated",
-	"#TUG1\\TUG1N009#The wire scraps are too small, they melt instead of fusing together, and you're left with nothing. ",
-	"#TUG1\\TUG1N010#This viewscreen/ communication terminal has been damaged beyond repair.",
-	"#TUG1\\TUG1N011#Twisted debris has been scattered along the side of the corridor.",
-	"#TUG1\\TUG1N013#You are in a typical starship corridor.",
-
-
-	"#TUG2\\TUG2_001#My God, what have we done?",
-	"#TUG2\\TUG2_002#They've turned this freighter into a prison barge.",
-	"#TUG2\\TUG2_003#Spock see if you can disarm this.",
+
 	"#TUG2\\TUG2_004#A medium strength phaser bomb. The brig force field would contain the explosion but it would kill the crew members within the cell. I recommend that we find a way of disarming it, Captain.",
-	"#TUG2\\TUG2_005#All of the crewmen are dead, Captain.",
-	"#TUG2\\TUG2_006#Captain, if we could manage to overload the forcefield, it would probably detonate the bomb before we could rescue the crewmen.",
 	"#TUG2\\TUG2_007#Captain, the switch has been booby-trapped to detonate a bomb, presumably inside the brig somewhere.",
-	"#TUG2\\TUG2_008#Captain, this wiring may prove useful in repairing the transporter.",
-	"#TUG2\\TUG2_009#Damn it, Jim, I'm a doctor, not an electrical engineer! I'm likely to blow us all up.",
 	"#TUG2\\TUG2_010#I don't like the looks of this, Jim.",
 	"#TUG2\\TUG2_011#I don't operate on bombs, Jim, unless you like big explosions.",
-	"#TUG2\\TUG2_012#I don't think he is in any shape to respond.",
-	"#TUG2\\TUG2_013#I don't think he is in any shape to respond.",
-	"#TUG2\\TUG2_014#I don't think it would be a good idea to wake them up, Jim.",
 	"#TUG2\\TUG2_015#The crew is tired and has elevated signs from extreme stress, but they will survive.",
 	"#TUG2\\TUG2_016#The pirates won't wake for a while, but they are going to be quite unhappy when they do. I recommend that we not be here when they awake.",
-	"#TUG2\\TUG2_017#These aren't the right tools for the right job, Jim.",
-	"#TUG2\\TUG2_018#We came here to save these people, now look what we've done!",
 	"#TUG2\\TUG2_019#They're all dead, Jim. What in God's name were you thinking?",
-	"#TUG2\\TUG2_020#I see that the Elasi live up to their reputation, Captain.",
-	"#TUG2\\TUG2_021#The parts fit together satisfactorily.",
-	"#TUG2\\TUG2_022#I believe that no diety had any bearing on this doctor, but the Captain should have been more careful. Starfleet will not be pleased by their deaths.",
-	"#TUG2\\TUG2_023#I'll do my best, Captain.",
-	"#TUG2\\TUG2_024#There. I believe the bomb is now defused, Captain.",
-	"#TUG2\\TUG2_025#I'm on your side, Sir!  There's no need to fire at me.",
-	"#TUG2\\TUG2_026#Thank you for freeing us. You'd better take the bridge before they suspect anything is up.",
-	"#TUG2\\TUG2_027#You'd better hurry up or they'll catch on, Sir!",
-	"#TUG2\\TUG2_028#But if you used a charged Phaser Welder two feet to the left of the door and one foot off the ground, you might be able to shut down the forcefield, and get a jump on the Elasi.",
-	"#TUG2\\TUG2_029#Thank you for freeing us, Captain! We'll secure the area so they don't come up behind you.",
-	"#TUG2\\TUG2_030#We've had electrical problems with our door to our bridge, Captain. The Elasi don't know we put in an electric shutdown device -- you'd never find it by chance.",
-	"#TUG2\\TUG2_112#I think that does it -- a Comb Bit for the transmogrifier. Now I can continue repairs on the transporter controls. ",
-	"#TUG2\\TUG2J000#Ouch! That hurt!",
 	"#TUG2\\TUG2J001#Don't you know any better?",
 	"#TUG2\\TUG2J002#What kind of idiot are you?",
 	"#TUG2\\TUG2J003#I recommend extreme caution, Captain. We must be ready to expect anything.",
-	"#TUG2\\TUG2L002#I'm just a security officer, sir.",
-	"#TUG2\\TUG2L004#It's my fault. They did the same thing on Damocles Station... ",
-	"#TUG2\\TUG2L007#I believe I can disarm this, Captain.",
-	"#TUG2\\TUG2L011#There, It's defused.",
-	"#TUG2\\TUG2L085#Hey, what are you doing here?",
-	"#TUG2\\TUG2L086#You imperialist Federation scum!  We will never surrender! Cereth is a great man with a great vision.  I spit upon you.",
-	"#TUG2\\TUG2N000#A bomb located just inside the forcefield.",
-	"#TUG2\\TUG2N001#He doesn't look to friendly.",
-	"#TUG2\\TUG2N002#Kirk falls to the floor stunned.",
-	"#TUG2\\TUG2N003#Kirk seems concerned by what he sees in this room.",
-	"#TUG2\\TUG2N004#Lt. Christensen is fumbling for his phaser",
-	"#TUG2\\TUG2N005#McCoy is looking at the guards.",
-	"#TUG2\\TUG2N006#Phaser Welder is now charged.",
-	"#TUG2\\TUG2N007#Spock raises an eyebrow.",
-	"#TUG2\\TUG2N009#The wire scraps are too small, they melt instead of fusing together, and you're left with nothing. ",
-	"#TUG2\\TUG2N010#These wires look like a modification of some sort.",
-	"#TUG2\\TUG2N011#This appears to be the button that turns the brig forcefield on and off.",
-	"#TUG2\\TUG2N012#This door leads back to the main corridor.",
-	"#TUG2\\TUG2N013#This guard is stunned.",
-	"#TUG2\\TUG2N014#This guard is stunned.",
-	"#TUG2\\TUG2N015#This guard is tied up.",
-	"#TUG2\\TUG2N016#This guard is tied up.",
-	"#TUG2\\TUG2N017#You are in the brig of the Masada. Nine of the crew members are held in the cell. The berets of two dead Elasi guards litter the floor.",
-	"#TUG2\\TUG2N018#You are in the brig of the Masada. Nine of the crew members are held in the cell. Two Elasi guards lie on the floor.",
-	"#TUG2\\TUG2N019#You are in the brig of the Masada. The cell contains the smoldering remains of nine crew members. The berets of two dead Elasi guards litter the floor.",
-	"#TUG2\\TUG2N020#You are in the brig of the Masada. The cell contains the smoldering remains of nine crew members. Two Elasi guards lie on the floor.",
-	"#TUG2\\TUG2N021#You are in the brig of the Masada. The cell is open freeing the nine crew members. Two Elasi guards lie on the floor.",
-	"#TUG2\\TUG2N022#You are in the brig of the Masada. The cell is open freeing the nine crew members. The hats of two dead Elasi guards litter the floor.",
-	"#TUG2\\TUG2N023#You are in the brig of the Masada.",
-	"#TUG2\\TUG2N024#You can't.  it is located just inside the forcefield.",
-	"#TUG2\\TUG2N025#You have been taken captive by Elasi Cereth, and you know Starfleet does not negotiate with terrorists. As you look forward to a long captivity, you wonder who will take over command of the Enterprise. Better luck next time.",
-	"#TUG2\\TUG2N026#You've set off some type of booby trap. The force field protected you from the blast, but everyone inside the brig is dead.",
-	"#TUG2\\TUG2N037#He doesn't look to friendly.",
-	"#TUG2\\TUG2N106#Only the red beret of the elasi guard remains.",
 	"Snip...snip...snip.",
 
-
-	"#TUG3\\TUG3_001#Scotty, beam down a security team to the bridge.  We have regained control.",
-	"#TUG3\\TUG3_002#Check and mate, Elasi. Don't do anything foolish.",
-	"#TUG3\\TUG3_003#Freeze, don't even think about it.",
-	"#TUG3\\TUG3_004#It's over, Cereth. Surrender and I'll guarantee the lives of you and your crew.",
-	"#TUG3\\TUG3_005#Mr. Scott, beam us out of here.",
-	"#TUG3\\TUG3_006#Mr. Scott, get us out of here.",
-	"#TUG3\\TUG3_007#Mr. Sulu, we need some help over here.",
-	"#TUG3\\TUG3_008#Captain, I highly recommend returning to the Enterprise within the next 57.32 seconds.",
-	"#TUG3\\TUG3_009#Captain, I recommend that Mr. Sulu stabilize the Masada's orbit from the Enterprise.",
-	"#TUG3\\TUG3_011#I think we should return to the Enterprise before we burn up, Jim.",
-	"#TUG3\\TUG3_012#I'm a doctor, not a space jockey! Talk to Mr. Sulu about fixing our orbit!",
-	"#TUG3\\TUG3_013#Jim, that man is mad.",
-	"#TUG3\\TUG3_015#Aye, Captain, using prefix code override to stabilize Masada's orbit. Sulu out.",
 	"#TUG3\\TUG3_F27#Foolhardy words, Kirk. You have underestimated me at every turn.",
 	"#TUG3\\TUG3_S07#Aye, Captain.",
 	"#TUG3\\TUG3_S08#Aye, Captain.",
-	"#TUG3\\TUG3L003#I'm just a security officer, sir.",
-	"#TUG3\\TUG3L080#A blow struck for freedom, Captain. Now I surrender.",
-	"#TUG3\\TUG3L081#Bridge to brig, kill the hostages!",
-	"#TUG3\\TUG3L083#I still have a gambit or two left, my friend.",
-	"#TUG3\\TUG3L084#You are an honorable and worthy opponent, Kirk. I accept your offer.",
-	"#TUG3\\TUG3N000#Dr. McCoy appears a bit restless.",
-	"#TUG3\\TUG3N001#Lt. Christensen is carefully observing Elasi.",
-	"#TUG3\\TUG3N002#Spock is analyzing the surroundings.",
-	"#TUG3\\TUG3N003#The body of Elasi Cereth lies on the ground.",
-	"#TUG3\\TUG3N004#The body of the Elasi clanmember lies on the ground here.",
-	"#TUG3\\TUG3N005#The Elasi clanmember glares at the party.",
-	"#TUG3\\TUG3N006#The Masada goes down in a fireball over Beta Myamid, with you on it. Better luck next season.",
-	"#TUG3\\TUG3N007#This is a standard Starfleet bridge, perhaps not as impressive as the one on the Enterprise. There are quite a few pirates here.",
-	"#TUG3\\TUG3N008#You carefully eye the chief lieutenant of the Elasi Clan, Elasi Cereth.",
-
 
 	"#LOV0\\LOV0_001#A medical data file is attached --  your bailiwick, Bones.",
 	"#LOV0\\LOV0_002#Spock, check out the station's computer and see what you can dig up.",
diff --git a/engines/startrek/text.h b/engines/startrek/text.h
index 150ae51..a802123 100644
--- a/engines/startrek/text.h
+++ b/engines/startrek/text.h
@@ -167,196 +167,29 @@ enum GameStringIDs {
 	TX_DEM3_B32,	// unused?
 	TX_DEM3_F21,
 
-	TX_TUG0_001,
-	TX_TUG0_002,
-	TX_TUG0_003,
-	TX_TUG0_004,
-	TX_TUG0_005,
-	TX_TUG0_006,
-	TX_TUG0_007,
-	TX_TUG0_008,
-	TX_TUG0_009,
-	TX_TUG0_010,
-	TX_TUG0_011,
-	TX_TUG0_012,
-	TX_TUG0_013,
-	TX_TUG0_014,
-	TX_TUG0_015,
-	TX_TUG0_016,
-	TX_TUG0_017,
-	TX_TUG0_018,
-	TX_TUG0_019,
-	TX_TUG0_020,
-	TX_TUG0_021,
-	TX_TUG0_022,
-	TX_TUG0_023,
-	TX_TUG0_024,
-	TX_TUG0_025,
-	TX_TUG0_026,
-	TX_TUG0_027,
-	TX_TUG0_028,
-	TX_TUG0_029,
-	TX_TUG0_030,
-	TX_TUG0_031,
-	TX_TUG0_032,
-	TX_TUG0_033,
-	TX_TUG0_034,
-	TX_TUG0_035,
-	TX_TUG0_036,
-	TX_TUG0_037,
-	TX_TUG0_038,
-	TX_TUG0_039,
-	TX_TUG0_040,
-	TX_TUG0_041,
-	TX_TUG0_042,
-	TX_TUG0_043,
 	TX_TUG0_F30,
 	TX_TUG0_F31,
 	TX_TUG0_S06,
 	TX_TUG0_S11,
-	TX_TUG0L006,
-	TX_TUG0L008,
-	TX_TUG0L009,
-	TX_TUG0L010,
-
-	TX_TUG1_001,
-	TX_TUG1_002,
-	TX_TUG1_003,
-	TX_TUG1_004,
-	TX_TUG1_005,
-	TX_TUG1_006,
-	TX_TUG1_007,
-	TX_TUG1_008,
-	TX_TUG1_009,
-	TX_TUG1_010,
+
 	TX_TUG1_011,
-	TX_TUG1_012,
-	TX_TUG1_013,
-	TX_TUG1_014,
-	TX_TUG1_015,
-	TX_TUG1_016,
-	TX_TUG1_017,
-	TX_TUG1_018,
-	TX_TUG1L000,
-	TX_TUG1L005,
-	TX_TUG1N000,
-	TX_TUG1N001,
-	TX_TUG1N002,
-	TX_TUG1N003,
-	TX_TUG1N004,
-	TX_TUG1N005,
-	TX_TUG1N006,
-	TX_TUG1N007,
-	TX_TUG1N008,
-	TX_TUG1N009,
-	TX_TUG1N010,
-	TX_TUG1N011,
-	TX_TUG1N013,
-
-
-	TX_TUG2_001,
-	TX_TUG2_002,
-	TX_TUG2_003,
+
 	TX_TUG2_004,
-	TX_TUG2_005,
-	TX_TUG2_006,
 	TX_TUG2_007,
-	TX_TUG2_008,
-	TX_TUG2_009,
 	TX_TUG2_010,
 	TX_TUG2_011,
-	TX_TUG2_012,
-	TX_TUG2_013,
-	TX_TUG2_014,
 	TX_TUG2_015,
 	TX_TUG2_016,
-	TX_TUG2_017,
-	TX_TUG2_018,
 	TX_TUG2_019,
-	TX_TUG2_020,
-	TX_TUG2_021,
-	TX_TUG2_022,
-	TX_TUG2_023,
-	TX_TUG2_024,
-	TX_TUG2_025,
-	TX_TUG2_026,
-	TX_TUG2_027,
-	TX_TUG2_028,
-	TX_TUG2_029,
-	TX_TUG2_030,
-	TX_TUG2_112,
 	TX_TUG2J000,
 	TX_TUG2J001,
 	TX_TUG2J002,
 	TX_TUG2J003,
-	TX_TUG2L002,
-	TX_TUG2L004,
-	TX_TUG2L007,
-	TX_TUG2L011,
-	TX_TUG2L085,
-	TX_TUG2L086,
-	TX_TUG2N000,
-	TX_TUG2N001,
-	TX_TUG2N002,
-	TX_TUG2N003,
-	TX_TUG2N004,
-	TX_TUG2N005,
-	TX_TUG2N006,
-	TX_TUG2N007,
-	TX_TUG2N009,
-	TX_TUG2N010,
-	TX_TUG2N011,
-	TX_TUG2N012,
-	TX_TUG2N013,
-	TX_TUG2N014,
-	TX_TUG2N015,
-	TX_TUG2N016,
-	TX_TUG2N017,
-	TX_TUG2N018,
-	TX_TUG2N019,
-	TX_TUG2N020,
-	TX_TUG2N021,
-	TX_TUG2N022,
-	TX_TUG2N023,
-	TX_TUG2N024,
-	TX_TUG2N025,
-	TX_TUG2N026,
-	TX_TUG2N037,
-	TX_TUG2N106,
 	TX_TUG2C001, // Custom
 
-
-	TX_TUG3_001,
-	TX_TUG3_002,
-	TX_TUG3_003,
-	TX_TUG3_004,
-	TX_TUG3_005,
-	TX_TUG3_006,
-	TX_TUG3_007,
-	TX_TUG3_008,
-	TX_TUG3_009,
-	TX_TUG3_011,
-	TX_TUG3_012,
-	TX_TUG3_013,
-	TX_TUG3_015,
 	TX_TUG3_F27,
 	TX_TUG3_S07,
 	TX_TUG3_S08,
-	TX_TUG3L003,
-	TX_TUG3L080,
-	TX_TUG3L081,
-	TX_TUG3L083,
-	TX_TUG3L084,
-	TX_TUG3N000,
-	TX_TUG3N001,
-	TX_TUG3N002,
-	TX_TUG3N003,
-	TX_TUG3N004,
-	TX_TUG3N005,
-	TX_TUG3N006,
-	TX_TUG3N007,
-	TX_TUG3N008,
-
 
 	TX_LOV0_001,
 	TX_LOV0_002,





More information about the Scummvm-git-logs mailing list