[Scummvm-git-logs] scummvm master -> e9b229b6e632cc0dc0697217b6e2807691cec716

peterkohaut peterkohaut at users.noreply.github.com
Mon Mar 11 00:14:44 CET 2019


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
dbe3043aa9 BLADERUNNER: Clean-up of PS10 & PS11 target scripts
e9b229b6e6 BLADERUNNER: Clean-up of PS12 target scripts


Commit: dbe3043aa9235bd91de8ba13e6cfd49a8c31ca36
    https://github.com/scummvm/scummvm/commit/dbe3043aa9235bd91de8ba13e6cfd49a8c31ca36
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-03-11T00:13:52+01:00

Commit Message:
BLADERUNNER: Clean-up of PS10 & PS11 target scripts

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/police_maze.cpp
    engines/bladerunner/script/scene/ps10.cpp
    engines/bladerunner/script/scene/ps11.cpp


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 3e64e0d..0d4d411 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 c45826f..a032c89 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 de0dc95..782b86a 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 1e45ddc..eac2df1 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);


Commit: e9b229b6e632cc0dc0697217b6e2807691cec716
    https://github.com/scummvm/scummvm/commit/e9b229b6e632cc0dc0697217b6e2807691cec716
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-03-11T00:13:52+01:00

Commit Message:
BLADERUNNER: Clean-up of PS12 target scripts

Changed paths:
    engines/bladerunner/script/scene/ps10.cpp
    engines/bladerunner/script/scene/ps12.cpp


