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

bluegr bluegr at gmail.com
Sun Feb 21 12:35:30 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:
ff6ed65844 STARTREK: Convert more room texts to the new format


Commit: ff6ed658445787b50e7b3455420199dba273b274
    https://github.com/scummvm/scummvm/commit/ff6ed658445787b50e7b3455420199dba273b274
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2021-02-21T14:34:57+02:00

Commit Message:
STARTREK: Convert more room texts to the new format

Changed paths:
    engines/startrek/room.cpp
    engines/startrek/rooms/function_map.h
    engines/startrek/rooms/sins1.cpp
    engines/startrek/rooms/sins2.cpp
    engines/startrek/rooms/sins3.cpp
    engines/startrek/rooms/sins4.cpp
    engines/startrek/rooms/sins5.cpp
    engines/startrek/rooms/veng3.cpp
    engines/startrek/rooms/veng5.cpp


diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index f64bf45b69..37a9a248a9 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -92,11 +92,11 @@ Room::Room(StarTrekEngine *vm, const Common::String &name) : _vm(vm), _awayMissi
 	ADD_ROOM(trial4)
 	ADD_ROOM(trial5)
 	ADD_ROOM(sins0)
-	//ADD_ROOM(sins1)
-	//ADD_ROOM(sins2)
-	//ADD_ROOM(sins3)
-	//ADD_ROOM(sins4)
-	//ADD_ROOM(sins5)
+	ADD_ROOM(sins1)
+	ADD_ROOM(sins2)
+	ADD_ROOM(sins3)
+	ADD_ROOM(sins4)
+	ADD_ROOM(sins5)
 	ADD_ROOM(veng0)
 	ADD_ROOM(veng1)
 	ADD_ROOM(veng2)
diff --git a/engines/startrek/rooms/function_map.h b/engines/startrek/rooms/function_map.h
index 904f9c07a0..d1976c7f8a 100644
--- a/engines/startrek/rooms/function_map.h
+++ b/engines/startrek/rooms/function_map.h
@@ -71,10 +71,10 @@ extern const RoomTextOffsets trialTextOffsets[];
 
 extern const RoomAction sins0ActionList[], sins1ActionList[], sins2ActionList[], sins3ActionList[];
 extern const RoomAction sins4ActionList[], sins5ActionList[];
-extern const RoomTextOffsets sins0TextOffsets[];//, sins1TextOffsets[], sins2TextOffsets[], sins3TextOffsets[];
-//extern const RoomTextOffsets sins4TextOffsets[], sins5TextOffsets[];
-extern const RoomText sins0Texts[];//, sins1Texts[], sins2Texts[], sins3Texts[];
-//extern const RoomText sins4Texts[], sins5Texts[];
+extern const RoomTextOffsets sins0TextOffsets[], sins1TextOffsets[], sins2TextOffsets[], sins3TextOffsets[];
+extern const RoomTextOffsets sins4TextOffsets[], sins5TextOffsets[];
+extern const RoomText sins0Texts[], sins1Texts[], sins2Texts[], sins3Texts[];
+extern const RoomText sins4Texts[], sins5Texts[];
 
 extern const RoomAction veng0ActionList[], veng1ActionList[], veng2ActionList[], veng3ActionList[];
 extern const RoomAction veng4ActionList[], veng5ActionList[], veng6ActionList[], veng7ActionList[];
diff --git a/engines/startrek/rooms/sins1.cpp b/engines/startrek/rooms/sins1.cpp
index f774a92a00..7470f39b97 100644
--- a/engines/startrek/rooms/sins1.cpp
+++ b/engines/startrek/rooms/sins1.cpp
@@ -20,7 +20,6 @@
  *
  */
 
-#if 0
 #include "startrek/room.h"
 
 #define OBJECT_DOOR 8
@@ -89,15 +88,77 @@ extern const RoomAction sins1ActionList[] = {
 };
 
 enum sins1TextIds {
-	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_EVERTS,
+	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_MOSHER,
+	TX_SPEAKER_SCOTT, TX_SPEAKER_UHURA,
+	TX_SIN1_001, TX_SIN1_002, TX_SIN1_003, TX_SIN1_004, TX_SIN1_005,
+	TX_SIN1_006, TX_SIN1_007, TX_SIN1_008, TX_SIN1_009, TX_SIN1_010,
+	TX_SIN1_011, TX_SIN1_012, TX_SIN1_013, TX_SIN1_014, TX_SIN1_015,
+	TX_SIN1_016, TX_SIN1_017, TX_SIN1_018, TX_SIN1_019, TX_SIN1_020,
+	TX_SIN1_021, TX_SIN1_022, TX_SIN1_023, TX_SIN1_024, TX_SIN1_025,
+	TX_SIN1_026, TX_SIN1_027, TX_SIN1_028, TX_SIN1_029, TX_SIN1_030,
+	TX_SIN1_S10, TX_SIN1_S17, TX_SIN1_S18, TX_SIN1_S20, TX_SIN1_S51,
+	TX_SIN1_S85, TX_SIN1U070, TX_SIN1N000, TX_SIN1N001, TX_SIN1N002,
+	TX_SIN1N003, TX_SIN1N004, TX_SIN1N005, TX_SIN1N006, TX_SIN1N007,
+	TX_SIN1N008, TX_SIN1N009, TX_SIN1N010, TX_SIN1N011
 };
 
 // TODO: Finish floppy offsets
 extern const RoomTextOffsets sins1TextOffsets[] = {
-	//{ TX_SPEAKER_KIRK, 2597, 0 },
-	//{ TX_SPEAKER_MCCOY, 2622, 0 },
-	//{ TX_SPEAKER_SPOCK, 2632, 0 },
-	//{ TX_SPEAKER_EVERTS, 2642, 0 },
+	{ TX_SPEAKER_KIRK, 300, 0 },
+	{ TX_SPEAKER_MCCOY, 312, 0 },
+	{ TX_SPEAKER_SPOCK, 322, 0 },
+	{ TX_SPEAKER_MOSHER, 332, 0 },
+	{ TX_SPEAKER_SCOTT, 356, 0 },
+	{ TX_SPEAKER_UHURA, 346, 0 },
+	{ TX_SIN1_001, 2352, 0 },
+	{ TX_SIN1_002, 5887, 0 },
+	{ TX_SIN1_003, 4101, 0 },
+	{ TX_SIN1_004, 6100, 0 },
+	{ TX_SIN1_005, 3891, 0 },
+	{ TX_SIN1_006, 4283, 0 },
+	{ TX_SIN1_007, 3659, 0 },
+	{ TX_SIN1_008, 5648, 0 },
+	{ TX_SIN1_009, 1571, 0 },
+	{ TX_SIN1_010, 1341, 0 },
+	{ TX_SIN1_011, 2860, 0 },
+	{ TX_SIN1_012, 2268, 0 },
+	{ TX_SIN1_013, 6436, 0 },
+	{ TX_SIN1_014, 6257, 0 },
+	{ TX_SIN1_015, 4577, 0 },
+	{ TX_SIN1_016, 3301, 0 },
+	{ TX_SIN1_017, 3034, 0 },
+	{ TX_SIN1_018, 3428, 0 },
+	{ TX_SIN1_019, 1682, 0 },
+	{ TX_SIN1_020, 1162, 0 },
+	{ TX_SIN1_021, 1454, 0 },
+	{ TX_SIN1_022, 1900, 0 },
+	{ TX_SIN1_023, 1980, 0 },
+	{ TX_SIN1_024, 1801, 0 },
+	{ TX_SIN1_025, 4455, 0 },
+	{ TX_SIN1_026, 4813, 0 },
+	{ TX_SIN1_027, 4365, 0 },
+	{ TX_SIN1_028, 2195, 0 },
+	{ TX_SIN1_029, 4970, 0 },
+	{ TX_SIN1_030, 4713, 0 },
+	{ TX_SIN1_S10, 3583, 0 },
+	{ TX_SIN1_S17, 4180, 0 },
+	{ TX_SIN1_S18, 3706, 0 },
+	{ TX_SIN1_S20, 6016, 0 },
+	{ TX_SIN1_S51, 5702, 0 },
+	{ TX_SIN1_S85, 3974, 0 },
+	{ TX_SIN1U070, 6169, 0 },
+	{ TX_SIN1N000, 5548, 0 },
+	{ TX_SIN1N001, 738, 0 },
+	{ TX_SIN1N002, 5366, 0 },
+	{ TX_SIN1N003, 1014, 0 },
+	{ TX_SIN1N004, 5131, 0 },
+	{ TX_SIN1N005, 5023, 0 },
+	{ TX_SIN1N006, 5266, 0 },
+	{ TX_SIN1N007, 2065, 0 },
+	{ TX_SIN1N008, 5477, 0 },
+	{ TX_SIN1N009, 813, 0 },
+	{ TX_SIN1N010, 893, 0 },
+	{ TX_SIN1N011, 1089, 0 },
 	{          -1, 0,    0 }
 };
 
@@ -133,74 +194,71 @@ void Room::sins1Tick1() {
 }
 
 void Room::sins1LookAnywhere() {
-	showDescription(1);
+	showDescription(TX_SIN1N001);
 }
 
 void Room::sins1LookAtLock() {
-	showDescription(9);
+	showDescription(TX_SIN1N009);
 }
 
 void Room::sins1LookAtDoor() {
 	// NOTE: This function had two implementations (one unused).
-	if (true)
-		showDescription(10);
-	else
-		showDescription(8);
+	showDescription(TX_SIN1N010);
 }
 
 void Room::sins1LookAtPanel() {
-	showDescription(3);
+	showDescription(TX_SIN1N003);
 }
 
 void Room::sins1LookAtKeypad() {
-	showDescription(11);
+	showDescription(TX_SIN1N011);
 }
 
 void Room::sins1UseSTricorderOnPanel() {
-	spockScan(DIR_N, 10, false);
+	spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN1_010);
 }
 
 void Room::sins1UseSTricorderOnKeypad() {
-	spockScan(DIR_N, 21, false);
+	spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN1_021);
 }
 
 void Room::sins1UseSTricorderOnLock() {
-	spockScan(DIR_N, 9, false);
+	spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN1_009);
 }
 
 void Room::sins1UseSTricorderOnDoor() {
 	if (!_awayMission->sins.openedOuterDoor)
-		spockScan(DIR_N, 19, false);
+		spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN1_019);
 }
 
 void Room::sins1UseSTricorderAnywhere() {
-	spockScan(DIR_S, 24, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN1_024);
 }
 
 void Room::sins1UseSTricorderOnLens() {
 	if (!_awayMission->sins.doorLaserFiredOnce)
-		spockScan(DIR_N, 22, false);
+		spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN1_022);
 	else // BUGFIX: Original didn't do the tricorder animation, etc. in this case
