aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek/awaymission.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/startrek/awaymission.cpp')
-rw-r--r--engines/startrek/awaymission.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/engines/startrek/awaymission.cpp b/engines/startrek/awaymission.cpp
index 8ae11d4d7e..8c7f8db51e 100644
--- a/engines/startrek/awaymission.cpp
+++ b/engines/startrek/awaymission.cpp
@@ -189,7 +189,7 @@ void StarTrekEngine::handleAwayMissionEvents() {
updateAwayMissionTimers();
_frameIndex++;
_roomFrameCounter++;
- addAction(Action(ACTION_TICK, _roomFrameCounter & 0xff, (_roomFrameCounter >> 8) & 0xff, 0));
+ addAction(ACTION_TICK, _roomFrameCounter & 0xff, (_roomFrameCounter >> 8) & 0xff, 0);
if (_roomFrameCounter >= 2)
_gfx->incPaletteFadeLevel();
break;
@@ -258,16 +258,16 @@ useInventory:
if (clickedObject == -2)
goto checkAddAction;
- if (_room->actionHasCode(Action(ACTION_USE, _awayMission.activeObject, _awayMission.passiveObject, 0)))
+ if (_room->actionHasCode(ACTION_USE, _awayMission.activeObject, _awayMission.passiveObject, 0))
goto checkAddAction;
if (_awayMission.activeObject == OBJECT_MCCOY) {
- if (_room->actionHasCode(Action(ACTION_USE, OBJECT_IMEDKIT, _awayMission.passiveObject, 0)))
+ if (_room->actionHasCode(ACTION_USE, OBJECT_IMEDKIT, _awayMission.passiveObject, 0))
goto checkAddAction;
- if (_room->actionHasCode(Action(ACTION_USE, OBJECT_IMEDKIT, _awayMission.passiveObject, 0)))
+ if (_room->actionHasCode(ACTION_USE, OBJECT_IMEDKIT, _awayMission.passiveObject, 0))
goto checkAddAction;
}
else if (_awayMission.activeObject == OBJECT_SPOCK) {
- if (_room->actionHasCode(Action(ACTION_USE, OBJECT_ISTRICOR, _awayMission.passiveObject, 0)))
+ if (_room->actionHasCode(ACTION_USE, OBJECT_ISTRICOR, _awayMission.passiveObject, 0))
goto checkAddAction;
}
@@ -277,7 +277,7 @@ useInventory:
if (_awayMission.passiveObject == OBJECT_ICOMM) {
if (walkActiveObjectToHotspot())
break;
- addAction(Action(ACTION_USE, OBJECT_ICOMM, 0, 0));
+ addAction(ACTION_USE, OBJECT_ICOMM, 0, 0);
_sound->playVoc("commun30");
if (_awayMission.activeObject <= OBJECT_REDSHIRT) {
goto checkShowInventory;
@@ -296,7 +296,7 @@ checkAddAction:
if (!walkActiveObjectToHotspot())
{
if (clickedObject != -2)
- addAction(Action(_awayMission.activeAction, _awayMission.activeObject, _awayMission.passiveObject, 0));
+ addAction(_awayMission.activeAction, _awayMission.activeObject, _awayMission.passiveObject, 0);
checkShowInventory:
if (!(_awayMission.crewDownBitset & (1 << OBJECT_KIRK)))
@@ -325,7 +325,7 @@ lookInventory:
break;
if (clickedObject != -2)
- addAction(Action(_awayMission.activeAction, _awayMission.activeObject, 0, 0));
+ addAction(_awayMission.activeAction, _awayMission.activeObject, 0, 0);
if (_awayMission.activeAction == ACTION_LOOK && !(_awayMission.crewDownBitset & (1 << OBJECT_KIRK)))
showInventoryIcons(false);
@@ -358,7 +358,7 @@ checkSelectedAction:
if (_awayMission.activeAction == ACTION_USE
&& _awayMission.activeObject == OBJECT_ICOMM && (_awayMission.crewDownBitset & (1 << OBJECT_KIRK)) == 0) {
if (!walkActiveObjectToHotspot()) {
- addAction(Action(_awayMission.activeAction, _awayMission.activeObject, 0, 0));
+ addAction(_awayMission.activeAction, _awayMission.activeObject, 0, 0);
_sound->playVoc("communic");
_awayMission.activeAction = ACTION_WALK;
}
@@ -473,6 +473,11 @@ void StarTrekEngine::addAction(const Action &action) {
_actionQueue.push(action);
}
+void StarTrekEngine::addAction(byte type, byte b1, byte b2, byte b3) {
+ const Action a = {type, b1, b2, b3};
+ addAction(a);
+}
+
void StarTrekEngine::handleAwayMissionAction() {
Action action = _actionQueue.pop();
@@ -689,7 +694,7 @@ void StarTrekEngine::checkTouchedLoadingZone(int16 x, int16 y) {
uint16 var = _room->readRdfWord(offset);
if (_activeDoorWarpHotspot != var) {
_activeDoorWarpHotspot = var;
- addAction(Action(ACTION_TOUCHED_HOTSPOT, var & 0xff, 0, 0));
+ addAction(ACTION_TOUCHED_HOTSPOT, var & 0xff, 0, 0);
}
return;
}
@@ -707,7 +712,7 @@ void StarTrekEngine::checkTouchedLoadingZone(int16 x, int16 y) {
uint16 var = _room->readRdfWord(offset);
if (_activeWarpHotspot != var) {
_activeWarpHotspot = var;
- addAction(Action(ACTION_TOUCHED_WARP, var & 0xff, 0, 0));
+ addAction(ACTION_TOUCHED_WARP, var & 0xff, 0, 0);
}
return;
}