aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek/rooms/tug3.cpp
diff options
context:
space:
mode:
authorMatthew Stewart2018-07-27 20:32:29 -0400
committerEugene Sandulenko2018-08-09 08:37:30 +0200
commit8970909318c158b18eb5612f26db1d4db941160f (patch)
tree90e18c918e1cdca7b9fb6b9e6bf8b13c7ff4ed52 /engines/startrek/rooms/tug3.cpp
parent42b228144ad5f19c412e24a8c98e536908748f95 (diff)
downloadscummvm-rg350-8970909318c158b18eb5612f26db1d4db941160f.tar.gz
scummvm-rg350-8970909318c158b18eb5612f26db1d4db941160f.tar.bz2
scummvm-rg350-8970909318c158b18eb5612f26db1d4db941160f.zip
STARTREK: Reorganize includes in room.h
This should avoid the costly rebuild of everything in the 'rooms/' folder, at least sometimes...
Diffstat (limited to 'engines/startrek/rooms/tug3.cpp')
-rw-r--r--engines/startrek/rooms/tug3.cpp220
1 files changed, 110 insertions, 110 deletions
diff --git a/engines/startrek/rooms/tug3.cpp b/engines/startrek/rooms/tug3.cpp
index c0a0b97263..0d7537cea9 100644
--- a/engines/startrek/rooms/tug3.cpp
+++ b/engines/startrek/rooms/tug3.cpp
@@ -42,7 +42,7 @@ namespace StarTrek {
void Room::tug3Tick1() {
playVoc("TUG3LOOP");
- _vm->_awayMission.disableWalking = true;
+ _awayMission->disableWalking = true;
loadActorAnim2(OBJECT_ELASI_1, "p1turn", 0xa4, 0x98, 0);
loadActorAnim2(OBJECT_ELASI_2, "p2turn", 0xd1, 0x88, 0);
loadActorAnim2(OBJECT_ELASI_3, "p3turn", 0xfb, 0xc4, 0);
@@ -63,31 +63,31 @@ void Room::tug3ElasiSurrendered() {
// they could shoot Kirk as he's beaming out and the mission is "successful". To
// prevent that, the below condition is removed in ScummVM.
/*
- if (_vm->_awayMission.tug.bridgeElasiDrewPhasers)
+ if (_awayMission->tug.bridgeElasiDrewPhasers)
return;
*/
// Also part of the bugfix (stop shooting)
- _vm->_awayMission.timers[0] = 0;
+ _awayMission->timers[0] = 0;
- _vm->_awayMission.tug.elasiSurrendered = true;
+ _awayMission->tug.elasiSurrendered = true;
loadActorAnim2(OBJECT_ELASI_1, "p1surr", -1, -1, 0);
- _vm->_awayMission.tug.bridgeElasi1Status = GUARDSTAT_SURRENDERED;
+ _awayMission->tug.bridgeElasi1Status = GUARDSTAT_SURRENDERED;
- if (_vm->_awayMission.tug.bridgeElasi2Status == GUARDSTAT_UP) {
+ if (_awayMission->tug.bridgeElasi2Status == GUARDSTAT_UP) {
loadActorAnim2(OBJECT_ELASI_2, "p2surr", -1, -1, 0);
- _vm->_awayMission.tug.bridgeElasi2Status = GUARDSTAT_SURRENDERED;
+ _awayMission->tug.bridgeElasi2Status = GUARDSTAT_SURRENDERED;
}
- if (_vm->_awayMission.tug.bridgeElasi3Status == GUARDSTAT_UP) {
+ if (_awayMission->tug.bridgeElasi3Status == GUARDSTAT_UP) {
loadActorAnim2(OBJECT_ELASI_3, "p3surr", -1, -1, 0);
- _vm->_awayMission.tug.bridgeElasi3Status = GUARDSTAT_SURRENDERED;
+ _awayMission->tug.bridgeElasi3Status = GUARDSTAT_SURRENDERED;
}
- if (_vm->_awayMission.tug.bridgeElasi4Status == GUARDSTAT_UP) {
+ if (_awayMission->tug.bridgeElasi4Status == GUARDSTAT_UP) {
loadActorAnim2(OBJECT_ELASI_4, "p4surr", -1, -1, 0);
- _vm->_awayMission.tug.bridgeElasi4Status = GUARDSTAT_SURRENDERED;
+ _awayMission->tug.bridgeElasi4Status = GUARDSTAT_SURRENDERED;
}
- _vm->_awayMission.tug.missionScore += 4;
+ _awayMission->tug.missionScore += 4;
}
void Room::tug3UsePhaserAnywhere() {
@@ -95,134 +95,134 @@ void Room::tug3UsePhaserAnywhere() {
}
void Room::tug3ElasiDrawPhasers() {
- if (_vm->_awayMission.tug.bridgeElasiDrewPhasers)
+ if (_awayMission->tug.bridgeElasiDrewPhasers)
return;
- _vm->_awayMission.tug.bridgeElasiDrewPhasers = true;
+ _awayMission->tug.bridgeElasiDrewPhasers = true;
// If brig guards are alive & untied, kill the hostages
- if (_vm->_awayMission.tug.guard1Status == 0 || _vm->_awayMission.tug.guard2Status == 0) {
+ if (_awayMission->tug.guard1Status == 0 || _awayMission->tug.guard2Status == 0) {
showText(TX_SPEAKER_ELASI_CLANSMAN, TX_TUG3L081);
- _vm->_awayMission.tug.missionScore = 0;
+ _awayMission->tug.missionScore = 0;
}
- if (_vm->_awayMission.timers[0] == 0)
- _vm->_awayMission.timers[0] = 10;
+ if (_awayMission->timers[0] == 0)
+ _awayMission->timers[0] = 10;
// Make all elasi draw their phasers
- if (_vm->_awayMission.tug.bridgeElasi1Status == 0)
+ if (_awayMission->tug.bridgeElasi1Status == 0)
loadActorAnim2(OBJECT_ELASI_1, "p1draw", -1, -1, 0);
- if (_vm->_awayMission.tug.bridgeElasi2Status == 0)
+ if (_awayMission->tug.bridgeElasi2Status == 0)
loadActorAnim2(OBJECT_ELASI_2, "p2draw", -1, -1, 0);
- if (_vm->_awayMission.tug.bridgeElasi3Status == 0)
+ if (_awayMission->tug.bridgeElasi3Status == 0)
loadActorAnim2(OBJECT_ELASI_3, "p3draw", -1, -1, 0);
- if (_vm->_awayMission.tug.bridgeElasi4Status == 0)
+ if (_awayMission->tug.bridgeElasi4Status == 0)
loadActorAnim2(OBJECT_ELASI_4, "p4draw", -1, -1, 0);
}
void Room::tug3UseStunPhaserOnElasi1() {
- if (_vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK] || _vm->_awayMission.tug.bridgeElasi1Status != GUARDSTAT_UP)
+ if (_awayMission->tug.crewmanKilled[OBJECT_KIRK] || _awayMission->tug.bridgeElasi1Status != GUARDSTAT_UP)
return;
loadActorAnim2(OBJECT_ELASI_1, "p1stun", -1, -1, 12);
playSoundEffectIndex(SND_PHASSHOT);
showBitmapFor5Ticks("t3beem05", 5);
- _vm->_awayMission.tug.bridgeElasi1Status = GUARDSTAT_STUNNED;
+ _awayMission->tug.bridgeElasi1Status = GUARDSTAT_STUNNED;
tug3ElasiDrawPhasers();
}
void Room::tug3UseStunPhaserOnElasi2() {
- if (_vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK] || _vm->_awayMission.tug.bridgeElasi2Status != GUARDSTAT_UP)
+ if (_awayMission->tug.crewmanKilled[OBJECT_KIRK] || _awayMission->tug.bridgeElasi2Status != GUARDSTAT_UP)
return;
loadActorAnim2(OBJECT_ELASI_2, "p2stun", -1, -1, 12);
playSoundEffectIndex(SND_PHASSHOT);
showBitmapFor5Ticks("t3beem06", 5);
- _vm->_awayMission.tug.bridgeElasi2Status = GUARDSTAT_STUNNED;
+ _awayMission->tug.bridgeElasi2Status = GUARDSTAT_STUNNED;
tug3ElasiDrawPhasers();
}
void Room::tug3UseStunPhaserOnElasi3() {
- if (_vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK] || _vm->_awayMission.tug.bridgeElasi3Status != GUARDSTAT_UP)
+ if (_awayMission->tug.crewmanKilled[OBJECT_KIRK] || _awayMission->tug.bridgeElasi3Status != GUARDSTAT_UP)
return;
loadActorAnim2(OBJECT_ELASI_3, "p3stun", -1, -1, 12);
playSoundEffectIndex(SND_PHASSHOT);
showBitmapFor5Ticks("t3beem07", 5);
- _vm->_awayMission.tug.bridgeElasi3Status = GUARDSTAT_STUNNED;
+ _awayMission->tug.bridgeElasi3Status = GUARDSTAT_STUNNED;
tug3ElasiDrawPhasers();
}
void Room::tug3UseStunPhaserOnElasi4() {
- if (_vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK] || _vm->_awayMission.tug.bridgeElasi4Status != GUARDSTAT_UP)
+ if (_awayMission->tug.crewmanKilled[OBJECT_KIRK] || _awayMission->tug.bridgeElasi4Status != GUARDSTAT_UP)
return;
loadActorAnim2(OBJECT_ELASI_4, "p4stun", -1, -1, 12);
playSoundEffectIndex(SND_PHASSHOT);
showBitmapFor5Ticks("t3beem04", 5);
- _vm->_awayMission.tug.bridgeElasi4Status = GUARDSTAT_STUNNED;
+ _awayMission->tug.bridgeElasi4Status = GUARDSTAT_STUNNED;
tug3ElasiDrawPhasers();
}
void Room::tug3UseKillPhaserOnElasi1() {
- if (_vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK] || _vm->_awayMission.tug.bridgeElasi1Status != GUARDSTAT_UP)
+ if (_awayMission->tug.crewmanKilled[OBJECT_KIRK] || _awayMission->tug.bridgeElasi1Status != GUARDSTAT_UP)
return;
loadActorAnim2(OBJECT_ELASI_1, "p1Kill", -1, -1, 12);
playSoundEffectIndex(SND_PHASSHOT);
showBitmapFor5Ticks("t3beem25", 5);
- _vm->_awayMission.tug.bridgeElasi1Status = GUARDSTAT_DEAD;
- _vm->_awayMission.tug.missionScore -= 2;
+ _awayMission->tug.bridgeElasi1Status = GUARDSTAT_DEAD;
+ _awayMission->tug.missionScore -= 2;
tug3ElasiDrawPhasers();
}
void Room::tug3UseKillPhaserOnElasi2() {
- if (_vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK] || _vm->_awayMission.tug.bridgeElasi2Status != GUARDSTAT_UP)
+ if (_awayMission->tug.crewmanKilled[OBJECT_KIRK] || _awayMission->tug.bridgeElasi2Status != GUARDSTAT_UP)
return;
loadActorAnim2(OBJECT_ELASI_2, "p2Kill", -1, -1, 12);
playSoundEffectIndex(SND_PHASSHOT);
showBitmapFor5Ticks("t3beem27", 5);
- _vm->_awayMission.tug.bridgeElasi2Status = GUARDSTAT_DEAD;
- _vm->_awayMission.tug.missionScore -= 2;
+ _awayMission->tug.bridgeElasi2Status = GUARDSTAT_DEAD;
+ _awayMission->tug.missionScore -= 2;
tug3ElasiDrawPhasers();
}
void Room::tug3UseKillPhaserOnElasi3() {
- if (_vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK] || _vm->_awayMission.tug.bridgeElasi3Status != GUARDSTAT_UP)
+ if (_awayMission->tug.crewmanKilled[OBJECT_KIRK] || _awayMission->tug.bridgeElasi3Status != GUARDSTAT_UP)
return;
loadActorAnim2(OBJECT_ELASI_3, "p3Kill", -1, -1, 12);
playSoundEffectIndex(SND_PHASSHOT);
showBitmapFor5Ticks("t3beem26", 5);
- _vm->_awayMission.tug.bridgeElasi3Status = GUARDSTAT_DEAD;
- _vm->_awayMission.tug.missionScore -= 2;
+ _awayMission->tug.bridgeElasi3Status = GUARDSTAT_DEAD;
+ _awayMission->tug.missionScore -= 2;
tug3ElasiDrawPhasers();
}
void Room::tug3UseKillPhaserOnElasi4() {
- if (_vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK] || _vm->_awayMission.tug.bridgeElasi4Status != GUARDSTAT_UP)
+ if (_awayMission->tug.crewmanKilled[OBJECT_KIRK] || _awayMission->tug.bridgeElasi4Status != GUARDSTAT_UP)
return;
loadActorAnim2(OBJECT_ELASI_4, "p4Kill", -1, -1, 12);
playSoundEffectIndex(SND_PHASSHOT);
showBitmapFor5Ticks("t3beem24", 5);
- _vm->_awayMission.tug.bridgeElasi4Status = GUARDSTAT_DEAD;
- _vm->_awayMission.tug.missionScore -= 2;
+ _awayMission->tug.bridgeElasi4Status = GUARDSTAT_DEAD;
+ _awayMission->tug.missionScore -= 2;
tug3ElasiDrawPhasers();
}
void Room::tug3ElasiStunnedOrKilled() {
- if (_vm->_awayMission.tug.bridgeWinMethod == 1)
+ if (_awayMission->tug.bridgeWinMethod == 1)
return;
- if (_vm->_awayMission.tug.bridgeElasi1Status == GUARDSTAT_UP || _vm->_awayMission.tug.bridgeElasi2Status == GUARDSTAT_UP
- || _vm->_awayMission.tug.bridgeElasi3Status == GUARDSTAT_UP || _vm->_awayMission.tug.bridgeElasi4Status == GUARDSTAT_UP)
+ if (_awayMission->tug.bridgeElasi1Status == GUARDSTAT_UP || _awayMission->tug.bridgeElasi2Status == GUARDSTAT_UP
+ || _awayMission->tug.bridgeElasi3Status == GUARDSTAT_UP || _awayMission->tug.bridgeElasi4Status == GUARDSTAT_UP)
return;
// BUGFIX: if the ship is deorbiting, the mission isn't won yet.
- if (_vm->_awayMission.tug.orbitalDecayCounter != 0)
+ if (_awayMission->tug.orbitalDecayCounter != 0)
return;
- _vm->_awayMission.tug.bridgeWinMethod = 1;
+ _awayMission->tug.bridgeWinMethod = 1;
tug3EndMission();
}
void Room::tug3TalkToElasi1() {
- if (_vm->_awayMission.tug.bridgeElasi1Status != GUARDSTAT_UP || _vm->_awayMission.tug.talkedToCereth)
+ if (_awayMission->tug.bridgeElasi1Status != GUARDSTAT_UP || _awayMission->tug.talkedToCereth)
return;
- _vm->_awayMission.tug.talkedToCereth = true;
+ _awayMission->tug.talkedToCereth = true;
const int choices[] = {
TX_SPEAKER_KIRK,
@@ -236,27 +236,27 @@ void Room::tug3TalkToElasi1() {
switch (choice) {
case 0: // They surrender
showText(TX_SPEAKER_ELASI_CERETH, TX_TUG3L084);
- _vm->_awayMission.tug.bridgeElasi1Status = GUARDSTAT_SURRENDERED;
+ _awayMission->tug.bridgeElasi1Status = GUARDSTAT_SURRENDERED;
loadActorAnim2(OBJECT_ELASI_1, "p1surr", -1, -1, 0);
tug3ElasiSurrendered();
- _vm->_awayMission.tug.bridgeWinMethod = 2;
- _vm->_awayMission.tug.missionScore += 8;
+ _awayMission->tug.bridgeWinMethod = 2;
+ _awayMission->tug.missionScore += 8;
tug3EndMission();
break;
case 1: // Cereth shoots console, doesn't surrender
- _vm->_awayMission.disableInput = true;
+ _awayMission->disableInput = true;
showText(TX_SPEAKER_ELASI_CERETH, TX_TUG3_F27);
loadActorAnim2(OBJECT_ELASI_1, "p1draw", -1, -1, 3);
break;
case 2: // Cereth shoots console and surrenders
- _vm->_awayMission.disableInput = true;
+ _awayMission->disableInput = true;
showText(TX_SPEAKER_ELASI_CERETH, TX_TUG3L083);
loadActorAnim2(OBJECT_ELASI_1, "p1draw", -1, -1, 5);
// BUGFIX: they're going to surrender, so stop the firefight.
- _vm->_awayMission.timers[0] = 0;
+ _awayMission->timers[0] = 0;
break;
}
}
@@ -270,9 +270,9 @@ void Room::tug3Elasi1DrewPhaser() {
void Room::tug3Elasi1ShotConsole() {
tug3ElasiDrawPhasers();
- _vm->_awayMission.disableInput = false;
- _vm->_awayMission.tug.bridgeWinMethod = 3;
- _vm->_awayMission.timers[1] = 10;
+ _awayMission->disableInput = false;
+ _awayMission->tug.bridgeWinMethod = 3;
+ _awayMission->timers[1] = 10;
}
void Room::tug3Elasi1DrewPhaser2() {
@@ -284,9 +284,9 @@ void Room::tug3Elasi1DrewPhaser2() {
void Room::tug3Elasi1ShotConsoleAndSurrenders() {
showText(TX_SPEAKER_ELASI_CERETH, TX_TUG3L080);
tug3ElasiSurrendered();
- _vm->_awayMission.disableInput = false;
- _vm->_awayMission.tug.bridgeWinMethod = 3;
- _vm->_awayMission.timers[1] = 10;
+ _awayMission->disableInput = false;
+ _awayMission->tug.bridgeWinMethod = 3;
+ _awayMission->timers[1] = 10;
}
void Room::tug3LookAtMccoy() {
@@ -308,7 +308,7 @@ void Room::tug3LookAtElasi1() {
// The function itself is changed by checking both if he's stunned or if he's dead,
// instead of just checking if he's stunned.
- if (_vm->_awayMission.tug.bridgeElasi1Status == GUARDSTAT_STUNNED || _vm->_awayMission.tug.bridgeElasi1Status == GUARDSTAT_DEAD)
+ if (_awayMission->tug.bridgeElasi1Status == GUARDSTAT_STUNNED || _awayMission->tug.bridgeElasi1Status == GUARDSTAT_DEAD)
showText(TX_TUG3N003);
else
showText(TX_TUG3N008);
@@ -317,32 +317,32 @@ void Room::tug3LookAtElasi1() {
void Room::tug3LookAtElasi2() {
// BUGFIX: also check if stunned. They can't "glare at the crewmembers" if they're
// unconscious. (applies to below functions too.)
- if (_vm->_awayMission.tug.bridgeElasi2Status == GUARDSTAT_DEAD || _vm->_awayMission.tug.bridgeElasi2Status == GUARDSTAT_STUNNED)
+ if (_awayMission->tug.bridgeElasi2Status == GUARDSTAT_DEAD || _awayMission->tug.bridgeElasi2Status == GUARDSTAT_STUNNED)
showText(TX_TUG3N004);
else
showText(TX_TUG3N005);
}
void Room::tug3LookAtElasi3() {
- if (_vm->_awayMission.tug.bridgeElasi3Status == GUARDSTAT_DEAD || _vm->_awayMission.tug.bridgeElasi2Status == GUARDSTAT_STUNNED)
+ if (_awayMission->tug.bridgeElasi3Status == GUARDSTAT_DEAD || _awayMission->tug.bridgeElasi2Status == GUARDSTAT_STUNNED)
showText(TX_TUG3N004);
else
showText(TX_TUG3N005);
}
void Room::tug3LookAtElasi4() {
- if (_vm->_awayMission.tug.bridgeElasi4Status == GUARDSTAT_DEAD || _vm->_awayMission.tug.bridgeElasi2Status == GUARDSTAT_STUNNED)
+ if (_awayMission->tug.bridgeElasi4Status == GUARDSTAT_DEAD || _awayMission->tug.bridgeElasi2Status == GUARDSTAT_STUNNED)
showText(TX_TUG3N004);
else
showText(TX_TUG3N005);
}
void Room::tug3TalkToMccoy() {
- if (_vm->_awayMission.tug.orbitalDecayCounter != 0 || _vm->_awayMission.tug.bridgeElasi1Status != GUARDSTAT_UP) {
- if (_vm->_awayMission.tug.orbitalDecayCounter >= 10) {
- if (_vm->_awayMission.tug.orbitalDecayCounter < 16)
+ if (_awayMission->tug.orbitalDecayCounter != 0 || _awayMission->tug.bridgeElasi1Status != GUARDSTAT_UP) {
+ if (_awayMission->tug.orbitalDecayCounter >= 10) {
+ if (_awayMission->tug.orbitalDecayCounter < 16)
showText(TX_SPEAKER_MCCOY, TX_TUG3_011);
- } else if (_vm->_awayMission.tug.orbitalDecayCounter != 0) {
+ } else if (_awayMission->tug.orbitalDecayCounter != 0) {
// BUGFIX: original game displays a blank textbox. An appropriate audio file
// exists, but the corresponding text was written from scratch for ScummVM.
// TODO: check if original floppy version has text for this.
@@ -353,9 +353,9 @@ void Room::tug3TalkToMccoy() {
}
void Room::tug3TalkToSpock() {
- if (_vm->_awayMission.tug.orbitalDecayCounter != 0) {
- if (_vm->_awayMission.tug.orbitalDecayCounter >= 10) {
- if (_vm->_awayMission.tug.orbitalDecayCounter < 16)
+ if (_awayMission->tug.orbitalDecayCounter != 0) {
+ if (_awayMission->tug.orbitalDecayCounter >= 10) {
+ if (_awayMission->tug.orbitalDecayCounter < 16)
showText(TX_SPEAKER_SPOCK, TX_TUG3_008);
} else
showText(TX_SPEAKER_SPOCK, TX_TUG3_009);
@@ -367,36 +367,36 @@ void Room::tug3TalkToRedshirt() {
}
void Room::tug3UseCommunicator() {
- if (_vm->_awayMission.tug.orbitalDecayCounter == 0)
+ if (_awayMission->tug.orbitalDecayCounter == 0)
return;
- if (_vm->_awayMission.tug.orbitalDecayCounter < 10) {
+ if (_awayMission->tug.orbitalDecayCounter < 10) {
showText(TX_SPEAKER_KIRK, TX_TUG3_007);
showText(TX_SPEAKER_SULU, TX_TUG3_015);
showText(TX_SPEAKER_SHIPS_COMPUTER, TX_COMPA180);
- _vm->_awayMission.timers[1] = 0;
+ _awayMission->timers[1] = 0;
// BUGFIX: if still fighting the elasi, the mission isn't done yet.
- _vm->_awayMission.tug.orbitalDecayCounter = 0;
- if (!_vm->_awayMission.tug.elasiSurrendered &&
- (_vm->_awayMission.tug.bridgeElasi1Status == GUARDSTAT_UP
- || _vm->_awayMission.tug.bridgeElasi2Status == GUARDSTAT_UP
- || _vm->_awayMission.tug.bridgeElasi3Status == GUARDSTAT_UP
- || _vm->_awayMission.tug.bridgeElasi4Status == GUARDSTAT_UP))
+ _awayMission->tug.orbitalDecayCounter = 0;
+ if (!_awayMission->tug.elasiSurrendered &&
+ (_awayMission->tug.bridgeElasi1Status == GUARDSTAT_UP
+ || _awayMission->tug.bridgeElasi2Status == GUARDSTAT_UP
+ || _awayMission->tug.bridgeElasi3Status == GUARDSTAT_UP
+ || _awayMission->tug.bridgeElasi4Status == GUARDSTAT_UP))
return;
tug3EndMission();
} else {
- if (_vm->_awayMission.tug.orbitalDecayCounter < 16) {
+ if (_awayMission->tug.orbitalDecayCounter < 16) {
showText(TX_SPEAKER_KIRK, TX_TUG3_006);
showText(TX_SPEAKER_SCOTT, TX_TUG3_S07);
playMidiMusicTracks(-1, -1);
- _vm->_awayMission.disableInput = true;
- if (_vm->_awayMission.tug.missionScore < 0)
- _vm->_awayMission.tug.missionScore = 0;
- endMission(_vm->_awayMission.tug.missionScore, _vm->_awayMission.tug.field2b, _vm->_awayMission.tug.field2d);
+ _awayMission->disableInput = true;
+ if (_awayMission->tug.missionScore < 0)
+ _awayMission->tug.missionScore = 0;
+ endMission(_awayMission->tug.missionScore, _awayMission->tug.field2b, _awayMission->tug.field2d);
}
}
}
@@ -411,31 +411,31 @@ void Room::tug3Timer0Expired() {
int elasiShooter, elasiTarget;
- if (_vm->_awayMission.tug.bridgeElasi2Status == GUARDSTAT_UP)
+ if (_awayMission->tug.bridgeElasi2Status == GUARDSTAT_UP)
elasiShooter = 0;
- else if (_vm->_awayMission.tug.bridgeElasi3Status == GUARDSTAT_UP)
+ else if (_awayMission->tug.bridgeElasi3Status == GUARDSTAT_UP)
elasiShooter = 1;
- else if (_vm->_awayMission.tug.bridgeElasi4Status == GUARDSTAT_UP)
+ else if (_awayMission->tug.bridgeElasi4Status == GUARDSTAT_UP)
elasiShooter = 2;
else
return;
- if (!_vm->_awayMission.tug.crewmanKilled[OBJECT_REDSHIRT]) {
- _vm->_awayMission.tug.crewmanKilled[OBJECT_REDSHIRT] = 2;
- _vm->_awayMission.redshirtDead = true;
+ if (!_awayMission->tug.crewmanKilled[OBJECT_REDSHIRT]) {
+ _awayMission->tug.crewmanKilled[OBJECT_REDSHIRT] = 2;
+ _awayMission->redshirtDead = true;
loadActorAnim2(OBJECT_REDSHIRT, "rkills", -1, -1, 0);
elasiTarget = OBJECT_REDSHIRT;
- } else if (!_vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK]) {
- _vm->_awayMission.tug.crewmanKilled[OBJECT_KIRK] = 2;
- _vm->_awayMission.disableInput = true;
+ } else if (!_awayMission->tug.crewmanKilled[OBJECT_KIRK]) {
+ _awayMission->tug.crewmanKilled[OBJECT_KIRK] = 2;
+ _awayMission->disableInput = true;
loadActorAnim2(OBJECT_KIRK, "kkills", -1, -1, 0);
elasiTarget = OBJECT_KIRK;
- } else if (!_vm->_awayMission.tug.crewmanKilled[OBJECT_SPOCK]) {
- _vm->_awayMission.tug.crewmanKilled[OBJECT_SPOCK] = 2;
+ } else if (!_awayMission->tug.crewmanKilled[OBJECT_SPOCK]) {
+ _awayMission->tug.crewmanKilled[OBJECT_SPOCK] = 2;
loadActorAnim2(OBJECT_SPOCK, "skills", -1, -1, 0);
elasiTarget = OBJECT_SPOCK;
- } else if (!_vm->_awayMission.tug.crewmanKilled[OBJECT_MCCOY]) {
- _vm->_awayMission.tug.crewmanKilled[OBJECT_MCCOY] = 2;
+ } else if (!_awayMission->tug.crewmanKilled[OBJECT_MCCOY]) {
+ _awayMission->tug.crewmanKilled[OBJECT_MCCOY] = 2;
loadActorAnim2(OBJECT_MCCOY, "mkills", -1, -1, 13);
elasiTarget = OBJECT_MCCOY;
} else
@@ -443,7 +443,7 @@ void Room::tug3Timer0Expired() {
playSoundEffectIndex(SND_PHASSHOT);
showBitmapFor5Ticks(beamAnims[elasiShooter][elasiTarget], 5);
- _vm->_awayMission.timers[0] = 50;
+ _awayMission->timers[0] = 50;
}
void Room::tug3AllCrewmenDead() {
@@ -453,14 +453,14 @@ void Room::tug3AllCrewmenDead() {
// "Orbital decay" countdown timer
void Room::tug3Timer1Expired() {
- if (_vm->_awayMission.tug.orbitalDecayCounter < 10) { // Decay still preventable
+ if (_awayMission->tug.orbitalDecayCounter < 10) { // Decay still preventable
showText(TX_SPEAKER_SHIPS_COMPUTER, TX_COMPU182);
- _vm->_awayMission.timers[1] = 100;
- _vm->_awayMission.tug.orbitalDecayCounter++;
- } else if (_vm->_awayMission.tug.orbitalDecayCounter < 16) { // Decay now unavoidable
+ _awayMission->timers[1] = 100;
+ _awayMission->tug.orbitalDecayCounter++;
+ } else if (_awayMission->tug.orbitalDecayCounter < 16) { // Decay now unavoidable
showText(TX_SPEAKER_SHIPS_COMPUTER, TX_COMPU181);
- _vm->_awayMission.timers[1] = 100;
- _vm->_awayMission.tug.orbitalDecayCounter++;
+ _awayMission->timers[1] = 100;
+ _awayMission->tug.orbitalDecayCounter++;
} else { // Game over
showText(TX_TUG3N006);
showGameOverMenu();
@@ -485,10 +485,10 @@ void Room::tug3SecurityTeamBeamedIn() {
showText(TX_SPEAKER_SCOTT, TX_TUG3_S08);
playMidiMusicTracks(-1, -1);
- _vm->_awayMission.disableInput = true;
- if (_vm->_awayMission.tug.missionScore < 0)
- _vm->_awayMission.tug.missionScore = 0;
- endMission(_vm->_awayMission.tug.missionScore, _vm->_awayMission.tug.field2b, _vm->_awayMission.tug.field2d);
+ _awayMission->disableInput = true;
+ if (_awayMission->tug.missionScore < 0)
+ _awayMission->tug.missionScore = 0;
+ endMission(_awayMission->tug.missionScore, _awayMission->tug.field2b, _awayMission->tug.field2d);
}
}