-		spockScan(DIR_N, 23, false);
+		spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN1_023);
 }
 
 void Room::sins1UseRockOnDoor() {
-	showDescription(7);
+	showDescription(TX_SIN1N007);
 }
 
 void Room::sins1UseRedshirtOnKeypad() {
 	if (!_awayMission->sins.openedOuterDoor)
-		showText(TX_SPEAKER_MOSHER, 28);
+		showText(TX_SPEAKER_MOSHER, TX_SIN1_028);
 }
 
 void Room::sins1UseMccoyOnKeypad() {
 	if (!_awayMission->sins.openedOuterDoor)
-		showText(TX_SPEAKER_MCCOY, 12);
+		showText(TX_SPEAKER_MCCOY, TX_SIN1_012);
 }
 
 void Room::sins1UseKirkOnKeypad() {
 	if (!_awayMission->sins.openedOuterDoor) {
-		showText(TX_SPEAKER_KIRK, 1);
+		showText(TX_SPEAKER_KIRK, TX_SIN1_001);
 		sins1UseSpockOnKeypad();
 	}
 }
@@ -244,13 +302,13 @@ void Room::sins1EnteredCorrectCode() {
 }
 
 void Room::sins1DoorDoneOpening() {
-	showText(TX_SPEAKER_SPOCK, 11);
+	showText(TX_SPEAKER_SPOCK, TX_SIN1_011);
 }
 
 void Room::sins1EnteredIncorrectCode() {
 	_awayMission->crewDirectionsAfterWalk[OBJECT_SPOCK] = DIR_W;
 	walkCrewman(OBJECT_SPOCK, 0xf3, 0xad);
-	showText(TX_SPEAKER_SPOCK, 17);
+	showText(TX_SPEAKER_SPOCK, TX_SIN1_017);
 }
 
 void Room::sins1EnteredSacredSofNumber() {
@@ -262,12 +320,12 @@ void Room::sins1EnteredSacredSofNumber() {
 }
 
 void Room::sins1UsePhaserOnDoor() {
-	showText(TX_SPEAKER_SPOCK, 16);
+	showText(TX_SPEAKER_SPOCK, TX_SIN1_016);
 }
 
 void Room::sins1DoorUsedLaser() {
 	loadActorStandAnim(OBJECT_9);
-	showText(TX_SPEAKER_SPOCK, 18);
+	showText(TX_SPEAKER_SPOCK, TX_SIN1_018);
 
 	_awayMission->sins.field33 = true;
 	_awayMission->sins.doorLaserFiredOnce = true;
@@ -275,13 +333,13 @@ void Room::sins1DoorUsedLaser() {
 
 void Room::sins1Tick40() {
 	if (!_awayMission->sins.scottyInformedKirkAboutVirus) {
-		showText(TX_SPEAKER_SCOTT_GLOBAL, 10 + SCOTTY_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_KIRK,  7);
-		showText(TX_SPEAKER_SCOTT_GLOBAL, 18 + SCOTTY_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_KIRK,  5);
-		showText(TX_SPEAKER_SCOTT_GLOBAL, 85 + SCOTTY_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_KIRK,  3);
-		showText(TX_SPEAKER_SCOTT_GLOBAL, 17 + SCOTTY_MESSAGE_OFFSET);
+		showText(TX_SPEAKER_SCOTT, TX_SIN1_S10);
+		showText(TX_SPEAKER_KIRK,  TX_SIN1_007);
+		showText(TX_SPEAKER_SCOTT, TX_SIN1_S18);
+		showText(TX_SPEAKER_KIRK,  TX_SIN1_005);
+		showText(TX_SPEAKER_SCOTT, TX_SIN1_S85);
+		showText(TX_SPEAKER_KIRK,  TX_SIN1_003);
+		showText(TX_SPEAKER_SCOTT, TX_SIN1_S17);
 
 		_awayMission->sins.scottyInformedKirkAboutVirus = true;
 		_awayMission->disableInput = false;
@@ -289,67 +347,64 @@ void Room::sins1Tick40() {
 }
 
 void Room::sins1TalkToKirk() {
-	showText(TX_SPEAKER_KIRK,  6);
-	showText(TX_SPEAKER_SPOCK, 27);
+	showText(TX_SPEAKER_KIRK,  TX_SIN1_006);
+	showText(TX_SPEAKER_SPOCK, TX_SIN1_027);
 }
 
 void Room::sins1TalkToSpock() {
 	// NOTE: This function has two implementations. The first (used) one talks about where
 	// the energy source is coming from. The second (unused) one says to "carefully
 	// consider what we know about this culture".
-	if (true)
-		showText(TX_SPEAKER_SPOCK, 20);
-	else
-		showText(TX_SPEAKER_SPOCK, 25);
+	showText(TX_SPEAKER_SPOCK, TX_SIN1_020);
 }
 
 void Room::sins1TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, 15);
+	showText(TX_SPEAKER_MCCOY, TX_SIN1_015);
 }
 
 void Room::sins1TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, 30);
-	showText(TX_SPEAKER_SPOCK,  26);
-	showText(TX_SPEAKER_MOSHER, 29);
+	showText(TX_SPEAKER_MOSHER, TX_SIN1_030);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN1_026);
+	showText(TX_SPEAKER_MOSHER, TX_SIN1_029);
 }
 
 void Room::sins1LookAtKirk() {
-	showDescription(5);
+	showDescription(TX_SIN1N005);
 }
 
 void Room::sins1LookAtSpock() {
-	showDescription(4);
+	showDescription(TX_SIN1N004);
 }
 
 void Room::sins1LookAtMccoy() {
-	showDescription(6);
+	showDescription(TX_SIN1N006);
 }
 
 void Room::sins1LookAtRedshirt() {
-	showDescription(2);
+	showDescription(TX_SIN1N002);
 }
 
 void Room::sins1LookAtLens() {
-	showDescription(0);
+	showDescription(TX_SIN1N000);
 }
 
 void Room::sins1UseCommunicator() {
 	if (!_awayMission->sins.enteredRoom2FirstTime) {
-		showText(TX_SPEAKER_KIRK,  8);
-		showText(TX_SPEAKER_SCOTT_GLOBAL, 51 + SCOTTY_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_KIRK,  2);
-		showText(TX_SPEAKER_SCOTT_GLOBAL, 20 + SCOTTY_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_KIRK,  4);
+		showText(TX_SPEAKER_KIRK,  TX_SIN1_008);
+		showText(TX_SPEAKER_SCOTT, TX_SIN1_S51);
+		showText(TX_SPEAKER_KIRK,  TX_SIN1_002);
+		showText(TX_SPEAKER_SCOTT, TX_SIN1_S20);
+		showText(TX_SPEAKER_KIRK,  TX_SIN1_004);
 	} else
-		showText(TX_SPEAKER_UHURA_GLOBAL, 70);
+		showText(TX_SPEAKER_UHURA, TX_SIN1U070);
 }
 
 void Room::sins1UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, 14);
+	showText(TX_SPEAKER_MCCOY, TX_SIN1_014);
 }
 
 void Room::sins1UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, 13, false);
+	mccoyScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN1_013);
 }
 
 void Room::sins1WalkToDoor() {
@@ -358,4 +413,3 @@ void Room::sins1WalkToDoor() {
 }
 
 }
-#endif
diff --git a/engines/startrek/rooms/sins2.cpp b/engines/startrek/rooms/sins2.cpp
index 1d9b0c47c9..88d81f4e81 100644
--- a/engines/startrek/rooms/sins2.cpp
+++ b/engines/startrek/rooms/sins2.cpp
@@ -20,7 +20,6 @@
  *
  */
 
-#if 0
 #include "startrek/room.h"
 
 #define OBJECT_DOOR 8
@@ -87,15 +86,96 @@ extern const RoomAction sins2ActionList[] = {
 };
 
 enum sins2TextIds {
-	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_EVERTS,
+	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_MOSHER,
+	TX_SPEAKER_SCOTT, TX_SPEAKER_UHURA,
+	TX_SIN2_001, TX_SIN2_002, TX_SIN2_003, TX_SIN2_004, TX_SIN2_005,
+	TX_SIN2_006, TX_SIN2_007, TX_SIN2_008, TX_SIN2_009, TX_SIN2_010,
+	TX_SIN2_012, TX_SIN2_013, TX_SIN2_014, TX_SIN2_015, TX_SIN2_016,
+	TX_SIN2_017, TX_SIN2_019, TX_SIN2_020, TX_SIN2_021, TX_SIN2_022,
+	TX_SIN2_023, TX_SIN2_024, TX_SIN2_025, TX_SIN2_026, TX_SIN2_027,
+	TX_SIN2_028, TX_SIN2_029, TX_SIN2_030, TX_SIN2_031, TX_SIN2_032,
+	TX_SIN2_033, TX_SIN2_034, TX_SIN2_035, TX_SIN2_037, TX_SIN2_038,
+	TX_SIN2_039, TX_SIN2_040, TX_SIN2_041, TX_SIN2_042, TX_SIN2_043,
+	TX_SIN2_044, TX_SIN2_045, TX_SIN2_046, TX_SIN2_047, TX_SIN2_048,
+	TX_SIN2_049, TX_SIN2_050, TX_SIN2_F12, TX_SIN2_F26, TX_SIN2_S05,
+	TX_SIN2_S16, TX_SIN3_008, TX_SIN1U070, TX_SIN2N000, TX_SIN2N001,
+	TX_SIN2N002, TX_SIN2N003, TX_SIN2N004, TX_SIN2N005, TX_SIN2N006,
+	TX_SIN2N007, TX_SIN2N008, TX_SIN2U085, TX_SIN2U096, TX_SIN2U097
 };
 
 // TODO: Finish floppy offsets
 extern const RoomTextOffsets sins2TextOffsets[] = {
-	//{ TX_SPEAKER_KIRK, 2597, 0 },
-	//{ TX_SPEAKER_MCCOY, 2622, 0 },
-	//{ TX_SPEAKER_SPOCK, 2632, 0 },
-	//{ TX_SPEAKER_EVERTS, 2642, 0 },
+	{ TX_SPEAKER_KIRK, 301, 0 },
+	{ TX_SPEAKER_MCCOY, 312, 0 },
+	{ TX_SPEAKER_SPOCK, 322, 0 },
+	{ TX_SPEAKER_MOSHER, 332, 0 },
+	{ TX_SPEAKER_SCOTT, 356, 0 },
+	{ TX_SPEAKER_UHURA, 346, 0 },
+	{ TX_SIN2_001, 4324, 0 },
+	{ TX_SIN2_002, 892, 0 },
+	{ TX_SIN2_003, 6723, 0 },
+	{ TX_SIN2_004, 5869, 0 },
+	{ TX_SIN2_005, 5052, 0 },
+	{ TX_SIN2_006, 8116, 0 },
+	{ TX_SIN2_007, 3070, 0 },
+	{ TX_SIN2_008, 5400, 0 },
+	{ TX_SIN2_009, 3770, 0 },
+	{ TX_SIN2_010, 4811, 0 },
+	{ TX_SIN2_012, 3514, 0 },
+	{ TX_SIN2_013, 8717, 0 },
+	{ TX_SIN2_014, 8458, 0 },
+	{ TX_SIN2_015, 1353, 0 },
+	{ TX_SIN2_016, 6980, 0 },
+	{ TX_SIN2_017, 8296, 0 },
+	{ TX_SIN2_019, 5806, 0 },
+	{ TX_SIN2_020, 2835, 0 },
+	{ TX_SIN2_021, 2303, 0 },
+	{ TX_SIN2_022, 3268, 0 },
+	{ TX_SIN2_023, 7064, 0 },
+	{ TX_SIN2_024, 4683, 0 },
+	{ TX_SIN2_025, 670, 0 },
+	{ TX_SIN2_026, 789, 0 },
+	{ TX_SIN2_027, 4101, 0 },
+	{ TX_SIN2_028, 3933, 0 },
+	{ TX_SIN2_029, 3302, 0 },
+	{ TX_SIN2_030, 7914, 0 },
+	{ TX_SIN2_031, 2586, 0 },
+	{ TX_SIN2_032, 1436, 0 },
+	{ TX_SIN2_033, 2936, 0 },
+	{ TX_SIN2_034, 2372, 0 },
+	{ TX_SIN2_035, 8953, 0 },
+	{ TX_SIN2_037, 3219, 0 },
+	{ TX_SIN2_038, 2687, 0 },
+	{ TX_SIN2_039, 6813, 0 },
+	{ TX_SIN2_040, 2170, 0 },
+	{ TX_SIN2_041, 1974, 0 },
+	{ TX_SIN2_042, 1064, 0 },
+	{ TX_SIN2_043, 1770, 0 },
+	{ TX_SIN2_044, 1127, 0 },
+	{ TX_SIN2_045, 3615, 0 },
+	{ TX_SIN2_046, 8820, 0 },
+	{ TX_SIN2_047, 7328, 0 },
+	{ TX_SIN2_048, 7795, 0 },
+	{ TX_SIN2_049, 7155, 0 },
+	{ TX_SIN2_050, 1639, 0 },
+	{ TX_SIN2_F12, 7608, 0 },
+	{ TX_SIN2_F26, 5591, 0 },
+	{ TX_SIN2_S05, 5116, 0 },
+	{ TX_SIN2_S16, 8179, 0 },
+	{ TX_SIN3_008, 8591, 0 },
+	{ TX_SIN1U070, 8370, 0 },
+	{ TX_SIN2N000, 6119, 0 },
+	{ TX_SIN2N001, 6301, 0 },
+	{ TX_SIN2N002, 6620, 0 },
+	{ TX_SIN2N003, 6359, 0 },
+	{ TX_SIN2N004, 6536, 0 },
+	{ TX_SIN2N005, 6451, 0 },
+	{ TX_SIN2N006, 5948, 0 },
+	{ TX_SIN2N007, 6060, 0 },
+	{ TX_SIN2N008, 7524, 0 },
+	{ TX_SIN2U085, 5252, 0 },
+	{ TX_SIN2U096, 5671, 0 },
+	{ TX_SIN2U097, 5445, 0 },
 	{          -1, 0,    0 }
 };
 
