[Scummvm-git-logs] scummvm master -> 934fa3d66b60e4b81a800f211e23ad5e6eb36847
sev-
noreply at scummvm.org
Thu Oct 24 11:10:52 UTC 2024
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:
934fa3d66b STARTREK: Fix linking on ARM64 macOS
Commit: 934fa3d66b60e4b81a800f211e23ad5e6eb36847
https://github.com/scummvm/scummvm/commit/934fa3d66b60e4b81a800f211e23ad5e6eb36847
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-24T13:10:40+02:00
Commit Message:
STARTREK: Fix linking on ARM64 macOS
This requires function pointers to be aligned to 64 bits, and
from the other hand, Action struct requires packing on MSVC, otherwise
it produces the following warning:
Warning C4121 'StarTrek::RoomAction': alignment of a member was sensitive to packing
This commit adds a dummy member to the Action struct, but in general, this
design is not ideal.
Changed paths:
engines/startrek/action.h
engines/startrek/actors.cpp
engines/startrek/awaymission.cpp
engines/startrek/room.cpp
engines/startrek/room.h
engines/startrek/rooms/demon0.cpp
engines/startrek/rooms/demon1.cpp
engines/startrek/rooms/demon2.cpp
engines/startrek/rooms/demon3.cpp
engines/startrek/rooms/demon4.cpp
engines/startrek/rooms/demon5.cpp
engines/startrek/rooms/demon6.cpp
engines/startrek/rooms/feather0.cpp
engines/startrek/rooms/feather1.cpp
engines/startrek/rooms/feather2.cpp
engines/startrek/rooms/feather3.cpp
engines/startrek/rooms/feather4.cpp
engines/startrek/rooms/feather5.cpp
engines/startrek/rooms/feather6.cpp
engines/startrek/rooms/feather7.cpp
engines/startrek/rooms/love0.cpp
engines/startrek/rooms/love1.cpp
engines/startrek/rooms/love2.cpp
engines/startrek/rooms/love3.cpp
engines/startrek/rooms/love4.cpp
engines/startrek/rooms/love5.cpp
engines/startrek/rooms/mudd0.cpp
engines/startrek/rooms/mudd1.cpp
engines/startrek/rooms/mudd2.cpp
engines/startrek/rooms/mudd3.cpp
engines/startrek/rooms/mudd4.cpp
engines/startrek/rooms/mudd5.cpp
engines/startrek/rooms/sins0.cpp
engines/startrek/rooms/sins1.cpp
engines/startrek/rooms/sins2.cpp
engines/startrek/rooms/sins3.cpp
engines/startrek/rooms/sins4.cpp
engines/startrek/rooms/sins5.cpp
engines/startrek/rooms/trial0.cpp
engines/startrek/rooms/trial1.cpp
engines/startrek/rooms/trial2.cpp
engines/startrek/rooms/trial3.cpp
engines/startrek/rooms/trial4.cpp
engines/startrek/rooms/trial5.cpp
engines/startrek/rooms/tug0.cpp
engines/startrek/rooms/tug1.cpp
engines/startrek/rooms/tug2.cpp
engines/startrek/rooms/tug3.cpp
engines/startrek/rooms/veng0.cpp
engines/startrek/rooms/veng1.cpp
engines/startrek/rooms/veng2.cpp
engines/startrek/rooms/veng3.cpp
engines/startrek/rooms/veng4.cpp
engines/startrek/rooms/veng5.cpp
engines/startrek/rooms/veng6.cpp
engines/startrek/rooms/veng7.cpp
engines/startrek/rooms/veng8.cpp
diff --git a/engines/startrek/action.h b/engines/startrek/action.h
index 92dddfbd80d..6ef9cbc9133 100644
--- a/engines/startrek/action.h
+++ b/engines/startrek/action.h
@@ -59,6 +59,7 @@ struct Action {
byte b1;
byte b2;
byte b3;
+ int32 dummy; // for memory alignment on 64-bit systems. See RoomAction struct
// ACTION_USE, ACTION_GET, ACTION_LOOK, ACTION_TALK
byte activeObject() const {
diff --git a/engines/startrek/actors.cpp b/engines/startrek/actors.cpp
index 83c9ecf5639..803b01ab283 100644
--- a/engines/startrek/actors.cpp
+++ b/engines/startrek/actors.cpp
@@ -1000,7 +1000,7 @@ bool StarTrekEngine::walkActiveObjectToHotspot() {
else {
// If this action has code defined for it in this room, buffer the action to be
// done after the object finished walking there.
- Action action = {static_cast<int8>(_awayMission.activeAction), _awayMission.activeObject, 0, 0};
+ Action action = {static_cast<int8>(_awayMission.activeAction), _awayMission.activeObject, 0, 0, 0};
if (_awayMission.activeAction == ACTION_USE)
action.b2 = _awayMission.passiveObject;
diff --git a/engines/startrek/awaymission.cpp b/engines/startrek/awaymission.cpp
index c8c82cd3281..4fe0377d596 100644
--- a/engines/startrek/awaymission.cpp
+++ b/engines/startrek/awaymission.cpp
@@ -536,7 +536,7 @@ void StarTrekEngine::addAction(const Action &action) {
}
void StarTrekEngine::addAction(int8 type, byte b1, byte b2, byte b3) {
- const Action a = {type, b1, b2, b3};
+ const Action a = {type, b1, b2, b3, 0};
addAction(a);
}
diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index 0535313f676..5c134a021b3 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -150,7 +150,7 @@ bool Room::actionHasCode(const Action &action) {
}
bool Room::actionHasCode(int8 type, byte b1, byte b2, byte b3) {
- const Action a = {type, b1, b2, b3};
+ const Action a = {type, b1, b2, b3, 0};
return actionHasCode(a);
}
@@ -170,7 +170,7 @@ bool Room::handleAction(const Action &action) {
}
bool Room::handleAction(int8 type, byte b1, byte b2, byte b3) {
- const Action a = {type, b1, b2, b3};
+ const Action a = {type, b1, b2, b3, 0};
return handleAction(a);
}
@@ -191,7 +191,7 @@ bool Room::handleActionWithBitmask(const Action &action) {
}
bool Room::handleActionWithBitmask(int8 type, byte b1, byte b2, byte b3) {
- Action a = {type, b1, b2, b3};
+ Action a = {type, b1, b2, b3, 0};
return handleActionWithBitmask(a);
}
diff --git a/engines/startrek/room.h b/engines/startrek/room.h
index a665099b358..305800b9406 100644
--- a/engines/startrek/room.h
+++ b/engines/startrek/room.h
@@ -46,7 +46,7 @@ class Room;
// Per-room action functions
struct RoomAction {
const Action action;
- void (Room::*funcPtr)();
+ void (Room::*funcPtr)(); // This must be aligned to 64-bit, thus we added the dummy variable in Action
};
#include "common/pack-end.h" // END STRUCT PACKING
diff --git a/engines/startrek/rooms/demon0.cpp b/engines/startrek/rooms/demon0.cpp
index 6937737163b..de751ca7511 100644
--- a/engines/startrek/rooms/demon0.cpp
+++ b/engines/startrek/rooms/demon0.cpp
@@ -24,61 +24,61 @@
namespace StarTrek {
extern const RoomAction demon0ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::demon0Tick1 },
- { {ACTION_TICK, 2, 0, 0}, &Room::demon0Tick2 },
- { {ACTION_TICK, 60, 0, 0}, &Room::demon0Tick60 },
- { {ACTION_TICK, 100, 0, 0}, &Room::demon0Tick100 },
- { {ACTION_TICK, 140, 0, 0}, &Room::demon0Tick140 },
-
- { {ACTION_TOUCHED_WARP, 0, 0, 0}, &Room::demon0TouchedWarp0 },
-
- { {ACTION_WALK, 0x27, 0, 0}, &Room::demon0WalkToBottomDoor },
- { {ACTION_WALK, 9, 0, 0}, &Room::demon0WalkToBottomDoor },
- { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::demon0TouchedHotspot1 },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon0ReachedBottomDoor },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon0ReachedBottomDoor },
-
- { {ACTION_WALK, 0x26, 0, 0}, &Room::demon0WalkToTopDoor },
- { {ACTION_WALK, 10, 0, 0}, &Room::demon0WalkToTopDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::demon0TouchedHotspot0 },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon0ReachedTopDoor },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon0ReachedTopDoor },
-
- { {ACTION_TALK, 8, 0, 0}, &Room::demon0TalkToPrelate },
- { {ACTION_LOOK, 8, 0, 0}, &Room::demon0LookAtPrelate },
-
- { {ACTION_USE, OBJECT_IPHASERS, 0x23, 0}, &Room::demon0UsePhaserOnSnow },
- { {ACTION_USE, OBJECT_IPHASERK, 0x23, 0}, &Room::demon0UsePhaserOnSnow },
- { {ACTION_USE, OBJECT_IPHASERS, 0x25, 0}, &Room::demon0UsePhaserOnSign },
- { {ACTION_USE, OBJECT_IPHASERK, 0x25, 0}, &Room::demon0UsePhaserOnSign },
- { {ACTION_USE, OBJECT_IPHASERK, 0x20, 0}, &Room::demon0UsePhaserOnShelter },
- { {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::demon0UsePhaserOnPrelate },
-
- { {ACTION_LOOK, 0x25, 0, 0}, &Room::demon0LookAtSign },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::demon0LookAtTrees },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::demon0LookAtTrees },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::demon0LookAtSnow },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::demon0LookAnywhere },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::demon0LookAtBushes },
-
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon0LookAtKirk },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon0LookAtMcCoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon0LookAtRedShirt },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon0LookAtSpock },
-
- { {ACTION_LOOK, 9, 0, 0}, &Room::demon0LookAtShelter }, // Door 1
- { {ACTION_LOOK, 10, 0, 0}, &Room::demon0LookAtShelter }, // Door 2
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::demon0LookAtShelter }, // Shelter itself
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon0TalkToKirk },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon0TalkToRedshirt },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon0TalkToMcCoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon0TalkToSpock },
-
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::demon0UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::demon0UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon0UseMTricorderOnPrelate },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::demon0Tick1 },
+ { {ACTION_TICK, 2, 0, 0, 0}, &Room::demon0Tick2 },
+ { {ACTION_TICK, 60, 0, 0, 0}, &Room::demon0Tick60 },
+ { {ACTION_TICK, 100, 0, 0, 0}, &Room::demon0Tick100 },
+ { {ACTION_TICK, 140, 0, 0, 0}, &Room::demon0Tick140 },
+
+ { {ACTION_TOUCHED_WARP, 0, 0, 0, 0}, &Room::demon0TouchedWarp0 },
+
+ { {ACTION_WALK, 0x27, 0, 0, 0}, &Room::demon0WalkToBottomDoor },
+ { {ACTION_WALK, 9, 0, 0, 0}, &Room::demon0WalkToBottomDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::demon0TouchedHotspot1 },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon0ReachedBottomDoor },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon0ReachedBottomDoor },
+
+ { {ACTION_WALK, 0x26, 0, 0, 0}, &Room::demon0WalkToTopDoor },
+ { {ACTION_WALK, 10, 0, 0, 0}, &Room::demon0WalkToTopDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::demon0TouchedHotspot0 },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon0ReachedTopDoor },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon0ReachedTopDoor },
+
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::demon0TalkToPrelate },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon0LookAtPrelate },
+
+ { {ACTION_USE, OBJECT_IPHASERS, 0x23, 0, 0}, &Room::demon0UsePhaserOnSnow },
+ { {ACTION_USE, OBJECT_IPHASERK, 0x23, 0, 0}, &Room::demon0UsePhaserOnSnow },
+ { {ACTION_USE, OBJECT_IPHASERS, 0x25, 0, 0}, &Room::demon0UsePhaserOnSign },
+ { {ACTION_USE, OBJECT_IPHASERK, 0x25, 0, 0}, &Room::demon0UsePhaserOnSign },
+ { {ACTION_USE, OBJECT_IPHASERK, 0x20, 0, 0}, &Room::demon0UsePhaserOnShelter },
+ { {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::demon0UsePhaserOnPrelate },
+
+ { {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::demon0LookAtSign },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon0LookAtTrees },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon0LookAtTrees },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon0LookAtSnow },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon0LookAnywhere },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::demon0LookAtBushes },
+
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon0LookAtKirk },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon0LookAtMcCoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon0LookAtRedShirt },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon0LookAtSpock },
+
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::demon0LookAtShelter }, // Door 1
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon0LookAtShelter }, // Door 2
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon0LookAtShelter }, // Shelter itself
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon0TalkToKirk },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon0TalkToRedshirt },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon0TalkToMcCoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon0TalkToSpock },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::demon0UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::demon0UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon0UseMTricorderOnPrelate },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum demon0TextIds {
@@ -482,4 +482,3 @@ void Room::demon0BadResponse() {
showText(TX_SPEAKER_ANGIVEN, TX_DEM0_033);
}
}
-
diff --git a/engines/startrek/rooms/demon1.cpp b/engines/startrek/rooms/demon1.cpp
index 7aaa853e560..ea276eed50f 100644
--- a/engines/startrek/rooms/demon1.cpp
+++ b/engines/startrek/rooms/demon1.cpp
@@ -24,89 +24,89 @@
namespace StarTrek {
extern const RoomAction demon1ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::demon1Tick1 },
-
- { {ACTION_WALK, 0x25, 0, 0}, &Room::demon1WalkToCave },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon1TouchedTopWarp },
- { {ACTION_TOUCHED_WARP, 0, 0, 0}, &Room::demon1TouchedTopWarp },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::demon1TouchedBottomWarp },
-
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::demon1Timer2Expired },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::demon1Timer0Expired },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::demon1Timer3Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::demon1Timer1Expired },
-
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon1KlingonFinishedAimingWeapon },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon1KirkShot },
-
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::demon1UsePhaserOnAnything },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::demon1UsePhaserOnAnything },
-
- { {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::demon1UsePhaserOnKlingon1 },
- { {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::demon1UsePhaserOnKlingon1 },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::demon1ShootKlingon1 },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::demon1KlingonDropsHand },
-
- { {ACTION_USE, OBJECT_IPHASERK, 9, 0}, &Room::demon1UsePhaserOnKlingon2 },
- { {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::demon1UsePhaserOnKlingon2 },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::demon1ShootKlingon2 },
-
- { {ACTION_USE, OBJECT_IPHASERK, 10, 0}, &Room::demon1UsePhaserOnKlingon3 },
- { {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::demon1UsePhaserOnKlingon3 },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::demon1ShootKlingon3 },
-
- { {ACTION_TIMER_EXPIRED, 6, 0, 0}, &Room::demon1AllKlingonsDead },
- { {ACTION_TIMER_EXPIRED, 5, 0, 0}, &Room::demon1Timer5Expired },
-
- { {ACTION_USE, OBJECT_IMTRICOR, 13, 0}, &Room::demon1UseMTricorderOnKlingon },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon1UseSTricorderOnTulips },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::demon1UseSTricorderOnPods },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon1UseSTricorderOnCattails },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::demon1UseSTricorderOnFerns },
- { {ACTION_USE, OBJECT_ISTRICOR, 13, 0}, &Room::demon1UseSTricorderOnHand },
- { {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::demon1UseSTricorderOnKlingon1 },
- { {ACTION_USE, OBJECT_ISTRICOR, 10, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 },
- { {ACTION_USE, OBJECT_ISTRICOR, 9, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 },
- { {ACTION_USE, OBJECT_IMEDKIT, 8, 0}, &Room::demon1UseMTricorderOnKlingon },
- { {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon1UseMTricorderOnKlingon },
- { {ACTION_USE, OBJECT_IMEDKIT, 10, 0}, &Room::demon1UseMTricorderOnKlingon },
- { {ACTION_USE, OBJECT_IMEDKIT, 9, 0}, &Room::demon1UseMTricorderOnKlingon },
- { {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::demon1UseMTricorderOnKlingon },
- { {ACTION_USE, OBJECT_IMTRICOR, 9, 0}, &Room::demon1UseMTricorderOnKlingon },
- { {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 }, // This is redundant
-
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::demon1UseMTricorderOnKirk },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::demon1UseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::demon1UseMTricorderOnRedshirt },
-
- { {ACTION_GET, 13, 0, 0}, &Room::demon1GetHand },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon1ReachedHand },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::demon1PickedUpHand },
- { {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::demon1FinishedGettingHand },
-
- { {ACTION_LOOK, 8, 0, 0}, &Room::demon1LookAtKlingon },
- { {ACTION_LOOK, 9, 0, 0}, &Room::demon1LookAtKlingon },
- { {ACTION_LOOK, 10, 0, 0}, &Room::demon1LookAtKlingon },
-
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::demon1LookAtCattails },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::demon1LookAtTulips },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::demon1LookAtPods },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::demon1LookAtFerns },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::demon1LookAtStream },
- { {ACTION_LOOK, 0x25, 0, 0}, &Room::demon1LookAtMine },
- { {ACTION_LOOK, 0x26, 0, 0}, &Room::demon1LookAtMountain },
- { {ACTION_LOOK, 13, 0, 0}, &Room::demon1LookAtHand },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::demon1LookAnywhere },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon1LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon1LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon1LookAtMcCoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon1LookAtRedshirt },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon1TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon1TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon1TalkToMcCoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon1TalkToRedshirt },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::demon1Tick1 },
+
+ { {ACTION_WALK, 0x25, 0, 0, 0}, &Room::demon1WalkToCave },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon1TouchedTopWarp },
+ { {ACTION_TOUCHED_WARP, 0, 0, 0, 0}, &Room::demon1TouchedTopWarp },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::demon1TouchedBottomWarp },
+
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::demon1Timer2Expired },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::demon1Timer0Expired },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::demon1Timer3Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::demon1Timer1Expired },
+
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon1KlingonFinishedAimingWeapon },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon1KirkShot },
+
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::demon1UsePhaserOnAnything },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::demon1UsePhaserOnAnything },
+
+ { {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::demon1UsePhaserOnKlingon1 },
+ { {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::demon1UsePhaserOnKlingon1 },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::demon1ShootKlingon1 },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::demon1KlingonDropsHand },
+
+ { {ACTION_USE, OBJECT_IPHASERK, 9, 0, 0}, &Room::demon1UsePhaserOnKlingon2 },
+ { {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::demon1UsePhaserOnKlingon2 },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::demon1ShootKlingon2 },
+
+ { {ACTION_USE, OBJECT_IPHASERK, 10, 0, 0}, &Room::demon1UsePhaserOnKlingon3 },
+ { {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::demon1UsePhaserOnKlingon3 },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::demon1ShootKlingon3 },
+
+ { {ACTION_TIMER_EXPIRED, 6, 0, 0, 0}, &Room::demon1AllKlingonsDead },
+ { {ACTION_TIMER_EXPIRED, 5, 0, 0, 0}, &Room::demon1Timer5Expired },
+
+ { {ACTION_USE, OBJECT_IMTRICOR, 13, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon1UseSTricorderOnTulips },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::demon1UseSTricorderOnPods },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon1UseSTricorderOnCattails },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::demon1UseSTricorderOnFerns },
+ { {ACTION_USE, OBJECT_ISTRICOR, 13, 0, 0}, &Room::demon1UseSTricorderOnHand },
+ { {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::demon1UseSTricorderOnKlingon1 },
+ { {ACTION_USE, OBJECT_ISTRICOR, 10, 0, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 },
+ { {ACTION_USE, OBJECT_ISTRICOR, 9, 0, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 },
+ { {ACTION_USE, OBJECT_IMEDKIT, 8, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+ { {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+ { {ACTION_USE, OBJECT_IMEDKIT, 10, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+ { {ACTION_USE, OBJECT_IMEDKIT, 9, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+ { {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+ { {ACTION_USE, OBJECT_IMTRICOR, 9, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+ { {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 }, // This is redundant
+
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::demon1UseMTricorderOnKirk },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::demon1UseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::demon1UseMTricorderOnRedshirt },
+
+ { {ACTION_GET, 13, 0, 0, 0}, &Room::demon1GetHand },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon1ReachedHand },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::demon1PickedUpHand },
+ { {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::demon1FinishedGettingHand },
+
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon1LookAtKlingon },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::demon1LookAtKlingon },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon1LookAtKlingon },
+
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon1LookAtCattails },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon1LookAtTulips },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon1LookAtPods },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon1LookAtFerns },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::demon1LookAtStream },
+ { {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::demon1LookAtMine },
+ { {ACTION_LOOK, 0x26, 0, 0, 0}, &Room::demon1LookAtMountain },
+ { {ACTION_LOOK, 13, 0, 0, 0}, &Room::demon1LookAtHand },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon1LookAnywhere },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon1LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon1LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon1LookAtMcCoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon1LookAtRedshirt },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon1TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon1TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon1TalkToMcCoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon1TalkToRedshirt },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum demon1TextIds {
diff --git a/engines/startrek/rooms/demon2.cpp b/engines/startrek/rooms/demon2.cpp
index 31179d3c76c..43c98b97eca 100644
--- a/engines/startrek/rooms/demon2.cpp
+++ b/engines/startrek/rooms/demon2.cpp
@@ -24,46 +24,46 @@
namespace StarTrek {
extern const RoomAction demon2ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::demon2Tick1 },
- { {ACTION_WALK, 0x27, 0, 0}, &Room::demon2WalkToCave },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon2ReachedCave },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::demon2TouchedWarp1 },
-
- { {ACTION_LOOK, 0x27, 0, 0}, &Room::demon2LookAtCave },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::demon2LookAtCave },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::demon2LookAtMountain },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::demon2LookAtMountain },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::demon2LookAtBerries },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::demon2LookAtFern },
- { {ACTION_LOOK, 0x25, 0, 0}, &Room::demon2LookAtMoss },
- { {ACTION_LOOK, 0x26, 0, 0}, &Room::demon2LookAtLights },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::demon2LookAtAnything },
-
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon2LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon2LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon2LookAtMcCoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon2LookAtRedshirt },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon2TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon2TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon2TalkToMcCoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon2TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_IPHASERK, 0x23, 0}, &Room::demon2UsePhaserOnBerries },
- { {ACTION_USE, OBJECT_IPHASERS, 0x23, 0}, &Room::demon2UsePhaserOnBerries },
-
- { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::demon2UseSTricorderOnBerries },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::demon2UseSTricorderOnMoss },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x24, 0}, &Room::demon2UseSTricorderOnFern },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon2UseSTricorderOnCave },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon2UseSTricorderOnCave },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::demon2UseSTricorderOnCave },
-
- { {ACTION_USE, OBJECT_IMTRICOR, 0x23, 0}, &Room::demon2UseMTricorderOnBerries },
- { {ACTION_GET, 0x23, 0, 0}, &Room::demon2GetBerries },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon2ReachedBerries },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon2PickedUpBerries },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::demon2Tick1 },
+ { {ACTION_WALK, 0x27, 0, 0, 0}, &Room::demon2WalkToCave },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon2ReachedCave },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::demon2TouchedWarp1 },
+
+ { {ACTION_LOOK, 0x27, 0, 0, 0}, &Room::demon2LookAtCave },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon2LookAtCave },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon2LookAtMountain },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon2LookAtMountain },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon2LookAtBerries },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::demon2LookAtFern },
+ { {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::demon2LookAtMoss },
+ { {ACTION_LOOK, 0x26, 0, 0, 0}, &Room::demon2LookAtLights },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon2LookAtAnything },
+
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon2LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon2LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon2LookAtMcCoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon2LookAtRedshirt },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon2TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon2TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon2TalkToMcCoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon2TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_IPHASERK, 0x23, 0, 0}, &Room::demon2UsePhaserOnBerries },
+ { {ACTION_USE, OBJECT_IPHASERS, 0x23, 0, 0}, &Room::demon2UsePhaserOnBerries },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::demon2UseSTricorderOnBerries },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::demon2UseSTricorderOnMoss },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x24, 0, 0}, &Room::demon2UseSTricorderOnFern },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon2UseSTricorderOnCave },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon2UseSTricorderOnCave },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::demon2UseSTricorderOnCave },
+
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x23, 0, 0}, &Room::demon2UseMTricorderOnBerries },
+ { {ACTION_GET, 0x23, 0, 0, 0}, &Room::demon2GetBerries },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon2ReachedBerries },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon2PickedUpBerries },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum demon2TextIds {
diff --git a/engines/startrek/rooms/demon3.cpp b/engines/startrek/rooms/demon3.cpp
index ef01b0e96c0..534d01a47c0 100644
--- a/engines/startrek/rooms/demon3.cpp
+++ b/engines/startrek/rooms/demon3.cpp
@@ -24,100 +24,100 @@
namespace StarTrek {
extern const RoomAction demon3ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::demon3Tick1 },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::demon3Timer0Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::demon3Timer1Expired },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::demon3Timer3Expired },
-
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon3FinishedAnimation1 },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon3FinishedAnimation2 },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::demon3FinishedWalking5 },
-
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::demon3McCoyInFiringPosition },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon3SpockInFiringPosition },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::demon3RedShirtInFiringPosition },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon3KirkInFiringPosition },
-
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::demon3FireAtBoulder },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_REDSHIRT, 0}, &Room::demon3UsePhaserOnRedshirt },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_REDSHIRT, 0}, &Room::demon3UsePhaserOnRedshirt },
-
- { {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::demon3UseStunPhaserOnBoulder },
- { {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::demon3UseStunPhaserOnBoulder },
- { {ACTION_USE, OBJECT_IPHASERS, 11, 0}, &Room::demon3UseStunPhaserOnBoulder },
- { {ACTION_USE, OBJECT_IPHASERS, 12, 0}, &Room::demon3UseStunPhaserOnBoulder },
-
- { {ACTION_USE, OBJECT_IPHASERK, 9, 0}, &Room::demon3UsePhaserOnBoulder1 },
- { {ACTION_USE, OBJECT_IPHASERK, 10, 0}, &Room::demon3UsePhaserOnBoulder2 },
- { {ACTION_USE, OBJECT_IPHASERK, 11, 0}, &Room::demon3UsePhaserOnBoulder3 },
- { {ACTION_USE, OBJECT_IPHASERK, 12, 0}, &Room::demon3UsePhaserOnBoulder4 },
-
- { {ACTION_USE, OBJECT_ISTRICOR, 13, 0}, &Room::demon3UseSTricorderOnMiner },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon3UseSTricorderOnPanel },
- { {ACTION_USE, OBJECT_ISTRICOR, 9, 0}, &Room::demon3UseSTricorderOnBoulder },
- { {ACTION_USE, OBJECT_ISTRICOR, 10, 0}, &Room::demon3UseSTricorderOnBoulder },
- { {ACTION_USE, OBJECT_ISTRICOR, 11, 0}, &Room::demon3UseSTricorderOnBoulder },
- { {ACTION_USE, OBJECT_ISTRICOR, 12, 0}, &Room::demon3UseSTricorderOnBoulder },
- { {ACTION_USE, OBJECT_IMTRICOR, 9, 0}, &Room::demon3UseMTricorderOnBoulder },
- { {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::demon3UseMTricorderOnBoulder },
- { {ACTION_USE, OBJECT_IMTRICOR, 11, 0}, &Room::demon3UseMTricorderOnBoulder },
- { {ACTION_USE, OBJECT_IMTRICOR, 12, 0}, &Room::demon3UseMTricorderOnBoulder },
-
- { {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::demon3UseCrewmanOnPanel },
- { {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::demon3UseCrewmanOnPanel },
- { {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::demon3UseCrewmanOnPanel },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::demon3UseRedshirtOnPanel },
- { {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::demon3RedshirtReachedPanel },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::demon3RedshirtUsedPanel },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::demon3RedshirtElectrocuted },
-
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon3UseSTricorderOnDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::demon3UseSTricorderOnAnything },
- { {ACTION_USE, OBJECT_IMTRICOR, 14, 0}, &Room::demon3UseMTricorderOnDoor },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::demon3UseMTricorderOnDoor },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0}, &Room::demon3UseMTricorderOnDoor },
- { {ACTION_USE, OBJECT_IPHASERS, 14, 0}, &Room::demon3UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERK, 14, 0}, &Room::demon3UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERS, 0x21, 0}, &Room::demon3UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERK, 0x21, 0}, &Room::demon3UsePhaserOnDoor },
-
- { {ACTION_USE, OBJECT_IHAND, 0x20, 0}, &Room::demon3UseHandOnPanel },
- { {ACTION_FINISHED_WALKING, 7, 0, 0}, &Room::demon3KirkReachedHandPanel },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::demon3KirkUsedHandPanel },
-
- { {ACTION_USE, OBJECT_IMTRICOR, 13, 0}, &Room::demon3UseMTricorderOnMiner },
- { {ACTION_USE, OBJECT_MCCOY, 13, 0}, &Room::demon3UseMedkitOnMiner },
- { {ACTION_USE, OBJECT_IMEDKIT, 13, 0}, &Room::demon3UseMedkitOnMiner },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::demon3McCoyReachedMiner },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::demon3McCoyFinishedHealingMiner },
-
- { {ACTION_GET, 13, 0, 0}, &Room::demon3GetMiner },
- { {ACTION_TALK, 13, 0, 0}, &Room::demon3TalkToMiner },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon3TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon3TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon3TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon3TalkToRedshirt },
-
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon3LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon3LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon3LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon3LookAtRedshirt },
-
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::demon3LookAnywhere },
- { {ACTION_LOOK, 13, 0, 0}, &Room::demon3LookAtMiner },
- { {ACTION_LOOK, 9, 0, 0}, &Room::demon3LookAtBoulder1 },
- { {ACTION_LOOK, 10, 0, 0}, &Room::demon3LookAtBoulder2 },
- { {ACTION_LOOK, 11, 0, 0}, &Room::demon3LookAtBoulder3 },
- { {ACTION_LOOK, 12, 0, 0}, &Room::demon3LookAtBoulder4 },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::demon3LookAtStructure },
- { {ACTION_LOOK, 14, 0, 0}, &Room::demon3LookAtDoor },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::demon3LookAtDoor },
- { {ACTION_LOOK, 15, 0, 0}, &Room::demon3LookAtPanel },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::demon3LookAtPanel },
- { {ACTION_LOOK, 8, 0, 0}, &Room::demon3LookAtLight },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::demon3Tick1 },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::demon3Timer0Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::demon3Timer1Expired },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::demon3Timer3Expired },
+
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon3FinishedAnimation1 },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon3FinishedAnimation2 },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::demon3FinishedWalking5 },
+
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::demon3McCoyInFiringPosition },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon3SpockInFiringPosition },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::demon3RedShirtInFiringPosition },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon3KirkInFiringPosition },
+
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::demon3FireAtBoulder },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_REDSHIRT, 0, 0}, &Room::demon3UsePhaserOnRedshirt },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_REDSHIRT, 0, 0}, &Room::demon3UsePhaserOnRedshirt },
+
+ { {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::demon3UseStunPhaserOnBoulder },
+ { {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::demon3UseStunPhaserOnBoulder },
+ { {ACTION_USE, OBJECT_IPHASERS, 11, 0, 0}, &Room::demon3UseStunPhaserOnBoulder },
+ { {ACTION_USE, OBJECT_IPHASERS, 12, 0, 0}, &Room::demon3UseStunPhaserOnBoulder },
+
+ { {ACTION_USE, OBJECT_IPHASERK, 9, 0, 0}, &Room::demon3UsePhaserOnBoulder1 },
+ { {ACTION_USE, OBJECT_IPHASERK, 10, 0, 0}, &Room::demon3UsePhaserOnBoulder2 },
+ { {ACTION_USE, OBJECT_IPHASERK, 11, 0, 0}, &Room::demon3UsePhaserOnBoulder3 },
+ { {ACTION_USE, OBJECT_IPHASERK, 12, 0, 0}, &Room::demon3UsePhaserOnBoulder4 },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, 13, 0, 0}, &Room::demon3UseSTricorderOnMiner },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon3UseSTricorderOnPanel },
+ { {ACTION_USE, OBJECT_ISTRICOR, 9, 0, 0}, &Room::demon3UseSTricorderOnBoulder },
+ { {ACTION_USE, OBJECT_ISTRICOR, 10, 0, 0}, &Room::demon3UseSTricorderOnBoulder },
+ { {ACTION_USE, OBJECT_ISTRICOR, 11, 0, 0}, &Room::demon3UseSTricorderOnBoulder },
+ { {ACTION_USE, OBJECT_ISTRICOR, 12, 0, 0}, &Room::demon3UseSTricorderOnBoulder },
+ { {ACTION_USE, OBJECT_IMTRICOR, 9, 0, 0}, &Room::demon3UseMTricorderOnBoulder },
+ { {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::demon3UseMTricorderOnBoulder },
+ { {ACTION_USE, OBJECT_IMTRICOR, 11, 0, 0}, &Room::demon3UseMTricorderOnBoulder },
+ { {ACTION_USE, OBJECT_IMTRICOR, 12, 0, 0}, &Room::demon3UseMTricorderOnBoulder },
+
+ { {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::demon3UseCrewmanOnPanel },
+ { {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::demon3UseCrewmanOnPanel },
+ { {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::demon3UseCrewmanOnPanel },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::demon3UseRedshirtOnPanel },
+ { {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::demon3RedshirtReachedPanel },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::demon3RedshirtUsedPanel },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::demon3RedshirtElectrocuted },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon3UseSTricorderOnDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::demon3UseSTricorderOnAnything },
+ { {ACTION_USE, OBJECT_IMTRICOR, 14, 0, 0}, &Room::demon3UseMTricorderOnDoor },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::demon3UseMTricorderOnDoor },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0, 0}, &Room::demon3UseMTricorderOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERS, 14, 0, 0}, &Room::demon3UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERK, 14, 0, 0}, &Room::demon3UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERS, 0x21, 0, 0}, &Room::demon3UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERK, 0x21, 0, 0}, &Room::demon3UsePhaserOnDoor },
+
+ { {ACTION_USE, OBJECT_IHAND, 0x20, 0, 0}, &Room::demon3UseHandOnPanel },
+ { {ACTION_FINISHED_WALKING, 7, 0, 0, 0}, &Room::demon3KirkReachedHandPanel },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::demon3KirkUsedHandPanel },
+
+ { {ACTION_USE, OBJECT_IMTRICOR, 13, 0, 0}, &Room::demon3UseMTricorderOnMiner },
+ { {ACTION_USE, OBJECT_MCCOY, 13, 0, 0}, &Room::demon3UseMedkitOnMiner },
+ { {ACTION_USE, OBJECT_IMEDKIT, 13, 0, 0}, &Room::demon3UseMedkitOnMiner },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::demon3McCoyReachedMiner },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::demon3McCoyFinishedHealingMiner },
+
+ { {ACTION_GET, 13, 0, 0, 0}, &Room::demon3GetMiner },
+ { {ACTION_TALK, 13, 0, 0, 0}, &Room::demon3TalkToMiner },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon3TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon3TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon3TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon3TalkToRedshirt },
+
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon3LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon3LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon3LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon3LookAtRedshirt },
+
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon3LookAnywhere },
+ { {ACTION_LOOK, 13, 0, 0, 0}, &Room::demon3LookAtMiner },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::demon3LookAtBoulder1 },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon3LookAtBoulder2 },
+ { {ACTION_LOOK, 11, 0, 0, 0}, &Room::demon3LookAtBoulder3 },
+ { {ACTION_LOOK, 12, 0, 0, 0}, &Room::demon3LookAtBoulder4 },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon3LookAtStructure },
+ { {ACTION_LOOK, 14, 0, 0, 0}, &Room::demon3LookAtDoor },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon3LookAtDoor },
+ { {ACTION_LOOK, 15, 0, 0, 0}, &Room::demon3LookAtPanel },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon3LookAtPanel },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon3LookAtLight },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum demon3TextIds {
diff --git a/engines/startrek/rooms/demon4.cpp b/engines/startrek/rooms/demon4.cpp
index eba4273a5da..737e238ea4e 100644
--- a/engines/startrek/rooms/demon4.cpp
+++ b/engines/startrek/rooms/demon4.cpp
@@ -25,73 +25,73 @@
namespace StarTrek {
extern const RoomAction demon4ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::demon4Tick1 },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon4FinishedAnimation1 },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon4FinishedAnimation2 },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::demon4FinishedAnimation3 },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::demon4Timer0Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::demon4Timer1Expired },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::demon4CrewmanReachedBeamoutPosition },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::demon4Timer2Expired },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::demon4Timer3Expired },
- { {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::demon4Timer4Expired },
- { {ACTION_TIMER_EXPIRED, 5, 0, 0}, &Room::demon4Timer5Expired },
- { {ACTION_TIMER_EXPIRED, 6, 0, 0}, &Room::demon4Timer6Expired },
-
- { {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::demon4UsePhaserOnNauian },
- { {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::demon4UsePhaserOnNauian },
- { {ACTION_USE, OBJECT_IMETAL, 0x22, 0}, &Room::demon4UseMetalOnSecurityEquipment },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::demon4KirkReachedSecurityEquipment },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::demon4KirkFinishedUsingSecurityEquipment },
- { {ACTION_USE, OBJECT_IMETAL, 8, 0}, &Room::demon4UseMetalOnNauian },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon4KirkReachedNauian },
- { {ACTION_USE, OBJECT_ISKULL, 8, 0}, &Room::demon4UseSkullOnNauian },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon4KirkReachedNauianWithSkull },
-
- { {ACTION_USE, OBJECT_IPHASERS, 0x21, 0}, &Room::demon4UsePhaserOnPanel },
- { {ACTION_USE, OBJECT_IPHASERS, 0x20, 0}, &Room::demon4UsePhaserOnPattern },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0}, &Room::demon4UsePhaserOnMccoy },
-
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::demon4TalkToNauian },
- { {ACTION_TALK, 8, 0, 0}, &Room::demon4TalkToNauian },
-
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::demon4LookAtPattern },
- { {ACTION_LOOK, 8, 0, 0}, &Room::demon4LookAtAlien },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::demon4LookAnywhere },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::demon4LookAtSecurityEquipment },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::demon4LookAtFloor },
-
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon4LookAtKirk },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon4LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon4LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon4LookAtRedshirt },
-
- { {ACTION_LOOK, 10, 0, 0}, &Room::demon4LookAtChamber },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::demon4LookAtPanel },
-
- { {ACTION_USE, OBJECT_KIRK, 0x21, 0}, &Room::demon4UseKirkOnPanel },
- { {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::demon4UseSpockOnPanel },
- { {ACTION_USE, OBJECT_MCCOY, 0x21, 0}, &Room::demon4UseMccoyOnPanel },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::demon4UseRedshirtOnPanel },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::demon4CrewmanReachedPanel },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon4TalkToKirk },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon4TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon4TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon4TalkToRedshirt },
- { {ACTION_USE, OBJECT_ISTRICOR, 10, 0}, &Room::demon4UseSTricorderOnChamber },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon4UseSTricorderOnPattern },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0}, &Room::demon4UseMTricorderOnPattern },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon4UseSTricorderOnPanel },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::demon4UseMTricorderOnPanel },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::demon4UseSTricorderOnAnything },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::demon4UseSTricorderOnAnything },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x23, 0}, &Room::demon4UseMTricorderOnAnything },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::demon4UseMTricorderOnAnything },
- { {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::demon4UseSTricorderOnNauian },
- { {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon4UseMTricorderOnNauian },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::demon4UseSTricorderOnSecurityEquipment },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0}, &Room::demon4UseMTricorderOnSecurityEquipment },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::demon4Tick1 },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon4FinishedAnimation1 },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon4FinishedAnimation2 },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::demon4FinishedAnimation3 },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::demon4Timer0Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::demon4Timer1Expired },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::demon4CrewmanReachedBeamoutPosition },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::demon4Timer2Expired },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::demon4Timer3Expired },
+ { {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::demon4Timer4Expired },
+ { {ACTION_TIMER_EXPIRED, 5, 0, 0, 0}, &Room::demon4Timer5Expired },
+ { {ACTION_TIMER_EXPIRED, 6, 0, 0, 0}, &Room::demon4Timer6Expired },
+
+ { {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::demon4UsePhaserOnNauian },
+ { {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::demon4UsePhaserOnNauian },
+ { {ACTION_USE, OBJECT_IMETAL, 0x22, 0, 0}, &Room::demon4UseMetalOnSecurityEquipment },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::demon4KirkReachedSecurityEquipment },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::demon4KirkFinishedUsingSecurityEquipment },
+ { {ACTION_USE, OBJECT_IMETAL, 8, 0, 0}, &Room::demon4UseMetalOnNauian },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon4KirkReachedNauian },
+ { {ACTION_USE, OBJECT_ISKULL, 8, 0, 0}, &Room::demon4UseSkullOnNauian },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon4KirkReachedNauianWithSkull },
+
+ { {ACTION_USE, OBJECT_IPHASERS, 0x21, 0, 0}, &Room::demon4UsePhaserOnPanel },
+ { {ACTION_USE, OBJECT_IPHASERS, 0x20, 0, 0}, &Room::demon4UsePhaserOnPattern },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0, 0}, &Room::demon4UsePhaserOnMccoy },
+
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::demon4TalkToNauian },
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::demon4TalkToNauian },
+
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon4LookAtPattern },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon4LookAtAlien },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon4LookAnywhere },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon4LookAtSecurityEquipment },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon4LookAtFloor },
+
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon4LookAtKirk },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon4LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon4LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon4LookAtRedshirt },
+
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon4LookAtChamber },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon4LookAtPanel },
+
+ { {ACTION_USE, OBJECT_KIRK, 0x21, 0, 0}, &Room::demon4UseKirkOnPanel },
+ { {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::demon4UseSpockOnPanel },
+ { {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0}, &Room::demon4UseMccoyOnPanel },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::demon4UseRedshirtOnPanel },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::demon4CrewmanReachedPanel },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon4TalkToKirk },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon4TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon4TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon4TalkToRedshirt },
+ { {ACTION_USE, OBJECT_ISTRICOR, 10, 0, 0}, &Room::demon4UseSTricorderOnChamber },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon4UseSTricorderOnPattern },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0, 0}, &Room::demon4UseMTricorderOnPattern },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon4UseSTricorderOnPanel },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::demon4UseMTricorderOnPanel },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::demon4UseSTricorderOnAnything },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::demon4UseSTricorderOnAnything },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x23, 0, 0}, &Room::demon4UseMTricorderOnAnything },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::demon4UseMTricorderOnAnything },
+ { {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::demon4UseSTricorderOnNauian },
+ { {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon4UseMTricorderOnNauian },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::demon4UseSTricorderOnSecurityEquipment },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0, 0}, &Room::demon4UseMTricorderOnSecurityEquipment },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum demon4TextIds {
diff --git a/engines/startrek/rooms/demon5.cpp b/engines/startrek/rooms/demon5.cpp
index 40aa78053de..6a75583940a 100644
--- a/engines/startrek/rooms/demon5.cpp
+++ b/engines/startrek/rooms/demon5.cpp
@@ -24,59 +24,59 @@
namespace StarTrek {
extern const RoomAction demon5ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::demon5Tick1 },
- { {ACTION_WALK, 0x22, 0, 0}, &Room::demon5WalkToDoor },
- { {ACTION_WALK, 12, 0, 0}, &Room::demon5WalkToDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::demon5TouchedDoorOpenTrigger },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon5DoorOpenedOrReachedDoor },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon5DoorOpenedOrReachedDoor },
-
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon5UseSTricorderOnCrate },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::demon5UsePhaserOnAnything },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::demon5UsePhaserOnAnything },
-
- { {ACTION_USE, OBJECT_IHAND, 11, 0}, &Room::demon5UseHandOnStephen },
- { {ACTION_USE, OBJECT_IBERRY, 11, 0}, &Room::demon5UseBerryOnStephen },
- { {ACTION_USE, OBJECT_IDETOXIN, 9, 0}, &Room::demon5UseHypoDytoxinOnChub },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon5MccoyReachedChub },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon5MccoyHealedChub },
-
- { {ACTION_USE, OBJECT_IDETOXIN, 0xff, 0}, &Room::demon5UseHypoDytoxinOnAnything },
- { {ACTION_USE, OBJECT_IBERRY, 9, 0}, &Room::demon5UseBerryOnChub },
-
- { {ACTION_LOOK, 8, 0, 0}, &Room::demon5LookAtRoberts },
- { {ACTION_LOOK, 10, 0, 0}, &Room::demon5LookAtGrisnash },
- { {ACTION_LOOK, 11, 0, 0}, &Room::demon5LookAtStephen },
-
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon5LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon5LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon5LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon5LookAtRedshirt },
-
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::demon5LookAtMountain },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::demon5LookAtCrate },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::demon5LookAnywhere },
- { {ACTION_LOOK, 9, 0, 0}, &Room::demon5LookAtChub },
-
- { {ACTION_TALK, 8, 0, 0}, &Room::demon5TalkToRoberts },
- { {ACTION_TALK, 9, 0, 0}, &Room::demon5TalkToChub },
- { {ACTION_TALK, 10, 0, 0}, &Room::demon5TalkToGrisnash },
- { {ACTION_TALK, 11, 0, 0}, &Room::demon5TalkToStephen },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon5TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon5TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon5TalkToRedshirt },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon5TalkToMccoy },
-
- { {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon5UseMTricorderOnRoberts },
- { {ACTION_USE, OBJECT_IMEDKIT, 9, 0}, &Room::demon5UseMTricorderOnChub },
- { {ACTION_USE, OBJECT_MCCOY, 9, 0}, &Room::demon5UseMTricorderOnChub },
- { {ACTION_USE, OBJECT_IMTRICOR, 9, 0}, &Room::demon5UseMTricorderOnChub },
- { {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::demon5UseMTricorderOnGrisnash },
- { {ACTION_USE, OBJECT_IMTRICOR, 11, 0}, &Room::demon5UseMTricorderOnStephen },
-
- { {ACTION_GET, 0x21, 0, 0}, &Room::demon5GetCrate },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::demon5Tick1 },
+ { {ACTION_WALK, 0x22, 0, 0, 0}, &Room::demon5WalkToDoor },
+ { {ACTION_WALK, 12, 0, 0, 0}, &Room::demon5WalkToDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::demon5TouchedDoorOpenTrigger },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon5DoorOpenedOrReachedDoor },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon5DoorOpenedOrReachedDoor },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon5UseSTricorderOnCrate },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::demon5UsePhaserOnAnything },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::demon5UsePhaserOnAnything },
+
+ { {ACTION_USE, OBJECT_IHAND, 11, 0, 0}, &Room::demon5UseHandOnStephen },
+ { {ACTION_USE, OBJECT_IBERRY, 11, 0, 0}, &Room::demon5UseBerryOnStephen },
+ { {ACTION_USE, OBJECT_IDETOXIN, 9, 0, 0}, &Room::demon5UseHypoDytoxinOnChub },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon5MccoyReachedChub },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon5MccoyHealedChub },
+
+ { {ACTION_USE, OBJECT_IDETOXIN, 0xff, 0, 0}, &Room::demon5UseHypoDytoxinOnAnything },
+ { {ACTION_USE, OBJECT_IBERRY, 9, 0, 0}, &Room::demon5UseBerryOnChub },
+
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon5LookAtRoberts },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon5LookAtGrisnash },
+ { {ACTION_LOOK, 11, 0, 0, 0}, &Room::demon5LookAtStephen },
+
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon5LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon5LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon5LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon5LookAtRedshirt },
+
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon5LookAtMountain },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon5LookAtCrate },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon5LookAnywhere },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::demon5LookAtChub },
+
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::demon5TalkToRoberts },
+ { {ACTION_TALK, 9, 0, 0, 0}, &Room::demon5TalkToChub },
+ { {ACTION_TALK, 10, 0, 0, 0}, &Room::demon5TalkToGrisnash },
+ { {ACTION_TALK, 11, 0, 0, 0}, &Room::demon5TalkToStephen },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon5TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon5TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon5TalkToRedshirt },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon5TalkToMccoy },
+
+ { {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon5UseMTricorderOnRoberts },
+ { {ACTION_USE, OBJECT_IMEDKIT, 9, 0, 0}, &Room::demon5UseMTricorderOnChub },
+ { {ACTION_USE, OBJECT_MCCOY, 9, 0, 0}, &Room::demon5UseMTricorderOnChub },
+ { {ACTION_USE, OBJECT_IMTRICOR, 9, 0, 0}, &Room::demon5UseMTricorderOnChub },
+ { {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::demon5UseMTricorderOnGrisnash },
+ { {ACTION_USE, OBJECT_IMTRICOR, 11, 0, 0}, &Room::demon5UseMTricorderOnStephen },
+
+ { {ACTION_GET, 0x21, 0, 0, 0}, &Room::demon5GetCrate },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum demon5TextIds {
diff --git a/engines/startrek/rooms/demon6.cpp b/engines/startrek/rooms/demon6.cpp
index c2103462ce6..9f7e3e2a35d 100644
--- a/engines/startrek/rooms/demon6.cpp
+++ b/engines/startrek/rooms/demon6.cpp
@@ -25,84 +25,84 @@
namespace StarTrek {
extern const RoomAction demon6ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::demon6Tick1 },
- { {ACTION_TICK, 30, 0, 0}, &Room::demon6Tick30 },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::demon6SpockReachedComputer },
-
- { {ACTION_WALK, 0x26, 0, 0}, &Room::demon6WalkToDoor },
- { {ACTION_WALK, 10, 0, 0}, &Room::demon6WalkToDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::demon6TouchedDoorOpenTrigger },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::demon6DoorOpenedOrReachedDoor },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon6DoorOpenedOrReachedDoor },
- { {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::demon6UsePhaserOnStephen },
- { {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::demon6UsePhaserOnStephen },
- { {ACTION_USE, OBJECT_IPHASERK, 0x20, 0}, &Room::demon6UsePhaserOnCase },
- { {ACTION_USE, OBJECT_IPHASERS, 0x20, 0}, &Room::demon6UsePhaserOnCase },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::demon6LookAtWorkspace },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::demon6LookAtCase },
- { {ACTION_LOOK, 0x25, 0, 0}, &Room::demon6LookAtTable },
- { {ACTION_LOOK, OBJECT_IMINERAL, 0, 0}, &Room::demon6LookAtMineral },
- { {ACTION_LOOK, OBJECT_ISHELLS, 0, 0}, &Room::demon6LookAtShells },
- { {ACTION_LOOK, OBJECT_ISKULL, 0, 0}, &Room::demon6LookAtSkull },
- { {ACTION_LOOK, OBJECT_IMETAL, 0, 0}, &Room::demon6LookAtMetal },
- { {ACTION_LOOK, OBJECT_IMETEOR, 0, 0}, &Room::demon6LookAtMeteor },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::demon6LookAtMountain },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::demon6LookAtSynthesizer },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon6LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon6LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon6LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon6LookAtRedshirt },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::demon6LookAtComputer },
- { {ACTION_LOOK, 9, 0, 0}, &Room::demon6LookAtComputer },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::demon6LookAnywhere },
- { {ACTION_LOOK, 8, 0, 0}, &Room::demon6LookAtStephen },
-
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon6TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon6TalkToSpock },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon6TalkToKirk },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon6TalkToRedshirt },
- { {ACTION_TALK, 8, 0, 0}, &Room::demon6TalkToStephen },
- { {ACTION_USE, OBJECT_IBERRY, 8, 0}, &Room::demon6UseBerryOnStephen },
- { {ACTION_USE, OBJECT_IBERRY, 0x23, 0}, &Room::demon6UseBerryOnSynthesizer },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon6MccoyReachedSynthesizer },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon6FinishedMakingHypoDytoxin },
- { {ACTION_USE, OBJECT_IHAND, 0x22, 0}, &Room::demon6UseHandOnWorkspace },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon6SpockReachedWorkspace },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::demon6SpockFinishedRepairingHand },
- { {ACTION_USE, 0xff, 0x22, 0}, &Room::demon6UseAnythingOnWorkspace },
- { {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::demon6UseCrewmanOnCase },
- { {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::demon6UseCrewmanOnCase },
- { {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::demon6UseCrewmanOnCase },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::demon6UseCrewmanOnCase },
-
- { {ACTION_USE, OBJECT_KIRK, 0x21, 0}, &Room::demon6UseKirkOnComputer },
- { {ACTION_USE, OBJECT_KIRK, 9, 0}, &Room::demon6UseKirkOnComputer },
- { {ACTION_USE, OBJECT_MCCOY, 0x21, 0}, &Room::demon6UseMccoyOnComputer },
- { {ACTION_USE, OBJECT_MCCOY, 9, 0}, &Room::demon6UseMccoyOnComputer },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::demon6UseRedshirtOnComputer },
- { {ACTION_USE, OBJECT_REDSHIRT, 9, 0}, &Room::demon6UseRedshirtOnComputer },
- { {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::demon6UseSpockOnComputer },
- { {ACTION_USE, OBJECT_SPOCK, 9, 0}, &Room::demon6UseSpockOnComputer },
- { {ACTION_USE, OBJECT_IMINERAL, 8, 0}, &Room::demon6UseMineralOnStephen },
- { {ACTION_USE, OBJECT_ISHELLS, 8, 0}, &Room::demon6UseShellsOnStephen },
- { {ACTION_USE, OBJECT_IMETEOR, 8, 0}, &Room::demon6UseMeteorOnStephen },
- { {ACTION_USE, OBJECT_ISKULL, 8, 0}, &Room::demon6UseSkullOnStephen },
- { {ACTION_USE, OBJECT_IMETAL, 8, 0}, &Room::demon6UseMetalOnStephen },
- { {ACTION_USE, OBJECT_IHAND, 8, 0}, &Room::demon6UseHandOnStephen },
- { {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon6UseMTricoderOnStephen },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::demon6UseSTricoderOnTable },
- { {ACTION_USE, OBJECT_ISTRICOR, 9, 0}, &Room::demon6UseSTricoderOnComputer },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon6UseSTricoderOnComputer },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMINERAL, 0}, &Room::demon6UseSTricoderOnMineral },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ISHELLS, 0}, &Room::demon6UseSTricoderOnShells },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ISKULL, 0}, &Room::demon6UseSTricoderOnSkull },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMETAL, 0}, &Room::demon6UseSTricoderOnMetal },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMETEOR, 0}, &Room::demon6UseSTricoderOnMeteor },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon6UseSTricoderOnCase },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::demon6UseSTricoderOnSynthesizer },
- { {ACTION_GET, 0x20, 0, 0}, &Room::demon6GetCase },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::demon6KirkReachedCase },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::demon6Tick1 },
+ { {ACTION_TICK, 30, 0, 0, 0}, &Room::demon6Tick30 },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::demon6SpockReachedComputer },
+
+ { {ACTION_WALK, 0x26, 0, 0, 0}, &Room::demon6WalkToDoor },
+ { {ACTION_WALK, 10, 0, 0, 0}, &Room::demon6WalkToDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::demon6TouchedDoorOpenTrigger },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::demon6DoorOpenedOrReachedDoor },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon6DoorOpenedOrReachedDoor },
+ { {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::demon6UsePhaserOnStephen },
+ { {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::demon6UsePhaserOnStephen },
+ { {ACTION_USE, OBJECT_IPHASERK, 0x20, 0, 0}, &Room::demon6UsePhaserOnCase },
+ { {ACTION_USE, OBJECT_IPHASERS, 0x20, 0, 0}, &Room::demon6UsePhaserOnCase },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon6LookAtWorkspace },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon6LookAtCase },
+ { {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::demon6LookAtTable },
+ { {ACTION_LOOK, OBJECT_IMINERAL, 0, 0, 0}, &Room::demon6LookAtMineral },
+ { {ACTION_LOOK, OBJECT_ISHELLS, 0, 0, 0}, &Room::demon6LookAtShells },
+ { {ACTION_LOOK, OBJECT_ISKULL, 0, 0, 0}, &Room::demon6LookAtSkull },
+ { {ACTION_LOOK, OBJECT_IMETAL, 0, 0, 0}, &Room::demon6LookAtMetal },
+ { {ACTION_LOOK, OBJECT_IMETEOR, 0, 0, 0}, &Room::demon6LookAtMeteor },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::demon6LookAtMountain },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon6LookAtSynthesizer },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon6LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon6LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon6LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon6LookAtRedshirt },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon6LookAtComputer },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::demon6LookAtComputer },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon6LookAnywhere },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon6LookAtStephen },
+
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon6TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon6TalkToSpock },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon6TalkToKirk },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon6TalkToRedshirt },
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::demon6TalkToStephen },
+ { {ACTION_USE, OBJECT_IBERRY, 8, 0, 0}, &Room::demon6UseBerryOnStephen },
+ { {ACTION_USE, OBJECT_IBERRY, 0x23, 0, 0}, &Room::demon6UseBerryOnSynthesizer },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon6MccoyReachedSynthesizer },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon6FinishedMakingHypoDytoxin },
+ { {ACTION_USE, OBJECT_IHAND, 0x22, 0, 0}, &Room::demon6UseHandOnWorkspace },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon6SpockReachedWorkspace },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::demon6SpockFinishedRepairingHand },
+ { {ACTION_USE, 0xff, 0x22, 0, 0}, &Room::demon6UseAnythingOnWorkspace },
+ { {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::demon6UseCrewmanOnCase },
+ { {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::demon6UseCrewmanOnCase },
+ { {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::demon6UseCrewmanOnCase },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::demon6UseCrewmanOnCase },
+
+ { {ACTION_USE, OBJECT_KIRK, 0x21, 0, 0}, &Room::demon6UseKirkOnComputer },
+ { {ACTION_USE, OBJECT_KIRK, 9, 0, 0}, &Room::demon6UseKirkOnComputer },
+ { {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0}, &Room::demon6UseMccoyOnComputer },
+ { {ACTION_USE, OBJECT_MCCOY, 9, 0, 0}, &Room::demon6UseMccoyOnComputer },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::demon6UseRedshirtOnComputer },
+ { {ACTION_USE, OBJECT_REDSHIRT, 9, 0, 0}, &Room::demon6UseRedshirtOnComputer },
+ { {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::demon6UseSpockOnComputer },
+ { {ACTION_USE, OBJECT_SPOCK, 9, 0, 0}, &Room::demon6UseSpockOnComputer },
+ { {ACTION_USE, OBJECT_IMINERAL, 8, 0, 0}, &Room::demon6UseMineralOnStephen },
+ { {ACTION_USE, OBJECT_ISHELLS, 8, 0, 0}, &Room::demon6UseShellsOnStephen },
+ { {ACTION_USE, OBJECT_IMETEOR, 8, 0, 0}, &Room::demon6UseMeteorOnStephen },
+ { {ACTION_USE, OBJECT_ISKULL, 8, 0, 0}, &Room::demon6UseSkullOnStephen },
+ { {ACTION_USE, OBJECT_IMETAL, 8, 0, 0}, &Room::demon6UseMetalOnStephen },
+ { {ACTION_USE, OBJECT_IHAND, 8, 0, 0}, &Room::demon6UseHandOnStephen },
+ { {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon6UseMTricoderOnStephen },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::demon6UseSTricoderOnTable },
+ { {ACTION_USE, OBJECT_ISTRICOR, 9, 0, 0}, &Room::demon6UseSTricoderOnComputer },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon6UseSTricoderOnComputer },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMINERAL, 0, 0}, &Room::demon6UseSTricoderOnMineral },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ISHELLS, 0, 0}, &Room::demon6UseSTricoderOnShells },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ISKULL, 0, 0}, &Room::demon6UseSTricoderOnSkull },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMETAL, 0, 0}, &Room::demon6UseSTricoderOnMetal },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMETEOR, 0, 0}, &Room::demon6UseSTricoderOnMeteor },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon6UseSTricoderOnCase },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::demon6UseSTricoderOnSynthesizer },
+ { {ACTION_GET, 0x20, 0, 0, 0}, &Room::demon6GetCase },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::demon6KirkReachedCase },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum demon6TextIds {
diff --git a/engines/startrek/rooms/feather0.cpp b/engines/startrek/rooms/feather0.cpp
index 6b0c9128f8a..aa65eb37b14 100644
--- a/engines/startrek/rooms/feather0.cpp
+++ b/engines/startrek/rooms/feather0.cpp
@@ -40,41 +40,41 @@
namespace StarTrek {
extern const RoomAction feather0ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::feather0Tick1 },
- { {ACTION_TICK, 60, 0, 0}, &Room::feather0Tick60 },
- { {ACTION_TALK, 8, 0, 0}, &Room::feather0TalkToQuetzecoatl },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::feather0Timer0Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::feather0Timer1Expired },
- { {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::feather0UsePhaserOnQuetzecoatl },
- { {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::feather0UsePhaserOnQuetzecoatl },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0}, &Room::feather0UsePhaserOnMccoy },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0}, &Room::feather0UsePhaserOnMccoy },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::feather0UseMedkit },
- { {ACTION_LOOK, 8, 0, 0}, &Room::feather0LookAtQuetzecoatl },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::feather0LookAtMoon },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::feather0LookAtLog },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::feather0LookAtHut },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::feather0LookAnywhere },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::feather0LookAtEyes },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::feather0LookAtEyes },
- { {ACTION_LOOK, 0x25, 0, 0}, &Room::feather0LookAtEyes },
- { {ACTION_LOOK, 0x26, 0, 0}, &Room::feather0LookAtEyes },
- { {ACTION_LOOK, 0x27, 0, 0}, &Room::feather0LookAtEyes },
- { {ACTION_LOOK, 0x28, 0, 0}, &Room::feather0LookAtEyes },
- { {ACTION_LOOK, 0x29, 0, 0}, &Room::feather0LookAtEyes },
- { {ACTION_LOOK, 0x2a, 0, 0}, &Room::feather0LookAtEyes },
- { {ACTION_LOOK, 0x2b, 0, 0}, &Room::feather0LookAtEyes },
- { {ACTION_LOOK, 0x2c, 0, 0}, &Room::feather0LookAtTree },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::feather0LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::feather0LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::feather0LookAtRedshirt },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::feather0TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::feather0TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::feather0TalkToRedshirt },
- { {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::feather0UseSTricorderOnQuetzecoatl },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather0UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::feather0UseMTricorderOnQuetzecoatl },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::feather0Tick1 },
+ { {ACTION_TICK, 60, 0, 0, 0}, &Room::feather0Tick60 },
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::feather0TalkToQuetzecoatl },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::feather0Timer0Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::feather0Timer1Expired },
+ { {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::feather0UsePhaserOnQuetzecoatl },
+ { {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::feather0UsePhaserOnQuetzecoatl },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0, 0}, &Room::feather0UsePhaserOnMccoy },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0, 0}, &Room::feather0UsePhaserOnMccoy },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::feather0UseMedkit },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::feather0LookAtQuetzecoatl },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::feather0LookAtMoon },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::feather0LookAtLog },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::feather0LookAtHut },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::feather0LookAnywhere },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::feather0LookAtEyes },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::feather0LookAtEyes },
+ { {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::feather0LookAtEyes },
+ { {ACTION_LOOK, 0x26, 0, 0, 0}, &Room::feather0LookAtEyes },
+ { {ACTION_LOOK, 0x27, 0, 0, 0}, &Room::feather0LookAtEyes },
+ { {ACTION_LOOK, 0x28, 0, 0, 0}, &Room::feather0LookAtEyes },
+ { {ACTION_LOOK, 0x29, 0, 0, 0}, &Room::feather0LookAtEyes },
+ { {ACTION_LOOK, 0x2a, 0, 0, 0}, &Room::feather0LookAtEyes },
+ { {ACTION_LOOK, 0x2b, 0, 0, 0}, &Room::feather0LookAtEyes },
+ { {ACTION_LOOK, 0x2c, 0, 0, 0}, &Room::feather0LookAtTree },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather0LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather0LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather0LookAtRedshirt },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather0TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather0TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather0TalkToRedshirt },
+ { {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::feather0UseSTricorderOnQuetzecoatl },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather0UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::feather0UseMTricorderOnQuetzecoatl },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum feather0TextIds {
diff --git a/engines/startrek/rooms/feather1.cpp b/engines/startrek/rooms/feather1.cpp
index 648ae07b086..c3bb39798f6 100644
--- a/engines/startrek/rooms/feather1.cpp
+++ b/engines/startrek/rooms/feather1.cpp
@@ -46,99 +46,99 @@
namespace StarTrek {
extern const RoomAction feather1ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::feather1Tick1 },
- { {ACTION_TICK, 45, 0, 0}, &Room::feather1Tick45 },
- { {ACTION_TICK, 85, 0, 0}, &Room::feather1Tick85 },
- { {ACTION_TICK, 95, 0, 0}, &Room::feather1Tick95 },
- { {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::feather1QuetzecoatlDisappeared },
- { {ACTION_GET, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1GetRightVine },
- { {ACTION_GET, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1GetLeftVine },
- { {ACTION_GET, HOTSPOT_ROCKS, 0, 0}, &Room::feather1GetRocks },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::feather1ReachedRocks },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::feather1PickedUpRocks },
- { {ACTION_GET, OBJECT_SNAKE, 0, 0}, &Room::feather1GetSnake },
- { {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::feather1ReachedSnake },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::feather1Timer1Expired },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::feather1Timer2Expired },
- { {ACTION_FINISHED_ANIMATION, 8, 0, 0}, &Room::feather1PickedUpSnake },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::feather1Timer0Expired },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::feather1UseCommunicator },
- { {ACTION_USE, OBJECT_IROCK, HOTSPOT_HOLE, 0}, &Room::feather1UseRockOnHole },
- { {ACTION_FINISHED_WALKING, 9, 0, 0}, &Room::feather1ReachedHole },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::feather1Timer3Expired },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::feather1PutRockInHole },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_LEFT_VINE, 0}, &Room::feather1UseSnakeOnLeftVine },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0}, &Room::feather1UseSnakeOnSpock },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0}, &Room::feather1UseSnakeOnKirk },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0}, &Room::feather1UseSnakeOnMccoy },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0}, &Room::feather1UseSnakeOnRedshirt },
- { {ACTION_USE, OBJECT_IROCK, OBJECT_SNAKE, 0}, &Room::feather1UseRockOnSnake },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_SNAKE, 0}, &Room::feather1UseSpockOnSnake },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_SNAKE, 0}, &Room::feather1UseMccoyOnSnake },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SNAKE, 0}, &Room::feather1UseRedshirtOnSnake },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_HOLE, 0}, &Room::feather1UseSpockOnHole },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_HOLE, 0}, &Room::feather1UseMccoyOnHole },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_HOLE, 0}, &Room::feather1UseRedshirtOnHole },
- { {ACTION_USE, OBJECT_IROCK, HOTSPOT_MOSS, 0}, &Room::feather1UseRockOnMoss },
- { {ACTION_USE, OBJECT_IROCK, OBJECT_SPOCK, 0}, &Room::feather1UseRockOnSpock },
- { {ACTION_USE, OBJECT_IROCK, OBJECT_MCCOY, 0}, &Room::feather1UseRockOnMccoy },
- { {ACTION_USE, OBJECT_IROCK, OBJECT_REDSHIRT, 0}, &Room::feather1UseRockOnRedshirt },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_MOSS, 0}, &Room::feather1UseSpockOnMoss },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_MOSS, 0}, &Room::feather1UseMccoyOnMoss },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_MOSS, 0}, &Room::feather1UseRedshirtOnMoss },
- { {ACTION_USE, OBJECT_IROCK, OBJECT_LEFT_VINE, 0}, &Room::feather1UseRockOnLeftVine },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::feather1ReadyToThrowRock1 },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::feather1ThrewRock1 },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::feather1ReadyToThrowRock2 },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::feather1ThrewRock2 },
-
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_LEFT_VINE, 0}, &Room::feather1UseSpockOnVine },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseSpockOnVine },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_LEFT_VINE, 0}, &Room::feather1UseMccoyOnVine },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseMccoyOnVine },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_LEFT_VINE, 0}, &Room::feather1UseRedshirtOnVine },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseRedshirtOnVine },
- { {ACTION_USE, OBJECT_KIRK, OBJECT_LEFT_VINE, 0}, &Room::feather1UseKirkOnVine },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseKirkOnVine },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::feather1ReachedVineToClimbUp },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::feather1ClimbedUpVine },
- { {ACTION_FINISHED_WALKING, 10, 0, 0}, &Room::feather1ReachedVineToClimbDown },
- { {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::feather1ClimbedDownVine },
-
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::feather1UsePhaser },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::feather1UsePhaser },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseSTricorderOnRightVine },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SNAKE, 0}, &Room::feather1UseSTricorderOnSnake },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MOSS, 0}, &Room::feather1UseSTricorderOnMoss },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_HOLE, 0}, &Room::feather1UseSTricorderOnHole },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather1UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_ROCKS, 0}, &Room::feather1UseSTricorderOnRocks },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_LEFT_VINE, 0}, &Room::feather1UseMTricorderOnVine },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseMTricorderOnVine },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MOSS, 0}, &Room::feather1UseMTricorderOnMoss },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_HOLE, 0}, &Room::feather1UseMTricorderOnHole },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SNAKE, 0}, &Room::feather1UseMTricorderOnSnake },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::feather1UseMedkit },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::feather1TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::feather1TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::feather1TalkToRedshirt },
- { {ACTION_WALK, HOTSPOT_EXIT, 0, 0}, &Room::feather1WalkToExit },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::feather1LookAnywhere },
- { {ACTION_LOOK, OBJECT_SNAKE, 0, 0}, &Room::feather1LookAtSnake },
- { {ACTION_LOOK, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1LookAtRightVine },
- { {ACTION_LOOK, HOTSPOT_HOLE, 0, 0}, &Room::feather1LookAtHole },
- { {ACTION_LOOK, HOTSPOT_MOSS, 0, 0}, &Room::feather1LookAtMoss },
- { {ACTION_LOOK, HOTSPOT_ROCKS, 0, 0}, &Room::feather1LookAtRocks },
- { {ACTION_LOOK, HOTSPOT_LIGHT, 0, 0}, &Room::feather1LookAtLight },
- { {ACTION_LOOK, HOTSPOT_EYES_1, 0, 0}, &Room::feather1LookAtEyes },
- { {ACTION_LOOK, HOTSPOT_EYES_2, 0, 0}, &Room::feather1LookAtEyes },
- { {ACTION_LOOK, HOTSPOT_EYES_3, 0, 0}, &Room::feather1LookAtEyes },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::feather1LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::feather1LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::feather1LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::feather1LookAtRedshirt },
- { {ACTION_LOOK, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1LookAtLeftVine },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::feather1Tick1 },
+ { {ACTION_TICK, 45, 0, 0, 0}, &Room::feather1Tick45 },
+ { {ACTION_TICK, 85, 0, 0, 0}, &Room::feather1Tick85 },
+ { {ACTION_TICK, 95, 0, 0, 0}, &Room::feather1Tick95 },
+ { {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::feather1QuetzecoatlDisappeared },
+ { {ACTION_GET, HOTSPOT_RIGHT_VINE, 0, 0, 0}, &Room::feather1GetRightVine },
+ { {ACTION_GET, OBJECT_LEFT_VINE, 0, 0, 0}, &Room::feather1GetLeftVine },
+ { {ACTION_GET, HOTSPOT_ROCKS, 0, 0, 0}, &Room::feather1GetRocks },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::feather1ReachedRocks },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::feather1PickedUpRocks },
+ { {ACTION_GET, OBJECT_SNAKE, 0, 0, 0}, &Room::feather1GetSnake },
+ { {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::feather1ReachedSnake },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::feather1Timer1Expired },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::feather1Timer2Expired },
+ { {ACTION_FINISHED_ANIMATION, 8, 0, 0, 0}, &Room::feather1PickedUpSnake },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::feather1Timer0Expired },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::feather1UseCommunicator },
+ { {ACTION_USE, OBJECT_IROCK, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseRockOnHole },
+ { {ACTION_FINISHED_WALKING, 9, 0, 0, 0}, &Room::feather1ReachedHole },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::feather1Timer3Expired },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::feather1PutRockInHole },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1UseSnakeOnLeftVine },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0, 0}, &Room::feather1UseSnakeOnSpock },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0, 0}, &Room::feather1UseSnakeOnKirk },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0, 0}, &Room::feather1UseSnakeOnMccoy },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0, 0}, &Room::feather1UseSnakeOnRedshirt },
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_SNAKE, 0, 0}, &Room::feather1UseRockOnSnake },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_SNAKE, 0, 0}, &Room::feather1UseSpockOnSnake },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_SNAKE, 0, 0}, &Room::feather1UseMccoyOnSnake },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SNAKE, 0, 0}, &Room::feather1UseRedshirtOnSnake },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseSpockOnHole },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseMccoyOnHole },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseRedshirtOnHole },
+ { {ACTION_USE, OBJECT_IROCK, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseRockOnMoss },
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_SPOCK, 0, 0}, &Room::feather1UseRockOnSpock },
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_MCCOY, 0, 0}, &Room::feather1UseRockOnMccoy },
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_REDSHIRT, 0, 0}, &Room::feather1UseRockOnRedshirt },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseSpockOnMoss },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseMccoyOnMoss },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseRedshirtOnMoss },
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1UseRockOnLeftVine },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::feather1ReadyToThrowRock1 },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::feather1ThrewRock1 },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::feather1ReadyToThrowRock2 },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::feather1ThrewRock2 },
+
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1UseSpockOnVine },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseSpockOnVine },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1UseMccoyOnVine },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseMccoyOnVine },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1UseRedshirtOnVine },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseRedshirtOnVine },
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1UseKirkOnVine },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseKirkOnVine },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::feather1ReachedVineToClimbUp },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::feather1ClimbedUpVine },
+ { {ACTION_FINISHED_WALKING, 10, 0, 0, 0}, &Room::feather1ReachedVineToClimbDown },
+ { {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::feather1ClimbedDownVine },
+
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::feather1UsePhaser },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::feather1UsePhaser },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseSTricorderOnRightVine },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SNAKE, 0, 0}, &Room::feather1UseSTricorderOnSnake },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseSTricorderOnMoss },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseSTricorderOnHole },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather1UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_ROCKS, 0, 0}, &Room::feather1UseSTricorderOnRocks },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1UseMTricorderOnVine },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseMTricorderOnVine },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseMTricorderOnMoss },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseMTricorderOnHole },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SNAKE, 0, 0}, &Room::feather1UseMTricorderOnSnake },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::feather1UseMedkit },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather1TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather1TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather1TalkToRedshirt },
+ { {ACTION_WALK, HOTSPOT_EXIT, 0, 0, 0}, &Room::feather1WalkToExit },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::feather1LookAnywhere },
+ { {ACTION_LOOK, OBJECT_SNAKE, 0, 0, 0}, &Room::feather1LookAtSnake },
+ { {ACTION_LOOK, HOTSPOT_RIGHT_VINE, 0, 0, 0}, &Room::feather1LookAtRightVine },
+ { {ACTION_LOOK, HOTSPOT_HOLE, 0, 0, 0}, &Room::feather1LookAtHole },
+ { {ACTION_LOOK, HOTSPOT_MOSS, 0, 0, 0}, &Room::feather1LookAtMoss },
+ { {ACTION_LOOK, HOTSPOT_ROCKS, 0, 0, 0}, &Room::feather1LookAtRocks },
+ { {ACTION_LOOK, HOTSPOT_LIGHT, 0, 0, 0}, &Room::feather1LookAtLight },
+ { {ACTION_LOOK, HOTSPOT_EYES_1, 0, 0, 0}, &Room::feather1LookAtEyes },
+ { {ACTION_LOOK, HOTSPOT_EYES_2, 0, 0, 0}, &Room::feather1LookAtEyes },
+ { {ACTION_LOOK, HOTSPOT_EYES_3, 0, 0, 0}, &Room::feather1LookAtEyes },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::feather1LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather1LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather1LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather1LookAtRedshirt },
+ { {ACTION_LOOK, OBJECT_LEFT_VINE, 0, 0, 0}, &Room::feather1LookAtLeftVine },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum feather1TextIds {
diff --git a/engines/startrek/rooms/feather2.cpp b/engines/startrek/rooms/feather2.cpp
index 578cfb127af..08b5f2f64e6 100644
--- a/engines/startrek/rooms/feather2.cpp
+++ b/engines/startrek/rooms/feather2.cpp
@@ -32,29 +32,29 @@
namespace StarTrek {
extern const RoomAction feather2ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::feather2Tick1 },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::feather2UseCommunicator },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::feather2UsePhaser },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::feather2UsePhaser },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather2UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::feather2UseMTricorderAnywhere },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::feather2TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::feather2TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::feather2TalkToRedshirt },
- { {ACTION_LOOK, HOTSPOT_VINES, 0, 0}, &Room::feather2LookAtVines },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::feather2UseMedkit },
- { {ACTION_WALK, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather2WalkToLeftExit },
- { {ACTION_LOOK, HOTSPOT_EYES_1, 0, 0}, &Room::feather2LookAtEyes },
- { {ACTION_LOOK, HOTSPOT_EYES_2, 0, 0}, &Room::feather2LookAtEyes },
- { {ACTION_LOOK, HOTSPOT_EYES_3, 0, 0}, &Room::feather2LookAtEyes },
- { {ACTION_LOOK, HOTSPOT_BIG_TREE, 0, 0}, &Room::feather2LookAtBigTree },
- { {ACTION_LOOK, HOTSPOT_TREES, 0, 0}, &Room::feather2LookAtTrees },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::feather2LookAnywhere },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::feather2LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::feather2LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::feather2LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::feather2LookAtRedshirt },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::feather2Tick1 },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::feather2UseCommunicator },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::feather2UsePhaser },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::feather2UsePhaser },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather2UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::feather2UseMTricorderAnywhere },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather2TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather2TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather2TalkToRedshirt },
+ { {ACTION_LOOK, HOTSPOT_VINES, 0, 0, 0}, &Room::feather2LookAtVines },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::feather2UseMedkit },
+ { {ACTION_WALK, HOTSPOT_LEFT_EXIT, 0, 0, 0}, &Room::feather2WalkToLeftExit },
+ { {ACTION_LOOK, HOTSPOT_EYES_1, 0, 0, 0}, &Room::feather2LookAtEyes },
+ { {ACTION_LOOK, HOTSPOT_EYES_2, 0, 0, 0}, &Room::feather2LookAtEyes },
+ { {ACTION_LOOK, HOTSPOT_EYES_3, 0, 0, 0}, &Room::feather2LookAtEyes },
+ { {ACTION_LOOK, HOTSPOT_BIG_TREE, 0, 0, 0}, &Room::feather2LookAtBigTree },
+ { {ACTION_LOOK, HOTSPOT_TREES, 0, 0, 0}, &Room::feather2LookAtTrees },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::feather2LookAnywhere },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::feather2LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather2LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather2LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather2LookAtRedshirt },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum feather2TextIds {
diff --git a/engines/startrek/rooms/feather3.cpp b/engines/startrek/rooms/feather3.cpp
index a8b371ec475..f9395f21bc6 100644
--- a/engines/startrek/rooms/feather3.cpp
+++ b/engines/startrek/rooms/feather3.cpp
@@ -35,59 +35,59 @@
namespace StarTrek {
extern const RoomAction feather3ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::feather3Tick1 },
- { {ACTION_TICK, 40, 0, 0}, &Room::feather3Tick40 },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::feather3TouchedHotspot0 },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_TLAOXAC, 0}, &Room::feather3UseSpockOnTlaoxac },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_TLAOXAC, 0}, &Room::feather3UseMccoyOnTlaoxac },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_TLAOXAC, 0}, &Room::feather3UseRedshirtOnTlaoxac },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LEFT_EXIT, 0}, &Room::feather3UseCrewmanOnLeftExit },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LEFT_EXIT, 0}, &Room::feather3UseCrewmanOnLeftExit },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_EXIT, 0}, &Room::feather3UseCrewmanOnLeftExit },
- { {ACTION_USE, OBJECT_ICOMM, 0, 0}, &Room::feather3UseCommunicator },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0}, &Room::feather3UseSnakeOnKirk },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0}, &Room::feather3UseSnakeOnSpock },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0}, &Room::feather3UseSnakeOnRedshirt },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::feather3KirkReachedRedshirtWithSnake },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0}, &Room::feather3UseSnakeOnMccoy },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_TLAOXAC, 0}, &Room::feather3UseSnakeOnTlaoxac },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0}, &Room::feather3UseKnifeOnSpock },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0}, &Room::feather3UseKnifeOnMccoy },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0}, &Room::feather3UseKnifeOnRedshirt },
- { {ACTION_USE, OBJECT_IROCK, OBJECT_TLAOXAC, 0}, &Room::feather3UseRockOnTlaoxac },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::feather3KirkReachedPositionToThrowRock },
- { {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::feather3Timer4Expired },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::feather3Timer2Expired },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::feather3Timer3Expired },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::feather3TlaoxacKnockedOutFromRockThrow },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::feather3UsePhaser },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::feather3UsePhaser },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::feather3TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::feather3TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::feather3TalkToRedshirt },
- { {ACTION_TALK, OBJECT_TLAOXAC, 0, 0}, &Room::feather3TalkToTlaoxac },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::feather3TlaoxacKilledRedshirt },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_TLAOXAC, 0}, &Room::feather3UseMTricorderOnTlaoxac },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_TLAOXAC, 0}, &Room::feather3UseMedkitOnTlaoxac },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0}, &Room::feather3UseMedkitOnRedshirt },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::feather3UseMedkitAnywhere },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_1, 0}, &Room::feather3UseMTricorderOnLight },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_2, 0}, &Room::feather3UseMTricorderOnLight },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_1, 0}, &Room::feather3UseSTricorderOnLight },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_2, 0}, &Room::feather3UseSTricorderOnLight },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather3UseSTricorderAnywhere },
- { {ACTION_GET, OBJECT_KNIFE, 0, 0}, &Room::feather3GetKnife },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::feather3ReachedKnife },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::feather3Timer1Expired },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::feather3PickedUpKnife },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::feather3LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::feather3LookAtRedshirt },
- { {ACTION_LOOK, OBJECT_TLAOXAC, 0, 0}, &Room::feather3LookAtTlaoxac },
- { {ACTION_LOOK, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather3LookAtLight },
- { {ACTION_LOOK, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather3LookAtLight },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::feather3LookAtMccoy },
- { {ACTION_LOOK, OBJECT_KNIFE, 0, 0}, &Room::feather3LookAtKnife },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::feather3Tick1 },
+ { {ACTION_TICK, 40, 0, 0, 0}, &Room::feather3Tick40 },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::feather3TouchedHotspot0 },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseSpockOnTlaoxac },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseMccoyOnTlaoxac },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseRedshirtOnTlaoxac },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather3UseCrewmanOnLeftExit },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather3UseCrewmanOnLeftExit },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather3UseCrewmanOnLeftExit },
+ { {ACTION_USE, OBJECT_ICOMM, 0, 0, 0}, &Room::feather3UseCommunicator },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0, 0}, &Room::feather3UseSnakeOnKirk },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0, 0}, &Room::feather3UseSnakeOnSpock },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0, 0}, &Room::feather3UseSnakeOnRedshirt },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::feather3KirkReachedRedshirtWithSnake },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0, 0}, &Room::feather3UseSnakeOnMccoy },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseSnakeOnTlaoxac },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0, 0}, &Room::feather3UseKnifeOnSpock },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0, 0}, &Room::feather3UseKnifeOnMccoy },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0, 0}, &Room::feather3UseKnifeOnRedshirt },
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseRockOnTlaoxac },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::feather3KirkReachedPositionToThrowRock },
+ { {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::feather3Timer4Expired },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::feather3Timer2Expired },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::feather3Timer3Expired },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::feather3TlaoxacKnockedOutFromRockThrow },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::feather3UsePhaser },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::feather3UsePhaser },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather3TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather3TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather3TalkToRedshirt },
+ { {ACTION_TALK, OBJECT_TLAOXAC, 0, 0, 0}, &Room::feather3TalkToTlaoxac },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::feather3TlaoxacKilledRedshirt },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseMTricorderOnTlaoxac },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseMedkitOnTlaoxac },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0, 0}, &Room::feather3UseMedkitOnRedshirt },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::feather3UseMedkitAnywhere },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather3UseMTricorderOnLight },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather3UseMTricorderOnLight },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather3UseSTricorderOnLight },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather3UseSTricorderOnLight },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather3UseSTricorderAnywhere },
+ { {ACTION_GET, OBJECT_KNIFE, 0, 0, 0}, &Room::feather3GetKnife },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::feather3ReachedKnife },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::feather3Timer1Expired },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::feather3PickedUpKnife },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather3LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather3LookAtRedshirt },
+ { {ACTION_LOOK, OBJECT_TLAOXAC, 0, 0, 0}, &Room::feather3LookAtTlaoxac },
+ { {ACTION_LOOK, HOTSPOT_LIGHT_1, 0, 0, 0}, &Room::feather3LookAtLight },
+ { {ACTION_LOOK, HOTSPOT_LIGHT_2, 0, 0, 0}, &Room::feather3LookAtLight },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather3LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_KNIFE, 0, 0, 0}, &Room::feather3LookAtKnife },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum feather3TextIds {
diff --git a/engines/startrek/rooms/feather4.cpp b/engines/startrek/rooms/feather4.cpp
index 9d0a3248b36..589d6f03992 100644
--- a/engines/startrek/rooms/feather4.cpp
+++ b/engines/startrek/rooms/feather4.cpp
@@ -31,37 +31,37 @@
namespace StarTrek {
extern const RoomAction feather4ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::feather4Tick1 },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::feather4UseCommunicator },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::feather4UsePhaser },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::feather4UsePhaser },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_1, 0}, &Room::feather4UseSTricorderOnLight },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_2, 0}, &Room::feather4UseSTricorderOnLight },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_3, 0}, &Room::feather4UseSTricorderOnLight },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MUSHROOM, 0}, &Room::feather4UseSTricorderOnMushroom },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FERN, 0}, &Room::feather4UseSTricorderOnFern },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather4UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_1, 0}, &Room::feather4UseMTricorderOnLight },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_2, 0}, &Room::feather4UseMTricorderOnLight },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_3, 0}, &Room::feather4UseMTricorderOnLight },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MUSHROOM, 0}, &Room::feather4UseMTricorderOnMushroom },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::feather4UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::feather4UseMedkitAnywhere },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::feather4TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::feather4TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::feather4TalkToRedshirt },
- { {ACTION_LOOK, HOTSPOT_EYES, 0, 0}, &Room::feather4LookAtEyes },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::feather4LookAnywhere },
- { {ACTION_LOOK, HOTSPOT_MUSHROOM, 0, 0}, &Room::feather4LookAtMushroom },
- { {ACTION_LOOK, HOTSPOT_FERN, 0, 0}, &Room::feather4LookAtFern },
- { {ACTION_LOOK, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather4LookAtLight },
- { {ACTION_LOOK, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather4LookAtLight },
- { {ACTION_LOOK, HOTSPOT_LIGHT_3, 0, 0}, &Room::feather4LookAtLight },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::feather4LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::feather4LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::feather4LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::feather4LookAtRedshirt },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::feather4Tick1 },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::feather4UseCommunicator },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::feather4UsePhaser },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::feather4UsePhaser },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather4UseSTricorderOnLight },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather4UseSTricorderOnLight },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_3, 0, 0}, &Room::feather4UseSTricorderOnLight },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MUSHROOM, 0, 0}, &Room::feather4UseSTricorderOnMushroom },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FERN, 0, 0}, &Room::feather4UseSTricorderOnFern },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather4UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather4UseMTricorderOnLight },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather4UseMTricorderOnLight },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_3, 0, 0}, &Room::feather4UseMTricorderOnLight },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MUSHROOM, 0, 0}, &Room::feather4UseMTricorderOnMushroom },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::feather4UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::feather4UseMedkitAnywhere },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather4TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather4TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather4TalkToRedshirt },
+ { {ACTION_LOOK, HOTSPOT_EYES, 0, 0, 0}, &Room::feather4LookAtEyes },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::feather4LookAnywhere },
+ { {ACTION_LOOK, HOTSPOT_MUSHROOM, 0, 0, 0}, &Room::feather4LookAtMushroom },
+ { {ACTION_LOOK, HOTSPOT_FERN, 0, 0, 0}, &Room::feather4LookAtFern },
+ { {ACTION_LOOK, HOTSPOT_LIGHT_1, 0, 0, 0}, &Room::feather4LookAtLight },
+ { {ACTION_LOOK, HOTSPOT_LIGHT_2, 0, 0, 0}, &Room::feather4LookAtLight },
+ { {ACTION_LOOK, HOTSPOT_LIGHT_3, 0, 0, 0}, &Room::feather4LookAtLight },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::feather4LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather4LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather4LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather4LookAtRedshirt },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum feather4TextIds {
diff --git a/engines/startrek/rooms/feather5.cpp b/engines/startrek/rooms/feather5.cpp
index 785d80cddbb..8479e99c3a0 100644
--- a/engines/startrek/rooms/feather5.cpp
+++ b/engines/startrek/rooms/feather5.cpp
@@ -39,76 +39,76 @@
namespace StarTrek {
extern const RoomAction feather5ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::feather5Tick1 },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::feather5TouchedHotspot0 },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_FERN, 0}, &Room::feather5UseSpockOnFern },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_FERN, 0}, &Room::feather5UseMccoyOnFern },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_FERN, 0}, &Room::feather5UseRedshirtOnFern },
-
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_EXIT, 0}, &Room::feather5UseRedshirtOnLeftExit },
- { {ACTION_DONE_WALK, 8, 0, 0}, &Room::feather5RedshirtReachedLog },
- { {ACTION_DONE_ANIM, 8, 0, 0}, &Room::feather5RedshirtDeathFinished },
-
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LEFT_EXIT, 0}, &Room::feather5UseSpockOnLeftExit },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LEFT_EXIT, 0}, &Room::feather5UseMccoyOnLeftExit },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0}, &Room::feather5UseSnakeOnKirk },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0}, &Room::feather5UseSnakeOnSpock },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0}, &Room::feather5UseSnakeOnMccoy },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0}, &Room::feather5UseSnakeOnRedshirt },
- { {ACTION_USE, OBJECT_ISNAKE, HOTSPOT_WATER, 0}, &Room::feather5UseSnakeOnWater },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_KIRK, 0}, &Room::feather5UseKnifeOnKirk },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0}, &Room::feather5UseKnifeOnSpock },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0}, &Room::feather5UseKnifeOnMccoy },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0}, &Room::feather5UseKnifeOnRedshirt },
- { {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_WATER, 0}, &Room::feather5UseKnifeOnWater },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_MONSTER, 0}, &Room::feather5UseKnifeOnMonster },
- { {ACTION_GET, HOTSPOT_FERN, 0, 0}, &Room::feather5GetFern },
-
- { {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_FERN, 0}, &Room::feather5UseKnifeOnFern },
- { {ACTION_DONE_WALK, 1, 0, 0}, &Room::feather5ReachedFern },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::feather5PickedUpFern },
-
- { {ACTION_USE, OBJECT_IFERN, OBJECT_MONSTER, 0}, &Room::feather5UseFernOnMonster },
- { {ACTION_USE, OBJECT_IFERN, HOTSPOT_WATER, 0}, &Room::feather5UseFernOnMonster },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::feather5ReachedPositionToUseFern },
- { {ACTION_DONE_ANIM, 2, 0, 0}, &Room::feather5DoneThrowingFern },
- { {ACTION_DONE_ANIM, 3, 0, 0}, &Room::feather5FernFellIntoWater },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::feather5Timer1Expired },
-
- { {ACTION_USE, OBJECT_IROCK, OBJECT_SPOCK, 0}, &Room::feather5UseRockOnSpock },
- { {ACTION_USE, OBJECT_IROCK, OBJECT_MCCOY, 0}, &Room::feather5UseRockOnMccoy },
- { {ACTION_USE, OBJECT_IROCK, OBJECT_REDSHIRT, 0}, &Room::feather5UseRockOnRedshirt },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_THROWN_FERN, 0}, &Room::feather5UseCrewmanOnThrownFern },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_THROWN_FERN, 0}, &Room::feather5UseCrewmanOnThrownFern },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_THROWN_FERN, 0}, &Room::feather5UseCrewmanOnThrownFern },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_MONSTER, 0}, &Room::feather5UseSpockOnMonster },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_MONSTER, 0}, &Room::feather5UseMccoyOnMonster },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_MONSTER, 0}, &Room::feather5UseRedshirtOnMonster },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::feather5UsePhaser },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::feather5UsePhaser },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::feather5LookAnywhere },
- { {ACTION_LOOK, HOTSPOT_LOG, 0, 0}, &Room::feather5LookAtLog },
- { {ACTION_LOOK, HOTSPOT_WATER, 0, 0}, &Room::feather5LookAtWater },
- { {ACTION_LOOK, HOTSPOT_FERN, 0, 0}, &Room::feather5LookAtFern },
- { {ACTION_LOOK, HOTSPOT_INSECTS_1, 0, 0}, &Room::feather5LookAtInsects },
- { {ACTION_LOOK, HOTSPOT_INSECTS_2, 0, 0}, &Room::feather5LookAtInsects },
- { {ACTION_LOOK, HOTSPOT_CAVE, 0, 0}, &Room::feather5LookAtCave },
- { {ACTION_LOOK, OBJECT_MONSTER, 0, 0}, &Room::feather5LookAtMonster },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::feather5LookAtSpock },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::feather5LookAtKirk },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::feather5LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::feather5LookAtRedshirt },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::feather5TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::feather5TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::feather5TalkToRedshirt },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_WATER, 0}, &Room::feather5UseMTricorderOnWater },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MONSTER, 0}, &Room::feather5UseMTricorderOnMonster },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MONSTER, 0}, &Room::feather5UseSTricorderOnMonster },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather5UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WATER, 0}, &Room::feather5UseSTricorderOnWater },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FERN, 0}, &Room::feather5UseSTricorderOnFern },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::feather5UseMedkitAnywhere },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::feather5Tick1 },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::feather5TouchedHotspot0 },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_FERN, 0, 0}, &Room::feather5UseSpockOnFern },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_FERN, 0, 0}, &Room::feather5UseMccoyOnFern },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_FERN, 0, 0}, &Room::feather5UseRedshirtOnFern },
+
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather5UseRedshirtOnLeftExit },
+ { {ACTION_DONE_WALK, 8, 0, 0, 0}, &Room::feather5RedshirtReachedLog },
+ { {ACTION_DONE_ANIM, 8, 0, 0, 0}, &Room::feather5RedshirtDeathFinished },
+
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather5UseSpockOnLeftExit },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather5UseMccoyOnLeftExit },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0, 0}, &Room::feather5UseSnakeOnKirk },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0, 0}, &Room::feather5UseSnakeOnSpock },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0, 0}, &Room::feather5UseSnakeOnMccoy },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0, 0}, &Room::feather5UseSnakeOnRedshirt },
+ { {ACTION_USE, OBJECT_ISNAKE, HOTSPOT_WATER, 0, 0}, &Room::feather5UseSnakeOnWater },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_KIRK, 0, 0}, &Room::feather5UseKnifeOnKirk },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0, 0}, &Room::feather5UseKnifeOnSpock },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0, 0}, &Room::feather5UseKnifeOnMccoy },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0, 0}, &Room::feather5UseKnifeOnRedshirt },
+ { {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_WATER, 0, 0}, &Room::feather5UseKnifeOnWater },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_MONSTER, 0, 0}, &Room::feather5UseKnifeOnMonster },
+ { {ACTION_GET, HOTSPOT_FERN, 0, 0, 0}, &Room::feather5GetFern },
+
+ { {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_FERN, 0, 0}, &Room::feather5UseKnifeOnFern },
+ { {ACTION_DONE_WALK, 1, 0, 0, 0}, &Room::feather5ReachedFern },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::feather5PickedUpFern },
+
+ { {ACTION_USE, OBJECT_IFERN, OBJECT_MONSTER, 0, 0}, &Room::feather5UseFernOnMonster },
+ { {ACTION_USE, OBJECT_IFERN, HOTSPOT_WATER, 0, 0}, &Room::feather5UseFernOnMonster },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::feather5ReachedPositionToUseFern },
+ { {ACTION_DONE_ANIM, 2, 0, 0, 0}, &Room::feather5DoneThrowingFern },
+ { {ACTION_DONE_ANIM, 3, 0, 0, 0}, &Room::feather5FernFellIntoWater },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::feather5Timer1Expired },
+
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_SPOCK, 0, 0}, &Room::feather5UseRockOnSpock },
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_MCCOY, 0, 0}, &Room::feather5UseRockOnMccoy },
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_REDSHIRT, 0, 0}, &Room::feather5UseRockOnRedshirt },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_THROWN_FERN, 0, 0}, &Room::feather5UseCrewmanOnThrownFern },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_THROWN_FERN, 0, 0}, &Room::feather5UseCrewmanOnThrownFern },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_THROWN_FERN, 0, 0}, &Room::feather5UseCrewmanOnThrownFern },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_MONSTER, 0, 0}, &Room::feather5UseSpockOnMonster },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_MONSTER, 0, 0}, &Room::feather5UseMccoyOnMonster },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_MONSTER, 0, 0}, &Room::feather5UseRedshirtOnMonster },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::feather5UsePhaser },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::feather5UsePhaser },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::feather5LookAnywhere },
+ { {ACTION_LOOK, HOTSPOT_LOG, 0, 0, 0}, &Room::feather5LookAtLog },
+ { {ACTION_LOOK, HOTSPOT_WATER, 0, 0, 0}, &Room::feather5LookAtWater },
+ { {ACTION_LOOK, HOTSPOT_FERN, 0, 0, 0}, &Room::feather5LookAtFern },
+ { {ACTION_LOOK, HOTSPOT_INSECTS_1, 0, 0, 0}, &Room::feather5LookAtInsects },
+ { {ACTION_LOOK, HOTSPOT_INSECTS_2, 0, 0, 0}, &Room::feather5LookAtInsects },
+ { {ACTION_LOOK, HOTSPOT_CAVE, 0, 0, 0}, &Room::feather5LookAtCave },
+ { {ACTION_LOOK, OBJECT_MONSTER, 0, 0, 0}, &Room::feather5LookAtMonster },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather5LookAtSpock },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::feather5LookAtKirk },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather5LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather5LookAtRedshirt },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather5TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather5TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather5TalkToRedshirt },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_WATER, 0, 0}, &Room::feather5UseMTricorderOnWater },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MONSTER, 0, 0}, &Room::feather5UseMTricorderOnMonster },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MONSTER, 0, 0}, &Room::feather5UseSTricorderOnMonster },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather5UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WATER, 0, 0}, &Room::feather5UseSTricorderOnWater },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FERN, 0, 0}, &Room::feather5UseSTricorderOnFern },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::feather5UseMedkitAnywhere },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum feather5TextIds {
diff --git a/engines/startrek/rooms/feather6.cpp b/engines/startrek/rooms/feather6.cpp
index 02675cb4054..a3042ad21c3 100644
--- a/engines/startrek/rooms/feather6.cpp
+++ b/engines/startrek/rooms/feather6.cpp
@@ -33,69 +33,69 @@
namespace StarTrek {
extern const RoomAction feather6ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::feather6Tick1 },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::feather6TouchedHotspot0 },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_CRYSTALS, 0}, &Room::feather6UseSpockOnCrystals },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_CRYSTALS, 0}, &Room::feather6UseMccoyOnCrystals },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_CRYSTALS, 0}, &Room::feather6UseRedshirtOnCrystals },
-
- { {ACTION_USE, OBJECT_IROCK, OBJECT_STALACTITES, 0}, &Room::feather6UseRockOnStalactites },
- { {ACTION_USE, OBJECT_IROCK, HOTSPOT_STALACTITES, 0}, &Room::feather6UseRockOnStalactites },
- { {ACTION_DONE_WALK, 1, 0, 0}, &Room::feather6ReachedPositionToThrowRock },
- { {ACTION_DONE_ANIM, 7, 0, 0}, &Room::feather6DoneThrowingRock },
- { {ACTION_DONE_ANIM, 2, 0, 0}, &Room::feather6KirkDiedFromStalactites },
-
- { {ACTION_USE, OBJECT_IROCK, OBJECT_CRYSTALS, 0}, &Room::feather6UseRockOnCrystals },
- { {ACTION_DONE_WALK, 4, 0, 0}, &Room::feather6ReachedCrystalsWithRock },
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::feather6Tick },
- { {ACTION_DONE_ANIM, 10, 0, 0}, &Room::feather6HitCrystalsWithRockFirstTime },
- { {ACTION_DONE_ANIM, 9, 0, 0}, &Room::feather6HitCrystalsWithRockSecondTime },
-
- { {ACTION_USE, OBJECT_IROCK, HOTSPOT_STALAGMITES, 0}, &Room::feather6UseRockOnStalagmites },
- { {ACTION_USE, OBJECT_IROCK, HOTSPOT_EAST_EXIT, 0}, &Room::feather6UseRockOnStalagmites },
- { {ACTION_USE, OBJECT_IROCK, 0xff, 0}, &Room::feather6UseRockAnywhere },
- { {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_STALAGMITES, 0}, &Room::feather6UseKnifeOnStalagmites },
- { {ACTION_USE, OBJECT_IKNIFE, 0xff, 0}, &Room::feather6UseKnifeAnywhere },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0}, &Room::feather6UseKnifeOnMccoy },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0}, &Room::feather6UseKnifeOnSpock },
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0}, &Room::feather6UseKnifeOnRedshirt },
- { {ACTION_USE, OBJECT_ICRYSTAL, 0xff, 0}, &Room::feather6UseCrystalAnywhere },
- { {ACTION_USE, OBJECT_ISNAKE, 0xff, 0}, &Room::feather6UseSnakeAnywhere },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::feather6UseMedkitAnywhere },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::feather6UsePhaser },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::feather6UsePhaser },
- { {ACTION_LOOK, HOTSPOT_EAST_EXIT, 0, 0}, &Room::feather6LookAtEastExit },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::feather6LookAnywhere },
- { {ACTION_LOOK, HOTSPOT_ROCKS, 0, 0}, &Room::feather6LookAtRocks },
- { {ACTION_LOOK, HOTSPOT_STALAGMITES, 0, 0}, &Room::feather6LookAtStalagmites },
- { {ACTION_LOOK, OBJECT_CRYSTALS, 0, 0}, &Room::feather6LookAtCrystals },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::feather6LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::feather6LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::feather6LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::feather6LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_STALACTITES, 0, 0}, &Room::feather6LookAtStalactites },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::feather6TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::feather6TalkToRedshirt },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::feather6TalkToSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_EAST_EXIT, 0}, &Room::feather6UseMTricorderOnEastExit },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_ROCKS, 0}, &Room::feather6UseMTricorderOnRocks },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_EAST_EXIT, 0}, &Room::feather6UseSTricorderOnEastExit },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather6UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_ROCKS, 0}, &Room::feather6UseSTricorderOnRocks },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CRYSTALS, 0}, &Room::feather6UseSTricorderOnCrystals },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STALACTITES, 0}, &Room::feather6UseSTricorderOnStalactites },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STALAGMITES, 0}, &Room::feather6UseSTricorderOnStalagmites },
- { {ACTION_GET, OBJECT_CRYSTALS, 0, 0}, &Room::feather6GetCrystals },
-
- { {ACTION_USE, OBJECT_IKNIFE, OBJECT_CRYSTALS, 0}, &Room::feather6UseKnifeOnCrystals },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::feather6ReachedCrystalsWithKnife },
- { {ACTION_DONE_ANIM, 3, 0, 0}, &Room::feather6DoneCuttingCrystals },
- { {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::feather6Timer4Expired },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::feather6Tick1 },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::feather6TouchedHotspot0 },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_CRYSTALS, 0, 0}, &Room::feather6UseSpockOnCrystals },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_CRYSTALS, 0, 0}, &Room::feather6UseMccoyOnCrystals },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_CRYSTALS, 0, 0}, &Room::feather6UseRedshirtOnCrystals },
+
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_STALACTITES, 0, 0}, &Room::feather6UseRockOnStalactites },
+ { {ACTION_USE, OBJECT_IROCK, HOTSPOT_STALACTITES, 0, 0}, &Room::feather6UseRockOnStalactites },
+ { {ACTION_DONE_WALK, 1, 0, 0, 0}, &Room::feather6ReachedPositionToThrowRock },
+ { {ACTION_DONE_ANIM, 7, 0, 0, 0}, &Room::feather6DoneThrowingRock },
+ { {ACTION_DONE_ANIM, 2, 0, 0, 0}, &Room::feather6KirkDiedFromStalactites },
+
+ { {ACTION_USE, OBJECT_IROCK, OBJECT_CRYSTALS, 0, 0}, &Room::feather6UseRockOnCrystals },
+ { {ACTION_DONE_WALK, 4, 0, 0, 0}, &Room::feather6ReachedCrystalsWithRock },
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::feather6Tick },
+ { {ACTION_DONE_ANIM, 10, 0, 0, 0}, &Room::feather6HitCrystalsWithRockFirstTime },
+ { {ACTION_DONE_ANIM, 9, 0, 0, 0}, &Room::feather6HitCrystalsWithRockSecondTime },
+
+ { {ACTION_USE, OBJECT_IROCK, HOTSPOT_STALAGMITES, 0, 0}, &Room::feather6UseRockOnStalagmites },
+ { {ACTION_USE, OBJECT_IROCK, HOTSPOT_EAST_EXIT, 0, 0}, &Room::feather6UseRockOnStalagmites },
+ { {ACTION_USE, OBJECT_IROCK, 0xff, 0, 0}, &Room::feather6UseRockAnywhere },
+ { {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_STALAGMITES, 0, 0}, &Room::feather6UseKnifeOnStalagmites },
+ { {ACTION_USE, OBJECT_IKNIFE, 0xff, 0, 0}, &Room::feather6UseKnifeAnywhere },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0, 0}, &Room::feather6UseKnifeOnMccoy },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0, 0}, &Room::feather6UseKnifeOnSpock },
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0, 0}, &Room::feather6UseKnifeOnRedshirt },
+ { {ACTION_USE, OBJECT_ICRYSTAL, 0xff, 0, 0}, &Room::feather6UseCrystalAnywhere },
+ { {ACTION_USE, OBJECT_ISNAKE, 0xff, 0, 0}, &Room::feather6UseSnakeAnywhere },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::feather6UseMedkitAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::feather6UsePhaser },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::feather6UsePhaser },
+ { {ACTION_LOOK, HOTSPOT_EAST_EXIT, 0, 0, 0}, &Room::feather6LookAtEastExit },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::feather6LookAnywhere },
+ { {ACTION_LOOK, HOTSPOT_ROCKS, 0, 0, 0}, &Room::feather6LookAtRocks },
+ { {ACTION_LOOK, HOTSPOT_STALAGMITES, 0, 0, 0}, &Room::feather6LookAtStalagmites },
+ { {ACTION_LOOK, OBJECT_CRYSTALS, 0, 0, 0}, &Room::feather6LookAtCrystals },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::feather6LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather6LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather6LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather6LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_STALACTITES, 0, 0, 0}, &Room::feather6LookAtStalactites },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather6TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather6TalkToRedshirt },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather6TalkToSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_EAST_EXIT, 0, 0}, &Room::feather6UseMTricorderOnEastExit },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_ROCKS, 0, 0}, &Room::feather6UseMTricorderOnRocks },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_EAST_EXIT, 0, 0}, &Room::feather6UseSTricorderOnEastExit },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather6UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_ROCKS, 0, 0}, &Room::feather6UseSTricorderOnRocks },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CRYSTALS, 0, 0}, &Room::feather6UseSTricorderOnCrystals },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STALACTITES, 0, 0}, &Room::feather6UseSTricorderOnStalactites },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STALAGMITES, 0, 0}, &Room::feather6UseSTricorderOnStalagmites },
+ { {ACTION_GET, OBJECT_CRYSTALS, 0, 0, 0}, &Room::feather6GetCrystals },
+
+ { {ACTION_USE, OBJECT_IKNIFE, OBJECT_CRYSTALS, 0, 0}, &Room::feather6UseKnifeOnCrystals },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::feather6ReachedCrystalsWithKnife },
+ { {ACTION_DONE_ANIM, 3, 0, 0, 0}, &Room::feather6DoneCuttingCrystals },
+ { {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::feather6Timer4Expired },
// ENHANCEMENTs: Also add entries for OBJECT_STALACTITES, not just HOTSPOT_STALACTITES
- { {ACTION_LOOK, OBJECT_STALACTITES, 0, 0}, &Room::feather6LookAtStalactites },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_STALACTITES, 0}, &Room::feather6UseSTricorderOnStalactites },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_LOOK, OBJECT_STALACTITES, 0, 0, 0}, &Room::feather6LookAtStalactites },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_STALACTITES, 0, 0}, &Room::feather6UseSTricorderOnStalactites },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum feather6TextIds {
diff --git a/engines/startrek/rooms/feather7.cpp b/engines/startrek/rooms/feather7.cpp
index cd17eb245a0..a4349c99c7d 100644
--- a/engines/startrek/rooms/feather7.cpp
+++ b/engines/startrek/rooms/feather7.cpp
@@ -26,15 +26,15 @@
namespace StarTrek {
extern const RoomAction feather7ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::feather7Tick1 },
- { {ACTION_TICK, 40, 0, 0}, &Room::feather7Tick40 },
- { {ACTION_DONE_WALK, 1, 0, 0}, &Room::feather7KirkReachedSeat },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::feather7SpockReachedSeat },
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::feather7MccoyReachedSeat },
- { {ACTION_DONE_ANIM, 4, 0, 0}, &Room::feather7QuetzecoatlReachedSeat },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::feather7KirkSatDown },
- { {ACTION_DONE_ANIM, 2, 0, 0}, &Room::feather7ReadyToBeamOut },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::feather7Tick1 },
+ { {ACTION_TICK, 40, 0, 0, 0}, &Room::feather7Tick40 },
+ { {ACTION_DONE_WALK, 1, 0, 0, 0}, &Room::feather7KirkReachedSeat },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::feather7SpockReachedSeat },
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::feather7MccoyReachedSeat },
+ { {ACTION_DONE_ANIM, 4, 0, 0, 0}, &Room::feather7QuetzecoatlReachedSeat },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::feather7KirkSatDown },
+ { {ACTION_DONE_ANIM, 2, 0, 0, 0}, &Room::feather7ReadyToBeamOut },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum feather7TextIds {
diff --git a/engines/startrek/rooms/love0.cpp b/engines/startrek/rooms/love0.cpp
index 55e43109b33..0791cc6d943 100644
--- a/engines/startrek/rooms/love0.cpp
+++ b/engines/startrek/rooms/love0.cpp
@@ -32,64 +32,64 @@
namespace StarTrek {
extern const RoomAction love0ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::love0Tick1 },
- { {ACTION_TICK, 10, 0, 0}, &Room::love0Tick10 },
- { {ACTION_WALK, 0x21, 0, 0}, &Room::love0WalkToDoor2 },
- { {ACTION_WALK, 9, 0, 0}, &Room::love0WalkToDoor2 },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::love0OpenDoor2 },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love0ReachedDoor2 },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love0ReachedDoor2 },
- { {ACTION_WALK, 0x22, 0, 0}, &Room::love0WalkToDoor1 },
- { {ACTION_WALK, 8, 0, 0}, &Room::love0WalkToDoor1 },
- { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::love0OpenDoor1 },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love0ReachedDoor1 },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love0ReachedDoor1 },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::love0LookAtConsole },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::love0LookAtViewscreen },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::love0LookAnywhere },
- { {ACTION_LOOK, 8, 0, 0}, &Room::love0LookAtDoor1 },
- { {ACTION_LOOK, 9, 0, 0}, &Room::love0LookAtDoor2 },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love0LookAtKirk },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love0LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love0LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love0LookAtRedshirt },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love0TalkToKirk },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love0TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love0TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love0TalkToRedshirt },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love0UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::love0UseSTricorderOnConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love0UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::love0UseKirkOnConsole },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::love0UseRedshirtOnConsole },
- { {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::love0UseSpockOnConsole },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::love0SpockReachedConsole },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::love0SpockAccessedConsole },
- { {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::love0UseMccoyOnConsole },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::love0MccoyReachedConsole },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love0MccoyAccessedConsole },
- { {ACTION_GET, 8, 0, 0}, &Room::love0GetDoorOrConsole },
- { {ACTION_GET, 9, 0, 0}, &Room::love0GetDoorOrConsole },
- { {ACTION_GET, 0x20, 0, 0}, &Room::love0GetDoorOrConsole },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::love0Tick1 },
+ { {ACTION_TICK, 10, 0, 0, 0}, &Room::love0Tick10 },
+ { {ACTION_WALK, 0x21, 0, 0, 0}, &Room::love0WalkToDoor2 },
+ { {ACTION_WALK, 9, 0, 0, 0}, &Room::love0WalkToDoor2 },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::love0OpenDoor2 },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love0ReachedDoor2 },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love0ReachedDoor2 },
+ { {ACTION_WALK, 0x22, 0, 0, 0}, &Room::love0WalkToDoor1 },
+ { {ACTION_WALK, 8, 0, 0, 0}, &Room::love0WalkToDoor1 },
+ { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::love0OpenDoor1 },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love0ReachedDoor1 },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love0ReachedDoor1 },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love0LookAtConsole },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::love0LookAtViewscreen },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love0LookAnywhere },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::love0LookAtDoor1 },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::love0LookAtDoor2 },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love0LookAtKirk },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love0LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love0LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love0LookAtRedshirt },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love0TalkToKirk },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love0TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love0TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love0TalkToRedshirt },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love0UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::love0UseSTricorderOnConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love0UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::love0UseKirkOnConsole },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::love0UseRedshirtOnConsole },
+ { {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::love0UseSpockOnConsole },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::love0SpockReachedConsole },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::love0SpockAccessedConsole },
+ { {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::love0UseMccoyOnConsole },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::love0MccoyReachedConsole },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love0MccoyAccessedConsole },
+ { {ACTION_GET, 8, 0, 0, 0}, &Room::love0GetDoorOrConsole },
+ { {ACTION_GET, 9, 0, 0, 0}, &Room::love0GetDoorOrConsole },
+ { {ACTION_GET, 0x20, 0, 0, 0}, &Room::love0GetDoorOrConsole },
// Common code
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
- { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
- { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
- { {ACTION_FINISHED_WALKING, 99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
- { {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
- { {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
- { {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+ { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+ { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+ { {ACTION_FINISHED_WALKING, 99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+ { {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+ { {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+ { {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum love0TextIds {
diff --git a/engines/startrek/rooms/love1.cpp b/engines/startrek/rooms/love1.cpp
index a46a09e79f9..e3277d76458 100644
--- a/engines/startrek/rooms/love1.cpp
+++ b/engines/startrek/rooms/love1.cpp
@@ -43,142 +43,142 @@
namespace StarTrek {
extern const RoomAction love1ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::love1Tick1 },
-
- { {ACTION_WALK, 10, 0, 0}, &Room::love1WalkToDoor3 },
- { {ACTION_WALK, 0x26, 0, 0}, &Room::love1WalkToDoor3 },
- { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::love1OpenDoor3 },
- { {ACTION_FINISHED_WALKING, 15, 0, 0}, &Room::love1ReachedDoor3 },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love1ReachedDoor3 },
-
- { {ACTION_WALK, 8, 0, 0}, &Room::love1WalkToDoor1 },
- { {ACTION_WALK, 0x27, 0, 0}, &Room::love1WalkToDoor1 },
- { {ACTION_TOUCHED_HOTSPOT, 2, 0, 0}, &Room::love1OpenDoor1 },
- { {ACTION_FINISHED_WALKING, 16, 0, 0}, &Room::love1ReachedDoor1 },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love1ReachedDoor1 },
-
- { {ACTION_WALK, 9, 0, 0}, &Room::love1WalkToDoor2 },
- { {ACTION_WALK, 0x28, 0, 0}, &Room::love1WalkToDoor2 },
- { {ACTION_TOUCHED_HOTSPOT, 3, 0, 0}, &Room::love1OpenDoor2 },
- { {ACTION_FINISHED_WALKING, 17, 0, 0}, &Room::love1ReachedDoor2 },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love1ReachedDoor2 },
-
- { {ACTION_LOOK, 0x25, 0, 0}, &Room::love1LookAtLaser },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love1LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love1LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love1LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love1LookAtRedshirt },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::love1LookAnywhere },
- { {ACTION_LOOK, 15, 0, 0}, &Room::love1LookAtNozzle },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::love1LookAtNozzle },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::love1LookAtLadder },
- { {ACTION_LOOK, 9, 0, 0}, &Room::love1LookAtDoor1Or2 },
- { {ACTION_LOOK, 8, 0, 0}, &Room::love1LookAtDoor1Or2 },
- { {ACTION_LOOK, 10, 0, 0}, &Room::love1LookAtDoor3 },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::love1LookAtDistillator },
- { {ACTION_LOOK, 14, 0, 0}, &Room::love1LookAtChamber },
- { {ACTION_LOOK, 12, 0, 0}, &Room::love1LookAtChamber },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::love1LookAtReplicator },
- { {ACTION_LOOK, 11, 0, 0}, &Room::love1LookAtFreezer },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::love1LookAtFreezer },
- { {ACTION_LOOK, OBJECT_IDISHES, 0, 0}, &Room::love1LookAtDishes },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love1TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love1TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love1TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love1TalkToRedshirt },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_IDISHES, 0}, &Room::love1UseMTricorderOnDishes },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love1UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::love1UseSTricorderOnReplicator },
- { {ACTION_USE, OBJECT_ISTRICOR, 12, 0}, &Room::love1UseSTricorderOnReplicator },
- { {ACTION_USE, OBJECT_SPOCK, 0x25, 0}, &Room::love1UseSTricorderOnLaser },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::love1UseSTricorderOnLaser },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::love1UseSTricorderOnFreezer },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love1UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IDISHES, 0}, &Room::love1UseSTricorderOnDishes },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::love1UseSTricorderOnDistillator },
- { {ACTION_GET, 11, 0, 0}, &Room::love1GetFreezer },
- { {ACTION_GET, 0x22, 0, 0}, &Room::love1GetFreezer },
- { {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::love1KirkReachedFreezer },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::love1KirkGotVirusCulture },
- { {ACTION_GET, 14, 0, 0}, &Room::love1GetFromChamber },
- { {ACTION_GET, 12, 0, 0}, &Room::love1GetFromChamber },
- { {ACTION_GET, 0x23, 0, 0}, &Room::love1GetFromChamber },
- { {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::love1KirkReachedChamber },
- { {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::love1KirkGotCureSample },
- { {ACTION_GET, 15, 0, 0}, &Room::love1GetFromNozzle },
- { {ACTION_GET, 0x24, 0, 0}, &Room::love1GetFromNozzle },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::love1KirkReachedNozzleToGet },
- { {ACTION_FINISHED_ANIMATION, 11, 0, 0}, &Room::love1KirkGotBottleFromNozzle },
- { {ACTION_USE, OBJECT_IN2O, 0x24, 0}, &Room::love1UseN2OOnNozzle },
- { {ACTION_USE, OBJECT_IH2O, 0x24, 0}, &Room::love1UseH2OOnNozzle },
- { {ACTION_USE, OBJECT_INH3, 0x24, 0}, &Room::love1UseNH3OnNozzle },
- { {ACTION_USE, OBJECT_IRLG, 0x24, 0}, &Room::love1UseRLGOnNozzle },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::love1KirkReachedNozzleToPut },
- { {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::love1KirkPutBottleInNozzle },
- { {ACTION_USE, 0xff, 0x24, 0}, &Room::love1UseAnthingOnNozzle },
- { {ACTION_USE, OBJECT_SPOCK, 0x23, 0}, &Room::love1UseSpockOnReplicator },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x23, 0}, &Room::love1UseRedshirtOnReplicator },
- { {ACTION_USE, OBJECT_MCCOY, 14, 0}, &Room::love1UseMccoyOnReplicator },
- { {ACTION_USE, OBJECT_MCCOY, 15, 0}, &Room::love1UseMccoyOnReplicator },
- { {ACTION_USE, OBJECT_MCCOY, 0x23, 0}, &Room::love1UseMccoyOnReplicator },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love1MccoyReachedReplicator },
- { {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::love1MccoyUsedReplicator },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::love1ChamberClosed },
- { {ACTION_FINISHED_ANIMATION, 8, 0, 0}, &Room::love1ChamberOpened },
- { {ACTION_USE, 0xff, 12, 0}, &Room::love1UseAnythingOnChamber },
- { {ACTION_USE, OBJECT_IDISHES, 12, 0}, &Room::love1UseDishesOnChamber },
- { {ACTION_USE, OBJECT_IDISHES, 0x23, 0}, &Room::love1UseDishesOnChamber },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love1KirkReachedChamberToPut },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::love1ChamberOpenedForDish },
- { {ACTION_FINISHED_ANIMATION, 14, 0, 0}, &Room::love1KirkPutDishInChamber },
- { {ACTION_USE, OBJECT_IINSULAT, 0x21, 0}, &Room::love1UseInsulationOnDistillator },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::love1KirkReachedDistillator },
- { {ACTION_FINISHED_ANIMATION, 15, 0, 0}, &Room::love1KirkGotPolyberylcarbonate },
- { {ACTION_USE, OBJECT_KIRK, 0x22, 0}, &Room::love1UseKirkOnFreezer },
- { {ACTION_USE, OBJECT_KIRK, 11, 0}, &Room::love1UseKirkOnFreezer },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0}, &Room::love1UseRedshirtOnFreezer },
- { {ACTION_USE, OBJECT_REDSHIRT, 11, 0}, &Room::love1UseRedshirtOnFreezer },
- { {ACTION_USE, OBJECT_SPOCK, 0x22, 0}, &Room::love1UseSpockOnFreezer },
- { {ACTION_USE, OBJECT_SPOCK, 11, 0}, &Room::love1UseSpockOnFreezer },
- { {ACTION_USE, OBJECT_MCCOY, 0x22, 0}, &Room::love1UseMccoyOnFreezer },
- { {ACTION_USE, OBJECT_MCCOY, 11, 0}, &Room::love1UseMccoyOnFreezer },
- { {ACTION_FINISHED_WALKING, 7, 0, 0}, &Room::love1CrewmanReachedFreezer },
- { {ACTION_FINISHED_ANIMATION, 16, 0, 0}, &Room::love1CrewmanOpenedOrClosedFreezer },
- { {ACTION_USE, 0xff, 0x22, 0}, &Room::love1UseAnythingOnFreezer },
- { {ACTION_FINISHED_WALKING, 11, 0, 0}, &Room::love1ReachedFreezerWithArbitraryItem },
- { {ACTION_FINISHED_ANIMATION, 17, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnFreezer },
- { {ACTION_USE, 0xff, 0x23, 0}, &Room::love1UseAnythingOnReplicator },
- { {ACTION_FINISHED_WALKING, 12, 0, 0}, &Room::love1ReachedReplicatorWithArbitraryItem },
- { {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnReplicator },
- { {ACTION_USE, 0xff, 0x21, 0}, &Room::love1UseAnythingOnDistillator },
- { {ACTION_FINISHED_WALKING, 13, 0, 0}, &Room::love1ReachedDistillatorWithArbitraryItem },
- { {ACTION_FINISHED_ANIMATION, 19, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnDistillator },
- { {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::love1UseKirkOnLadder },
- { {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::love1UseSpockOnLadder },
- { {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::love1UseMccoyOnLadder },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::love1UseRedshirtOnLadder },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::love1CrewmanReachedLadder },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love1CrewmanDiedFromPhaser },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::love1TouchedHotspot0 },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::love1Tick1 },
+
+ { {ACTION_WALK, 10, 0, 0, 0}, &Room::love1WalkToDoor3 },
+ { {ACTION_WALK, 0x26, 0, 0, 0}, &Room::love1WalkToDoor3 },
+ { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::love1OpenDoor3 },
+ { {ACTION_FINISHED_WALKING, 15, 0, 0, 0}, &Room::love1ReachedDoor3 },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love1ReachedDoor3 },
+
+ { {ACTION_WALK, 8, 0, 0, 0}, &Room::love1WalkToDoor1 },
+ { {ACTION_WALK, 0x27, 0, 0, 0}, &Room::love1WalkToDoor1 },
+ { {ACTION_TOUCHED_HOTSPOT, 2, 0, 0, 0}, &Room::love1OpenDoor1 },
+ { {ACTION_FINISHED_WALKING, 16, 0, 0, 0}, &Room::love1ReachedDoor1 },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love1ReachedDoor1 },
+
+ { {ACTION_WALK, 9, 0, 0, 0}, &Room::love1WalkToDoor2 },
+ { {ACTION_WALK, 0x28, 0, 0, 0}, &Room::love1WalkToDoor2 },
+ { {ACTION_TOUCHED_HOTSPOT, 3, 0, 0, 0}, &Room::love1OpenDoor2 },
+ { {ACTION_FINISHED_WALKING, 17, 0, 0, 0}, &Room::love1ReachedDoor2 },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love1ReachedDoor2 },
+
+ { {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::love1LookAtLaser },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love1LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love1LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love1LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love1LookAtRedshirt },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love1LookAnywhere },
+ { {ACTION_LOOK, 15, 0, 0, 0}, &Room::love1LookAtNozzle },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::love1LookAtNozzle },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love1LookAtLadder },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::love1LookAtDoor1Or2 },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::love1LookAtDoor1Or2 },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::love1LookAtDoor3 },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love1LookAtDistillator },
+ { {ACTION_LOOK, 14, 0, 0, 0}, &Room::love1LookAtChamber },
+ { {ACTION_LOOK, 12, 0, 0, 0}, &Room::love1LookAtChamber },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::love1LookAtReplicator },
+ { {ACTION_LOOK, 11, 0, 0, 0}, &Room::love1LookAtFreezer },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::love1LookAtFreezer },
+ { {ACTION_LOOK, OBJECT_IDISHES, 0, 0, 0}, &Room::love1LookAtDishes },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love1TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love1TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love1TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love1TalkToRedshirt },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_IDISHES, 0, 0}, &Room::love1UseMTricorderOnDishes },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love1UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::love1UseSTricorderOnReplicator },
+ { {ACTION_USE, OBJECT_ISTRICOR, 12, 0, 0}, &Room::love1UseSTricorderOnReplicator },
+ { {ACTION_USE, OBJECT_SPOCK, 0x25, 0, 0}, &Room::love1UseSTricorderOnLaser },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::love1UseSTricorderOnLaser },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::love1UseSTricorderOnFreezer },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love1UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IDISHES, 0, 0}, &Room::love1UseSTricorderOnDishes },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::love1UseSTricorderOnDistillator },
+ { {ACTION_GET, 11, 0, 0, 0}, &Room::love1GetFreezer },
+ { {ACTION_GET, 0x22, 0, 0, 0}, &Room::love1GetFreezer },
+ { {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::love1KirkReachedFreezer },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::love1KirkGotVirusCulture },
+ { {ACTION_GET, 14, 0, 0, 0}, &Room::love1GetFromChamber },
+ { {ACTION_GET, 12, 0, 0, 0}, &Room::love1GetFromChamber },
+ { {ACTION_GET, 0x23, 0, 0, 0}, &Room::love1GetFromChamber },
+ { {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::love1KirkReachedChamber },
+ { {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::love1KirkGotCureSample },
+ { {ACTION_GET, 15, 0, 0, 0}, &Room::love1GetFromNozzle },
+ { {ACTION_GET, 0x24, 0, 0, 0}, &Room::love1GetFromNozzle },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::love1KirkReachedNozzleToGet },
+ { {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0}, &Room::love1KirkGotBottleFromNozzle },
+ { {ACTION_USE, OBJECT_IN2O, 0x24, 0, 0}, &Room::love1UseN2OOnNozzle },
+ { {ACTION_USE, OBJECT_IH2O, 0x24, 0, 0}, &Room::love1UseH2OOnNozzle },
+ { {ACTION_USE, OBJECT_INH3, 0x24, 0, 0}, &Room::love1UseNH3OnNozzle },
+ { {ACTION_USE, OBJECT_IRLG, 0x24, 0, 0}, &Room::love1UseRLGOnNozzle },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::love1KirkReachedNozzleToPut },
+ { {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::love1KirkPutBottleInNozzle },
+ { {ACTION_USE, 0xff, 0x24, 0, 0}, &Room::love1UseAnthingOnNozzle },
+ { {ACTION_USE, OBJECT_SPOCK, 0x23, 0, 0}, &Room::love1UseSpockOnReplicator },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x23, 0, 0}, &Room::love1UseRedshirtOnReplicator },
+ { {ACTION_USE, OBJECT_MCCOY, 14, 0, 0}, &Room::love1UseMccoyOnReplicator },
+ { {ACTION_USE, OBJECT_MCCOY, 15, 0, 0}, &Room::love1UseMccoyOnReplicator },
+ { {ACTION_USE, OBJECT_MCCOY, 0x23, 0, 0}, &Room::love1UseMccoyOnReplicator },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love1MccoyReachedReplicator },
+ { {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::love1MccoyUsedReplicator },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::love1ChamberClosed },
+ { {ACTION_FINISHED_ANIMATION, 8, 0, 0, 0}, &Room::love1ChamberOpened },
+ { {ACTION_USE, 0xff, 12, 0, 0}, &Room::love1UseAnythingOnChamber },
+ { {ACTION_USE, OBJECT_IDISHES, 12, 0, 0}, &Room::love1UseDishesOnChamber },
+ { {ACTION_USE, OBJECT_IDISHES, 0x23, 0, 0}, &Room::love1UseDishesOnChamber },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love1KirkReachedChamberToPut },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::love1ChamberOpenedForDish },
+ { {ACTION_FINISHED_ANIMATION, 14, 0, 0, 0}, &Room::love1KirkPutDishInChamber },
+ { {ACTION_USE, OBJECT_IINSULAT, 0x21, 0, 0}, &Room::love1UseInsulationOnDistillator },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::love1KirkReachedDistillator },
+ { {ACTION_FINISHED_ANIMATION, 15, 0, 0, 0}, &Room::love1KirkGotPolyberylcarbonate },
+ { {ACTION_USE, OBJECT_KIRK, 0x22, 0, 0}, &Room::love1UseKirkOnFreezer },
+ { {ACTION_USE, OBJECT_KIRK, 11, 0, 0}, &Room::love1UseKirkOnFreezer },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0, 0}, &Room::love1UseRedshirtOnFreezer },
+ { {ACTION_USE, OBJECT_REDSHIRT, 11, 0, 0}, &Room::love1UseRedshirtOnFreezer },
+ { {ACTION_USE, OBJECT_SPOCK, 0x22, 0, 0}, &Room::love1UseSpockOnFreezer },
+ { {ACTION_USE, OBJECT_SPOCK, 11, 0, 0}, &Room::love1UseSpockOnFreezer },
+ { {ACTION_USE, OBJECT_MCCOY, 0x22, 0, 0}, &Room::love1UseMccoyOnFreezer },
+ { {ACTION_USE, OBJECT_MCCOY, 11, 0, 0}, &Room::love1UseMccoyOnFreezer },
+ { {ACTION_FINISHED_WALKING, 7, 0, 0, 0}, &Room::love1CrewmanReachedFreezer },
+ { {ACTION_FINISHED_ANIMATION, 16, 0, 0, 0}, &Room::love1CrewmanOpenedOrClosedFreezer },
+ { {ACTION_USE, 0xff, 0x22, 0, 0}, &Room::love1UseAnythingOnFreezer },
+ { {ACTION_FINISHED_WALKING, 11, 0, 0, 0}, &Room::love1ReachedFreezerWithArbitraryItem },
+ { {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnFreezer },
+ { {ACTION_USE, 0xff, 0x23, 0, 0}, &Room::love1UseAnythingOnReplicator },
+ { {ACTION_FINISHED_WALKING, 12, 0, 0, 0}, &Room::love1ReachedReplicatorWithArbitraryItem },
+ { {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnReplicator },
+ { {ACTION_USE, 0xff, 0x21, 0, 0}, &Room::love1UseAnythingOnDistillator },
+ { {ACTION_FINISHED_WALKING, 13, 0, 0, 0}, &Room::love1ReachedDistillatorWithArbitraryItem },
+ { {ACTION_FINISHED_ANIMATION, 19, 0, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnDistillator },
+ { {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::love1UseKirkOnLadder },
+ { {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::love1UseSpockOnLadder },
+ { {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::love1UseMccoyOnLadder },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::love1UseRedshirtOnLadder },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::love1CrewmanReachedLadder },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love1CrewmanDiedFromPhaser },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::love1TouchedHotspot0 },
// Common code
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
- { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
- { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
- { {ACTION_FINISHED_WALKING, 99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
- { {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
- { {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
- { {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+ { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+ { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+ { {ACTION_FINISHED_WALKING, 99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+ { {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+ { {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+ { {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum love1TextIds {
diff --git a/engines/startrek/rooms/love2.cpp b/engines/startrek/rooms/love2.cpp
index 7b9b1ec8630..4bd9e921fdb 100644
--- a/engines/startrek/rooms/love2.cpp
+++ b/engines/startrek/rooms/love2.cpp
@@ -44,136 +44,136 @@
namespace StarTrek {
extern const RoomAction love2ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::love2Tick1 },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::love2TouchedWarp1 },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::love2Timer3Expired },
- { {ACTION_WALK, 10, 0, 0}, &Room::love2WalkToDoor },
- { {ACTION_WALK, 0x22, 0, 0}, &Room::love2WalkToDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::love2TouchedHotspot0 },
- { {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::love2DoorReachedOrOpened },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::love2DoorReachedOrOpened },
- { {ACTION_LOOK, 8, 0, 0}, &Room::love2LookAtCabinet },
- { {ACTION_LOOK, 10, 0, 0}, &Room::love2LookAtDoor },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::love2LookAtSynthesizer },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::love2LookAtAnywhere },
- { {ACTION_LOOK, 14, 0, 0}, &Room::love2LookAtAntigrav },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love2LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love2LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love2LookAtRedshirt },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love2LookAtKirk },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::love2LookAtArdak },
- { {ACTION_LOOK, 15, 0, 0}, &Room::love2LookAtChamber },
- { {ACTION_LOOK, 16, 0, 0}, &Room::love2LookAtChamber },
- { {ACTION_LOOK, 18, 0, 0}, &Room::love2LookAtChamber },
- { {ACTION_LOOK, 19, 0, 0}, &Room::love2LookAtChamber },
- { {ACTION_LOOK, 17, 0, 0}, &Room::love2LookAtChamber },
- { {ACTION_LOOK, 9, 0, 0}, &Room::love2LookAtChamber },
- { {ACTION_LOOK, 12, 0, 0}, &Room::love2LookAtCan1 },
- { {ACTION_LOOK, 13, 0, 0}, &Room::love2LookAtCan2 },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love2TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love2TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love2TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love2TalkToRedshirt },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love2UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love2UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_KIRK, 8, 0}, &Room::love2UseKirkOnCabinet },
- { {ACTION_USE, OBJECT_SPOCK, 8, 0}, &Room::love2UseSpockOnCabinet },
- { {ACTION_USE, OBJECT_MCCOY, 8, 0}, &Room::love2UseMccoyOnCabinet },
- { {ACTION_USE, OBJECT_REDSHIRT, 8, 0}, &Room::love2UseRedshirtOnCabinet },
- { {ACTION_FINISHED_WALKING, 12, 0, 0}, &Room::love2CrewmanReachedCabinet },
- { {ACTION_FINISHED_ANIMATION, 11, 0, 0}, &Room::love2CrewmanAccessedCabinet },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love2CrewmanOpenedOrClosedCabinet },
- { {ACTION_USE, OBJECT_IWRENCH, 11, 0}, &Room::love2UseWrenchOnGasFeed },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::love2ReachedGasFeed },
- { {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::love2ChangedGasFeed },
- { {ACTION_USE, OBJECT_IO2GAS, 0x23, 0}, &Room::love2UseO2GasOnCanisterSlot },
- { {ACTION_USE, OBJECT_IH2GAS, 0x23, 0}, &Room::love2UseH2GasOnCanisterSlot },
- { {ACTION_USE, OBJECT_IN2GAS, 0x23, 0}, &Room::love2UseN2GasOnCanisterSlot },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::love2ReachedCanisterSlot },
- { {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::love2PutCanisterInSlot1 },
- { {ACTION_FINISHED_ANIMATION, 14, 0, 0}, &Room::love2PutCanisterInSlot2 },
- { {ACTION_USE, OBJECT_IANTIGRA, 12, 0}, &Room::love2UseAntigravOnCanister1 },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love2ReachedCanisterSlot1ToGet },
- { {ACTION_FINISHED_ANIMATION, 15, 0, 0}, &Room::love2TookCanister1 },
- { {ACTION_USE, OBJECT_IANTIGRA, 13, 0}, &Room::love2UseAntigravOnCanister2 },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love2ReachedCanisterSlot2ToGet },
- { {ACTION_FINISHED_ANIMATION, 16, 0, 0}, &Room::love2TookCanister2 },
- { {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::love2UseKirkOnSynthesizer },
- { {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::love2UseSpockOnSynthesizer },
- { {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::love2UseMccoyOnSynthesizer },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::love2UseRedshirtOnSynthesizer },
- { {ACTION_FINISHED_WALKING, 13, 0, 0}, &Room::love2CrewmanReachedSynthesizer },
- { {ACTION_FINISHED_ANIMATION, 17, 0, 0}, &Room::love2CrewmanUsedSynthesizer },
- { {ACTION_FINISHED_WALKING, 16, 0, 0}, &Room::love2SpockReachedGasFeeds },
- { {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::love2SpockEnabledGasFeeds },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love2SynthesizerDoorClosed },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love2SynthesizerFinished },
- { {ACTION_FINISHED_ANIMATION, 27, 0, 0}, &Room::love2ClosedSynthesizerDoorMakingRLG },
- { {ACTION_FINISHED_ANIMATION, 8, 0, 0}, &Room::love2ClosedSynthesizerDoorMakingCure },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::love2CureStartedSynthesizing },
- { {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::love2CureSynthesized },
- { {ACTION_USE, OBJECT_IPBC, 9, 0}, &Room::love2UsePolyberylcarbonateOnSynthesizerDoor },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::love2KirkReachedSynthesizerWithPolyberylcarbonate },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::love2SynthesizerDoorOpenedWithPolyberylcarbonate },
- { {ACTION_FINISHED_ANIMATION, 19, 0, 0}, &Room::love2PutPolyberylcarbonateInSynthesizer },
-
- { {ACTION_USE, OBJECT_IDISHES, 9, 0}, &Room::love2UseVirusSampleOnSynthesizerDoor },
- { {ACTION_FINISHED_WALKING, 7, 0, 0}, &Room::love2KirkReachedSynthesizerWithVirusSample },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love2SynthesizerDoorOpenedWithVirusSample },
- { {ACTION_FINISHED_ANIMATION, 20, 0, 0}, &Room::love2PutVirusSampleInSynthesizer },
-
- { {ACTION_USE, OBJECT_ISAMPLE, 9, 0}, &Room::love2UseCureSampleOnSynthesizerDoor },
- { {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::love2KirkReachedSynthesizerWithCureSample },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::love2SynthesizerDoorOpenedWithCureSample },
- { {ACTION_FINISHED_ANIMATION, 21, 0, 0}, &Room::love2PutCureSampleInSynthesizer },
-
- { {ACTION_USE, 0xff, 9, 0}, &Room::love2UseAnythingOnSynthesizerDoor },
- { {ACTION_USE, 0xff, 0x20, 0}, &Room::love2UseAnythingOnSynthesizer },
- { {ACTION_GET, 13, 0, 0}, &Room::love2GetCanister },
- { {ACTION_GET, 12, 0, 0}, &Room::love2GetCanister },
-
- { {ACTION_GET, 14, 0, 0}, &Room::love2GetAntigrav },
- { {ACTION_FINISHED_WALKING, 9, 0, 0}, &Room::love2ReachedAntigrav },
- { {ACTION_FINISHED_ANIMATION, 22, 0, 0}, &Room::love2GotAntigrav },
-
- { {ACTION_GET, 16, 0, 0}, &Room::love2GetPolyberylcarbonate },
- { {ACTION_FINISHED_WALKING, 18, 0, 0}, &Room::love2ReachedPolyberylcarbonate },
- { {ACTION_FINISHED_ANIMATION, 26, 0, 0}, &Room::love2GotPolyberylcarbonate },
-
- { {ACTION_GET, 17, 0, 0}, &Room::love2GetDishes },
- { {ACTION_FINISHED_WALKING, 17, 0, 0}, &Room::love2ReachedDishes },
- { {ACTION_FINISHED_ANIMATION, 25, 0, 0}, &Room::love2GotDishes },
-
- { {ACTION_GET, 18, 0, 0}, &Room::love2GetSample },
- { {ACTION_FINISHED_WALKING, 19, 0, 0}, &Room::love2ReachedSample },
- { {ACTION_FINISHED_ANIMATION, 28, 0, 0}, &Room::love2GotSample },
-
- { {ACTION_GET, 15, 0, 0}, &Room::love2GetSynthesizerOutput },
- { {ACTION_FINISHED_WALKING, 10, 0, 0}, &Room::love2ReachedSynthesizerOutput },
- { {ACTION_FINISHED_ANIMATION, 23, 0, 0}, &Room::love2GotSynthesizerOutput },
-
- { {ACTION_GET, 19, 0, 0}, &Room::love2GetCure },
- { {ACTION_FINISHED_WALKING, 11, 0, 0}, &Room::love2ReachedCure },
- { {ACTION_FINISHED_ANIMATION, 24, 0, 0}, &Room::love2GotCure },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::love2Tick1 },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::love2TouchedWarp1 },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::love2Timer3Expired },
+ { {ACTION_WALK, 10, 0, 0, 0}, &Room::love2WalkToDoor },
+ { {ACTION_WALK, 0x22, 0, 0, 0}, &Room::love2WalkToDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::love2TouchedHotspot0 },
+ { {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::love2DoorReachedOrOpened },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::love2DoorReachedOrOpened },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::love2LookAtCabinet },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::love2LookAtDoor },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love2LookAtSynthesizer },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love2LookAtAnywhere },
+ { {ACTION_LOOK, 14, 0, 0, 0}, &Room::love2LookAtAntigrav },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love2LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love2LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love2LookAtRedshirt },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love2LookAtKirk },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love2LookAtArdak },
+ { {ACTION_LOOK, 15, 0, 0, 0}, &Room::love2LookAtChamber },
+ { {ACTION_LOOK, 16, 0, 0, 0}, &Room::love2LookAtChamber },
+ { {ACTION_LOOK, 18, 0, 0, 0}, &Room::love2LookAtChamber },
+ { {ACTION_LOOK, 19, 0, 0, 0}, &Room::love2LookAtChamber },
+ { {ACTION_LOOK, 17, 0, 0, 0}, &Room::love2LookAtChamber },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::love2LookAtChamber },
+ { {ACTION_LOOK, 12, 0, 0, 0}, &Room::love2LookAtCan1 },
+ { {ACTION_LOOK, 13, 0, 0, 0}, &Room::love2LookAtCan2 },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love2TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love2TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love2TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love2TalkToRedshirt },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love2UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love2UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_KIRK, 8, 0, 0}, &Room::love2UseKirkOnCabinet },
+ { {ACTION_USE, OBJECT_SPOCK, 8, 0, 0}, &Room::love2UseSpockOnCabinet },
+ { {ACTION_USE, OBJECT_MCCOY, 8, 0, 0}, &Room::love2UseMccoyOnCabinet },
+ { {ACTION_USE, OBJECT_REDSHIRT, 8, 0, 0}, &Room::love2UseRedshirtOnCabinet },
+ { {ACTION_FINISHED_WALKING, 12, 0, 0, 0}, &Room::love2CrewmanReachedCabinet },
+ { {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0}, &Room::love2CrewmanAccessedCabinet },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love2CrewmanOpenedOrClosedCabinet },
+ { {ACTION_USE, OBJECT_IWRENCH, 11, 0, 0}, &Room::love2UseWrenchOnGasFeed },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::love2ReachedGasFeed },
+ { {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::love2ChangedGasFeed },
+ { {ACTION_USE, OBJECT_IO2GAS, 0x23, 0, 0}, &Room::love2UseO2GasOnCanisterSlot },
+ { {ACTION_USE, OBJECT_IH2GAS, 0x23, 0, 0}, &Room::love2UseH2GasOnCanisterSlot },
+ { {ACTION_USE, OBJECT_IN2GAS, 0x23, 0, 0}, &Room::love2UseN2GasOnCanisterSlot },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::love2ReachedCanisterSlot },
+ { {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::love2PutCanisterInSlot1 },
+ { {ACTION_FINISHED_ANIMATION, 14, 0, 0, 0}, &Room::love2PutCanisterInSlot2 },
+ { {ACTION_USE, OBJECT_IANTIGRA, 12, 0, 0}, &Room::love2UseAntigravOnCanister1 },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love2ReachedCanisterSlot1ToGet },
+ { {ACTION_FINISHED_ANIMATION, 15, 0, 0, 0}, &Room::love2TookCanister1 },
+ { {ACTION_USE, OBJECT_IANTIGRA, 13, 0, 0}, &Room::love2UseAntigravOnCanister2 },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love2ReachedCanisterSlot2ToGet },
+ { {ACTION_FINISHED_ANIMATION, 16, 0, 0, 0}, &Room::love2TookCanister2 },
+ { {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::love2UseKirkOnSynthesizer },
+ { {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::love2UseSpockOnSynthesizer },
+ { {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::love2UseMccoyOnSynthesizer },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::love2UseRedshirtOnSynthesizer },
+ { {ACTION_FINISHED_WALKING, 13, 0, 0, 0}, &Room::love2CrewmanReachedSynthesizer },
+ { {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0}, &Room::love2CrewmanUsedSynthesizer },
+ { {ACTION_FINISHED_WALKING, 16, 0, 0, 0}, &Room::love2SpockReachedGasFeeds },
+ { {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::love2SpockEnabledGasFeeds },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love2SynthesizerDoorClosed },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love2SynthesizerFinished },
+ { {ACTION_FINISHED_ANIMATION, 27, 0, 0, 0}, &Room::love2ClosedSynthesizerDoorMakingRLG },
+ { {ACTION_FINISHED_ANIMATION, 8, 0, 0, 0}, &Room::love2ClosedSynthesizerDoorMakingCure },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::love2CureStartedSynthesizing },
+ { {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::love2CureSynthesized },
+ { {ACTION_USE, OBJECT_IPBC, 9, 0, 0}, &Room::love2UsePolyberylcarbonateOnSynthesizerDoor },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::love2KirkReachedSynthesizerWithPolyberylcarbonate },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::love2SynthesizerDoorOpenedWithPolyberylcarbonate },
+ { {ACTION_FINISHED_ANIMATION, 19, 0, 0, 0}, &Room::love2PutPolyberylcarbonateInSynthesizer },
+
+ { {ACTION_USE, OBJECT_IDISHES, 9, 0, 0}, &Room::love2UseVirusSampleOnSynthesizerDoor },
+ { {ACTION_FINISHED_WALKING, 7, 0, 0, 0}, &Room::love2KirkReachedSynthesizerWithVirusSample },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love2SynthesizerDoorOpenedWithVirusSample },
+ { {ACTION_FINISHED_ANIMATION, 20, 0, 0, 0}, &Room::love2PutVirusSampleInSynthesizer },
+
+ { {ACTION_USE, OBJECT_ISAMPLE, 9, 0, 0}, &Room::love2UseCureSampleOnSynthesizerDoor },
+ { {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::love2KirkReachedSynthesizerWithCureSample },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::love2SynthesizerDoorOpenedWithCureSample },
+ { {ACTION_FINISHED_ANIMATION, 21, 0, 0, 0}, &Room::love2PutCureSampleInSynthesizer },
+
+ { {ACTION_USE, 0xff, 9, 0, 0}, &Room::love2UseAnythingOnSynthesizerDoor },
+ { {ACTION_USE, 0xff, 0x20, 0, 0}, &Room::love2UseAnythingOnSynthesizer },
+ { {ACTION_GET, 13, 0, 0, 0}, &Room::love2GetCanister },
+ { {ACTION_GET, 12, 0, 0, 0}, &Room::love2GetCanister },
+
+ { {ACTION_GET, 14, 0, 0, 0}, &Room::love2GetAntigrav },
+ { {ACTION_FINISHED_WALKING, 9, 0, 0, 0}, &Room::love2ReachedAntigrav },
+ { {ACTION_FINISHED_ANIMATION, 22, 0, 0, 0}, &Room::love2GotAntigrav },
+
+ { {ACTION_GET, 16, 0, 0, 0}, &Room::love2GetPolyberylcarbonate },
+ { {ACTION_FINISHED_WALKING, 18, 0, 0, 0}, &Room::love2ReachedPolyberylcarbonate },
+ { {ACTION_FINISHED_ANIMATION, 26, 0, 0, 0}, &Room::love2GotPolyberylcarbonate },
+
+ { {ACTION_GET, 17, 0, 0, 0}, &Room::love2GetDishes },
+ { {ACTION_FINISHED_WALKING, 17, 0, 0, 0}, &Room::love2ReachedDishes },
+ { {ACTION_FINISHED_ANIMATION, 25, 0, 0, 0}, &Room::love2GotDishes },
+
+ { {ACTION_GET, 18, 0, 0, 0}, &Room::love2GetSample },
+ { {ACTION_FINISHED_WALKING, 19, 0, 0, 0}, &Room::love2ReachedSample },
+ { {ACTION_FINISHED_ANIMATION, 28, 0, 0, 0}, &Room::love2GotSample },
+
+ { {ACTION_GET, 15, 0, 0, 0}, &Room::love2GetSynthesizerOutput },
+ { {ACTION_FINISHED_WALKING, 10, 0, 0, 0}, &Room::love2ReachedSynthesizerOutput },
+ { {ACTION_FINISHED_ANIMATION, 23, 0, 0, 0}, &Room::love2GotSynthesizerOutput },
+
+ { {ACTION_GET, 19, 0, 0, 0}, &Room::love2GetCure },
+ { {ACTION_FINISHED_WALKING, 11, 0, 0, 0}, &Room::love2ReachedCure },
+ { {ACTION_FINISHED_ANIMATION, 24, 0, 0, 0}, &Room::love2GotCure },
// Common code
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
- { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
- { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
- { {ACTION_FINISHED_WALKING, 99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
- { {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
- { {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
- { {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+ { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+ { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+ { {ACTION_FINISHED_WALKING, 99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+ { {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+ { {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+ { {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum love2TextIds {
diff --git a/engines/startrek/rooms/love3.cpp b/engines/startrek/rooms/love3.cpp
index 01a52f95891..24367912f36 100644
--- a/engines/startrek/rooms/love3.cpp
+++ b/engines/startrek/rooms/love3.cpp
@@ -35,127 +35,127 @@
namespace StarTrek {
extern const RoomAction love3ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::love3Tick1 },
- { {ACTION_TICK, 80, 0, 0}, &Room::love3Tick80 },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::love3TouchedWarp1 },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::love3Timer3Expired },
- { {ACTION_LOOK, 8, 0, 0}, &Room::love3LookAtServicePanel },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::love3LookAtMonitor },
- { {ACTION_LOOK, 10, 0, 0}, &Room::love3LookAtWrench },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love3LookAtKirk },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love3LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love3LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love3LookAtRedshirt },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::love3LookAnywhere },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::love3LookAtShaft },
- { {ACTION_LOOK, 11, 0, 0}, &Room::love3LookAtGrate },
- { {ACTION_LOOK, 9, 0, 0}, &Room::love3LookAtPanel },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::love3LookAtPanel },
- { {ACTION_LOOK, 12, 0, 0}, &Room::love3LookAtGasTank },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::love3LookAtTurbines },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love3TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love3TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love3TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love3TalkToRedshirt },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love3UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::love3UseSTricorderOnTurbines },
- { {ACTION_USE, OBJECT_ISTRICOR, 9, 0}, &Room::love3UseSTricorderOnInsulation },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love3UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_KIRK, 8, 0}, &Room::love3UseKirkOnServicePanel },
- { {ACTION_USE, OBJECT_SPOCK, 8, 0}, &Room::love3UseSpockOnServicePanel },
- { {ACTION_USE, OBJECT_MCCOY, 8, 0}, &Room::love3UseMccoyOnServicePanel },
- { {ACTION_USE, OBJECT_REDSHIRT, 8, 0}, &Room::love3UseRedshirtOnServicePanel },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::love3CrewmanReachedServicePanel },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::love3OpenedOrClosedServicePanel },
-
- { {ACTION_USE, OBJECT_IWRENCH, 12, 0}, &Room::love3UseWrenchOnGasTank },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::love3ReachedGasTankToUnscrew },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love3ScrewedOrUnscrewedGasTank },
-
- { {ACTION_USE, OBJECT_IWRENCH, OBJECT_IO2GAS, 0}, &Room::love3UseWrenchOnO2OrH2Gas },
- { {ACTION_USE, OBJECT_IWRENCH, OBJECT_IH2GAS, 0}, &Room::love3UseWrenchOnO2OrH2Gas },
-
- { {ACTION_USE, OBJECT_IWRENCH, OBJECT_IN2GAS, 0}, &Room::love3UseWrenchOnN2Gas },
- { {ACTION_FINISHED_WALKING, 15, 0, 0}, &Room::love3ReachedGasTankToPutDown },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love3PutN2TankBack },
-
- { {ACTION_USE, OBJECT_IWRENCH, 0x20, 0}, &Room::love3UseWrenchOnEngineeringPanel },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::love3ReachedEngineeringPanel },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love3OpenedEngineeringPanel },
-
- { {ACTION_USE, OBJECT_IWRENCH, 0x21, 0}, &Room::love3UseWrenchOnMonitor },
-
- { {ACTION_USE, OBJECT_IH2O, 0x21, 0}, &Room::love3UseWaterOnMonitor },
- { {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::love3ReachedMonitorToUseWater },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love3PouredWaterOnMonitor },
-
- { {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
- { {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
- { {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
- { {ACTION_USE, OBJECT_KIRK, 11, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
- { {ACTION_USE, OBJECT_SPOCK, 11, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
- { {ACTION_USE, OBJECT_MCCOY, 11, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
- { {ACTION_USE, OBJECT_REDSHIRT, 11, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
-
- { {ACTION_USE, OBJECT_IWRENCH, 11, 0}, &Room::love3UseWrenchOnGrate },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love3ReachedGateWithWrench },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::love3OpenedOrClosedGrate },
-
- { {ACTION_USE, OBJECT_KIRK, 0x22, 0}, &Room::love3UseCrewmanOnShaft },
- { {ACTION_USE, OBJECT_SPOCK, 0x22, 0}, &Room::love3UseCrewmanOnShaft },
- { {ACTION_USE, OBJECT_MCCOY, 0x22, 0}, &Room::love3UseCrewmanOnShaft },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0}, &Room::love3UseCrewmanOnShaft },
-
- { {ACTION_USE, OBJECT_IH2O, 0x22, 0}, &Room::love3UseWaterOnShaft },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love3ReachedShaftUsingWater },
- { {ACTION_FINISHED_ANIMATION, 8, 0, 0}, &Room::love3PouredWaterDownShaft },
-
- { {ACTION_USE, OBJECT_IN2O, 0x22, 0}, &Room::love3UseNitrousOxideOnShaft },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::love3ReachedShaftUsingNitrousOxide },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::love3PouredNitrousOxideDownShaft },
-
- { {ACTION_USE, OBJECT_INH3, 0x22, 0}, &Room::love3UseAmmoniaOnShaft },
- { {ACTION_FINISHED_WALKING, 7, 0, 0}, &Room::love3ReachedShaftUsingAmmonia },
- { {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::love3PouredAmmoniaDownShaft },
-
- { {ACTION_USE, OBJECT_IRLG, 0x22, 0}, &Room::love3UseRomulanLaughingGasOnShaft },
- { {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::love3ReachedShaftUsingRomulanLaughingGas },
- { {ACTION_FINISHED_ANIMATION, 11, 0, 0}, &Room::love3PouredRomulanLaughingGasDownShaft },
-
- { {ACTION_GET, 10, 0, 0}, &Room::love3GetWrench },
- { {ACTION_FINISHED_WALKING, 9, 0, 0}, &Room::love3ReachedWrenchToGet },
- { {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::love3PickedUpWrench },
-
- { {ACTION_GET, 12, 0, 0}, &Room::love3GetGasTank },
- { {ACTION_FINISHED_WALKING, 10, 0, 0}, &Room::love3ReachedGasTankToGet },
-
- { {ACTION_USE, OBJECT_IANTIGRA, 12, 0}, &Room::love3UseAntigravOnGasTank },
- { {ACTION_FINISHED_WALKING, 11, 0, 0}, &Room::love3ReachedGasTankUsingAntigrav },
- { {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::love3PickedUpGasTank },
-
- { {ACTION_GET, 9, 0, 0}, &Room::love3GetInsulation },
- { {ACTION_FINISHED_WALKING, 12, 0, 0}, &Room::love3ReachedInsulationToGet },
- { {ACTION_FINISHED_ANIMATION, 14, 0, 0}, &Room::love3PickedUpInsulation },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::love3Tick1 },
+ { {ACTION_TICK, 80, 0, 0, 0}, &Room::love3Tick80 },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::love3TouchedWarp1 },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::love3Timer3Expired },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::love3LookAtServicePanel },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love3LookAtMonitor },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::love3LookAtWrench },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love3LookAtKirk },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love3LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love3LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love3LookAtRedshirt },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love3LookAnywhere },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::love3LookAtShaft },
+ { {ACTION_LOOK, 11, 0, 0, 0}, &Room::love3LookAtGrate },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::love3LookAtPanel },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love3LookAtPanel },
+ { {ACTION_LOOK, 12, 0, 0, 0}, &Room::love3LookAtGasTank },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::love3LookAtTurbines },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love3TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love3TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love3TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love3TalkToRedshirt },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love3UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::love3UseSTricorderOnTurbines },
+ { {ACTION_USE, OBJECT_ISTRICOR, 9, 0, 0}, &Room::love3UseSTricorderOnInsulation },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love3UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_KIRK, 8, 0, 0}, &Room::love3UseKirkOnServicePanel },
+ { {ACTION_USE, OBJECT_SPOCK, 8, 0, 0}, &Room::love3UseSpockOnServicePanel },
+ { {ACTION_USE, OBJECT_MCCOY, 8, 0, 0}, &Room::love3UseMccoyOnServicePanel },
+ { {ACTION_USE, OBJECT_REDSHIRT, 8, 0, 0}, &Room::love3UseRedshirtOnServicePanel },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::love3CrewmanReachedServicePanel },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::love3OpenedOrClosedServicePanel },
+
+ { {ACTION_USE, OBJECT_IWRENCH, 12, 0, 0}, &Room::love3UseWrenchOnGasTank },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::love3ReachedGasTankToUnscrew },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love3ScrewedOrUnscrewedGasTank },
+
+ { {ACTION_USE, OBJECT_IWRENCH, OBJECT_IO2GAS, 0, 0}, &Room::love3UseWrenchOnO2OrH2Gas },
+ { {ACTION_USE, OBJECT_IWRENCH, OBJECT_IH2GAS, 0, 0}, &Room::love3UseWrenchOnO2OrH2Gas },
+
+ { {ACTION_USE, OBJECT_IWRENCH, OBJECT_IN2GAS, 0, 0}, &Room::love3UseWrenchOnN2Gas },
+ { {ACTION_FINISHED_WALKING, 15, 0, 0, 0}, &Room::love3ReachedGasTankToPutDown },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love3PutN2TankBack },
+
+ { {ACTION_USE, OBJECT_IWRENCH, 0x20, 0, 0}, &Room::love3UseWrenchOnEngineeringPanel },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::love3ReachedEngineeringPanel },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love3OpenedEngineeringPanel },
+
+ { {ACTION_USE, OBJECT_IWRENCH, 0x21, 0, 0}, &Room::love3UseWrenchOnMonitor },
+
+ { {ACTION_USE, OBJECT_IH2O, 0x21, 0, 0}, &Room::love3UseWaterOnMonitor },
+ { {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::love3ReachedMonitorToUseWater },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love3PouredWaterOnMonitor },
+
+ { {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+ { {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+ { {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+ { {ACTION_USE, OBJECT_KIRK, 11, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+ { {ACTION_USE, OBJECT_SPOCK, 11, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+ { {ACTION_USE, OBJECT_MCCOY, 11, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+ { {ACTION_USE, OBJECT_REDSHIRT, 11, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+
+ { {ACTION_USE, OBJECT_IWRENCH, 11, 0, 0}, &Room::love3UseWrenchOnGrate },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love3ReachedGateWithWrench },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::love3OpenedOrClosedGrate },
+
+ { {ACTION_USE, OBJECT_KIRK, 0x22, 0, 0}, &Room::love3UseCrewmanOnShaft },
+ { {ACTION_USE, OBJECT_SPOCK, 0x22, 0, 0}, &Room::love3UseCrewmanOnShaft },
+ { {ACTION_USE, OBJECT_MCCOY, 0x22, 0, 0}, &Room::love3UseCrewmanOnShaft },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0, 0}, &Room::love3UseCrewmanOnShaft },
+
+ { {ACTION_USE, OBJECT_IH2O, 0x22, 0, 0}, &Room::love3UseWaterOnShaft },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love3ReachedShaftUsingWater },
+ { {ACTION_FINISHED_ANIMATION, 8, 0, 0, 0}, &Room::love3PouredWaterDownShaft },
+
+ { {ACTION_USE, OBJECT_IN2O, 0x22, 0, 0}, &Room::love3UseNitrousOxideOnShaft },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::love3ReachedShaftUsingNitrousOxide },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::love3PouredNitrousOxideDownShaft },
+
+ { {ACTION_USE, OBJECT_INH3, 0x22, 0, 0}, &Room::love3UseAmmoniaOnShaft },
+ { {ACTION_FINISHED_WALKING, 7, 0, 0, 0}, &Room::love3ReachedShaftUsingAmmonia },
+ { {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::love3PouredAmmoniaDownShaft },
+
+ { {ACTION_USE, OBJECT_IRLG, 0x22, 0, 0}, &Room::love3UseRomulanLaughingGasOnShaft },
+ { {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::love3ReachedShaftUsingRomulanLaughingGas },
+ { {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0}, &Room::love3PouredRomulanLaughingGasDownShaft },
+
+ { {ACTION_GET, 10, 0, 0, 0}, &Room::love3GetWrench },
+ { {ACTION_FINISHED_WALKING, 9, 0, 0, 0}, &Room::love3ReachedWrenchToGet },
+ { {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::love3PickedUpWrench },
+
+ { {ACTION_GET, 12, 0, 0, 0}, &Room::love3GetGasTank },
+ { {ACTION_FINISHED_WALKING, 10, 0, 0, 0}, &Room::love3ReachedGasTankToGet },
+
+ { {ACTION_USE, OBJECT_IANTIGRA, 12, 0, 0}, &Room::love3UseAntigravOnGasTank },
+ { {ACTION_FINISHED_WALKING, 11, 0, 0, 0}, &Room::love3ReachedGasTankUsingAntigrav },
+ { {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::love3PickedUpGasTank },
+
+ { {ACTION_GET, 9, 0, 0, 0}, &Room::love3GetInsulation },
+ { {ACTION_FINISHED_WALKING, 12, 0, 0, 0}, &Room::love3ReachedInsulationToGet },
+ { {ACTION_FINISHED_ANIMATION, 14, 0, 0, 0}, &Room::love3PickedUpInsulation },
// Common code
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
- { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
- { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
- { {ACTION_FINISHED_WALKING, 99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
- { {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
- { {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
- { {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+ { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+ { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+ { {ACTION_FINISHED_WALKING, 99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+ { {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+ { {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+ { {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum love3TextIds {
diff --git a/engines/startrek/rooms/love4.cpp b/engines/startrek/rooms/love4.cpp
index 9f4ce61661a..355ed5bf85c 100644
--- a/engines/startrek/rooms/love4.cpp
+++ b/engines/startrek/rooms/love4.cpp
@@ -33,96 +33,96 @@
namespace StarTrek {
extern const RoomAction love4ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::love4Tick1 },
- { {ACTION_TICK, 10, 0, 0}, &Room::love4Tick10 },
-
- { {ACTION_WALK, 8, 0, 0}, &Room::love4WalkToDoor },
- { {ACTION_WALK, 0x20, 0, 0}, &Room::love4WalkToDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::love4TouchedHotspot0 },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::love4DoorOpenedOrReached },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::love4DoorOpenedOrReached },
-
- { {ACTION_USE, OBJECT_KIRK, 0x21, 0}, &Room::love4UseKirkOnLadder },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::love4ReachedLadder },
- { {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::love4UseStunPhaserOnRomulan },
- { {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::love4UseStunPhaserOnRomulan },
- { {ACTION_USE, OBJECT_IPHASERS, 11, 0}, &Room::love4UseStunPhaserOnRomulan },
- { {ACTION_USE, OBJECT_IPHASERS, 12, 0}, &Room::love4UseStunPhaserOnRomulan },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::love4Tick1 },
+ { {ACTION_TICK, 10, 0, 0, 0}, &Room::love4Tick10 },
+
+ { {ACTION_WALK, 8, 0, 0, 0}, &Room::love4WalkToDoor },
+ { {ACTION_WALK, 0x20, 0, 0, 0}, &Room::love4WalkToDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::love4TouchedHotspot0 },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::love4DoorOpenedOrReached },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::love4DoorOpenedOrReached },
+
+ { {ACTION_USE, OBJECT_KIRK, 0x21, 0, 0}, &Room::love4UseKirkOnLadder },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::love4ReachedLadder },
+ { {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::love4UseStunPhaserOnRomulan },
+ { {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::love4UseStunPhaserOnRomulan },
+ { {ACTION_USE, OBJECT_IPHASERS, 11, 0, 0}, &Room::love4UseStunPhaserOnRomulan },
+ { {ACTION_USE, OBJECT_IPHASERS, 12, 0, 0}, &Room::love4UseStunPhaserOnRomulan },
// NOTE: nothing for OBJECT_IPHASERK. There's an unused audio file which might fit.
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::love4LookAnywhere },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::love4LookAtLadder },
- { {ACTION_LOOK, 8, 0, 0}, &Room::love4LookAtDoor },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love4LookAtKirk },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love4LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love4LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love4LookAtRedshirt },
- { {ACTION_LOOK, 9, 0, 0}, &Room::love4LookAtRomulan },
- { {ACTION_LOOK, 10, 0, 0}, &Room::love4LookAtRomulan },
- { {ACTION_LOOK, 11, 0, 0}, &Room::love4LookAtRomulan },
- { {ACTION_LOOK, 12, 0, 0}, &Room::love4LookAtRomulan },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love4TalkToKirk },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love4TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love4TalkToRedshirt },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love4TalkToSpock },
- { {ACTION_TALK, 9, 0, 0}, &Room::love4TalkToRomulan },
- { {ACTION_TALK, 10, 0, 0}, &Room::love4TalkToRomulan },
- { {ACTION_TALK, 11, 0, 0}, &Room::love4TalkToRomulan },
- { {ACTION_TALK, 12, 0, 0}, &Room::love4TalkToRomulan },
- { {ACTION_USE, OBJECT_IMTRICOR, 9, 0}, &Room::love4UseMTricorderOnRomulan },
- { {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::love4UseMTricorderOnRomulan },
- { {ACTION_USE, OBJECT_IMTRICOR, 11, 0}, &Room::love4UseMTricorderOnRomulan },
- { {ACTION_USE, OBJECT_IMTRICOR, 12, 0}, &Room::love4UseMTricorderOnRomulan },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love4UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love4UseSTricorderAnywhere },
-
- { {ACTION_USE, OBJECT_ICURE, 9, 0}, &Room::love4UseCureOnRomulan },
- { {ACTION_USE, OBJECT_ICURE, 10, 0}, &Room::love4UseCureOnRomulan },
- { {ACTION_USE, OBJECT_ICURE, 11, 0}, &Room::love4UseCureOnRomulan },
- { {ACTION_USE, OBJECT_ICURE, 12, 0}, &Room::love4UseCureOnRomulan },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::love4MccoyReachedRomulan4 },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love4MccoyCuredRomulan4 },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love4MccoyReachedRomulan3 },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love4MccoyCuredRomulan3 },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love4MccoyReachedRomulan2 },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love4MccoyCuredRomulan2 },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::love4MccoyReachedRomulan1 },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::love4MccoyCuredRomulan1 },
-
- { {ACTION_USE, OBJECT_IH2O, 9, 0}, &Room::love4UseWaterOnRomulan },
- { {ACTION_USE, OBJECT_IH2O, 10, 0}, &Room::love4UseWaterOnRomulan },
- { {ACTION_USE, OBJECT_IH2O, 11, 0}, &Room::love4UseWaterOnRomulan },
- { {ACTION_USE, OBJECT_IH2O, 12, 0}, &Room::love4UseWaterOnRomulan },
- { {ACTION_USE, OBJECT_IMEDKIT, 9, 0}, &Room::love4UseMedkitOnRomulan },
- { {ACTION_USE, OBJECT_IMEDKIT, 10, 0}, &Room::love4UseMedkitOnRomulan },
- { {ACTION_USE, OBJECT_IMEDKIT, 11, 0}, &Room::love4UseMedkitOnRomulan },
- { {ACTION_USE, OBJECT_IMEDKIT, 12, 0}, &Room::love4UseMedkitOnRomulan },
- { {ACTION_USE, OBJECT_ISAMPLE, 9, 0}, &Room::love4UseCureSampleOnRomulan },
- { {ACTION_USE, OBJECT_ISAMPLE, 10, 0}, &Room::love4UseCureSampleOnRomulan },
- { {ACTION_USE, OBJECT_ISAMPLE, 11, 0}, &Room::love4UseCureSampleOnRomulan },
- { {ACTION_USE, OBJECT_ISAMPLE, 12, 0}, &Room::love4UseCureSampleOnRomulan },
- { {ACTION_USE, 0xff, 9, 0}, &Room::love4UseAnythingOnRomulan },
- { {ACTION_USE, 0xff, 10, 0}, &Room::love4UseAnythingOnRomulan },
- { {ACTION_USE, 0xff, 11, 0}, &Room::love4UseAnythingOnRomulan },
- { {ACTION_USE, 0xff, 12, 0}, &Room::love4UseAnythingOnRomulan },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love4LookAnywhere },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love4LookAtLadder },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::love4LookAtDoor },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love4LookAtKirk },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love4LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love4LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love4LookAtRedshirt },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::love4LookAtRomulan },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::love4LookAtRomulan },
+ { {ACTION_LOOK, 11, 0, 0, 0}, &Room::love4LookAtRomulan },
+ { {ACTION_LOOK, 12, 0, 0, 0}, &Room::love4LookAtRomulan },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love4TalkToKirk },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love4TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love4TalkToRedshirt },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love4TalkToSpock },
+ { {ACTION_TALK, 9, 0, 0, 0}, &Room::love4TalkToRomulan },
+ { {ACTION_TALK, 10, 0, 0, 0}, &Room::love4TalkToRomulan },
+ { {ACTION_TALK, 11, 0, 0, 0}, &Room::love4TalkToRomulan },
+ { {ACTION_TALK, 12, 0, 0, 0}, &Room::love4TalkToRomulan },
+ { {ACTION_USE, OBJECT_IMTRICOR, 9, 0, 0}, &Room::love4UseMTricorderOnRomulan },
+ { {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::love4UseMTricorderOnRomulan },
+ { {ACTION_USE, OBJECT_IMTRICOR, 11, 0, 0}, &Room::love4UseMTricorderOnRomulan },
+ { {ACTION_USE, OBJECT_IMTRICOR, 12, 0, 0}, &Room::love4UseMTricorderOnRomulan },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love4UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love4UseSTricorderAnywhere },
+
+ { {ACTION_USE, OBJECT_ICURE, 9, 0, 0}, &Room::love4UseCureOnRomulan },
+ { {ACTION_USE, OBJECT_ICURE, 10, 0, 0}, &Room::love4UseCureOnRomulan },
+ { {ACTION_USE, OBJECT_ICURE, 11, 0, 0}, &Room::love4UseCureOnRomulan },
+ { {ACTION_USE, OBJECT_ICURE, 12, 0, 0}, &Room::love4UseCureOnRomulan },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::love4MccoyReachedRomulan4 },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love4MccoyCuredRomulan4 },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love4MccoyReachedRomulan3 },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love4MccoyCuredRomulan3 },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love4MccoyReachedRomulan2 },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love4MccoyCuredRomulan2 },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::love4MccoyReachedRomulan1 },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::love4MccoyCuredRomulan1 },
+
+ { {ACTION_USE, OBJECT_IH2O, 9, 0, 0}, &Room::love4UseWaterOnRomulan },
+ { {ACTION_USE, OBJECT_IH2O, 10, 0, 0}, &Room::love4UseWaterOnRomulan },
+ { {ACTION_USE, OBJECT_IH2O, 11, 0, 0}, &Room::love4UseWaterOnRomulan },
+ { {ACTION_USE, OBJECT_IH2O, 12, 0, 0}, &Room::love4UseWaterOnRomulan },
+ { {ACTION_USE, OBJECT_IMEDKIT, 9, 0, 0}, &Room::love4UseMedkitOnRomulan },
+ { {ACTION_USE, OBJECT_IMEDKIT, 10, 0, 0}, &Room::love4UseMedkitOnRomulan },
+ { {ACTION_USE, OBJECT_IMEDKIT, 11, 0, 0}, &Room::love4UseMedkitOnRomulan },
+ { {ACTION_USE, OBJECT_IMEDKIT, 12, 0, 0}, &Room::love4UseMedkitOnRomulan },
+ { {ACTION_USE, OBJECT_ISAMPLE, 9, 0, 0}, &Room::love4UseCureSampleOnRomulan },
+ { {ACTION_USE, OBJECT_ISAMPLE, 10, 0, 0}, &Room::love4UseCureSampleOnRomulan },
+ { {ACTION_USE, OBJECT_ISAMPLE, 11, 0, 0}, &Room::love4UseCureSampleOnRomulan },
+ { {ACTION_USE, OBJECT_ISAMPLE, 12, 0, 0}, &Room::love4UseCureSampleOnRomulan },
+ { {ACTION_USE, 0xff, 9, 0, 0}, &Room::love4UseAnythingOnRomulan },
+ { {ACTION_USE, 0xff, 10, 0, 0}, &Room::love4UseAnythingOnRomulan },
+ { {ACTION_USE, 0xff, 11, 0, 0}, &Room::love4UseAnythingOnRomulan },
+ { {ACTION_USE, 0xff, 12, 0, 0}, &Room::love4UseAnythingOnRomulan },
// Common code
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
- { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
- { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
- { {ACTION_FINISHED_WALKING, 99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
- { {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
- { {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
- { {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+ { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+ { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+ { {ACTION_FINISHED_WALKING, 99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+ { {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+ { {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+ { {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum love4TextIds {
diff --git a/engines/startrek/rooms/love5.cpp b/engines/startrek/rooms/love5.cpp
index 1bbb1b6a326..c284f4d5c14 100644
--- a/engines/startrek/rooms/love5.cpp
+++ b/engines/startrek/rooms/love5.cpp
@@ -32,69 +32,69 @@
namespace StarTrek {
extern const RoomAction love5ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::love5Tick1 },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::love5TouchedWarp1 },
- { {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::love5Timer4Expired },
- { {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::love5UseStunPhaserOnPreax },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::love5Tick1 },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::love5TouchedWarp1 },
+ { {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::love5Timer4Expired },
+ { {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::love5UseStunPhaserOnPreax },
// NOTE: nothing for OBJECT_IPHASERK. There's an unused audio file which might fit.
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love5LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love5LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love5LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love5LookAtRedshirt },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::love5LookAnywhere },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::love5LookAtDevice },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::love5LookAtConsole },
- { {ACTION_LOOK, 10, 0, 0}, &Room::love5LookAtDrMarcus },
- { {ACTION_LOOK, 11, 0, 0}, &Room::love5LookAtDrCheever },
- { {ACTION_LOOK, 9, 0, 0}, &Room::love5LookAtPreax },
- { {ACTION_TALK, 9, 0, 0}, &Room::love5TalkToPreax },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love5MccoyReachedSpockToCure },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love5MccoyCuredSpock },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::love5CrewmanReachedBeamoutPosition },
- { {ACTION_TALK, 10, 0, 0}, &Room::love5TalkToDrMarcus },
- { {ACTION_TALK, 11, 0, 0}, &Room::love5TalkToDrCheever },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love5TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love5TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love5TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love5TalkToRedshirt },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love5UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::love5UseSTricorderOnDevice },
- { {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::love5UseMTricorderOnMarcusOrCheever },
- { {ACTION_USE, OBJECT_IMTRICOR, 11, 0}, &Room::love5UseMTricorderOnMarcusOrCheever },
- { {ACTION_USE, OBJECT_IMTRICOR, 9, 0}, &Room::love5UseMTricorderOnPreax },
- { {ACTION_USE, OBJECT_IMEDKIT, 9, 0}, &Room::love5UseMedkitOnPreax },
- { {ACTION_USE, OBJECT_IH2O, 9, 0}, &Room::love5UseWaterOnPreax },
- { {ACTION_USE, OBJECT_ISAMPLE, 9, 0}, &Room::love5UseCureSampleOnPreax },
- { {ACTION_USE, OBJECT_ICURE, 9, 0}, &Room::love5UseCureOnPreax },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love5ReachedPreaxUsingCure },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::love5CuredPreax },
- { {ACTION_USE, 0xff, 9, 0}, &Room::love5UseAnythingOnPreax },
- { {ACTION_USE, OBJECT_KIRK, 10, 0}, &Room::love5UseKirkOnMarcusOrCheever },
- { {ACTION_USE, OBJECT_KIRK, 11, 0}, &Room::love5UseKirkOnMarcusOrCheever },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::love5KirkReachedCheever },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love5KirkUntiedCheever },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::love5KirkReachedMarcus },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love5KirkUntiedMarcus },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love5MarcusStoodUp },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love5LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love5LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love5LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love5LookAtRedshirt },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love5LookAnywhere },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love5LookAtDevice },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love5LookAtConsole },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::love5LookAtDrMarcus },
+ { {ACTION_LOOK, 11, 0, 0, 0}, &Room::love5LookAtDrCheever },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::love5LookAtPreax },
+ { {ACTION_TALK, 9, 0, 0, 0}, &Room::love5TalkToPreax },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love5MccoyReachedSpockToCure },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love5MccoyCuredSpock },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::love5CrewmanReachedBeamoutPosition },
+ { {ACTION_TALK, 10, 0, 0, 0}, &Room::love5TalkToDrMarcus },
+ { {ACTION_TALK, 11, 0, 0, 0}, &Room::love5TalkToDrCheever },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love5TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love5TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love5TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love5TalkToRedshirt },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love5UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::love5UseSTricorderOnDevice },
+ { {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::love5UseMTricorderOnMarcusOrCheever },
+ { {ACTION_USE, OBJECT_IMTRICOR, 11, 0, 0}, &Room::love5UseMTricorderOnMarcusOrCheever },
+ { {ACTION_USE, OBJECT_IMTRICOR, 9, 0, 0}, &Room::love5UseMTricorderOnPreax },
+ { {ACTION_USE, OBJECT_IMEDKIT, 9, 0, 0}, &Room::love5UseMedkitOnPreax },
+ { {ACTION_USE, OBJECT_IH2O, 9, 0, 0}, &Room::love5UseWaterOnPreax },
+ { {ACTION_USE, OBJECT_ISAMPLE, 9, 0, 0}, &Room::love5UseCureSampleOnPreax },
+ { {ACTION_USE, OBJECT_ICURE, 9, 0, 0}, &Room::love5UseCureOnPreax },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love5ReachedPreaxUsingCure },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::love5CuredPreax },
+ { {ACTION_USE, 0xff, 9, 0, 0}, &Room::love5UseAnythingOnPreax },
+ { {ACTION_USE, OBJECT_KIRK, 10, 0, 0}, &Room::love5UseKirkOnMarcusOrCheever },
+ { {ACTION_USE, OBJECT_KIRK, 11, 0, 0}, &Room::love5UseKirkOnMarcusOrCheever },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::love5KirkReachedCheever },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love5KirkUntiedCheever },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::love5KirkReachedMarcus },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love5KirkUntiedMarcus },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love5MarcusStoodUp },
// Common code
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
- { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
- { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
- { {ACTION_FINISHED_WALKING, 99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
- { {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
- { {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
- { {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
- { {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+ { {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+ { {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+ { {ACTION_FINISHED_WALKING, 99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+ { {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+ { {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+ { {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+ { {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum love5TextIds {
diff --git a/engines/startrek/rooms/mudd0.cpp b/engines/startrek/rooms/mudd0.cpp
index 1a929c261c9..63fdcca28a1 100644
--- a/engines/startrek/rooms/mudd0.cpp
+++ b/engines/startrek/rooms/mudd0.cpp
@@ -39,54 +39,54 @@
namespace StarTrek {
extern const RoomAction mudd0ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::mudd0Tick1 },
- { {ACTION_TICK, 50, 0, 0}, &Room::mudd0Tick50 },
- { {ACTION_TICK, 60, 0, 0}, &Room::mudd0Tick60 },
- { {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::mudd0UsePhaserOnMudd },
- { {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::mudd0UsePhaserOnMudd },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::mudd0UseCommunicator },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::mudd0LookAtFoodBox },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::mudd0LookAtComponentBox },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::mudd0LookAnywhere },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd0LookAtMemoryDiskBox },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::mudd0LookAtDegrimerBox },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::mudd0LookAtLense },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::mudd0UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::mudd0UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd0UseSTricorderOnMemoryDiskBox },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::mudd0UseSTricorderOnDegrimerBox },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::mudd0UseMTricorderOnLense },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd0Tick1 },
+ { {ACTION_TICK, 50, 0, 0, 0}, &Room::mudd0Tick50 },
+ { {ACTION_TICK, 60, 0, 0, 0}, &Room::mudd0Tick60 },
+ { {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::mudd0UsePhaserOnMudd },
+ { {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::mudd0UsePhaserOnMudd },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::mudd0UseCommunicator },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::mudd0LookAtFoodBox },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::mudd0LookAtComponentBox },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::mudd0LookAnywhere },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd0LookAtMemoryDiskBox },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::mudd0LookAtDegrimerBox },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::mudd0LookAtLense },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::mudd0UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::mudd0UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd0UseSTricorderOnMemoryDiskBox },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::mudd0UseSTricorderOnDegrimerBox },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::mudd0UseMTricorderOnLense },
// Common code (next 4 lines)
- { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
- { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
- { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
-
- { {ACTION_GET, 0x21, 0, 0}, &Room::mudd0GetLense },
- { {ACTION_GET, 0x20, 0, 0}, &Room::mudd0GetMemoryDisk },
- { {ACTION_GET, 0x22, 0, 0}, &Room::mudd0GetDegrimer },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::mudd0PickedUpLense },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::mudd0PickedUpItem },
- { {ACTION_WALK, 0x26, 0, 0}, &Room::mudd0WalkToSouthDoor },
- { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::mudd0TouchedHotspot1 },
- { {ACTION_WALK, 0x25, 0, 0}, &Room::mudd0WalkToNorthDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd0TouchedHotspot0 },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::mudd0UseMedkit },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::mudd0LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::mudd0LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::mudd0LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd0LookAtRedshirt },
- { {ACTION_LOOK, 8, 0, 0}, &Room::mudd0LookAtMudd },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::mudd0TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::mudd0TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::mudd0TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd0TalkToRedshirt },
- { {ACTION_TALK, 8, 0, 0}, &Room::mudd0TalkToMudd },
+ { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+ { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+ { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+
+ { {ACTION_GET, 0x21, 0, 0, 0}, &Room::mudd0GetLense },
+ { {ACTION_GET, 0x20, 0, 0, 0}, &Room::mudd0GetMemoryDisk },
+ { {ACTION_GET, 0x22, 0, 0, 0}, &Room::mudd0GetDegrimer },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::mudd0PickedUpLense },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::mudd0PickedUpItem },
+ { {ACTION_WALK, 0x26, 0, 0, 0}, &Room::mudd0WalkToSouthDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::mudd0TouchedHotspot1 },
+ { {ACTION_WALK, 0x25, 0, 0, 0}, &Room::mudd0WalkToNorthDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd0TouchedHotspot0 },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::mudd0UseMedkit },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd0LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd0LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd0LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd0LookAtRedshirt },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::mudd0LookAtMudd },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd0TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd0TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd0TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd0TalkToRedshirt },
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::mudd0TalkToMudd },
// Common code (countdown for losing atmosphere when life support malfunctioning)
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::muddaTick },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::muddaTick },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum mudd0TextIds {
diff --git a/engines/startrek/rooms/mudd1.cpp b/engines/startrek/rooms/mudd1.cpp
index b60ccbc266b..3473b2ab5c2 100644
--- a/engines/startrek/rooms/mudd1.cpp
+++ b/engines/startrek/rooms/mudd1.cpp
@@ -45,66 +45,66 @@
namespace StarTrek {
extern const RoomAction mudd1ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::mudd1Tick1 },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::mudd1Timer1Expired },
-
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::mudd1UseCommunicator },
- { {ACTION_USE, OBJECT_SPOCK, 0x23, 0}, &Room::mudd1UseSpockOnBlueButton },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::mudd1SpockReachedBlueButton },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::mudd1SpockPressedBlueButton },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::mudd1CraneFinishedMoving },
- { {ACTION_USE, OBJECT_SPOCK, 0x24, 0}, &Room::mudd1UseSpockOnYellowButton },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::mudd1SpockReachedYellowButton },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::mudd1SpockPressedYellowButton },
- { {ACTION_USE, OBJECT_SPOCK, 0x25, 0}, &Room::mudd1UseSpockOnRedButton },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::mudd1SpockReachedRedButton },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::mudd1SpockPressedRedButton },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd1Tick1 },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::mudd1Timer1Expired },
+
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::mudd1UseCommunicator },
+ { {ACTION_USE, OBJECT_SPOCK, 0x23, 0, 0}, &Room::mudd1UseSpockOnBlueButton },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::mudd1SpockReachedBlueButton },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::mudd1SpockPressedBlueButton },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::mudd1CraneFinishedMoving },
+ { {ACTION_USE, OBJECT_SPOCK, 0x24, 0, 0}, &Room::mudd1UseSpockOnYellowButton },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::mudd1SpockReachedYellowButton },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::mudd1SpockPressedYellowButton },
+ { {ACTION_USE, OBJECT_SPOCK, 0x25, 0, 0}, &Room::mudd1UseSpockOnRedButton },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::mudd1SpockReachedRedButton },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::mudd1SpockPressedRedButton },
// Common code (next 4 lines)
- { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
- { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
- { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
-
- { {ACTION_GET, 9, 0, 0}, &Room::mudd1GetTorpedo },
- { {ACTION_GET, 0x21, 0, 0}, &Room::mudd1GetTorpedo },
- { {ACTION_GET, 0x20, 0, 0}, &Room::mudd1GetTorpedo },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::mudd1UseSTricorderOnTorpedo },
- { {ACTION_USE, OBJECT_ISTRICOR, 9, 0}, &Room::mudd1UseSTricorderOnTorpedo },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd1UseSTricorderOnTorpedo },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::mudd1UseSTricorderOnTorpedoLauncher },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::mudd1UseSTricorderOnButton },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::mudd1UseSTricorderOnButton },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x24, 0}, &Room::mudd1UseSTricorderOnButton },
- { {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::mudd1UseSTricorderOnCrane },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::mudd1UseMedkitAnywhere },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::mudd1LookAnywhere },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd1LookAtTorpedo },
- { {ACTION_LOOK, 9, 0, 0}, &Room::mudd1LookAtTorpedo },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::mudd1LookAtFallenTorpedo },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::mudd1LookAtTorpedoLauncher },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::mudd1LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::mudd1LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::mudd1LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd1LookAtRedshirt },
- { {ACTION_LOOK, 8, 0, 0}, &Room::mudd1LookAtCrane },
- { {ACTION_LOOK, 0x25, 0, 0}, &Room::mudd1LookAtRedButton },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::mudd1LookAtBlueButton },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::mudd1LookAtYellowButton },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::mudd1TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::mudd1TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::mudd1TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd1TalkToRedshirt },
- { {ACTION_WALK, 0x28, 0, 0}, &Room::mudd1WalkToSouthDoor },
- { {ACTION_TOUCHED_HOTSPOT, 2, 0, 0}, &Room::mudd1TouchedHotspot2 },
- { {ACTION_WALK, 0x27, 0, 0}, &Room::mudd1WalkToNorthDoor },
- { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::mudd1TouchedHotspot1 },
- { {ACTION_WALK, 0x26, 0, 0}, &Room::mudd1WalkToWestDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd1TouchedHotspot0 },
+ { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+ { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+ { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+
+ { {ACTION_GET, 9, 0, 0, 0}, &Room::mudd1GetTorpedo },
+ { {ACTION_GET, 0x21, 0, 0, 0}, &Room::mudd1GetTorpedo },
+ { {ACTION_GET, 0x20, 0, 0, 0}, &Room::mudd1GetTorpedo },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::mudd1UseSTricorderOnTorpedo },
+ { {ACTION_USE, OBJECT_ISTRICOR, 9, 0, 0}, &Room::mudd1UseSTricorderOnTorpedo },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd1UseSTricorderOnTorpedo },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::mudd1UseSTricorderOnTorpedoLauncher },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::mudd1UseSTricorderOnButton },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::mudd1UseSTricorderOnButton },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x24, 0, 0}, &Room::mudd1UseSTricorderOnButton },
+ { {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::mudd1UseSTricorderOnCrane },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::mudd1UseMedkitAnywhere },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::mudd1LookAnywhere },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd1LookAtTorpedo },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::mudd1LookAtTorpedo },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::mudd1LookAtFallenTorpedo },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::mudd1LookAtTorpedoLauncher },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd1LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd1LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd1LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd1LookAtRedshirt },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::mudd1LookAtCrane },
+ { {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::mudd1LookAtRedButton },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::mudd1LookAtBlueButton },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::mudd1LookAtYellowButton },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd1TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd1TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd1TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd1TalkToRedshirt },
+ { {ACTION_WALK, 0x28, 0, 0, 0}, &Room::mudd1WalkToSouthDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 2, 0, 0, 0}, &Room::mudd1TouchedHotspot2 },
+ { {ACTION_WALK, 0x27, 0, 0, 0}, &Room::mudd1WalkToNorthDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::mudd1TouchedHotspot1 },
+ { {ACTION_WALK, 0x26, 0, 0, 0}, &Room::mudd1WalkToWestDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd1TouchedHotspot0 },
// Common code (countdown for losing atmosphere when life support malfunctioning)
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::muddaTick },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::muddaTick },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum mudd1TextIds {
diff --git a/engines/startrek/rooms/mudd2.cpp b/engines/startrek/rooms/mudd2.cpp
index 4acb9ae3f3e..706c6739be3 100644
--- a/engines/startrek/rooms/mudd2.cpp
+++ b/engines/startrek/rooms/mudd2.cpp
@@ -36,70 +36,70 @@
namespace StarTrek {
extern const RoomAction mudd2ActionList[] = {
- { {ACTION_WALK, 0x21, 0, 0}, &Room::mudd2WalkToNorthDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd2TouchedHotspot0 },
- { {ACTION_WALK, 0x22, 0, 0}, &Room::mudd2WalkToSouthDoor },
- { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::mudd2TouchedHotspot1 },
- { {ACTION_TICK, 1, 0, 0}, &Room::mudd2Tick1 },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::mudd2Timer1Expired },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::mudd2UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::mudd2UseSpockOnCapsules },
- { {ACTION_GET, 0x20, 0, 0}, &Room::mudd2GetCapsules },
- { {ACTION_FINISHED_WALKING, 12, 0, 0}, &Room::mudd2MccoyReachedCapsules },
- { {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::mudd2MccoyPickedUpCapsules },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::mudd2UseCommunicator },
+ { {ACTION_WALK, 0x21, 0, 0, 0}, &Room::mudd2WalkToNorthDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd2TouchedHotspot0 },
+ { {ACTION_WALK, 0x22, 0, 0, 0}, &Room::mudd2WalkToSouthDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::mudd2TouchedHotspot1 },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd2Tick1 },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::mudd2Timer1Expired },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::mudd2UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::mudd2UseSpockOnCapsules },
+ { {ACTION_GET, 0x20, 0, 0, 0}, &Room::mudd2GetCapsules },
+ { {ACTION_FINISHED_WALKING, 12, 0, 0, 0}, &Room::mudd2MccoyReachedCapsules },
+ { {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::mudd2MccoyPickedUpCapsules },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::mudd2UseCommunicator },
// Common code (next 4 lines)
- { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
- { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
- { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
- { {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::muddaFiredAlienDevice },
-
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd2LookAtCapsules },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0}, &Room::mudd2UseMTricorderOnCapsules },
- { {ACTION_USE, OBJECT_ICAPSULE, 0x23, 0}, &Room::mudd2UseCapsuleOnControlPanel },
- { {ACTION_FINISHED_WALKING, 15, 0, 0}, &Room::mudd2MccoyReachedControlPanel },
- { {ACTION_FINISHED_ANIMATION, 15, 0, 0}, &Room::mudd2MccoyPutCapsuleInControlPanel },
- { {ACTION_USE, OBJECT_KIRK, 0x24, 0}, &Room::mudd2UseKirkOnBed },
- { {ACTION_USE, OBJECT_KIRK, 0x25, 0}, &Room::mudd2UseKirkOnBed },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::mudd2KirkReachedBed },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::mudd2MuddNoticedKirk },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::mudd2MuddDroppedCapsule },
- { {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::mudd2UsePhaserOnMudd },
- { {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::mudd2UsePhaserOnMudd },
-
- { {ACTION_USE, OBJECT_SPOCK, 8, 0}, &Room::mudd2UseSpockOnMudd },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::mudd2SpockReachedMudd },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::mudd2SpockPinchedMudd },
- { {ACTION_USE, OBJECT_KIRK, 8, 0}, &Room::mudd2UseKirkOnMudd },
-
- { {ACTION_USE, OBJECT_REDSHIRT, 8, 0}, &Room::mudd2UseRedshirtOnMudd },
- { {ACTION_FINISHED_WALKING, 16, 0, 0}, &Room::mudd2RedshirtReachedMudd },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::mudd2Timer2Expired },
- { {ACTION_FINISHED_ANIMATION, 17, 0, 0}, &Room::mudd2MuddFinishedPushingRedshirt },
- { {ACTION_FINISHED_ANIMATION, 16, 0, 0}, &Room::mudd2RedshirtPushedAway },
- { {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::mudd2UseMTricorderOnMudd },
- { {ACTION_USE, OBJECT_IMEDKIT, 8, 0}, &Room::mudd2UseMedkitOnMudd },
- { {ACTION_USE, OBJECT_MCCOY, 8, 0}, &Room::mudd2UseMedkitOnMudd },
- { {ACTION_FINISHED_WALKING, 10, 0, 0}, &Room::mudd2MccoyReachedMudd },
- { {ACTION_FINISHED_ANIMATION, 11, 0, 0}, &Room::mudd2MccoyCuredMudd },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::mudd2LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::mudd2LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::mudd2LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd2LookAtRedshirt },
- { {ACTION_LOOK, 8, 0, 0}, &Room::mudd2LookAtMudd },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::mudd2LookAtControlPanel },
- { {ACTION_LOOK, 0x25, 0, 0}, &Room::mudd2LookAtBed },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::mudd2LookAtBed },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::mudd2TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::mudd2TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::mudd2TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd2TalkToRedshirt },
- { {ACTION_TALK, 8, 0, 0}, &Room::mudd2TalkToMudd },
+ { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+ { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+ { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+ { {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd2LookAtCapsules },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0, 0}, &Room::mudd2UseMTricorderOnCapsules },
+ { {ACTION_USE, OBJECT_ICAPSULE, 0x23, 0, 0}, &Room::mudd2UseCapsuleOnControlPanel },
+ { {ACTION_FINISHED_WALKING, 15, 0, 0, 0}, &Room::mudd2MccoyReachedControlPanel },
+ { {ACTION_FINISHED_ANIMATION, 15, 0, 0, 0}, &Room::mudd2MccoyPutCapsuleInControlPanel },
+ { {ACTION_USE, OBJECT_KIRK, 0x24, 0, 0}, &Room::mudd2UseKirkOnBed },
+ { {ACTION_USE, OBJECT_KIRK, 0x25, 0, 0}, &Room::mudd2UseKirkOnBed },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::mudd2KirkReachedBed },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::mudd2MuddNoticedKirk },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::mudd2MuddDroppedCapsule },
+ { {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::mudd2UsePhaserOnMudd },
+ { {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::mudd2UsePhaserOnMudd },
+
+ { {ACTION_USE, OBJECT_SPOCK, 8, 0, 0}, &Room::mudd2UseSpockOnMudd },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::mudd2SpockReachedMudd },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::mudd2SpockPinchedMudd },
+ { {ACTION_USE, OBJECT_KIRK, 8, 0, 0}, &Room::mudd2UseKirkOnMudd },
+
+ { {ACTION_USE, OBJECT_REDSHIRT, 8, 0, 0}, &Room::mudd2UseRedshirtOnMudd },
+ { {ACTION_FINISHED_WALKING, 16, 0, 0, 0}, &Room::mudd2RedshirtReachedMudd },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::mudd2Timer2Expired },
+ { {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0}, &Room::mudd2MuddFinishedPushingRedshirt },
+ { {ACTION_FINISHED_ANIMATION, 16, 0, 0, 0}, &Room::mudd2RedshirtPushedAway },
+ { {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::mudd2UseMTricorderOnMudd },
+ { {ACTION_USE, OBJECT_IMEDKIT, 8, 0, 0}, &Room::mudd2UseMedkitOnMudd },
+ { {ACTION_USE, OBJECT_MCCOY, 8, 0, 0}, &Room::mudd2UseMedkitOnMudd },
+ { {ACTION_FINISHED_WALKING, 10, 0, 0, 0}, &Room::mudd2MccoyReachedMudd },
+ { {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0}, &Room::mudd2MccoyCuredMudd },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd2LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd2LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd2LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd2LookAtRedshirt },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::mudd2LookAtMudd },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::mudd2LookAtControlPanel },
+ { {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::mudd2LookAtBed },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::mudd2LookAtBed },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd2TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd2TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd2TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd2TalkToRedshirt },
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::mudd2TalkToMudd },
// Common code (countdown for losing atmosphere when life support malfunctioning)
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::muddaTick },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::muddaTick },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum mudd2TextIds {
diff --git a/engines/startrek/rooms/mudd3.cpp b/engines/startrek/rooms/mudd3.cpp
index 4f25565d992..5729dd99a60 100644
--- a/engines/startrek/rooms/mudd3.cpp
+++ b/engines/startrek/rooms/mudd3.cpp
@@ -36,52 +36,52 @@
namespace StarTrek {
extern const RoomAction mudd3ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::mudd3Tick1 },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::mudd3UseCommunicator },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd3LookAtScreen },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd3UseSTricorderOnScreen },
- { {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::mudd3UseKirkOnScreen },
- { {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::mudd3UseSpockOnSphere },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::mudd3Timer3Expired },
- { {ACTION_USE, OBJECT_MCCOY, 0x21, 0}, &Room::mudd3UseMccoyOnSphere },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::mudd3UseRedshirtOnSphere },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::mudd3UseMTricorderOnSphere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::mudd3UseSTricorderOnSphere },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::mudd3ReadyToHookUpTricorders },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::mudd3Timer1Expired },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::mudd3Timer2Expired },
- { {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::mudd3Timer4Expired },
- { {ACTION_USE, OBJECT_IDISKS, 0x21, 0}, &Room::mudd3UseMemoryDiskOnSphere },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd3Tick1 },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::mudd3UseCommunicator },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd3LookAtScreen },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd3UseSTricorderOnScreen },
+ { {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::mudd3UseKirkOnScreen },
+ { {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::mudd3UseSpockOnSphere },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::mudd3Timer3Expired },
+ { {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0}, &Room::mudd3UseMccoyOnSphere },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::mudd3UseRedshirtOnSphere },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::mudd3UseMTricorderOnSphere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::mudd3UseSTricorderOnSphere },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::mudd3ReadyToHookUpTricorders },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::mudd3Timer1Expired },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::mudd3Timer2Expired },
+ { {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::mudd3Timer4Expired },
+ { {ACTION_USE, OBJECT_IDISKS, 0x21, 0, 0}, &Room::mudd3UseMemoryDiskOnSphere },
// Common code (next 4 lines)
- { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
- { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
- { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
-
- { {ACTION_GET, 13, 0, 0}, &Room::mudd3GetRepairTool },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::mudd3ReachedRepairTool },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::mudd3PickedUpRepairTool },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::mudd3LookAtSphere },
- { {ACTION_WALK, 0x22, 0, 0}, &Room::mudd3WalkToNorthDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd3TouchedHotspot0 },
- { {ACTION_WALK, 0x23, 0, 0}, &Room::mudd3WalkToEastDoor },
- { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::mudd3TouchedHotspot1 },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::mudd3LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::mudd3LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::mudd3LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd3LookAtRedshirt },
- { {ACTION_LOOK, 8, 0, 0}, &Room::mudd3LookAtMudd },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::mudd3TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::mudd3TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::mudd3TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd3TalkToRedshirt },
- { {ACTION_TALK, 8, 0, 0}, &Room::mudd3TalkToMudd },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::mudd3UseMedkit },
+ { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+ { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+ { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+
+ { {ACTION_GET, 13, 0, 0, 0}, &Room::mudd3GetRepairTool },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::mudd3ReachedRepairTool },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::mudd3PickedUpRepairTool },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::mudd3LookAtSphere },
+ { {ACTION_WALK, 0x22, 0, 0, 0}, &Room::mudd3WalkToNorthDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd3TouchedHotspot0 },
+ { {ACTION_WALK, 0x23, 0, 0, 0}, &Room::mudd3WalkToEastDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::mudd3TouchedHotspot1 },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd3LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd3LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd3LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd3LookAtRedshirt },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::mudd3LookAtMudd },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd3TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd3TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd3TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd3TalkToRedshirt },
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::mudd3TalkToMudd },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::mudd3UseMedkit },
// Common code (countdown for losing atmosphere when life support malfunctioning)
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::muddaTick },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::muddaTick },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum mudd3TextIds {
diff --git a/engines/startrek/rooms/mudd4.cpp b/engines/startrek/rooms/mudd4.cpp
index cf19285855d..74da658c9f3 100644
--- a/engines/startrek/rooms/mudd4.cpp
+++ b/engines/startrek/rooms/mudd4.cpp
@@ -36,83 +36,83 @@
namespace StarTrek {
extern const RoomAction mudd4ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::mudd4Tick1 },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::mudd4UseCommunicator },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::mudd4Timer2Expired },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::mudd4Timer3Expired },
- { {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::mudd4UseSpockOnLeftConsole },
- { {ACTION_USE, OBJECT_SPOCK, 0x22, 0}, &Room::mudd4UseSpockOnLeftConsole },
- { {ACTION_USE, OBJECT_SPOCK, 0x23, 0}, &Room::mudd4UseSpockOnRightConsole },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::mudd4SpockReachedChair },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::mudd4SpockSatInChair },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::mudd4SpockUsedSensors },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::mudd4SpockUsedEngineering },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::mudd4SpockUsedNavigation },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::mudd4FinishedWalking3 },
- { {ACTION_USE, OBJECT_KIRK, 0x21, 0}, &Room::mudd4UseKirkOnRightConsole },
- { {ACTION_USE, OBJECT_KIRK, 0x23, 0}, &Room::mudd4UseKirkOnRightConsole },
- { {ACTION_USE, OBJECT_KIRK, 0x22, 0}, &Room::mudd4UseKirkOnLeftConsole },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::mudd4KirkReachedRightConsole },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::mudd4KirkSatInChair },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::mudd4KirkUsedViewScreen },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::mudd4Timer1Expired },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::mudd4KirkUsedCommunications },
- { {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::mudd4KirkReachedPositionToTalkToMudd },
- { {ACTION_USE, OBJECT_MCCOY, 0x21, 0}, &Room::mudd4UseMccoyOnConsole },
- { {ACTION_USE, OBJECT_MCCOY, 0x22, 0}, &Room::mudd4UseMccoyOnConsole },
- { {ACTION_USE, OBJECT_MCCOY, 0x23, 0}, &Room::mudd4UseMccoyOnConsole },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::mudd4UseRedshirtOnConsole },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0}, &Room::mudd4UseRedshirtOnConsole },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x23, 0}, &Room::mudd4UseRedshirtOnConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, 10, 0}, &Room::mudd4UseSTricorderOnRepairTool },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::mudd4UseSTricorderOnConsole },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd4Tick1 },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::mudd4UseCommunicator },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::mudd4Timer2Expired },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::mudd4Timer3Expired },
+ { {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::mudd4UseSpockOnLeftConsole },
+ { {ACTION_USE, OBJECT_SPOCK, 0x22, 0, 0}, &Room::mudd4UseSpockOnLeftConsole },
+ { {ACTION_USE, OBJECT_SPOCK, 0x23, 0, 0}, &Room::mudd4UseSpockOnRightConsole },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::mudd4SpockReachedChair },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::mudd4SpockSatInChair },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::mudd4SpockUsedSensors },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::mudd4SpockUsedEngineering },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::mudd4SpockUsedNavigation },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::mudd4FinishedWalking3 },
+ { {ACTION_USE, OBJECT_KIRK, 0x21, 0, 0}, &Room::mudd4UseKirkOnRightConsole },
+ { {ACTION_USE, OBJECT_KIRK, 0x23, 0, 0}, &Room::mudd4UseKirkOnRightConsole },
+ { {ACTION_USE, OBJECT_KIRK, 0x22, 0, 0}, &Room::mudd4UseKirkOnLeftConsole },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::mudd4KirkReachedRightConsole },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::mudd4KirkSatInChair },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::mudd4KirkUsedViewScreen },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::mudd4Timer1Expired },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::mudd4KirkUsedCommunications },
+ { {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::mudd4KirkReachedPositionToTalkToMudd },
+ { {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0}, &Room::mudd4UseMccoyOnConsole },
+ { {ACTION_USE, OBJECT_MCCOY, 0x22, 0, 0}, &Room::mudd4UseMccoyOnConsole },
+ { {ACTION_USE, OBJECT_MCCOY, 0x23, 0, 0}, &Room::mudd4UseMccoyOnConsole },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::mudd4UseRedshirtOnConsole },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0, 0}, &Room::mudd4UseRedshirtOnConsole },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x23, 0, 0}, &Room::mudd4UseRedshirtOnConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, 10, 0, 0}, &Room::mudd4UseSTricorderOnRepairTool },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::mudd4UseSTricorderOnConsole },
// ENHANCEMENT: Allow scanning the console to work when scanning the specific stations
// as well
- { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::mudd4UseSTricorderOnConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::mudd4UseSTricorderOnConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::mudd4UseSTricorderOnConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::mudd4UseSTricorderOnConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd4UseSTricorderOnViewscreen },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd4UseSTricorderOnViewscreen },
// ENHANCEMENT: Allow scanning the viewscreen when it's on, not just when off
- { {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::mudd4UseSTricorderOnViewscreen },
+ { {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::mudd4UseSTricorderOnViewscreen },
// Common code (next 4 lines)
- { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
- { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
- { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
+ { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+ { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+ { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::mudd4UseMedkit },
- { {ACTION_GET, 10, 0, 0}, &Room::mudd4GetRepairTool },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::mudd4ReachedRepairTool },
- { {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::mudd4PickedUpRepairTool },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::mudd4UseMedkit },
+ { {ACTION_GET, 10, 0, 0, 0}, &Room::mudd4GetRepairTool },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::mudd4ReachedRepairTool },
+ { {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::mudd4PickedUpRepairTool },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::mudd4LookAtConsole },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::mudd4LookAtConsole },
// ENHANCEMENT: Allow look action work with the specific stations as well
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::mudd4LookAtConsole },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::mudd4LookAtConsole },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::mudd4LookAtConsole },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::mudd4LookAtConsole },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd4LookAtViewscreen },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd4LookAtViewscreen },
// ENHANCEMENT: Allow look action work when viewscreen is on, not just when off
- { {ACTION_LOOK, 8, 0, 0}, &Room::mudd4LookAtViewscreen },
-
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::mudd4LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::mudd4LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::mudd4LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd4LookAtRedshirt },
- { {ACTION_LOOK, 10, 0, 0}, &Room::mudd4LookAtRepairTool },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::mudd4TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::mudd4TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::mudd4TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd4TalkToRedshirt },
- { {ACTION_WALK, 0x24, 0, 0}, &Room::mudd4WalkToEastDoor },
- { {ACTION_WALK, 0x25, 0, 0}, &Room::mudd4WalkToWestDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd4TouchedHotspot0 },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::mudd4LookAtViewscreen },
+
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd4LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd4LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd4LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd4LookAtRedshirt },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::mudd4LookAtRepairTool },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd4TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd4TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd4TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd4TalkToRedshirt },
+ { {ACTION_WALK, 0x24, 0, 0, 0}, &Room::mudd4WalkToEastDoor },
+ { {ACTION_WALK, 0x25, 0, 0, 0}, &Room::mudd4WalkToWestDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd4TouchedHotspot0 },
// Common code (countdown for losing atmosphere when life support malfunctioning)
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::muddaTick },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::muddaTick },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum mudd4TextIds {
diff --git a/engines/startrek/rooms/mudd5.cpp b/engines/startrek/rooms/mudd5.cpp
index 9efc4957a00..14c18c179e7 100644
--- a/engines/startrek/rooms/mudd5.cpp
+++ b/engines/startrek/rooms/mudd5.cpp
@@ -37,50 +37,50 @@ const int16 GENERATOR_Y = 0xb0;
namespace StarTrek {
extern const RoomAction mudd5ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::mudd5Tick1 },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::mudd5Timer1Expired },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::mudd5Timer2Expired },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::mudd5UseCommunicator },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::mudd5UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::mudd5UseSTricorderOnEngine },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::mudd5UseSTricorderOnCrane },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd5UseSTricorderOnHatch },
- { {ACTION_USE, OBJECT_ISTRICOR, 9, 0}, &Room::mudd5UseSTricorderOnLifeSupportGenerator },
- { {ACTION_USE, OBJECT_IPHASERS, 0x20, 0}, &Room::mudd5UseStunPhaserOnHatch },
- { {ACTION_USE, OBJECT_IPHASERK, 0x20, 0}, &Room::mudd5UseKillPhaserOnHatch },
- { {ACTION_USE, 0xff, 9, 0}, &Room::mudd5UseAnythingOnLifeSupportGenerator },
- { {ACTION_USE, OBJECT_IDOOVER, 9, 0}, &Room::mudd5UseDooverOnLifeSupportGenerator },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::mudd5KirkReachedLifeSupportGenerator },
- { {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::mudd5KirkTimer4Expired },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::mudd5KirkRepairedLifeSupportGenerator },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::mudd5KirkTimer3Expired },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd5Tick1 },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::mudd5Timer1Expired },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::mudd5Timer2Expired },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::mudd5UseCommunicator },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::mudd5UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::mudd5UseSTricorderOnEngine },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::mudd5UseSTricorderOnCrane },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd5UseSTricorderOnHatch },
+ { {ACTION_USE, OBJECT_ISTRICOR, 9, 0, 0}, &Room::mudd5UseSTricorderOnLifeSupportGenerator },
+ { {ACTION_USE, OBJECT_IPHASERS, 0x20, 0, 0}, &Room::mudd5UseStunPhaserOnHatch },
+ { {ACTION_USE, OBJECT_IPHASERK, 0x20, 0, 0}, &Room::mudd5UseKillPhaserOnHatch },
+ { {ACTION_USE, 0xff, 9, 0, 0}, &Room::mudd5UseAnythingOnLifeSupportGenerator },
+ { {ACTION_USE, OBJECT_IDOOVER, 9, 0, 0}, &Room::mudd5UseDooverOnLifeSupportGenerator },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::mudd5KirkReachedLifeSupportGenerator },
+ { {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::mudd5KirkTimer4Expired },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::mudd5KirkRepairedLifeSupportGenerator },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::mudd5KirkTimer3Expired },
// Common code (next 4 lines)
- { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
- { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
- { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
-
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd5LookAtHatch },
- { {ACTION_LOOK, 9, 0, 0}, &Room::mudd5LookAtLifeSupportGenerator },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd5TouchedHotspot0 },
- { {ACTION_WALK, 0x22, 0, 0}, &Room::mudd5WalkToDoor },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::mudd5LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::mudd5LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::mudd5LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd5LookAtRedshirt },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::mudd5LookAtDoor },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::mudd5LookAtCrane },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::mudd5LookAtEngine },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::mudd5TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::mudd5TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::mudd5TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd5TalkToRedshirt },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::mudd5UseMedkit },
+ { {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+ { {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+ { {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd5LookAtHatch },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::mudd5LookAtLifeSupportGenerator },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd5TouchedHotspot0 },
+ { {ACTION_WALK, 0x22, 0, 0, 0}, &Room::mudd5WalkToDoor },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd5LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd5LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd5LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd5LookAtRedshirt },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::mudd5LookAtDoor },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::mudd5LookAtCrane },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::mudd5LookAtEngine },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::mudd5TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::mudd5TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::mudd5TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd5TalkToRedshirt },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::mudd5UseMedkit },
// Common code (countdown for losing atmosphere when life support malfunctioning)
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::muddaTick },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::muddaTick },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum mudd5TextIds {
diff --git a/engines/startrek/rooms/sins0.cpp b/engines/startrek/rooms/sins0.cpp
index 5a1390353c3..da39b564835 100644
--- a/engines/startrek/rooms/sins0.cpp
+++ b/engines/startrek/rooms/sins0.cpp
@@ -32,46 +32,46 @@
namespace StarTrek {
extern const RoomAction sins0ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::sins0Tick1 },
-
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::sins0LookAnywhere },
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::sins0LookAtOpenDoor },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::sins0LookAtClosedDoor },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::sins0TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::sins0TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins0TalkToRedshirt },
- { {ACTION_LOOK, HOTSPOT_GROUND, 0, 0}, &Room::sins0LookAtGround },
- { {ACTION_GET, HOTSPOT_GROUND, 0, 0}, &Room::sins0GetRock },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::sins0PickedUpRock },
-
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::sins0UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_GROUND, 0}, &Room::sins0UseSTricorderOnGround },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PLANET, 0}, &Room::sins0UseSTricorderOnPlanet },
-
- { {ACTION_TICK, 40, 0, 0}, &Room::sins0Tick40 },
- { {ACTION_LOOK, HOTSPOT_STATUE, 0, 0}, &Room::sins0LookAtStatue },
- { {ACTION_LOOK, HOTSPOT_PLANET, 0, 0}, &Room::sins0LookAtPlanet },
- { {ACTION_LOOK, HOTSPOT_SKY, 0, 0}, &Room::sins0LookAtSky },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::sins0LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::sins0LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::sins0LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::sins0LookAtRedshirt },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0}, &Room::sins0UseSTricorderOnClosedDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STATUE, 0}, &Room::sins0UseSTricorderOnStatue },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0}, &Room::sins0UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::sins0UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0}, &Room::sins0UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0}, &Room::sins0UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::sins0UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::sins0UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::sins0UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins0UseMTricorderOnCrewman },
-
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::sins0UseCommunicator },
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::sins0WalkToDoor },
- { {ACTION_WALK, OBJECT_DOOR, 0, 0}, &Room::sins0WalkToDoor },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::sins0Tick1 },
+
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::sins0LookAnywhere },
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::sins0LookAtOpenDoor },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins0LookAtClosedDoor },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins0TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins0TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins0TalkToRedshirt },
+ { {ACTION_LOOK, HOTSPOT_GROUND, 0, 0, 0}, &Room::sins0LookAtGround },
+ { {ACTION_GET, HOTSPOT_GROUND, 0, 0, 0}, &Room::sins0GetRock },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::sins0PickedUpRock },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::sins0UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_GROUND, 0, 0}, &Room::sins0UseSTricorderOnGround },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PLANET, 0, 0}, &Room::sins0UseSTricorderOnPlanet },
+
+ { {ACTION_TICK, 40, 0, 0, 0}, &Room::sins0Tick40 },
+ { {ACTION_LOOK, HOTSPOT_STATUE, 0, 0, 0}, &Room::sins0LookAtStatue },
+ { {ACTION_LOOK, HOTSPOT_PLANET, 0, 0, 0}, &Room::sins0LookAtPlanet },
+ { {ACTION_LOOK, HOTSPOT_SKY, 0, 0, 0}, &Room::sins0LookAtSky },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::sins0LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins0LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins0LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins0LookAtRedshirt },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0, 0}, &Room::sins0UseSTricorderOnClosedDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STATUE, 0, 0}, &Room::sins0UseSTricorderOnStatue },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0, 0}, &Room::sins0UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::sins0UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0, 0}, &Room::sins0UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0, 0}, &Room::sins0UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::sins0UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::sins0UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::sins0UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins0UseMTricorderOnCrewman },
+
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::sins0UseCommunicator },
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins0WalkToDoor },
+ { {ACTION_WALK, OBJECT_DOOR, 0, 0, 0}, &Room::sins0WalkToDoor },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum sins0TextIds {
diff --git a/engines/startrek/rooms/sins1.cpp b/engines/startrek/rooms/sins1.cpp
index 101bc3d1a8d..52a1c39e348 100644
--- a/engines/startrek/rooms/sins1.cpp
+++ b/engines/startrek/rooms/sins1.cpp
@@ -33,57 +33,57 @@
namespace StarTrek {
extern const RoomAction sins1ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::sins1Tick1 },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::sins1LookAnywhere },
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::sins1LookAtLock },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::sins1LookAtDoor },
- { {ACTION_LOOK, HOTSPOT_PANEL, 0, 0}, &Room::sins1LookAtPanel },
- { {ACTION_LOOK, HOTSPOT_KEYPAD, 0, 0}, &Room::sins1LookAtKeypad },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0}, &Room::sins1UseSTricorderOnPanel },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_KEYPAD, 0}, &Room::sins1UseSTricorderOnKeypad },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR, 0}, &Room::sins1UseSTricorderOnLock },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0}, &Room::sins1UseSTricorderOnDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::sins1UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LENS, 0}, &Room::sins1UseSTricorderOnLens },
- { {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_DOOR, 0}, &Room::sins1UseRockOnDoor },
-
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_KEYPAD, 0}, &Room::sins1UseRedshirtOnKeypad },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_KEYPAD, 0}, &Room::sins1UseMccoyOnKeypad },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_KEYPAD, 0}, &Room::sins1UseKirkOnKeypad },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_KEYPAD, 0}, &Room::sins1UseSpockOnKeypad },
- { {ACTION_DONE_WALK, 6, 0, 0}, &Room::sins1SpockReachedKeypad },
- { {ACTION_DONE_ANIM, 8, 0, 0}, &Room::sins1EnteredCorrectCode },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::sins1DoorDoneOpening },
- { {ACTION_DONE_ANIM, 7, 0, 0}, &Room::sins1EnteredIncorrectCode },
- { {ACTION_DONE_ANIM, 9, 0, 0}, &Room::sins1EnteredSacredSofNumber },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0}, &Room::sins1UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0}, &Room::sins1UsePhaserOnDoor },
- { {ACTION_DONE_ANIM, 2, 0, 0}, &Room::sins1DoorUsedLaser },
-
- { {ACTION_TICK, 40, 0, 0}, &Room::sins1Tick40 },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::sins1TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::sins1TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::sins1TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins1TalkToRedshirt },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::sins1LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::sins1LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::sins1LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::sins1LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_LENS, 0, 0}, &Room::sins1LookAtLens },
-
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::sins1UseCommunicator },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0}, &Room::sins1UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::sins1UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0}, &Room::sins1UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0}, &Room::sins1UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::sins1UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::sins1UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::sins1UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins1UseMTricorderOnCrewman },
-
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::sins1WalkToDoor },
- { {ACTION_WALK, OBJECT_DOOR, 0, 0}, &Room::sins1WalkToDoor },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::sins1Tick1 },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::sins1LookAnywhere },
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::sins1LookAtLock },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins1LookAtDoor },
+ { {ACTION_LOOK, HOTSPOT_PANEL, 0, 0, 0}, &Room::sins1LookAtPanel },
+ { {ACTION_LOOK, HOTSPOT_KEYPAD, 0, 0, 0}, &Room::sins1LookAtKeypad },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0, 0}, &Room::sins1UseSTricorderOnPanel },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseSTricorderOnKeypad },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR, 0, 0}, &Room::sins1UseSTricorderOnLock },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0, 0}, &Room::sins1UseSTricorderOnDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::sins1UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LENS, 0, 0}, &Room::sins1UseSTricorderOnLens },
+ { {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_DOOR, 0, 0}, &Room::sins1UseRockOnDoor },
+
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseRedshirtOnKeypad },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseMccoyOnKeypad },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseKirkOnKeypad },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseSpockOnKeypad },
+ { {ACTION_DONE_WALK, 6, 0, 0, 0}, &Room::sins1SpockReachedKeypad },
+ { {ACTION_DONE_ANIM, 8, 0, 0, 0}, &Room::sins1EnteredCorrectCode },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::sins1DoorDoneOpening },
+ { {ACTION_DONE_ANIM, 7, 0, 0, 0}, &Room::sins1EnteredIncorrectCode },
+ { {ACTION_DONE_ANIM, 9, 0, 0, 0}, &Room::sins1EnteredSacredSofNumber },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0, 0}, &Room::sins1UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0, 0}, &Room::sins1UsePhaserOnDoor },
+ { {ACTION_DONE_ANIM, 2, 0, 0, 0}, &Room::sins1DoorUsedLaser },
+
+ { {ACTION_TICK, 40, 0, 0, 0}, &Room::sins1Tick40 },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::sins1TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins1TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins1TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins1TalkToRedshirt },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::sins1LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins1LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins1LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins1LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_LENS, 0, 0, 0}, &Room::sins1LookAtLens },
+
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::sins1UseCommunicator },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0, 0}, &Room::sins1UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::sins1UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0, 0}, &Room::sins1UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0, 0}, &Room::sins1UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::sins1UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::sins1UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::sins1UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins1UseMTricorderOnCrewman },
+
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins1WalkToDoor },
+ { {ACTION_WALK, OBJECT_DOOR, 0, 0, 0}, &Room::sins1WalkToDoor },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum sins1TextIds {
diff --git a/engines/startrek/rooms/sins2.cpp b/engines/startrek/rooms/sins2.cpp
index ee2f7e66461..6b37b0e9965 100644
--- a/engines/startrek/rooms/sins2.cpp
+++ b/engines/startrek/rooms/sins2.cpp
@@ -30,58 +30,58 @@
namespace StarTrek {
extern const RoomAction sins2ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::sins2Tick1 },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0}, &Room::sins2UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0}, &Room::sins2UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::sins2UseSTricorderAnywhere },
-
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_TERMINAL, 0}, &Room::sins2UseKirkOnTerminal },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_TERMINAL, 0}, &Room::sins2UseSpockOnTerminal },
- { {ACTION_DONE_WALK, 5, 0, 0}, &Room::sins2SpockReachedTerminal },
- { {ACTION_DONE_ANIM, 6, 0, 0}, &Room::sins2SpockUsedTerminal },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_TERMINAL, 0}, &Room::sins2UseMccoyOnTerminal },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_TERMINAL, 0}, &Room::sins2UseRedshirtOnTerminal },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_TERMINAL, 0}, &Room::sins2UseSTricorderOnTerminal },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_KEYPAD, 0}, &Room::sins2UseSTricorderOnKeypad },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0}, &Room::sins2UseSTricorderOnDoor },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_KEYPAD, 0}, &Room::sins2UseKirkOnKeypad },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_KEYPAD, 0}, &Room::sins2UseSpockOnKeypad },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::sins2SpockReachedKeypad },
- { {ACTION_DONE_ANIM, 3, 0, 0}, &Room::sins2EnteredCorrectCode },
- { {ACTION_DONE_ANIM, 4, 0, 0}, &Room::sins2EnteredIncorrectCode },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::sins2DoorFinishedOpening },
-
- { {ACTION_TICK, 40, 0, 0}, &Room::sins2Tick40 },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::sins2LookAnywhere },
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::sins2LookAtOpenDoor },
- { {ACTION_LOOK, HOTSPOT_TERMINAL, 0, 0}, &Room::sins2LookAtTerminal },
- { {ACTION_LOOK, HOTSPOT_KEYPAD, 0, 0}, &Room::sins2LookAtKeypad },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::sins2LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::sins2LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::sins2LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::sins2LookAtRedshirt },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::sins2TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::sins2TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::sins2TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins2TalkToRedshirt },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::sins2LookAtDoor },
-
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_DOOR, 0}, &Room::sins2UseSpockOnDoor },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::sins2UseCommunicator },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0}, &Room::sins2UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::sins2UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0}, &Room::sins2UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0}, &Room::sins2UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::sins2UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::sins2UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::sins2UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins2UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_KEYPAD, 0}, &Room::sins2UseMccoyOnKeypad },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_KEYPAD, 0}, &Room::sins2UseRedshirtOnKeypad },
-
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::sins2WalkToDoor },
- { {ACTION_WALK, OBJECT_DOOR, 0, 0}, &Room::sins2WalkToDoor },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::sins2Tick1 },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0, 0}, &Room::sins2UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0, 0}, &Room::sins2UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::sins2UseSTricorderAnywhere },
+
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_TERMINAL, 0, 0}, &Room::sins2UseKirkOnTerminal },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_TERMINAL, 0, 0}, &Room::sins2UseSpockOnTerminal },
+ { {ACTION_DONE_WALK, 5, 0, 0, 0}, &Room::sins2SpockReachedTerminal },
+ { {ACTION_DONE_ANIM, 6, 0, 0, 0}, &Room::sins2SpockUsedTerminal },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_TERMINAL, 0, 0}, &Room::sins2UseMccoyOnTerminal },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_TERMINAL, 0, 0}, &Room::sins2UseRedshirtOnTerminal },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_TERMINAL, 0, 0}, &Room::sins2UseSTricorderOnTerminal },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_KEYPAD, 0, 0}, &Room::sins2UseSTricorderOnKeypad },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0, 0}, &Room::sins2UseSTricorderOnDoor },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_KEYPAD, 0, 0}, &Room::sins2UseKirkOnKeypad },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_KEYPAD, 0, 0}, &Room::sins2UseSpockOnKeypad },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::sins2SpockReachedKeypad },
+ { {ACTION_DONE_ANIM, 3, 0, 0, 0}, &Room::sins2EnteredCorrectCode },
+ { {ACTION_DONE_ANIM, 4, 0, 0, 0}, &Room::sins2EnteredIncorrectCode },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::sins2DoorFinishedOpening },
+
+ { {ACTION_TICK, 40, 0, 0, 0}, &Room::sins2Tick40 },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::sins2LookAnywhere },
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::sins2LookAtOpenDoor },
+ { {ACTION_LOOK, HOTSPOT_TERMINAL, 0, 0, 0}, &Room::sins2LookAtTerminal },
+ { {ACTION_LOOK, HOTSPOT_KEYPAD, 0, 0, 0}, &Room::sins2LookAtKeypad },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::sins2LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins2LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins2LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins2LookAtRedshirt },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::sins2TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins2TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins2TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins2TalkToRedshirt },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins2LookAtDoor },
+
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_DOOR, 0, 0}, &Room::sins2UseSpockOnDoor },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::sins2UseCommunicator },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0, 0}, &Room::sins2UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::sins2UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0, 0}, &Room::sins2UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0, 0}, &Room::sins2UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::sins2UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::sins2UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::sins2UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins2UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_KEYPAD, 0, 0}, &Room::sins2UseMccoyOnKeypad },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_KEYPAD, 0, 0}, &Room::sins2UseRedshirtOnKeypad },
+
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins2WalkToDoor },
+ { {ACTION_WALK, OBJECT_DOOR, 0, 0, 0}, &Room::sins2WalkToDoor },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum sins2TextIds {
diff --git a/engines/startrek/rooms/sins3.cpp b/engines/startrek/rooms/sins3.cpp
index ae5e66b796a..2deb667c2e7 100644
--- a/engines/startrek/rooms/sins3.cpp
+++ b/engines/startrek/rooms/sins3.cpp
@@ -37,89 +37,89 @@
namespace StarTrek {
extern const RoomAction sins3ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::sins3Tick1 },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_BOX, 0}, &Room::sins3UseSTricorderOnBox },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LEFT_MONITOR, 0}, &Room::sins3UseSTricorderOnMonitor },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_MONITOR, 0}, &Room::sins3UseSTricorderOnMonitor },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::sins3UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DRILL, 0}, &Room::sins3UseSTricorderOnDrill },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0}, &Room::sins3UseSTricorderOnPanel },
-
- { {ACTION_LOOK, HOTSPOT_DRILL, 0, 0}, &Room::sins3LookAtDrill },
- { {ACTION_LOOK, HOTSPOT_PANEL, 0, 0}, &Room::sins3LookAtPanel },
- { {ACTION_LOOK, HOTSPOT_LEFT_MONITOR, 0, 0}, &Room::sins3LookAtMonitor },
- { {ACTION_LOOK, HOTSPOT_RIGHT_MONITOR, 0, 0}, &Room::sins3LookAtMonitor },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::sins3LookAnywhere },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0}, &Room::sins3UseSTricorderOnWall },
-
- { {ACTION_LOOK, OBJECT_BOX, 0, 0}, &Room::sins3LookAtBox },
- { {ACTION_LOOK, HOTSPOT_BOX, 0, 0}, &Room::sins3LookAtBox },
-
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_BOX, 0}, &Room::sins3UseKirkOnBox },
- { {ACTION_DONE_WALK, 4, 0, 0}, &Room::sins3KirkReachedBox },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::sins3Timer0Expired },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_BOX, 0}, &Room::sins3UseSpockOnBox },
- { {ACTION_DONE_WALK, 5, 0, 0}, &Room::sins3SpockReachedBox },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_BOX, 0}, &Room::sins3UseMccoyOnBox },
- { {ACTION_DONE_WALK, 6, 0, 0}, &Room::sins3MccoyReachedBox },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_BOX, 0}, &Room::sins3UseRedshirtOnBox },
- { {ACTION_DONE_WALK, 7, 0, 0}, &Room::sins3RedshirtReachedBox },
- { {ACTION_DONE_ANIM, 8, 0, 0}, &Room::sins3BoxOpened },
-
- { {ACTION_GET, OBJECT_BOX, 0, 0}, &Room::sins3GetBox },
- { {ACTION_GET, HOTSPOT_BOX, 0, 0}, &Room::sins3GetBox },
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::sins3KirkReachedBoxToGet },
- { {ACTION_DONE_ANIM, 17, 0, 0}, &Room::sins3KirkGotBoxContents },
-
- { {ACTION_TICK, 30, 0, 0}, &Room::sins3Tick30 },
- { {ACTION_TICK, 60, 0, 0}, &Room::sins3Tick60 },
-
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_PANEL, 0}, &Room::sins3UseKirkOnPanel },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_PANEL, 0}, &Room::sins3UseSpockOnPanel },
- { {ACTION_DONE_WALK, 10, 0, 0}, &Room::sins3SpockReachedPanel },
- { {ACTION_USE, OBJECT_IS8ROCKS, OBJECT_ITEM, 0}, &Room::sins3UseRockOnWall },
- { {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_WALL, 0}, &Room::sins3UseRockOnWall },
- { {ACTION_DONE_WALK, 1, 0, 0}, &Room::sins3KirkReachedWall },
- { {ACTION_DONE_ANIM, 18, 0, 0}, &Room::sins3KirkPutRockOnWall },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::sins3KirkBackedAwayFromWall },
- { {ACTION_DONE_ANIM, 11, 0, 0}, &Room::sins3UsedLowPowerLaserOnRock },
- { {ACTION_DONE_ANIM, 12, 0, 0}, &Room::sins3MadeHoleInRock },
- { {ACTION_DONE_ANIM, 13, 0, 0}, &Room::sins3CreatedTemplateInRock },
- { {ACTION_DONE_ANIM, 14, 0, 0}, &Room::sins3RockTurnedIntoIDCard },
- { {ACTION_DONE_ANIM, 19, 0, 0}, &Room::sins3RockVaporized },
- { {ACTION_USE, HOTSPOT_DRILL, 0xff, 0}, &Room::sins3UseDrillAnywhere },
-
- { {ACTION_GET, OBJECT_ITEM, 0, 0}, &Room::sins3GetIDCard },
- { {ACTION_DONE_WALK, 15, 0, 0}, &Room::sins3ReachedIDCard },
- { {ACTION_DONE_ANIM, 16, 0, 0}, &Room::sins3PickedUpIDCard },
- { {ACTION_LOOK, OBJECT_ITEM, 0, 0}, &Room::sins3LookAtItemBeingDrilled },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::sins3LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::sins3LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::sins3LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::sins3LookAtRedshirt },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::sins3TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::sins3TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::sins3TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins3TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::sins3UseCommunicator },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_DRILL, 0}, &Room::sins3UseSpockOnDrill },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_DRILL, 0}, &Room::sins3UseMccoyOnDrill },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_DRILL, 0}, &Room::sins3UseRedshirtOnDrill },
-
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::sins3WalkToDoor },
-
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0}, &Room::sins3UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::sins3UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0}, &Room::sins3UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0}, &Room::sins3UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::sins3UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::sins3UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::sins3UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins3UseMTricorderOnCrewman },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::sins3Tick1 },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_BOX, 0, 0}, &Room::sins3UseSTricorderOnBox },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LEFT_MONITOR, 0, 0}, &Room::sins3UseSTricorderOnMonitor },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_MONITOR, 0, 0}, &Room::sins3UseSTricorderOnMonitor },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::sins3UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DRILL, 0, 0}, &Room::sins3UseSTricorderOnDrill },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0, 0}, &Room::sins3UseSTricorderOnPanel },
+
+ { {ACTION_LOOK, HOTSPOT_DRILL, 0, 0, 0}, &Room::sins3LookAtDrill },
+ { {ACTION_LOOK, HOTSPOT_PANEL, 0, 0, 0}, &Room::sins3LookAtPanel },
+ { {ACTION_LOOK, HOTSPOT_LEFT_MONITOR, 0, 0, 0}, &Room::sins3LookAtMonitor },
+ { {ACTION_LOOK, HOTSPOT_RIGHT_MONITOR, 0, 0, 0}, &Room::sins3LookAtMonitor },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::sins3LookAnywhere },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0, 0}, &Room::sins3UseSTricorderOnWall },
+
+ { {ACTION_LOOK, OBJECT_BOX, 0, 0, 0}, &Room::sins3LookAtBox },
+ { {ACTION_LOOK, HOTSPOT_BOX, 0, 0, 0}, &Room::sins3LookAtBox },
+
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_BOX, 0, 0}, &Room::sins3UseKirkOnBox },
+ { {ACTION_DONE_WALK, 4, 0, 0, 0}, &Room::sins3KirkReachedBox },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::sins3Timer0Expired },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_BOX, 0, 0}, &Room::sins3UseSpockOnBox },
+ { {ACTION_DONE_WALK, 5, 0, 0, 0}, &Room::sins3SpockReachedBox },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_BOX, 0, 0}, &Room::sins3UseMccoyOnBox },
+ { {ACTION_DONE_WALK, 6, 0, 0, 0}, &Room::sins3MccoyReachedBox },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_BOX, 0, 0}, &Room::sins3UseRedshirtOnBox },
+ { {ACTION_DONE_WALK, 7, 0, 0, 0}, &Room::sins3RedshirtReachedBox },
+ { {ACTION_DONE_ANIM, 8, 0, 0, 0}, &Room::sins3BoxOpened },
+
+ { {ACTION_GET, OBJECT_BOX, 0, 0, 0}, &Room::sins3GetBox },
+ { {ACTION_GET, HOTSPOT_BOX, 0, 0, 0}, &Room::sins3GetBox },
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::sins3KirkReachedBoxToGet },
+ { {ACTION_DONE_ANIM, 17, 0, 0, 0}, &Room::sins3KirkGotBoxContents },
+
+ { {ACTION_TICK, 30, 0, 0, 0}, &Room::sins3Tick30 },
+ { {ACTION_TICK, 60, 0, 0, 0}, &Room::sins3Tick60 },
+
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_PANEL, 0, 0}, &Room::sins3UseKirkOnPanel },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_PANEL, 0, 0}, &Room::sins3UseSpockOnPanel },
+ { {ACTION_DONE_WALK, 10, 0, 0, 0}, &Room::sins3SpockReachedPanel },
+ { {ACTION_USE, OBJECT_IS8ROCKS, OBJECT_ITEM, 0, 0}, &Room::sins3UseRockOnWall },
+ { {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_WALL, 0, 0}, &Room::sins3UseRockOnWall },
+ { {ACTION_DONE_WALK, 1, 0, 0, 0}, &Room::sins3KirkReachedWall },
+ { {ACTION_DONE_ANIM, 18, 0, 0, 0}, &Room::sins3KirkPutRockOnWall },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::sins3KirkBackedAwayFromWall },
+ { {ACTION_DONE_ANIM, 11, 0, 0, 0}, &Room::sins3UsedLowPowerLaserOnRock },
+ { {ACTION_DONE_ANIM, 12, 0, 0, 0}, &Room::sins3MadeHoleInRock },
+ { {ACTION_DONE_ANIM, 13, 0, 0, 0}, &Room::sins3CreatedTemplateInRock },
+ { {ACTION_DONE_ANIM, 14, 0, 0, 0}, &Room::sins3RockTurnedIntoIDCard },
+ { {ACTION_DONE_ANIM, 19, 0, 0, 0}, &Room::sins3RockVaporized },
+ { {ACTION_USE, HOTSPOT_DRILL, 0xff, 0, 0}, &Room::sins3UseDrillAnywhere },
+
+ { {ACTION_GET, OBJECT_ITEM, 0, 0, 0}, &Room::sins3GetIDCard },
+ { {ACTION_DONE_WALK, 15, 0, 0, 0}, &Room::sins3ReachedIDCard },
+ { {ACTION_DONE_ANIM, 16, 0, 0, 0}, &Room::sins3PickedUpIDCard },
+ { {ACTION_LOOK, OBJECT_ITEM, 0, 0, 0}, &Room::sins3LookAtItemBeingDrilled },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::sins3LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins3LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins3LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins3LookAtRedshirt },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::sins3TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins3TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins3TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins3TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::sins3UseCommunicator },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_DRILL, 0, 0}, &Room::sins3UseSpockOnDrill },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_DRILL, 0, 0}, &Room::sins3UseMccoyOnDrill },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_DRILL, 0, 0}, &Room::sins3UseRedshirtOnDrill },
+
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins3WalkToDoor },
+
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0, 0}, &Room::sins3UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::sins3UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0, 0}, &Room::sins3UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0, 0}, &Room::sins3UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::sins3UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::sins3UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::sins3UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins3UseMTricorderOnCrewman },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum sins3TextIds {
diff --git a/engines/startrek/rooms/sins4.cpp b/engines/startrek/rooms/sins4.cpp
index 6adb7e084b1..f92df498eca 100644
--- a/engines/startrek/rooms/sins4.cpp
+++ b/engines/startrek/rooms/sins4.cpp
@@ -33,63 +33,63 @@
namespace StarTrek {
extern const RoomAction sins4ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::sins4Tick1 },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0}, &Room::sins4UseSTricorderOnPanel },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_PANEL, 0}, &Room::sins4UseSpockOnPanel },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UsePhaserOnNorthDoor },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UsePhaserOnNorthDoor },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_PANEL, 0}, &Room::sins4UsePhaserOnPanel },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_PANEL, 0}, &Room::sins4UsePhaserOnPanel },
-
- { {ACTION_USE, OBJECT_IIDCARD, HOTSPOT_PANEL, 0}, &Room::sins4UseIDCardOnPanel },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::sins4KirkReachedPanel },
- { {ACTION_DONE_ANIM, 5, 0, 0}, &Room::sins4KirkPutCardInPanel },
- { {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_PANEL, 0}, &Room::sins4UseRockOnPanel },
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::sins4KirkReachedPanelWithRock },
- { {ACTION_DONE_ANIM, 4, 0, 0}, &Room::sins4KirkUsedRockOnPanel },
-
- { {ACTION_LOOK, HOTSPOT_WEST_DOOR, 0, 0}, &Room::sins4LookAtWestDoor },
- { {ACTION_LOOK, HOTSPOT_EAST_DOOR, 0, 0}, &Room::sins4LookAtEastDoor },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::sins4LookAnywhere },
- { {ACTION_LOOK, HOTSPOT_PANEL, 0, 0}, &Room::sins4LookAtPanel },
- { {ACTION_TICK, 40, 0, 0}, &Room::sins4Tick40 },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::sins4LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::sins4LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::sins4LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::sins4LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_LIGHT, 0, 0}, &Room::sins4LookAtLight },
- { {ACTION_LOOK, HOTSPOT_BEAM, 0, 0}, &Room::sins4LookAtBeam },
- { {ACTION_LOOK, OBJECT_NORTH_DOOR, 0, 0}, &Room::sins4LookAtOpenNorthDoor },
- { {ACTION_LOOK, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4LookAtClosedNorthDoor },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::sins4TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::sins4TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::sins4TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins4TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UseSTricorderOnNorthDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::sins4UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::sins4UseCommunicator },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UseMccoyOnNorthDoor },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UseRedshirtOnNorthDoor },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UseSpockOnNorthDoor },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_PANEL, 0}, &Room::sins4UseMccoyOnPanel },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_PANEL, 0}, &Room::sins4UseRedshirtOnPanel },
-
- { {ACTION_WALK, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4WalkToNorthDoor },
- { {ACTION_WALK, OBJECT_NORTH_DOOR, 0, 0}, &Room::sins4WalkToNorthDoor },
- { {ACTION_WALK, HOTSPOT_WEST_DOOR, 0, 0}, &Room::sins4WalkToWestDoor },
- { {ACTION_WALK, HOTSPOT_EAST_DOOR, 0, 0}, &Room::sins4WalkToEastDoor },
-
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0}, &Room::sins4UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::sins4UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0}, &Room::sins4UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0}, &Room::sins4UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::sins4UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::sins4UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::sins4UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins4UseMTricorderOnCrewman },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::sins4Tick1 },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0, 0}, &Room::sins4UseSTricorderOnPanel },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_PANEL, 0, 0}, &Room::sins4UseSpockOnPanel },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UsePhaserOnNorthDoor },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UsePhaserOnNorthDoor },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_PANEL, 0, 0}, &Room::sins4UsePhaserOnPanel },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_PANEL, 0, 0}, &Room::sins4UsePhaserOnPanel },
+
+ { {ACTION_USE, OBJECT_IIDCARD, HOTSPOT_PANEL, 0, 0}, &Room::sins4UseIDCardOnPanel },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::sins4KirkReachedPanel },
+ { {ACTION_DONE_ANIM, 5, 0, 0, 0}, &Room::sins4KirkPutCardInPanel },
+ { {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_PANEL, 0, 0}, &Room::sins4UseRockOnPanel },
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::sins4KirkReachedPanelWithRock },
+ { {ACTION_DONE_ANIM, 4, 0, 0, 0}, &Room::sins4KirkUsedRockOnPanel },
+
+ { {ACTION_LOOK, HOTSPOT_WEST_DOOR, 0, 0, 0}, &Room::sins4LookAtWestDoor },
+ { {ACTION_LOOK, HOTSPOT_EAST_DOOR, 0, 0, 0}, &Room::sins4LookAtEastDoor },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::sins4LookAnywhere },
+ { {ACTION_LOOK, HOTSPOT_PANEL, 0, 0, 0}, &Room::sins4LookAtPanel },
+ { {ACTION_TICK, 40, 0, 0, 0}, &Room::sins4Tick40 },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::sins4LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins4LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins4LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins4LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_LIGHT, 0, 0, 0}, &Room::sins4LookAtLight },
+ { {ACTION_LOOK, HOTSPOT_BEAM, 0, 0, 0}, &Room::sins4LookAtBeam },
+ { {ACTION_LOOK, OBJECT_NORTH_DOOR, 0, 0, 0}, &Room::sins4LookAtOpenNorthDoor },
+ { {ACTION_LOOK, HOTSPOT_NORTH_DOOR, 0, 0, 0}, &Room::sins4LookAtClosedNorthDoor },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::sins4TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins4TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins4TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins4TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UseSTricorderOnNorthDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::sins4UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::sins4UseCommunicator },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UseMccoyOnNorthDoor },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UseRedshirtOnNorthDoor },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UseSpockOnNorthDoor },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_PANEL, 0, 0}, &Room::sins4UseMccoyOnPanel },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_PANEL, 0, 0}, &Room::sins4UseRedshirtOnPanel },
+
+ { {ACTION_WALK, HOTSPOT_NORTH_DOOR, 0, 0, 0}, &Room::sins4WalkToNorthDoor },
+ { {ACTION_WALK, OBJECT_NORTH_DOOR, 0, 0, 0}, &Room::sins4WalkToNorthDoor },
+ { {ACTION_WALK, HOTSPOT_WEST_DOOR, 0, 0, 0}, &Room::sins4WalkToWestDoor },
+ { {ACTION_WALK, HOTSPOT_EAST_DOOR, 0, 0, 0}, &Room::sins4WalkToEastDoor },
+
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0, 0}, &Room::sins4UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::sins4UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0, 0}, &Room::sins4UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0, 0}, &Room::sins4UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::sins4UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::sins4UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::sins4UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins4UseMTricorderOnCrewman },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum sins4TextIds {
diff --git a/engines/startrek/rooms/sins5.cpp b/engines/startrek/rooms/sins5.cpp
index 747e38d2f51..b72a8db9106 100644
--- a/engines/startrek/rooms/sins5.cpp
+++ b/engines/startrek/rooms/sins5.cpp
@@ -39,94 +39,94 @@
namespace StarTrek {
extern const RoomAction sins5ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::sins5Tick1 },
-
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::sins5UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_COMPUTER, 0}, &Room::sins5UseSTricorderOnRightComputer },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LEFT_COMPUTER, 0}, &Room::sins5UseSTricorderOnLeftComputer },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseSTricorderOnMiddleComputer },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_RIGHT_COMPUTER, 0}, &Room::sins5UseKirkOnRightComputer },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_LEFT_COMPUTER, 0}, &Room::sins5UseKirkOnLeftComputer },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseKirkOnMiddleComputer },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_RIGHT_COMPUTER, 0}, &Room::sins5UseMccoyOnComputer },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LEFT_COMPUTER, 0}, &Room::sins5UseMccoyOnComputer },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseMccoyOnComputer },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_RIGHT_COMPUTER, 0}, &Room::sins5UseRedshirtOnComputer },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_COMPUTER, 0}, &Room::sins5UseRedshirtOnComputer },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseRedshirtOnComputer },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseSpockOnMiddleComputer },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_RIGHT_COMPUTER, 0}, &Room::sins5UseSpockOnRightComputer },
- { {ACTION_DONE_WALK, 11, 0, 0}, &Room::sins5SpockReachedRightComputer },
- { {ACTION_DONE_ANIM, 13, 0, 0}, &Room::sins5SpockUsedRightComputer },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LEFT_COMPUTER, 0}, &Room::sins5UseSpockOnLeftComputer },
- { {ACTION_DONE_WALK, 10, 0, 0}, &Room::sins5SpockReachedLeftComputer },
- { {ACTION_DONE_ANIM, 12, 0, 0}, &Room::sins5SpockUsedLeftComputer },
- { {ACTION_DONE_WALK, 16, 0, 0}, &Room::sins5CrewmanReadyToBeamOut },
-
- { {ACTION_TICK, 20, 0, 0}, &Room::sins5Tick20 },
-
- { {ACTION_USE, OBJECT_ICONECT, HOTSPOT_LEFT_COMPUTER, 0}, &Room::sins5UseWireOnComputer },
- { {ACTION_USE, OBJECT_ICONECT, HOTSPOT_RIGHT_COMPUTER, 0}, &Room::sins5UseWireOnComputer },
- { {ACTION_DONE_WALK, 14, 0, 0}, &Room::sins5KirkOrSpockInPositionToUseWire },
- { {ACTION_DONE_ANIM, 15, 0, 0}, &Room::sins5WireConnected },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_LEFT_COMPUTER, 0}, &Room::sins5UseStunPhaserOnComputer },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseStunPhaserOnComputer },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_RIGHT_COMPUTER, 0}, &Room::sins5UseStunPhaserOnComputer },
-
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_LEFT_COMPUTER, 0}, &Room::sins5UseKillPhaserOnLeftComputer },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::sins5ReachedPositionToShootLeftComputer },
- { {ACTION_DONE_ANIM, 3, 0, 0}, &Room::sins5DrewPhaserToShootLeftComputer },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::sins5Timer0Expired },
-
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseKillPhaserOnMiddleComputer },
- { {ACTION_DONE_WALK, 6, 0, 0}, &Room::sins5ReachedPositionToShootMiddleComputer },
- { {ACTION_DONE_ANIM, 7, 0, 0}, &Room::sins5DrewPhaserToShootMiddleComputer },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::sins5Timer1Expired },
-
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_RIGHT_COMPUTER, 0}, &Room::sins5UseKillPhaserOnRightComputer },
- { {ACTION_DONE_WALK, 4, 0, 0}, &Room::sins5ReachedPositionToShootRightComputer },
- { {ACTION_DONE_ANIM, 5, 0, 0}, &Room::sins5DrewPhaserToShootRightComputer },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::sins5Timer2Expired },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::sins5ComputerLaunchesMissiles },
- { {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::sins5Timer3Expired },
-
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::sins5LookAnywhere },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::sins5LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::sins5LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::sins5LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::sins5LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_LIGHT, 0, 0}, &Room::sins5LookAtLight },
- { {ACTION_LOOK, HOTSPOT_LEFT_COMPUTER, 0, 0}, &Room::sins5LookAtLeftComputer },
- { {ACTION_LOOK, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5LookAtMiddleComputer },
- { {ACTION_LOOK, HOTSPOT_RIGHT_COMPUTER, 0, 0}, &Room::sins5LookAtRightComputer },
- { {ACTION_LOOK, HOTSPOT_MISSILE_1, 0, 0}, &Room::sins5LookAtMissile },
- { {ACTION_LOOK, HOTSPOT_MISSILE_2, 0, 0}, &Room::sins5LookAtMissile },
- { {ACTION_LOOK, HOTSPOT_MISSILE_3, 0, 0}, &Room::sins5LookAtMissile },
- { {ACTION_LOOK, HOTSPOT_MISSILE_4, 0, 0}, &Room::sins5LookAtMissile },
- { {ACTION_LOOK, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins5LookAtNorthDoor },
-
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0}, &Room::sins5UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::sins5UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0}, &Room::sins5UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0}, &Room::sins5UseMedkitOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::sins5UseMTricorderAnywhere },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::sins5TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::sins5TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::sins5TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins5TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_1, 0}, &Room::sins5UseSTricorderOnMissile },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_2, 0}, &Room::sins5UseSTricorderOnMissile },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_3, 0}, &Room::sins5UseSTricorderOnMissile },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_4, 0}, &Room::sins5UseSTricorderOnMissile },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NORTH_DOOR, 0}, &Room::sins5UseSTricorderOnNorthDoor },
-
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::sins5UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::sins5UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::sins5UseMTricorderOnCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins5UseMTricorderOnCrewman },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::sins5Tick1 },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::sins5UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_COMPUTER, 0, 0}, &Room::sins5UseSTricorderOnRightComputer },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LEFT_COMPUTER, 0, 0}, &Room::sins5UseSTricorderOnLeftComputer },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseSTricorderOnMiddleComputer },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_RIGHT_COMPUTER, 0, 0}, &Room::sins5UseKirkOnRightComputer },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_LEFT_COMPUTER, 0, 0}, &Room::sins5UseKirkOnLeftComputer },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseKirkOnMiddleComputer },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_RIGHT_COMPUTER, 0, 0}, &Room::sins5UseMccoyOnComputer },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LEFT_COMPUTER, 0, 0}, &Room::sins5UseMccoyOnComputer },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseMccoyOnComputer },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_RIGHT_COMPUTER, 0, 0}, &Room::sins5UseRedshirtOnComputer },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_COMPUTER, 0, 0}, &Room::sins5UseRedshirtOnComputer },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseRedshirtOnComputer },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseSpockOnMiddleComputer },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_RIGHT_COMPUTER, 0, 0}, &Room::sins5UseSpockOnRightComputer },
+ { {ACTION_DONE_WALK, 11, 0, 0, 0}, &Room::sins5SpockReachedRightComputer },
+ { {ACTION_DONE_ANIM, 13, 0, 0, 0}, &Room::sins5SpockUsedRightComputer },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LEFT_COMPUTER, 0, 0}, &Room::sins5UseSpockOnLeftComputer },
+ { {ACTION_DONE_WALK, 10, 0, 0, 0}, &Room::sins5SpockReachedLeftComputer },
+ { {ACTION_DONE_ANIM, 12, 0, 0, 0}, &Room::sins5SpockUsedLeftComputer },
+ { {ACTION_DONE_WALK, 16, 0, 0, 0}, &Room::sins5CrewmanReadyToBeamOut },
+
+ { {ACTION_TICK, 20, 0, 0, 0}, &Room::sins5Tick20 },
+
+ { {ACTION_USE, OBJECT_ICONECT, HOTSPOT_LEFT_COMPUTER, 0, 0}, &Room::sins5UseWireOnComputer },
+ { {ACTION_USE, OBJECT_ICONECT, HOTSPOT_RIGHT_COMPUTER, 0, 0}, &Room::sins5UseWireOnComputer },
+ { {ACTION_DONE_WALK, 14, 0, 0, 0}, &Room::sins5KirkOrSpockInPositionToUseWire },
+ { {ACTION_DONE_ANIM, 15, 0, 0, 0}, &Room::sins5WireConnected },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_LEFT_COMPUTER, 0, 0}, &Room::sins5UseStunPhaserOnComputer },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseStunPhaserOnComputer },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_RIGHT_COMPUTER, 0, 0}, &Room::sins5UseStunPhaserOnComputer },
+
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_LEFT_COMPUTER, 0, 0}, &Room::sins5UseKillPhaserOnLeftComputer },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::sins5ReachedPositionToShootLeftComputer },
+ { {ACTION_DONE_ANIM, 3, 0, 0, 0}, &Room::sins5DrewPhaserToShootLeftComputer },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::sins5Timer0Expired },
+
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseKillPhaserOnMiddleComputer },
+ { {ACTION_DONE_WALK, 6, 0, 0, 0}, &Room::sins5ReachedPositionToShootMiddleComputer },
+ { {ACTION_DONE_ANIM, 7, 0, 0, 0}, &Room::sins5DrewPhaserToShootMiddleComputer },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::sins5Timer1Expired },
+
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_RIGHT_COMPUTER, 0, 0}, &Room::sins5UseKillPhaserOnRightComputer },
+ { {ACTION_DONE_WALK, 4, 0, 0, 0}, &Room::sins5ReachedPositionToShootRightComputer },
+ { {ACTION_DONE_ANIM, 5, 0, 0, 0}, &Room::sins5DrewPhaserToShootRightComputer },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::sins5Timer2Expired },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::sins5ComputerLaunchesMissiles },
+ { {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::sins5Timer3Expired },
+
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::sins5LookAnywhere },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::sins5LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins5LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins5LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins5LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_LIGHT, 0, 0, 0}, &Room::sins5LookAtLight },
+ { {ACTION_LOOK, HOTSPOT_LEFT_COMPUTER, 0, 0, 0}, &Room::sins5LookAtLeftComputer },
+ { {ACTION_LOOK, HOTSPOT_MIDDLE_COMPUTER, 0, 0, 0}, &Room::sins5LookAtMiddleComputer },
+ { {ACTION_LOOK, HOTSPOT_RIGHT_COMPUTER, 0, 0, 0}, &Room::sins5LookAtRightComputer },
+ { {ACTION_LOOK, HOTSPOT_MISSILE_1, 0, 0, 0}, &Room::sins5LookAtMissile },
+ { {ACTION_LOOK, HOTSPOT_MISSILE_2, 0, 0, 0}, &Room::sins5LookAtMissile },
+ { {ACTION_LOOK, HOTSPOT_MISSILE_3, 0, 0, 0}, &Room::sins5LookAtMissile },
+ { {ACTION_LOOK, HOTSPOT_MISSILE_4, 0, 0, 0}, &Room::sins5LookAtMissile },
+ { {ACTION_LOOK, HOTSPOT_NORTH_DOOR, 0, 0, 0}, &Room::sins5LookAtNorthDoor },
+
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK, 0, 0}, &Room::sins5UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::sins5UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY, 0, 0}, &Room::sins5UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0, 0}, &Room::sins5UseMedkitOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::sins5UseMTricorderAnywhere },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::sins5TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::sins5TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::sins5TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins5TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_1, 0, 0}, &Room::sins5UseSTricorderOnMissile },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_2, 0, 0}, &Room::sins5UseSTricorderOnMissile },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_3, 0, 0}, &Room::sins5UseSTricorderOnMissile },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_4, 0, 0}, &Room::sins5UseSTricorderOnMissile },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins5UseSTricorderOnNorthDoor },
+
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::sins5UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::sins5UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::sins5UseMTricorderOnCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins5UseMTricorderOnCrewman },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum sins5TextIds {
diff --git a/engines/startrek/rooms/trial0.cpp b/engines/startrek/rooms/trial0.cpp
index 4713c175ec3..392e45aa78d 100644
--- a/engines/startrek/rooms/trial0.cpp
+++ b/engines/startrek/rooms/trial0.cpp
@@ -32,52 +32,52 @@
namespace StarTrek {
extern const RoomAction trial0ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::trial0Tick1 },
- { {ACTION_TICK, 40, 0, 0}, &Room::trial0Tick40 },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::trial0Timer0Expired },
-
- { {ACTION_WALK, HOTSPOT_CENTER, 0, 0}, &Room::trial0WalkToRoomCenter },
- { {ACTION_DONE_WALK, 1, 0, 0}, &Room::trial0ReachedRoomCenter },
-
- { {ACTION_LOOK, HOTSPOT_WINDOW, 0, 0}, &Room::trial0LookAtWindow },
- { {ACTION_LOOK, OBJECT_VLICT, 0, 0}, &Room::trial0LookAtVlict },
- { {ACTION_LOOK, OBJECT_GUARD, 0, 0}, &Room::trial0LookAtGuard },
- { {ACTION_LOOK, HOTSPOT_BENCH, 0, 0}, &Room::trial0LookAtBench },
- { {ACTION_LOOK, HOTSPOT_CENTER, 0, 0}, &Room::trial0LookAtSeal },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::trial0LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::trial0LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::trial0LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::trial0LookAtRedshirt },
- { {ACTION_LOOK, OBJECT_QUETZECOATL, 0, 0}, &Room::trial0LookAtQuetzecoatl },
- { {ACTION_TALK, OBJECT_VLICT, 0, 0}, &Room::trial0TalkToVlict },
- { {ACTION_TALK, OBJECT_GUARD, 0, 0}, &Room::trial0TalkToGuard },
- { {ACTION_TALK, OBJECT_QUETZECOATL, 0, 0}, &Room::trial0TalkToQuetzecoatl },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::trial0TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::trial0TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::trial0TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::trial0UsePhaserOrRock },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::trial0UsePhaserOrRock },
- { {ACTION_USE, OBJECT_IROCK, 0xff, 0}, &Room::trial0UsePhaserOrRock },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_VLICT, 0}, &Room::trial0UseSnakeOnVlict },
- { {ACTION_USE, OBJECT_ISNAKE, OBJECT_GUARD, 0}, &Room::trial0UseSnakeOnGuard },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_QUETZECOATL, 0}, &Room::trial0UseMTricorderOnQuetzecoatl },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_VLICT, 0}, &Room::trial0UseMTricorderOnVlict },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::trial0UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WINDOW, 0}, &Room::trial0UseSTricorderOnWindow },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::trial0UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::trial0UseCommunicator },
-
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_GUARD, 0}, &Room::trial0UseCrewmanOnKlingon },
- { {ACTION_USE, OBJECT_KIRK, OBJECT_GUARD, 0}, &Room::trial0UseCrewmanOnKlingon },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_GUARD, 0}, &Room::trial0UseCrewmanOnKlingon },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_VLICT, 0}, &Room::trial0UseCrewmanOnKlingon },
- { {ACTION_USE, OBJECT_KIRK, OBJECT_VLICT, 0}, &Room::trial0UseCrewmanOnKlingon },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_VLICT, 0}, &Room::trial0UseCrewmanOnKlingon },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_VLICT, 0}, &Room::trial0UseMccoyOnVlict },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_GUARD, 0}, &Room::trial0UseMccoyOnGuard },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::trial0UseMedkitAnywhere },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::trial0Tick1 },
+ { {ACTION_TICK, 40, 0, 0, 0}, &Room::trial0Tick40 },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::trial0Timer0Expired },
+
+ { {ACTION_WALK, HOTSPOT_CENTER, 0, 0, 0}, &Room::trial0WalkToRoomCenter },
+ { {ACTION_DONE_WALK, 1, 0, 0, 0}, &Room::trial0ReachedRoomCenter },
+
+ { {ACTION_LOOK, HOTSPOT_WINDOW, 0, 0, 0}, &Room::trial0LookAtWindow },
+ { {ACTION_LOOK, OBJECT_VLICT, 0, 0, 0}, &Room::trial0LookAtVlict },
+ { {ACTION_LOOK, OBJECT_GUARD, 0, 0, 0}, &Room::trial0LookAtGuard },
+ { {ACTION_LOOK, HOTSPOT_BENCH, 0, 0, 0}, &Room::trial0LookAtBench },
+ { {ACTION_LOOK, HOTSPOT_CENTER, 0, 0, 0}, &Room::trial0LookAtSeal },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::trial0LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial0LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial0LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial0LookAtRedshirt },
+ { {ACTION_LOOK, OBJECT_QUETZECOATL, 0, 0, 0}, &Room::trial0LookAtQuetzecoatl },
+ { {ACTION_TALK, OBJECT_VLICT, 0, 0, 0}, &Room::trial0TalkToVlict },
+ { {ACTION_TALK, OBJECT_GUARD, 0, 0, 0}, &Room::trial0TalkToGuard },
+ { {ACTION_TALK, OBJECT_QUETZECOATL, 0, 0, 0}, &Room::trial0TalkToQuetzecoatl },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial0TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial0TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial0TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::trial0UsePhaserOrRock },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::trial0UsePhaserOrRock },
+ { {ACTION_USE, OBJECT_IROCK, 0xff, 0, 0}, &Room::trial0UsePhaserOrRock },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_VLICT, 0, 0}, &Room::trial0UseSnakeOnVlict },
+ { {ACTION_USE, OBJECT_ISNAKE, OBJECT_GUARD, 0, 0}, &Room::trial0UseSnakeOnGuard },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_QUETZECOATL, 0, 0}, &Room::trial0UseMTricorderOnQuetzecoatl },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_VLICT, 0, 0}, &Room::trial0UseMTricorderOnVlict },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::trial0UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WINDOW, 0, 0}, &Room::trial0UseSTricorderOnWindow },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::trial0UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::trial0UseCommunicator },
+
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_GUARD, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_GUARD, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_GUARD, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_VLICT, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_VLICT, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_VLICT, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_VLICT, 0, 0}, &Room::trial0UseMccoyOnVlict },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_GUARD, 0, 0}, &Room::trial0UseMccoyOnGuard },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::trial0UseMedkitAnywhere },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum trial0TextIds {
diff --git a/engines/startrek/rooms/trial1.cpp b/engines/startrek/rooms/trial1.cpp
index 9634cb14455..a661e2e4a58 100644
--- a/engines/startrek/rooms/trial1.cpp
+++ b/engines/startrek/rooms/trial1.cpp
@@ -35,135 +35,135 @@
namespace StarTrek {
extern const RoomAction trial1ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::trial1Tick1 },
- { {ACTION_TICK, 50, 0, 0}, &Room::trial1Tick50 },
- { {ACTION_DONE_ANIM, 9, 0, 0}, &Room::trial1DoorOpened },
-
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::trial1TouchedHotspot0 },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::trial1KirkDied },
-
- { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::trial1TouchedHotspot1 },
-
- { {ACTION_GET, HOTSPOT_RODS, 0, 0}, &Room::trial1GetRod },
- { {ACTION_DONE_WALK, 4, 0, 0}, &Room::trial1ReachedRod },
- { {ACTION_DONE_ANIM, 5, 0, 0}, &Room::trial1PickedUpRod },
-
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::trial1LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::trial1LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::trial1LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::trial1LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_WALL, 0, 0}, &Room::trial1LookAtWall },
- { {ACTION_LOOK, HOTSPOT_FLOOR, 0, 0}, &Room::trial1LookAtFloor },
- { {ACTION_LOOK, HOTSPOT_RODS, 0, 0}, &Room::trial1LookAtRods },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::trial1LookAtDoor },
- { {ACTION_LOOK, HOTSPOT_LOCK, 0, 0}, &Room::trial1LookAtLock },
- { {ACTION_LOOK, OBJECT_ENTITY, 0, 0}, &Room::trial1LookAtEntity },
- { {ACTION_LOOK, OBJECT_MOLTEN_ROCK, 0, 0}, &Room::trial1LookAtMoltenRock },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::trial1TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::trial1TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::trial1TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::trial1TalkToRedshirt },
- { {ACTION_TALK, OBJECT_ENTITY, 0, 0}, &Room::trial1TalkToEntity },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_KIRK, 0}, &Room::trial1UsePhaserOnCrewman },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_KIRK, 0}, &Room::trial1UsePhaserOnCrewman },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPOCK, 0}, &Room::trial1UsePhaserOnCrewman },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPOCK, 0}, &Room::trial1UsePhaserOnCrewman },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0}, &Room::trial1UsePhaserOnCrewman },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_MCCOY, 0}, &Room::trial1UsePhaserOnCrewman },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_REDSHIRT, 0}, &Room::trial1UsePhaserOnCrewman },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_REDSHIRT, 0}, &Room::trial1UsePhaserOnCrewman },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_ENTITY, 0}, &Room::trial1UsePhaserOnEntity },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_ENTITY, 0}, &Room::trial1UsePhaserOnEntity },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0}, &Room::trial1UsePhaserOnWall },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0}, &Room::trial1UsePhaserOnWall },
-
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_FLOOR, 0}, &Room::trial1UseStunPhaserOnFloor },
- { {ACTION_DONE_WALK, 12, 0, 0}, &Room::trial1ReachedFloorToUseStunPhaser },
- { {ACTION_DONE_ANIM, 13, 0, 0}, &Room::trial1DoneShootingFloorWithStunPhaser },
-
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_FLOOR, 0}, &Room::trial1UseKillPhaserOnFloor },
- { {ACTION_DONE_WALK, 14, 0, 0}, &Room::trial1ReachedFloorToUseKillPhaser },
- { {ACTION_DONE_ANIM, 15, 0, 0}, &Room::trial1DoneShootingFloorWithKillPhaser },
-
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_RODS, 0}, &Room::trial1UsePhaserOnRod },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_RODS, 0}, &Room::trial1UsePhaserOnRod },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0}, &Room::trial1UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0}, &Room::trial1UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_LOCK, 0}, &Room::trial1UsePhaserOnLock },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_LOCK, 0}, &Room::trial1UsePhaserOnLock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::trial1UseMTricorderOnKirk },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::trial1UseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::trial1UseMTricorderOnMccoy },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::trial1UseMTricorderOnRedshirt },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_ENTITY, 0}, &Room::trial1UseMTricorderOnEntity },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0}, &Room::trial1UseSTricorderOnWall },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ENTITY, 0}, &Room::trial1UseSTricorderOnEntity },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RODS, 0}, &Room::trial1UseSTricorderOnRods },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FLOOR, 0}, &Room::trial1UseSTricorderOnFloor },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0}, &Room::trial1UseSTricorderOnDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LOCK, 0}, &Room::trial1UseSTricorderOnLock },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::trial1UseCommunicator },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_ENTITY, 0}, &Room::trial1UseMccoyOnEntity },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LOCK, 0}, &Room::trial1UseMccoyOnLock },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_FLOOR, 0}, &Room::trial1UseMccoyOnFloor },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_ENTITY, 0}, &Room::trial1UseSpockOnEntity },
-
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LOCK, 0}, &Room::trial1UseSpockOnLock },
- { {ACTION_DONE_WALK, 18, 0, 0}, &Room::trial1SpockReachedKeypad },
- { {ACTION_DONE_ANIM, 19, 0, 0}, &Room::trial1SpockUsedKeypad },
- { {ACTION_DONE_WALK, 20, 0, 0}, &Room::trial1SpockReachedKeypadWithExtraProgram },
- { {ACTION_DONE_ANIM, 21, 0, 0}, &Room::trial1SpockUsedKeypadWithExtraProgram },
-
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_FLOOR, 0}, &Room::trial1UseSpockOnFloor },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_ENTITY, 0}, &Room::trial1UseRedshirtOnEntity },
-
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LOCK, 0}, &Room::trial1UseRedshirtOnLock },
- { {ACTION_DONE_WALK, 24, 0, 0}, &Room::trial1RedshirtReachedKeypad },
- { {ACTION_DONE_ANIM, 25, 0, 0}, &Room::trial1RedshirtUsedKeypad },
- { {ACTION_DONE_WALK, 26, 0, 0}, &Room::trial1RedshirtReachedKeypadWithExtraProgram },
- { {ACTION_DONE_ANIM, 27, 0, 0}, &Room::trial1RedshirtUsedKeypadWithExtraProgram },
-
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_FLOOR, 0}, &Room::trial1UseRedshirtOnFloor },
- { {ACTION_USE, OBJECT_IWROD, OBJECT_MCCOY, 0}, &Room::trial1UseRodOnMccoy },
- { {ACTION_USE, OBJECT_IWROD, OBJECT_SPOCK, 0}, &Room::trial1UseRodOnSpock },
- { {ACTION_USE, OBJECT_IWROD, OBJECT_REDSHIRT, 0}, &Room::trial1UseRodOnRedshirt },
- { {ACTION_USE, OBJECT_IWROD, HOTSPOT_FLOOR, 0}, &Room::trial1UseRodOnFloorOrWall },
- { {ACTION_USE, OBJECT_IWROD, HOTSPOT_WALL, 0}, &Room::trial1UseRodOnFloorOrWall },
-
- { {ACTION_USE, OBJECT_IWROD, OBJECT_ENTITY, 0}, &Room::trial1UseWoodRodOnEntity },
- { {ACTION_DONE_WALK, 10, 0, 0}, &Room::trial1ReachedPositionToThrowWoodRod },
- { {ACTION_DONE_ANIM, 6, 0, 0}, &Room::trial1DoneThrowingWoodRod },
-
- { {ACTION_USE, OBJECT_IWROD, HOTSPOT_LOCK, 0}, &Room::trial1UseWoodRodOnLock },
-
- { {ACTION_USE, OBJECT_IWROD, OBJECT_MOLTEN_ROCK, 0}, &Room::trial1UseWoodRodOnMoltenRock },
- { {ACTION_DONE_WALK, 16, 0, 0}, &Room::trial1ReachedMoltenRock },
- { {ACTION_DONE_ANIM, 17, 0, 0}, &Room::trial1DoneCoatingWoodRod },
-
- { {ACTION_USE, OBJECT_IIROD, OBJECT_MCCOY, 0}, &Room::trial1UseRodOnMccoy },
- { {ACTION_USE, OBJECT_IIROD, OBJECT_SPOCK, 0}, &Room::trial1UseRodOnSpock },
- { {ACTION_USE, OBJECT_IIROD, OBJECT_REDSHIRT, 0}, &Room::trial1UseRodOnRedshirt },
- { {ACTION_USE, OBJECT_IIROD, HOTSPOT_FLOOR, 0}, &Room::trial1UseRodOnFloorOrWall },
- { {ACTION_USE, OBJECT_IIROD, HOTSPOT_WALL, 0}, &Room::trial1UseRodOnFloorOrWall },
-
- { {ACTION_USE, OBJECT_IIROD, OBJECT_ENTITY, 0}, &Room::trial1UseIronRodOnEntity },
- { {ACTION_DONE_WALK, 11, 0, 0}, &Room::trial1ReachedPositionToThrowIronRod },
- { {ACTION_DONE_ANIM, 7, 0, 0}, &Room::trial1DoneThrowingIronRod },
-
- { {ACTION_USE, OBJECT_IIROD, HOTSPOT_LOCK, 0}, &Room::trial1UseIronRodOnLock },
- { {ACTION_GET, OBJECT_THROWN_IRON_ROD, 0, 0}, &Room::trial1GetThrownIronRod },
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::trial1WalkToDoor },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::trial1UseMedkit },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::trial1Tick1 },
+ { {ACTION_TICK, 50, 0, 0, 0}, &Room::trial1Tick50 },
+ { {ACTION_DONE_ANIM, 9, 0, 0, 0}, &Room::trial1DoorOpened },
+
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::trial1TouchedHotspot0 },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::trial1KirkDied },
+
+ { {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::trial1TouchedHotspot1 },
+
+ { {ACTION_GET, HOTSPOT_RODS, 0, 0, 0}, &Room::trial1GetRod },
+ { {ACTION_DONE_WALK, 4, 0, 0, 0}, &Room::trial1ReachedRod },
+ { {ACTION_DONE_ANIM, 5, 0, 0, 0}, &Room::trial1PickedUpRod },
+
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::trial1LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial1LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial1LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial1LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_WALL, 0, 0, 0}, &Room::trial1LookAtWall },
+ { {ACTION_LOOK, HOTSPOT_FLOOR, 0, 0, 0}, &Room::trial1LookAtFloor },
+ { {ACTION_LOOK, HOTSPOT_RODS, 0, 0, 0}, &Room::trial1LookAtRods },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::trial1LookAtDoor },
+ { {ACTION_LOOK, HOTSPOT_LOCK, 0, 0, 0}, &Room::trial1LookAtLock },
+ { {ACTION_LOOK, OBJECT_ENTITY, 0, 0, 0}, &Room::trial1LookAtEntity },
+ { {ACTION_LOOK, OBJECT_MOLTEN_ROCK, 0, 0, 0}, &Room::trial1LookAtMoltenRock },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::trial1TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial1TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial1TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial1TalkToRedshirt },
+ { {ACTION_TALK, OBJECT_ENTITY, 0, 0, 0}, &Room::trial1TalkToEntity },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_KIRK, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_KIRK, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPOCK, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPOCK, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_MCCOY, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_REDSHIRT, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_REDSHIRT, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_ENTITY, 0, 0}, &Room::trial1UsePhaserOnEntity },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_ENTITY, 0, 0}, &Room::trial1UsePhaserOnEntity },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0, 0}, &Room::trial1UsePhaserOnWall },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0, 0}, &Room::trial1UsePhaserOnWall },
+
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseStunPhaserOnFloor },
+ { {ACTION_DONE_WALK, 12, 0, 0, 0}, &Room::trial1ReachedFloorToUseStunPhaser },
+ { {ACTION_DONE_ANIM, 13, 0, 0, 0}, &Room::trial1DoneShootingFloorWithStunPhaser },
+
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseKillPhaserOnFloor },
+ { {ACTION_DONE_WALK, 14, 0, 0, 0}, &Room::trial1ReachedFloorToUseKillPhaser },
+ { {ACTION_DONE_ANIM, 15, 0, 0, 0}, &Room::trial1DoneShootingFloorWithKillPhaser },
+
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_RODS, 0, 0}, &Room::trial1UsePhaserOnRod },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_RODS, 0, 0}, &Room::trial1UsePhaserOnRod },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0, 0}, &Room::trial1UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0, 0}, &Room::trial1UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_LOCK, 0, 0}, &Room::trial1UsePhaserOnLock },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_LOCK, 0, 0}, &Room::trial1UsePhaserOnLock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::trial1UseMTricorderOnKirk },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::trial1UseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::trial1UseMTricorderOnMccoy },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::trial1UseMTricorderOnRedshirt },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_ENTITY, 0, 0}, &Room::trial1UseMTricorderOnEntity },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0, 0}, &Room::trial1UseSTricorderOnWall },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ENTITY, 0, 0}, &Room::trial1UseSTricorderOnEntity },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RODS, 0, 0}, &Room::trial1UseSTricorderOnRods },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseSTricorderOnFloor },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0, 0}, &Room::trial1UseSTricorderOnDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseSTricorderOnLock },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::trial1UseCommunicator },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_ENTITY, 0, 0}, &Room::trial1UseMccoyOnEntity },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseMccoyOnLock },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseMccoyOnFloor },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_ENTITY, 0, 0}, &Room::trial1UseSpockOnEntity },
+
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseSpockOnLock },
+ { {ACTION_DONE_WALK, 18, 0, 0, 0}, &Room::trial1SpockReachedKeypad },
+ { {ACTION_DONE_ANIM, 19, 0, 0, 0}, &Room::trial1SpockUsedKeypad },
+ { {ACTION_DONE_WALK, 20, 0, 0, 0}, &Room::trial1SpockReachedKeypadWithExtraProgram },
+ { {ACTION_DONE_ANIM, 21, 0, 0, 0}, &Room::trial1SpockUsedKeypadWithExtraProgram },
+
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseSpockOnFloor },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_ENTITY, 0, 0}, &Room::trial1UseRedshirtOnEntity },
+
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseRedshirtOnLock },
+ { {ACTION_DONE_WALK, 24, 0, 0, 0}, &Room::trial1RedshirtReachedKeypad },
+ { {ACTION_DONE_ANIM, 25, 0, 0, 0}, &Room::trial1RedshirtUsedKeypad },
+ { {ACTION_DONE_WALK, 26, 0, 0, 0}, &Room::trial1RedshirtReachedKeypadWithExtraProgram },
+ { {ACTION_DONE_ANIM, 27, 0, 0, 0}, &Room::trial1RedshirtUsedKeypadWithExtraProgram },
+
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseRedshirtOnFloor },
+ { {ACTION_USE, OBJECT_IWROD, OBJECT_MCCOY, 0, 0}, &Room::trial1UseRodOnMccoy },
+ { {ACTION_USE, OBJECT_IWROD, OBJECT_SPOCK, 0, 0}, &Room::trial1UseRodOnSpock },
+ { {ACTION_USE, OBJECT_IWROD, OBJECT_REDSHIRT, 0, 0}, &Room::trial1UseRodOnRedshirt },
+ { {ACTION_USE, OBJECT_IWROD, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseRodOnFloorOrWall },
+ { {ACTION_USE, OBJECT_IWROD, HOTSPOT_WALL, 0, 0}, &Room::trial1UseRodOnFloorOrWall },
+
+ { {ACTION_USE, OBJECT_IWROD, OBJECT_ENTITY, 0, 0}, &Room::trial1UseWoodRodOnEntity },
+ { {ACTION_DONE_WALK, 10, 0, 0, 0}, &Room::trial1ReachedPositionToThrowWoodRod },
+ { {ACTION_DONE_ANIM, 6, 0, 0, 0}, &Room::trial1DoneThrowingWoodRod },
+
+ { {ACTION_USE, OBJECT_IWROD, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseWoodRodOnLock },
+
+ { {ACTION_USE, OBJECT_IWROD, OBJECT_MOLTEN_ROCK, 0, 0}, &Room::trial1UseWoodRodOnMoltenRock },
+ { {ACTION_DONE_WALK, 16, 0, 0, 0}, &Room::trial1ReachedMoltenRock },
+ { {ACTION_DONE_ANIM, 17, 0, 0, 0}, &Room::trial1DoneCoatingWoodRod },
+
+ { {ACTION_USE, OBJECT_IIROD, OBJECT_MCCOY, 0, 0}, &Room::trial1UseRodOnMccoy },
+ { {ACTION_USE, OBJECT_IIROD, OBJECT_SPOCK, 0, 0}, &Room::trial1UseRodOnSpock },
+ { {ACTION_USE, OBJECT_IIROD, OBJECT_REDSHIRT, 0, 0}, &Room::trial1UseRodOnRedshirt },
+ { {ACTION_USE, OBJECT_IIROD, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseRodOnFloorOrWall },
+ { {ACTION_USE, OBJECT_IIROD, HOTSPOT_WALL, 0, 0}, &Room::trial1UseRodOnFloorOrWall },
+
+ { {ACTION_USE, OBJECT_IIROD, OBJECT_ENTITY, 0, 0}, &Room::trial1UseIronRodOnEntity },
+ { {ACTION_DONE_WALK, 11, 0, 0, 0}, &Room::trial1ReachedPositionToThrowIronRod },
+ { {ACTION_DONE_ANIM, 7, 0, 0, 0}, &Room::trial1DoneThrowingIronRod },
+
+ { {ACTION_USE, OBJECT_IIROD, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseIronRodOnLock },
+ { {ACTION_GET, OBJECT_THROWN_IRON_ROD, 0, 0, 0}, &Room::trial1GetThrownIronRod },
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::trial1WalkToDoor },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::trial1UseMedkit },
// ENHANCEMENT: Implement actions for the door object, not just the hotspot
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::trial1LookAtDoor },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DOOR, 0}, &Room::trial1UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DOOR, 0}, &Room::trial1UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR, 0}, &Room::trial1UseSTricorderOnDoor },
- { {ACTION_WALK, OBJECT_DOOR, 0, 0}, &Room::trial1WalkToDoor },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::trial1LookAtDoor },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DOOR, 0, 0}, &Room::trial1UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DOOR, 0, 0}, &Room::trial1UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR, 0, 0}, &Room::trial1UseSTricorderOnDoor },
+ { {ACTION_WALK, OBJECT_DOOR, 0, 0, 0}, &Room::trial1WalkToDoor },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum trial1TextIds {
diff --git a/engines/startrek/rooms/trial2.cpp b/engines/startrek/rooms/trial2.cpp
index 377bfc6ec06..36aa9446c9e 100644
--- a/engines/startrek/rooms/trial2.cpp
+++ b/engines/startrek/rooms/trial2.cpp
@@ -48,76 +48,76 @@ namespace StarTrek {
// finished, though.
extern const RoomAction trial2ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::trial2Tick1 },
- { {ACTION_TICK, 60, 0, 0}, &Room::trial2Tick60 },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::trial2TouchedHotspot0 },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::trial2LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::trial2LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::trial2LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::trial2LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_INSIGNIA, 0, 0}, &Room::trial2LookAtInsignia },
- { {ACTION_LOOK, OBJECT_GLOB, 0, 0}, &Room::trial2LookAtGlob },
- { {ACTION_LOOK, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2LookAtGlob },
- { {ACTION_LOOK, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2LookAtGlob },
- { {ACTION_LOOK, HOTSPOT_WALL, 0, 0}, &Room::trial2LookAtWall },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::trial2LookAtDoor },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::trial2TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::trial2TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::trial2TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::trial2TalkToRedshirt },
- { {ACTION_TALK, OBJECT_GLOB, 0, 0}, &Room::trial2TalkToGlob },
- { {ACTION_TALK, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2TalkToGlob },
- { {ACTION_TALK, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2TalkToGlob },
-
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0}, &Room::trial2UsePhaserOnWall },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0}, &Room::trial2UsePhaserOnWall },
-
- { {ACTION_DONE_WALK, 7, 0, 0}, &Room::trial2ReachedPositionToShootGlob },
- { {ACTION_DONE_ANIM, 10, 0, 0}, &Room::trial2DrewPhaserToShootGlob },
- { {ACTION_DONE_ANIM, 4, 0, 0}, &Room::trial2GlobDoneExploding },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::trial2GlobDoneSplitting },
- { {ACTION_DONE_ANIM, 19, 0, 0}, &Room::trial2KirkDied },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_GLOB, 0}, &Room::trial2UseStunPhaserOnGlob },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_GLOB, 0}, &Room::trial2UseKillPhaserOnGlob },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseStunPhaserOnSplitGlob1 },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseKillPhaserOnSplitGlob1 },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseStunPhaserOnSplitGlob2 },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseKillPhaserOnSplitGlob2 },
-
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::trial2UseMTricorderOnKirk },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::trial2UseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::trial2UseMTricorderOnMccoy },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::trial2UseMTricorderOnRedshirt },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_GLOB, 0}, &Room::trial2UseMTricorderOnGlob },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseMTricorderOnGlob },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseMTricorderOnGlob },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0}, &Room::trial2UseSTricorderOnWall },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::trial2UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_GLOB, 0}, &Room::trial2UseSTricorderOnGlob },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseSTricorderOnGlob },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseSTricorderOnGlob },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::trial2UseCommunicator },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseMccoyOnGlob },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseMccoyOnGlob },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_WALL, 0}, &Room::trial2UseMccoyOnWall },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseSpockOnGlob },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseSpockOnGlob },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_WALL, 0}, &Room::trial2UseSpockOnWall },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseRedshirtOnGlob },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseRedshirtOnGlob },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_WALL, 0}, &Room::trial2UseRedshirtOnWall },
-
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::trial2WalkToDoor },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::trial2UseMedkitAnywhere },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::trial2Tick1 },
+ { {ACTION_TICK, 60, 0, 0, 0}, &Room::trial2Tick60 },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::trial2TouchedHotspot0 },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::trial2LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial2LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial2LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial2LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_INSIGNIA, 0, 0, 0}, &Room::trial2LookAtInsignia },
+ { {ACTION_LOOK, OBJECT_GLOB, 0, 0, 0}, &Room::trial2LookAtGlob },
+ { {ACTION_LOOK, OBJECT_SPLIT_GLOB_1, 0, 0, 0}, &Room::trial2LookAtGlob },
+ { {ACTION_LOOK, OBJECT_SPLIT_GLOB_2, 0, 0, 0}, &Room::trial2LookAtGlob },
+ { {ACTION_LOOK, HOTSPOT_WALL, 0, 0, 0}, &Room::trial2LookAtWall },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::trial2LookAtDoor },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::trial2TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial2TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial2TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial2TalkToRedshirt },
+ { {ACTION_TALK, OBJECT_GLOB, 0, 0, 0}, &Room::trial2TalkToGlob },
+ { {ACTION_TALK, OBJECT_SPLIT_GLOB_1, 0, 0, 0}, &Room::trial2TalkToGlob },
+ { {ACTION_TALK, OBJECT_SPLIT_GLOB_2, 0, 0, 0}, &Room::trial2TalkToGlob },
+
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0, 0}, &Room::trial2UsePhaserOnWall },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0, 0}, &Room::trial2UsePhaserOnWall },
+
+ { {ACTION_DONE_WALK, 7, 0, 0, 0}, &Room::trial2ReachedPositionToShootGlob },
+ { {ACTION_DONE_ANIM, 10, 0, 0, 0}, &Room::trial2DrewPhaserToShootGlob },
+ { {ACTION_DONE_ANIM, 4, 0, 0, 0}, &Room::trial2GlobDoneExploding },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::trial2GlobDoneSplitting },
+ { {ACTION_DONE_ANIM, 19, 0, 0, 0}, &Room::trial2KirkDied },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_GLOB, 0, 0}, &Room::trial2UseStunPhaserOnGlob },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_GLOB, 0, 0}, &Room::trial2UseKillPhaserOnGlob },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseStunPhaserOnSplitGlob1 },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseKillPhaserOnSplitGlob1 },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseStunPhaserOnSplitGlob2 },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseKillPhaserOnSplitGlob2 },
+
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::trial2UseMTricorderOnKirk },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::trial2UseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::trial2UseMTricorderOnMccoy },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::trial2UseMTricorderOnRedshirt },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_GLOB, 0, 0}, &Room::trial2UseMTricorderOnGlob },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseMTricorderOnGlob },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseMTricorderOnGlob },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0, 0}, &Room::trial2UseSTricorderOnWall },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::trial2UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_GLOB, 0, 0}, &Room::trial2UseSTricorderOnGlob },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseSTricorderOnGlob },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseSTricorderOnGlob },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::trial2UseCommunicator },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseMccoyOnGlob },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseMccoyOnGlob },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_WALL, 0, 0}, &Room::trial2UseMccoyOnWall },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseSpockOnGlob },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseSpockOnGlob },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_WALL, 0, 0}, &Room::trial2UseSpockOnWall },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseRedshirtOnGlob },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseRedshirtOnGlob },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_WALL, 0, 0}, &Room::trial2UseRedshirtOnWall },
+
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::trial2WalkToDoor },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::trial2UseMedkitAnywhere },
// ENHANCEMENT: Define these actions for the main glob, not just the (unused) split
// globs
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_GLOB, 0}, &Room::trial2UseMccoyOnGlob },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_GLOB, 0}, &Room::trial2UseSpockOnGlob },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_GLOB, 0}, &Room::trial2UseRedshirtOnGlob },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_GLOB, 0, 0}, &Room::trial2UseMccoyOnGlob },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_GLOB, 0, 0}, &Room::trial2UseSpockOnGlob },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_GLOB, 0, 0}, &Room::trial2UseRedshirtOnGlob },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum trial2TextIds {
diff --git a/engines/startrek/rooms/trial3.cpp b/engines/startrek/rooms/trial3.cpp
index d7acafa39c5..b2f29b46bcd 100644
--- a/engines/startrek/rooms/trial3.cpp
+++ b/engines/startrek/rooms/trial3.cpp
@@ -32,63 +32,63 @@
namespace StarTrek {
extern const RoomAction trial3ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::trial3Tick1 },
- { {ACTION_TICK, 30, 0, 0}, &Room::trial3Tick30 },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::trial3Klingon1BeamedIn },
- { {ACTION_DONE_ANIM, 2, 0, 0}, &Room::trial3Klingon2BeamedIn },
- { {ACTION_DONE_ANIM, 3, 0, 0}, &Room::trial3Klingon3BeamedIn },
- { {ACTION_DONE_ANIM, 4, 0, 0}, &Room::trial3Klingon1DoneShooting },
- { {ACTION_DONE_ANIM, 5, 0, 0}, &Room::trial3Klingon2DoneShooting },
- { {ACTION_DONE_ANIM, 6, 0, 0}, &Room::trial3Klingon3DoneShooting },
- { {ACTION_DONE_ANIM, 15, 0, 0}, &Room::trial3RedshirtDoneDying },
- { {ACTION_DONE_ANIM, 16, 0, 0}, &Room::trial3KirkDoneDying },
- { {ACTION_DONE_ANIM, 11, 0, 0}, &Room::trial3Klingon1Shot },
- { {ACTION_DONE_ANIM, 12, 0, 0}, &Room::trial3Klingon2Shot },
- { {ACTION_DONE_ANIM, 13, 0, 0}, &Room::trial3Klingon3Shot },
- { {ACTION_DONE_ANIM, 19, 0, 0}, &Room::trial3CrewmanBeamedOut },
- { {ACTION_TICK, 90, 0, 0}, &Room::trial3Tick90 },
- { {ACTION_TOUCHED_HOTSPOT, 3, 0, 0}, &Room::trial3TouchedHotspot3 },
- { {ACTION_DONE_ANIM, 14, 0, 0}, &Room::trial3KirkExploded },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::trial3LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::trial3LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::trial3LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::trial3LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_EXIT, 0, 0}, &Room::trial3LookAtExit },
- { {ACTION_LOOK, HOTSPOT_WALL, 0, 0}, &Room::trial3LookAtWall },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::trial3TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::trial3TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::trial3TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::trial3TalkToRedshirt },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0}, &Room::trial3UsePhaserOnWall },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0}, &Room::trial3UsePhaserOnWall },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_KLINGON_1, 0}, &Room::trial3UseStunPhaserOnKlingon1 },
- { {ACTION_DONE_ANIM, 17, 0, 0}, &Room::trial3ReadyToShootKlingon1OnStun },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_KLINGON_1, 0}, &Room::trial3UseKillPhaserOnKlingon1 },
- { {ACTION_DONE_ANIM, 18, 0, 0}, &Room::trial3ReadyToShootKlingon1OnKill },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::trial3Tick1 },
+ { {ACTION_TICK, 30, 0, 0, 0}, &Room::trial3Tick30 },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::trial3Klingon1BeamedIn },
+ { {ACTION_DONE_ANIM, 2, 0, 0, 0}, &Room::trial3Klingon2BeamedIn },
+ { {ACTION_DONE_ANIM, 3, 0, 0, 0}, &Room::trial3Klingon3BeamedIn },
+ { {ACTION_DONE_ANIM, 4, 0, 0, 0}, &Room::trial3Klingon1DoneShooting },
+ { {ACTION_DONE_ANIM, 5, 0, 0, 0}, &Room::trial3Klingon2DoneShooting },
+ { {ACTION_DONE_ANIM, 6, 0, 0, 0}, &Room::trial3Klingon3DoneShooting },
+ { {ACTION_DONE_ANIM, 15, 0, 0, 0}, &Room::trial3RedshirtDoneDying },
+ { {ACTION_DONE_ANIM, 16, 0, 0, 0}, &Room::trial3KirkDoneDying },
+ { {ACTION_DONE_ANIM, 11, 0, 0, 0}, &Room::trial3Klingon1Shot },
+ { {ACTION_DONE_ANIM, 12, 0, 0, 0}, &Room::trial3Klingon2Shot },
+ { {ACTION_DONE_ANIM, 13, 0, 0, 0}, &Room::trial3Klingon3Shot },
+ { {ACTION_DONE_ANIM, 19, 0, 0, 0}, &Room::trial3CrewmanBeamedOut },
+ { {ACTION_TICK, 90, 0, 0, 0}, &Room::trial3Tick90 },
+ { {ACTION_TOUCHED_HOTSPOT, 3, 0, 0, 0}, &Room::trial3TouchedHotspot3 },
+ { {ACTION_DONE_ANIM, 14, 0, 0, 0}, &Room::trial3KirkExploded },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::trial3LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial3LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial3LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial3LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_EXIT, 0, 0, 0}, &Room::trial3LookAtExit },
+ { {ACTION_LOOK, HOTSPOT_WALL, 0, 0, 0}, &Room::trial3LookAtWall },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::trial3TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial3TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial3TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial3TalkToRedshirt },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0, 0}, &Room::trial3UsePhaserOnWall },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0, 0}, &Room::trial3UsePhaserOnWall },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_KLINGON_1, 0, 0}, &Room::trial3UseStunPhaserOnKlingon1 },
+ { {ACTION_DONE_ANIM, 17, 0, 0, 0}, &Room::trial3ReadyToShootKlingon1OnStun },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_KLINGON_1, 0, 0}, &Room::trial3UseKillPhaserOnKlingon1 },
+ { {ACTION_DONE_ANIM, 18, 0, 0, 0}, &Room::trial3ReadyToShootKlingon1OnKill },
// OMITTED: Similar code for unused klingons 2 and 3
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::trial3UsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::trial3UsePhaserAnywhere },
-
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::trial3UseMTricorderOnKirk },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::trial3UseMTricorderOnSpock },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::trial3UseMTricorderOnMccoy },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::trial3UseMTricorderOnRedshirt },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_EXIT, 0}, &Room::trial3UseMTricorderOnExit },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0}, &Room::trial3UseSTricorderOnWall },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_EXIT, 0}, &Room::trial3UseSTricorderOnExit },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KLINGON_1, 0}, &Room::trial3UseMTricorderOnKlingon },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::trial3UseCommunicator },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_WALL, 0}, &Room::trial3UseMccoyOnWall },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_EXIT, 0}, &Room::trial3UseMccoyOnExit },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_WALL, 0}, &Room::trial3UseSpockOnWall },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_EXIT, 0}, &Room::trial3UseSpockOnExit },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_EXIT, 0}, &Room::trial3UseRedshirtOnExit },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_WALL, 0}, &Room::trial3UseRedshirtOnWall },
- { {ACTION_WALK, HOTSPOT_EXIT, 0, 0}, &Room::trial3WalkToExit },
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::trial3UseMedkitAnywhere },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::trial3UsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::trial3UsePhaserAnywhere },
+
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::trial3UseMTricorderOnKirk },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::trial3UseMTricorderOnSpock },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::trial3UseMTricorderOnMccoy },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::trial3UseMTricorderOnRedshirt },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_EXIT, 0, 0}, &Room::trial3UseMTricorderOnExit },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0, 0}, &Room::trial3UseSTricorderOnWall },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_EXIT, 0, 0}, &Room::trial3UseSTricorderOnExit },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KLINGON_1, 0, 0}, &Room::trial3UseMTricorderOnKlingon },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::trial3UseCommunicator },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_WALL, 0, 0}, &Room::trial3UseMccoyOnWall },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_EXIT, 0, 0}, &Room::trial3UseMccoyOnExit },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_WALL, 0, 0}, &Room::trial3UseSpockOnWall },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_EXIT, 0, 0}, &Room::trial3UseSpockOnExit },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_EXIT, 0, 0}, &Room::trial3UseRedshirtOnExit },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_WALL, 0, 0}, &Room::trial3UseRedshirtOnWall },
+ { {ACTION_WALK, HOTSPOT_EXIT, 0, 0, 0}, &Room::trial3WalkToExit },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::trial3UseMedkitAnywhere },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum trial3TextIds {
diff --git a/engines/startrek/rooms/trial4.cpp b/engines/startrek/rooms/trial4.cpp
index f276c5017e2..f5d7c6cb617 100644
--- a/engines/startrek/rooms/trial4.cpp
+++ b/engines/startrek/rooms/trial4.cpp
@@ -28,9 +28,9 @@
namespace StarTrek {
extern const RoomAction trial4ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::trial4Tick1 },
- { {ACTION_TICK, 60, 0, 0}, &Room::trial4Tick60 },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::trial4Tick1 },
+ { {ACTION_TICK, 60, 0, 0, 0}, &Room::trial4Tick60 },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum trial4TextIds {
diff --git a/engines/startrek/rooms/trial5.cpp b/engines/startrek/rooms/trial5.cpp
index 61a250aff10..434508a93d7 100644
--- a/engines/startrek/rooms/trial5.cpp
+++ b/engines/startrek/rooms/trial5.cpp
@@ -69,95 +69,95 @@
namespace StarTrek {
extern const RoomAction trial5ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::trial5Tick1 },
- { {ACTION_TICK, 60, 0, 0}, &Room::trial5Tick60 },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::trial5VlictAppeared },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_INTERFACE, 0}, &Room::trial5WalkToInterface },
- { {ACTION_WALK, HOTSPOT_INTERFACE, 0, 0}, &Room::trial5WalkToInterface },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::trial5ReachedInterface },
- { {ACTION_DONE_WALK, 30, 0, 0}, &Room::trial5ReachedGem },
- { {ACTION_DONE_ANIM, 31, 0, 0}, &Room::trial5PickedUpGem },
-
- { {ACTION_GET, OBJECT_REDGEM1, 0, 0}, &Room::trial5GetRedGem1 },
- { {ACTION_GET, OBJECT_REDGEM2, 0, 0}, &Room::trial5GetRedGem2 },
- { {ACTION_GET, OBJECT_REDGEM3, 0, 0}, &Room::trial5GetRedGem3 },
- { {ACTION_GET, OBJECT_GRNGEM1, 0, 0}, &Room::trial5GetGreenGem1 },
- { {ACTION_GET, OBJECT_GRNGEM2, 0, 0}, &Room::trial5GetGreenGem2 },
- { {ACTION_GET, OBJECT_GRNGEM3, 0, 0}, &Room::trial5GetGreenGem3 },
- { {ACTION_GET, OBJECT_BLUGEM1, 0, 0}, &Room::trial5GetBlueGem1 },
- { {ACTION_GET, OBJECT_BLUGEM2, 0, 0}, &Room::trial5GetBlueGem2 },
- { {ACTION_GET, OBJECT_BLUGEM3, 0, 0}, &Room::trial5GetBlueGem3 },
-
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::trial5LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::trial5LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::trial5LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::trial5LookAtRedshirt },
- { {ACTION_LOOK, OBJECT_BEAM, 0, 0}, &Room::trial5LookAtBeam },
- { {ACTION_LOOK, HOTSPOT_INTERFACE, 0, 0}, &Room::trial5LookAtInterface },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_INTERFACE, 0}, &Room::trial5UseSTricorderOnInterface },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_INTERFACE, 0}, &Room::trial5UseMTricorderOnInterface },
-
- { {ACTION_LOOK, OBJECT_REDGEM1, 0, 0}, &Room::trial5LookAtRedGem1 },
- { {ACTION_LOOK, OBJECT_REDGEM2, 0, 0}, &Room::trial5LookAtRedGem2 },
- { {ACTION_LOOK, OBJECT_REDGEM3, 0, 0}, &Room::trial5LookAtRedGem3 },
- { {ACTION_LOOK, OBJECT_GRNGEM1, 0, 0}, &Room::trial5LookAtGreenGem1 },
- { {ACTION_LOOK, OBJECT_GRNGEM2, 0, 0}, &Room::trial5LookAtGreenGem2 },
- { {ACTION_LOOK, OBJECT_GRNGEM3, 0, 0}, &Room::trial5LookAtGreenGem3 },
- { {ACTION_LOOK, OBJECT_BLUGEM1, 0, 0}, &Room::trial5LookAtBlueGem1 },
- { {ACTION_LOOK, OBJECT_BLUGEM2, 0, 0}, &Room::trial5LookAtBlueGem2 },
- { {ACTION_LOOK, OBJECT_BLUGEM3, 0, 0}, &Room::trial5LookAtBlueGem3 },
-
- { {ACTION_LOOK, HOTSPOT_HOLE1, 0, 0}, &Room::trial5LookAtHole },
- { {ACTION_LOOK, HOTSPOT_HOLE2, 0, 0}, &Room::trial5LookAtHole },
- { {ACTION_LOOK, HOTSPOT_HOLE3, 0, 0}, &Room::trial5LookAtHole },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::trial5TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::trial5TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::trial5TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::trial5TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::trial5UsePhaser },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::trial5UsePhaser },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::trial5UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::trial5UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::trial5UseCommunicator },
-
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::trial5ReachedHoleToPutGem },
- { {ACTION_DONE_ANIM, 32, 0, 0}, &Room::trial5CrewmanBeamedOut },
-
- { {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE1, 0}, &Room::trial5UseRedGem1OnHole1 },
- { {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE1, 0}, &Room::trial5UseRedGem2OnHole1 },
- { {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE1, 0}, &Room::trial5UseRedGem3OnHole1 },
- { {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE1, 0}, &Room::trial5UseGreenGem1OnHole1 },
- { {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE1, 0}, &Room::trial5UseGreenGem2OnHole1 },
- { {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE1, 0}, &Room::trial5UseGreenGem3OnHole1 },
- { {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE1, 0}, &Room::trial5UseBlueGem1OnHole1 },
- { {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE1, 0}, &Room::trial5UseBlueGem2OnHole1 },
- { {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE1, 0}, &Room::trial5UseBlueGem3OnHole1 },
-
- { {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE2, 0}, &Room::trial5UseRedGem1OnHole2 },
- { {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE2, 0}, &Room::trial5UseRedGem2OnHole2 },
- { {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE2, 0}, &Room::trial5UseRedGem3OnHole2 },
- { {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE2, 0}, &Room::trial5UseGreenGem1OnHole2 },
- { {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE2, 0}, &Room::trial5UseGreenGem2OnHole2 },
- { {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE2, 0}, &Room::trial5UseGreenGem3OnHole2 },
- { {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE2, 0}, &Room::trial5UseBlueGem1OnHole2 },
- { {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE2, 0}, &Room::trial5UseBlueGem2OnHole2 },
- { {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE2, 0}, &Room::trial5UseBlueGem3OnHole2 },
-
- { {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE3, 0}, &Room::trial5UseRedGem1OnHole3 },
- { {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE3, 0}, &Room::trial5UseRedGem2OnHole3 },
- { {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE3, 0}, &Room::trial5UseRedGem3OnHole3 },
- { {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE3, 0}, &Room::trial5UseGreenGem1OnHole3 },
- { {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE3, 0}, &Room::trial5UseGreenGem2OnHole3 },
- { {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE3, 0}, &Room::trial5UseGreenGem3OnHole3 },
- { {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE3, 0}, &Room::trial5UseBlueGem1OnHole3 },
- { {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE3, 0}, &Room::trial5UseBlueGem2OnHole3 },
- { {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE3, 0}, &Room::trial5UseBlueGem3OnHole3 },
-
- { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::trial5UseMedkitAnywhere },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::trial5Tick1 },
+ { {ACTION_TICK, 60, 0, 0, 0}, &Room::trial5Tick60 },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::trial5VlictAppeared },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_INTERFACE, 0, 0}, &Room::trial5WalkToInterface },
+ { {ACTION_WALK, HOTSPOT_INTERFACE, 0, 0, 0}, &Room::trial5WalkToInterface },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::trial5ReachedInterface },
+ { {ACTION_DONE_WALK, 30, 0, 0, 0}, &Room::trial5ReachedGem },
+ { {ACTION_DONE_ANIM, 31, 0, 0, 0}, &Room::trial5PickedUpGem },
+
+ { {ACTION_GET, OBJECT_REDGEM1, 0, 0, 0}, &Room::trial5GetRedGem1 },
+ { {ACTION_GET, OBJECT_REDGEM2, 0, 0, 0}, &Room::trial5GetRedGem2 },
+ { {ACTION_GET, OBJECT_REDGEM3, 0, 0, 0}, &Room::trial5GetRedGem3 },
+ { {ACTION_GET, OBJECT_GRNGEM1, 0, 0, 0}, &Room::trial5GetGreenGem1 },
+ { {ACTION_GET, OBJECT_GRNGEM2, 0, 0, 0}, &Room::trial5GetGreenGem2 },
+ { {ACTION_GET, OBJECT_GRNGEM3, 0, 0, 0}, &Room::trial5GetGreenGem3 },
+ { {ACTION_GET, OBJECT_BLUGEM1, 0, 0, 0}, &Room::trial5GetBlueGem1 },
+ { {ACTION_GET, OBJECT_BLUGEM2, 0, 0, 0}, &Room::trial5GetBlueGem2 },
+ { {ACTION_GET, OBJECT_BLUGEM3, 0, 0, 0}, &Room::trial5GetBlueGem3 },
+
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::trial5LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial5LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial5LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial5LookAtRedshirt },
+ { {ACTION_LOOK, OBJECT_BEAM, 0, 0, 0}, &Room::trial5LookAtBeam },
+ { {ACTION_LOOK, HOTSPOT_INTERFACE, 0, 0, 0}, &Room::trial5LookAtInterface },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_INTERFACE, 0, 0}, &Room::trial5UseSTricorderOnInterface },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_INTERFACE, 0, 0}, &Room::trial5UseMTricorderOnInterface },
+
+ { {ACTION_LOOK, OBJECT_REDGEM1, 0, 0, 0}, &Room::trial5LookAtRedGem1 },
+ { {ACTION_LOOK, OBJECT_REDGEM2, 0, 0, 0}, &Room::trial5LookAtRedGem2 },
+ { {ACTION_LOOK, OBJECT_REDGEM3, 0, 0, 0}, &Room::trial5LookAtRedGem3 },
+ { {ACTION_LOOK, OBJECT_GRNGEM1, 0, 0, 0}, &Room::trial5LookAtGreenGem1 },
+ { {ACTION_LOOK, OBJECT_GRNGEM2, 0, 0, 0}, &Room::trial5LookAtGreenGem2 },
+ { {ACTION_LOOK, OBJECT_GRNGEM3, 0, 0, 0}, &Room::trial5LookAtGreenGem3 },
+ { {ACTION_LOOK, OBJECT_BLUGEM1, 0, 0, 0}, &Room::trial5LookAtBlueGem1 },
+ { {ACTION_LOOK, OBJECT_BLUGEM2, 0, 0, 0}, &Room::trial5LookAtBlueGem2 },
+ { {ACTION_LOOK, OBJECT_BLUGEM3, 0, 0, 0}, &Room::trial5LookAtBlueGem3 },
+
+ { {ACTION_LOOK, HOTSPOT_HOLE1, 0, 0, 0}, &Room::trial5LookAtHole },
+ { {ACTION_LOOK, HOTSPOT_HOLE2, 0, 0, 0}, &Room::trial5LookAtHole },
+ { {ACTION_LOOK, HOTSPOT_HOLE3, 0, 0, 0}, &Room::trial5LookAtHole },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::trial5TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::trial5TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::trial5TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial5TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::trial5UsePhaser },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::trial5UsePhaser },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::trial5UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::trial5UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::trial5UseCommunicator },
+
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::trial5ReachedHoleToPutGem },
+ { {ACTION_DONE_ANIM, 32, 0, 0, 0}, &Room::trial5CrewmanBeamedOut },
+
+ { {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseRedGem1OnHole1 },
+ { {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseRedGem2OnHole1 },
+ { {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseRedGem3OnHole1 },
+ { {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseGreenGem1OnHole1 },
+ { {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseGreenGem2OnHole1 },
+ { {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseGreenGem3OnHole1 },
+ { {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseBlueGem1OnHole1 },
+ { {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseBlueGem2OnHole1 },
+ { {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseBlueGem3OnHole1 },
+
+ { {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseRedGem1OnHole2 },
+ { {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseRedGem2OnHole2 },
+ { {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseRedGem3OnHole2 },
+ { {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseGreenGem1OnHole2 },
+ { {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseGreenGem2OnHole2 },
+ { {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseGreenGem3OnHole2 },
+ { {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseBlueGem1OnHole2 },
+ { {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseBlueGem2OnHole2 },
+ { {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseBlueGem3OnHole2 },
+
+ { {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseRedGem1OnHole3 },
+ { {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseRedGem2OnHole3 },
+ { {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseRedGem3OnHole3 },
+ { {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseGreenGem1OnHole3 },
+ { {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseGreenGem2OnHole3 },
+ { {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseGreenGem3OnHole3 },
+ { {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseBlueGem1OnHole3 },
+ { {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseBlueGem2OnHole3 },
+ { {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseBlueGem3OnHole3 },
+
+ { {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::trial5UseMedkitAnywhere },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum trial5TextIds {
diff --git a/engines/startrek/rooms/tug0.cpp b/engines/startrek/rooms/tug0.cpp
index e34511172ce..6b9be975007 100644
--- a/engines/startrek/rooms/tug0.cpp
+++ b/engines/startrek/rooms/tug0.cpp
@@ -24,79 +24,79 @@
namespace StarTrek {
extern const RoomAction tug0ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::tug0Tick1 },
- { {ACTION_LOOK, 8, 0, 0}, &Room::tug0LookAtEngineer },
- { {ACTION_GET, 8, 0, 0}, &Room::tug0GetEngineer },
-
- { {ACTION_LOOK, 11, 0, 0}, &Room::tug0LookAtControls },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::tug0LookAtControls },
- { {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::tug0UseSpockOnControls },
- { {ACTION_FINISHED_WALKING, 16, 0, 0}, &Room::tug0SpockReachedControlsToExamine },
- { {ACTION_FINISHED_ANIMATION, 17, 0, 0}, &Room::tug0SpockExaminedControls },
- { {ACTION_USE, OBJECT_IRT, 0x21, 0}, &Room::tug0UseTransmogrifierWithoutBitOnControls },
- { {ACTION_USE, OBJECT_IRTWB, 0x21, 0}, &Room::tug0UseTransmogrifierWithBitOnControls },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::tug0SpockReachedControlsWithTransmogrifier },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::tug0SpockFinishedUsingTransmogrifier },
- { {ACTION_FINISHED_ANIMATION, 22, 0, 0}, &Room::tug0TransporterScreenFullyLit },
- { {ACTION_USE, OBJECT_IWIRSCRP, 0x21, 0}, &Room::tug0UseWireScrapsOnControls },
- { {ACTION_USE, OBJECT_IWIRING, 0x21, 0}, &Room::tug0UseWireOnControls },
- { {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::tug0SpockReachedControlsWithWire },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::tug0SpockFinishedUsingWire },
- { {ACTION_USE, OBJECT_IMEDKIT, 8, 0}, &Room::tug0UseMedkitOnEngineer },
- { {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::tug0MccoyReachedEngineer },
- { {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::tug0MccoyHealedEngineer },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::tug0EngineerGotUp },
- { {ACTION_GET, 9, 0, 0}, &Room::tug0GetTransmogrifier },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::tug0KirkReachedToolbox },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::tug0KirkGotTransmogrifier },
- { {ACTION_LOOK, 9, 0, 0}, &Room::tug0LookAtToolbox },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0}, &Room::tug0UsePhaserOnWelder },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0}, &Room::tug0UsePhaserOnWelder },
- { {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0}, &Room::tug0UseWelderOnWireScraps },
- { {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0}, &Room::tug0UseWelderOnMetalScraps },
- { {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0}, &Room::tug0UseCombBitOnTransmogrifier },
-
- { {ACTION_USE, OBJECT_SPOCK, 11, 0}, &Room::tug0UseTransporter },
- { {ACTION_USE, OBJECT_KIRK, 0x22, 0}, &Room::tug0UseTransporter },
- { {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::tug0SpockReachedControlsToTransport },
- { {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::tug0SpockPreparedTransporter },
- { {ACTION_FINISHED_WALKING, 20, 0, 0}, &Room::tug0SpockReachedTransporter },
- { {ACTION_FINISHED_ANIMATION, 21, 0, 0}, &Room::tug0FinishedTransporting },
-
- { {ACTION_USE, OBJECT_IBOMB, 0x22, 0}, &Room::tug0UseBombOnTransporter },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::tug0KirkReachedTransporter },
- { {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::tug0KirkPlacedBomb },
- { {ACTION_FINISHED_WALKING, 15, 0, 0}, &Room::tug0SpockReachedControlsForBomb },
- { {ACTION_FINISHED_ANIMATION, 19, 0, 0}, &Room::tug0SpockBeginsBeamingBomb },
- { {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::tug0SpockFinishesBeamingBomb },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::tug0BombExploded },
-
- { {ACTION_USE, OBJECT_MCCOY, 0x21, 0}, &Room::tug0UseMTricorderOnControls },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::tug0UseMTricorderOnControls },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::tug0UseSTricorderOnControls },
- { {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::tug0UseMTricorderOnEngineer },
- { {ACTION_FINISHED_WALKING, 24, 0, 0}, &Room::tug0MccoyReachedEngineerToScan },
- { {ACTION_FINISHED_ANIMATION, 25, 0, 0}, &Room::tug0MccoyFinishedScanningEngineer },
- { {ACTION_USE, OBJECT_SPOCK, 8, 0}, &Room::tug0UseSTricorderOnEngineer },
- { {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::tug0UseSTricorderOnEngineer },
- { {ACTION_WALK, 0x23, 0, 0}, &Room::tug0WalkToDoor },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::tug0LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::tug0LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::tug0LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::tug0LookAtRedshirt },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::tug0LookAtTransporter },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::tug0LookAtDoor },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::tug0TalkToKirk },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::tug0TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::tug0TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::tug0TalkToRedshirt },
- { {ACTION_TALK, 8, 0, 0}, &Room::tug0TalkToEngineer },
- { {ACTION_USE, OBJECT_ICOMM, 0, 0}, &Room::tug0UseCommunicator },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::tug0LookAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::tug0UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::tug0UseMTricorderAnywhere },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::tug0Tick1 },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::tug0LookAtEngineer },
+ { {ACTION_GET, 8, 0, 0, 0}, &Room::tug0GetEngineer },
+
+ { {ACTION_LOOK, 11, 0, 0, 0}, &Room::tug0LookAtControls },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::tug0LookAtControls },
+ { {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::tug0UseSpockOnControls },
+ { {ACTION_FINISHED_WALKING, 16, 0, 0, 0}, &Room::tug0SpockReachedControlsToExamine },
+ { {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0}, &Room::tug0SpockExaminedControls },
+ { {ACTION_USE, OBJECT_IRT, 0x21, 0, 0}, &Room::tug0UseTransmogrifierWithoutBitOnControls },
+ { {ACTION_USE, OBJECT_IRTWB, 0x21, 0, 0}, &Room::tug0UseTransmogrifierWithBitOnControls },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::tug0SpockReachedControlsWithTransmogrifier },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::tug0SpockFinishedUsingTransmogrifier },
+ { {ACTION_FINISHED_ANIMATION, 22, 0, 0, 0}, &Room::tug0TransporterScreenFullyLit },
+ { {ACTION_USE, OBJECT_IWIRSCRP, 0x21, 0, 0}, &Room::tug0UseWireScrapsOnControls },
+ { {ACTION_USE, OBJECT_IWIRING, 0x21, 0, 0}, &Room::tug0UseWireOnControls },
+ { {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::tug0SpockReachedControlsWithWire },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::tug0SpockFinishedUsingWire },
+ { {ACTION_USE, OBJECT_IMEDKIT, 8, 0, 0}, &Room::tug0UseMedkitOnEngineer },
+ { {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::tug0MccoyReachedEngineer },
+ { {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::tug0MccoyHealedEngineer },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::tug0EngineerGotUp },
+ { {ACTION_GET, 9, 0, 0, 0}, &Room::tug0GetTransmogrifier },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::tug0KirkReachedToolbox },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::tug0KirkGotTransmogrifier },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::tug0LookAtToolbox },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0, 0}, &Room::tug0UsePhaserOnWelder },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0, 0}, &Room::tug0UsePhaserOnWelder },
+ { {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0, 0}, &Room::tug0UseWelderOnWireScraps },
+ { {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0, 0}, &Room::tug0UseWelderOnMetalScraps },
+ { {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0, 0}, &Room::tug0UseCombBitOnTransmogrifier },
+
+ { {ACTION_USE, OBJECT_SPOCK, 11, 0, 0}, &Room::tug0UseTransporter },
+ { {ACTION_USE, OBJECT_KIRK, 0x22, 0, 0}, &Room::tug0UseTransporter },
+ { {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::tug0SpockReachedControlsToTransport },
+ { {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::tug0SpockPreparedTransporter },
+ { {ACTION_FINISHED_WALKING, 20, 0, 0, 0}, &Room::tug0SpockReachedTransporter },
+ { {ACTION_FINISHED_ANIMATION, 21, 0, 0, 0}, &Room::tug0FinishedTransporting },
+
+ { {ACTION_USE, OBJECT_IBOMB, 0x22, 0, 0}, &Room::tug0UseBombOnTransporter },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::tug0KirkReachedTransporter },
+ { {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::tug0KirkPlacedBomb },
+ { {ACTION_FINISHED_WALKING, 15, 0, 0, 0}, &Room::tug0SpockReachedControlsForBomb },
+ { {ACTION_FINISHED_ANIMATION, 19, 0, 0, 0}, &Room::tug0SpockBeginsBeamingBomb },
+ { {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::tug0SpockFinishesBeamingBomb },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::tug0BombExploded },
+
+ { {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0}, &Room::tug0UseMTricorderOnControls },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::tug0UseMTricorderOnControls },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::tug0UseSTricorderOnControls },
+ { {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::tug0UseMTricorderOnEngineer },
+ { {ACTION_FINISHED_WALKING, 24, 0, 0, 0}, &Room::tug0MccoyReachedEngineerToScan },
+ { {ACTION_FINISHED_ANIMATION, 25, 0, 0, 0}, &Room::tug0MccoyFinishedScanningEngineer },
+ { {ACTION_USE, OBJECT_SPOCK, 8, 0, 0}, &Room::tug0UseSTricorderOnEngineer },
+ { {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::tug0UseSTricorderOnEngineer },
+ { {ACTION_WALK, 0x23, 0, 0, 0}, &Room::tug0WalkToDoor },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::tug0LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug0LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug0LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug0LookAtRedshirt },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::tug0LookAtTransporter },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::tug0LookAtDoor },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::tug0TalkToKirk },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug0TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug0TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug0TalkToRedshirt },
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::tug0TalkToEngineer },
+ { {ACTION_USE, OBJECT_ICOMM, 0, 0, 0}, &Room::tug0UseCommunicator },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::tug0LookAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::tug0UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::tug0UseMTricorderAnywhere },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum tug0TextIds {
diff --git a/engines/startrek/rooms/tug1.cpp b/engines/startrek/rooms/tug1.cpp
index 91852832a77..dcf73fcbfe6 100644
--- a/engines/startrek/rooms/tug1.cpp
+++ b/engines/startrek/rooms/tug1.cpp
@@ -33,66 +33,66 @@ namespace StarTrek {
#define HOTSPOT_BRIGDOOR 0x25
extern const RoomAction tug1ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::tug1Tick1 },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::tug1UseSTricorderOnAnything },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::tug1LookAtBridgeDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::tug1UseSTricorderOnBridgeDoor },
- { {ACTION_USE, OBJECT_IPHASERS, 0x21, 0}, &Room::tug1UsePhaserOnBridgeDoor },
- { {ACTION_USE, OBJECT_IPHASERK, 0x21, 0}, &Room::tug1UsePhaserOnBridgeDoor },
- { {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::tug1KirkReachedFiringPosition },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::tug1KirkPulledOutPhaser },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::tug1KirkFinishedFiringPhaser },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::tug1TalkToSpock },
- { {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::tug1UseSTricorderOnJunkPile },
- { {ACTION_LOOK, 8, 0, 0}, &Room::tug1LookAtJunkPile },
- { {ACTION_GET, 8, 0, 0}, &Room::tug1GetJunkPile },
- { {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::tug1KirkReachedJunkPile },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::tug1KirkFinishedTakingJunkPile },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0}, &Room::tug1UsePhaserOnWelder },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0}, &Room::tug1UsePhaserOnWelder },
- { {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0}, &Room::tug1UseWelderOnWireScraps },
- { {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0}, &Room::tug1UseWelderOnMetalScraps },
- { {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0}, &Room::tug1UseCombBitOnTransmogrifier },
-
- { {ACTION_USE, OBJECT_IPWF, 0x22, 0}, &Room::tug1UsePhaserWelderOnBridgeDoor },
- { {ACTION_USE, OBJECT_IPWF, 0x21, 0}, &Room::tug1UsePhaserWelderOnBridgeDoor },
- { {ACTION_USE, OBJECT_IPWF, 0x20, 0}, &Room::tug1UsePhaserWelderOnBridgeDoorInLeftSpot },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::tug1KirkReachedBridgeDoorWithWelder },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::tug1KirkFinishedUsingWelder },
- { {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::tug1KirkReachedBridgeDoorWithWelderInLeftSpot },
- { {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::tug1KirkFinishedUsingWelderInLeftSpot },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::tug1LookAnywhere },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::tug1LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::tug1LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::tug1LookAtRedshirt },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::tug1TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::tug1TalkToRedshirt },
- { {ACTION_LOOK, 0x23, 0, 0}, &Room::tug1LookAtTerminal },
- { {ACTION_LOOK, 0x24, 0, 0}, &Room::tug1LookAtDebris },
- { {ACTION_LOOK, 0x25, 0, 0}, &Room::tug1LookAtBrigDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::tug1UseSTricorderOnBrigDoor },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::tug1TalkToKirk },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::tug1UseCommunicator },
- { {ACTION_WALK, 0x21, 0, 0}, &Room::tug1WalkToBridgeDoor },
- { {ACTION_FINISHED_WALKING, 10, 0, 0}, &Room::tug1KirkReachedBridgeDoor },
- { {ACTION_FINISHED_ANIMATION, 11, 0, 0}, &Room::tug1BridgeDoorOpened },
- { {ACTION_WALK, 0x25, 0, 0}, &Room::tug1WalkToBrigDoor },
- { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::tug1UseMTricorderAnywhere },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x25, 0}, &Room::tug1UseMTricorderOnBrigDoor },
- { {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::tug1UseSpockOnBridgeDoor },
- { {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::tug1UseSpockOnBridgeDoor },
- { {ACTION_USE, OBJECT_SPOCK, 0x22, 0}, &Room::tug1UseSpockOnBridgeDoor },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
- { {ACTION_USE, OBJECT_IMEDKIT, 0x20, 0}, &Room::tug1UseMedkitOnBridgeDoor },
- { {ACTION_USE, OBJECT_IMEDKIT, 0x21, 0}, &Room::tug1UseMedkitOnBridgeDoor },
- { {ACTION_USE, OBJECT_IMEDKIT, 0x22, 0}, &Room::tug1UseMedkitOnBridgeDoor },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::tug1Tick1 },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::tug1UseSTricorderOnAnything },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::tug1LookAtBridgeDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::tug1UseSTricorderOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IPHASERS, 0x21, 0, 0}, &Room::tug1UsePhaserOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IPHASERK, 0x21, 0, 0}, &Room::tug1UsePhaserOnBridgeDoor },
+ { {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::tug1KirkReachedFiringPosition },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::tug1KirkPulledOutPhaser },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::tug1KirkFinishedFiringPhaser },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug1TalkToSpock },
+ { {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::tug1UseSTricorderOnJunkPile },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::tug1LookAtJunkPile },
+ { {ACTION_GET, 8, 0, 0, 0}, &Room::tug1GetJunkPile },
+ { {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::tug1KirkReachedJunkPile },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::tug1KirkFinishedTakingJunkPile },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0, 0}, &Room::tug1UsePhaserOnWelder },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0, 0}, &Room::tug1UsePhaserOnWelder },
+ { {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0, 0}, &Room::tug1UseWelderOnWireScraps },
+ { {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0, 0}, &Room::tug1UseWelderOnMetalScraps },
+ { {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0, 0}, &Room::tug1UseCombBitOnTransmogrifier },
+
+ { {ACTION_USE, OBJECT_IPWF, 0x22, 0, 0}, &Room::tug1UsePhaserWelderOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IPWF, 0x21, 0, 0}, &Room::tug1UsePhaserWelderOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IPWF, 0x20, 0, 0}, &Room::tug1UsePhaserWelderOnBridgeDoorInLeftSpot },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::tug1KirkReachedBridgeDoorWithWelder },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::tug1KirkFinishedUsingWelder },
+ { {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::tug1KirkReachedBridgeDoorWithWelderInLeftSpot },
+ { {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::tug1KirkFinishedUsingWelderInLeftSpot },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::tug1LookAnywhere },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug1LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug1LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug1LookAtRedshirt },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug1TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug1TalkToRedshirt },
+ { {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::tug1LookAtTerminal },
+ { {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::tug1LookAtDebris },
+ { {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::tug1LookAtBrigDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::tug1UseSTricorderOnBrigDoor },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::tug1TalkToKirk },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::tug1UseCommunicator },
+ { {ACTION_WALK, 0x21, 0, 0, 0}, &Room::tug1WalkToBridgeDoor },
+ { {ACTION_FINISHED_WALKING, 10, 0, 0, 0}, &Room::tug1KirkReachedBridgeDoor },
+ { {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0}, &Room::tug1BridgeDoorOpened },
+ { {ACTION_WALK, 0x25, 0, 0, 0}, &Room::tug1WalkToBrigDoor },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::tug1UseMTricorderAnywhere },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x25, 0, 0}, &Room::tug1UseMTricorderOnBrigDoor },
+ { {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::tug1UseSpockOnBridgeDoor },
+ { {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::tug1UseSpockOnBridgeDoor },
+ { {ACTION_USE, OBJECT_SPOCK, 0x22, 0, 0}, &Room::tug1UseSpockOnBridgeDoor },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0x20, 0, 0}, &Room::tug1UseMedkitOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0x21, 0, 0}, &Room::tug1UseMedkitOnBridgeDoor },
+ { {ACTION_USE, OBJECT_IMEDKIT, 0x22, 0, 0}, &Room::tug1UseMedkitOnBridgeDoor },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum tug1TextIds {
diff --git a/engines/startrek/rooms/tug2.cpp b/engines/startrek/rooms/tug2.cpp
index 951eb4dc70d..a49c63441f2 100644
--- a/engines/startrek/rooms/tug2.cpp
+++ b/engines/startrek/rooms/tug2.cpp
@@ -40,95 +40,95 @@ namespace StarTrek {
#define GUARDSTAT_TIED 8
extern const RoomAction tug2ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::tug2Tick1 },
- { {ACTION_TICK, 60, 0, 0}, &Room::tug2Tick60 },
- { {ACTION_LOOK, 0x20, 0, 0}, &Room::tug2LookAtButton },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::tug2LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::tug2LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::tug2LookAtRedshirt },
- { {ACTION_GET, 11, 0, 0}, &Room::tug2GetBomb },
- { {ACTION_FINISHED_WALKING, 12, 0, 0}, &Room::tug2KirkReachedBomb },
- { {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::tug2KirkGotBomb },
- { {ACTION_LOOK, 11, 0, 0}, &Room::tug2LookAtBomb },
- { {ACTION_LOOK, 8, 0, 0}, &Room::tug2LookAtGuard1 },
- { {ACTION_LOOK, 9, 0, 0}, &Room::tug2LookAtGuard2 },
- { {ACTION_LOOK, 12, 0, 0}, &Room::tug2LookAtWires },
- { {ACTION_USE, OBJECT_ISTRICOR, 12, 0}, &Room::tug2UseSTricorderOnButton },
- { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::tug2UseSTricorderOnButton },
- { {ACTION_USE, OBJECT_MCCOY, 12, 0}, &Room::tug2UseMccoyOnWires },
- { {ACTION_USE, OBJECT_MCCOY, 11, 0}, &Room::tug2UseMccoyOnBomb },
- { {ACTION_USE, OBJECT_REDSHIRT, 12, 0}, &Room::tug2UseRedshirtOnWires },
- { {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::tug2RedshirtReachedWires },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::tug2RedshirtDefusedBomb },
- { {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::tug2RedshirtReturnedToPosition },
- { {ACTION_USE, OBJECT_KIRK, 12, 0}, &Room::tug2UseKirkOnWires },
- { {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::tug2KirkReachedWires },
- { {ACTION_USE, OBJECT_SPOCK, 12, 0}, &Room::tug2UseSpockOnWires },
- { {ACTION_FINISHED_WALKING, 9, 0, 0}, &Room::tug2SpockReachedWires },
- { {ACTION_FINISHED_WALKING, 11, 0, 0}, &Room::tug2SpockReturnedToPosition },
- { {ACTION_GET, 12, 0, 0}, &Room::tug2GetWires },
- { {ACTION_FINISHED_WALKING, 28, 0, 0}, &Room::tug2KirkReachedWiresToGet },
- { {ACTION_FINISHED_ANIMATION, 29, 0, 0}, &Room::tug2KirkGotWires },
- { {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::tug2UseKirkOnButton },
- { {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::tug2KirkReachedButton },
- { {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::tug2UseSpockOnButton },
- { {ACTION_FINISHED_WALKING, 16, 0, 0}, &Room::tug2SpockReachedButton },
- { {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::tug2UseMccoyOnButton },
- { {ACTION_FINISHED_WALKING, 18, 0, 0}, &Room::tug2MccoyReachedButton },
- { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::tug2UseRedshirtOnButton },
- { {ACTION_FINISHED_WALKING, 20, 0, 0}, &Room::tug2RedshirtReachedButton },
- { {ACTION_FINISHED_ANIMATION, 15, 0, 0}, &Room::tug2TurnedOffForceField },
- { {ACTION_FINISHED_ANIMATION, 17, 0, 0}, &Room::tug2TurnedOffForceField },
- { {ACTION_FINISHED_ANIMATION, 19, 0, 0}, &Room::tug2TurnedOffForceField },
- { {ACTION_FINISHED_ANIMATION, 21, 0, 0}, &Room::tug2TurnedOffForceField },
- { {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::tug2PrisonersDead },
- { {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::tug2PrisonersReleased },
- { {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::tug2UsePhaserOnBrig },
- { {ACTION_USE, OBJECT_IPHASERK, 10, 0}, &Room::tug2UsePhaserOnBrig },
- { {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::tug2UseStunPhaserOnGuard1 },
- { {ACTION_FINISHED_ANIMATION, 22, 0, 0}, &Room::tug2KirkShootGuard1 },
- { {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::tug2UseStunPhaserOnGuard2 },
- { {ACTION_FINISHED_ANIMATION, 23, 0, 0}, &Room::tug2KirkShootGuard2 },
- { {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::tug2UseKillPhaserOnGuard1 },
- { {ACTION_FINISHED_ANIMATION, 24, 0, 0}, &Room::tug2KirkKillGuard1 },
- { {ACTION_USE, OBJECT_IPHASERK, 9, 0}, &Room::tug2UseKillPhaserOnGuard2 },
- { {ACTION_FINISHED_ANIMATION, 25, 0, 0}, &Room::tug2KirkKillGuard2 },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0}, &Room::tug2UsePhaserOnWelder },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0}, &Room::tug2UsePhaserOnWelder },
- { {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0}, &Room::tug2UseWelderOnWireScraps },
- { {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0}, &Room::tug2UseWelderOnMetalScraps },
- { {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0}, &Room::tug2UseCombBitOnTransmogrifier },
-
- { {ACTION_FINISHED_ANIMATION, 26, 0, 0}, &Room::tug2ShotByElasi },
- { {ACTION_FINISHED_ANIMATION, 27, 0, 0}, &Room::tug2ShotByElasi },
- { {ACTION_WALK, 0x21, 0, 0}, &Room::tug2WalkToDoor },
- { {ACTION_LOOK, 0x21, 0, 0}, &Room::tug2LookAtDoor },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::tug2LookAtKirk },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::tug2TalkToKirk },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::tug2TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::tug2TalkToRedshirt },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::tug2TalkToSpock },
- { {ACTION_USE, OBJECT_ICOMM, 0, 0}, &Room::tug2UseCommunicator },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::tug2Timer0Expired },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::tug2Timer2Expired },
- { {ACTION_USE, OBJECT_ISTRICOR, 11, 0}, &Room::tug2UseSTricorderOnBomb },
- { {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::tug2UseMTricorderOnGuard1 },
- { {ACTION_USE, OBJECT_IMTRICOR, 9, 0}, &Room::tug2UseMTricorderOnGuard2 },
- { {ACTION_TALK, 8, 0, 0}, &Room::tug2TalkToGuard1 },
- { {ACTION_TALK, 9, 0, 0}, &Room::tug2TalkToGuard2 },
- { {ACTION_USE, OBJECT_IMEDKIT, 11, 0}, &Room::tug2UseMedkitOnBomb },
- { {ACTION_USE, OBJECT_IMEDKIT, 8, 0}, &Room::tug2UseMedkitOnGuard1 },
- { {ACTION_USE, OBJECT_IMEDKIT, 9, 0}, &Room::tug2UseMedkitOnGuard2 },
- { {ACTION_LOOK, 10, 0, 0}, &Room::tug2LookAnywhere },
- { {ACTION_LOOK, 0x22, 0, 0}, &Room::tug2LookAnywhere },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::tug2LookAnywhere },
- { {ACTION_TALK, 10, 0, 0}, &Room::tug2TalkToBrig },
- { {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::tug2UseMTricorderOnBrig },
- { {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0}, &Room::tug2UseMTricorderOnOpenBrig },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::tug2UsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::tug2UsePhaserAnywhere },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::tug2Tick1 },
+ { {ACTION_TICK, 60, 0, 0, 0}, &Room::tug2Tick60 },
+ { {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::tug2LookAtButton },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug2LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug2LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug2LookAtRedshirt },
+ { {ACTION_GET, 11, 0, 0, 0}, &Room::tug2GetBomb },
+ { {ACTION_FINISHED_WALKING, 12, 0, 0, 0}, &Room::tug2KirkReachedBomb },
+ { {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::tug2KirkGotBomb },
+ { {ACTION_LOOK, 11, 0, 0, 0}, &Room::tug2LookAtBomb },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::tug2LookAtGuard1 },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::tug2LookAtGuard2 },
+ { {ACTION_LOOK, 12, 0, 0, 0}, &Room::tug2LookAtWires },
+ { {ACTION_USE, OBJECT_ISTRICOR, 12, 0, 0}, &Room::tug2UseSTricorderOnButton },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::tug2UseSTricorderOnButton },
+ { {ACTION_USE, OBJECT_MCCOY, 12, 0, 0}, &Room::tug2UseMccoyOnWires },
+ { {ACTION_USE, OBJECT_MCCOY, 11, 0, 0}, &Room::tug2UseMccoyOnBomb },
+ { {ACTION_USE, OBJECT_REDSHIRT, 12, 0, 0}, &Room::tug2UseRedshirtOnWires },
+ { {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::tug2RedshirtReachedWires },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::tug2RedshirtDefusedBomb },
+ { {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::tug2RedshirtReturnedToPosition },
+ { {ACTION_USE, OBJECT_KIRK, 12, 0, 0}, &Room::tug2UseKirkOnWires },
+ { {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::tug2KirkReachedWires },
+ { {ACTION_USE, OBJECT_SPOCK, 12, 0, 0}, &Room::tug2UseSpockOnWires },
+ { {ACTION_FINISHED_WALKING, 9, 0, 0, 0}, &Room::tug2SpockReachedWires },
+ { {ACTION_FINISHED_WALKING, 11, 0, 0, 0}, &Room::tug2SpockReturnedToPosition },
+ { {ACTION_GET, 12, 0, 0, 0}, &Room::tug2GetWires },
+ { {ACTION_FINISHED_WALKING, 28, 0, 0, 0}, &Room::tug2KirkReachedWiresToGet },
+ { {ACTION_FINISHED_ANIMATION, 29, 0, 0, 0}, &Room::tug2KirkGotWires },
+ { {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::tug2UseKirkOnButton },
+ { {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::tug2KirkReachedButton },
+ { {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::tug2UseSpockOnButton },
+ { {ACTION_FINISHED_WALKING, 16, 0, 0, 0}, &Room::tug2SpockReachedButton },
+ { {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::tug2UseMccoyOnButton },
+ { {ACTION_FINISHED_WALKING, 18, 0, 0, 0}, &Room::tug2MccoyReachedButton },
+ { {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::tug2UseRedshirtOnButton },
+ { {ACTION_FINISHED_WALKING, 20, 0, 0, 0}, &Room::tug2RedshirtReachedButton },
+ { {ACTION_FINISHED_ANIMATION, 15, 0, 0, 0}, &Room::tug2TurnedOffForceField },
+ { {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0}, &Room::tug2TurnedOffForceField },
+ { {ACTION_FINISHED_ANIMATION, 19, 0, 0, 0}, &Room::tug2TurnedOffForceField },
+ { {ACTION_FINISHED_ANIMATION, 21, 0, 0, 0}, &Room::tug2TurnedOffForceField },
+ { {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::tug2PrisonersDead },
+ { {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::tug2PrisonersReleased },
+ { {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::tug2UsePhaserOnBrig },
+ { {ACTION_USE, OBJECT_IPHASERK, 10, 0, 0}, &Room::tug2UsePhaserOnBrig },
+ { {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::tug2UseStunPhaserOnGuard1 },
+ { {ACTION_FINISHED_ANIMATION, 22, 0, 0, 0}, &Room::tug2KirkShootGuard1 },
+ { {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::tug2UseStunPhaserOnGuard2 },
+ { {ACTION_FINISHED_ANIMATION, 23, 0, 0, 0}, &Room::tug2KirkShootGuard2 },
+ { {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::tug2UseKillPhaserOnGuard1 },
+ { {ACTION_FINISHED_ANIMATION, 24, 0, 0, 0}, &Room::tug2KirkKillGuard1 },
+ { {ACTION_USE, OBJECT_IPHASERK, 9, 0, 0}, &Room::tug2UseKillPhaserOnGuard2 },
+ { {ACTION_FINISHED_ANIMATION, 25, 0, 0, 0}, &Room::tug2KirkKillGuard2 },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0, 0}, &Room::tug2UsePhaserOnWelder },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0, 0}, &Room::tug2UsePhaserOnWelder },
+ { {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0, 0}, &Room::tug2UseWelderOnWireScraps },
+ { {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0, 0}, &Room::tug2UseWelderOnMetalScraps },
+ { {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0, 0}, &Room::tug2UseCombBitOnTransmogrifier },
+
+ { {ACTION_FINISHED_ANIMATION, 26, 0, 0, 0}, &Room::tug2ShotByElasi },
+ { {ACTION_FINISHED_ANIMATION, 27, 0, 0, 0}, &Room::tug2ShotByElasi },
+ { {ACTION_WALK, 0x21, 0, 0, 0}, &Room::tug2WalkToDoor },
+ { {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::tug2LookAtDoor },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::tug2LookAtKirk },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::tug2TalkToKirk },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug2TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug2TalkToRedshirt },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug2TalkToSpock },
+ { {ACTION_USE, OBJECT_ICOMM, 0, 0, 0}, &Room::tug2UseCommunicator },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::tug2Timer0Expired },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::tug2Timer2Expired },
+ { {ACTION_USE, OBJECT_ISTRICOR, 11, 0, 0}, &Room::tug2UseSTricorderOnBomb },
+ { {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::tug2UseMTricorderOnGuard1 },
+ { {ACTION_USE, OBJECT_IMTRICOR, 9, 0, 0}, &Room::tug2UseMTricorderOnGuard2 },
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::tug2TalkToGuard1 },
+ { {ACTION_TALK, 9, 0, 0, 0}, &Room::tug2TalkToGuard2 },
+ { {ACTION_USE, OBJECT_IMEDKIT, 11, 0, 0}, &Room::tug2UseMedkitOnBomb },
+ { {ACTION_USE, OBJECT_IMEDKIT, 8, 0, 0}, &Room::tug2UseMedkitOnGuard1 },
+ { {ACTION_USE, OBJECT_IMEDKIT, 9, 0, 0}, &Room::tug2UseMedkitOnGuard2 },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::tug2LookAnywhere },
+ { {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::tug2LookAnywhere },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::tug2LookAnywhere },
+ { {ACTION_TALK, 10, 0, 0, 0}, &Room::tug2TalkToBrig },
+ { {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::tug2UseMTricorderOnBrig },
+ { {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0, 0}, &Room::tug2UseMTricorderOnOpenBrig },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::tug2UsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::tug2UsePhaserAnywhere },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum tug2TextIds {
diff --git a/engines/startrek/rooms/tug3.cpp b/engines/startrek/rooms/tug3.cpp
index 0cbcce05da3..9b6aa2275f5 100644
--- a/engines/startrek/rooms/tug3.cpp
+++ b/engines/startrek/rooms/tug3.cpp
@@ -39,41 +39,41 @@ namespace StarTrek {
#define GUARDSTAT_TIED 8
extern const RoomAction tug3ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::tug3Tick1 },
- { {ACTION_TICK, 40, 0, 0}, &Room::tug3Tick40 },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::tug3LookAnywhere },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::tug3UsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::tug3UsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::tug3UseStunPhaserOnElasi1 },
- { {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::tug3UseStunPhaserOnElasi2 },
- { {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::tug3UseStunPhaserOnElasi3 },
- { {ACTION_USE, OBJECT_IPHASERS, 11, 0}, &Room::tug3UseStunPhaserOnElasi4 },
- { {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::tug3UseKillPhaserOnElasi1 },
- { {ACTION_USE, OBJECT_IPHASERK, 9, 0}, &Room::tug3UseKillPhaserOnElasi2 },
- { {ACTION_USE, OBJECT_IPHASERK, 10, 0}, &Room::tug3UseKillPhaserOnElasi3 },
- { {ACTION_USE, OBJECT_IPHASERK, 11, 0}, &Room::tug3UseKillPhaserOnElasi4 },
- { {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::tug3ElasiStunnedOrKilled },
- { {ACTION_TALK, 8, 0, 0}, &Room::tug3TalkToElasi1 },
- { {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::tug3Elasi1DrewPhaser },
- { {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::tug3Elasi1ShotConsole },
- { {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::tug3Elasi1DrewPhaser2 },
- { {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::tug3Elasi1ShotConsoleAndSurrenders },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::tug3LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::tug3LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::tug3LookAtRedshirt },
- { {ACTION_LOOK, 8, 0, 0}, &Room::tug3LookAtElasi1 },
- { {ACTION_LOOK, 9, 0, 0}, &Room::tug3LookAtElasi2 },
- { {ACTION_LOOK, 10, 0, 0}, &Room::tug3LookAtElasi3 },
- { {ACTION_LOOK, 11, 0, 0}, &Room::tug3LookAtElasi4 },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::tug3TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::tug3TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::tug3TalkToRedshirt },
- { {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::tug3UseCommunicator },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::tug3Timer0Expired },
- { {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::tug3AllCrewmenDead },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::tug3Timer1Expired },
- { {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::tug3SecurityTeamBeamedIn },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::tug3Tick1 },
+ { {ACTION_TICK, 40, 0, 0, 0}, &Room::tug3Tick40 },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::tug3LookAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::tug3UsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::tug3UsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::tug3UseStunPhaserOnElasi1 },
+ { {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::tug3UseStunPhaserOnElasi2 },
+ { {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::tug3UseStunPhaserOnElasi3 },
+ { {ACTION_USE, OBJECT_IPHASERS, 11, 0, 0}, &Room::tug3UseStunPhaserOnElasi4 },
+ { {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::tug3UseKillPhaserOnElasi1 },
+ { {ACTION_USE, OBJECT_IPHASERK, 9, 0, 0}, &Room::tug3UseKillPhaserOnElasi2 },
+ { {ACTION_USE, OBJECT_IPHASERK, 10, 0, 0}, &Room::tug3UseKillPhaserOnElasi3 },
+ { {ACTION_USE, OBJECT_IPHASERK, 11, 0, 0}, &Room::tug3UseKillPhaserOnElasi4 },
+ { {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::tug3ElasiStunnedOrKilled },
+ { {ACTION_TALK, 8, 0, 0, 0}, &Room::tug3TalkToElasi1 },
+ { {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::tug3Elasi1DrewPhaser },
+ { {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::tug3Elasi1ShotConsole },
+ { {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::tug3Elasi1DrewPhaser2 },
+ { {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::tug3Elasi1ShotConsoleAndSurrenders },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug3LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug3LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug3LookAtRedshirt },
+ { {ACTION_LOOK, 8, 0, 0, 0}, &Room::tug3LookAtElasi1 },
+ { {ACTION_LOOK, 9, 0, 0, 0}, &Room::tug3LookAtElasi2 },
+ { {ACTION_LOOK, 10, 0, 0, 0}, &Room::tug3LookAtElasi3 },
+ { {ACTION_LOOK, 11, 0, 0, 0}, &Room::tug3LookAtElasi4 },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug3TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug3TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug3TalkToRedshirt },
+ { {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::tug3UseCommunicator },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::tug3Timer0Expired },
+ { {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::tug3AllCrewmenDead },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::tug3Timer1Expired },
+ { {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::tug3SecurityTeamBeamedIn },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum tug3TextIds {
diff --git a/engines/startrek/rooms/veng0.cpp b/engines/startrek/rooms/veng0.cpp
index 0a55a605058..534a94a9826 100644
--- a/engines/startrek/rooms/veng0.cpp
+++ b/engines/startrek/rooms/veng0.cpp
@@ -37,73 +37,73 @@
namespace StarTrek {
extern const RoomAction veng0ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::veng0Tick1 },
- { {ACTION_TICK, 10, 0, 0}, &Room::veng0Tick10 },
- { {ACTION_TICK, 50, 0, 0}, &Room::veng0Tick50 },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::veng0TouchedDoor },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_COMPUTER_BANK, 0}, &Room::veng0UseSTricorderOnComputerBank },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_CHAIR, 0}, &Room::veng0UseSTricorderOnChair },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_VIEWSCREEN, 0}, &Room::veng0UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::veng0UseSTricorderAnywhere },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_BEAM, 0}, &Room::veng0UseMccoyOnBeam },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_BEAM, 0}, &Room::veng0UseSTricorderOnBeam },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_BEAM, 0}, &Room::veng0UseSTricorderOnBeam },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_BEAM, 0}, &Room::veng0UseRedshirtOnBeam },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_HELM_CONSOLE, 0}, &Room::veng0UseSpockOnConsole },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_NAV_CONSOLE, 0}, &Room::veng0UseSpockOnConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_HELM_CONSOLE, 0}, &Room::veng0UseSpockOnConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NAV_CONSOLE, 0}, &Room::veng0UseSpockOnConsole },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_HELM_CONSOLE, 0}, &Room::veng0UseRedshirtOnConsole },
- { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_NAV_CONSOLE, 0}, &Room::veng0UseRedshirtOnConsole },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_BEAM, 0}, &Room::veng0UsePhaserOnBeam },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_BEAM, 0}, &Room::veng0UsePhaserOnBeam },
-
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_PATTERSON, 0}, &Room::veng0UseMccoyOnDeadCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_PATTERSON, 0}, &Room::veng0UseMccoyOnDeadCrewman },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_CREWMAN_2, 0}, &Room::veng0UseMccoyOnDeadCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, HOTSPOT_CREWMAN_2, 0}, &Room::veng0UseMccoyOnDeadCrewman },
- { {ACTION_USE, OBJECT_IMEDKIT, HOTSPOT_PATTERSON, 0}, &Room::veng0UseMccoyOnDeadCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_CREWMAN_2, 0}, &Room::veng0UseMccoyOnDeadCrewman },
-
- { {ACTION_USE, OBJECT_ILMD, OBJECT_BEAM, 0}, &Room::veng0UseSawOnBeam },
- { {ACTION_DONE_WALK, 1, 0, 0}, &Room::veng0KirkReachedSaw },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::veng0Timer0Expired },
- { {ACTION_DONE_ANIM, 2, 0, 0}, &Room::veng0DoneCuttingBeam },
-
- { {ACTION_GET, OBJECT_BEAM, 0, 0}, &Room::veng0GetBeam },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::veng0TalkToKirk },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::veng0TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::veng0TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng0TalkToRedshirt },
- { {ACTION_LOOK, HOTSPOT_PATTERSON, 0, 0}, &Room::veng0LookAtPatterson },
- { {ACTION_LOOK, HOTSPOT_CREWMAN_2, 0, 0}, &Room::veng0LookAtDeadCrewman2 },
- { {ACTION_LOOK, HOTSPOT_COMPUTER_BANK, 0, 0}, &Room::veng0LookAtComputerBank },
- { {ACTION_LOOK, HOTSPOT_CHAIR, 0, 0}, &Room::veng0LookAtChair },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::veng0LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::veng0LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::veng0LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng0LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_VIEWSCREEN, 0, 0}, &Room::veng0LookAtViewscreen },
- { {ACTION_LOOK, HOTSPOT_HELM_CONSOLE, 0, 0}, &Room::veng0LookAtHelmConsole },
- { {ACTION_LOOK, HOTSPOT_NAV_CONSOLE, 0, 0}, &Room::veng0LookAtNavConsole },
- { {ACTION_LOOK, OBJECT_BEAM, 0, 0}, &Room::veng0LookAtBeam },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::veng0LookAnywhere },
- { {ACTION_LOOK, HOTSPOT_CREWMAN_1, 0, 0}, &Room::veng0LookAtDeadCrewman1 },
-
- { {ACTION_USE, OBJECT_IMEDKIT, HOTSPOT_CREWMAN_1, 0}, &Room::veng0UseMccoyOnLivingCrewman },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_CREWMAN_1, 0}, &Room::veng0UseMccoyOnLivingCrewman },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_CREWMAN_1, 0}, &Room::veng0UseMccoyOnLivingCrewman },
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::veng0MccoyReachedCrewman },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::veng0MccoyScannedCrewman },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::veng0Tick1 },
+ { {ACTION_TICK, 10, 0, 0, 0}, &Room::veng0Tick10 },
+ { {ACTION_TICK, 50, 0, 0, 0}, &Room::veng0Tick50 },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::veng0TouchedDoor },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_COMPUTER_BANK, 0, 0}, &Room::veng0UseSTricorderOnComputerBank },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_CHAIR, 0, 0}, &Room::veng0UseSTricorderOnChair },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_VIEWSCREEN, 0, 0}, &Room::veng0UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::veng0UseSTricorderAnywhere },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_BEAM, 0, 0}, &Room::veng0UseMccoyOnBeam },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_BEAM, 0, 0}, &Room::veng0UseSTricorderOnBeam },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_BEAM, 0, 0}, &Room::veng0UseSTricorderOnBeam },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_BEAM, 0, 0}, &Room::veng0UseRedshirtOnBeam },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_HELM_CONSOLE, 0, 0}, &Room::veng0UseSpockOnConsole },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_NAV_CONSOLE, 0, 0}, &Room::veng0UseSpockOnConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_HELM_CONSOLE, 0, 0}, &Room::veng0UseSpockOnConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NAV_CONSOLE, 0, 0}, &Room::veng0UseSpockOnConsole },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_HELM_CONSOLE, 0, 0}, &Room::veng0UseRedshirtOnConsole },
+ { {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_NAV_CONSOLE, 0, 0}, &Room::veng0UseRedshirtOnConsole },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_BEAM, 0, 0}, &Room::veng0UsePhaserOnBeam },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_BEAM, 0, 0}, &Room::veng0UsePhaserOnBeam },
+
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_PATTERSON, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_PATTERSON, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_CREWMAN_2, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, HOTSPOT_CREWMAN_2, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+ { {ACTION_USE, OBJECT_IMEDKIT, HOTSPOT_PATTERSON, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_CREWMAN_2, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+
+ { {ACTION_USE, OBJECT_ILMD, OBJECT_BEAM, 0, 0}, &Room::veng0UseSawOnBeam },
+ { {ACTION_DONE_WALK, 1, 0, 0, 0}, &Room::veng0KirkReachedSaw },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::veng0Timer0Expired },
+ { {ACTION_DONE_ANIM, 2, 0, 0, 0}, &Room::veng0DoneCuttingBeam },
+
+ { {ACTION_GET, OBJECT_BEAM, 0, 0, 0}, &Room::veng0GetBeam },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::veng0TalkToKirk },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng0TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng0TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng0TalkToRedshirt },
+ { {ACTION_LOOK, HOTSPOT_PATTERSON, 0, 0, 0}, &Room::veng0LookAtPatterson },
+ { {ACTION_LOOK, HOTSPOT_CREWMAN_2, 0, 0, 0}, &Room::veng0LookAtDeadCrewman2 },
+ { {ACTION_LOOK, HOTSPOT_COMPUTER_BANK, 0, 0, 0}, &Room::veng0LookAtComputerBank },
+ { {ACTION_LOOK, HOTSPOT_CHAIR, 0, 0, 0}, &Room::veng0LookAtChair },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::veng0LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng0LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng0LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng0LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_VIEWSCREEN, 0, 0, 0}, &Room::veng0LookAtViewscreen },
+ { {ACTION_LOOK, HOTSPOT_HELM_CONSOLE, 0, 0, 0}, &Room::veng0LookAtHelmConsole },
+ { {ACTION_LOOK, HOTSPOT_NAV_CONSOLE, 0, 0, 0}, &Room::veng0LookAtNavConsole },
+ { {ACTION_LOOK, OBJECT_BEAM, 0, 0, 0}, &Room::veng0LookAtBeam },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::veng0LookAnywhere },
+ { {ACTION_LOOK, HOTSPOT_CREWMAN_1, 0, 0, 0}, &Room::veng0LookAtDeadCrewman1 },
+
+ { {ACTION_USE, OBJECT_IMEDKIT, HOTSPOT_CREWMAN_1, 0, 0}, &Room::veng0UseMccoyOnLivingCrewman },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_CREWMAN_1, 0, 0}, &Room::veng0UseMccoyOnLivingCrewman },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_CREWMAN_1, 0, 0}, &Room::veng0UseMccoyOnLivingCrewman },
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::veng0MccoyReachedCrewman },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::veng0MccoyScannedCrewman },
// Common code
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_LOOK, OBJECT_IHYPO, 0, 0}, &Room::vengaLookAtHypo },
- { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_LOOK, OBJECT_IHYPO, 0, 0, 0}, &Room::vengaLookAtHypo },
+ { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum veng0TextIds {
diff --git a/engines/startrek/rooms/veng1.cpp b/engines/startrek/rooms/veng1.cpp
index 10eb9ca51db..390e34e6183 100644
--- a/engines/startrek/rooms/veng1.cpp
+++ b/engines/startrek/rooms/veng1.cpp
@@ -40,91 +40,91 @@
namespace StarTrek {
extern const RoomAction veng1ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::veng1Tick1 },
-
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng1WalkToDoor },
- { {ACTION_WALK, OBJECT_DOOR, 0, 0}, &Room::veng1WalkToDoor },
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::veng1TouchedHotspot0 },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::veng1ReachedDoor },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::veng1ReachedDoor },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::veng1TouchedTurbolift },
-
- { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0}, &Room::veng1LookAtDeadGuy },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_VENT, 0}, &Room::veng1UseSTricorderOnVent },
- { {ACTION_LOOK, HOTSPOT_VENT, 0, 0}, &Room::veng1UseSTricorderOnVent },
-
- { {ACTION_LOOK, OBJECT_PANEL, 0, 0}, &Room::veng1LookAtPanel },
- { {ACTION_LOOK, HOTSPOT_PANEL, 0, 0}, &Room::veng1LookAtPanel },
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::veng1LookAtDoor },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::veng1LookAtDoor },
- { {ACTION_LOOK, OBJECT_SAW, 0, 0}, &Room::veng1LookAtSaw },
- { {ACTION_LOOK, OBJECT_DEBRIS, 0, 0}, &Room::veng1LookAtDebris },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::veng1LookAtKirk },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::veng1LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::veng1LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng1LookAtRedshirt },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::veng1LookAnywhere },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::veng1TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::veng1TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::veng1TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng1TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DOOR, 0}, &Room::veng1UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0}, &Room::veng1UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DOOR, 0}, &Room::veng1UsePhaserOnDoor },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0}, &Room::veng1UsePhaserOnDoor },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_PANEL, 0}, &Room::veng1UsePhaserOnPanel },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_PANEL, 0}, &Room::veng1UsePhaserOnPanel }, // BUGFIX: IPHASERK, not IPHASERS again
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0}, &Room::veng1UsePhaserOnPanel },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0}, &Room::veng1UsePhaserOnPanel },
- { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_PANEL, 0}, &Room::veng1UsePhaserOnPanel },
- { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_PANEL, 0}, &Room::veng1UsePhaserOnPanel },
-
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SAW, 0}, &Room::veng1UseSTricorderOnSaw },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0}, &Room::veng1UseSTricorderOnDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR, 0}, &Room::veng1UseSTricorderOnDoor },
-
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_PANEL, 0}, &Room::veng1UseSTricorderOnPanel },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS, 0}, &Room::veng1UseSTricorderOnPanel },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0}, &Room::veng1UseSTricorderOnPanel },
-
- { {ACTION_GET, OBJECT_PANEL, 0, 0}, &Room::veng1GetPanel },
- { {ACTION_USE, OBJECT_KIRK, OBJECT_PANEL, 0}, &Room::veng1GetPanel },
- { {ACTION_DONE_WALK, 9, 0, 0}, &Room::veng1KirkReachedPanel },
- { {ACTION_DONE_ANIM, 10, 0, 0}, &Room::veng1KirkAccessedPanel },
-
- { {ACTION_USE, OBJECT_ILMD, HOTSPOT_PANEL, 0}, &Room::veng1UseSawOnPanel },
- { {ACTION_USE, OBJECT_ILMD, OBJECT_DOOR, 0}, &Room::veng1UseSawOnDoor },
- { {ACTION_USE, OBJECT_ILMD, HOTSPOT_DOOR, 0}, &Room::veng1UseSawOnDoor },
- { {ACTION_USE, OBJECT_IDRILL, OBJECT_DEBRIS, 0}, &Room::veng1UseDrillOnDebris },
- { {ACTION_USE, OBJECT_ILMD, OBJECT_DEBRIS, 0}, &Room::veng1UseSawOnDebris },
-
- { {ACTION_USE, OBJECT_IDRILL, OBJECT_PANEL, 0}, &Room::veng1UseDrillOnPanel },
- { {ACTION_DONE_WALK, 5, 0, 0}, &Room::veng1KirkReachedPanelToDrill },
- { {ACTION_DONE_ANIM, 6, 0, 0}, &Room::veng1KirkDoneDrillingPanel },
- { {ACTION_USE, OBJECT_IHYPO, OBJECT_DEBRIS, 0}, &Room::veng1UseHypoOnDebris },
- { {ACTION_DONE_WALK, 7, 0, 0}, &Room::veng1KirkReachedDebris },
- { {ACTION_DONE_ANIM, 8, 0, 0}, &Room::veng1KirkUsedHypoOnDebris },
-
- { {ACTION_GET, OBJECT_SAW, 0, 0}, &Room::veng1GetSaw },
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::veng1ReachedSaw },
- { {ACTION_DONE_ANIM, 4, 0, 0}, &Room::veng1PickedUpSaw },
- { {ACTION_GET, OBJECT_DEBRIS, 0, 0}, &Room::veng1GetDebris },
- { {ACTION_DONE_WALK, 11, 0, 0}, &Room::veng1ReachedDebrisToGet },
- { {ACTION_DONE_ANIM, 12, 0, 0}, &Room::veng1TriedToGetDebris },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::veng1Tick1 },
+
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng1WalkToDoor },
+ { {ACTION_WALK, OBJECT_DOOR, 0, 0, 0}, &Room::veng1WalkToDoor },
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::veng1TouchedHotspot0 },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::veng1ReachedDoor },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::veng1ReachedDoor },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::veng1TouchedTurbolift },
+
+ { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0, 0}, &Room::veng1LookAtDeadGuy },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_VENT, 0, 0}, &Room::veng1UseSTricorderOnVent },
+ { {ACTION_LOOK, HOTSPOT_VENT, 0, 0, 0}, &Room::veng1UseSTricorderOnVent },
+
+ { {ACTION_LOOK, OBJECT_PANEL, 0, 0, 0}, &Room::veng1LookAtPanel },
+ { {ACTION_LOOK, HOTSPOT_PANEL, 0, 0, 0}, &Room::veng1LookAtPanel },
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::veng1LookAtDoor },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng1LookAtDoor },
+ { {ACTION_LOOK, OBJECT_SAW, 0, 0, 0}, &Room::veng1LookAtSaw },
+ { {ACTION_LOOK, OBJECT_DEBRIS, 0, 0, 0}, &Room::veng1LookAtDebris },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::veng1LookAtKirk },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng1LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng1LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng1LookAtRedshirt },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::veng1LookAnywhere },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::veng1TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng1TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng1TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng1TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DOOR, 0, 0}, &Room::veng1UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0, 0}, &Room::veng1UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DOOR, 0, 0}, &Room::veng1UsePhaserOnDoor },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0, 0}, &Room::veng1UsePhaserOnDoor },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_PANEL, 0, 0}, &Room::veng1UsePhaserOnPanel },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_PANEL, 0, 0}, &Room::veng1UsePhaserOnPanel }, // BUGFIX: IPHASERK, not IPHASERS again
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0, 0}, &Room::veng1UsePhaserOnPanel },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0, 0}, &Room::veng1UsePhaserOnPanel },
+ { {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_PANEL, 0, 0}, &Room::veng1UsePhaserOnPanel },
+ { {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_PANEL, 0, 0}, &Room::veng1UsePhaserOnPanel },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SAW, 0, 0}, &Room::veng1UseSTricorderOnSaw },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0, 0}, &Room::veng1UseSTricorderOnDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR, 0, 0}, &Room::veng1UseSTricorderOnDoor },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_PANEL, 0, 0}, &Room::veng1UseSTricorderOnPanel },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS, 0, 0}, &Room::veng1UseSTricorderOnPanel },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0, 0}, &Room::veng1UseSTricorderOnPanel },
+
+ { {ACTION_GET, OBJECT_PANEL, 0, 0, 0}, &Room::veng1GetPanel },
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_PANEL, 0, 0}, &Room::veng1GetPanel },
+ { {ACTION_DONE_WALK, 9, 0, 0, 0}, &Room::veng1KirkReachedPanel },
+ { {ACTION_DONE_ANIM, 10, 0, 0, 0}, &Room::veng1KirkAccessedPanel },
+
+ { {ACTION_USE, OBJECT_ILMD, HOTSPOT_PANEL, 0, 0}, &Room::veng1UseSawOnPanel },
+ { {ACTION_USE, OBJECT_ILMD, OBJECT_DOOR, 0, 0}, &Room::veng1UseSawOnDoor },
+ { {ACTION_USE, OBJECT_ILMD, HOTSPOT_DOOR, 0, 0}, &Room::veng1UseSawOnDoor },
+ { {ACTION_USE, OBJECT_IDRILL, OBJECT_DEBRIS, 0, 0}, &Room::veng1UseDrillOnDebris },
+ { {ACTION_USE, OBJECT_ILMD, OBJECT_DEBRIS, 0, 0}, &Room::veng1UseSawOnDebris },
+
+ { {ACTION_USE, OBJECT_IDRILL, OBJECT_PANEL, 0, 0}, &Room::veng1UseDrillOnPanel },
+ { {ACTION_DONE_WALK, 5, 0, 0, 0}, &Room::veng1KirkReachedPanelToDrill },
+ { {ACTION_DONE_ANIM, 6, 0, 0, 0}, &Room::veng1KirkDoneDrillingPanel },
+ { {ACTION_USE, OBJECT_IHYPO, OBJECT_DEBRIS, 0, 0}, &Room::veng1UseHypoOnDebris },
+ { {ACTION_DONE_WALK, 7, 0, 0, 0}, &Room::veng1KirkReachedDebris },
+ { {ACTION_DONE_ANIM, 8, 0, 0, 0}, &Room::veng1KirkUsedHypoOnDebris },
+
+ { {ACTION_GET, OBJECT_SAW, 0, 0, 0}, &Room::veng1GetSaw },
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::veng1ReachedSaw },
+ { {ACTION_DONE_ANIM, 4, 0, 0, 0}, &Room::veng1PickedUpSaw },
+ { {ACTION_GET, OBJECT_DEBRIS, 0, 0, 0}, &Room::veng1GetDebris },
+ { {ACTION_DONE_WALK, 11, 0, 0, 0}, &Room::veng1ReachedDebrisToGet },
+ { {ACTION_DONE_ANIM, 12, 0, 0, 0}, &Room::veng1TriedToGetDebris },
// Common code
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_LOOK, OBJECT_IHYPO, 0, 0}, &Room::vengaLookAtHypo },
- { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_LOOK, OBJECT_IHYPO, 0, 0, 0}, &Room::vengaLookAtHypo },
+ { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum veng1TextIds {
diff --git a/engines/startrek/rooms/veng2.cpp b/engines/startrek/rooms/veng2.cpp
index 98b62548fcd..47585b9c7e2 100644
--- a/engines/startrek/rooms/veng2.cpp
+++ b/engines/startrek/rooms/veng2.cpp
@@ -60,125 +60,125 @@
namespace StarTrek {
extern const RoomAction veng2ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::veng2Tick1 },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::veng2Timer0Expired },
- { {ACTION_TICK, 40, 0, 0}, &Room::veng2Timer0Expired },
- { {ACTION_DONE_ANIM, 5, 0, 0}, &Room::veng2ElasiShipDecloaked },
- { {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::veng2Timer2Expired },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::veng2TouchedDoor },
-
- { {ACTION_LOOK, OBJECT_VIEWSCREEN, 0, 0}, &Room::veng2LookAtViewscreen },
- { {ACTION_LOOK, HOTSPOT_VIEWSCREEN, 0, 0}, &Room::veng2LookAtViewscreen },
- { {ACTION_LOOK, OBJECT_MIDDLE_CONSOLE, 0, 0}, &Room::veng2LookAtMiddleConsole },
- { {ACTION_LOOK, HOTSPOT_MIDDLE_CONSOLE, 0, 0}, &Room::veng2LookAtMiddleConsole },
- { {ACTION_LOOK, OBJECT_DAMAGE_DISPLAY_1, 0, 0}, &Room::veng2LookAtDamageDisplay },
- { {ACTION_LOOK, OBJECT_DAMAGE_DISPLAY_2, 0, 0}, &Room::veng2LookAtDamageDisplay },
- { {ACTION_LOOK, HOTSPOT_DAMAGE_DISPLAY, 0, 0}, &Room::veng2LookAtDamageDisplay },
- { {ACTION_LOOK, OBJECT_STRICORDER, 0, 0}, &Room::veng2LookAtSTricorder },
- { {ACTION_LOOK, OBJECT_MTRICORDER, 0, 0}, &Room::veng2LookAtMTricorder },
- { {ACTION_LOOK, OBJECT_TORPEDO_BUTTON, 0, 0}, &Room::veng2LookAtTorpedoButton },
- { {ACTION_LOOK, HOTSPOT_TORPEDO_BUTTON, 0, 0}, &Room::veng2LookAtTorpedoButton },
- { {ACTION_LOOK, HOTSPOT_TORPEDO_CONTROL, 0, 0}, &Room::veng2LookAtTorpedoControl },
- { {ACTION_LOOK, OBJECT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2LookAtImpulseConsole },
- { {ACTION_LOOK, HOTSPOT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2LookAtImpulseConsole },
- { {ACTION_LOOK, OBJECT_MAIN_COMPUTER, 0, 0}, &Room::veng2LookAtMainComputer },
- { {ACTION_LOOK, HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2LookAtMainComputer },
- { {ACTION_LOOK, OBJECT_DECK, 0, 0}, &Room::veng2LookAtRecordDeck },
- { {ACTION_LOOK, OBJECT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2LookAtDeckIOConsole },
- { {ACTION_LOOK, HOTSPOT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2LookAtDeckIOConsole },
- { {ACTION_LOOK, HOTSPOT_DECK_IO_SLOT, 0, 0}, &Room::veng2LookAtDeckIOConsole },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::veng2LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::veng2LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::veng2LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng2LookAtRedshirt },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::veng2LookAnywhere },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::veng2TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::veng2TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::veng2TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng2TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_ITECH, OBJECT_DECK_IO_CONSOLE, 0}, &Room::veng2UseTechJournalOnDeckIOConsole },
- { {ACTION_USE, OBJECT_ITECH, HOTSPOT_DECK_IO_CONSOLE, 0}, &Room::veng2UseTechJournalOnDeckIOConsole },
- { {ACTION_USE, OBJECT_ITECH, HOTSPOT_DECK_IO_SLOT, 0}, &Room::veng2UseTechJournalOnDeckIOConsole },
- { {ACTION_DONE_WALK, 22, 0, 0}, &Room::veng2ReachedDeckIOWithTechJournal },
- { {ACTION_DONE_ANIM, 23, 0, 0}, &Room::veng2DoneReadingTechJournal },
- { {ACTION_USE, OBJECT_IDECK, OBJECT_DECK_IO_CONSOLE, 0}, &Room::veng2UseLogOnDeckIOConsole },
- { {ACTION_USE, OBJECT_IDECK, HOTSPOT_DECK_IO_CONSOLE, 0}, &Room::veng2UseLogOnDeckIOConsole },
- { {ACTION_USE, OBJECT_IDECK, HOTSPOT_DECK_IO_SLOT, 0}, &Room::veng2UseLogOnDeckIOConsole },
- { {ACTION_DONE_WALK, 24, 0, 0}, &Room::veng2ReachedDeckIOWithLog },
- { {ACTION_DONE_ANIM, 25, 0, 0}, &Room::veng2LoadedLog },
- { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::veng2UseCommunicator },
-
- { {ACTION_USE, OBJECT_KIRK, OBJECT_TORPEDO_BUTTON, 0}, &Room::veng2UseKirkOnTorpedoButton },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_BUTTON, 0}, &Room::veng2UseKirkOnTorpedoButton },
- { {ACTION_DONE_WALK, 18, 0, 0}, &Room::veng2UseKirkReachedTorpedoButton },
- { {ACTION_DONE_ANIM, 19, 0, 0}, &Room::veng2KirkFiredTorpedo },
- { {ACTION_DONE_ANIM, 7, 0, 0}, &Room::veng2TorpedoStruckElasiShip },
- { {ACTION_DONE_ANIM, 6, 0, 0}, &Room::veng2ElasiRetreated },
- { {ACTION_DONE_WALK, 1, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
- { {ACTION_DONE_WALK, 4, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
-
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_TORPEDO_BUTTON, 0}, &Room::veng2UseSTricorderOnTorpedoButton }, // FIXME: hotspots?
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MIDDLE_CONSOLE, 0}, &Room::veng2UseSTricorderOnMiddleConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MIDDLE_CONSOLE, 0}, &Room::veng2UseSTricorderOnMiddleConsole },
-
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_CONTROL, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_TORPEDO_CONTROL, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_TORPEDO_CONTROL, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
-
- { {ACTION_USE, OBJECT_KIRK, OBJECT_IMPULSE_CONSOLE, 0}, &Room::veng2UseImpulseConsole },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_IMPULSE_CONSOLE, 0}, &Room::veng2UseImpulseConsole },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_IMPULSE_CONSOLE, 0}, &Room::veng2UseImpulseConsole },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_IMPULSE_CONSOLE, 0}, &Room::veng2UseImpulseConsole },
- { {ACTION_DONE_WALK, 20, 0, 0}, &Room::veng2SpockReachedImpulseConsole },
- { {ACTION_DONE_ANIM, 21, 0, 0}, &Room::veng2SpockUsedImpulseConsole },
-
- { {ACTION_USE, OBJECT_KIRK, OBJECT_MAIN_COMPUTER, 0}, &Room::veng2UseMainComputer },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_MAIN_COMPUTER, 0}, &Room::veng2UseMainComputer },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseMainComputer },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseMainComputer },
-
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MAIN_COMPUTER, 0}, &Room::veng2UseSTricorderOnMainComputer },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseSTricorderOnMainComputer },
- { {ACTION_DONE_WALK, 10, 0, 0}, &Room::veng2SpockReachedMainComputerToPutTricorder },
- { {ACTION_DONE_ANIM, 11, 0, 0}, &Room::veng2AttachedSTricorderToComputer },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MAIN_COMPUTER, 0}, &Room::veng2UseMTricorderOnMainComputer },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseMTricorderOnMainComputer },
- { {ACTION_DONE_WALK, 12, 0, 0}, &Room::veng2MccoyReachedMainComputerToPutTricorder },
- { {ACTION_DONE_ANIM, 13, 0, 0}, &Room::veng2AttachedMTricorderToComputer },
-
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DECK_IO_CONSOLE, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DECK_IO_SLOT, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
-
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMPULSE_CONSOLE, 0}, &Room::veng2UseSTricorderOnImpulseConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_IMPULSE_CONSOLE, 0}, &Room::veng2UseSTricorderOnImpulseConsole },
- { {ACTION_USE, OBJECT_IFUSION, HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseFusionPackOnMainComputer },
- { {ACTION_USE, OBJECT_IFUSION, OBJECT_MAIN_COMPUTER, 0}, &Room::veng2UseFusionPackOnMainComputer },
-
- { {ACTION_GET, OBJECT_DECK, 0, 0}, &Room::veng2GetLogDeck },
- { {ACTION_DONE_WALK, 8, 0, 0}, &Room::veng2ReachedLogDeck },
- { {ACTION_DONE_ANIM, 9, 0, 0}, &Room::veng2PickedUpLogDeck },
-
- { {ACTION_GET, OBJECT_STRICORDER, 0, 0}, &Room::veng2GetSTricorder },
- { {ACTION_DONE_WALK, 14, 0, 0}, &Room::veng2ReachedSTricorderToGet },
- { {ACTION_DONE_ANIM, 15, 0, 0}, &Room::veng2PickedUpSTricorder },
- { {ACTION_GET, OBJECT_MTRICORDER, 0, 0}, &Room::veng2GetMTricorder },
- { {ACTION_DONE_WALK, 16, 0, 0}, &Room::veng2ReachedMTricorderToGet },
- { {ACTION_DONE_ANIM, 17, 0, 0}, &Room::veng2PickedUpMTricorder },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::veng2Tick1 },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::veng2Timer0Expired },
+ { {ACTION_TICK, 40, 0, 0, 0}, &Room::veng2Timer0Expired },
+ { {ACTION_DONE_ANIM, 5, 0, 0, 0}, &Room::veng2ElasiShipDecloaked },
+ { {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::veng2Timer2Expired },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::veng2TouchedDoor },
+
+ { {ACTION_LOOK, OBJECT_VIEWSCREEN, 0, 0, 0}, &Room::veng2LookAtViewscreen },
+ { {ACTION_LOOK, HOTSPOT_VIEWSCREEN, 0, 0, 0}, &Room::veng2LookAtViewscreen },
+ { {ACTION_LOOK, OBJECT_MIDDLE_CONSOLE, 0, 0, 0}, &Room::veng2LookAtMiddleConsole },
+ { {ACTION_LOOK, HOTSPOT_MIDDLE_CONSOLE, 0, 0, 0}, &Room::veng2LookAtMiddleConsole },
+ { {ACTION_LOOK, OBJECT_DAMAGE_DISPLAY_1, 0, 0, 0}, &Room::veng2LookAtDamageDisplay },
+ { {ACTION_LOOK, OBJECT_DAMAGE_DISPLAY_2, 0, 0, 0}, &Room::veng2LookAtDamageDisplay },
+ { {ACTION_LOOK, HOTSPOT_DAMAGE_DISPLAY, 0, 0, 0}, &Room::veng2LookAtDamageDisplay },
+ { {ACTION_LOOK, OBJECT_STRICORDER, 0, 0, 0}, &Room::veng2LookAtSTricorder },
+ { {ACTION_LOOK, OBJECT_MTRICORDER, 0, 0, 0}, &Room::veng2LookAtMTricorder },
+ { {ACTION_LOOK, OBJECT_TORPEDO_BUTTON, 0, 0, 0}, &Room::veng2LookAtTorpedoButton },
+ { {ACTION_LOOK, HOTSPOT_TORPEDO_BUTTON, 0, 0, 0}, &Room::veng2LookAtTorpedoButton },
+ { {ACTION_LOOK, HOTSPOT_TORPEDO_CONTROL, 0, 0, 0}, &Room::veng2LookAtTorpedoControl },
+ { {ACTION_LOOK, OBJECT_IMPULSE_CONSOLE, 0, 0, 0}, &Room::veng2LookAtImpulseConsole },
+ { {ACTION_LOOK, HOTSPOT_IMPULSE_CONSOLE, 0, 0, 0}, &Room::veng2LookAtImpulseConsole },
+ { {ACTION_LOOK, OBJECT_MAIN_COMPUTER, 0, 0, 0}, &Room::veng2LookAtMainComputer },
+ { {ACTION_LOOK, HOTSPOT_MAIN_COMPUTER, 0, 0, 0}, &Room::veng2LookAtMainComputer },
+ { {ACTION_LOOK, OBJECT_DECK, 0, 0, 0}, &Room::veng2LookAtRecordDeck },
+ { {ACTION_LOOK, OBJECT_DECK_IO_CONSOLE, 0, 0, 0}, &Room::veng2LookAtDeckIOConsole },
+ { {ACTION_LOOK, HOTSPOT_DECK_IO_CONSOLE, 0, 0, 0}, &Room::veng2LookAtDeckIOConsole },
+ { {ACTION_LOOK, HOTSPOT_DECK_IO_SLOT, 0, 0, 0}, &Room::veng2LookAtDeckIOConsole },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::veng2LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng2LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng2LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng2LookAtRedshirt },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::veng2LookAnywhere },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::veng2TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng2TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng2TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng2TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_ITECH, OBJECT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2UseTechJournalOnDeckIOConsole },
+ { {ACTION_USE, OBJECT_ITECH, HOTSPOT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2UseTechJournalOnDeckIOConsole },
+ { {ACTION_USE, OBJECT_ITECH, HOTSPOT_DECK_IO_SLOT, 0, 0}, &Room::veng2UseTechJournalOnDeckIOConsole },
+ { {ACTION_DONE_WALK, 22, 0, 0, 0}, &Room::veng2ReachedDeckIOWithTechJournal },
+ { {ACTION_DONE_ANIM, 23, 0, 0, 0}, &Room::veng2DoneReadingTechJournal },
+ { {ACTION_USE, OBJECT_IDECK, OBJECT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2UseLogOnDeckIOConsole },
+ { {ACTION_USE, OBJECT_IDECK, HOTSPOT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2UseLogOnDeckIOConsole },
+ { {ACTION_USE, OBJECT_IDECK, HOTSPOT_DECK_IO_SLOT, 0, 0}, &Room::veng2UseLogOnDeckIOConsole },
+ { {ACTION_DONE_WALK, 24, 0, 0, 0}, &Room::veng2ReachedDeckIOWithLog },
+ { {ACTION_DONE_ANIM, 25, 0, 0, 0}, &Room::veng2LoadedLog },
+ { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::veng2UseCommunicator },
+
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_TORPEDO_BUTTON, 0, 0}, &Room::veng2UseKirkOnTorpedoButton },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_BUTTON, 0, 0}, &Room::veng2UseKirkOnTorpedoButton },
+ { {ACTION_DONE_WALK, 18, 0, 0, 0}, &Room::veng2UseKirkReachedTorpedoButton },
+ { {ACTION_DONE_ANIM, 19, 0, 0, 0}, &Room::veng2KirkFiredTorpedo },
+ { {ACTION_DONE_ANIM, 7, 0, 0, 0}, &Room::veng2TorpedoStruckElasiShip },
+ { {ACTION_DONE_ANIM, 6, 0, 0, 0}, &Room::veng2ElasiRetreated },
+ { {ACTION_DONE_WALK, 1, 0, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
+ { {ACTION_DONE_WALK, 4, 0, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_TORPEDO_BUTTON, 0, 0}, &Room::veng2UseSTricorderOnTorpedoButton }, // FIXME: hotspots?
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MIDDLE_CONSOLE, 0, 0}, &Room::veng2UseSTricorderOnMiddleConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MIDDLE_CONSOLE, 0, 0}, &Room::veng2UseSTricorderOnMiddleConsole },
+
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_CONTROL, 0, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_TORPEDO_CONTROL, 0, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_TORPEDO_CONTROL, 0, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
+
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2UseImpulseConsole },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2UseImpulseConsole },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2UseImpulseConsole },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2UseImpulseConsole },
+ { {ACTION_DONE_WALK, 20, 0, 0, 0}, &Room::veng2SpockReachedImpulseConsole },
+ { {ACTION_DONE_ANIM, 21, 0, 0, 0}, &Room::veng2SpockUsedImpulseConsole },
+
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseMainComputer },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseMainComputer },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseMainComputer },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseMainComputer },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseSTricorderOnMainComputer },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseSTricorderOnMainComputer },
+ { {ACTION_DONE_WALK, 10, 0, 0, 0}, &Room::veng2SpockReachedMainComputerToPutTricorder },
+ { {ACTION_DONE_ANIM, 11, 0, 0, 0}, &Room::veng2AttachedSTricorderToComputer },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseMTricorderOnMainComputer },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseMTricorderOnMainComputer },
+ { {ACTION_DONE_WALK, 12, 0, 0, 0}, &Room::veng2MccoyReachedMainComputerToPutTricorder },
+ { {ACTION_DONE_ANIM, 13, 0, 0, 0}, &Room::veng2AttachedMTricorderToComputer },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DECK_IO_SLOT, 0, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2UseSTricorderOnImpulseConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2UseSTricorderOnImpulseConsole },
+ { {ACTION_USE, OBJECT_IFUSION, HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseFusionPackOnMainComputer },
+ { {ACTION_USE, OBJECT_IFUSION, OBJECT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseFusionPackOnMainComputer },
+
+ { {ACTION_GET, OBJECT_DECK, 0, 0, 0}, &Room::veng2GetLogDeck },
+ { {ACTION_DONE_WALK, 8, 0, 0, 0}, &Room::veng2ReachedLogDeck },
+ { {ACTION_DONE_ANIM, 9, 0, 0, 0}, &Room::veng2PickedUpLogDeck },
+
+ { {ACTION_GET, OBJECT_STRICORDER, 0, 0, 0}, &Room::veng2GetSTricorder },
+ { {ACTION_DONE_WALK, 14, 0, 0, 0}, &Room::veng2ReachedSTricorderToGet },
+ { {ACTION_DONE_ANIM, 15, 0, 0, 0}, &Room::veng2PickedUpSTricorder },
+ { {ACTION_GET, OBJECT_MTRICORDER, 0, 0, 0}, &Room::veng2GetMTricorder },
+ { {ACTION_DONE_WALK, 16, 0, 0, 0}, &Room::veng2ReachedMTricorderToGet },
+ { {ACTION_DONE_ANIM, 17, 0, 0, 0}, &Room::veng2PickedUpMTricorder },
// Common code
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_LOOK, OBJECT_IHYPO, 0, 0}, &Room::vengaLookAtHypo },
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_LOOK, OBJECT_IHYPO, 0, 0, 0}, &Room::vengaLookAtHypo },
// ENHANCEMENTs
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_CONTROL, 0}, &Room::veng2UseKirkOnTorpedoButton },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_CONTROL, 0, 0}, &Room::veng2UseKirkOnTorpedoButton },
// TODO: uncomment
-// { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DECK_IO_CONSOLE, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+// { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum veng2TextIds {
diff --git a/engines/startrek/rooms/veng3.cpp b/engines/startrek/rooms/veng3.cpp
index b9e6e85c060..eed70b55fc6 100644
--- a/engines/startrek/rooms/veng3.cpp
+++ b/engines/startrek/rooms/veng3.cpp
@@ -34,72 +34,72 @@
namespace StarTrek {
extern const RoomAction veng3ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::veng3Tick1 },
- { {ACTION_TICK, 15, 0, 0}, &Room::veng3Tick15 },
- { {ACTION_TOUCHED_WARP, 0, 0, 0}, &Room::veng3TouchedTurbolift2 },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::veng3TouchedTurbolift1 },
-
- { {ACTION_WALK, OBJECT_DEBRIS, 0, 0}, &Room::veng3WalkToDoor },
- { {ACTION_WALK, HOTSPOT_TURBOLIFT_2_DOOR, 0, 0}, &Room::veng3WalkToDoor },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::veng3ReachedTurbolift2 },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::veng3Turbolift2Opened },
-
- { {ACTION_WALK, OBJECT_SICKBAY_DOOR, 0, 0}, &Room::veng3WalkToSickbayDoor },
- { {ACTION_WALK, HOTSPOT_SICKBAY_DOOR, 0, 0}, &Room::veng3WalkToSickbayDoor },
- { {ACTION_DONE_WALK, 9, 0, 0}, &Room::veng3ReachedSickbayDoor },
- { {ACTION_DONE_ANIM, 10, 0, 0}, &Room::veng3SickbayDoorOpened },
-
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SUPPORT_BEAM, 0}, &Room::veng3LookAtSupportBeam },
- { {ACTION_LOOK, OBJECT_SUPPORT_BEAM, 0, 0}, &Room::veng3LookAtSupportBeam },
-
- { {ACTION_LOOK, OBJECT_DEBRIS, 0, 0}, &Room::veng3LookAtDebris },
- { {ACTION_LOOK, HOTSPOT_TURBOLIFT_2_DOOR, 0, 0}, &Room::veng3LookAtTurbolift2Door },
- { {ACTION_LOOK, OBJECT_SICKBAY_DOOR, 0, 0}, &Room::veng3LookAtSickbayDoor },
- { {ACTION_LOOK, HOTSPOT_SICKBAY_DOOR, 0, 0}, &Room::veng3LookAtSickbayDoor },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CABLE, 0}, &Room::veng3LookAtCable },
- { {ACTION_LOOK, OBJECT_CABLE, 0, 0}, &Room::veng3LookAtCable },
- { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0}, &Room::veng3LookAtDeadGuy },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::veng3LookAtKirk },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::veng3LookAtMccoy },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::veng3LookAtSpock },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng3LookAtRedshirt },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::veng3LookAnywhere },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0}, &Room::veng3UseStunPhaserOnDebris },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0}, &Room::veng3UseKillPhaserOnDebris },
- { {ACTION_DONE_WALK, 4, 0, 0}, &Room::veng3ReachedPositionToShootDebris },
- { {ACTION_DONE_ANIM, 5, 0, 0}, &Room::veng3DrewPhaserToShootDebris },
- { {ACTION_DONE_ANIM, 3, 0, 0}, &Room::veng3DebrisVaporized },
- { {ACTION_DONE_ANIM, 6, 0, 0}, &Room::veng3DebrisFellAgain },
-
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_DEBRIS, 0}, &Room::veng3UseSpockOnDebris },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_DEBRIS, 0}, &Room::veng3UseRedshirtOnDebris },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEBRIS, 0}, &Room::veng3UseMccoyOnDebris },
- { {ACTION_USE, OBJECT_IBEAM, OBJECT_DEBRIS, 0}, &Room::veng3UseBeamOnDebris },
- { {ACTION_DONE_WALK, 7, 0, 0}, &Room::veng3ReachedPositionToPlaceBeam },
- { {ACTION_DONE_ANIM, 8, 0, 0}, &Room::veng3PlacedBeam },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS, 0}, &Room::veng3UseSTricorderOnDebris },
- { {ACTION_USE, OBJECT_ILMD, OBJECT_DEBRIS, 0}, &Room::veng3UseMolecularSawOnDebris },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::veng3TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::veng3TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::veng3TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng3TalkToRedshirt },
- { {ACTION_GET, OBJECT_DEBRIS, 0, 0}, &Room::veng3GetDebris },
- { {ACTION_GET, OBJECT_CABLE, 0, 0}, &Room::veng3GetCable },
- { {ACTION_DONE_WALK, 11, 0, 0}, &Room::veng3ReachedCable },
- { {ACTION_DONE_ANIM, 12, 0, 0}, &Room::veng3PickedUpCable },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::veng3Tick1 },
+ { {ACTION_TICK, 15, 0, 0, 0}, &Room::veng3Tick15 },
+ { {ACTION_TOUCHED_WARP, 0, 0, 0, 0}, &Room::veng3TouchedTurbolift2 },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::veng3TouchedTurbolift1 },
+
+ { {ACTION_WALK, OBJECT_DEBRIS, 0, 0, 0}, &Room::veng3WalkToDoor },
+ { {ACTION_WALK, HOTSPOT_TURBOLIFT_2_DOOR, 0, 0, 0}, &Room::veng3WalkToDoor },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::veng3ReachedTurbolift2 },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::veng3Turbolift2Opened },
+
+ { {ACTION_WALK, OBJECT_SICKBAY_DOOR, 0, 0, 0}, &Room::veng3WalkToSickbayDoor },
+ { {ACTION_WALK, HOTSPOT_SICKBAY_DOOR, 0, 0, 0}, &Room::veng3WalkToSickbayDoor },
+ { {ACTION_DONE_WALK, 9, 0, 0, 0}, &Room::veng3ReachedSickbayDoor },
+ { {ACTION_DONE_ANIM, 10, 0, 0, 0}, &Room::veng3SickbayDoorOpened },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SUPPORT_BEAM, 0, 0}, &Room::veng3LookAtSupportBeam },
+ { {ACTION_LOOK, OBJECT_SUPPORT_BEAM, 0, 0, 0}, &Room::veng3LookAtSupportBeam },
+
+ { {ACTION_LOOK, OBJECT_DEBRIS, 0, 0, 0}, &Room::veng3LookAtDebris },
+ { {ACTION_LOOK, HOTSPOT_TURBOLIFT_2_DOOR, 0, 0, 0}, &Room::veng3LookAtTurbolift2Door },
+ { {ACTION_LOOK, OBJECT_SICKBAY_DOOR, 0, 0, 0}, &Room::veng3LookAtSickbayDoor },
+ { {ACTION_LOOK, HOTSPOT_SICKBAY_DOOR, 0, 0, 0}, &Room::veng3LookAtSickbayDoor },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CABLE, 0, 0}, &Room::veng3LookAtCable },
+ { {ACTION_LOOK, OBJECT_CABLE, 0, 0, 0}, &Room::veng3LookAtCable },
+ { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0, 0}, &Room::veng3LookAtDeadGuy },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::veng3LookAtKirk },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng3LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng3LookAtSpock },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng3LookAtRedshirt },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::veng3LookAnywhere },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseStunPhaserOnDebris },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseKillPhaserOnDebris },
+ { {ACTION_DONE_WALK, 4, 0, 0, 0}, &Room::veng3ReachedPositionToShootDebris },
+ { {ACTION_DONE_ANIM, 5, 0, 0, 0}, &Room::veng3DrewPhaserToShootDebris },
+ { {ACTION_DONE_ANIM, 3, 0, 0, 0}, &Room::veng3DebrisVaporized },
+ { {ACTION_DONE_ANIM, 6, 0, 0, 0}, &Room::veng3DebrisFellAgain },
+
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseSpockOnDebris },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseRedshirtOnDebris },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseMccoyOnDebris },
+ { {ACTION_USE, OBJECT_IBEAM, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseBeamOnDebris },
+ { {ACTION_DONE_WALK, 7, 0, 0, 0}, &Room::veng3ReachedPositionToPlaceBeam },
+ { {ACTION_DONE_ANIM, 8, 0, 0, 0}, &Room::veng3PlacedBeam },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseSTricorderOnDebris },
+ { {ACTION_USE, OBJECT_ILMD, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseMolecularSawOnDebris },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::veng3TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng3TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng3TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng3TalkToRedshirt },
+ { {ACTION_GET, OBJECT_DEBRIS, 0, 0, 0}, &Room::veng3GetDebris },
+ { {ACTION_GET, OBJECT_CABLE, 0, 0, 0}, &Room::veng3GetCable },
+ { {ACTION_DONE_WALK, 11, 0, 0, 0}, &Room::veng3ReachedCable },
+ { {ACTION_DONE_ANIM, 12, 0, 0, 0}, &Room::veng3PickedUpCable },
// Common code
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_LOOK, OBJECT_IHYPO, 0, 0}, &Room::vengaLookAtHypo },
- { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_LOOK, OBJECT_IHYPO, 0, 0, 0}, &Room::vengaLookAtHypo },
+ { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum veng3TextIds {
diff --git a/engines/startrek/rooms/veng4.cpp b/engines/startrek/rooms/veng4.cpp
index 510aa89782e..976ecedf6bb 100644
--- a/engines/startrek/rooms/veng4.cpp
+++ b/engines/startrek/rooms/veng4.cpp
@@ -36,66 +36,66 @@
namespace StarTrek {
extern const RoomAction veng4ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::veng4Tick1 },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::veng4TalkToKirk },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::veng4TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::veng4TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng4TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_IMEDKIT, HOTSPOT_RIGHT_BED, 0}, &Room::veng4UseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_RIGHT_BED, 0}, &Room::veng4UseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_RIGHT_BED, 0}, &Room::veng4UseMccoyOnDeadGuy },
-
- { {ACTION_USE, OBJECT_IHYPO, OBJECT_BRITTANY, 0}, &Room::veng4UseHypoOnBrittany },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_BRITTANY, 0}, &Room::veng4UseMedkitOnBrittany },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_BRITTANY, 0}, &Room::veng4UseMTricorderOnBrittany },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_BRITTANY, 0}, &Room::veng4UseMTricorderOnBrittany },
- { {ACTION_DONE_WALK, 5, 0, 0}, &Room::veng4MccoyReachedBrittany },
- { {ACTION_DONE_ANIM, 6, 0, 0}, &Room::veng4UsedMedkitOnBrittany },
- { {ACTION_DONE_ANIM, 7, 0, 0}, &Room::veng4MccoyScannedBrittany },
-
- { {ACTION_TALK, OBJECT_BRITTANY, 0, 0}, &Room::veng4TalkToBrittany },
- { {ACTION_LOOK, HOTSPOT_RIGHT_BED, 0, 0}, &Room::veng4LookAtDeadGuy },
- { {ACTION_LOOK, HOTSPOT_RIGHT_READINGS, 0, 0}, &Room::veng4LookAtRightBedReadings },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::veng4LookAtDoorHotspot },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::veng4LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::veng4LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::veng4LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng4LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_LEFT_BED, 0, 0}, &Room::veng4LookAtLeftBed },
- { {ACTION_LOOK, HOTSPOT_LEFT_READINGS, 0, 0}, &Room::veng4LookAtLeftBedReadings },
- { {ACTION_LOOK, OBJECT_BRITTANY, 0, 0}, &Room::veng4LookAtBrittany },
-
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DRILL, 0}, &Room::veng4LookAtDrill },
- { {ACTION_LOOK, OBJECT_DRILL, 0, 0}, &Room::veng4LookAtDrill },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_HYPO, 0}, &Room::veng4LookAtHypoOnTable },
- { {ACTION_LOOK, OBJECT_HYPO, 0, 0}, &Room::veng4LookAtHypoOnTable },
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::veng4LookAtDoorObject },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::veng4LookAnywhere },
-
- { {ACTION_GET, OBJECT_HYPO, 0, 0}, &Room::veng4GetHypo },
- { {ACTION_DONE_WALK, 1, 0, 0}, &Room::veng4ReachedHypo },
- { {ACTION_DONE_ANIM, 2, 0, 0}, &Room::veng4PickedUpHypo },
-
- { {ACTION_GET, OBJECT_DRILL, 0, 0}, &Room::veng4GetDrill },
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::veng4ReachedDrill },
- { {ACTION_DONE_ANIM, 4, 0, 0}, &Room::veng4PickedUpDrill },
-
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::veng4TouchedHotspot0 },
- { {ACTION_WALK, OBJECT_DOOR, 0, 0}, &Room::veng4WalkToDoor },
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng4WalkToDoor },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::veng4Tick1 },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::veng4TalkToKirk },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng4TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng4TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng4TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_IMEDKIT, HOTSPOT_RIGHT_BED, 0, 0}, &Room::veng4UseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_RIGHT_BED, 0, 0}, &Room::veng4UseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_MCCOY, HOTSPOT_RIGHT_BED, 0, 0}, &Room::veng4UseMccoyOnDeadGuy },
+
+ { {ACTION_USE, OBJECT_IHYPO, OBJECT_BRITTANY, 0, 0}, &Room::veng4UseHypoOnBrittany },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_BRITTANY, 0, 0}, &Room::veng4UseMedkitOnBrittany },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_BRITTANY, 0, 0}, &Room::veng4UseMTricorderOnBrittany },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_BRITTANY, 0, 0}, &Room::veng4UseMTricorderOnBrittany },
+ { {ACTION_DONE_WALK, 5, 0, 0, 0}, &Room::veng4MccoyReachedBrittany },
+ { {ACTION_DONE_ANIM, 6, 0, 0, 0}, &Room::veng4UsedMedkitOnBrittany },
+ { {ACTION_DONE_ANIM, 7, 0, 0, 0}, &Room::veng4MccoyScannedBrittany },
+
+ { {ACTION_TALK, OBJECT_BRITTANY, 0, 0, 0}, &Room::veng4TalkToBrittany },
+ { {ACTION_LOOK, HOTSPOT_RIGHT_BED, 0, 0, 0}, &Room::veng4LookAtDeadGuy },
+ { {ACTION_LOOK, HOTSPOT_RIGHT_READINGS, 0, 0, 0}, &Room::veng4LookAtRightBedReadings },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng4LookAtDoorHotspot },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::veng4LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng4LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng4LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng4LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_LEFT_BED, 0, 0, 0}, &Room::veng4LookAtLeftBed },
+ { {ACTION_LOOK, HOTSPOT_LEFT_READINGS, 0, 0, 0}, &Room::veng4LookAtLeftBedReadings },
+ { {ACTION_LOOK, OBJECT_BRITTANY, 0, 0, 0}, &Room::veng4LookAtBrittany },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DRILL, 0, 0}, &Room::veng4LookAtDrill },
+ { {ACTION_LOOK, OBJECT_DRILL, 0, 0, 0}, &Room::veng4LookAtDrill },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_HYPO, 0, 0}, &Room::veng4LookAtHypoOnTable },
+ { {ACTION_LOOK, OBJECT_HYPO, 0, 0, 0}, &Room::veng4LookAtHypoOnTable },
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::veng4LookAtDoorObject },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::veng4LookAnywhere },
+
+ { {ACTION_GET, OBJECT_HYPO, 0, 0, 0}, &Room::veng4GetHypo },
+ { {ACTION_DONE_WALK, 1, 0, 0, 0}, &Room::veng4ReachedHypo },
+ { {ACTION_DONE_ANIM, 2, 0, 0, 0}, &Room::veng4PickedUpHypo },
+
+ { {ACTION_GET, OBJECT_DRILL, 0, 0, 0}, &Room::veng4GetDrill },
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::veng4ReachedDrill },
+ { {ACTION_DONE_ANIM, 4, 0, 0, 0}, &Room::veng4PickedUpDrill },
+
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::veng4TouchedHotspot0 },
+ { {ACTION_WALK, OBJECT_DOOR, 0, 0, 0}, &Room::veng4WalkToDoor },
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng4WalkToDoor },
// Common code
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_LOOK, OBJECT_IHYPO, 0, 0}, &Room::vengaLookAtHypo },
- { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_LOOK, OBJECT_IHYPO, 0, 0, 0}, &Room::vengaLookAtHypo },
+ { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
// ENHANCEMENT (let object count for the "look" action, not just the hotspot)
- { {ACTION_LOOK, OBJECT_LEFT_READINGS, 0, 0}, &Room::veng4LookAtLeftBedReadings },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_LOOK, OBJECT_LEFT_READINGS, 0, 0, 0}, &Room::veng4LookAtLeftBedReadings },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum veng4TextIds {
diff --git a/engines/startrek/rooms/veng5.cpp b/engines/startrek/rooms/veng5.cpp
index 72f404948d6..b4094eac5ec 100644
--- a/engines/startrek/rooms/veng5.cpp
+++ b/engines/startrek/rooms/veng5.cpp
@@ -32,60 +32,60 @@
namespace StarTrek {
extern const RoomAction veng5ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::veng5Tick1 },
- { {ACTION_TICK, 45, 0, 0}, &Room::veng5Tick45 },
-
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng5WalkToDoor },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::veng5ReachedDoor },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::veng5DoorOpened },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::veng5TouchedTurboliftDoor },
-
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::veng5LookAtDoor },
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::veng5LookAtDoor },
- { {ACTION_LOOK, HOTSPOT_LADDER, 0, 0}, &Room::veng5LookAtLadder },
- { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0}, &Room::veng5LookAtDeadGuy },
- { {ACTION_LOOK, OBJECT_POWER_PACK, 0, 0}, &Room::veng5LookAtPowerPack },
- { {ACTION_LOOK, OBJECT_DEBRIS, 0, 0}, &Room::veng5LookAtDebris },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::veng5LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::veng5LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::veng5LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng5LookAtRedshirt },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::veng5LookAnywhere },
-
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_POWER_PACK, 0}, &Room::veng5UsePhaserOnPowerPack },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_POWER_PACK, 0}, &Room::veng5UsePhaserOnPowerPack },
- { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0}, &Room::veng5UseStunPhaserOnDebris },
- { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0}, &Room::veng5UseKillPhaserOnDebris },
- { {ACTION_DONE_WALK, 4, 0, 0}, &Room::veng5ReachedPositionToShootDebris },
- { {ACTION_DONE_ANIM, 5, 0, 0}, &Room::veng5DrewPhaser },
- { {ACTION_DONE_ANIM, 3, 0, 0}, &Room::veng5VaporizedDebris },
-
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEBRIS, 0}, &Room::veng5UseMTricorderOnDebris },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS, 0}, &Room::veng5UseSTricorderOnDebris },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_POWER_PACK, 0}, &Room::veng5UseMTricorderOnPowerPack },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_POWER_PACK, 0}, &Room::veng5UseSTricorderOnPowerPack },
-
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::veng5TalkToKirk },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::veng5TalkToMccoy },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::veng5TalkToSpock },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng5TalkToRedshirt },
-
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::veng5TouchedHotspot0 },
-
- { {ACTION_GET, OBJECT_POWER_PACK, 0, 0}, &Room::veng5GetPowerPack },
- { {ACTION_DONE_WALK, 6, 0, 0}, &Room::veng5ReachedPowerPack },
- { {ACTION_DONE_ANIM, 7, 0, 0}, &Room::veng5PickedUpPowerPack },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::veng5Tick1 },
+ { {ACTION_TICK, 45, 0, 0, 0}, &Room::veng5Tick45 },
+
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng5WalkToDoor },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::veng5ReachedDoor },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::veng5DoorOpened },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::veng5TouchedTurboliftDoor },
+
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng5LookAtDoor },
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::veng5LookAtDoor },
+ { {ACTION_LOOK, HOTSPOT_LADDER, 0, 0, 0}, &Room::veng5LookAtLadder },
+ { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0, 0}, &Room::veng5LookAtDeadGuy },
+ { {ACTION_LOOK, OBJECT_POWER_PACK, 0, 0, 0}, &Room::veng5LookAtPowerPack },
+ { {ACTION_LOOK, OBJECT_DEBRIS, 0, 0, 0}, &Room::veng5LookAtDebris },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::veng5LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng5LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng5LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng5LookAtRedshirt },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::veng5LookAnywhere },
+
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_POWER_PACK, 0, 0}, &Room::veng5UsePhaserOnPowerPack },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_POWER_PACK, 0, 0}, &Room::veng5UsePhaserOnPowerPack },
+ { {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0, 0}, &Room::veng5UseStunPhaserOnDebris },
+ { {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0, 0}, &Room::veng5UseKillPhaserOnDebris },
+ { {ACTION_DONE_WALK, 4, 0, 0, 0}, &Room::veng5ReachedPositionToShootDebris },
+ { {ACTION_DONE_ANIM, 5, 0, 0, 0}, &Room::veng5DrewPhaser },
+ { {ACTION_DONE_ANIM, 3, 0, 0, 0}, &Room::veng5VaporizedDebris },
+
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEBRIS, 0, 0}, &Room::veng5UseMTricorderOnDebris },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS, 0, 0}, &Room::veng5UseSTricorderOnDebris },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_POWER_PACK, 0, 0}, &Room::veng5UseMTricorderOnPowerPack },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_POWER_PACK, 0, 0}, &Room::veng5UseSTricorderOnPowerPack },
+
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::veng5TalkToKirk },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng5TalkToMccoy },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng5TalkToSpock },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng5TalkToRedshirt },
+
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::veng5TouchedHotspot0 },
+
+ { {ACTION_GET, OBJECT_POWER_PACK, 0, 0, 0}, &Room::veng5GetPowerPack },
+ { {ACTION_DONE_WALK, 6, 0, 0, 0}, &Room::veng5ReachedPowerPack },
+ { {ACTION_DONE_ANIM, 7, 0, 0, 0}, &Room::veng5PickedUpPowerPack },
// Common code
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_LOOK, OBJECT_IHYPO, 0, 0}, &Room::vengaLookAtHypo },
- { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_LOOK, OBJECT_IHYPO, 0, 0, 0}, &Room::vengaLookAtHypo },
+ { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum veng5TextIds {
diff --git a/engines/startrek/rooms/veng6.cpp b/engines/startrek/rooms/veng6.cpp
index 84e954cf8ba..7241c76b3dd 100644
--- a/engines/startrek/rooms/veng6.cpp
+++ b/engines/startrek/rooms/veng6.cpp
@@ -42,93 +42,93 @@
namespace StarTrek {
extern const RoomAction veng6ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::veng6Tick1 },
-
- { {ACTION_WALK, OBJECT_DOOR, 0, 0}, &Room::veng6WalkToDoor },
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng6WalkToDoor },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::veng6ReachedDoor },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::veng6DoorOpened },
-
- { {ACTION_LOOK, HOTSPOT_LEFT_PORT, 0, 0}, &Room::veng6LookAtLeftPort },
- { {ACTION_LOOK, HOTSPOT_RIGHT_PORT, 0, 0}, &Room::veng6LookAtRightPort },
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::veng6LookAtDoor },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::veng6LookAtDoor },
- { {ACTION_LOOK, HOTSPOT_OIL_CANISTER, 0, 0}, &Room::veng6LookAtOilCanister },
- { {ACTION_LOOK, OBJECT_CABINET, 0, 0}, &Room::veng6LookAtCabinet },
- { {ACTION_LOOK, HOTSPOT_CABINET, 0, 0}, &Room::veng6LookAtCabinet },
- { {ACTION_LOOK, OBJECT_CABLE_2, 0, 0}, &Room::veng6LookAtCable },
- { {ACTION_LOOK, OBJECT_CABLE_1, 0, 0}, &Room::veng6LookAtCable },
- { {ACTION_LOOK, HOTSPOT_RIGHT_CONSOLE, 0, 0}, &Room::veng6LookAtRightConsole },
- { {ACTION_LOOK, OBJECT_IMPULSE_ENGINES, 0, 0}, &Room::veng6LookAtImpulseEngines },
- { {ACTION_LOOK, HOTSPOT_IMPULSE_ENGINES, 0, 0}, &Room::veng6LookAtImpulseEngines },
- { {ACTION_LOOK, HOTSPOT_LEFT_CONSOLE, 0, 0}, &Room::veng6LookAtLeftConsole },
- { {ACTION_LOOK, OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6LookAtJunctionBox },
- { {ACTION_LOOK, OBJECT_JOURNAL, 0, 0}, &Room::veng6LookAtJournal },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::veng6LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::veng6LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::veng6LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng6LookAtRedshirt },
- { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0}, &Room::veng6LookAtDeadGuy },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::veng6LookAnywhere },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::veng6TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::veng6TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::veng6TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng6TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_LEFT_PORT, 0}, &Room::veng6UseCable1OnLeftPort },
- { {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_LEFT_CONSOLE, 0}, &Room::veng6UseCable1OnLeftPort },
- { {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_LEFT_PORT, 0}, &Room::veng6UseCable2OnLeftPort },
- { {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_LEFT_CONSOLE, 0}, &Room::veng6UseCable2OnLeftPort },
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::veng6KirkOrSpockReachedLeftPort },
- { {ACTION_DONE_WALK, 4, 0, 0}, &Room::veng6KirkOrSpockReachedLeftPort },
- { {ACTION_DONE_ANIM, 5, 0, 0}, &Room::veng6AttachedLeftCable },
-
- { {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_RIGHT_PORT, 0}, &Room::veng6UseCable1OnRightPort },
- { {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_RIGHT_CONSOLE, 0}, &Room::veng6UseCable1OnRightPort },
- { {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_RIGHT_PORT, 0}, &Room::veng6UseCable2OnRightPort },
- { {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_RIGHT_CONSOLE, 0}, &Room::veng6UseCable2OnRightPort },
- { {ACTION_DONE_WALK, 6, 0, 0}, &Room::veng6KirkOrSpockReachedRightPort },
- { {ACTION_DONE_WALK, 7, 0, 0}, &Room::veng6KirkOrSpockReachedRightPort },
- { {ACTION_DONE_ANIM, 8, 0, 0}, &Room::veng6AttachedRightCable },
-
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_JUNCTION_BOX, 0}, &Room::veng6UseCrewmanOnJunctionBox },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_JUNCTION_BOX, 0}, &Room::veng6UseCrewmanOnJunctionBox },
- { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_JUNCTION_BOX, 0}, &Room::veng6UseCrewmanOnJunctionBox },
- { {ACTION_USE, OBJECT_KIRK, OBJECT_JUNCTION_BOX, 0}, &Room::veng6UseCrewmanOnJunctionBox },
- { {ACTION_DONE_WALK, 9, 0, 0}, &Room::veng6SpockReachedJunctionBox },
- { {ACTION_DONE_ANIM, 10, 0, 0}, &Room::veng6SpockAdjustedJunctionBox },
-
- { {ACTION_USE, OBJECT_IHYPO, HOTSPOT_OIL_CANISTER, 0}, &Room::veng6UseHypoOnOilCanister },
- { {ACTION_DONE_WALK, 13, 0, 0}, &Room::veng6ReachedOilCanister },
- { {ACTION_DONE_ANIM, 14, 0, 0}, &Room::veng6FilledHypoWithOil },
-
- { {ACTION_USE, OBJECT_KIRK, OBJECT_CABINET, 0}, &Room::veng6UseCabinet },
- { {ACTION_DONE_WALK, 15, 0, 0}, &Room::veng6ReachedCabinet },
- { {ACTION_DONE_ANIM, 16, 0, 0}, &Room::veng6OpenedOrClosedCabinet },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_IMPULSE_ENGINES, 0}, &Room::veng6UseSTricorderOnImpulseEngines },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_CONSOLE, 0}, &Room::veng6UseSTricorderOnRightConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_JUNCTION_BOX, 0}, &Room::veng6UseSTricorderOnJunctionBox },
- { {ACTION_USE, OBJECT_IFUSION, HOTSPOT_LEFT_CONSOLE, 0}, &Room::veng6UsePowerPackOnLeftConsole },
- { {ACTION_GET, OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6GetJunctionBox },
- { {ACTION_GET, HOTSPOT_OIL_CANISTER, 0, 0}, &Room::veng6GetOilCanister },
- { {ACTION_GET, OBJECT_JOURNAL, 0, 0}, &Room::veng6GetEngineeringJournal },
- { {ACTION_DONE_WALK, 11, 0, 0}, &Room::veng6ReachedEngineeringJournal },
- { {ACTION_DONE_ANIM, 12, 0, 0}, &Room::veng6TookEngineeringJournal },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::veng6Tick1 },
+
+ { {ACTION_WALK, OBJECT_DOOR, 0, 0, 0}, &Room::veng6WalkToDoor },
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng6WalkToDoor },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::veng6ReachedDoor },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::veng6DoorOpened },
+
+ { {ACTION_LOOK, HOTSPOT_LEFT_PORT, 0, 0, 0}, &Room::veng6LookAtLeftPort },
+ { {ACTION_LOOK, HOTSPOT_RIGHT_PORT, 0, 0, 0}, &Room::veng6LookAtRightPort },
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::veng6LookAtDoor },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng6LookAtDoor },
+ { {ACTION_LOOK, HOTSPOT_OIL_CANISTER, 0, 0, 0}, &Room::veng6LookAtOilCanister },
+ { {ACTION_LOOK, OBJECT_CABINET, 0, 0, 0}, &Room::veng6LookAtCabinet },
+ { {ACTION_LOOK, HOTSPOT_CABINET, 0, 0, 0}, &Room::veng6LookAtCabinet },
+ { {ACTION_LOOK, OBJECT_CABLE_2, 0, 0, 0}, &Room::veng6LookAtCable },
+ { {ACTION_LOOK, OBJECT_CABLE_1, 0, 0, 0}, &Room::veng6LookAtCable },
+ { {ACTION_LOOK, HOTSPOT_RIGHT_CONSOLE, 0, 0, 0}, &Room::veng6LookAtRightConsole },
+ { {ACTION_LOOK, OBJECT_IMPULSE_ENGINES, 0, 0, 0}, &Room::veng6LookAtImpulseEngines },
+ { {ACTION_LOOK, HOTSPOT_IMPULSE_ENGINES, 0, 0, 0}, &Room::veng6LookAtImpulseEngines },
+ { {ACTION_LOOK, HOTSPOT_LEFT_CONSOLE, 0, 0, 0}, &Room::veng6LookAtLeftConsole },
+ { {ACTION_LOOK, OBJECT_JUNCTION_BOX, 0, 0, 0}, &Room::veng6LookAtJunctionBox },
+ { {ACTION_LOOK, OBJECT_JOURNAL, 0, 0, 0}, &Room::veng6LookAtJournal },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::veng6LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng6LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng6LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng6LookAtRedshirt },
+ { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0, 0}, &Room::veng6LookAtDeadGuy },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::veng6LookAnywhere },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::veng6TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng6TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng6TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng6TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_LEFT_PORT, 0, 0}, &Room::veng6UseCable1OnLeftPort },
+ { {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_LEFT_CONSOLE, 0, 0}, &Room::veng6UseCable1OnLeftPort },
+ { {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_LEFT_PORT, 0, 0}, &Room::veng6UseCable2OnLeftPort },
+ { {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_LEFT_CONSOLE, 0, 0}, &Room::veng6UseCable2OnLeftPort },
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::veng6KirkOrSpockReachedLeftPort },
+ { {ACTION_DONE_WALK, 4, 0, 0, 0}, &Room::veng6KirkOrSpockReachedLeftPort },
+ { {ACTION_DONE_ANIM, 5, 0, 0, 0}, &Room::veng6AttachedLeftCable },
+
+ { {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_RIGHT_PORT, 0, 0}, &Room::veng6UseCable1OnRightPort },
+ { {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_RIGHT_CONSOLE, 0, 0}, &Room::veng6UseCable1OnRightPort },
+ { {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_RIGHT_PORT, 0, 0}, &Room::veng6UseCable2OnRightPort },
+ { {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_RIGHT_CONSOLE, 0, 0}, &Room::veng6UseCable2OnRightPort },
+ { {ACTION_DONE_WALK, 6, 0, 0, 0}, &Room::veng6KirkOrSpockReachedRightPort },
+ { {ACTION_DONE_WALK, 7, 0, 0, 0}, &Room::veng6KirkOrSpockReachedRightPort },
+ { {ACTION_DONE_ANIM, 8, 0, 0, 0}, &Room::veng6AttachedRightCable },
+
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6UseCrewmanOnJunctionBox },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6UseCrewmanOnJunctionBox },
+ { {ACTION_USE, OBJECT_REDSHIRT, OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6UseCrewmanOnJunctionBox },
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6UseCrewmanOnJunctionBox },
+ { {ACTION_DONE_WALK, 9, 0, 0, 0}, &Room::veng6SpockReachedJunctionBox },
+ { {ACTION_DONE_ANIM, 10, 0, 0, 0}, &Room::veng6SpockAdjustedJunctionBox },
+
+ { {ACTION_USE, OBJECT_IHYPO, HOTSPOT_OIL_CANISTER, 0, 0}, &Room::veng6UseHypoOnOilCanister },
+ { {ACTION_DONE_WALK, 13, 0, 0, 0}, &Room::veng6ReachedOilCanister },
+ { {ACTION_DONE_ANIM, 14, 0, 0, 0}, &Room::veng6FilledHypoWithOil },
+
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_CABINET, 0, 0}, &Room::veng6UseCabinet },
+ { {ACTION_DONE_WALK, 15, 0, 0, 0}, &Room::veng6ReachedCabinet },
+ { {ACTION_DONE_ANIM, 16, 0, 0, 0}, &Room::veng6OpenedOrClosedCabinet },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_IMPULSE_ENGINES, 0, 0}, &Room::veng6UseSTricorderOnImpulseEngines },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_CONSOLE, 0, 0}, &Room::veng6UseSTricorderOnRightConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6UseSTricorderOnJunctionBox },
+ { {ACTION_USE, OBJECT_IFUSION, HOTSPOT_LEFT_CONSOLE, 0, 0}, &Room::veng6UsePowerPackOnLeftConsole },
+ { {ACTION_GET, OBJECT_JUNCTION_BOX, 0, 0, 0}, &Room::veng6GetJunctionBox },
+ { {ACTION_GET, HOTSPOT_OIL_CANISTER, 0, 0, 0}, &Room::veng6GetOilCanister },
+ { {ACTION_GET, OBJECT_JOURNAL, 0, 0, 0}, &Room::veng6GetEngineeringJournal },
+ { {ACTION_DONE_WALK, 11, 0, 0, 0}, &Room::veng6ReachedEngineeringJournal },
+ { {ACTION_DONE_ANIM, 12, 0, 0, 0}, &Room::veng6TookEngineeringJournal },
// Common code
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_LOOK, OBJECT_IHYPO, 0, 0}, &Room::vengaLookAtHypo },
- { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_LOOK, OBJECT_IHYPO, 0, 0, 0}, &Room::vengaLookAtHypo },
+ { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
// ENHANCEMENT
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMPULSE_ENGINES, 0}, &Room::veng6UseSTricorderOnImpulseEngines },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMPULSE_ENGINES, 0, 0}, &Room::veng6UseSTricorderOnImpulseEngines },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum veng6TextIds {
diff --git a/engines/startrek/rooms/veng7.cpp b/engines/startrek/rooms/veng7.cpp
index 3e5942f1659..fb05c2fd4a7 100644
--- a/engines/startrek/rooms/veng7.cpp
+++ b/engines/startrek/rooms/veng7.cpp
@@ -31,46 +31,46 @@
namespace StarTrek {
extern const RoomAction veng7ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::veng7Tick1 },
-
- { {ACTION_WALK, OBJECT_DOOR, 0, 0}, &Room::veng7WalkToDoor },
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng7WalkToDoor },
- { {ACTION_DONE_WALK, 2, 0, 0}, &Room::veng7ReachedDoor },
- { {ACTION_DONE_ANIM, 1, 0, 0}, &Room::veng7DoorOpened },
- { {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::veng7TouchedTurboliftDoor },
-
- { {ACTION_LOOK, HOTSPOT_COLLAPSED_SECTION, 0, 0}, &Room::veng7LookAtCollapsedSection },
- { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0}, &Room::veng7LookAtDeadGuy },
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::veng7LookAtDoor },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::veng7LookAtDoor },
- { {ACTION_LOOK, OBJECT_CABLE, 0, 0}, &Room::veng7LookAtCable },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::veng7LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::veng7LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::veng7LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng7LookAtRedshirt },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::veng7LookAnywhere },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::veng7TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::veng7TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::veng7TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng7TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_COLLAPSED_SECTION, 0}, &Room::veng7UseSTricorderOnCollapsedSection },
-
- { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::veng7TouchedHotspot0 },
- { {ACTION_GET, OBJECT_CABLE, 0, 0}, &Room::veng7GetCable },
- { {ACTION_DONE_WALK, 3, 0, 0}, &Room::veng7ReachedCable },
- { {ACTION_DONE_ANIM, 4, 0, 0}, &Room::veng7PickedUpCable },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::veng7Tick1 },
+
+ { {ACTION_WALK, OBJECT_DOOR, 0, 0, 0}, &Room::veng7WalkToDoor },
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng7WalkToDoor },
+ { {ACTION_DONE_WALK, 2, 0, 0, 0}, &Room::veng7ReachedDoor },
+ { {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::veng7DoorOpened },
+ { {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::veng7TouchedTurboliftDoor },
+
+ { {ACTION_LOOK, HOTSPOT_COLLAPSED_SECTION, 0, 0, 0}, &Room::veng7LookAtCollapsedSection },
+ { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0, 0}, &Room::veng7LookAtDeadGuy },
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::veng7LookAtDoor },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng7LookAtDoor },
+ { {ACTION_LOOK, OBJECT_CABLE, 0, 0, 0}, &Room::veng7LookAtCable },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::veng7LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng7LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng7LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng7LookAtRedshirt },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::veng7LookAnywhere },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::veng7TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng7TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng7TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng7TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_COLLAPSED_SECTION, 0, 0}, &Room::veng7UseSTricorderOnCollapsedSection },
+
+ { {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::veng7TouchedHotspot0 },
+ { {ACTION_GET, OBJECT_CABLE, 0, 0, 0}, &Room::veng7GetCable },
+ { {ACTION_DONE_WALK, 3, 0, 0, 0}, &Room::veng7ReachedCable },
+ { {ACTION_DONE_ANIM, 4, 0, 0, 0}, &Room::veng7PickedUpCable },
// Common code
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_LOOK, OBJECT_IHYPO, 0, 0}, &Room::vengaLookAtHypo },
- { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
- { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_LOOK, OBJECT_IHYPO, 0, 0, 0}, &Room::vengaLookAtHypo },
+ { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+ { {ACTION_USE, OBJECT_IMEDKIT, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_USE, OBJECT_MCCOY, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum veng7TextIds {
diff --git a/engines/startrek/rooms/veng8.cpp b/engines/startrek/rooms/veng8.cpp
index 57931e911eb..04bfea53b0f 100644
--- a/engines/startrek/rooms/veng8.cpp
+++ b/engines/startrek/rooms/veng8.cpp
@@ -40,73 +40,73 @@
namespace StarTrek {
extern const RoomAction veng8ActionList[] = {
- { {ACTION_TICK, 1, 0, 0}, &Room::veng8Tick1 },
-
- { {ACTION_WALK, OBJECT_DOOR, 0, 0}, &Room::veng8WalkToDoor },
- { {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng8WalkToDoor },
- { {ACTION_DONE_WALK, 8, 0, 0}, &Room::veng8ReachedDoor },
- { {ACTION_DONE_ANIM, 7, 0, 0}, &Room::veng8DoorOpened },
- { {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::veng8Timer0Expired },
- { {ACTION_DONE_ANIM, 11, 0, 0}, &Room::veng8SparkAnim1Done },
- { {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::veng8Timer1Expired },
- { {ACTION_DONE_ANIM, 12, 0, 0}, &Room::veng8SparkAnim2Done },
-
- { {ACTION_LOOK, OBJECT_POWER_PACK, 0, 0}, &Room::veng8LookAtPowerPack },
- { {ACTION_LOOK, OBJECT_DOOR, 0, 0}, &Room::veng8LookAtDoor },
- { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::veng8LookAtDoor },
- { {ACTION_LOOK, HOTSPOT_POWER_CIRCUIT, 0, 0}, &Room::veng8LookAtPowerCircuits },
- { {ACTION_LOOK, OBJECT_CONTROLS, 0, 0}, &Room::veng8LookAtControls },
- { {ACTION_LOOK, HOTSPOT_CONTROLS, 0, 0}, &Room::veng8LookAtControls },
- { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0}, &Room::veng8LookAtDeadGuy },
- { {ACTION_LOOK, OBJECT_SLIDER, 0, 0}, &Room::veng8LookAtSlider },
- { {ACTION_LOOK, HOTSPOT_SLIDER, 0, 0}, &Room::veng8LookAtSlider },
- { {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::veng8LookAtKirk },
- { {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::veng8LookAtSpock },
- { {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::veng8LookAtMccoy },
- { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng8LookAtRedshirt },
- { {ACTION_LOOK, HOTSPOT_TRANSPORTER, 0, 0}, &Room::veng8LookAtTransporter },
- { {ACTION_LOOK, 0xff, 0, 0}, &Room::veng8LookAnywhere },
- { {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::veng8TalkToKirk },
- { {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::veng8TalkToSpock },
- { {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::veng8TalkToMccoy },
- { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng8TalkToRedshirt },
-
- { {ACTION_USE, OBJECT_KIRK, OBJECT_CONTROLS, 0}, &Room::veng8UseKirkOnControls },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_CONTROLS, 0}, &Room::veng8UseKirkOnControls },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_CONTROLS, 0}, &Room::veng8UseSpockOnControls },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_CONTROLS, 0}, &Room::veng8UseSpockOnControls },
- { {ACTION_DONE_WALK, 13, 0, 0}, &Room::veng8SpockReachedControls },
- { {ACTION_DONE_ANIM, 14, 0, 0}, &Room::veng8SpockUsedControls },
-
- { {ACTION_USE, OBJECT_IFUSION, HOTSPOT_POWER_CIRCUIT, 0}, &Room::veng8UsePowerPackOnPowerCircuit },
- { {ACTION_DONE_WALK, 9, 0, 0}, &Room::veng8SpockReachedPowerCircuit },
- { {ACTION_DONE_ANIM, 10, 0, 0}, &Room::veng8SpockConnectedPowerPack },
- { {ACTION_DONE_ANIM, 15, 0, 0}, &Room::veng8TransporterPoweredUp },
-
- { {ACTION_USE, OBJECT_KIRK, OBJECT_SLIDER, 0}, &Room::veng8UseKirkOnSlider },
- { {ACTION_USE, OBJECT_KIRK, HOTSPOT_SLIDER, 0}, &Room::veng8UseKirkOnSlider },
- { {ACTION_USE, OBJECT_SPOCK, OBJECT_SLIDER, 0}, &Room::veng8UseSpockOnSlider },
- { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_SLIDER, 0}, &Room::veng8UseSpockOnSlider },
- { {ACTION_DONE_WALK, 16, 0, 0}, &Room::veng8SpockReachedSlider },
- { {ACTION_DONE_WALK, 1, 0, 0}, &Room::veng8RedshirtReachedTransporter },
- { {ACTION_DONE_WALK, 4, 0, 0}, &Room::veng8RedshirtReachedTransporter },
- { {ACTION_DONE_ANIM, 5, 0, 0}, &Room::veng8SpockPulledSliderToBeamOut },
- { {ACTION_DONE_ANIM, 2, 0, 0}, &Room::veng8RedshirtBeamedOut },
- { {ACTION_DONE_ANIM, 6, 0, 0}, &Room::veng8SpockPulledSliderToBeamIn },
- { {ACTION_DONE_ANIM, 3, 0, 0}, &Room::veng8RedshirtBeamedIn },
-
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CONTROLS, 0}, &Room::veng8UseSTricorderOnConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SLIDER, 0}, &Room::veng8UseSTricorderOnConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_CONTROLS, 0}, &Room::veng8UseSTricorderOnConsole },
- { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_SLIDER, 0}, &Room::veng8UseSTricorderOnConsole },
+ { {ACTION_TICK, 1, 0, 0, 0}, &Room::veng8Tick1 },
+
+ { {ACTION_WALK, OBJECT_DOOR, 0, 0, 0}, &Room::veng8WalkToDoor },
+ { {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng8WalkToDoor },
+ { {ACTION_DONE_WALK, 8, 0, 0, 0}, &Room::veng8ReachedDoor },
+ { {ACTION_DONE_ANIM, 7, 0, 0, 0}, &Room::veng8DoorOpened },
+ { {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::veng8Timer0Expired },
+ { {ACTION_DONE_ANIM, 11, 0, 0, 0}, &Room::veng8SparkAnim1Done },
+ { {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::veng8Timer1Expired },
+ { {ACTION_DONE_ANIM, 12, 0, 0, 0}, &Room::veng8SparkAnim2Done },
+
+ { {ACTION_LOOK, OBJECT_POWER_PACK, 0, 0, 0}, &Room::veng8LookAtPowerPack },
+ { {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0}, &Room::veng8LookAtDoor },
+ { {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng8LookAtDoor },
+ { {ACTION_LOOK, HOTSPOT_POWER_CIRCUIT, 0, 0, 0}, &Room::veng8LookAtPowerCircuits },
+ { {ACTION_LOOK, OBJECT_CONTROLS, 0, 0, 0}, &Room::veng8LookAtControls },
+ { {ACTION_LOOK, HOTSPOT_CONTROLS, 0, 0, 0}, &Room::veng8LookAtControls },
+ { {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0, 0}, &Room::veng8LookAtDeadGuy },
+ { {ACTION_LOOK, OBJECT_SLIDER, 0, 0, 0}, &Room::veng8LookAtSlider },
+ { {ACTION_LOOK, HOTSPOT_SLIDER, 0, 0, 0}, &Room::veng8LookAtSlider },
+ { {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::veng8LookAtKirk },
+ { {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng8LookAtSpock },
+ { {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng8LookAtMccoy },
+ { {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng8LookAtRedshirt },
+ { {ACTION_LOOK, HOTSPOT_TRANSPORTER, 0, 0, 0}, &Room::veng8LookAtTransporter },
+ { {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::veng8LookAnywhere },
+ { {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::veng8TalkToKirk },
+ { {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::veng8TalkToSpock },
+ { {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::veng8TalkToMccoy },
+ { {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng8TalkToRedshirt },
+
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_CONTROLS, 0, 0}, &Room::veng8UseKirkOnControls },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_CONTROLS, 0, 0}, &Room::veng8UseKirkOnControls },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_CONTROLS, 0, 0}, &Room::veng8UseSpockOnControls },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_CONTROLS, 0, 0}, &Room::veng8UseSpockOnControls },
+ { {ACTION_DONE_WALK, 13, 0, 0, 0}, &Room::veng8SpockReachedControls },
+ { {ACTION_DONE_ANIM, 14, 0, 0, 0}, &Room::veng8SpockUsedControls },
+
+ { {ACTION_USE, OBJECT_IFUSION, HOTSPOT_POWER_CIRCUIT, 0, 0}, &Room::veng8UsePowerPackOnPowerCircuit },
+ { {ACTION_DONE_WALK, 9, 0, 0, 0}, &Room::veng8SpockReachedPowerCircuit },
+ { {ACTION_DONE_ANIM, 10, 0, 0, 0}, &Room::veng8SpockConnectedPowerPack },
+ { {ACTION_DONE_ANIM, 15, 0, 0, 0}, &Room::veng8TransporterPoweredUp },
+
+ { {ACTION_USE, OBJECT_KIRK, OBJECT_SLIDER, 0, 0}, &Room::veng8UseKirkOnSlider },
+ { {ACTION_USE, OBJECT_KIRK, HOTSPOT_SLIDER, 0, 0}, &Room::veng8UseKirkOnSlider },
+ { {ACTION_USE, OBJECT_SPOCK, OBJECT_SLIDER, 0, 0}, &Room::veng8UseSpockOnSlider },
+ { {ACTION_USE, OBJECT_SPOCK, HOTSPOT_SLIDER, 0, 0}, &Room::veng8UseSpockOnSlider },
+ { {ACTION_DONE_WALK, 16, 0, 0, 0}, &Room::veng8SpockReachedSlider },
+ { {ACTION_DONE_WALK, 1, 0, 0, 0}, &Room::veng8RedshirtReachedTransporter },
+ { {ACTION_DONE_WALK, 4, 0, 0, 0}, &Room::veng8RedshirtReachedTransporter },
+ { {ACTION_DONE_ANIM, 5, 0, 0, 0}, &Room::veng8SpockPulledSliderToBeamOut },
+ { {ACTION_DONE_ANIM, 2, 0, 0, 0}, &Room::veng8RedshirtBeamedOut },
+ { {ACTION_DONE_ANIM, 6, 0, 0, 0}, &Room::veng8SpockPulledSliderToBeamIn },
+ { {ACTION_DONE_ANIM, 3, 0, 0, 0}, &Room::veng8RedshirtBeamedIn },
+
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CONTROLS, 0, 0}, &Room::veng8UseSTricorderOnConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SLIDER, 0, 0}, &Room::veng8UseSTricorderOnConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_CONTROLS, 0, 0}, &Room::veng8UseSTricorderOnConsole },
+ { {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_SLIDER, 0, 0}, &Room::veng8UseSTricorderOnConsole },
// Common code
- { {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
- { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::vengaUsePhaserAnywhere },
- { {ACTION_LOOK, OBJECT_IHYPO, 0, 0}, &Room::vengaLookAtHypo },
- { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
- { {ACTION_LIST_END, 0, 0, 0}, nullptr }
+ { {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+ { {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::vengaUsePhaserAnywhere },
+ { {ACTION_LOOK, OBJECT_IHYPO, 0, 0, 0}, &Room::vengaLookAtHypo },
+ { {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+ { {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
};
enum veng8TextIds {
More information about the Scummvm-git-logs
mailing list