diff --git a/engines/bladerunner/script/scene/ps10.cpp b/engines/bladerunner/script/scene/ps10.cpp
index 782b86a..e4fad70 100644
--- a/engines/bladerunner/script/scene/ps10.cpp
+++ b/engines/bladerunner/script/scene/ps10.cpp
@@ -306,6 +306,7 @@ static const int *getPoliceMazePS10TrackData9() {
 
 void SceneScriptPS10::InitializeScene() {
 	Police_Maze_Set_Pause_State(true);
+
 	if (Game_Flag_Query(kFlagPS11toPS10)) {
 		float x = World_Waypoint_Query_X(4);
 		float y = World_Waypoint_Query_Y(4);
@@ -314,7 +315,9 @@ void SceneScriptPS10::InitializeScene() {
 	} else {
 		Setup_Scene_Information(-87.08f, -9.23f, 941.9f, 0);
 	}
+
 	Scene_Exit_Add_2D_Exit(1, 0, 0, 20, 479, 3);
+
 	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);
@@ -354,6 +357,7 @@ void SceneScriptPS10::SceneLoaded() {
 	Unclickable_Object("PARKMETR15");
 	Unclickable_Object("PARKMETR16");
 	Unobstacle_Object("E.SM.WIRE01", true);
+
 	if (!Query_System_Currently_Loading_Game()) {
 		Item_Add_To_World(kItemPS10Target1, 443, kSetPS10_PS11_PS12_PS13,  -240.0f, -80.74f, 145.0f, 989, 72, 36, true, false, false, true);
 		Item_Add_To_World(kItemPS10Target2, 443, kSetPS10_PS11_PS12_PS13,  -240.0f,  -8.74f, 145.0f, 740, 72, 36, true, false, false, true);
diff --git a/engines/bladerunner/script/scene/ps12.cpp b/engines/bladerunner/script/scene/ps12.cpp
index ebccb60..e527e71 100644
--- a/engines/bladerunner/script/scene/ps12.cpp
+++ b/engines/bladerunner/script/scene/ps12.cpp
@@ -40,23 +40,499 @@ void SceneScriptPS12::InitializeScene() {
 	Scene_Exit_Add_2D_Exit(1, 0,   5, 110, 196, 3);
 }
 
-static int track_data_29[] = {-26, 12, 20, -18, 12, 20, -9, 29, -5, 200, -1, 0, -7, 4000, 10000, -8, 29, -10, 33, 33, -15, 29, 1, -22, 29, -2, 5, -3, 500, -24, 27, 33, -10, 34, 33, -2, 0, -9, 29, -13, 44, 42, -12, 29, -4};
-static int track_data_30[] = {-26, 12, 20, -18, 12, 20, -9, 30, -5, 67, -1, 0, -7, 3000, 9000, -8, 30, -10, 33, 33, -15, 30, 1, -22, 30, -2, 5, -3, 500, -24, 27, 33, -10, 34, 33, -2, 0, -9, 30, -13, 41, 39, -12, 30, -15, 30, 0, -4};
-static int track_data_31[] = {-26, 12, 20, -18, 12, 20, -15, 31, 1, -23, 31, -9, 31, -5, 480, -1, 0, -7, 3000, 10000, -8, 31, -2, 5, -10, 29, 33, -3, 1000, -6, 968, 100, -10, 29, 33, -3, 500, -2, 0, -10, 29, 33, -25, -9, 31, -14, 40, 32, 33, -12, 31, -4};
-static int track_data_32[] = {-26, 12, 20, -18, 12, 20, -9, 32, -5, 1010, -1, 0, -7, 3000, 10000, -8, 32, -10, 33, 33, -15, 32, 1, -22, 32, -2, 5, -3, 500, -24, 27, 33, -6, 498, 80, -10, 29, 33, -3, 500, -2, 0, -9, 32, -14, 33, 31, 40, -12, 32, -4};
-static int track_data_33[] = {-26, 12, 20, -18, 12, 20, -9, 33, -5, 540, -1, 0, -7, 4000, 10000, -8, 33, -15, 33, 1, -23, 33, -2, 5, -10, 29, 33, -3, 1000, -6, 284, 80, -3, 0, -6, 28, 80, -10, 29, 33, -3, 1000, -2, 0, -25, -9, 33, -14, 40, 31, 32, -12, 33, -4};
-static int track_data_34[] = {-26, 12, 20, -18, 12, 20, -9, 34, -9, 35, -9, 36, -5, 469, -1, 0, -15, 34, 1, -15, 35, 1, -15, 36, 1, -7, 3000, 10000, -8, 34, -22, 34, -22, 35, -22, 36, -2, 5, -10, 29, 33, -3, 1000, -6, 376, 80, -3, 0, -6, 168, 80, -10, 29, 33, -2, 9, -6, 33, 80, -3, 0, -6, 15, 80, -10, 29, 33, -3, 500, -24, 27, 33, -2, 5, -10, 29, 33, -6, 168, 80, -3, 0, -6, 376, 80, -3, 0, -6, 469, 80, -10, 29, 33, -3, 500, -15, 34, 1, -15, 35, 1, -15, 36, 1, -22, 34, -22, 35, -22, 36, -6, 376, 80, -3, 0, -6, 168, 80, -2, 9, -6, 33, 80, -3, 0, -6, 15, 80, -10, 29, 33, -3, 500, -24, 27, 33, -2, 5, -10, 29, 33, -3, 0, -6, 469, 80, -3, 500, -6, 198, 80, -10, 29, 33, -3, 0, -2, 19, -10, 29,33, -3, 0, -9, 34, -11, 35, -12, 34, -1, 0, -4};
-static int track_data_35[] = {-8, 35, -5, 198, -1, 0, -6, 469, 80, -2, 9, -3, 0, -9, 35, -11, 36, -12, 35, -5, 198, -8, 35, -1, 0, -4};
-static int track_data_36[] = {-8, 36, -5, 469, -1, 0, -8, 36, -2, 9, -10, 29, 33, -3, 1000, -9, 34, -9, 35, -9, 36, -11, 37, -12, 36, -5, 469, -8, 36, -1, 0, -4};
-static int track_data_37[] = {-26, 12, 20, -18, 12, 20, -9, 37, -7, 3000, 6000, -11, 38, -5, 1010, -1, 0, -3, 2000, -8, 37, -10, 33, 33, -15, 37, 1, -23, 37, -2, 9, -3, 3000, -10, 34, 33, -2, 0, -25, -9, 37, -12, 37, -1, 0, -4};
-static int track_data_38[] = {-9, 38, -5, 990, -1, 0, -3, 3000, -8, 38, -10, 33, 33, -15, 38, 1, -22, 38, -2, 9, -3, 1000, -24, 12, 33, -10, 34, 33, -2, 0, -9, 38, -11, 34, -12, 38, -1, 0, -4};
-static int track_data_39[] = {-26, 12, 20, -18, 12, 20, -9, 39, -5, 513, -1, 0, -7, 5000, 5000, -8, 39, -10, 33, 33, -15, 39, 1, -2, 5, -3, 1000, -22, 39, -6, 1010, 80, -10, 29, 33, -3, 500, -24, 27, 33, -10, 34, 33, -2, 0, -9, 39, -13, 41, 30, -12, 39, -4};
-static int track_data_40[] = {-26, 12, 20, -18, 12, 20, -9, 40, -5, 480, -1, 0, -7, 4000, 8000, -8, 40, -10, 29, 33, -15, 40, 1, -2, 5, -10, 29, 33, -3, 500, -22, 40, -6, 968, 80, -10, 29, 33, -3, 1000, -24, 27, 33, -2, 0, -9, 40, -14, 31, 32, 33, -12, 40, -4};
-static int track_data_41[] = {-26, 12, 20, -18, 12, 20, -9, 41, -5, 513, -1, 0, -7, 4000, 6000, -8, 41, -10, 33, 33, -15, 41, 1, -23, 41, -2, 5, -3, 500, -6, 1010, 80, -10, 29, 33, -3, 1000, -2, 0, -10, 34, 33, -25, -9, 41, -13, 39, 30, -12, 41, -4};
-static int track_data_42[] = {-9, 42, -5, 109, -1, 0, -7, 2000, 5000, -8, 42, -10, 29, 33, -15, 42, 1, -22, 42, -2, 5, -10, 29, 33, -3, 1000, -24, 27, 33, -2, 0, -9, 42, -13, 44, 29, -12, 42, -4};
-static int track_data_43[] = {-26, 12, 20, -18, 12, 20, -9, 43, -5, 540, -1, 0, -7, 5000, 7000, -8, 43, -10, 33, 33, -15, 43, 1, -23, 43, -2, 9, -3, 2000, -6, 284, 80, -3, 0, -6, 28, 80, -10, 29, 33, -3, 2000, -10, 34, 33, -2, 0, -25, -9, 43, -11, 45, -12, 43, -4};
-static int track_data_44[] = {-26, 12, 20, -18, 12, 20, -9, 44, -5, 109, -1, 0, -7, 5000, 5000, -8, 44, -10, 29, 33, -15, 44, 1, -23, 44, -2, 5, -7, 2000, 2000, -10, 29, 33, -2, 0, -25, -9, 44, -13, 42, 29, -12, 44, -4};
-static int track_data_45[] = {-26, 12, 20, -18, 12, 20, -9, 45, -5, 540, -1, 0, -7, 3000, 10000, -8, 45, -10, 33, 33, -15, 45, 1, -2, 9, -3, 1000, -22, 45, -6, 284, 80, -3, 0, -6, 28, 80, -3, 1000, -24, 27, 33, -10, 34, 33, -2, 0, -9, 45, -11, 43, -12, 45, -4};
+static const int *getPoliceMazePS12TrackData29() {
+	static int trackData[] = {
+		kPMTIActivate,			kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,		kItemPS12Target1,
+		kPMTIFacing,			200,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		4000, 10000,
+		kPMTIObstacleSet,		kItemPS12Target1,
+		kPMTIPlaySound,			33, 33,
+		kPMTITargetSet,			kItemPS12Target1, 1,
+		kPMTIEnemySet,			kItemPS12Target1,
+		kPMTIMove,				5,
+		kPMTIWait,				500,
+		kPMTIShoot,				27, 33,
+		kPMTIPlaySound,			34, 33,
+		kPMTIMove,				0,
+		kPMTIObstacleReset,		kItemPS12Target1,
+		kPMTIPausedReset1of2,	kItemPS12Target16, kItemPS12Target14,
+		kPMTIPausedSet,			kItemPS12Target1,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData30() {
+	static int trackData[] = {
+		kPMTIActivate,			kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,		kItemPS12Target2,
+		kPMTIFacing,			67,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		3000, 9000,
+		kPMTIObstacleSet,		kItemPS12Target2,
+		kPMTIPlaySound,			33, 33,
+		kPMTITargetSet,			kItemPS12Target2, 1,
+		kPMTIEnemySet,			kItemPS12Target2,
+		kPMTIMove,				5,
+		kPMTIWait,				500,
+		kPMTIShoot,				27, 33,
+		kPMTIPlaySound,			34, 33,
+		kPMTIMove,				0,
+		kPMTIObstacleReset,		kItemPS12Target2,
+		kPMTIPausedReset1of2,	kItemPS12Target13, kItemPS12Target11,
+		kPMTIPausedSet,			kItemPS12Target2,
+		kPMTITargetSet,			kItemPS12Target2, 0,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData31() {
+	static int trackData[] = {
+		kPMTIActivate,			kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTITargetSet,			kItemPS12Target3, 1,
+		kPMTIEnemyReset,		kItemPS12Target3,
+		kPMTIObstacleReset,		kItemPS12Target3,
+		kPMTIFacing,			480,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		3000, 10000,
+		kPMTIObstacleSet,		kItemPS12Target3,
+		kPMTIMove,				5,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				1000,
+		kPMTIRotate,			968, 100,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				500,
+		kPMTIMove,				0,
+		kPMTIPlaySound,			29, 33,
+		kPMTILeave,
+		kPMTIObstacleReset,		kItemPS12Target3,
+		kPMTIPausedReset1of3,	kItemPS12Target12, kItemPS12Target4, kItemPS12Target5,
+		kPMTIPausedSet,			kItemPS12Target3,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData32() {
+	static int trackData[] = {
+		kPMTIActivate,			kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,		kItemPS12Target4,
+		kPMTIFacing,			1010,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		3000, 10000,
+		kPMTIObstacleSet,		kItemPS12Target4,
+		kPMTIPlaySound,			33, 33,
+		kPMTITargetSet,			kItemPS12Target4, 1,
+		kPMTIEnemySet,			kItemPS12Target4,
+		kPMTIMove,				5,
+		kPMTIWait,				500,
+		kPMTIShoot,				27, 33,
+		kPMTIRotate,			498, 80,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				500,
+		kPMTIMove,				0,
+		kPMTIObstacleReset,		kItemPS12Target4,
+		kPMTIPausedReset1of3,	kItemPS12Target5, kItemPS12Target3, kItemPS12Target12,
+		kPMTIPausedSet,			kItemPS12Target4,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData33() {
+	static int trackData[] = {
+		kPMTIActivate,			kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,		kItemPS12Target5,
+		kPMTIFacing,			540,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		4000, 10000,
+		kPMTIObstacleSet,		kItemPS12Target5,
+		kPMTITargetSet,			kItemPS12Target5, 1,
+		kPMTIEnemyReset,		kItemPS12Target5,
+		kPMTIMove,				5,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				1000,
+		kPMTIRotate,			284, 80,
+		kPMTIWait,				0,
+		kPMTIRotate,			28, 80,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				1000,
+		kPMTIMove,				0,
+		kPMTILeave,
+		kPMTIObstacleReset,		kItemPS12Target5,
+		kPMTIPausedReset1of3,	kItemPS12Target12, kItemPS12Target3, kItemPS12Target4,
+		kPMTIPausedSet,			kItemPS12Target5,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData34() {
+	static int trackData[] = {
+		kPMTIActivate,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,	kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,	kItemPS12Target6,
+		kPMTIObstacleReset,	kItemPS12Target7,
+		kPMTIObstacleReset,	kItemPS12Target8,
+		kPMTIFacing,		469,
+		kPMTIPosition,		0,
+		kPMTITargetSet,		kItemPS12Target6, 1,
+		kPMTITargetSet,		kItemPS12Target7, 1,
+		kPMTITargetSet,		kItemPS12Target8, 1,
+		kPMTIWaitRandom,	3000, 10000,
+		kPMTIObstacleSet,	kItemPS12Target6,
+		kPMTIEnemySet,		kItemPS12Target6,
+		kPMTIEnemySet,		kItemPS12Target7,
+		kPMTIEnemySet,		kItemPS12Target8,
+		kPMTIMove,			5,
+		kPMTIPlaySound,		29, 33,
+		kPMTIWait,			1000,
+		kPMTIRotate,		376, 80,
+		kPMTIWait,			0,
+		kPMTIRotate,		168, 80,
+		kPMTIPlaySound,		29, 33,
+		kPMTIMove,			9,
+		kPMTIRotate,		33, 80,
+		kPMTIWait,			0,
+		kPMTIRotate,		15, 80,
+		kPMTIPlaySound,		29, 33,
+		kPMTIWait,			500,
+		kPMTIShoot,			27, 33,
+		kPMTIMove,			5,
+		kPMTIPlaySound,		29, 33,
+		kPMTIRotate,		168, 80,
+		kPMTIWait,			0,
+		kPMTIRotate,		376, 80,
+		kPMTIWait,			0,
+		kPMTIRotate,		469, 80,
+		kPMTIPlaySound,		29, 33,
+		kPMTIWait,			500,
+		kPMTITargetSet,		kItemPS12Target6, 1,
+		kPMTITargetSet,		kItemPS12Target7, 1,
+		kPMTITargetSet,		kItemPS12Target8, 1,
+		kPMTIEnemySet,		kItemPS12Target6,
+		kPMTIEnemySet,		kItemPS12Target7,
+		kPMTIEnemySet,		kItemPS12Target8,
+		kPMTIRotate,		376, 80,
+		kPMTIWait,			0,
+		kPMTIRotate,		168, 80,
+		kPMTIMove,			9,
+		kPMTIRotate,		33, 80,
+		kPMTIWait,			0,
+		kPMTIRotate,		15, 80,
+		kPMTIPlaySound,		29, 33,
+		kPMTIWait,			500,
+		kPMTIShoot,			27, 33,
+		kPMTIMove,			5,
+		kPMTIPlaySound,		29, 33,
+		kPMTIWait,			0,
+		kPMTIRotate,		469, 80,
+		kPMTIWait,			500,
+		kPMTIRotate,		198, 80,
+		kPMTIPlaySound,		29, 33,
+		kPMTIWait,			0,
+		kPMTIMove,			19,
+		kPMTIPlaySound,		29, 33,
+		kPMTIWait,			0,
+		kPMTIObstacleReset,	kItemPS12Target6,
+		kPMTIPausedReset,	kItemPS12Target7,
+		kPMTIPausedSet,		kItemPS12Target6,
+		kPMTIPosition,		0,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData35() {
+	static int trackData[] = {
+		kPMTIObstacleSet,	kItemPS12Target7,
+		kPMTIFacing,		198,
+		kPMTIPosition,		0,
+		kPMTIRotate,		469, 80,
+		kPMTIMove,			9,
+		kPMTIWait,			0,
+		kPMTIObstacleReset,	kItemPS12Target7,
+		kPMTIPausedReset,	kItemPS12Target8,
+		kPMTIPausedSet,		kItemPS12Target7,
+		kPMTIFacing,		198,
+		kPMTIObstacleSet,	kItemPS12Target7,
+		kPMTIPosition,		0,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData36() {
+	static int trackData[] = {
+		kPMTIObstacleSet,	kItemPS12Target8,
+		kPMTIFacing,		469,
+		kPMTIPosition,		0,
+		kPMTIObstacleSet,	kItemPS12Target8,
+		kPMTIMove,			9,
+		kPMTIPlaySound,		29, 33,
+		kPMTIWait,			1000,
+		kPMTIObstacleReset,	kItemPS12Target6,
+		kPMTIObstacleReset,	kItemPS12Target7,
+		kPMTIObstacleReset,	kItemPS12Target8,
+		kPMTIPausedReset,	kItemPS12Target9,
+		kPMTIPausedSet,		kItemPS12Target8,
+		kPMTIFacing,		469,
+		kPMTIObstacleSet,	kItemPS12Target8,
+		kPMTIPosition,		0,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData37() {
+	static int trackData[] = {
+		kPMTIActivate,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,	kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,	kItemPS12Target9,
+		kPMTIWaitRandom,	3000, 6000,
+		kPMTIPausedReset,	kItemPS12Target10,
+		kPMTIFacing,		1010,
+		kPMTIPosition,		0,
+		kPMTIWait,			2000,
+		kPMTIObstacleSet,	kItemPS12Target9,
+		kPMTIPlaySound,		33, 33,
+		kPMTITargetSet,		kItemPS12Target9, 1,
+		kPMTIEnemyReset,	kItemPS12Target9,
+		kPMTIMove,			9,
+		kPMTIWait,			3000,
+		kPMTIPlaySound,		34, 33,
+		kPMTIMove,			0,
+		kPMTILeave,
+		kPMTIObstacleReset,	kItemPS12Target9,
+		kPMTIPausedSet,		kItemPS12Target9,
+		kPMTIPosition,		0,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData38() {
+	static int trackData[] = {
+		kPMTIObstacleReset,	kItemPS12Target10,
+		kPMTIFacing,		990,
+		kPMTIPosition,		0,
+		kPMTIWait,			3000,
+		kPMTIObstacleSet,	kItemPS12Target10,
+		kPMTIPlaySound,		33, 33,
+		kPMTITargetSet,		kItemPS12Target10, 1,
+		kPMTIEnemySet,		kItemPS12Target10,
+		kPMTIMove,			9,
+		kPMTIWait,			1000,
+		kPMTIShoot,			12, 33,
+		kPMTIPlaySound,		34, 33,
+		kPMTIMove,			0,
+		kPMTIObstacleReset,	kItemPS12Target10,
+		kPMTIPausedReset,	kItemPS12Target6,
+		kPMTIPausedSet,		kItemPS12Target10,
+		kPMTIPosition,		0,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData39() {
+	static int trackData[] = {
+		kPMTIActivate,			kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,		kItemPS12Target11,
+		kPMTIFacing,			513,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		5000, 5000,
+		kPMTIObstacleSet,		kItemPS12Target11,
+		kPMTIPlaySound,			33, 33,
+		kPMTITargetSet,			kItemPS12Target11, 1,
+		kPMTIMove,				5,
+		kPMTIWait,				1000,
+		kPMTIEnemySet,			kItemPS12Target11,
+		kPMTIRotate,			1010, 80,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				500,
+		kPMTIShoot,				27, 33,
+		kPMTIPlaySound,			34, 33,
+		kPMTIMove,				0,
+		kPMTIObstacleReset,		kItemPS12Target11,
+		kPMTIPausedReset1of2,	kItemPS12Target13, kItemPS12Target2,
+		kPMTIPausedSet,			kItemPS12Target11,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData40() {
+	static int trackData[] = {
+		kPMTIActivate,			kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,		kItemPS12Target12,
+		kPMTIFacing,			480,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		4000, 8000,
+		kPMTIObstacleSet,		kItemPS12Target12,
+		kPMTIPlaySound,			29, 33,
+		kPMTITargetSet,			kItemPS12Target12, 1,
+		kPMTIMove,				5,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				500,
+		kPMTIEnemySet,			kItemPS12Target12,
+		kPMTIRotate,			968, 80,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				1000,
+		kPMTIShoot,				27, 33,
+		kPMTIMove,				0,
+		kPMTIObstacleReset,		kItemPS12Target12,
+		kPMTIPausedReset1of3,	kItemPS12Target3, kItemPS12Target4, kItemPS12Target5,
+		kPMTIPausedSet,			kItemPS12Target12,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData41() {
+	static int trackData[] = {
+		kPMTIActivate,			kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,		kItemPS12Target13,
+		kPMTIFacing,			513,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		4000, 6000,
+		kPMTIObstacleSet,		kItemPS12Target13,
+		kPMTIPlaySound,			33, 33,
+		kPMTITargetSet,			kItemPS12Target13, 1,
+		kPMTIEnemyReset,		kItemPS12Target13,
+		kPMTIMove,				5,
+		kPMTIWait,				500,
+		kPMTIRotate,			1010, 80,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				1000,
+		kPMTIMove,				0,
+		kPMTIPlaySound,			34, 33,
+		kPMTILeave,
+		kPMTIObstacleReset,		kItemPS12Target13,
+		kPMTIPausedReset1of2,	kItemPS12Target11, kItemPS12Target2,
+		kPMTIPausedSet,			kItemPS12Target13,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData42() {
+	static int trackData[] = {
+		kPMTIObstacleReset,		kItemPS12Target14,
+		kPMTIFacing,			109,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		2000, 5000,
+		kPMTIObstacleSet,		kItemPS12Target14,
+		kPMTIPlaySound,			29, 33,
+		kPMTITargetSet,			kItemPS12Target14, 1,
+		kPMTIEnemySet,			kItemPS12Target14,
+		kPMTIMove,				5,
+		kPMTIPlaySound,			29, 33,
+		kPMTIWait,				1000,
+		kPMTIShoot,				27, 33,
+		kPMTIMove,				0,
+		kPMTIObstacleReset,		kItemPS12Target14,
+		kPMTIPausedReset1of2,	kItemPS12Target16, kItemPS12Target1,
+		kPMTIPausedSet,			kItemPS12Target14,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData43() {
+	static int trackData[] = {
+		kPMTIActivate,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,	kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,	kItemPS12Target15,
+		kPMTIFacing,		540,
+		kPMTIPosition,		0,
+		kPMTIWaitRandom,	5000, 7000,
+		kPMTIObstacleSet,	kItemPS12Target15,
+		kPMTIPlaySound,		33, 33,
+		kPMTITargetSet,		kItemPS12Target15, 1,
+		kPMTIEnemyReset,	kItemPS12Target15,
+		kPMTIMove,			9,
+		kPMTIWait,			2000,
+		kPMTIRotate,		284, 80,
+		kPMTIWait,			0,
+		kPMTIRotate,		28, 80,
+		kPMTIPlaySound,		29, 33,
+		kPMTIWait,			2000,
+		kPMTIPlaySound,		34, 33,
+		kPMTIMove,			0,
+		kPMTILeave,
+		kPMTIObstacleReset,	kItemPS12Target15,
+		kPMTIPausedReset,	kItemPS12Target17,
+		kPMTIPausedSet,		kItemPS12Target15,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData44() {
+	static int trackData[] = {
+		kPMTIActivate,			kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,		kItemPS12Target16,
+		kPMTIFacing,			109,
+		kPMTIPosition,			0,
+		kPMTIWaitRandom,		5000, 5000,
+		kPMTIObstacleSet,		kItemPS12Target16,
+		kPMTIPlaySound,			29, 33,
+		kPMTITargetSet,			kItemPS12Target16, 1,
+		kPMTIEnemyReset,		kItemPS12Target16,
+		kPMTIMove,				5,
+		kPMTIWaitRandom,		2000, 2000,
+		kPMTIPlaySound,			29, 33,
+		kPMTIMove,				0,
+		kPMTILeave,
+		kPMTIObstacleReset,		kItemPS12Target16,
+		kPMTIPausedReset1of2,	kItemPS12Target14, kItemPS12Target1,
+		kPMTIPausedSet,			kItemPS12Target16,
+		kPMTIRestart
+	};
+	return trackData;
+}
+
+static const int *getPoliceMazePS12TrackData45() {
+	static int trackData[] = {
+		kPMTIActivate,		kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIVariableInc,	kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
+		kPMTIObstacleReset,	kItemPS12Target17,
+		kPMTIFacing,		540,
+		kPMTIPosition,		0,
+		kPMTIWaitRandom,	3000, 10000,
+		kPMTIObstacleSet,	kItemPS12Target17,
+		kPMTIPlaySound,		33, 33,
+		kPMTITargetSet,		kItemPS12Target17, 1,
+		kPMTIMove,			9,
+		kPMTIWait,			1000,
+		kPMTIEnemySet,		kItemPS12Target17,
+		kPMTIRotate,		284, 80,
+		kPMTIWait,			0,
+		kPMTIRotate,		28, 80,
+		kPMTIWait,			1000,
+		kPMTIShoot,			27, 33,
+		kPMTIPlaySound,		34, 33,
+		kPMTIMove,			0,
+		kPMTIObstacleReset,	kItemPS12Target17,
+		kPMTIPausedReset,	kItemPS12Target15,
+		kPMTIPausedSet,		kItemPS12Target17,
+		kPMTIRestart
+	};
+	return trackData;
+}
 
 void SceneScriptPS12::SceneLoaded() {
 	Obstacle_Object("PARKMETR01", true);
@@ -77,6 +553,7 @@ void SceneScriptPS12::SceneLoaded() {
 	Unclickable_Object("PARKMETR11");
 	Unclickable_Object("PARKMETR15");
 	Unclickable_Object("PARKMETR16");
+
 	if (!Query_System_Currently_Loading_Game()) {
 		Item_Add_To_World(kItemPS12Target1,  449, kSetPS10_PS11_PS12_PS13,  -691.8f, -9.06f, 587.67f,  200, 72, 36, true, false, false, true);
 		Item_Add_To_World(kItemPS12Target2,  445, kSetPS10_PS11_PS12_PS13,  -679.6f, -45.4f, 721.05f,   67, 72, 36, true, false, false, true);
@@ -96,39 +573,40 @@ void SceneScriptPS12::SceneLoaded() {
 		Item_Add_To_World(kItemPS12Target16, 441, kSetPS10_PS11_PS12_PS13,  -731.0f, 93.66f,  788.0f,  109, 72, 36, true, false, false, true);
 		Item_Add_To_World(kItemPS12Target17, 443, kSetPS10_PS11_PS12_PS13,  -580.0f, -80.0f,  925.0f,  540, 72, 36, true, false, false, true);
 	}
-	Police_Maze_Target_Track_Add(kItemPS12Target1,   -691.8f, -9.06f, 587.67f, -649.11f, -9.06f, 587.71f,  6, track_data_29,  true);
-	Police_Maze_Target_Track_Add(kItemPS12Target2,   -679.6f, -45.4f, 721.05f,  -679.6f,  -1.4f, 721.05f,  6, track_data_30,  true);
-	Police_Maze_Target_Track_Add(kItemPS12Target3,  -414.04f, -8.98f, 711.91f, -459.54f, -8.99f, 707.81f,  6, track_data_31, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target4,   -440.0f, -8.97f, 1137.0f,  -430.0f, -8.97f,  921.0f,  6, track_data_32, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target5,  -764.92f, -0.84f, 950.22f, -722.92f, -0.84f, 950.22f,  6, track_data_33, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target6,   -696.0f,  -5.7f, 1185.0f,  -635.0f,  -5.7f, 1185.0f, 20, track_data_34, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target7,   -635.0f,  -5.7f, 1165.0f,  -620.0f, -8.63f, 1366.0f, 10, track_data_35, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target8,   -620.0f, -8.63f, 1366.0f,  -595.0f, -8.63f, 1366.0f, 10, track_data_36, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target9,   -584.0f, -79.4f,  775.0f,  -584.0f, -27.4f,  775.0f, 10, track_data_37,  true);
-	Police_Maze_Target_Track_Add(kItemPS12Target10,  -578.0f, -79.4f,  810.0f,  -578.0f, -27.4f,  810.0f, 10, track_data_38, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target11,  -400.0f, -12.0f, 1110.0f,  -400.0f,  60.0f, 1110.0f,  6, track_data_39, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target12, -414.04f, -8.98f, 711.91f, -459.54f, -8.99f, 707.81f,  6, track_data_40,  true);
-	Police_Maze_Target_Track_Add(kItemPS12Target13,  -400.0f, -12.0f, 1110.0f,  -400.0f,  60.0f, 1110.0f,  6, track_data_41, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target14,  -731.0f, 93.66f,  788.0f,  -702.0f, 93.66f,  788.0f,  6, track_data_42, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target15,  -580.0f, -80.0f,  925.0f,  -580.0f,  -8.0f,  925.0f, 10, track_data_43,  true);
-	Police_Maze_Target_Track_Add(kItemPS12Target16,  -731.0f, 93.66f,  788.0f,  -702.0f, 93.66f,  788.0f,  6, track_data_44, false);
-	Police_Maze_Target_Track_Add(kItemPS12Target17,  -580.0f, -80.0f,  925.0f,  -580.0f,  -8.0f,  925.0f, 10, track_data_45, false);
+	Police_Maze_Target_Track_Add(kItemPS12Target1,   -691.8f, -9.06f, 587.67f, -649.11f, -9.06f, 587.71f,  6, getPoliceMazePS12TrackData29(),  true);
+	Police_Maze_Target_Track_Add(kItemPS12Target2,   -679.6f, -45.4f, 721.05f,  -679.6f,  -1.4f, 721.05f,  6, getPoliceMazePS12TrackData30(),  true);
+	Police_Maze_Target_Track_Add(kItemPS12Target3,  -414.04f, -8.98f, 711.91f, -459.54f, -8.99f, 707.81f,  6, getPoliceMazePS12TrackData31(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target4,   -440.0f, -8.97f, 1137.0f,  -430.0f, -8.97f,  921.0f,  6, getPoliceMazePS12TrackData32(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target5,  -764.92f, -0.84f, 950.22f, -722.92f, -0.84f, 950.22f,  6, getPoliceMazePS12TrackData33(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target6,   -696.0f,  -5.7f, 1185.0f,  -635.0f,  -5.7f, 1185.0f, 20, getPoliceMazePS12TrackData34(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target7,   -635.0f,  -5.7f, 1165.0f,  -620.0f, -8.63f, 1366.0f, 10, getPoliceMazePS12TrackData35(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target8,   -620.0f, -8.63f, 1366.0f,  -595.0f, -8.63f, 1366.0f, 10, getPoliceMazePS12TrackData36(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target9,   -584.0f, -79.4f,  775.0f,  -584.0f, -27.4f,  775.0f, 10, getPoliceMazePS12TrackData37(),  true);
+	Police_Maze_Target_Track_Add(kItemPS12Target10,  -578.0f, -79.4f,  810.0f,  -578.0f, -27.4f,  810.0f, 10, getPoliceMazePS12TrackData38(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target11,  -400.0f, -12.0f, 1110.0f,  -400.0f,  60.0f, 1110.0f,  6, getPoliceMazePS12TrackData39(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target12, -414.04f, -8.98f, 711.91f, -459.54f, -8.99f, 707.81f,  6, getPoliceMazePS12TrackData40(),  true);
+	Police_Maze_Target_Track_Add(kItemPS12Target13,  -400.0f, -12.0f, 1110.0f,  -400.0f,  60.0f, 1110.0f,  6, getPoliceMazePS12TrackData41(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target14,  -731.0f, 93.66f,  788.0f,  -702.0f, 93.66f,  788.0f,  6, getPoliceMazePS12TrackData42(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target15,  -580.0f, -80.0f,  925.0f,  -580.0f,  -8.0f,  925.0f, 10, getPoliceMazePS12TrackData43(),  true);
+	Police_Maze_Target_Track_Add(kItemPS12Target16,  -731.0f, 93.66f,  788.0f,  -702.0f, 93.66f,  788.0f,  6, getPoliceMazePS12TrackData44(), false);
+	Police_Maze_Target_Track_Add(kItemPS12Target17,  -580.0f, -80.0f,  925.0f,  -580.0f,  -8.0f,  925.0f, 10, getPoliceMazePS12TrackData45(), 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);
-	Ambient_Sounds_Add_Sound(1,  10,  50, 16, 25, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(389, 5,  50, 16, 25, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(390, 6,  50, 16, 25, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(443, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(444, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(445, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(446, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(303, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(304, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(305, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(306, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(307, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
-	Ambient_Sounds_Add_Sound(308, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Looping_Sound( 54, 50, 1, 1);
+	Ambient_Sounds_Add_Sound(  1, 10,  50, 16, 25, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(389,  5,  50, 16, 25, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(390,  6,  50, 16, 25, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(443,  2, 100, 14, 16, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(444,  2, 100, 14, 16, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(445,  2, 100, 14, 16, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(446,  2, 100, 14, 16, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(303,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(304,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(305,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(306,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(307,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
+	Ambient_Sounds_Add_Sound(308,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0);
 }
 
 bool SceneScriptPS12::MouseClick(int x, int y) {





More information about the Scummvm-git-logs mailing list