@@ -120,15 +200,15 @@ void Room::sins2Tick1() {
 }
 
 void Room::sins2UsePhaserOnDoor() {
-	showText(TX_SPEAKER_SPOCK, 25);
+	showText(TX_SPEAKER_SPOCK, TX_SIN2_025);
 }
 
 void Room::sins2UseSTricorderAnywhere() {
-	spockScan(DIR_S, 26, true);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN2_026);
 }
 
 void Room::sins2UseKirkOnTerminal() {
-	showText(TX_SPEAKER_KIRK, 2);
+	showText(TX_SPEAKER_KIRK, TX_SIN2_002);
 	sins2UseSpockOnTerminal();
 }
 
@@ -143,56 +223,56 @@ void Room::sins2SpockReachedTerminal() {
 }
 
 void Room::sins2SpockUsedTerminal() {
-	showText(TX_SPEAKER_SPOCK, 42);
-	showText(TX_SPEAKER_SPOCK, 44);
+	showText(TX_SPEAKER_SPOCK, TX_SIN2_042);
+	showText(TX_SPEAKER_SPOCK, TX_SIN2_044);
 
 	if (!_awayMission->sins.gotPointsForAccessingTerminal) {
 		_awayMission->sins.missionScore += 2;
 		_awayMission->sins.gotPointsForAccessingTerminal = true;
 	}
 
-	showText(TX_SPEAKER_MCCOY,  15);
-	showText(TX_SPEAKER_SPOCK,  32);
-	showText(TX_SPEAKER_MOSHER, 50);
-	showText(TX_SPEAKER_SPOCK,  35);
-	showText(TX_SPEAKER_SPOCK,  43);
-	showText(TX_SPEAKER_SPOCK,  41);
-	showText(TX_SPEAKER_SPOCK,  40);
-	showText(TX_SPEAKER_MCCOY,  21);
-	showText(TX_SPEAKER_SPOCK,  34);
-	showText(TX_SPEAKER_SPOCK,  31);
-	showText(TX_SPEAKER_SPOCK,  38);
-	showText(TX_SPEAKER_MCCOY,  20);
-	showText(TX_SPEAKER_SPOCK,  33);
-	showText(TX_SPEAKER_KIRK,    7);
-	showText(TX_SPEAKER_SPOCK,  37);
-	showText(TX_SPEAKER_MCCOY,  22);
-	showText(TX_SPEAKER_SPOCK,  29);
+	showText(TX_SPEAKER_MCCOY,  TX_SIN2_015);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_032);
+	showText(TX_SPEAKER_MOSHER, TX_SIN2_050);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_035);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_043);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_041);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_040);
+	showText(TX_SPEAKER_MCCOY,  TX_SIN2_021);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_034);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_031);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_038);
+	showText(TX_SPEAKER_MCCOY,  TX_SIN2_020);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_033);
+	showText(TX_SPEAKER_KIRK,   TX_SIN2_007);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_037);
+	showText(TX_SPEAKER_MCCOY,  TX_SIN2_022);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN2_029);
 }
 
 void Room::sins2UseMccoyOnTerminal() {
-	showText(TX_SPEAKER_MCCOY, 12);
+	showText(TX_SPEAKER_MCCOY, TX_SIN2_012);
 }
 
 void Room::sins2UseRedshirtOnTerminal() {
-	showText(TX_SPEAKER_MOSHER, 45);
+	showText(TX_SPEAKER_MOSHER, TX_SIN2_045);
 }
 
 void Room::sins2UseSTricorderOnTerminal() {
-	spockScan(DIR_W, 9, false);
+	spockScan(DIR_W, TX_SPEAKER_SPOCK, TX_SIN2_009);
 }
 
 void Room::sins2UseSTricorderOnKeypad() {
-	spockScan(DIR_N, 28, false);
+	spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN2_028);
 }
 
 void Room::sins2UseSTricorderOnDoor() {
-	spockScan(DIR_N, 27, false);
+	spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN2_027);
 }
 
 void Room::sins2UseKirkOnKeypad() {
 	if (!_awayMission->sins.openedInnerDoor) {
-		showText(TX_SPEAKER_KIRK, 01);
+		showText(TX_SPEAKER_KIRK, TX_SIN2_001);
 		sins2UseSpockOnKeypad();
 	}
 }
@@ -228,125 +308,123 @@ void Room::sins2EnteredCorrectCode() {
 }
 
 void Room::sins2EnteredIncorrectCode() {
-	showText(TX_SPEAKER_SPOCK, 24); // BUGFIX: Speaker is spock, not "none"
+	showText(TX_SPEAKER_SPOCK, TX_SIN2_024); // BUGFIX: Speaker is spock, not "none"
 }
 
 void Room::sins2DoorFinishedOpening() {
-	showText(TX_SPEAKER_SPOCK, 10);
+	showText(TX_SPEAKER_SPOCK, TX_SIN2_010);
 }
 
 void Room::sins2Tick40() {
 	if (!_awayMission->sins.enteredRoom2FirstTime) {
 		_awayMission->disableInput = false;
 
-		showText(TX_SPEAKER_KIRK,   5);
-		showText(TX_SPEAKER_SCOTT_GLOBAL,  5 + SCOTTY_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_UHURA_GLOBAL, 85);
-		showText(TX_SPEAKER_KIRK,   8);
-		showText(TX_SPEAKER_UHURA_GLOBAL, 97);
-		showText(TX_SPEAKER_MCCOY, 26 + FOLLOWUP_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_UHURA_GLOBAL, 96);
-		showText(TX_SPEAKER_MCCOY, 19);
-		showText(TX_SPEAKER_KIRK,   4);
+		showText(TX_SPEAKER_KIRK,  TX_SIN2_005);
+		showText(TX_SPEAKER_SCOTT, TX_SIN2_S05);
+		showText(TX_SPEAKER_UHURA, TX_SIN2U085);
+		showText(TX_SPEAKER_KIRK,  TX_SIN2_008);
+		showText(TX_SPEAKER_UHURA, TX_SIN2U097);
+		showText(TX_SPEAKER_MCCOY, TX_SIN2_F26);
+		showText(TX_SPEAKER_UHURA, TX_SIN2U096);
+		showText(TX_SPEAKER_MCCOY, TX_SIN2_019);
+		showText(TX_SPEAKER_KIRK,  TX_SIN2_004);
 
 		_awayMission->sins.enteredRoom2FirstTime = true;
 	}
 }
 
 void Room::sins2LookAnywhere() {
-	showDescription(6);
+	showDescription(TX_SIN2N006);
 }
 
 void Room::sins2LookAtOpenDoor() {
-	showDescription(7);
+	showDescription(TX_SIN2N007);
 }
 
 void Room::sins2LookAtTerminal() {
-	showDescription(0);
+	showDescription(TX_SIN2N000);
 }
 
 void Room::sins2LookAtKeypad() {
-	showDescription(1);
+	showDescription(TX_SIN2N001);
 }
 
 void Room::sins2LookAtKirk() {
-	showDescription(3);
+	showDescription(TX_SIN2N003);
 }
 
 void Room::sins2LookAtSpock() {
-	showDescription(5);
+	showDescription(TX_SIN2N005);
 }
 
 void Room::sins2LookAtMccoy() {
-	showDescription(4);
+	showDescription(TX_SIN2N004);
 }
 
 void Room::sins2LookAtRedshirt() {
-	showDescription(2);
+	showDescription(TX_SIN2N002);
 }
 
 void Room::sins2TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, 3);
+	showText(TX_SPEAKER_KIRK, TX_SIN2_003);
 }
 
 void Room::sins2TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, 39);
-	showText(TX_SPEAKER_MCCOY, 16);
+	showText(TX_SPEAKER_SPOCK, TX_SIN2_039);
+	showText(TX_SPEAKER_MCCOY, TX_SIN2_016);
 }
 
 void Room::sins2TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY,  23);
