aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner')
-rw-r--r--engines/bladerunner/game_constants.h52
-rw-r--r--engines/bladerunner/script/police_maze.cpp8
-rw-r--r--engines/bladerunner/script/scene/ps10.cpp436
-rw-r--r--engines/bladerunner/script/scene/ps11.cpp498
4 files changed, 708 insertions, 286 deletions
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 3e64e0db37..0d4d411543 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -1717,32 +1717,32 @@ enum ActorCombatStates {
};
enum PoliceMazeTrackInstruction {
- kPMTIActivate = -26,
- kPMTILeave = -25,
- kPMTIShoot = -24,
- kPMTIEnemyReset = -23,
- kPMTIEnemySet = -22,
- kPMTIFlagReset = -21,
- kPMTIFlagSet = -20,
- kPMTIVariableDec = -19,
- kPMTIVariableInc = -18,
- kPMTIVariableReset = -17,
- kPMTIVariableSet = -16,
- kPMTITargetSet = -15,
- kPMTIPausedReset1of3 = -14,
- kPMTIPausedReset1of2 = -13,
- kPMTIPausedSet = -12,
- kPMTIPausedReset = -11,
- kPMTIPlaySound = -10,
- kPMTIObstacleReset = -9,
- kPMTIObstacleSet = -8,
- kPMTIWaitRandom = -7,
- kPMTIRotate = -6,
- kPMTIFacing = -5,
- kPMTIRestart = -4,
- kPMTIWait = -3,
- kPMTIMove = -2,
- kPMTIPosition = -1,
+ kPMTIActivate = -26, // args: variableId, maxValue
+ kPMTILeave = -25, // args: -
+ kPMTIShoot = -24, // args: soundId, notUsed
+ kPMTIEnemyReset = -23, // args: otherItemId
+ kPMTIEnemySet = -22, // args: otherItemId
+ kPMTIFlagReset = -21, // args: flagId
+ kPMTIFlagSet = -20, // args: flagId
+ kPMTIVariableDec = -19, // args: variableId
+ kPMTIVariableInc = -18, // args: variableId, maxValue
+ kPMTIVariableReset = -17, // args: variableId
+ kPMTIVariableSet = -16, // args: variableId, value
+ kPMTITargetSet = -15, // args: otherItemId, value
+ kPMTIPausedReset1of3 = -14, // args: otherItemId1, otherItemId2, otherItemId3
+ kPMTIPausedReset1of2 = -13, // args: otherItemId1, otherItemId2
+ kPMTIPausedSet = -12, // args: otherItemId
+ kPMTIPausedReset = -11, // args: otherItemId
+ kPMTIPlaySound = -10, // args: soundId, volume
+ kPMTIObstacleReset = -9, // args: otherItemId
+ kPMTIObstacleSet = -8, // args: otherItemId
+ kPMTIWaitRandom = -7, // args: min, max
+ kPMTIRotate = -6, // args: target, delta
+ kPMTIFacing = -5, // args: angle
+ kPMTIRestart = -4, // args: -
+ kPMTIWait = -3, // args: time
+ kPMTIMove = -2, // args: target
+ kPMTIPosition = -1, // args: index
kPMTI26 = 0
};
diff --git a/engines/bladerunner/script/police_maze.cpp b/engines/bladerunner/script/police_maze.cpp
index c45826fc8e..a032c898d6 100644
--- a/engines/bladerunner/script/police_maze.cpp
+++ b/engines/bladerunner/script/police_maze.cpp
@@ -440,7 +440,7 @@ bool PoliceMazeTargetTrack::tick() {
int trackId2 = _data[_dataIndex++];
int trackId3 = _data[_dataIndex++];
#if BLADERUNNER_DEBUG_CONSOLE
- debug("ItemId: %3i, Pause reset 1 of 3, TrackId1: %i, TrackId2: %i, TrackId3: %i", _itemId, trackId1, trackId2, trackId3);
+ debug("ItemId: %3i, Pause reset 1 of 3, OtherItemId1: %i, OtherItemId2: %i, OtherItemId3: %i", _itemId, trackId1, trackId2, trackId3);
#endif
switch (Random_Query(1, 3)) {
case 1:
@@ -464,7 +464,7 @@ bool PoliceMazeTargetTrack::tick() {
int trackId1 = _data[_dataIndex++];
int trackId2 = _data[_dataIndex++];
#if BLADERUNNER_DEBUG_CONSOLE
- debug("ItemId: %3i, Pause reset 1 of 2, TrackId1: %i, TrackId2: %i", _itemId, trackId1, trackId2);
+ debug("ItemId: %3i, Pause reset 1 of 2, OtherItemId1: %i, OtherItemId2: %i", _itemId, trackId1, trackId2);
#endif
if (Random_Query(1, 2) == 1) {
_vm->_policeMaze->_tracks[trackId1]->resetPaused();
@@ -478,7 +478,7 @@ bool PoliceMazeTargetTrack::tick() {
{
int trackId = _data[_dataIndex++];
#if BLADERUNNER_DEBUG_CONSOLE
- debug("ItemId: %3i, Pause set, TrackId: %i", _itemId, trackId);
+ debug("ItemId: %3i, Pause set, OtherItemId: %i", _itemId, trackId);
#endif
_vm->_policeMaze->_tracks[trackId]->setPaused();
break;
@@ -488,7 +488,7 @@ bool PoliceMazeTargetTrack::tick() {
{
int trackId = _data[_dataIndex++];
#if BLADERUNNER_DEBUG_CONSOLE
- debug("ItemId: %3i, Pause reset, TrackId: %i", _itemId, trackId);
+ debug("ItemId: %3i, Pause reset, OtherItemId: %i", _itemId, trackId);
#endif
_vm->_policeMaze->_tracks[trackId]->resetPaused();
break;
diff --git a/engines/bladerunner/script/scene/ps10.cpp b/engines/bladerunner/script/scene/ps10.cpp
index de0dc9539b..782b86a2c5 100644
--- a/engines/bladerunner/script/scene/ps10.cpp
+++ b/engines/bladerunner/script/scene/ps10.cpp
@@ -24,49 +24,37 @@
namespace BladeRunner {
-enum PoliceMazePS10Tracks {
- kPoliceMazePS10Track1 = 0,
- kPoliceMazePS10Track2 = 1,
- kPoliceMazePS10Track3 = 2,
- kPoliceMazePS10Track4 = 3,
- kPoliceMazePS10Track5 = 4,
- kPoliceMazePS10Track6 = 5,
- kPoliceMazePS10Track7 = 6,
- kPoliceMazePS10Track8 = 7,
- kPoliceMazePS10Track9 = 8
-};
-
static int kPoliceMazePS10TargetCount = 20;
static const int *getPoliceMazePS10TrackData1() {
static int trackData[] = {
- kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIObstacleReset, kItemPS10Target1,
- kPMTIObstacleReset, kItemPS10Target2,
- kPMTIFacing, 989,
- kPMTIPosition, 0,
- kPMTITargetSet, kItemPS10Target1, 1,
- kPMTITargetSet, kItemPS10Target2, 1,
- kPMTIEnemyReset, kItemPS10Target1,
- kPMTIWaitRandom, 3000, 5000,
- kPMTIObstacleSet, kItemPS10Target1,
- kPMTIPlaySound, 159, 100,
- kPMTIMove, 14,
- kPMTIWait, 1000,
- kPMTIRotate, 740, 80,
- kPMTIEnemySet, kItemPS10Target1,
- kPMTIWait, 0,
- kPMTIRotate, 488, 80,
- kPMTIWait, 1000,
- kPMTIShoot, 27, 33,
- kPMTIWait, 0,
- kPMTIRotate, 740, 80,
- kPMTIPausedReset, kPoliceMazePS10Track2,
- kPMTIObstacleReset, kItemPS10Target1,
- kPMTIObstacleSet, kItemPS10Target2,
- kPMTIPausedSet, kPoliceMazePS10Track1,
- kPMTIPosition, 0,
+ kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIObstacleReset, kItemPS10Target1,
+ kPMTIObstacleReset, kItemPS10Target2,
+ kPMTIFacing, 989,
+ kPMTIPosition, 0,
+ kPMTITargetSet, kItemPS10Target1, 1,
+ kPMTITargetSet, kItemPS10Target2, 1,
+ kPMTIEnemyReset, kItemPS10Target1,
+ kPMTIWaitRandom, 3000, 5000,
+ kPMTIObstacleSet, kItemPS10Target1,
+ kPMTIPlaySound, 159, 100,
+ kPMTIMove, 14,
+ kPMTIWait, 1000,
+ kPMTIRotate, 740, 80,
+ kPMTIEnemySet, kItemPS10Target1,
+ kPMTIWait, 0,
+ kPMTIRotate, 488, 80,
+ kPMTIWait, 1000,
+ kPMTIShoot, 27, 33,
+ kPMTIWait, 0,
+ kPMTIRotate, 740, 80,
+ kPMTIPausedReset, kItemPS10Target2,
+ kPMTIObstacleReset, kItemPS10Target1,
+ kPMTIObstacleSet, kItemPS10Target2,
+ kPMTIPausedSet, kItemPS10Target1,
+ kPMTIPosition, 0,
kPMTIRestart
};
return trackData;
@@ -74,15 +62,15 @@ static const int *getPoliceMazePS10TrackData1() {
static const int *getPoliceMazePS10TrackData2() {
static int trackData[] = {
- kPMTIFacing, 740,
- kPMTIPosition, 0,
- kPMTIEnemySet, kItemPS10Target2,
- kPMTIMove, 69,
- kPMTIWait, 500,
- kPMTIObstacleReset, kItemPS10Target2,
- kPMTIPausedReset, kPoliceMazePS10Track5,
- kPMTIPausedSet, kPoliceMazePS10Track2,
- kPMTIPosition, 0,
+ kPMTIFacing, 740,
+ kPMTIPosition, 0,
+ kPMTIEnemySet, kItemPS10Target2,
+ kPMTIMove, 69,
+ kPMTIWait, 500,
+ kPMTIObstacleReset, kItemPS10Target2,
+ kPMTIPausedReset, kItemPS10Target5,
+ kPMTIPausedSet, kItemPS10Target2,
+ kPMTIPosition, 0,
kPMTIRestart
};
return trackData;
@@ -90,31 +78,31 @@ static const int *getPoliceMazePS10TrackData2() {
static const int *getPoliceMazePS10TrackData3() {
static int trackData[] = {
- kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIObstacleReset, kItemPS10Target3,
- kPMTIFacing, 993,
- kPMTIPosition, 0,
- kPMTIWaitRandom, 3000, 5000,
- kPMTIObstacleSet, kItemPS10Target3,
- kPMTIPlaySound, 159, 100,
- kPMTITargetSet, kItemPS10Target3, 1,
- kPMTIEnemyReset, kItemPS10Target3,
- kPMTIMove, 5,
- kPMTIWait, 1000,
- kPMTIEnemySet, kItemPS10Target3,
- kPMTIRotate, 233, 80,
- kPMTIWait, 0,
- kPMTIRotate, 491, 80,
- kPMTIWait, 500,
- kPMTIShoot, 27, 33,
- kPMTIWait, 500,
- kPMTIRotate, 233, 80,
- kPMTIWait, 0,
- kPMTIRotate, 993, 80,
- kPMTIPlaySound, 34, 33,
- kPMTIMove, 0,
- kPMTIObstacleReset, kItemPS10Target3,
+ kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIObstacleReset, kItemPS10Target3,
+ kPMTIFacing, 993,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 3000, 5000,
+ kPMTIObstacleSet, kItemPS10Target3,
+ kPMTIPlaySound, 159, 100,
+ kPMTITargetSet, kItemPS10Target3, 1,
+ kPMTIEnemyReset, kItemPS10Target3,
+ kPMTIMove, 5,
+ kPMTIWait, 1000,
+ kPMTIEnemySet, kItemPS10Target3,
+ kPMTIRotate, 233, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 491, 80,
+ kPMTIWait, 500,
+ kPMTIShoot, 27, 33,
+ kPMTIWait, 500,
+ kPMTIRotate, 233, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 993, 80,
+ kPMTIPlaySound, 34, 33,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS10Target3,
kPMTIRestart
};
return trackData;
@@ -122,24 +110,24 @@ static const int *getPoliceMazePS10TrackData3() {
static const int *getPoliceMazePS10TrackData4() {
static int trackData[] = {
- kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIObstacleReset, kItemPS10Target4,
- kPMTIFacing, 993,
- kPMTIPosition, 0,
- kPMTIWaitRandom, 3000, 6000,
- kPMTIObstacleSet, kItemPS10Target4,
- kPMTIPlaySound, 159, 100,
- kPMTITargetSet, kItemPS10Target4, 1,
- kPMTIEnemyReset, kItemPS10Target4,
- kPMTIMove, 34,
- kPMTIWait, 500,
- kPMTIRotate, 491, 80,
- kPMTIMove, 0,
+ kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIObstacleReset, kItemPS10Target4,
+ kPMTIFacing, 993,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 3000, 6000,
+ kPMTIObstacleSet, kItemPS10Target4,
+ kPMTIPlaySound, 159, 100,
+ kPMTITargetSet, kItemPS10Target4, 1,
+ kPMTIEnemyReset, kItemPS10Target4,
+ kPMTIMove, 34,
+ kPMTIWait, 500,
+ kPMTIRotate, 491, 80,
+ kPMTIMove, 0,
kPMTILeave,
- kPMTIObstacleReset, kItemPS10Target4,
- kPMTIPausedReset, kPoliceMazePS10Track8,
- kPMTIPausedSet, kPoliceMazePS10Track4,
+ kPMTIObstacleReset, kItemPS10Target4,
+ kPMTIPausedReset, kItemPS10Target8,
+ kPMTIPausedSet, kItemPS10Target4,
kPMTIRestart
};
return trackData;
@@ -147,27 +135,27 @@ static const int *getPoliceMazePS10TrackData4() {
static const int *getPoliceMazePS10TrackData5() {
static int trackData[] = {
- kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIObstacleReset, kItemPS10Target5,
- kPMTIFacing, 0,
- kPMTIPosition, 0,
- kPMTIWaitRandom, 4000, 6000,
- kPMTIObstacleSet, kItemPS10Target5,
- kPMTIPlaySound, 159, 100,
- kPMTITargetSet, kItemPS10Target5, 1,
- kPMTIEnemyReset, kItemPS10Target5,
- kPMTIMove, 5,
- kPMTIWait, 1000,
- kPMTIRotate, 512, 100,
- kPMTIWait, 2000,
- kPMTIRotate, 0, -100,
- kPMTIPlaySound, 34, 33,
- kPMTIMove, 0,
+ kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIObstacleReset, kItemPS10Target5,
+ kPMTIFacing, 0,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 4000, 6000,
+ kPMTIObstacleSet, kItemPS10Target5,
+ kPMTIPlaySound, 159, 100,
+ kPMTITargetSet, kItemPS10Target5, 1,
+ kPMTIEnemyReset, kItemPS10Target5,
+ kPMTIMove, 5,
+ kPMTIWait, 1000,
+ kPMTIRotate, 512, 100,
+ kPMTIWait, 2000,
+ kPMTIRotate, 0, -100,
+ kPMTIPlaySound, 34, 33,
+ kPMTIMove, 0,
kPMTILeave,
- kPMTIObstacleReset, kItemPS10Target5,
- kPMTIPausedReset, kPoliceMazePS10Track1,
- kPMTIPausedSet, kPoliceMazePS10Track5,
+ kPMTIObstacleReset, kItemPS10Target5,
+ kPMTIPausedReset, kItemPS10Target1,
+ kPMTIPausedSet, kItemPS10Target5,
kPMTIRestart
};
return trackData;
@@ -175,34 +163,34 @@ static const int *getPoliceMazePS10TrackData5() {
static const int *getPoliceMazePS10TrackData6() {
static int trackData[] = {
- kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIObstacleReset, kItemPS10Target6,
- kPMTIFacing, 999,
- kPMTIPosition, 0,
- kPMTIWaitRandom, 4000, 6000,
- kPMTIObstacleSet, kItemPS10Target6,
- kPMTIPlaySound, 159, 100,
- kPMTITargetSet, kItemPS10Target6, 1,
- kPMTIEnemyReset, kItemPS10Target6,
- kPMTIMove, 7,
- kPMTIWait, 500,
- kPMTIEnemySet, kItemPS10Target6,
- kPMTIRotate, 750, 80,
- kPMTIWait, 0,
- kPMTIRotate, 500, 80,
- kPMTIWait, 1000,
- kPMTIShoot, 27, 33,
- kPMTIWait, 0,
- kPMTIRotate, 750, 80,
- kPMTIWait, 0,
- kPMTIRotate, 999, 80,
- kPMTIPlaySound, 34, 33,
- kPMTIMove, 0,
- kPMTIObstacleReset, kItemPS10Target6,
- kPMTIPausedReset, kPoliceMazePS10Track7,
- kPMTIPausedReset, kPoliceMazePS10Track9,
- kPMTIPausedSet, kPoliceMazePS10Track6,
+ kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIObstacleReset, kItemPS10Target6,
+ kPMTIFacing, 999,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 4000, 6000,
+ kPMTIObstacleSet, kItemPS10Target6,
+ kPMTIPlaySound, 159, 100,
+ kPMTITargetSet, kItemPS10Target6, 1,
+ kPMTIEnemyReset, kItemPS10Target6,
+ kPMTIMove, 7,
+ kPMTIWait, 500,
+ kPMTIEnemySet, kItemPS10Target6,
+ kPMTIRotate, 750, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 500, 80,
+ kPMTIWait, 1000,
+ kPMTIShoot, 27, 33,
+ kPMTIWait, 0,
+ kPMTIRotate, 750, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 999, 80,
+ kPMTIPlaySound, 34, 33,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS10Target6,
+ kPMTIPausedReset, kItemPS10Target7,
+ kPMTIPausedReset, kItemPS10Target9,
+ kPMTIPausedSet, kItemPS10Target6,
kPMTIRestart
};
return trackData;
@@ -210,22 +198,22 @@ static const int *getPoliceMazePS10TrackData6() {
static const int *getPoliceMazePS10TrackData7() {
static int trackData[] = {
- kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIObstacleReset, kItemPS10Target7,
- kPMTIFacing, 264,
- kPMTIPosition, 0,
- kPMTIWaitRandom, 3000, 6000,
- kPMTITargetSet, kItemPS10Target7, 1,
- kPMTIEnemyReset, kItemPS10Target7,
- kPMTIObstacleSet, kItemPS10Target7,
- kPMTIMove, 89,
- kPMTIWaitRandom, 4000, 8000,
- kPMTIFacing, 776,
- kPMTIMove, 0,
+ kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIObstacleReset, kItemPS10Target7,
+ kPMTIFacing, 264,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 3000, 6000,
+ kPMTITargetSet, kItemPS10Target7, 1,
+ kPMTIEnemyReset, kItemPS10Target7,
+ kPMTIObstacleSet, kItemPS10Target7,
+ kPMTIMove, 89,
+ kPMTIWaitRandom, 4000, 8000,
+ kPMTIFacing, 776,
+ kPMTIMove, 0,
kPMTILeave,
- kPMTIObstacleReset, kItemPS10Target7,
- kPMTIPausedSet, kPoliceMazePS10Track7,
+ kPMTIObstacleReset, kItemPS10Target7,
+ kPMTIPausedSet, kItemPS10Target7,
kPMTIRestart
};
return trackData;
@@ -233,27 +221,27 @@ static const int *getPoliceMazePS10TrackData7() {
static const int *getPoliceMazePS10TrackData8() {
static int trackData[] = {
- kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIObstacleReset, kItemPS10Target8,
- kPMTIFacing, 993,
- kPMTIPosition, 0,
- kPMTIWaitRandom, 4000, 6000,
- kPMTIObstacleSet, kItemPS10Target8,
- kPMTIPlaySound, 159, 100,
- kPMTITargetSet, kItemPS10Target8, 1,
- kPMTIEnemyReset, kItemPS10Target8,
- kPMTIMove, 34,
- kPMTIWait, 500,
- kPMTIEnemySet, kItemPS10Target8,
- kPMTIRotate, 491, 80,
- kPMTIMove, 20,
- kPMTIWait, 0,
- kPMTIShoot, 27, 33,
- kPMTIMove, 0,
- kPMTIObstacleReset, kItemPS10Target8,
- kPMTIPausedReset, kPoliceMazePS10Track4,
- kPMTIPausedSet, kPoliceMazePS10Track8,
+ kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIObstacleReset, kItemPS10Target8,
+ kPMTIFacing, 993,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 4000, 6000,
+ kPMTIObstacleSet, kItemPS10Target8,
+ kPMTIPlaySound, 159, 100,
+ kPMTITargetSet, kItemPS10Target8, 1,
+ kPMTIEnemyReset, kItemPS10Target8,
+ kPMTIMove, 34,
+ kPMTIWait, 500,
+ kPMTIEnemySet, kItemPS10Target8,
+ kPMTIRotate, 491, 80,
+ kPMTIMove, 20,
+ kPMTIWait, 0,
+ kPMTIShoot, 27, 33,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS10Target8,
+ kPMTIPausedReset, kItemPS10Target4,
+ kPMTIPausedSet, kItemPS10Target8,
kPMTIRestart
};
return trackData;
@@ -261,56 +249,56 @@ static const int *getPoliceMazePS10TrackData8() {
static const int *getPoliceMazePS10TrackData9() {
static int trackData[] = {
- kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
- kPMTIObstacleReset, kItemPS10Target9,
- kPMTIFacing, 738,
- kPMTIPosition, 0,
- kPMTIWaitRandom, 2000, 5000,
- kPMTITargetSet, kItemPS10Target9, 1,
- kPMTIEnemySet, kItemPS10Target9,
- kPMTIObstacleSet, kItemPS10Target9,
- kPMTIPlaySound, 0, 33,
- kPMTIMove, 23,
- kPMTIPlaySound, 0, 33,
- kPMTIWait, 200,
- kPMTIPlaySound, 32, 33,
- kPMTIRotate, 498, 100,
- kPMTIPlaySound, 0, 33,
- kPMTIWait, 100,
- kPMTIShoot, 27, 33,
- kPMTIPlaySound, 32, 33,
- kPMTIMove, 35,
- kPMTIPlaySound, 32, 33,
- kPMTIWait, 100,
- kPMTIShoot, 27, 33,
- kPMTIPlaySound, 0, 33,
- kPMTIMove, 23,
- kPMTIPlaySound, 32, 33,
- kPMTIWait, 100,
- kPMTIShoot, 27, 33,
- kPMTIPlaySound, 32, 33,
- kPMTIRotate, 758, 100,
- kPMTIPlaySound, 32, 33,
- kPMTIMove, 89,
- kPMTIPlaySound, 0, 33,
- kPMTIWaitRandom, 4000, 6000,
- kPMTITargetSet, kItemPS10Target9, 1,
- kPMTIEnemySet, kItemPS10Target9,
- kPMTIFacing, 216,
- kPMTIPlaySound, 32, 33,
- kPMTIMove, 69,
- kPMTIWait, 100,
- kPMTIPlaySound, 32, 33,
- kPMTIRotate, 498, 100,
- kPMTIWait, 100,
- kPMTIShoot, 27, 33,
- kPMTIPlaySound, 0, 33,
- kPMTIRotate, 216, 100,
- kPMTIPlaySound, 32, 33,
- kPMTIMove, 0,
- kPMTIObstacleReset, kItemPS10Target9,
- kPMTIPausedSet, kPoliceMazePS10Track9,
+ kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
+ kPMTIObstacleReset, kItemPS10Target9,
+ kPMTIFacing, 738,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 2000, 5000,
+ kPMTITargetSet, kItemPS10Target9, 1,
+ kPMTIEnemySet, kItemPS10Target9,
+ kPMTIObstacleSet, kItemPS10Target9,
+ kPMTIPlaySound, 0, 33,
+ kPMTIMove, 23,
+ kPMTIPlaySound, 0, 33,
+ kPMTIWait, 200,
+ kPMTIPlaySound, 32, 33,
+ kPMTIRotate, 498, 100,
+ kPMTIPlaySound, 0, 33,
+ kPMTIWait, 100,
+ kPMTIShoot, 27, 33,
+ kPMTIPlaySound, 32, 33,
+ kPMTIMove, 35,
+ kPMTIPlaySound, 32, 33,
+ kPMTIWait, 100,
+ kPMTIShoot, 27, 33,
+ kPMTIPlaySound, 0, 33,
+ kPMTIMove, 23,
+ kPMTIPlaySound, 32, 33,
+ kPMTIWait, 100,
+ kPMTIShoot, 27, 33,
+ kPMTIPlaySound, 32, 33,
+ kPMTIRotate, 758, 100,
+ kPMTIPlaySound, 32, 33,
+ kPMTIMove, 89,
+ kPMTIPlaySound, 0, 33,
+ kPMTIWaitRandom, 4000, 6000,
+ kPMTITargetSet, kItemPS10Target9, 1,
+ kPMTIEnemySet, kItemPS10Target9,
+ kPMTIFacing, 216,
+ kPMTIPlaySound, 32, 33,
+ kPMTIMove, 69,
+ kPMTIWait, 100,
+ kPMTIPlaySound, 32, 33,
+ kPMTIRotate, 498, 100,
+ kPMTIWait, 100,
+ kPMTIShoot, 27, 33,
+ kPMTIPlaySound, 0, 33,
+ kPMTIRotate, 216, 100,
+ kPMTIPlaySound, 32, 33,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS10Target9,
+ kPMTIPausedSet, kItemPS10Target9,
kPMTIRestart
};
return trackData;
diff --git a/engines/bladerunner/script/scene/ps11.cpp b/engines/bladerunner/script/scene/ps11.cpp
index 1e45ddc768..eac2df1844 100644
--- a/engines/bladerunner/script/scene/ps11.cpp
+++ b/engines/bladerunner/script/scene/ps11.cpp
@@ -40,22 +40,454 @@ void SceneScriptPS11::InitializeScene() {
Scene_Exit_Add_2D_Exit(1, 0, 0, 20, 479, 3);
}
-static int track_data_9[] = {-26, 11, 20, -18, 11, 20, -9, 9, -5, 50, -1, 0, -7, 5000, 5000, -8, 9, -10, 31, 33, -15, 9, 1, -22, 9, -2, 7, -3, 1000, -24, 27, 33, -10, 34, 33, -2, 0, -3, 500, -9, 9, -13, 15, 10, -12, 9, -4};
-static int track_data_10[] = {-26, 11, 20, -18, 11, 20, -9, 10, -9, 11, -15, 10, 1, -15, 11, 1, -5, 860, -1, 0, -7, 3000, 6000, -23, 10, -8, 10, -10, 33, 33, -2, 14, -3, 500, -11, 11, -9, 10, -8, 11, -12, 10, -1, 0, -4};
-static int track_data_11[] = {-5, 860, -1, 0, -23, 11, -8, 11, -2, 25, -3, 500, -22, 11, -10, 32, 33, -6, 644, 80, -3, 0, -6, 388, 80, -3, 1000, -24, 12, 33, -2, 79, -9, 11, -13, 15, 9, -12, 11, -1, 0, -5, 860, -4};
-static int track_data_12[] = {-26, 11, 20, -18, 11, 20, -9, 12, -5, 725, -1, 0, -3, 2000, -15, 12, 1, -23, 12, -8, 12, -2, 82, -25, -3, 1000, -6, 570, 80, -3, 0, -6, 462, 80, -3, 0, -6, 213, 80, -3, 1000, -2, 0, -6, 725, 80, -2, 99, -9, 12, -11, 27, -12, 12, -1, 0, -4};
-static int track_data_13[] = {-26, 11, 20, -18, 11, 20, -9, 13, -5, 340, -1, 0, -7, 4000, 8000, -8, 13, -10, 33, 33, -15, 13, 1, -22, 13, -2, 4, -3, 0, -6, 435, 80, -3, 0, -6, 530, 80, -3, 100, -6, 435, 80, -3, 0, -6, 340, 80, -3, 0, -6, 260, 80, -3, 0, -6, 180, 80, -3, 100, -6, 260, 80, -3, 0, -6, 340, 80, -3, 200, -24, 27, 33, -10, 34, 33, -2, 0, -9, 13, -13, 14, 18, -12, 13, -4};
-static int track_data_14[] = {-26, 11, 20, -18, 11, 20, -9, 14, -15, 14, 1, -23, 14, -5, 900, -1, 0, -7, 3000, 6000, -8, 14, -10, 33, 33, -2, 5, -3, 500, -22, 14, -6, 644, 80, -3, 0, -6, 388, 80, -3, 1000, -24, 27, 33, -10, 34, 33, -2, 0, -9, 14, -13, 18, 13, -12, 14, -4};
-static int track_data_15[] = {-26, 11, 20, -18, 11, 20, -9, 15, -9, 16, -15, 15, 1, -15, 16, 1, -5, 860, -1, 0, -7, 3000, 7000, -8, 15, -10, 29, 33, -23, 15, -2, 14, -25, -3, 1000, -11, 16, -9, 15, -8, 16, -12, 15, -1, 0, -4};
-static int track_data_16[] = {-5, 860, -1, 0, -8, 16, -23, 16, -2, 25, -3, 500, -10, 32, 33, -6, 644, 100, -3, 0, -6, 388, 200, -3, 500, -2, 79, -25, -9, 16, -13, 10, 9, -12, 16, -1, 0, -5, 860, -4};
-static int track_data_17[] = {-26, 11, 20, -18, 11, 20, -5, 310, -1, 0, -8, 17, -15, 17, 1, -22, 17, -7, 4000, 8000, -10, 32, 33, -2, 10, -3, 0, -24, 27, 33, -2, 0, -15, 17, 1, -22, 17, -2, 24, -15, 17, 1, -22, 17, -2, 10, -3, 0, -24, 27, 33, -2, 24, -3, 1000, -9, 17, -13, 23, 22, -12, 17, -1, 0, -4};
-static int track_data_18[] = {-26, 11, 20, -18, 11, 20, -9, 18, -9, 19, -5, 900, -1, 0, -15, 18, 1, -15, 19, 1, -23, 18, -7, 4000, 6000, -8, 18, -2, 5, -10, 19, 33, -10, 3, 33, -3, 1000, -25, -6, 700, 80, -22, 18, -3, 0, -6, 512, 200, -3, 1000, -24, 12, 33, -11, 19, -9, 18, -8, 19, -12, 18, -1, 0, -4};
-static int track_data_19[] = {-5, 512, -1, 0, -22, 19, -2, 8, -3, 4000, -15, 19, 1, -22, 19, -2, 2, -10, 32, 33, -3, 1000, -24, 12, 33, -2, 19, -3, 500, -9, 19, -13, 13, 14, -12, 19, -1, 0, -4};
-static int track_data_20[] = {-26, 11, 20, -18, 11, 20, -9, 20, -5, 280, -1, 0, -7, 5000, 7000, -15, 20, 1, -22, 20, -8, 20, -2, 9, -10, 32, 33, -3, 1000, -24, 27, 33, -2, 0, -9, 20, -13, 21, 12, -12, 20, -1, 0, -4};
-static int track_data_21[] = {-26, 11, 20, -18, 11, 20, -9, 21, -5, 280, -1, 0, -7, 5000, 8000, -15, 21, 1, -23, 21, -8, 21, -2, 5, -25, -3, 1000, -2, 0, -9, 21, -13, 20, 12, -12, 21, -1, 0, -4};
-static int track_data_22[] = {-26, 11, 20, -18, 11, 20, -9, 22, -5, 255, -1, 0, -15, 22, 1, -22, 22, -7, 5000, 5000, -8, 22, -2, 7, -10, 32, 33, -3, 1000, -24, 12, 33, -2, 0, -9, 22, -13, 23, 17, -12, 22, -1, 0, -4};
-static int track_data_23[] = {-26, 11, 20, -18, 11, 20, -9, 23, -5, 310, -1, 0, -7, 3000, 6000, -15, 23, 1, -23, 23, -8, 23, -3, 1000, -2, 24, -3, 1000, -2, 0, -25, -9, 23, -13, 22, 17, -12, 23, -1, 0, -4};
-static int track_data_27[] = {-26, 11, 20, -18, 11, 20, -9, 27, -5, 346, -1, 0, -3, 0, -15, 27, 1, -22, 27, -8, 27, -2, 14, -3, 1000, -24, 12, 33, -2, 0, -9, 27, -13, 21, 20, -12, 27, -1, 0, -4};
+static const int *getPoliceMazePS11TrackData9() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target1,
+ kPMTIFacing, 50,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 5000, 5000,
+ kPMTIObstacleSet, kItemPS11Target1,
+ kPMTIPlaySound, 31, 33,
+ kPMTITargetSet, kItemPS11Target1, 1,
+ kPMTIEnemySet, kItemPS11Target1,
+ kPMTIMove, 7,
+ kPMTIWait, 1000,
+ kPMTIShoot, 27, 33,
+ kPMTIPlaySound, 34, 33,
+ kPMTIMove, 0,
+ kPMTIWait, 500,
+ kPMTIObstacleReset, kItemPS11Target1,
+ kPMTIPausedReset1of2, kItemPS11Target7, kItemPS11Target2,
+ kPMTIPausedSet, kItemPS11Target1,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData10() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target2,
+ kPMTIObstacleReset, kItemPS11Target3,
+ kPMTITargetSet, kItemPS11Target2, 1,
+ kPMTITargetSet, kItemPS11Target3, 1,
+ kPMTIFacing, 860,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 3000, 6000,
+ kPMTIEnemyReset, kItemPS11Target2,
+ kPMTIObstacleSet, kItemPS11Target2,
+ kPMTIPlaySound, 33, 33,
+ kPMTIMove, 14,
+ kPMTIWait, 500,
+ kPMTIPausedReset, kItemPS11Target3,
+ kPMTIObstacleReset, kItemPS11Target2,
+ kPMTIObstacleSet, kItemPS11Target3,
+ kPMTIPausedSet, kItemPS11Target2,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData11() {
+ static int trackData[] = {
+ kPMTIFacing, 860,
+ kPMTIPosition, 0,
+ kPMTIEnemyReset, kItemPS11Target3,
+ kPMTIObstacleSet, kItemPS11Target3,
+ kPMTIMove, 25,
+ kPMTIWait, 500,
+ kPMTIEnemySet, kItemPS11Target3,
+ kPMTIPlaySound, 32, 33,
+ kPMTIRotate, 644, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 388, 80,
+ kPMTIWait, 1000,
+ kPMTIShoot, 12, 33,
+ kPMTIMove, 79,
+ kPMTIObstacleReset, kItemPS11Target3,
+ kPMTIPausedReset1of2, kItemPS11Target7, kItemPS10Target9,
+ kPMTIPausedSet, kItemPS11Target3,
+ kPMTIPosition, 0,
+ kPMTIFacing, 860,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData12() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target4,
+ kPMTIFacing, 725,
+ kPMTIPosition, 0,
+ kPMTIWait, 2000,
+ kPMTITargetSet, kItemPS11Target4, 1,
+ kPMTIEnemyReset, kItemPS11Target4,
+ kPMTIObstacleSet, kItemPS11Target4,
+ kPMTIMove, 82,
+ kPMTILeave,
+ kPMTIWait, 1000,
+ kPMTIRotate, 570, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 462, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 213, 80,
+ kPMTIWait, 1000,
+ kPMTIMove, 0,
+ kPMTIRotate, 725, 80,
+ kPMTIMove, 99,
+ kPMTIObstacleReset, kItemPS11Target4,
+ kPMTIPausedReset, 27,
+ kPMTIPausedSet, kItemPS11Target4,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData13() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target5,
+ kPMTIFacing, 340,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 4000, 8000,
+ kPMTIObstacleSet, kItemPS11Target5,
+ kPMTIPlaySound, 33, 33,
+ kPMTITargetSet, kItemPS11Target5, 1,
+ kPMTIEnemySet, kItemPS11Target5,
+ kPMTIMove, 4,
+ kPMTIWait, 0,
+ kPMTIRotate, 435, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 530, 80,
+ kPMTIWait, 100,
+ kPMTIRotate, 435, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 340, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 260, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 180, 80,
+ kPMTIWait, 100,
+ kPMTIRotate, 260, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 340, 80,
+ kPMTIWait, 200,
+ kPMTIShoot, 27, 33,
+ kPMTIPlaySound, 34, 33,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS11Target5,
+ kPMTIPausedReset1of2, kItemPS11Target6, kItemPS11Target10,
+ kPMTIPausedSet, kItemPS11Target5,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData14() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target6,
+ kPMTITargetSet, kItemPS11Target6, 1,
+ kPMTIEnemyReset, kItemPS11Target6,
+ kPMTIFacing, 900,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 3000, 6000,
+ kPMTIObstacleSet, kItemPS11Target6,
+ kPMTIPlaySound, 33, 33,
+ kPMTIMove, 5,
+ kPMTIWait, 500,
+ kPMTIEnemySet, kItemPS11Target6,
+ kPMTIRotate, 644, 80,
+ kPMTIWait, 0,
+ kPMTIRotate, 388, 80,
+ kPMTIWait, 1000,
+ kPMTIShoot, 27, 33,
+ kPMTIPlaySound, 34, 33,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS11Target6,
+ kPMTIPausedReset1of2, kItemPS11Target10, kItemPS11Target5,
+ kPMTIPausedSet, kItemPS11Target6,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData15() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target7,
+ kPMTIObstacleReset, kItemPS11Target8,
+ kPMTITargetSet, kItemPS11Target7, 1,
+ kPMTITargetSet, kItemPS11Target8, 1,
+ kPMTIFacing, 860,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 3000, 7000,
+ kPMTIObstacleSet, kItemPS11Target7,
+ kPMTIPlaySound, 29, 33,
+ kPMTIEnemyReset, kItemPS11Target7,
+ kPMTIMove, 14,
+ kPMTILeave,
+ kPMTIWait, 1000,
+ kPMTIPausedReset, kItemPS11Target8,
+ kPMTIObstacleReset, kItemPS11Target7,
+ kPMTIObstacleSet, kItemPS11Target8,
+ kPMTIPausedSet, kItemPS11Target7,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData16() {
+ static int trackData[] = {
+ kPMTIFacing, 860,
+ kPMTIPosition, 0,
+ kPMTIObstacleSet, kItemPS11Target8,
+ kPMTIEnemyReset, kItemPS11Target8,
+ kPMTIMove, 25,
+ kPMTIWait, 500,
+ kPMTIPlaySound, 32, 33,
+ kPMTIRotate, 644, 100,
+ kPMTIWait, 0,
+ kPMTIRotate, 388, 200,
+ kPMTIWait, 500,
+ kPMTIMove, 79,
+ kPMTILeave,
+ kPMTIObstacleReset, kItemPS11Target8,
+ kPMTIPausedReset1of2, kItemPS11Target2, kItemPS11Target1,
+ kPMTIPausedSet, kItemPS11Target8,
+ kPMTIPosition, 0,
+ kPMTIFacing, 860,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData17() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIFacing, 310,
+ kPMTIPosition, 0,
+ kPMTIObstacleSet, kItemPS11Target9,
+ kPMTITargetSet, kItemPS11Target9, 1,
+ kPMTIEnemySet, kItemPS11Target9,
+ kPMTIWaitRandom, 4000, 8000,
+ kPMTIPlaySound, 32, 33,
+ kPMTIMove, 10,
+ kPMTIWait, 0,
+ kPMTIShoot, 27, 33,
+ kPMTIMove, 0,
+ kPMTITargetSet, kItemPS11Target9, 1,
+ kPMTIEnemySet, kItemPS11Target9,
+ kPMTIMove, 24,
+ kPMTITargetSet, kItemPS11Target9, 1,
+ kPMTIEnemySet, kItemPS11Target9,
+ kPMTIMove, 10,
+ kPMTIWait, 0,
+ kPMTIShoot, 27, 33,
+ kPMTIMove, 24,
+ kPMTIWait, 1000,
+ kPMTIObstacleReset, kItemPS11Target9,
+ kPMTIPausedReset1of2, kItemPS11Target15, kItemPS11Target14,
+ kPMTIPausedSet, kItemPS11Target9,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData18() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target10,
+ kPMTIObstacleReset, kItemPS11Target11,
+ kPMTIFacing, 900,
+ kPMTIPosition, 0,
+ kPMTITargetSet, kItemPS11Target10, 1,
+ kPMTITargetSet, kItemPS11Target11, 1,
+ kPMTIEnemyReset, kItemPS11Target10,
+ kPMTIWaitRandom, 4000, 6000,
+ kPMTIObstacleSet, kItemPS11Target10,
+ kPMTIMove, 5,
+ kPMTIPlaySound, kItemPS11Target11, 33,
+ kPMTIPlaySound, 3, 33,
+ kPMTIWait, 1000,
+ kPMTILeave,
+ kPMTIRotate, 700, 80,
+ kPMTIEnemySet, kItemPS11Target10,
+ kPMTIWait, 0,
+ kPMTIRotate, 512, 200,
+ kPMTIWait, 1000,
+ kPMTIShoot, 12, 33,
+ kPMTIPausedReset, kItemPS11Target11,
+ kPMTIObstacleReset, kItemPS11Target10,
+ kPMTIObstacleSet, kItemPS11Target11,
+ kPMTIPausedSet, kItemPS11Target10,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData19() {
+ static int trackData[] = {
+ kPMTIFacing, 512,
+ kPMTIPosition, 0,
+ kPMTIEnemySet, kItemPS11Target11,
+ kPMTIMove, 8,
+ kPMTIWait, 4000,
+ kPMTITargetSet, kItemPS11Target11, 1,
+ kPMTIEnemySet, kItemPS11Target11,
+ kPMTIMove, 2,
+ kPMTIPlaySound, 32, 33,
+ kPMTIWait, 1000,
+ kPMTIShoot, 12, 33,
+ kPMTIMove, kItemPS11Target11,
+ kPMTIWait, 500,
+ kPMTIObstacleReset, kItemPS11Target11,
+ kPMTIPausedReset1of2, kItemPS11Target5, kItemPS11Target6,
+ kPMTIPausedSet, kItemPS11Target11,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData20() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target12,
+ kPMTIFacing, 280,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 5000, 7000,
+ kPMTITargetSet, kItemPS11Target12, 1,
+ kPMTIEnemySet, kItemPS11Target12,
+ kPMTIObstacleSet, kItemPS11Target12,
+ kPMTIMove, 9,
+ kPMTIPlaySound, 32, 33,
+ kPMTIWait, 1000,
+ kPMTIShoot, 27, 33,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS11Target12,
+ kPMTIPausedReset1of2, kItemPS11Target13, kItemPS11Target4,
+ kPMTIPausedSet, kItemPS11Target12,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData21() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target13,
+ kPMTIFacing, 280,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 5000, 8000,
+ kPMTITargetSet, kItemPS11Target13, 1,
+ kPMTIEnemyReset, kItemPS11Target13,
+ kPMTIObstacleSet, kItemPS11Target13,
+ kPMTIMove, 5,
+ kPMTILeave,
+ kPMTIWait, 1000,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS11Target13,
+ kPMTIPausedReset1of2, kItemPS11Target12, kItemPS11Target4,
+ kPMTIPausedSet, kItemPS11Target13,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData22() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target14,
+ kPMTIFacing, 255,
+ kPMTIPosition, 0,
+ kPMTITargetSet, kItemPS11Target14, 1,
+ kPMTIEnemySet, kItemPS11Target14,
+ kPMTIWaitRandom, 5000, 5000,
+ kPMTIObstacleSet, kItemPS11Target14,
+ kPMTIMove, 7,
+ kPMTIPlaySound, 32, 33,
+ kPMTIWait, 1000,
+ kPMTIShoot, 12, 33,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS11Target14,
+ kPMTIPausedReset1of2, 23, kItemPS11Target9,
+ kPMTIPausedSet, kItemPS11Target14,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData23() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target15,
+ kPMTIFacing, 310,
+ kPMTIPosition, 0,
+ kPMTIWaitRandom, 3000, 6000,
+ kPMTITargetSet, kItemPS11Target15, 1,
+ kPMTIEnemyReset, kItemPS11Target15,
+ kPMTIObstacleSet, kItemPS11Target15,
+ kPMTIWait, 1000,
+ kPMTIMove, 24,
+ kPMTIWait, 1000,
+ kPMTIMove, 0,
+ kPMTILeave,
+ kPMTIObstacleReset, kItemPS11Target15,
+ kPMTIPausedReset1of2, kItemPS11Target14, kItemPS11Target9,
+ kPMTIPausedSet, kItemPS11Target15,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
+static const int *getPoliceMazePS11TrackData27() {
+ static int trackData[] = {
+ kPMTIActivate, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIVariableInc, kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount,
+ kPMTIObstacleReset, kItemPS11Target16,
+ kPMTIFacing, 346,
+ kPMTIPosition, 0,
+ kPMTIWait, 0,
+ kPMTITargetSet, kItemPS11Target16, 1,
+ kPMTIEnemySet, kItemPS11Target16,
+ kPMTIObstacleSet, kItemPS11Target16,
+ kPMTIMove, 14,
+ kPMTIWait, 1000,
+ kPMTIShoot, 12, 33,
+ kPMTIMove, 0,
+ kPMTIObstacleReset, kItemPS11Target16,
+ kPMTIPausedReset1of2, kItemPS11Target13, kItemPS11Target12,
+ kPMTIPausedSet, kItemPS11Target16,
+ kPMTIPosition, 0,
+ kPMTIRestart
+ };
+ return trackData;
+}
+
void SceneScriptPS11::SceneLoaded() {
Obstacle_Object("PARKMETR01", true);
@@ -76,6 +508,7 @@ void SceneScriptPS11::SceneLoaded() {
Unclickable_Object("PARKMETR11");
Unclickable_Object("PARKMETR15");
Unclickable_Object("PARKMETR16");
+
if (!Query_System_Currently_Loading_Game()) {
Item_Add_To_World(kItemPS11Target1, 449, kSetPS10_PS11_PS12_PS13, -450.0f, -7.5f, 335.0f, 50, 72, 36, true, false, false, true);
Item_Add_To_World(kItemPS11Target2, 449, kSetPS10_PS11_PS12_PS13, -740.0f, 27.0f, -30.0f, 860, 72, 36, true, false, false, true);
@@ -95,22 +528,23 @@ void SceneScriptPS11::SceneLoaded() {
Item_Add_To_World(kItemPS11Target16, 445, kSetPS10_PS11_PS12_PS13, -800.0f, -9.23f, -75.0f, 346, 72, 36, true, false, false, true);
}
- Police_Maze_Target_Track_Add(kItemPS11Target1, -450.0f, -7.5f, 335.0f, -450.0f, -7.5f, 295.0f, 8, track_data_9, true);
- Police_Maze_Target_Track_Add(kItemPS11Target2, -740.0f, 27.0f, -30.0f, -740.0f, 99.0f, -30.0f, 15, track_data_10, false);
- Police_Maze_Target_Track_Add(kItemPS11Target3, -740.0f, 99.0f, -30.0f, -200.0f, 99.0f, -30.0f, 80, track_data_11, false);
- Police_Maze_Target_Track_Add(kItemPS11Target4, -400.0f, -9.23f, -75.0f, -800.0f, -9.23f, -75.0f, 100, track_data_12, false);
- Police_Maze_Target_Track_Add(kItemPS11Target5, -803.72f, -72.7f, 60.22f, -803.72f, -0.7f, 60.22f, 6, track_data_13, true);
- Police_Maze_Target_Track_Add(kItemPS11Target6, -853.0f, -70.0f, 195.0f, -853.0f, 2.0f, 195.0f, 6, track_data_14, false);
- Police_Maze_Target_Track_Add(kItemPS11Target7, -740.0f, 27.0f, -30.0f, -740.0f, 99.0f, -30.0f, 15, track_data_15, false);
- Police_Maze_Target_Track_Add(kItemPS11Target8, -740.0f, 99.0f, -30.0f, -200.0f, 99.0f, -30.0f, 80, track_data_16, false);
- Police_Maze_Target_Track_Add(kItemPS11Target9, -888.0f, 155.0f, 100.0f, -888.0f, 155.0f, 30.0f, 25, track_data_17, false);
- Police_Maze_Target_Track_Add(kItemPS11Target10, -430.0f, 164.0f, 11.0f, -430.0f, -0.86f, 11.0f, 6, track_data_18, false);
- Police_Maze_Target_Track_Add(kItemPS11Target11, -430.0f, -0.86f, 11.0f, -300.0f, -0.86f, -80.0f, 20, track_data_19, false);
- Police_Maze_Target_Track_Add(kItemPS11Target12, -891.0f, 3.1f, 90.0f, -891.0f, 3.1f, 105.0f, 10, track_data_20, true);
- Police_Maze_Target_Track_Add(kItemPS11Target13, -891.0f, 3.1f, 90.0f, -891.0f, 3.1f, 105.0f, 6, track_data_21, false);
- Police_Maze_Target_Track_Add(kItemPS11Target14, -891.0f, 171.0f, 190.0f, -891.0f, 171.0f, 147.0f, 8, track_data_22, false);
- Police_Maze_Target_Track_Add(kItemPS11Target15, -888.0f, 155.0f, 30.0f, -888.0f, 155.0f, 100.0f, 25, track_data_23, true);
- Police_Maze_Target_Track_Add(kItemPS11Target16, -800.0f, -9.23f, -75.0f, -740.0f, -9.23f, -75.0f, 15, track_data_27, false);
+ Police_Maze_Target_Track_Add(kItemPS11Target1, -450.0f, -7.5f, 335.0f, -450.0f, -7.5f, 295.0f, 8, getPoliceMazePS11TrackData9(), true);
+ Police_Maze_Target_Track_Add(kItemPS11Target2, -740.0f, 27.0f, -30.0f, -740.0f, 99.0f, -30.0f, 15, getPoliceMazePS11TrackData10(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target3, -740.0f, 99.0f, -30.0f, -200.0f, 99.0f, -30.0f, 80, getPoliceMazePS11TrackData11(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target4, -400.0f, -9.23f, -75.0f, -800.0f, -9.23f, -75.0f, 100, getPoliceMazePS11TrackData12(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target5, -803.72f, -72.7f, 60.22f, -803.72f, -0.7f, 60.22f, 6, getPoliceMazePS11TrackData13(), true);
+ Police_Maze_Target_Track_Add(kItemPS11Target6, -853.0f, -70.0f, 195.0f, -853.0f, 2.0f, 195.0f, 6, getPoliceMazePS11TrackData14(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target7, -740.0f, 27.0f, -30.0f, -740.0f, 99.0f, -30.0f, 15, getPoliceMazePS11TrackData15(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target8, -740.0f, 99.0f, -30.0f, -200.0f, 99.0f, -30.0f, 80, getPoliceMazePS11TrackData16(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target9, -888.0f, 155.0f, 100.0f, -888.0f, 155.0f, 30.0f, 25, getPoliceMazePS11TrackData17(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target10, -430.0f, 164.0f, 11.0f, -430.0f, -0.86f, 11.0f, 6, getPoliceMazePS11TrackData18(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target11, -430.0f, -0.86f, 11.0f, -300.0f, -0.86f, -80.0f, 20, getPoliceMazePS11TrackData19(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target12, -891.0f, 3.1f, 90.0f, -891.0f, 3.1f, 105.0f, 10, getPoliceMazePS11TrackData20(), true);
+ Police_Maze_Target_Track_Add(kItemPS11Target13, -891.0f, 3.1f, 90.0f, -891.0f, 3.1f, 105.0f, 6, getPoliceMazePS11TrackData21(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target14, -891.0f, 171.0f, 190.0f, -891.0f, 171.0f, 147.0f, 8, getPoliceMazePS11TrackData22(), false);
+ Police_Maze_Target_Track_Add(kItemPS11Target15, -888.0f, 155.0f, 30.0f, -888.0f, 155.0f, 100.0f, 25, getPoliceMazePS11TrackData23(), true);
+ Police_Maze_Target_Track_Add(kItemPS11Target16, -800.0f, -9.23f, -75.0f, -740.0f, -9.23f, -75.0f, 15, getPoliceMazePS11TrackData27(), false);
+
Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
Ambient_Sounds_Add_Looping_Sound(387, 50, 1, 1);
Ambient_Sounds_Add_Looping_Sound( 54, 50, 1, 1);