aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/bladerunner/script/scene/ps10.cpp6
-rw-r--r--engines/bladerunner/script/scene/ps11.cpp10
-rw-r--r--engines/bladerunner/script/scene/ps12.cpp14
3 files changed, 20 insertions, 10 deletions
diff --git a/engines/bladerunner/script/scene/ps10.cpp b/engines/bladerunner/script/scene/ps10.cpp
index 3934ebc7fb..431ee7d3b7 100644
--- a/engines/bladerunner/script/scene/ps10.cpp
+++ b/engines/bladerunner/script/scene/ps10.cpp
@@ -92,7 +92,6 @@ static const int *getPoliceMazePS10TrackData2() { // Enemy linked series (kItem
#if BLADERUNNER_ORIGINAL_BUGS
#else
kPMTITargetSet, kItemPS10Target2, 0, // remove target-able here - only for Target2 item
- kPMTIPausedReset, kItemPS10Target3,
#endif // BLADERUNNER_ORIGINAL_BUGS
kPMTIPausedReset, kItemPS10Target5,
kPMTIPausedSet, kItemPS10Target2,
@@ -102,7 +101,6 @@ static const int *getPoliceMazePS10TrackData2() { // Enemy linked series (kItem
return trackData;
}
-// NOTE Track 3 is used only once as is; it's activated when entering the room
static const int *getPoliceMazePS10TrackData3() { // Enemy (kItemPS10Target3) - Starts activated - Rotating reveal
static int trackData[] = {
kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,
@@ -138,7 +136,7 @@ static const int *getPoliceMazePS10TrackData3() { // Enemy (kItemPS10Target3) -
#if BLADERUNNER_ORIGINAL_BUGS
#else
kPMTITargetSet, kItemPS10Target3, 0, // remove target-able here
- kPMTIPausedSet, kItemPS10Target3,
+// kPMTIPausedSet, kItemPS10Target3, // It is intentional (original) that kItemPS10Target3 does not get paused - This target loops on its own
#endif // BLADERUNNER_ORIGINAL_BUGS
kPMTIRestart
};
@@ -315,7 +313,7 @@ static const int *getPoliceMazePS10TrackData8() { // Enemy (kItemPS10Target8) -
#if BLADERUNNER_ORIGINAL_BUGS
kPMTIWait, 0, // this is too fast
#else
- kPMTIWait, 250,
+ kPMTIWait, 100,
#endif // BLADERUNNER_ORIGINAL_BUGS
kPMTIShoot, 27, 33,
kPMTIMove, 0,
diff --git a/engines/bladerunner/script/scene/ps11.cpp b/engines/bladerunner/script/scene/ps11.cpp
index d5118995a4..ad8be4a75e 100644
--- a/engines/bladerunner/script/scene/ps11.cpp
+++ b/engines/bladerunner/script/scene/ps11.cpp
@@ -255,7 +255,11 @@ static const int *getPoliceMazePS11TrackData14() { // Enemy (kItemPS11Target6)
kPMTIObstacleReset, kItemPS11Target6,
kPMTITargetSet, kItemPS11Target6, 1,
kPMTIEnemyReset, kItemPS11Target6,
- kPMTIFacing, 900,
+#if BLADERUNNER_ORIGINAL_BUGS
+ kPMTIFacing, 900, // orientation is wrong here - should conceal the gun entirely
+#else
+ kPMTIFacing, 750, // corrected orientation
+#endif // BLADERUNNER_ORIGINAL_BUGS
kPMTIPosition, 0,
kPMTIWaitRandom, 3000, 6000,
kPMTIObstacleSet, kItemPS11Target6,
@@ -267,9 +271,9 @@ static const int *getPoliceMazePS11TrackData14() { // Enemy (kItemPS11Target6)
kPMTIRotate, 644, 80,
kPMTIWait, 0,
#if BLADERUNNER_ORIGINAL_BUGS
-1 kPMTIRotate, 388, 80, // TODO fix orientation here
+1 kPMTIRotate, 388, 80, // orientation is wrong here
#else
- kPMTIRotate, 280, 80, // corrected orientation
+ kPMTIRotate, 260, 80, // corrected orientation
#endif // BLADERUNNER_ORIGINAL_BUGS
kPMTIWait, 1000,
kPMTIShoot, 27, 33,
diff --git a/engines/bladerunner/script/scene/ps12.cpp b/engines/bladerunner/script/scene/ps12.cpp
index 66b4a89112..b717dc65bc 100644
--- a/engines/bladerunner/script/scene/ps12.cpp
+++ b/engines/bladerunner/script/scene/ps12.cpp
@@ -377,7 +377,9 @@ static const int *getPoliceMazePS12TrackData36() { // Enemy (kItemPS12Target6,
return trackData;
}
-static const int *getPoliceMazePS12TrackData37() { // Innocent (kItemPS12Target9) - Starts activated
+// kItemPS12Target9 and kItemPS12Target10 go together (innocent and enemy who uses innocent as a human shield)
+// They count as one activated target, but they are credited separately (+1 for not shooting the innocent, +1 for shooting the enemy)
+static const int *getPoliceMazePS12TrackData37() { // Special: Innocent (kItemPS12Target9) - Starts activated, goes together with enemy kItemPS12Target10 (not same target)
static int trackData[] = {
kPMTIActivate, kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
kPMTIVariableInc, kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount,
@@ -387,7 +389,7 @@ static const int *getPoliceMazePS12TrackData37() { // Innocent (kItemPS12Target
#endif // BLADERUNNER_ORIGINAL_BUGS
kPMTIObstacleReset, kItemPS12Target9,
kPMTIWaitRandom, 3000, 6000,
- kPMTIPausedReset, kItemPS12Target10, // TODO MAZE A bug? intended? Why is kItemPS12Target10 unpaused so early?
+ kPMTIPausedReset, kItemPS12Target10, // kItemPS12Target10 unpaused early since he is the enemy using kItemPS12Target9 as human shield
kPMTIFacing, 1010,
kPMTIPosition, 0,
kPMTIWait, 2000,
@@ -416,6 +418,8 @@ static const int *getPoliceMazePS12TrackData38() { // Enemy (kItemPS12Target10)
static int trackData[] = {
#if BLADERUNNER_ORIGINAL_BUGS
#else
+ kPMTIActivate, kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount, // TODO MAZE A bug? intended? Missing activate instruction
+ kPMTIVariableInc, kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount, // TODO MAZE A bug? intended? Missing increase counter instruction
kPMTITargetSet, kItemPS12Target10, 0, // remove target-able here
#endif // BLADERUNNER_ORIGINAL_BUGS
kPMTIObstacleReset, kItemPS12Target10,
@@ -560,10 +564,14 @@ static const int *getPoliceMazePS12TrackData41() { // Innocent (kItemPS12Target
return trackData;
}
+// kItemPS12Target14 does not count as an Active target in the original code
+// Supposedly he is "Special" in the sense that he acts as a potential bonus point since he appears from a place where an innocent (kItemPS12Target16) can appear
static const int *getPoliceMazePS12TrackData42() { // Enemy (kItemPS12Target14)
static int trackData[] = {
#if BLADERUNNER_ORIGINAL_BUGS
#else
+ kPMTIActivate, kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount, // TODO MAZE A bug? intended? Missing activate instruction
+ kPMTIVariableInc, kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount, // TODO MAZE A bug? intended? Missing increase counter instruction
kPMTITargetSet, kItemPS12Target14, 0, // remove target-able here
#endif // BLADERUNNER_ORIGINAL_BUGS
kPMTIObstacleReset, kItemPS12Target14,
@@ -688,7 +696,7 @@ static const int *getPoliceMazePS12TrackData45() { // Enemy (kItemPS12Target17)
kPMTITargetSet, kItemPS12Target17, 1,
kPMTIMove, 9,
kPMTIWait, 1000,
- kPMTIPlaySound, 495, 33, // ASDF REVEAL BELL
+ kPMTIPlaySound, 495, 33, // ASDF REVEAL BELL
kPMTIEnemySet, kItemPS12Target17, // rotate - reveal
kPMTIRotate, 284, 80,
kPMTIWait, 0,