-	showText(TX_SPEAKER_MOSHER, 49);
+	showText(TX_SPEAKER_MCCOY,  TX_SIN2_023);
+	showText(TX_SPEAKER_MOSHER, TX_SIN2_049);
 }
 
 void Room::sins2TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, 47);
+	showText(TX_SPEAKER_MOSHER, TX_SIN2_047);
 }
 
 void Room::sins2LookAtDoor() {
 	if (!_awayMission->sins.openedInnerDoor)
-		showDescription(8);
+		showDescription(TX_SIN2N008);
 }
 
 void Room::sins2UseSpockOnDoor() {
 	if (!_awayMission->sins.openedInnerDoor) {
-		showText(TX_SPEAKER_SPOCK,  12 + FOLLOWUP_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_MOSHER, 48);
-		showText(TX_SPEAKER_SPOCK,  30);
+		showText(TX_SPEAKER_SPOCK,  TX_SIN2_F12);
+		showText(TX_SPEAKER_MOSHER, TX_SIN2_048);
+		showText(TX_SPEAKER_SPOCK,  TX_SIN2_030);
 	}
 }
 
 void Room::sins2UseCommunicator() {
 	if (!_awayMission->sins.enteredRoom4FirstTime) {
-		showText(TX_SPEAKER_KIRK,  6);
-		showText(TX_SPEAKER_SCOTT_GLOBAL, 16 + SCOTTY_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_MCCOY, 17);
+		showText(TX_SPEAKER_KIRK,  TX_SIN2_006);
+		showText(TX_SPEAKER_SCOTT, TX_SIN2_S16);
+		showText(TX_SPEAKER_MCCOY, TX_SIN2_017);
 	} else
-		showText(TX_SPEAKER_UHURA_GLOBAL, 70);
+		showText(TX_SPEAKER_UHURA, TX_SIN1U070);
 }
 
 void Room::sins2UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, 14);
+	showText(TX_SPEAKER_MCCOY, TX_SIN2_014);
 }
 
 void Room::sins2UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, TX_SIN3_008); // BUGFIX: original game had wrong audio file path
+	mccoyScan(DIR_S, TX_SPEAKER_MCCOY, TX_SIN3_008); // BUGFIX: original game had wrong audio file path
 }
 
 void Room::sins2UseMccoyOnKeypad() {
 	if (!_awayMission->sins.openedInnerDoor)
-		showText(TX_SPEAKER_MCCOY, 13);
+		showText(TX_SPEAKER_MCCOY, TX_SIN2_013);
 }
 
 void Room::sins2UseRedshirtOnKeypad() {
 	if (!_awayMission->sins.openedInnerDoor)
-		showText(TX_SPEAKER_MOSHER, 46);
+		showText(TX_SPEAKER_MOSHER, TX_SIN2_046);
 }
 
 void Room::sins2WalkToDoor() {
 	if (_awayMission->sins.openedInnerDoor)
 		walkCrewman(OBJECT_KIRK, 0x9c, 0x8b);
 }
-
 }
-#endif
diff --git a/engines/startrek/rooms/sins3.cpp b/engines/startrek/rooms/sins3.cpp
index f817682642..d6c1f44659 100644
--- a/engines/startrek/rooms/sins3.cpp
+++ b/engines/startrek/rooms/sins3.cpp
@@ -20,7 +20,6 @@
  *
  */
 
-#if 0
 #include "startrek/room.h"
 
 #define OBJECT_ITEM 8 // The item being "operated" on by the drill
@@ -125,15 +124,74 @@ extern const RoomAction sins3ActionList[] = {
 };
 
 enum sins3TextIds {
-	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_EVERTS,
+	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_MOSHER,
+	TX_SPEAKER_UHURA,
+	TX_SIN3_001, TX_SIN3_002, TX_SIN3_003, TX_SIN3_004, TX_SIN3_005,
+	TX_SIN3_006, TX_SIN3_007, TX_SIN3_008, TX_SIN3_009, TX_SIN3_010,
+	TX_SIN3_011, TX_SIN3_012, TX_SIN3_013, TX_SIN3_014, TX_SIN3_015,
+	TX_SIN3_016, TX_SIN3_017, TX_SIN3_018, TX_SIN3_019, TX_SIN3_020,
+	TX_SIN3_021, TX_SIN3_022, TX_SIN3_023, TX_SIN3_024, TX_SIN3_025,
+	TX_SIN3_026, TX_SIN3_027, TX_SIN3N000, TX_SIN3N001, TX_SIN3N002,
+	TX_SIN3N003, TX_SIN3N004, TX_SIN3N005, TX_SIN3N006, TX_SIN3N007,
+	TX_SIN3N008, TX_SIN3N009, TX_SIN3N010, TX_SIN3N011, TX_SIN3N012,
+	TX_SIN3N013, TX_SIN3N014, TX_SIN3U072,  TX_SIN3_LASERSETTING001,
+	TX_SIN3_LASERSETTING010, TX_SIN3_LASERSETTING100, TX_SIN3_LASERCANCEL
 };
 
 // TODO: Finish floppy offsets
 extern const RoomTextOffsets sins3TextOffsets[] = {
-	//{ TX_SPEAKER_KIRK, 2597, 0 },
-	//{ TX_SPEAKER_MCCOY, 2622, 0 },
-	//{ TX_SPEAKER_SPOCK, 2632, 0 },
-	//{ TX_SPEAKER_EVERTS, 2642, 0 },
+	{ TX_SPEAKER_KIRK, 289, 0 },
+	{ TX_SPEAKER_MCCOY, 300, 0 },
+	{ TX_SPEAKER_SPOCK, 310, 0 },
+	{ TX_SPEAKER_MOSHER, 320, 0 },
+	{ TX_SPEAKER_UHURA, 334, 0 },
+	{ TX_SIN3_001, 3479, 0 },
+	{ TX_SIN3_002, 5966, 0 },
+	{ TX_SIN3_003, 870, 0 },
+	{ TX_SIN3_004, 6675, 0 },
+	{ TX_SIN3_005, 3812, 0 },
+	{ TX_SIN3_006, 4217, 0 },
+	{ TX_SIN3_007, 7257, 0 },
+	{ TX_SIN3_008, 7154, 0 },
+	{ TX_SIN3_009, 6769, 0 },
+	{ TX_SIN3_010, 7021, 0 },
+	{ TX_SIN3_011, 6146, 0 },
+	{ TX_SIN3_012, 3244, 0 },
+	{ TX_SIN3_013, 3392, 0 },
+	{ TX_SIN3_014, 6325, 0 },
+	{ TX_SIN3_015, 1632, 0 },
+	{ TX_SIN3_016, 1346, 0 },
+	{ TX_SIN3_017, 1158, 0 },
+	{ TX_SIN3_018, 1019, 0 },
+	{ TX_SIN3_019, 1518, 0 },
+	{ TX_SIN3_020, 6029, 0 },
+	{ TX_SIN3_021, 4924, 0 },
+	{ TX_SIN3_022, 6477, 0 },
+	{ TX_SIN3_023, 2190, 0 },
+	{ TX_SIN3_024, 3298, 0 },
+	{ TX_SIN3_025, 6885, 0 },
+	{ TX_SIN3_026, 6257, 0 },
+	{ TX_SIN3_027, 6389, 0 },
+	{ TX_SIN3U072, 6611, 0 },
+	{ TX_SIN3N000, 2293, 0 },
+	{ TX_SIN3N001, 5755, 0 },
+	{ TX_SIN3N002, 5836, 0 },
+	{ TX_SIN3N003, 5572, 0 },
+	{ TX_SIN3N004, 5651, 0 },
+	{ TX_SIN3N005, 2434, 0 },
+	{ TX_SIN3N006, 5307, 0 },
+	{ TX_SIN3N007, 1959, 0 },
+	{ TX_SIN3N008, 2358, 0 },
+	{ TX_SIN3N009, 5022, 0 },
+	{ TX_SIN3N010, 5480, 0 },
+	{ TX_SIN3N011, 1881, 0 },
+	{ TX_SIN3N012, 1816, 0 },
+	{ TX_SIN3N013, 2038, 0 },
+	{ TX_SIN3N014, 5404, 0 },
+	{ TX_SIN3_LASERSETTING001, 3605, 0 },
+	{ TX_SIN3_LASERSETTING100, 3675, 0 },
+	{ TX_SIN3_LASERSETTING010, 3640, 0 },
+	{ TX_SIN3_LASERCANCEL, 3710, 0 },
 	{          -1, 0,    0 }
 };
 
