Permalink
Browse files

STARTREK: SINS3

  • Loading branch information...
Drenn1 authored and sev- committed Jul 28, 2018
1 parent 4424515 commit fe805de2efc393b9b0d249b483bac2425408a670
@@ -526,14 +526,39 @@ struct AwayMission {
bool doorLaserFiredOnce; // 0x34
bool gotPointsForAccessingTerminal; // 0x35
bool scannedKeycardLock; // 0x36
byte field39; // 0x39
byte laserSetting; // 0x37

// 0 if the laser hasn't been programmed with the keycard template;
// 1 if it has been programmed with the template;
// 2 if the rock has been placed on the wall.
byte laserPattern; // 0x38

// bit 0: got a rock, or at least scanned the ground outside
// bit 1: entered mineshaft room
// bit 2: scanned the ID card panel
// bit 3: set after all 3 clues are obtained and Spock explains how to make
// the keycard
byte gatheredClues; // 0x39

bool openedOuterDoor; // 0x3d
bool openedInnerDoor; // 0x3e
bool unlockedIDCardDoor; // 0x3f

// 0: mold hasn't been created
// 2: mold for the keycard has been etched into the rock
// 3: rock placed top of the mold
// 4: a keycard is there
int8 moldState; // 0x40

// 0: box closed
// 1: box open
// 2: box empty
byte boxState; // 0x41

bool enteredRoom0FirstTime; // 0x42
bool scottyInformedKirkAboutVirus; // 0x43
bool enteredRoom2FirstTime; // 0x44
bool field45; // 0x45
bool enteredRoom3FirstTime; // 0x45
bool enteredRoom4FirstTime; // 0x46
bool gotPointsForScanningStatue; // 0x48
bool gotPointsForScanningRoom4; // 0x49
@@ -2269,6 +2269,64 @@ class Room {

// SINS3
void sins3Tick1();
void sins3UseSTricorderOnBox();
void sins3UseSTricorderOnMonitor();
void sins3UseSTricorderAnywhere();
void sins3UseSTricorderOnDrill();
void sins3UseSTricorderOnPanel();
void sins3LookAtDrill();
void sins3LookAtPanel();
void sins3LookAtMonitor();
void sins3LookAnywhere();
void sins3UseSTricorderOnWall();
void sins3LookAtBox();
void sins3UseKirkOnBox();
void sins3KirkReachedBox();
void sins3Timer0Expired();
void sins3UseSpockOnBox();
void sins3SpockReachedBox();
void sins3UseMccoyOnBox();
void sins3MccoyReachedBox();
void sins3UseRedshirtOnBox();
void sins3RedshirtReachedBox();
void sins3BoxOpened();
void sins3GetBox();
void sins3KirkReachedBoxToGet();
void sins3KirkGotBoxContents();
void sins3Tick30();
void sins3Tick60();
void sins3UseKirkOnPanel();
void sins3UseSpockOnPanel();
void sins3SpockReachedPanel();
void sins3UseRockOnWall();
void sins3KirkReachedWall();
void sins3KirkPutRockOnWall();
void sins3KirkBackedAwayFromWall();
void sins3UsedLowPowerLaserOnRock();
void sins3MadeHoleInRock();
void sins3CreatedTemplateInRock();
void sins3RockTurnedIntoIDCard();
void sins3RockVaporized();
void sins3UseDrillAnywhere();
void sins3GetIDCard();
void sins3ReachedIDCard();
void sins3PickedUpIDCard();
void sins3LookAtItemBeingDrilled();
void sins3LookAtKirk();
void sins3LookAtSpock();
void sins3LookAtMccoy();
void sins3LookAtRedshirt();
void sins3TalkToKirk();
void sins3TalkToSpock();
void sins3TalkToMccoy();
void sins3TalkToRedshirt();
void sins3UseCommunicator();
void sins3UseSpockOnDrill();
void sins3UseMccoyOnDrill();
void sins3UseRedshirtOnDrill();
void sins3WalkToDoor();
void sins3UseMedkitOnCrewman();
void sins3UseMTricorderOnCrewman();

// SINS4
void sins4Tick1();
@@ -133,7 +133,7 @@ void Room::sins0LookAtGround() {
void Room::sins0GetRock() {
_awayMission->disableInput = true;
loadActorAnimC(OBJECT_KIRK, "kpickw", -1, -1, &Room::sins0PickedUpRock);
_awayMission->sins.field39 |= 1;
_awayMission->sins.gatheredClues |= 1;
}

void Room::sins0PickedUpRock() {
@@ -149,7 +149,7 @@ void Room::sins0UseSTricorderAnywhere() {

void Room::sins0UseSTricorderOnGround() {
spockScan(DIR_S, TX_SIN0_017);
_awayMission->sins.field39 |= 1;
_awayMission->sins.gatheredClues |= 1;
}

void Room::sins0UseSTricorderOnPlanet() {
Oops, something went wrong.

0 comments on commit fe805de

Please sign in to comment.