diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/bladerunner/game_constants.h | 52 | ||||
-rw-r--r-- | engines/bladerunner/script/police_maze.cpp | 8 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/ps10.cpp | 436 | ||||
-rw-r--r-- | engines/bladerunner/script/scene/ps11.cpp | 498 |
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); |