@@ -164,57 +222,57 @@ void Room::sins3Tick1() {
 }
 
 void Room::sins3UseSTricorderOnBox() {
-	spockScan(DIR_S, 3, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN3_003);
 }
 
 void Room::sins3UseSTricorderOnMonitor() {
-	spockScan(DIR_N, 18, false);
+	spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN3_018);
 }
 
 void Room::sins3UseSTricorderAnywhere() {
-	spockScan(DIR_S, 17, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN3_017);
 }
 
 void Room::sins3UseSTricorderOnDrill() {
-	spockScan(DIR_E, 16, false);
+	spockScan(DIR_E, TX_SPEAKER_SPOCK, TX_SIN3_016);
 }
 
 void Room::sins3UseSTricorderOnPanel() {
 	if (_awayMission->sins.scannedKeycardLock) {
-		spockScan(DIR_E, 15, false);
+		spockScan(DIR_E, TX_SPEAKER_SPOCK, TX_SIN3_015);
 		_awayMission->sins.laserPattern = 1;
 	} else
-		spockScan(DIR_E, 19, false);
+		spockScan(DIR_E, TX_SPEAKER_SPOCK, TX_SIN3_019);
 }
 
 void Room::sins3LookAtDrill() {
-	showDescription(12);
+	showDescription(TX_SIN3N012);
 }
 
 void Room::sins3LookAtPanel() {
-	showDescription(11);
+	showDescription(TX_SIN3N011);
 }
 
 void Room::sins3LookAtMonitor() {
-	showDescription(7);
+	showDescription(TX_SIN3N007);
 }
 
 void Room::sins3LookAnywhere() {
-	showDescription(13);
+	showDescription(TX_SIN3N013);
 }
 
 void Room::sins3UseSTricorderOnWall() {
 	// NOTE: this event has two implementations (index 23 and 22), one unused.
-	spockScan(DIR_E, 23, false);
+	spockScan(DIR_E, TX_SPEAKER_SPOCK, TX_SIN3_023);
 }
 
 void Room::sins3LookAtBox() {
 	if (_awayMission->sins.boxState == 0)
-		showDescription(0);
+		showDescription(TX_SIN3N000);
 	else if (_awayMission->sins.boxState == 1)
-		showDescription(8);
+		showDescription(TX_SIN3N008);
 	else if (_awayMission->sins.boxState == 2)
-		showDescription(5);
+		showDescription(TX_SIN3N005);
 }
 
 void Room::sins3UseKirkOnBox() {
@@ -307,9 +365,9 @@ void Room::sins3KirkGotBoxContents() {
 
 void Room::sins3Tick30() {
 	if (!_awayMission->sins.enteredRoom3FirstTime) {
-		showText(TX_SPEAKER_MCCOY, 12);
-		showText(TX_SPEAKER_SPOCK, 24);
-		showText(TX_SPEAKER_MCCOY, 13);
+		showText(TX_SPEAKER_MCCOY, TX_SIN3_012);
+		showText(TX_SPEAKER_SPOCK, TX_SIN3_024);
+		showText(TX_SPEAKER_MCCOY, TX_SIN3_013);
 		_awayMission->sins.enteredRoom3FirstTime = true;
 		_awayMission->disableInput = false;
 	}
@@ -317,13 +375,13 @@ void Room::sins3Tick30() {
 
 void Room::sins3Tick60() {
 	if (_awayMission->sins.gatheredClues == 7) {
-		showText(TX_SPEAKER_SPOCK, 7);
+		showText(TX_SPEAKER_SPOCK, TX_SIN3_007);
 		_awayMission->sins.gatheredClues |= 8;
 	}
 }
 
 void Room::sins3UseKirkOnPanel() {
-	showText(TX_SPEAKER_KIRK, 1);
+	showText(TX_SPEAKER_KIRK, TX_SIN3_001);
 	sins3UseSpockOnPanel();
 }
 
@@ -335,7 +393,7 @@ void Room::sins3SpockReachedPanel() {
 	const TextRef choices[] = {
 		TX_SPEAKER_KIRK,
 		TX_SIN3_LASERSETTING001, TX_SIN3_LASERSETTING010, TX_SIN3_LASERSETTING100, TX_SIN3_LASERCANCEL,
-		TX_BLANK
+		TX_END
 	};
 
 	int choice = showMultipleTexts(choices);
@@ -348,7 +406,7 @@ void Room::sins3SpockReachedPanel() {
 		if (_awayMission->sins.laserPattern == 0 && _awayMission->sins.laserSetting == 3)
 			// High setting can't be used until the template pattern has been uploaded to
 			// the machine
-			showText(TX_SPEAKER_SPOCK, 5);
+			showText(TX_SPEAKER_SPOCK, TX_SIN3_005);
 		else if (_awayMission->sins.moldState != -1) {
 			if (_awayMission->sins.moldState == 0) { // Mold not yet created
 				loadActorAnim2(OBJECT_SPOCK, "susemn");
@@ -387,7 +445,7 @@ void Room::sins3SpockReachedPanel() {
 				}
 			} else { // moldState == 2 or 4 (mold created; either keycard is in it, or nothing)
 				// "Template would be damaged from direct fire"
-				showText(TX_SPEAKER_SPOCK, 6);
+				showText(TX_SPEAKER_SPOCK, TX_SIN3_006);
 			}
 		}
 	}
@@ -435,12 +493,12 @@ void Room::sins3RockTurnedIntoIDCard() {
 }
 
 void Room::sins3RockVaporized() {
-	showText(TX_SPEAKER_SPOCK, 21);
+	showText(TX_SPEAKER_SPOCK, TX_SIN3_021);
 }
 
 void Room::sins3UseDrillAnywhere() {
 	// It isn't possible to "use" a hotspot on something else, so this is never called?
-	showDescription(9);
+	showDescription(TX_SIN3N009);
 }
 
 void Room::sins3GetIDCard() {
@@ -464,61 +522,61 @@ void Room::sins3PickedUpIDCard() {
 
 void Room::sins3LookAtItemBeingDrilled() {
 	if (_awayMission->sins.moldState == 2)
-		showDescription(6);
+		showDescription(TX_SIN3N006);
 	else if (_awayMission->sins.moldState == 3)
-		showDescription(14);
+		showDescription(TX_SIN3N014);
 	else if (_awayMission->sins.moldState == 4)
-		showDescription(10);
+		showDescription(TX_SIN3N010);
 }
 
 void Room::sins3LookAtKirk() {
-	showDescription(3);
+	showDescription(TX_SIN3N003);
 }
 
 void Room::sins3LookAtSpock() {
-	showDescription(4);
+	showDescription(TX_SIN3N004);
 }
 
 void Room::sins3LookAtMccoy() {
-	showDescription(1); // BUGFIX: Speaker is "nobody", not Dr. McCoy
+	showDescription(TX_SIN3N001); // BUGFIX: Speaker is "nobody", not Dr. McCoy
 }
 
 void Room::sins3LookAtRedshirt() {
-	showDescription(2);
+	showDescription(TX_SIN3N002);
 }
 
 void Room::sins3TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, 2);
+	showText(TX_SPEAKER_KIRK, TX_SIN3_002);
 }
 
 void Room::sins3TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, 20);
+	showText(TX_SPEAKER_SPOCK, TX_SIN3_020);
 }
 
 void Room::sins3TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, 11);
+	showText(TX_SPEAKER_MCCOY, TX_SIN3_011);
 }
 
 void Room::sins3TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, 26);
-	showText(TX_SPEAKER_MCCOY,  14);
-	showText(TX_SPEAKER_MOSHER, 27);
+	showText(TX_SPEAKER_MOSHER, TX_SIN3_026);
+	showText(TX_SPEAKER_MCCOY,  TX_SIN3_014);
+	showText(TX_SPEAKER_MOSHER, TX_SIN3_027);
 }
 
 void Room::sins3UseCommunicator() {
-	showText(TX_SPEAKER_UHURA_GLOBAL, 72);
+	showText(TX_SPEAKER_UHURA, TX_SIN3U072);
 }
 
 void Room::sins3UseSpockOnDrill() {
-	showText(TX_SPEAKER_SPOCK, 4);
+	showText(TX_SPEAKER_SPOCK, TX_SIN3_004);
 }
 
 void Room::sins3UseMccoyOnDrill() {
-	showText(TX_SPEAKER_MCCOY, 9);
+	showText(TX_SPEAKER_MCCOY, TX_SIN3_009);
 }
 
 void Room::sins3UseRedshirtOnDrill() {
-	showText(TX_SPEAKER_MOSHER, 25);
+	showText(TX_SPEAKER_MOSHER, TX_SIN3_025);
 }
 
 void Room::sins3WalkToDoor() {
@@ -526,12 +584,11 @@ void Room::sins3WalkToDoor() {
 }
 
 void Room::sins3UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, 10);
+	showText(TX_SPEAKER_MCCOY, TX_SIN3_010);
 }
 
 void Room::sins3UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, 8, false);
+	mccoyScan(DIR_S, TX_SPEAKER_MCCOY, TX_SIN3_008);
 }
 
 }
-#endif
diff --git a/engines/startrek/rooms/sins4.cpp b/engines/startrek/rooms/sins4.cpp
index 93e1538481..d7ff83e696 100644
--- a/engines/startrek/rooms/sins4.cpp
+++ b/engines/startrek/rooms/sins4.cpp
@@ -20,7 +20,6 @@
  *
  */
 
-#if 0
 #include "startrek/room.h"
 
 #define OBJECT_NORTH_DOOR 8
@@ -95,15 +94,81 @@ extern const RoomAction sins4ActionList[] = {
 };
 
 enum sins4TextIds {
-	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_EVERTS,
+	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_MOSHER,
+	TX_SPEAKER_UHURA,
+	TX_SIN4_001, TX_SIN4_002, TX_SIN4_003, TX_SIN4_004, TX_SIN4_005,
+	TX_SIN4_006, TX_SIN4_007, TX_SIN4_008, TX_SIN4_009, TX_SIN4_010,
+	TX_SIN4_011, TX_SIN4_012, TX_SIN4_013, TX_SIN4_014, TX_SIN4_015,
+	TX_SIN4_016, TX_SIN4_017, TX_SIN4_018, TX_SIN4_019, TX_SIN4_020,
+	TX_SIN4_021, TX_SIN4_022, TX_SIN4_023, TX_SIN4_024, TX_SIN4_025,
+	TX_SIN4_026, TX_SIN4_027, TX_SIN4_028, TX_SIN4_029, TX_SIN4_030,
+	TX_SIN4_031, TX_SIN4_032, TX_SIN4U073, TX_SIN4U088, TX_SIN4U100,
+	TX_SIN4U103, TX_SIN4U105, TX_SIN4U107, TX_SIN4U83B, TX_SIN4N000,
+	TX_SIN4N001, TX_SIN4N002, TX_SIN4N003, TX_SIN4N004, TX_SIN4N005,
+	TX_SIN4N006, TX_SIN4N007, TX_SIN4N008, TX_SIN4N009, TX_SIN4N010,
+	TX_SIN4N011, TX_SIN4N012, TX_SIN4N013
 };
 
 // TODO: Finish floppy offsets
 extern const RoomTextOffsets sins4TextOffsets[] = {
-	//{ TX_SPEAKER_KIRK, 2597, 0 },
-	//{ TX_SPEAKER_MCCOY, 2622, 0 },
-	//{ TX_SPEAKER_SPOCK, 2632, 0 },
-	//{ TX_SPEAKER_EVERTS, 2642, 0 },
+	{ TX_SPEAKER_KIRK, 289, 0 },
+	{ TX_SPEAKER_MCCOY, 300, 0 },
+	{ TX_SPEAKER_SPOCK, 310, 0 },
+	{ TX_SPEAKER_MOSHER, 320, 0 },
+	{ TX_SPEAKER_UHURA, 334, 0 },
+	{ TX_SIN4_001, 4229, 0 },
+	{ TX_SIN4_002, 5752, 0 },
+	{ TX_SIN4_003, 2846, 0 },
+	{ TX_SIN4_004, 4391, 0 },
+	{ TX_SIN4_005, 3275, 0 },
+	{ TX_SIN4_006, 5595, 0 },
+	{ TX_SIN4_007, 2628, 0 },
+	{ TX_SIN4_008, 1209, 0 },
+	{ TX_SIN4_009, 1086, 0 },
+	{ TX_SIN4_010, 2310, 0 },
+	{ TX_SIN4_011, 5410, 0 },
+	{ TX_SIN4_012, 6602, 0 },
+	{ TX_SIN4_013, 6150, 0 },
+	{ TX_SIN4_014, 6469, 0 },
+	{ TX_SIN4_015, 4545, 0 },
+	{ TX_SIN4_016, 5900, 0 },
+	{ TX_SIN4_017, 4727, 0 },
+	{ TX_SIN4_018, 998, 0 },
+	{ TX_SIN4_019, 4471, 0 },
+	{ TX_SIN4_020, 753, 0 },
+	{ TX_SIN4_021, 2206, 0 },
+	{ TX_SIN4_022, 1670, 0 },
+	{ TX_SIN4_023, 6070, 0 },
+	{ TX_SIN4_024, 4650, 0 },
+	{ TX_SIN4_025, 2795, 0 },
+	{ TX_SIN4_026, 5234, 0 },
+	{ TX_SIN4_027, 4999, 0 },
+	{ TX_SIN4_028, 4288, 0 },
+	{ TX_SIN4_029, 5974, 0 },
+	{ TX_SIN4_030, 6209, 0 },
+	{ TX_SIN4_031, 4812, 0 },
+	{ TX_SIN4_032, 5154, 0 },
+	{ TX_SIN4U073, 5836, 0 },
+	{ TX_SIN4U088, 2554, 0 },
+	{ TX_SIN4U100, 5521, 0 },
+	{ TX_SIN4U103, 2672, 0 },
+	{ TX_SIN4U105, 3134, 0 },
+	{ TX_SIN4U107, 2982, 0 },
+	{ TX_SIN4U83B, 5690, 0 },
+	{ TX_SIN4N000, 3857, 0 },
+	{ TX_SIN4N001, 3665, 0 },
+	{ TX_SIN4N002, 3389, 0 },
+	{ TX_SIN4N003, 3566, 0 },
+	{ TX_SIN4N004, 3480, 0 },
+	{ TX_SIN4N005, 3972, 0 },
+	{ TX_SIN4N006, 1354, 0 },
+	{ TX_SIN4N007, 4160, 0 },
+	{ TX_SIN4N008, 4091, 0 },
+	{ TX_SIN4N009, 1836, 0 },
+	{ TX_SIN4N010, 1927, 0 },
+	{ TX_SIN4N011, 2105, 0 },
+	{ TX_SIN4N012, 1619, 0 },
+	{ TX_SIN4N013, 2011, 0 },
 	{          -1, 0,    0 }
 };
 
@@ -124,32 +189,32 @@ void Room::sins4Tick1() {
 }
 
 void Room::sins4UseSTricorderOnPanel() {
-	spockScan(DIR_N, 20, false);
+	spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN4_020);
 	_awayMission->sins.scannedKeycardLock = true;
 	_awayMission->sins.gatheredClues |= 4;
 
 	if (_awayMission->sins.gatheredClues == 7) {
-		showText(TX_SPEAKER_SPOCK, 10);
+		showText(TX_SPEAKER_SPOCK, TX_SIN4_010);
 		_awayMission->sins.gatheredClues |= 8;
 	}
 }
 
 void Room::sins4UseSpockOnPanel() {
-	// NOTE: two implementations of this function (index 18 and 21), one unused
-	showText(TX_SPEAKER_SPOCK, 18);
+	// NOTE: two implementations of this function, one unused
+	showText(TX_SPEAKER_SPOCK, TX_SIN4_018);
 }
 
 void Room::sins4UsePhaserOnNorthDoor() {
-	showText(TX_SPEAKER_SPOCK, 9);
+	showText(TX_SPEAKER_SPOCK, TX_SIN4_009);
 }
 
 void Room::sins4UsePhaserOnPanel() {
-	showText(TX_SPEAKER_SPOCK, 8);
+	showText(TX_SPEAKER_SPOCK, TX_SIN4_008);
 }
 
 void Room::sins4UseIDCardOnPanel() {
 	if (_awayMission->sins.unlockedIDCardDoor)
-		showDescription(6);
+		showDescription(TX_SIN4N006);
 	else
 		walkCrewmanC(OBJECT_KIRK, 0xb8, 0x86, &Room::sins4KirkReachedPanel);
 }
@@ -177,106 +242,106 @@ void Room::sins4KirkReachedPanelWithRock() {
 }
 
 void Room::sins4KirkUsedRockOnPanel() {
-	showDescription(12);
-	showText(TX_SPEAKER_SPOCK, 22);
+	showDescription(TX_SIN4N012);
+	showText(TX_SPEAKER_SPOCK, TX_SIN4_022);
 
 	if (_awayMission->sins.gatheredClues == 7) {
-		showText(TX_SPEAKER_SPOCK, 10);
+		showText(TX_SPEAKER_SPOCK, TX_SIN4_010);
 		_awayMission->sins.gatheredClues |= 8;
 	}
 }
 
 void Room::sins4LookAtWestDoor() {
-	showDescription(9);
+	showDescription(TX_SIN4N009);
 }
 
 void Room::sins4LookAtEastDoor() {
-	showDescription(10);
+	showDescription(TX_SIN4N010);
 }
 
 void Room::sins4LookAnywhere() {
-	showDescription(13);
+	showDescription(TX_SIN4N013);
 }
 
 void Room::sins4LookAtPanel() {
-	showDescription(11);
+	showDescription(TX_SIN4N011);
 }
 
 void Room::sins4Tick40() {
 	if (!_awayMission->sins.enteredRoom4FirstTime) {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_UHURA_GLOBAL, 88);
-		showText(TX_SPEAKER_KIRK,  7);
-		showText(TX_SPEAKER_UHURA_GLOBAL, 103);
-		showText(TX_SPEAKER_SPOCK, 25);
-		showText(TX_SPEAKER_KIRK,  3);
-		showText(TX_SPEAKER_UHURA_GLOBAL, 107);
-		showText(TX_SPEAKER_UHURA_GLOBAL, 105);
-		showText(TX_SPEAKER_KIRK,  5);
+		showText(TX_SPEAKER_UHURA, TX_SIN4U088);
+		showText(TX_SPEAKER_KIRK,  TX_SIN4_007);
+		showText(TX_SPEAKER_UHURA, TX_SIN4U103);
+		showText(TX_SPEAKER_SPOCK, TX_SIN4_025);
+		showText(TX_SPEAKER_KIRK,  TX_SIN4_003);
+		showText(TX_SPEAKER_UHURA, TX_SIN4U107);
+		showText(TX_SPEAKER_UHURA, TX_SIN4U105);
+		showText(TX_SPEAKER_KIRK,  TX_SIN4_005);
 		_awayMission->sins.enteredRoom4FirstTime = true;
 	}
 }
 
 void Room::sins4LookAtKirk() {
-	showDescription(2);
+	showDescription(TX_SIN4N002);
 }
 
 void Room::sins4LookAtSpock() {
-	showDescription(4);
+	showDescription(TX_SIN4N004);
 }
 
 void Room::sins4LookAtMccoy() {
-	showDescription(3);
+	showDescription(TX_SIN4N003);
 }
 
 void Room::sins4LookAtRedshirt() {
-	showDescription(1);
+	showDescription(TX_SIN4N001);
 }
 
 void Room::sins4LookAtLight() {
-	showDescription(0);
+	showDescription(TX_SIN4N000);
 }
 
 void Room::sins4LookAtBeam() {
-	showDescription(5);
+	showDescription(TX_SIN4N005);
 }
 
 void Room::sins4LookAtOpenNorthDoor() {
-	showDescription(8);
+	showDescription(TX_SIN4N008);
 }
 
 void Room::sins4LookAtClosedNorthDoor() {
-	showDescription(7);
+	showDescription(TX_SIN4N007);
 }
 
 void Room::sins4TalkToKirk() {
-	showText(TX_SPEAKER_KIRK,  1);
-	showText(TX_SPEAKER_SPOCK, 28);
-	showText(TX_SPEAKER_KIRK,  4);
+	showText(TX_SPEAKER_KIRK,  TX_SIN4_001);
+	showText(TX_SPEAKER_SPOCK, TX_SIN4_028);
+	showText(TX_SPEAKER_KIRK,  TX_SIN4_004);
 }
 
 void Room::sins4TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, 19);
+	showText(TX_SPEAKER_SPOCK, TX_SIN4_019);
 }
 
 void Room::sins4TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, 15);
-	showText(TX_SPEAKER_SPOCK, 24);
-	showText(TX_SPEAKER_MCCOY, 17);
+	showText(TX_SPEAKER_MCCOY, TX_SIN4_015);
+	showText(TX_SPEAKER_SPOCK, TX_SIN4_024);
+	showText(TX_SPEAKER_MCCOY, TX_SIN4_017);
 }
 
 void Room::sins4TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, 31);
+	showText(TX_SPEAKER_MOSHER, TX_SIN4_031);
 }
 
 void Room::sins4UseSTricorderOnNorthDoor() {
-	spockScan(DIR_N, 27, false);
-	showText(TX_SPEAKER_MOSHER, 32);
-	showText(TX_SPEAKER_SPOCK,  26);
+	spockScan(DIR_N, TX_SPEAKER_SPOCK, TX_SIN4_027);
+	showText(TX_SPEAKER_MOSHER, TX_SIN4_032);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN4_026);
 }
 
 void Room::sins4UseSTricorderAnywhere() {
-	spockScan(DIR_S, 11, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN4_011);
 
 	if (!_awayMission->sins.gotPointsForScanningRoom4) {
 		_awayMission->sins.missionScore += 1;
@@ -286,32 +351,32 @@ void Room::sins4UseSTricorderAnywhere() {
 
 void Room::sins4UseCommunicator() {
 	if (!_awayMission->sins.enteredRoom3FirstTime) {
-		showText(TX_SPEAKER_UHURA_GLOBAL, 100);
-		showText(TX_SPEAKER_KIRK,  6);
-		showText(TX_SPEAKER_UHURA_GLOBAL, TX_SIN4U83B);
-		showText(TX_SPEAKER_KIRK,  2);
+		showText(TX_SPEAKER_UHURA, TX_SIN4U100);
+		showText(TX_SPEAKER_KIRK,  TX_SIN4_006);
+		showText(TX_SPEAKER_UHURA, TX_SIN4U83B);
+		showText(TX_SPEAKER_KIRK,  TX_SIN4_002);
 	} else
-		showText(TX_SPEAKER_UHURA_GLOBAL, 73);
+		showText(TX_SPEAKER_UHURA, TX_SIN4U073);
 }
 
 void Room::sins4UseMccoyOnNorthDoor() {
-	showText(TX_SPEAKER_MCCOY, 16);
+	showText(TX_SPEAKER_MCCOY, TX_SIN4_016);
 }
 
 void Room::sins4UseRedshirtOnNorthDoor() {
-	showText(TX_SPEAKER_MOSHER, 29);
+	showText(TX_SPEAKER_MOSHER, TX_SIN4_029);
 }
 
 void Room::sins4UseSpockOnNorthDoor() {
-	showText(TX_SPEAKER_SPOCK, 23);
+	showText(TX_SPEAKER_SPOCK, TX_SIN4_023);
 }
 
 void Room::sins4UseMccoyOnPanel() {
-	showText(TX_SPEAKER_MCCOY, 13);
+	showText(TX_SPEAKER_MCCOY, TX_SIN4_013);
 }
 
 void Room::sins4UseRedshirtOnPanel() {
-	showText(TX_SPEAKER_MOSHER, 30);
+	showText(TX_SPEAKER_MOSHER, TX_SIN4_030);
 }
 
 void Room::sins4WalkToNorthDoor() {
@@ -328,12 +393,11 @@ void Room::sins4WalkToEastDoor() {
 }
 
 void Room::sins4UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, 14);
+	showText(TX_SPEAKER_MCCOY, TX_SIN4_014);
 }
 
 void Room::sins4UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, 12, false);
+	mccoyScan(DIR_S, TX_SPEAKER_MCCOY, TX_SIN4_012);
 }
 
 }
-#endif
diff --git a/engines/startrek/rooms/sins5.cpp b/engines/startrek/rooms/sins5.cpp
index 21620c51a9..175500646f 100644
--- a/engines/startrek/rooms/sins5.cpp
+++ b/engines/startrek/rooms/sins5.cpp
@@ -20,7 +20,6 @@
  *
  */
 
-#if 0
 #include "startrek/room.h"
 
 #define OBJECT_LEFT_COMPUTER_EXPLOSION 8
@@ -132,15 +131,92 @@ extern const RoomAction sins5ActionList[] = {
 };
 
 enum sins5TextIds {
-	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_EVERTS,
+	TX_SPEAKER_KIRK, TX_SPEAKER_MCCOY, TX_SPEAKER_SPOCK, TX_SPEAKER_MOSHER,
+	TX_SPEAKER_SCOTT, TX_SPEAKER_COMPUTER,
+	TX_SIN5_001, TX_SIN5_002, TX_SIN5_003, TX_SIN5_004, TX_SIN5_005,
+	TX_SIN5_006, TX_SIN5_007, TX_SIN5_008, TX_SIN5_009, TX_SIN5_010,
+	TX_SIN5_011, TX_SIN5_012, TX_SIN5_013, TX_SIN5_014, TX_SIN5_015,
+	TX_SIN5_016, TX_SIN5_017, TX_SIN5_018, TX_SIN5_019, TX_SIN5_020,
+	TX_SIN5_021, TX_SIN5_022, TX_SIN5_023, TX_SIN5_024, TX_SIN5_025,
+	TX_SIN5_026, TX_SIN5_027, TX_SIN5_028, TX_SIN5_029, TX_SIN5_030,
+	TX_SIN5_031, TX_SIN5_032, TX_SIN5_033, TX_SIN5_034, TX_SIN5_035,
+	TX_SIN5_036, TX_SIN5_037, TX_SIN5_038, TX_SIN5_039, TX_SIN5_040,
+	TX_SIN5_041, TX_SIN5_042, TX_SIN5_043, TX_SIN5_044, TX_SIN5_045,
+	TX_SIN5_046, TX_SIN5_S19, TX_SIN5N000, TX_SIN5N001, TX_SIN5N002,
+	TX_SIN5N003, TX_SIN5N004, TX_SIN5N005, TX_SIN5N006, TX_SIN5N007,
+	TX_SIN5N008, TX_SIN5N009, TX_SIN5N010, TX_SIN5N011, TX_SIN5N012,
+	TX_SIN5N013
 };
 
 // TODO: Finish floppy offsets
 extern const RoomTextOffsets sins5TextOffsets[] = {
-	//{ TX_SPEAKER_KIRK, 2597, 0 },
-	//{ TX_SPEAKER_MCCOY, 2622, 0 },
-	//{ TX_SPEAKER_SPOCK, 2632, 0 },
-	//{ TX_SPEAKER_EVERTS, 2642, 0 },
+	{ TX_SPEAKER_KIRK, 291, 0 },
+	{ TX_SPEAKER_MCCOY, 302, 0 },
+	{ TX_SPEAKER_SPOCK, 312, 0 },
+	{ TX_SPEAKER_MOSHER, 322, 0 },
+	{ TX_SPEAKER_SCOTT, 346, 0 },
+	{ TX_SPEAKER_COMPUTER, 356, 0 },
+	{ TX_SIN5_001, 1654, 0 },
+	{ TX_SIN5_002, 7449, 0 },
+	{ TX_SIN5_003, 1470, 0 },
+	{ TX_SIN5_004, 1562, 0 },
+	{ TX_SIN5_005, 3254, 0 },
+	{ TX_SIN5_006, 3938, 0 },
+	{ TX_SIN5_007, 4382, 0 },
+	{ TX_SIN5_008, 3069, 0 },
+	{ TX_SIN5_009, 5927, 0 },
+	{ TX_SIN5_010, 7984, 0 },
+	{ TX_SIN5_011, 8427, 0 },
+	{ TX_SIN5_012, 8584, 0 },
+	{ TX_SIN5_013, 803, 0 },
+	{ TX_SIN5_014, 8958, 0 },
+	{ TX_SIN5_015, 1751, 0 },
+	{ TX_SIN5_016, 7310, 0 },
+	{ TX_SIN5_017, 7201, 0 },
+	{ TX_SIN5_018, 7924, 0 },
+	{ TX_SIN5_019, 7818, 0 },
+	{ TX_SIN5_020, 3843, 0 },
+	{ TX_SIN5_021, 4169, 0 },
+	{ TX_SIN5_022, 5697, 0 },
+	{ TX_SIN5_023, 7621, 0 },
+	{ TX_SIN5_024, 8754, 0 },
+	{ TX_SIN5_025, 2638, 0 },
+	{ TX_SIN5_026, 3341, 0 },
+	{ TX_SIN5_027, 2019, 0 },
+	{ TX_SIN5_028, 1287, 0 },
+	{ TX_SIN5_029, 1119, 0 },
+	{ TX_SIN5_030, 942, 0 },
+	{ TX_SIN5_031, 5819, 0 },
+	{ TX_SIN5_032, 4269, 0 },
+	{ TX_SIN5_033, 7722, 0 },
+	{ TX_SIN5_034, 8228, 0 },
+	{ TX_SIN5_035, 9061, 0 },
+	{ TX_SIN5_036, 3673, 0 },
+	{ TX_SIN5_037, 4034, 0 },
+	{ TX_SIN5_038, 7529, 0 },
+	{ TX_SIN5_039, 2234, 0 },
+	{ TX_SIN5_040, 2785, 0 },
+	{ TX_SIN5_041, 2499, 0 },
+	{ TX_SIN5_042, 1887, 0 },
+	{ TX_SIN5_043, 4758, 0 },
+	{ TX_SIN5_044, 3551, 0 },
+	{ TX_SIN5_045, 9305, 0 },
+	{ TX_SIN5_046, 8108, 0 },
+	{ TX_SIN5_S19, 3149, 0 },
+	{ TX_SIN5N000, 6129, 0 },
+	{ TX_SIN5N001, 6373, 0 },
+	{ TX_SIN5N002, 6462, 0 },
+	{ TX_SIN5N003, 6964, 0 },
+	{ TX_SIN5N004, 4647, 0 },
+	{ TX_SIN5N005, 6017, 0 },
+	{ TX_SIN5N006, 6268, 0 },
+	{ TX_SIN5N007, 6524, 0 },
+	{ TX_SIN5N008, 6709, 0 },
+	{ TX_SIN5N009, 6839, 0 },
+	{ TX_SIN5N010, 6609, 0 },
+	{ TX_SIN5N011, 7092, 0 },
+	{ TX_SIN5N012, 5352, 0 },
+	{ TX_SIN5N013, 5579, 0 },
 	{          -1, 0,    0 }
 };
 
@@ -168,7 +244,7 @@ void Room::sins5Tick1() {
 }
 
 void Room::sins5UseSTricorderAnywhere() {
-	spockScan(DIR_S, 13, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN5_013);
 }
 
 void Room::sins5UseSTricorderOnRightComputer() {
@@ -176,7 +252,7 @@ void Room::sins5UseSTricorderOnRightComputer() {
 		_awayMission->sins.missionScore += 1;
 		_awayMission->sins.gotPointsForScanningRightComputer = true; // BUGFIX: add this line to prevent infinite score mechanism
 	}
-	spockScan(DIR_S, 30, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN5_030);
 	_awayMission->sins.scannedAndUsedComputers |= 2;
 	sins5CheckGatheredAllClues();
 }
@@ -186,39 +262,39 @@ void Room::sins5UseSTricorderOnLeftComputer() {
 		_awayMission->sins.missionScore += 1;
 		_awayMission->sins.gotPointsForScanningLeftComputer = true; // BUGFIX: add this line to prevent infinite score mechanism
 	}
-	spockScan(DIR_S, 29, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN5_029);
 	_awayMission->sins.scannedAndUsedComputers |= 1;
 	sins5CheckGatheredAllClues();
 }
 
 void Room::sins5UseSTricorderOnMiddleComputer() {
-	spockScan(DIR_S, 28, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN5_028);
 }
 
 void Room::sins5UseKirkOnRightComputer() {
-	showText(TX_SPEAKER_KIRK, 3);
+	showText(TX_SPEAKER_KIRK, TX_SIN5_003);
 	sins5UseSpockOnRightComputer();
 }
 
 void Room::sins5UseKirkOnLeftComputer() {
-	showText(TX_SPEAKER_KIRK, 4);
+	showText(TX_SPEAKER_KIRK, TX_SIN5_004);
 	sins5UseSpockOnLeftComputer();
 }
 
 void Room::sins5UseKirkOnMiddleComputer() {
-	showText(TX_SPEAKER_KIRK, 1);
+	showText(TX_SPEAKER_KIRK, TX_SIN5_001);
 }
 
 void Room::sins5UseMccoyOnComputer() {
-	showText(TX_SPEAKER_MCCOY, 15);
+	showText(TX_SPEAKER_MCCOY, TX_SIN5_015);
 }
 
 void Room::sins5UseRedshirtOnComputer() {
-	showText(TX_SPEAKER_MOSHER, 42);
+	showText(TX_SPEAKER_MOSHER, TX_SIN5_042);
 }
 
 void Room::sins5UseSpockOnMiddleComputer() {
-	showText(TX_SPEAKER_SPOCK, 27);
+	showText(TX_SPEAKER_SPOCK, TX_SIN5_027);
 }
 
 void Room::sins5UseSpockOnRightComputer() {
@@ -238,7 +314,7 @@ void Room::sins5SpockReachedRightComputer() {
 
 void Room::sins5SpockUsedRightComputer() {
 	_awayMission->disableInput = false;
-	showText(TX_SPEAKER_COMPUTER_GLOBAL, 39);
+	showText(TX_SPEAKER_COMPUTER, TX_SIN5_039);
 	_awayMission->sins.scannedAndUsedComputers |= 8;
 	sins5CheckGatheredAllClues();
 }
@@ -260,8 +336,8 @@ void Room::sins5SpockReachedLeftComputer() {
 
 void Room::sins5SpockUsedLeftComputer() {
 	if (_awayMission->sins.wireConnected1 && _awayMission->sins.wireConnected2) {
-		showText(TX_SPEAKER_COMPUTER_GLOBAL, 41);
-		showText(TX_SPEAKER_SPOCK,    25);
+		showText(TX_SPEAKER_COMPUTER, TX_SIN5_041);
+		showText(TX_SPEAKER_SPOCK,    TX_SIN5_025);
 
 		walkCrewmanC(OBJECT_KIRK,     0x8c, 0xb5, &Room::sins5CrewmanReadyToBeamOut);
 		walkCrewmanC(OBJECT_SPOCK,    0x82, 0xab, &Room::sins5CrewmanReadyToBeamOut);
@@ -269,7 +345,7 @@ void Room::sins5SpockUsedLeftComputer() {
 		walkCrewmanC(OBJECT_REDSHIRT, 0x91, 0xa1, &Room::sins5CrewmanReadyToBeamOut);
 	} else {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_COMPUTER_GLOBAL, 40);
+		showText(TX_SPEAKER_COMPUTER, TX_SIN5_040);
 		_awayMission->sins.scannedAndUsedComputers |= 4;
 		sins5CheckGatheredAllClues();
 	}
@@ -277,9 +353,9 @@ void Room::sins5SpockUsedLeftComputer() {
 
 void Room::sins5CrewmanReadyToBeamOut() {
 	if (++_roomVar.sins.numCrewmenReadyToBeamOut == 4) {
-		showText(TX_SPEAKER_KIRK,  8);
-		showText(TX_SPEAKER_SCOTT_GLOBAL, 19 + SCOTTY_MESSAGE_OFFSET);
-		showText(TX_SPEAKER_KIRK,  5);
+		showText(TX_SPEAKER_KIRK,  TX_SIN5_008);
+		showText(TX_SPEAKER_SCOTT, TX_SIN5_S19);
+		showText(TX_SPEAKER_KIRK,  TX_SIN5_005);
 		_awayMission->sins.missionScore += 19;
 		endMission(_awayMission->sins.missionScore, 28, 0);
 	}
@@ -288,7 +364,7 @@ void Room::sins5CrewmanReadyToBeamOut() {
 void Room::sins5Tick20() {
 	if (!_awayMission->sins.enteredRoom5FirstTime) {
 		_awayMission->disableInput = false;
-		showText(TX_SPEAKER_SPOCK, 26);
+		showText(TX_SPEAKER_SPOCK, TX_SIN5_026);
 		_awayMission->sins.enteredRoom5FirstTime = true;
 	}
 }
@@ -297,15 +373,15 @@ void Room::sins5Tick20() {
 void Room::sins5CheckGatheredAllClues() {
 	if (_awayMission->sins.scannedAndUsedComputers == 0xf && !_awayMission->sins.discoveredComputersOutOfSync) {
 		_awayMission->sins.discoveredComputersOutOfSync = true;
-		showText(TX_SPEAKER_MOSHER, 44);
-		showText(TX_SPEAKER_SPOCK,  36);
-		showText(TX_SPEAKER_MCCOY,  20);
-		showText(TX_SPEAKER_SPOCK,  35);
-		showText(TX_SPEAKER_KIRK,   6);
-		showText(TX_SPEAKER_SPOCK,  37);
-		showText(TX_SPEAKER_MCCOY,  21);
-		showText(TX_SPEAKER_SPOCK,  32);
-		showText(TX_SPEAKER_KIRK,   7);
+		showText(TX_SPEAKER_MOSHER, TX_SIN5_044);
+		showText(TX_SPEAKER_SPOCK,  TX_SIN5_036);
+		showText(TX_SPEAKER_MCCOY,  TX_SIN5_020);
+		showText(TX_SPEAKER_SPOCK,  TX_SIN5_035);
+		showText(TX_SPEAKER_KIRK,   TX_SIN5_006);
+		showText(TX_SPEAKER_SPOCK,  TX_SIN5_037);
+		showText(TX_SPEAKER_MCCOY,  TX_SIN5_021);
+		showText(TX_SPEAKER_SPOCK,  TX_SIN5_032);
+		showText(TX_SPEAKER_KIRK,   TX_SIN5_007);
 	}
 }
 
@@ -327,7 +403,7 @@ void Room::sins5WireConnected() {
 		_awayMission->sins.wireConnected1 = true;
 		_awayMission->sins.wireConnected2 = true;
 		loadActorAnim2(OBJECT_CABLE, "s5cabl", 0, 0);
-		showDescription(4);
+		showDescription(TX_SIN5N004);
 		loseItem(OBJECT_ICONECT);
 		playMidiMusicTracks(MIDITRACK_30, -1);
 	}
@@ -335,7 +411,7 @@ void Room::sins5WireConnected() {
 }
 
 void Room::sins5UseStunPhaserOnComputer() {
-	showText(TX_SPEAKER_MOSHER, 43);
+	showText(TX_SPEAKER_MOSHER, TX_SIN5_043);
 }
 
 
@@ -409,8 +485,8 @@ void Room::sins5Timer2Expired() {
 
 void Room::sins5ComputerLaunchesMissiles() {
 	playMidiMusicTracks(MIDITRACK_2, -1);
-	showDescription(12);
-	showDescription(13);
+	showDescription(TX_SIN5N012);
+	showDescription(TX_SIN5N013);
 	showGameOverMenu();
 }
 
@@ -418,55 +494,55 @@ void Room::sins5Timer3Expired() {
 }
 
 void Room::sins5LookAnywhere() {
-	showDescription(5);
+	showDescription(TX_SIN5N005);
 }
 
 void Room::sins5LookAtKirk() {
-	showDescription(0);
+	showDescription(TX_SIN5N000);
 }
 
 void Room::sins5LookAtSpock() {
-	showDescription(6);
+	showDescription(TX_SIN5N006);
 }
 
 void Room::sins5LookAtMccoy() {
-	showDescription(1);
+	showDescription(TX_SIN5N001);
 }
 
 void Room::sins5LookAtRedshirt() {
-	showDescription(2);
+	showDescription(TX_SIN5N002);
 }
 
 void Room::sins5LookAtLight() {
-	showDescription(7);
+	showDescription(TX_SIN5N007);
 }
 
 void Room::sins5LookAtLeftComputer() {
-	showDescription(10);
+	showDescription(TX_SIN5N010);
 }
 
 void Room::sins5LookAtMiddleComputer() {
-	showDescription(8);
+	showDescription(TX_SIN5N008);
 }
 
 void Room::sins5LookAtRightComputer() {
-	showDescription(9);
+	showDescription(TX_SIN5N009);
 }
 
 void Room::sins5LookAtMissile() {
-	showDescription(3);
+	showDescription(TX_SIN5N003);
 }
 
 void Room::sins5LookAtNorthDoor() {
-	showDescription(11);
+	showDescription(TX_SIN5N011);
 }
 
 void Room::sins5UseMedkitOnCrewman() {
-	showText(TX_SPEAKER_MCCOY, 17);
+	showText(TX_SPEAKER_MCCOY, TX_SIN5_017);
 }
 
 void Room::sins5UseMTricorderAnywhere() {
-	mccoyScan(DIR_S, 16, false);
+	mccoyScan(DIR_S, TX_SPEAKER_MCCOY, TX_SIN5_016);
 	if (!_awayMission->sins.gotPointsForScanningRoom5) {
 		_awayMission->sins.missionScore += 1;
 		_awayMission->sins.gotPointsForScanningRoom5 = true; // BUGFIX: add this line to prevent infinite score mechanism
@@ -474,47 +550,38 @@ void Room::sins5UseMTricorderAnywhere() {
 }
 
 void Room::sins5TalkToKirk() {
-	showText(TX_SPEAKER_KIRK, 2);
+	showText(TX_SPEAKER_KIRK, TX_SIN5_002);
 }
 
 void Room::sins5TalkToSpock() {
-	showText(TX_SPEAKER_SPOCK, 38);
-	showText(TX_SPEAKER_MCCOY, 23);
-	showText(TX_SPEAKER_SPOCK, 33);
-	showText(TX_SPEAKER_MCCOY, 19);
+	showText(TX_SPEAKER_SPOCK, TX_SIN5_038);
+	showText(TX_SPEAKER_MCCOY, TX_SIN5_023);
+	showText(TX_SPEAKER_SPOCK, TX_SIN5_033);
+	showText(TX_SPEAKER_MCCOY, TX_SIN5_019);
 }
 
 void Room::sins5TalkToMccoy() {
-	showText(TX_SPEAKER_MCCOY, 18);
-	showText(TX_SPEAKER_KIRK,  10);
-
-	// The following code block is unused. It doesn't belong to any function, but would
-	// fit best as an alternative to this one.
-	if (false) {
-		showText(TX_SPEAKER_MCCOY, 22);
-		showText(TX_SPEAKER_SPOCK, 31);
-		showText(TX_SPEAKER_KIRK,  9);
-	}
+	showText(TX_SPEAKER_MCCOY, TX_SIN5_018);
+	showText(TX_SPEAKER_KIRK,  TX_SIN5_010);
 }
 
 void Room::sins5TalkToRedshirt() {
-	showText(TX_SPEAKER_MOSHER, 46);
-	showText(TX_SPEAKER_SPOCK,  34);
-	showText(TX_SPEAKER_MOSHER, 45);
-	showText(TX_SPEAKER_KIRK,   11);
+	showText(TX_SPEAKER_MOSHER, TX_SIN5_046);
+	showText(TX_SPEAKER_SPOCK,  TX_SIN5_034);
+	showText(TX_SPEAKER_MOSHER, TX_SIN5_045);
+	showText(TX_SPEAKER_KIRK,   TX_SIN5_011);
 }
 
 void Room::sins5UseSTricorderOnMissile() {
-	spockScan(DIR_S, 12, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN5_012);
 }
 
 void Room::sins5UseSTricorderOnNorthDoor() {
-	spockScan(DIR_S, 24, false);
+	spockScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN5_024);
 }
 
 void Room::sins5UseMTricorderOnCrewman() {
-	mccoyScan(DIR_S, 14, false);
+	mccoyScan(DIR_S, TX_SPEAKER_SPOCK, TX_SIN5_014);
 }
 
 }
-#endif
diff --git a/engines/startrek/rooms/veng3.cpp b/engines/startrek/rooms/veng3.cpp
index fabed91111..dafd0fdb5b 100644
--- a/engines/startrek/rooms/veng3.cpp
+++ b/engines/startrek/rooms/veng3.cpp
@@ -263,7 +263,7 @@ void Room::veng3ReachedPositionToShootDebris() {
 
 void Room::veng3DrewPhaserToShootDebris() {
 	loadActorAnimC(OBJECT_DEBRIS, "s7r3ph", 0x9c, 0x83, &Room::veng3DebrisVaporized);
-	playSoundEffectIndex(SND_PHASSHOT);
+	playSoundEffectIndex(kSfxPhaser);
 }
 
 void Room::veng3DebrisVaporized() {
diff --git a/engines/startrek/rooms/veng5.cpp b/engines/startrek/rooms/veng5.cpp
index 8c9a565589..a87f9b0b87 100644
--- a/engines/startrek/rooms/veng5.cpp
+++ b/engines/startrek/rooms/veng5.cpp
@@ -204,7 +204,7 @@ void Room::veng5ReachedPositionToShootDebris() {
 
 void Room::veng5DrewPhaser() {
 	loadActorAnimC(OBJECT_POWER_PACK, "s7r5p1", 0xb1, 0x89, &Room::veng5VaporizedDebris);
-	playSoundEffectIndex(SND_PHASSHOT);
+	playSoundEffectIndex(kSfxPhaser);
 	loadActorStandAnim(OBJECT_DEBRIS);
 }
 




More information about the Scummvm-git-logs mailing list