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

antoniou79 antoniou at cti.gr
Thu May 9 14:38:21 CEST 2019


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

Summary:
1b4a520140 BLADERUNNER: Fix disabled mouse hover GPS speech
6e84264735 BLADERUNNER: Fix audio clue DoorForced1 post Act 1
074baf9b26 BLADERUNNER: Use booleans in walk functions
b1a0ed0d93 BLADERUNNER: debugger includes McCoy id for list act


Commit: 1b4a5201405f1e8a0c0e8e716ebf5565dca3d7a6
    https://github.com/scummvm/scummvm/commit/1b4a5201405f1e8a0c0e8e716ebf5565dca3d7a6
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-05-09T11:51:35+03:00

Commit Message:
BLADERUNNER: Fix disabled mouse hover GPS speech

Changed paths:
    engines/bladerunner/ui/spinner.cpp


diff --git a/engines/bladerunner/ui/spinner.cpp b/engines/bladerunner/ui/spinner.cpp
index d47a28c..bb4f67b 100644
--- a/engines/bladerunner/ui/spinner.cpp
+++ b/engines/bladerunner/ui/spinner.cpp
@@ -431,9 +431,13 @@ void Spinner::tickDescription() {
 		return;
 	}
 
-	_vm->_actors[_actorId]->speechPlay(_sentenceId, false);
-	_actorId = -1;
-	_sentenceId = -1;
+	if (!_vm->_mouse->isDisabled()) {
+		// mouse can mouse when disab;ed so hover callbacks will work, while the cursor is invisible
+		// so postpone the speech until mouse is invisible again
+		_vm->_actors[_actorId]->speechPlay(_sentenceId, false);
+		_actorId = -1;
+		_sentenceId = -1;
+	}
 }
 
 void Spinner::playSpeechLine(int actorId, int sentenceId, float duration) {


Commit: 6e84264735986f165b6fe1cf8793337efb1d7875
    https://github.com/scummvm/scummvm/commit/6e84264735986f165b6fe1cf8793337efb1d7875
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-05-09T11:51:35+03:00

Commit Message:
BLADERUNNER: Fix audio clue DoorForced1 post Act 1

Changed paths:
    engines/bladerunner/script/kia_script.cpp
    engines/bladerunner/script/scene/rc01.cpp


diff --git a/engines/bladerunner/script/kia_script.cpp b/engines/bladerunner/script/kia_script.cpp
index f7f97f4..a6416d2 100644
--- a/engines/bladerunner/script/kia_script.cpp
+++ b/engines/bladerunner/script/kia_script.cpp
@@ -46,7 +46,9 @@ void KIAScript::SCRIPT_KIA_DLL_Play_Clue_Asset_Script(int notUsed, int clueId) {
 		KIA_Play_Actor_Dialogue(kActorOfficerLeary, 0);
 		break;
 	case kClueDoorForced1:
-		if (_vm->_cutContent) {
+		if (_vm->_cutContent && _vm->_gameVars[kVariableChapter] == 1) {
+			// unfortunately this line is only available in TLK1 (so only Act 1)
+			// it will be silent in subsequent Acts
 			KIA_Play_Actor_Dialogue(kActorVoiceOver, 1870);
 		}
 		break;
diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp
index ee7fe5f..9bce0be 100644
--- a/engines/bladerunner/script/scene/rc01.cpp
+++ b/engines/bladerunner/script/scene/rc01.cpp
@@ -249,7 +249,10 @@ bool SceneScriptRC01::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("DOOR LEFT", objectName)) {
 		if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "DOOR LEFT", 48, true, false)) {
 			Actor_Face_Object(kActorMcCoy, "DOOR LEFT", true);
-			if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2) && Actor_Query_In_Set(kActorOfficerLeary, kSetRC01) && Global_Variable_Query(kVariableChapter) > 0) {
+			if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2)
+			    && Actor_Query_In_Set(kActorOfficerLeary, kSetRC01)
+			    && Global_Variable_Query(kVariableChapter) > 0
+			) {
 #if BLADERUNNER_ORIGINAL_BUGS
 #else
 				bool officerLearyWasInterrogatingTheCrowd = Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyRC01CrowdInterrogation
@@ -270,8 +273,12 @@ bool SceneScriptRC01::ClickedOn3DObject(const char *objectName, bool a2) {
 			}
 #if BLADERUNNER_ORIGINAL_BUGS
 #else
-			else if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2) && !Actor_Clue_Query(kActorMcCoy, kClueDoorForced1) && !Actor_Query_In_Set(kActorOfficerLeary, kSetRC01) && Global_Variable_Query(kVariableChapter) == 1) {
+			else if (!Actor_Clue_Query(kActorMcCoy, kClueDoorForced2)
+			         && !Actor_Clue_Query(kActorMcCoy, kClueDoorForced1)
+			         && !Actor_Query_In_Set(kActorOfficerLeary, kSetRC01)
+			         && Global_Variable_Query(kVariableChapter) == 1) {
 				if (_vm->_cutContent) {
+					// keep in mind, this line in only available in Act 1
 					Actor_Voice_Over(1870, kActorVoiceOver);
 				} else {
 					Actor_Says(kActorMcCoy, 8570, 14);


Commit: 074baf9b26fcb4efac67b71bea7bf0f979bb7a8f
    https://github.com/scummvm/scummvm/commit/074baf9b26fcb4efac67b71bea7bf0f979bb7a8f
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-05-09T15:15:33+03:00

Commit Message:
BLADERUNNER: Use booleans in walk functions

And a few more (not all yet) methods that had 1, 0 instead of true, false

Changed paths:
    engines/bladerunner/script/ai/clovis.cpp
    engines/bladerunner/script/ai/dektora.cpp
    engines/bladerunner/script/ai/early_q.cpp
    engines/bladerunner/script/ai/gordo.cpp
    engines/bladerunner/script/ai/izo.cpp
    engines/bladerunner/script/ai/leon.cpp
    engines/bladerunner/script/ai/lucy.cpp
    engines/bladerunner/script/ai/luther.cpp
    engines/bladerunner/script/ai/maggie.cpp
    engines/bladerunner/script/ai/mccoy.cpp
    engines/bladerunner/script/ai/rachael.cpp
    engines/bladerunner/script/ai/sadik.cpp
    engines/bladerunner/script/ai/shoeshine_man.cpp
    engines/bladerunner/script/ai/steele.cpp
    engines/bladerunner/script/ai/taffy_patron.cpp
    engines/bladerunner/script/ai/zuben.cpp
    engines/bladerunner/script/scene/ar01.cpp
    engines/bladerunner/script/scene/ar02.cpp
    engines/bladerunner/script/scene/bb01.cpp
    engines/bladerunner/script/scene/bb02.cpp
    engines/bladerunner/script/scene/bb03.cpp
    engines/bladerunner/script/scene/bb04.cpp
    engines/bladerunner/script/scene/bb05.cpp
    engines/bladerunner/script/scene/bb06.cpp
    engines/bladerunner/script/scene/bb07.cpp
    engines/bladerunner/script/scene/bb08.cpp
    engines/bladerunner/script/scene/bb09.cpp
    engines/bladerunner/script/scene/bb10.cpp
    engines/bladerunner/script/scene/bb11.cpp
    engines/bladerunner/script/scene/bb12.cpp
    engines/bladerunner/script/scene/bb51.cpp
    engines/bladerunner/script/scene/ct01.cpp
    engines/bladerunner/script/scene/ct02.cpp
    engines/bladerunner/script/scene/ct03.cpp
    engines/bladerunner/script/scene/ct04.cpp
    engines/bladerunner/script/scene/ct05.cpp
    engines/bladerunner/script/scene/ct06.cpp
    engines/bladerunner/script/scene/ct08.cpp
    engines/bladerunner/script/scene/ct09.cpp
    engines/bladerunner/script/scene/ct10.cpp
    engines/bladerunner/script/scene/ct11.cpp
    engines/bladerunner/script/scene/ct12.cpp
    engines/bladerunner/script/scene/ct51.cpp
    engines/bladerunner/script/scene/dr01.cpp
    engines/bladerunner/script/scene/dr02.cpp
    engines/bladerunner/script/scene/dr03.cpp
    engines/bladerunner/script/scene/dr04.cpp
    engines/bladerunner/script/scene/dr05.cpp
    engines/bladerunner/script/scene/dr06.cpp
    engines/bladerunner/script/scene/hc01.cpp
    engines/bladerunner/script/scene/hc02.cpp
    engines/bladerunner/script/scene/hc03.cpp
    engines/bladerunner/script/scene/hc04.cpp
    engines/bladerunner/script/scene/hf01.cpp
    engines/bladerunner/script/scene/hf02.cpp
    engines/bladerunner/script/scene/hf03.cpp
    engines/bladerunner/script/scene/hf04.cpp
    engines/bladerunner/script/scene/hf05.cpp
    engines/bladerunner/script/scene/hf06.cpp
    engines/bladerunner/script/scene/hf07.cpp
    engines/bladerunner/script/scene/kp01.cpp
    engines/bladerunner/script/scene/kp02.cpp
    engines/bladerunner/script/scene/kp03.cpp
    engines/bladerunner/script/scene/kp04.cpp
    engines/bladerunner/script/scene/kp05.cpp
    engines/bladerunner/script/scene/kp06.cpp
    engines/bladerunner/script/scene/kp07.cpp
    engines/bladerunner/script/scene/ma01.cpp
    engines/bladerunner/script/scene/ma02.cpp
    engines/bladerunner/script/scene/ma04.cpp
    engines/bladerunner/script/scene/ma05.cpp
    engines/bladerunner/script/scene/ma06.cpp
    engines/bladerunner/script/scene/ma07.cpp
    engines/bladerunner/script/scene/nr01.cpp
    engines/bladerunner/script/scene/nr02.cpp
    engines/bladerunner/script/scene/nr03.cpp
    engines/bladerunner/script/scene/nr04.cpp
    engines/bladerunner/script/scene/nr05.cpp
    engines/bladerunner/script/scene/nr06.cpp
    engines/bladerunner/script/scene/nr07.cpp
    engines/bladerunner/script/scene/nr08.cpp
    engines/bladerunner/script/scene/nr09.cpp
    engines/bladerunner/script/scene/nr10.cpp
    engines/bladerunner/script/scene/nr11.cpp
    engines/bladerunner/script/scene/ps01.cpp
    engines/bladerunner/script/scene/ps02.cpp
    engines/bladerunner/script/scene/ps03.cpp
    engines/bladerunner/script/scene/ps04.cpp
    engines/bladerunner/script/scene/ps05.cpp
    engines/bladerunner/script/scene/ps07.cpp
    engines/bladerunner/script/scene/ps09.cpp
    engines/bladerunner/script/scene/ps10.cpp
    engines/bladerunner/script/scene/ps11.cpp
    engines/bladerunner/script/scene/ps12.cpp
    engines/bladerunner/script/scene/ps13.cpp
    engines/bladerunner/script/scene/ps14.cpp
    engines/bladerunner/script/scene/ps15.cpp
    engines/bladerunner/script/scene/rc01.cpp
    engines/bladerunner/script/scene/rc02.cpp
    engines/bladerunner/script/scene/rc03.cpp
    engines/bladerunner/script/scene/rc04.cpp
    engines/bladerunner/script/scene/rc51.cpp
    engines/bladerunner/script/scene/tb02.cpp
    engines/bladerunner/script/scene/tb03.cpp
    engines/bladerunner/script/scene/tb05.cpp
    engines/bladerunner/script/scene/tb06.cpp
    engines/bladerunner/script/scene/tb07.cpp
    engines/bladerunner/script/scene/ug01.cpp
    engines/bladerunner/script/scene/ug02.cpp
    engines/bladerunner/script/scene/ug03.cpp
    engines/bladerunner/script/scene/ug04.cpp
    engines/bladerunner/script/scene/ug05.cpp
    engines/bladerunner/script/scene/ug06.cpp
    engines/bladerunner/script/scene/ug07.cpp
    engines/bladerunner/script/scene/ug08.cpp
    engines/bladerunner/script/scene/ug09.cpp
    engines/bladerunner/script/scene/ug10.cpp
    engines/bladerunner/script/scene/ug12.cpp
    engines/bladerunner/script/scene/ug13.cpp
    engines/bladerunner/script/scene/ug14.cpp
    engines/bladerunner/script/scene/ug15.cpp
    engines/bladerunner/script/scene/ug16.cpp
    engines/bladerunner/script/scene/ug17.cpp
    engines/bladerunner/script/scene/ug18.cpp
    engines/bladerunner/script/scene/ug19.cpp


diff --git a/engines/bladerunner/script/ai/clovis.cpp b/engines/bladerunner/script/ai/clovis.cpp
index b26df93..4d476f4 100644
--- a/engines/bladerunner/script/ai/clovis.cpp
+++ b/engines/bladerunner/script/ai/clovis.cpp
@@ -195,7 +195,7 @@ void AIScriptClovis::Retired(int byActorId) {
 				Player_Loses_Control();
 				Delay(2000);
 				Player_Set_Combat_Mode(false);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false);
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
 				Game_Flag_Set(kFlagKP07toKP06);
diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp
index 94bdfe3..7764a97 100644
--- a/engines/bladerunner/script/ai/dektora.cpp
+++ b/engines/bladerunner/script/ai/dektora.cpp
@@ -90,7 +90,7 @@ bool AIScriptDektora::Update() {
 
 				if (comp_distance(kActorMcCoy, _x, _y, _z) > 12.0f) {
 					Actor_Query_XYZ(kActorMcCoy, &_x, &_y, &_z);
-					Async_Actor_Walk_To_XYZ(kActorDektora, _x, _y, _z, 36, 0);
+					Async_Actor_Walk_To_XYZ(kActorDektora, _x, _y, _z, 36, false);
 				}
 				break;
 
@@ -309,7 +309,7 @@ void AIScriptDektora::Retired(int byActorId) {
 			Player_Loses_Control();
 			Delay(2000);
 			Player_Set_Combat_Mode(false);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP07toKP06);
@@ -489,7 +489,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 	case kGoalDektoraNR11Burning:
 		Game_Flag_Set(kFlagNR11DektoraBurning);
 		Actor_Set_Targetable(kActorDektora, true);
-		Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, false, false, false);
 		Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 		if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleNR11StopShooting) {
 			Actor_Face_Actor(kActorSteele, kActorDektora, true);
diff --git a/engines/bladerunner/script/ai/early_q.cpp b/engines/bladerunner/script/ai/early_q.cpp
index a0f4983..c566f4e 100644
--- a/engines/bladerunner/script/ai/early_q.cpp
+++ b/engines/bladerunner/script/ai/early_q.cpp
@@ -334,7 +334,7 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		break;
 
 	case kGoalEarlyQNR04GoToMcCoy:
-		Loop_Actor_Walk_To_Actor(kActorEarlyQ, 0, 36, 0, 0);
+		Loop_Actor_Walk_To_Actor(kActorEarlyQ, 0, 36, false, false);
 		AI_Countdown_Timer_Reset(kActorEarlyQ, kActorTimerAIScriptCustomTask0);
 		AI_Countdown_Timer_Start(kActorEarlyQ, kActorTimerAIScriptCustomTask0, 4);
 		break;
@@ -353,7 +353,7 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Says(kActorEarlyQ, 160, kAnimationModeTalk);
 		Actor_Says(kActorMcCoy, 3410, kAnimationModeCombatAim);
 		_vm->_aiScripts->callChangeAnimationMode(kActorMcCoy, kAnimationModeCombatIdle);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 31.22f, 0.0f, 267.51f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 31.22f, 0.0f, 267.51f, 0, true, false, false);
 		Actor_Set_Goal_Number(kActorEarlyQ, kGoalEarlyQNR04SitDown);
 		break;
 
diff --git a/engines/bladerunner/script/ai/gordo.cpp b/engines/bladerunner/script/ai/gordo.cpp
index 87c9bde..11afe3e 100644
--- a/engines/bladerunner/script/ai/gordo.cpp
+++ b/engines/bladerunner/script/ai/gordo.cpp
@@ -297,7 +297,7 @@ void AIScriptGordo::Retired(int byActorId) {
 #if BLADERUNNER_ORIGINAL_BUGS
 			Player_Gains_Control();
 #endif // BLADERUNNER_ORIGINAL_BUGS
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP07toKP06);
diff --git a/engines/bladerunner/script/ai/izo.cpp b/engines/bladerunner/script/ai/izo.cpp
index 2fed274..9191ef1 100644
--- a/engines/bladerunner/script/ai/izo.cpp
+++ b/engines/bladerunner/script/ai/izo.cpp
@@ -245,7 +245,7 @@ void AIScriptIzo::Retired(int byActorId) {
 		Player_Loses_Control();
 		Delay(2000);
 		Player_Set_Combat_Mode(false);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false);
 		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 		Ambient_Sounds_Remove_All_Looping_Sounds(1);
 		Game_Flag_Set(kFlagKP07toKP06);
diff --git a/engines/bladerunner/script/ai/leon.cpp b/engines/bladerunner/script/ai/leon.cpp
index 94f3093..6a3a1b9 100644
--- a/engines/bladerunner/script/ai/leon.cpp
+++ b/engines/bladerunner/script/ai/leon.cpp
@@ -199,14 +199,14 @@ bool AIScriptLeon::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		Actor_Says(kActorMcCoy, 505, 23);
 		Actor_Says(kActorLeon, 60, 13);
 		Player_Gains_Control();
-		Loop_Actor_Walk_To_XYZ(kActorLeon, 233.0f, 349.0f, 849.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorLeon, 233.0f, 349.0f, 849.0f, 0, false, false, false);
 		Actor_Face_Actor(kActorLeon, kActorMcCoy, true);
 		Actor_Face_Actor(kActorMcCoy, kActorLeon, true);
 		Actor_Says(kActorMcCoy, 515, 18);
 		Actor_Says_With_Pause(kActorLeon, 70, 0.3f, 12);
 		Actor_Says(kActorMcCoy, 520, 15);
 		Actor_Says(kActorLeon, 80, 12);
-		Loop_Actor_Walk_To_XYZ(kActorLeon, 198.0f, 349.0f, 865.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorLeon, 198.0f, 349.0f, 865.0f, 0, false, false, false);
 		Actor_Face_Actor(kActorLeon, kActorMcCoy, true);
 		Actor_Face_Actor(kActorMcCoy, kActorLeon, true);
 		if (Actor_Clue_Query(kActorMcCoy, kClueWantedPoster)) { // there is no way how to obtain this poster
diff --git a/engines/bladerunner/script/ai/lucy.cpp b/engines/bladerunner/script/ai/lucy.cpp
index b2084a5..37ae7b4 100644
--- a/engines/bladerunner/script/ai/lucy.cpp
+++ b/engines/bladerunner/script/ai/lucy.cpp
@@ -259,7 +259,7 @@ void AIScriptLucy::Retired(int byActorId) {
 			Player_Loses_Control();
 			Delay(2000);
 			Player_Set_Combat_Mode(false);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP07toKP06);
diff --git a/engines/bladerunner/script/ai/luther.cpp b/engines/bladerunner/script/ai/luther.cpp
index 2298f40..694dc6d 100644
--- a/engines/bladerunner/script/ai/luther.cpp
+++ b/engines/bladerunner/script/ai/luther.cpp
@@ -201,7 +201,7 @@ void AIScriptLuther::Retired(int byActorId) {
 			Player_Loses_Control();
 			Delay(2000);
 			Player_Set_Combat_Mode(false);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP07toKP06);
diff --git a/engines/bladerunner/script/ai/maggie.cpp b/engines/bladerunner/script/ai/maggie.cpp
index 86a1c5f..a31c5be 100644
--- a/engines/bladerunner/script/ai/maggie.cpp
+++ b/engines/bladerunner/script/ai/maggie.cpp
@@ -334,7 +334,7 @@ bool AIScriptMaggie::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 
 	case kGoalMaggieKP05McCoyEntred:
 		Scene_Exits_Disable();
-		Loop_Actor_Walk_To_XYZ(kActorMaggie, -734.0, 0.0, -432.0, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMaggie, -734.0, 0.0, -432.0, 0, false, false, false);
 		Actor_Face_Actor(kActorMaggie, kActorMcCoy, true);
 		Actor_Change_Animation_Mode(kActorMaggie, 56);
 		Actor_Face_Actor(kActorMcCoy, kActorMaggie, true);
diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp
index d05266b..145743f 100644
--- a/engines/bladerunner/script/ai/mccoy.cpp
+++ b/engines/bladerunner/script/ai/mccoy.cpp
@@ -82,10 +82,10 @@ bool AIScriptMcCoy::Update() {
 	case kGoalMcCoyNRxxStandUp:
 		Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyDefault);
 		if (Player_Query_Current_Set() == kSetNR03) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -166.0f, -70.19f, -501.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -166.0f, -70.19f, -501.0f, 0, false, false, false);
 			Actor_Face_Heading(kActorMcCoy, 300, false);
 		} else {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -461.0f, 0.0f, -373.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -461.0f, 0.0f, -373.0f, 0, false, false, false);
 		}
 		Player_Gains_Control();
 		return true;
diff --git a/engines/bladerunner/script/ai/rachael.cpp b/engines/bladerunner/script/ai/rachael.cpp
index 49baab4..63879b7 100644
--- a/engines/bladerunner/script/ai/rachael.cpp
+++ b/engines/bladerunner/script/ai/rachael.cpp
@@ -387,7 +387,7 @@ void AIScriptRachael::FledCombat() {
 void AIScriptRachael::dialogue_start() {
 	if (_vm->_cutContent) {
 			Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
-			Loop_Actor_Walk_To_Actor(kActorRachael, kActorMcCoy, 84, 0, false);
+			Loop_Actor_Walk_To_Actor(kActorRachael, kActorMcCoy, 84, false, false);
 			if(_vm->_cutContent) {
 				Actor_Says(kActorMcCoy, 2735, 14);              // MetAtYourUnclesOffice
 			}
@@ -402,7 +402,7 @@ void AIScriptRachael::dialogue_start() {
 			Actor_Says(kActorRachael, 40, 15);                  // ThankYouForAsking
 	} else {
 		// original code -- un-triggered
-		Loop_Actor_Walk_To_Actor(kActorRachael, kActorMcCoy, 84, 0, false);
+		Loop_Actor_Walk_To_Actor(kActorRachael, kActorMcCoy, 84, false, false);
 		Actor_Says(kActorRachael, 0, 15);                   // I remember you mr mcCoy
 		Actor_Says(kActorMcCoy, 2740, 13);
 		Actor_Says(kActorRachael, 10, 14);
diff --git a/engines/bladerunner/script/ai/sadik.cpp b/engines/bladerunner/script/ai/sadik.cpp
index 4dc36f8..0523e9f 100644
--- a/engines/bladerunner/script/ai/sadik.cpp
+++ b/engines/bladerunner/script/ai/sadik.cpp
@@ -243,7 +243,7 @@ void AIScriptSadik::Retired(int byActorId) {
 			Player_Loses_Control();
 			Delay(2000);
 			Player_Set_Combat_Mode(false);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP07toKP06);
@@ -407,7 +407,7 @@ bool AIScriptSadik::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		return true;
 
 	case 413:
-		Loop_Actor_Walk_To_XYZ(kActorSadik, -1062.0f, 0.0f, 219.0f, 0, false, true, 0);
+		Loop_Actor_Walk_To_XYZ(kActorSadik, -1062.0f, 0.0f, 219.0f, 0, false, true, false);
 		Actor_Set_Targetable(kActorSadik, true);
 		Non_Player_Actor_Combat_Mode_On(kActorSadik, kActorCombatStateIdle, true, kActorMcCoy, 9, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, -1, -1, 15, 300, false);
 		Actor_Set_Goal_Number(kActorSadik, 450);
@@ -447,14 +447,14 @@ bool AIScriptSadik::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		return true;
 
 	case kGoalSadikUG18NeedsReactorCoreFromMcCoy:
-		Loop_Actor_Walk_To_XYZ(kActorSadik, -961.0f, 0.0f, -778.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorSadik, -961.0f, 0.0f, -778.0f, 0, false, false, false);
 		Actor_Face_Heading(kActorSadik, 150, false);
 		return true;
 
 	case 417:
 		Actor_Face_Actor(kActorSadik, kActorMcCoy, true);
 		Actor_Says(kActorSadik, 320, kAnimationModeTalk);
-		Loop_Actor_Walk_To_XYZ(kActorSadik, -857.0f, 0.0f, -703.0f, 0, false, true, 0);
+		Loop_Actor_Walk_To_XYZ(kActorSadik, -857.0f, 0.0f, -703.0f, 0, false, true, false);
 		Actor_Says(kActorMcCoy, 2330, kAnimationModeTalk);
 		Actor_Says(kActorSadik, 330, kAnimationModeTalk);
 		Actor_Says(kActorMcCoy, 2335, kAnimationModeTalk);
diff --git a/engines/bladerunner/script/ai/shoeshine_man.cpp b/engines/bladerunner/script/ai/shoeshine_man.cpp
index 2f31c7f..bd02c64 100644
--- a/engines/bladerunner/script/ai/shoeshine_man.cpp
+++ b/engines/bladerunner/script/ai/shoeshine_man.cpp
@@ -58,7 +58,7 @@ void AIScriptShoeshineMan::ClickedByPlayer() {
 		return;
 	}
 
-	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1098.15f, -0.04f, -201.53f, 0, true, false, 0)) {
+	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1098.15f, -0.04f, -201.53f, 0, true, false, false)) {
 		Actor_Set_Goal_Number(kActorShoeshineMan, 102);
 		Actor_Face_Actor(kActorMcCoy, kActorShoeshineMan, true);
 		Actor_Says_With_Pause(kActorShoeshineMan, 0, 1.2f, 13);
diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp
index 63b9474..9b5eec4 100644
--- a/engines/bladerunner/script/ai/steele.cpp
+++ b/engines/bladerunner/script/ai/steele.cpp
@@ -326,7 +326,7 @@ void AIScriptSteele::CompletedMovementTrack() {
 		Actor_Says(kActorSteele, 670, 59);
 		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP06Leave);
 		Player_Set_Combat_Mode(kActorSteele);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, false, false, false);
 		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 		Ambient_Sounds_Remove_All_Looping_Sounds(1);
 		Game_Flag_Set(kFlagKP06toKP07);
@@ -667,7 +667,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		return true;
 
 	case kGoalSteeleLeaveTB02:
-		Loop_Actor_Walk_To_XYZ(kActorSteele, -187.82f, 0.08f, 1460.74f, 0, 0, 0, 0);
+		Loop_Actor_Walk_To_XYZ(kActorSteele, -187.82f, 0.08f, 1460.74f, 0, false, false, false);
 		Actor_Face_Heading(kActorSteele, 802, false);
 		Loop_Actor_Travel_Stairs(kActorSteele, 10, false, kAnimationModeIdle);
 		AI_Movement_Track_Flush(kActorSteele);
@@ -863,7 +863,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 
 	case kGoalSteeleNR11Enter:
 		if (comp_distance(kActorMcCoy, -4.0, 0.33f, 0.0f, 100.0f, 0.33f, -4.0f) < 48.0f) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 32.0f, 0.33f, 17.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 32.0f, 0.33f, 17.0f, 0, false, false, false);
 		}
 		AI_Countdown_Timer_Reset(kActorSteele, kActorTimerAIScriptCustomTask0);
 		Player_Loses_Control();
@@ -1287,7 +1287,7 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
 		return true;
 
 	case kGoalSteeleNR01StartChapter4:
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, false, true, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, false, true, false);
 		Actor_Face_Heading(kActorMcCoy, 45, false);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 3, false, kAnimationModeIdle);
 		Global_Variable_Set(kVariableChapter, 4);
diff --git a/engines/bladerunner/script/ai/taffy_patron.cpp b/engines/bladerunner/script/ai/taffy_patron.cpp
index 975aa1d..fad4d9c 100644
--- a/engines/bladerunner/script/ai/taffy_patron.cpp
+++ b/engines/bladerunner/script/ai/taffy_patron.cpp
@@ -96,7 +96,7 @@ bool AIScriptTaffyPatron::GoalChanged(int currentGoalNumber, int newGoalNumber)
 	case 250:
 		Actor_Put_In_Set(kActorTaffyPatron, kSetNR01);
 		Actor_Set_At_XYZ(kActorTaffyPatron, -170.4f, 23.68f, -850.0f, 324);
-		Async_Actor_Walk_To_XYZ(kActorTaffyPatron, -390.0f, 31.55f, -429.0f, 24, 1);
+		Async_Actor_Walk_To_XYZ(kActorTaffyPatron, -390.0f, 31.55f, -429.0f, 24, true);
 		return true;
 
 	case 255:
diff --git a/engines/bladerunner/script/ai/zuben.cpp b/engines/bladerunner/script/ai/zuben.cpp
index 8ead224..7cde545 100644
--- a/engines/bladerunner/script/ai/zuben.cpp
+++ b/engines/bladerunner/script/ai/zuben.cpp
@@ -301,7 +301,7 @@ void AIScriptZuben::Retired(int byActorId) {
 		Player_Loses_Control();
 		Delay(2000);
 		Player_Set_Combat_Mode(false);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false);
 		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 		Ambient_Sounds_Remove_All_Looping_Sounds(1);
 		Game_Flag_Set(kFlagKP07toKP06);
diff --git a/engines/bladerunner/script/scene/ar01.cpp b/engines/bladerunner/script/scene/ar01.cpp
index 11b6794..227ed73 100644
--- a/engines/bladerunner/script/scene/ar01.cpp
+++ b/engines/bladerunner/script/scene/ar01.cpp
@@ -160,7 +160,7 @@ bool SceneScriptAR01::ClickedOnActor(int actorId) {
 
 	if (actorId == kActorFishDealer) {
 		Actor_Set_Goal_Number(kActorFishDealer, 2);
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -120.73f, 0.0f, 219.17f, 12, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -120.73f, 0.0f, 219.17f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorFishDealer, true);
 			Actor_Face_Actor(kActorFishDealer, kActorMcCoy, true);
 			if (!Game_Flag_Query(kFlagAR01FishDealerTalk)) {
@@ -222,8 +222,8 @@ bool SceneScriptAR01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptAR01::ClickedOnExit(int exitId) {
 	if (exitId == kAR01ExitHC01) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0, 0.0, -149.0, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0, 0.0, -149.0, 0, false, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0, 0.0, -149.0, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0, 0.0, -149.0, 0, false, false, false);
 			Game_Flag_Set(kFlagAR01toHC01);
 			Game_Flag_Set(kFlagHC01GuzzaPrepare);
 			Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
@@ -235,7 +235,7 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == kAR01ExitAR02) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.0, 0.0, -551.0, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.0, 0.0, -551.0, 0, true, false, false)) {
 			Game_Flag_Set(kFlagAR01toAR02);
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, -222.0, 0.0, -690.0, 0, false);
 			Set_Enter(kSetAR01_AR02, kSceneAR02);
@@ -252,7 +252,7 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
 		if (Game_Flag_Query(kFlagDNARowAvailable)) {
 			Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true);
 		}
-		int v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -164.0f, 0.0f, 332.0f, 0, true, false, 0);
+		int v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -164.0f, 0.0f, 332.0f, 0, true, false, false);
 		Actor_Face_Heading(kActorMcCoy, 545, false);
 		if (Actor_Query_Goal_Number(kActorIzo) >= kGoalIzoTakePhoto
 		 && Actor_Query_Goal_Number(kActorIzo) <= kGoalIzoEscape
@@ -260,8 +260,8 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
 			Player_Loses_Control();
 			Actor_Put_In_Set(kActorIzo, kSetAR01_AR02);
 			Actor_Set_At_XYZ(kActorIzo, -448.0, 0.0, 130.0, 0);
-			Loop_Actor_Walk_To_XYZ(kActorIzo, -323.0f, 0.64f, 101.74f, 48, false, true, 0);
-			Loop_Actor_Walk_To_Actor(kActorIzo, kActorMcCoy, 48, 0, true);
+			Loop_Actor_Walk_To_XYZ(kActorIzo, -323.0f, 0.64f, 101.74f, 48, false, true, false);
+			Loop_Actor_Walk_To_Actor(kActorIzo, kActorMcCoy, 48, false, true);
 			Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
 			Actor_Change_Animation_Mode(kActorIzo, kAnimationModeCombatAttack);
 			Actor_Says(kActorMcCoy, 1800, 21);
@@ -405,7 +405,7 @@ void SceneScriptAR01::PlayerWalkedIn() {
 		Game_Flag_Set(kFlagAR01Entered);
 	}
 	if (Game_Flag_Query(kFlagHC01toAR01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0f, 0.0f, -149.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0f, 0.0f, -149.0f, 0, true, false, false);
 		Game_Flag_Reset(kFlagHC01toAR01);
 	}
 	if (Actor_Query_Goal_Number(kActorPhotographer) < 199) {
diff --git a/engines/bladerunner/script/scene/ar02.cpp b/engines/bladerunner/script/scene/ar02.cpp
index 882a13a..a013c16 100644
--- a/engines/bladerunner/script/scene/ar02.cpp
+++ b/engines/bladerunner/script/scene/ar02.cpp
@@ -119,7 +119,7 @@ bool SceneScriptAR02::ClickedOn3DObject(const char *objectName, bool a2) {
 
 bool SceneScriptAR02::ClickedOnActor(int actorId) {
 	if (actorId == kActorInsectDealer) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.96f, 0.0f, -1078.45f, 12, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.96f, 0.0f, -1078.45f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true);
 			Actor_Face_Actor(kActorInsectDealer, kActorMcCoy, true);
 			if (Global_Variable_Query(kVariableChapter) == 2) {
@@ -130,7 +130,7 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
 					Player_Loses_Control();
 					ADQ_Flush();
 					ADQ_Add(kActorInsectDealer, 210, 14);
-					Loop_Actor_Walk_To_XYZ(kActorMcCoy, -350.66f, 0.0f, -1117.19f, 0, false, false, 0);
+					Loop_Actor_Walk_To_XYZ(kActorMcCoy, -350.66f, 0.0f, -1117.19f, 0, false, false, false);
 					Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true);
 					Actor_Says(kActorMcCoy, 110, 18);
 					Actor_Says(kActorInsectDealer, 230, 14);
@@ -183,7 +183,7 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
 	if (actorId == kActorHasan
 	 && Global_Variable_Query(kVariableChapter) == 2
 	) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -240.79f, 0.0f, -1328.89f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -240.79f, 0.0f, -1328.89f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorHasan, true);
 			Actor_Face_Actor(kActorHasan, kActorMcCoy, true);
 			if (!Game_Flag_Query(kFlagAR02HassanTalk)) {
@@ -200,7 +200,7 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
 
 bool SceneScriptAR02::ClickedOnItem(int itemId, bool a2) {
 	if (itemId == kItemScorpions) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.96f, 0.0f, -1078.45f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.96f, 0.0f, -1078.45f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true);
 			if (!Game_Flag_Query(kFlagAR02ScorpionsChecked)) {
 				Actor_Says(kActorInsectDealer, 0, 14);
@@ -229,7 +229,7 @@ bool SceneScriptAR02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptAR02::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.0f, 0.0f, -551.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.0f, 0.0f, -551.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagAR02toAR01);
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, -182.0f, 0.0f, -407.0f, 0, false);
 			Set_Enter(kSetAR01_AR02, kSceneAR01);
@@ -238,8 +238,8 @@ bool SceneScriptAR02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -465.0f, 0.0f, -799.0f, 0, 1, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -560.0f, 0.0f, -799.0f, 0, 0, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -465.0f, 0.0f, -799.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -560.0f, 0.0f, -799.0f, 0, false, false, false);
 			Game_Flag_Set(kFlagAR02toRC03);
 			Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
 			Game_Flag_Set(kFlagMcCoyInRunciters);
@@ -263,7 +263,7 @@ void SceneScriptAR02::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptAR02::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagRC03toAR02)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -465.0f, 0.0f, -799.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -465.0f, 0.0f, -799.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagRC03toAR02);
 	}
 	Game_Flag_Set(kFlagAR02Entered);
diff --git a/engines/bladerunner/script/scene/bb01.cpp b/engines/bladerunner/script/scene/bb01.cpp
index 4275bb9..34ddc47 100644
--- a/engines/bladerunner/script/scene/bb01.cpp
+++ b/engines/bladerunner/script/scene/bb01.cpp
@@ -108,8 +108,8 @@ bool SceneScriptBB01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB01::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 9.0f, 818.0f, 0, true, false, 0);
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -233.0f, 9.0f, 846.0f, 0, true, false, 0)) {
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 9.0f, 818.0f, 0, true, false, false);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -233.0f, 9.0f, 846.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagBB01toDR02);
 			Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
 			Game_Flag_Set(kFlagMcCoyInDNARow);
@@ -119,7 +119,7 @@ bool SceneScriptBB01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -125.39f, 9.0f, 372.45f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -125.39f, 9.0f, 372.45f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagBB01toBB02);
 			Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB02);
 		}
@@ -127,7 +127,7 @@ bool SceneScriptBB01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 43.0f, 0.0f, 1062.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 43.0f, 0.0f, 1062.0f, 0, true, false, false)) {
 			Game_Flag_Reset(kFlagMcCoyInChinaTown);
 			Game_Flag_Reset(kFlagMcCoyInRunciters);
 			Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
@@ -252,7 +252,7 @@ void SceneScriptBB01::PlayerWalkedIn() {
 		if (!Game_Flag_Query(kFlagBB01VisitedFirstTimeWithSpinner) && Game_Flag_Query(kFlagSpinnerAtBB01)) {
 			Game_Flag_Set(kFlagBB01VisitedFirstTimeWithSpinner);
 		}
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 43.0f, 0.0f, 954.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 43.0f, 0.0f, 954.0f, 0, false, false, false);
 	}
 }
 
diff --git a/engines/bladerunner/script/scene/bb02.cpp b/engines/bladerunner/script/scene/bb02.cpp
index 3e11e4c..efdb991 100644
--- a/engines/bladerunner/script/scene/bb02.cpp
+++ b/engines/bladerunner/script/scene/bb02.cpp
@@ -98,7 +98,7 @@ bool SceneScriptBB02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB02::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 98.0f, -415.06f, -593.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 98.0f, -415.06f, -593.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB02toBB01);
@@ -108,7 +108,7 @@ bool SceneScriptBB02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -415.06f, -27.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -415.06f, -27.0f, 0, true, false, false)) {
 			Player_Loses_Control();
 			if (!Game_Flag_Query(kFlagBB02ElevatorDown)) {
 				Scene_Loop_Start_Special(kSceneLoopModeOnce, kBB02LoopElevatorComingDown, true);
@@ -122,8 +122,8 @@ bool SceneScriptBB02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, 1, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 179.0f, -415.06f, 274.0f, 0, 0, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 179.0f, -415.06f, 274.0f, 0, false, false, false);
 			Game_Flag_Set(kFlagBB02toBB03);
 			Game_Flag_Reset(kFlagBB02ElevatorDown);
 			Set_Enter(kSetBB03, kSceneBB03);
@@ -152,10 +152,10 @@ void SceneScriptBB02::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptBB02::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagBB03toBB02)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB03toBB02);
 	} else if (Game_Flag_Query(kFlagBB04toBB02)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 35.0f, -415.06f, -27.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 35.0f, -415.06f, -27.0f, 0, false, false, false);
 		Player_Gains_Control();
 		Game_Flag_Reset(kFlagBB04toBB02);
 	}
diff --git a/engines/bladerunner/script/scene/bb03.cpp b/engines/bladerunner/script/scene/bb03.cpp
index 386e6ca..9cb905b 100644
--- a/engines/bladerunner/script/scene/bb03.cpp
+++ b/engines/bladerunner/script/scene/bb03.cpp
@@ -86,8 +86,8 @@ bool SceneScriptBB03::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB03::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, 0.0f, 0, false, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, 0.0f, 0, false, false, false);
 			Game_Flag_Set(kFlagBB03toBB04);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -97,7 +97,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagBB03toBB02);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -107,7 +107,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 204.0f, 60.16f, -164.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 204.0f, 60.16f, -164.0f, 0, true, false, false)) {
 			if (Global_Variable_Query(kVariableChapter) < 4) {
 				if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
 					Actor_Says(kActorSebastian, 70, kAnimationModeTalk);
@@ -147,12 +147,12 @@ void SceneScriptBB03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptBB03::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagBB05toBB03)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 60.16f, -164.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 60.16f, -164.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB05toBB03);
 	}
 
 	if (Game_Flag_Query(kFlagBB04toBB03)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB04toBB03);
 	}
 }
diff --git a/engines/bladerunner/script/scene/bb04.cpp b/engines/bladerunner/script/scene/bb04.cpp
index 8f8702e..446be16 100644
--- a/engines/bladerunner/script/scene/bb04.cpp
+++ b/engines/bladerunner/script/scene/bb04.cpp
@@ -84,9 +84,9 @@ bool SceneScriptBB04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB04::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0,  true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0,  true, false, false)) {
 			Player_Loses_Control();
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -15.0f, -25.17f, 45.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -15.0f, -25.17f, 45.0f, 0, false, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB04toBB02);
@@ -97,7 +97,7 @@ bool SceneScriptBB04::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -107.0f, -26.6f, 397.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -107.0f, -26.6f, 397.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB04toBB03);
@@ -120,7 +120,7 @@ void SceneScriptBB04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptBB04::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagBB02toBB04)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, false, false, false);
 		Player_Gains_Control();
 		Game_Flag_Reset(kFlagBB02toBB04);
 	}
diff --git a/engines/bladerunner/script/scene/bb05.cpp b/engines/bladerunner/script/scene/bb05.cpp
index b81ecc0..9ef70cb 100644
--- a/engines/bladerunner/script/scene/bb05.cpp
+++ b/engines/bladerunner/script/scene/bb05.cpp
@@ -100,7 +100,7 @@ bool SceneScriptBB05::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB05::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -212.0f, -60.31f, 131.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -212.0f, -60.31f, 131.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB05toBB03);
@@ -110,7 +110,7 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 331.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 331.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB05toBB06);
@@ -120,7 +120,7 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 271.0f, -60.31f, 203.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 271.0f, -60.31f, 203.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB05toBB07);
@@ -130,7 +130,7 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 3) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.0f, -60.34f, -108.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.0f, -60.34f, -108.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB05toBB12);
@@ -153,16 +153,16 @@ void SceneScriptBB05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptBB05::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagBB06toBB05)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy,  95.0f, -60.31f, 303.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy,  95.0f, -60.31f, 303.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB06toBB05);
 	} else if (Game_Flag_Query(kFlagBB07toBB05)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 231.0f, -60.31f, 203.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 231.0f, -60.31f, 203.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB07toBB05);
 	} else if (Game_Flag_Query(kFlagBB12toBB05)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 111.0f, -60.31f, -24.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 111.0f, -60.31f, -24.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB12toBB05);
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB03toBB05);
 	}
 
diff --git a/engines/bladerunner/script/scene/bb06.cpp b/engines/bladerunner/script/scene/bb06.cpp
index 89a5881..048c637 100644
--- a/engines/bladerunner/script/scene/bb06.cpp
+++ b/engines/bladerunner/script/scene/bb06.cpp
@@ -160,7 +160,7 @@ bool SceneScriptBB06::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB06::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -37.0f, 0.0f, 178.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -37.0f, 0.0f, 178.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB06toBB05);
@@ -170,7 +170,7 @@ bool SceneScriptBB06::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 101.0f, 0.0f, -25.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 101.0f, 0.0f, -25.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB06toBB51);
@@ -180,7 +180,7 @@ bool SceneScriptBB06::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 3) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -115.0f, 0.0f, -103.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -115.0f, 0.0f, -103.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB06toBB07);
@@ -227,7 +227,7 @@ void SceneScriptBB06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptBB06::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagBB05toBB06)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -36.0f, 0.0f, 145.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -36.0f, 0.0f, 145.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB05toBB06);
 	}
 }
diff --git a/engines/bladerunner/script/scene/bb07.cpp b/engines/bladerunner/script/scene/bb07.cpp
index c7364d8..0577948 100644
--- a/engines/bladerunner/script/scene/bb07.cpp
+++ b/engines/bladerunner/script/scene/bb07.cpp
@@ -70,7 +70,7 @@ bool SceneScriptBB07::MouseClick(int x, int y) {
 
 bool SceneScriptBB07::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("PRINTER", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -472.63f, 252.59f, -1086.81f, 0, false, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -472.63f, 252.59f, -1086.81f, 0, false, false, false)) {
 			Actor_Face_Object(kActorMcCoy, "PRINTER", true);
 			if ( Game_Flag_Query(kFlagBB07ElectricityOn)
 			 && !Game_Flag_Query(kFlagBB07PrinterChecked)
@@ -114,7 +114,7 @@ bool SceneScriptBB07::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB07::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -615.0f, 252.59f, -1018.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -615.0f, 252.59f, -1018.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Overlay_Remove("BB07OVER");
@@ -125,7 +125,7 @@ bool SceneScriptBB07::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -619.0f, 252.59f, -1136.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -619.0f, 252.59f, -1136.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Overlay_Remove("BB07OVER");
@@ -136,7 +136,7 @@ bool SceneScriptBB07::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -551.0f, 252.59f, -1004.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -551.0f, 252.59f, -1004.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Overlay_Remove("BB07OVER");
@@ -150,7 +150,7 @@ bool SceneScriptBB07::ClickedOnExit(int exitId) {
 
 bool SceneScriptBB07::ClickedOn2DRegion(int region) {
 	if (region == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -568.63f, 252.59f, -1114.81f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -568.63f, 252.59f, -1114.81f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 229, false);
 			if (!Game_Flag_Query(kFlagBB07ElectricityOn)) {
 				Ambient_Sounds_Play_Sound(kSfxCOMPON1, 40, 20, 20, 99);
@@ -176,12 +176,12 @@ void SceneScriptBB07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptBB07::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagBB05toBB07)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -594.0f, 252.59f, -1018.0f, 6, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -594.0f, 252.59f, -1018.0f, 6, false, false, false);
 		Game_Flag_Reset(kFlagBB05toBB07);
 	}
 
 	if (Game_Flag_Query(kFlagBB12toBB07)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -602.0f, 252.59f, -1124.0f, 6, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -602.0f, 252.59f, -1124.0f, 6, false, false, false);
 		Game_Flag_Reset(kFlagBB12toBB07);
 	}
 }
diff --git a/engines/bladerunner/script/scene/bb08.cpp b/engines/bladerunner/script/scene/bb08.cpp
index 1177c8e..8bc281b 100644
--- a/engines/bladerunner/script/scene/bb08.cpp
+++ b/engines/bladerunner/script/scene/bb08.cpp
@@ -83,10 +83,10 @@ bool SceneScriptBB08::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB08::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 204.0f, 0.1f, 94.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 204.0f, 0.1f, 94.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 256, false);
 			Footstep_Sound_Override_On(2);
-			Loop_Actor_Travel_Ladder(kActorMcCoy, 8, true, 0);
+			Loop_Actor_Travel_Ladder(kActorMcCoy, 8, true, kAnimationModeIdle);
 			Footstep_Sound_Override_Off();
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -97,7 +97,7 @@ bool SceneScriptBB08::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 247.0f, 0.1f, 27.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 247.0f, 0.1f, 27.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB08toBB12);
@@ -122,12 +122,12 @@ void SceneScriptBB08::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagBB09toBB08)) {
 		Actor_Set_At_XYZ(kActorMcCoy, 204.0f, 96.1f, 94.0f, 256);
 		Footstep_Sound_Override_On(2);
-		Loop_Actor_Travel_Ladder(kActorMcCoy, 8, false, 0);
+		Loop_Actor_Travel_Ladder(kActorMcCoy, 8, false, kAnimationModeIdle);
 		Footstep_Sound_Override_Off();
 		Actor_Face_Heading(kActorMcCoy, 768, false);
 		Game_Flag_Reset(kFlagBB09toBB08);
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 188.0f, 0.1f, 28.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 188.0f, 0.1f, 28.0f, 0, false, false, false);
 	}
 }
 
diff --git a/engines/bladerunner/script/scene/bb09.cpp b/engines/bladerunner/script/scene/bb09.cpp
index 3cca63d..a39e898 100644
--- a/engines/bladerunner/script/scene/bb09.cpp
+++ b/engines/bladerunner/script/scene/bb09.cpp
@@ -83,8 +83,8 @@ bool SceneScriptBB09::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB09::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 454.56f, -9.0f, 190.31f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 450.56f, -9.0f, 250.31f, 0, false, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 454.56f, -9.0f, 190.31f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 450.56f, -9.0f, 250.31f, 0, false, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB09toBB10a);
@@ -95,7 +95,7 @@ bool SceneScriptBB09::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.0f, -9.0f, 136.0f, 72, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.0f, -9.0f, 136.0f, 72, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB09toBB08);
diff --git a/engines/bladerunner/script/scene/bb10.cpp b/engines/bladerunner/script/scene/bb10.cpp
index d544c84..f8c57c1 100644
--- a/engines/bladerunner/script/scene/bb10.cpp
+++ b/engines/bladerunner/script/scene/bb10.cpp
@@ -103,7 +103,7 @@ bool SceneScriptBB10::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB10::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 225.58f, 67.2f, -102.1f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 225.58f, 67.2f, -102.1f, 0, true, false, false)) {
 			Player_Set_Combat_Mode(false);
 			Actor_Face_Heading(kActorMcCoy, 274, false);
 			Footstep_Sound_Override_On(2);
@@ -121,8 +121,8 @@ bool SceneScriptBB10::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.01f, 66.84f, -261.62f, 0, true, false, 0)
-		 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.67f, 66.84f, -313.06f, 0, true, false, 0)
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.01f, 66.84f, -261.62f, 0, true, false, false)
+		 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.67f, 66.84f, -313.06f, 0, true, false, false)
 		) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -136,7 +136,7 @@ bool SceneScriptBB10::ClickedOnExit(int exitId) {
 }
 
 bool SceneScriptBB10::ClickedOn2DRegion(int region) {
-	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 225.58f, 67.2f, -102.1f, 0, true, false, 0)) {
+	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 225.58f, 67.2f, -102.1f, 0, true, false, false)) {
 		Actor_Face_Heading(kActorMcCoy, 274, false);
 		Sound_Play(Random_Query(kSfxGLASSY1, kSfxGLASSY2), 40, 70, 70, 50);
 		switch (region) {
@@ -190,7 +190,7 @@ void SceneScriptBB10::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagBB09toBB10a)) {
 		Player_Loses_Control();
 		Actor_Set_At_XYZ(kActorMcCoy, 214.01f, 66.84f, -349.62f, 462);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.01f, 66.84f, -261.62f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.01f, 66.84f, -261.62f, 0, false, false, false);
 		Player_Gains_Control();
 		Game_Flag_Reset(kFlagBB09toBB10a);
 	} else if (Game_Flag_Query(kFlagBB11toBB10)) {
diff --git a/engines/bladerunner/script/scene/bb11.cpp b/engines/bladerunner/script/scene/bb11.cpp
index 1553257..6ad4c65 100644
--- a/engines/bladerunner/script/scene/bb11.cpp
+++ b/engines/bladerunner/script/scene/bb11.cpp
@@ -89,7 +89,7 @@ bool SceneScriptBB11::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB11::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 43.39f, -10.27f, -68.52f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 43.39f, -10.27f, -68.52f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB11toBB10);
diff --git a/engines/bladerunner/script/scene/bb12.cpp b/engines/bladerunner/script/scene/bb12.cpp
index f911b16..b40be48 100644
--- a/engines/bladerunner/script/scene/bb12.cpp
+++ b/engines/bladerunner/script/scene/bb12.cpp
@@ -83,7 +83,7 @@ bool SceneScriptBB12::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB12::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -129.0f, 0.0f, 64.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -129.0f, 0.0f, 64.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB12toBB08);
@@ -93,7 +93,7 @@ bool SceneScriptBB12::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 138.0f, 0.0f, 104.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 138.0f, 0.0f, 104.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB12toBB07);
@@ -103,7 +103,7 @@ bool SceneScriptBB12::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 0.0f, 200.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 0.0f, 200.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB12toBB05);
@@ -137,10 +137,10 @@ void SceneScriptBB12::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptBB12::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagBB07toBB12)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 114.0f, 0.0f, 104.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 114.0f, 0.0f, 104.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB07toBB12);
 	} else if (Game_Flag_Query(kFlagBB08toBB12)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -101.0f, 0.0f, 64.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -101.0f, 0.0f, 64.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagBB08toBB12);
 	}
 }
diff --git a/engines/bladerunner/script/scene/bb51.cpp b/engines/bladerunner/script/scene/bb51.cpp
index 9eb8717..adf85d9 100644
--- a/engines/bladerunner/script/scene/bb51.cpp
+++ b/engines/bladerunner/script/scene/bb51.cpp
@@ -100,7 +100,7 @@ bool SceneScriptBB51::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptBB51::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 76.0f, 0.0f, 79.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 76.0f, 0.0f, 79.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB51toBB06a);
@@ -110,7 +110,7 @@ bool SceneScriptBB51::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 55.0f, 0.0f, -96.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 55.0f, 0.0f, -96.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagBB51toBB06b);
diff --git a/engines/bladerunner/script/scene/ct01.cpp b/engines/bladerunner/script/scene/ct01.cpp
index 29ba22c..138fada 100644
--- a/engines/bladerunner/script/scene/ct01.cpp
+++ b/engines/bladerunner/script/scene/ct01.cpp
@@ -156,7 +156,7 @@ bool SceneScriptCT01::ClickedOn3DObject(const char *objectName, bool a2) {
 bool SceneScriptCT01::ClickedOnActor(int actorId) {
 	if (actorId == kActorHowieLee) {
 		Actor_Set_Goal_Number(kActorHowieLee, 50);
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorHowieLee, true);
 			Actor_Face_Actor(kActorHowieLee, kActorMcCoy, true);
 			if (!Game_Flag_Query(kFlagCT01McCoyTalkedToHowieLee)) {
@@ -192,7 +192,7 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
 	}
 
 	if (actorId == kActorZuben) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
 			Actor_Says(kActorMcCoy, 355, 18);
 			if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDefault) {
@@ -210,7 +210,7 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
 
 	if (actorId == kActorGordo) {
 		if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) {
-			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -338.1f, -6.5f, 419.65f, 6, true, false, 0)) {
+			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -338.1f, -6.5f, 419.65f, 6, true, false, false)) {
 				return false;
 			}
 		}
@@ -254,7 +254,7 @@ bool SceneScriptCT01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT01::ClickedOnExit(int exitId) {
 	if (exitId == kCT01ExitCT02) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.5f, -6.5f, 352.28f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.5f, -6.5f, 352.28f, 0, true, false, false)) {
 			Player_Loses_Control();
 			Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 106, 0, false, false);
 			Player_Gains_Control();
@@ -265,7 +265,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == kCT01ExitCT03) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -259.0f, -6.5f, 710.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -259.0f, -6.5f, 710.0f, 0, true, false, false)) {
 			Game_Flag_Reset(kFlagArrivedFromSpinner1);
 			Set_Enter(kSetCT03_CT04, kSceneCT03);
 		}
@@ -273,7 +273,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == kCT01ExitCT12) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.0f, -6.5f, 696.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.0f, -6.5f, 696.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagCT01toCT12);
 			Game_Flag_Reset(kFlagArrivedFromSpinner1);
 			Set_Enter(kSetCT01_CT12, kSceneCT12);
@@ -282,9 +282,9 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == kCT01ExitSpinner) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, true, 0);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -530.0f, -6.5f, 241.0f, 0, false, true, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, true, false);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -530.0f, -6.5f, 241.0f, 0, false, true, false);
 			Game_Flag_Reset(kFlagMcCoyInChinaTown);
 			Game_Flag_Reset(kFlagMcCoyInRunciters);
 			Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
@@ -378,9 +378,9 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
 			default:
 				Game_Flag_Set(kFlagMcCoyInChinaTown);
 				Player_Loses_Control();
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -530.0f, -6.5f, 241.0f, 0, false, true, 0);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, true, 0);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, false, false, 0);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -530.0f, -6.5f, 241.0f, 0, false, true, false);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, true, false);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, false, false, false);
 				Player_Gains_Control();
 				break;
 			}
@@ -449,14 +449,14 @@ void SceneScriptCT01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptCT01::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagCT02toCT01walk)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.2f, -6.5f, 352.28f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.2f, -6.5f, 352.28f, 0, false, false, false);
 		Game_Flag_Reset(kFlagCT02toCT01walk);
 	} else {
 		if (!Game_Flag_Query(kFlagArrivedFromSpinner1)) {
 			Game_Flag_Reset(kFlagArrivedFromSpinner1); // a bug? why reset a flag that is already cleared?
 			return;
 		}
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, false, false);
 		if (_vm->_cutContent) {
 			// unpause generic walkers here, less chance to collide with McCOy while he enters the scene
 			if( Game_Flag_Query(kFlagArrivedFromSpinner1)
@@ -465,7 +465,7 @@ void SceneScriptCT01::PlayerWalkedIn() {
 				Game_Flag_Reset(kFlagGenericWalkerWaiting);
 			}
 		}
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, false, false, false);
 
 		if (!Game_Flag_Query(kFlagCT01Visited)) {
 			Game_Flag_Set(kFlagCT01Visited);
diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp
index 7e9de7a..aef8e45 100644
--- a/engines/bladerunner/script/scene/ct02.cpp
+++ b/engines/bladerunner/script/scene/ct02.cpp
@@ -226,7 +226,7 @@ void SceneScriptCT02::dialogueWithZuben() {
 
 bool SceneScriptCT02::ClickedOnActor(int actorId) {
 	if (actorId == kActorZuben && Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT01WalkToCT02) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -255.02f, -145.11f, 212.42f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -255.02f, -145.11f, 212.42f, 0, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
 			Actor_Face_Actor(kActorZuben, kActorMcCoy, true);
 			if (!Game_Flag_Query(kFlagCT02ZubenTalk)) {
@@ -248,7 +248,7 @@ bool SceneScriptCT02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT02::ClickedOnExit(int exitId) {
 	if (exitId == kCT02ExitCT01) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -111.2f, -145.11f, 243.28f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -111.2f, -145.11f, 243.28f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT02toCT01walk);
@@ -260,9 +260,9 @@ bool SceneScriptCT02::ClickedOnExit(int exitId) {
 	if (exitId == kCT02ExitCT03) {
 		bool v1;
 		if (Player_Query_Combat_Mode()) {
-			v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -154.83f, -145.11f, -82.61f, 0, 1, true, 0);
+			v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -154.83f, -145.11f, -82.61f, 0, true, true, false);
 		} else {
-			v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -154.83f, -145.11f, -82.61f, 0, 1, false, 0);
+			v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -154.83f, -145.11f, -82.61f, 0, true, false, false);
 		}
 		if (!v1) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
diff --git a/engines/bladerunner/script/scene/ct03.cpp b/engines/bladerunner/script/scene/ct03.cpp
index a0f44a3..e178499 100644
--- a/engines/bladerunner/script/scene/ct03.cpp
+++ b/engines/bladerunner/script/scene/ct03.cpp
@@ -81,21 +81,21 @@ bool SceneScriptCT03::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT03::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -745.09f, -619.09f, 293.36f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -745.09f, -619.09f, 293.36f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagCT03toCT01);
 			Set_Enter(kSetCT01_CT12, kSceneCT01);
 		}
 		return true;
 	}
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -604.38f, -616.15f, 221.6f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -604.38f, -616.15f, 221.6f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagCT03toCT02);
 			Set_Enter(kSetCT02, kSceneCT02);
 		}
 		return true;
 	}
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -150.0f, -621.3f, 357.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -150.0f, -621.3f, 357.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagCT03toCT04);
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, -67.0f, -621.3f, 477.0f, 0, false);
 			Set_Enter(kSetCT03_CT04, kSceneCT04);
diff --git a/engines/bladerunner/script/scene/ct04.cpp b/engines/bladerunner/script/scene/ct04.cpp
index 1028fb7..c5a8fbd 100644
--- a/engines/bladerunner/script/scene/ct04.cpp
+++ b/engines/bladerunner/script/scene/ct04.cpp
@@ -89,7 +89,7 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
 		 && !Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
 		 &&  Global_Variable_Query(kVariableChapter) == 1
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -147.41f, -621.3f, 724.57f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -147.41f, -621.3f, 724.57f, 0, true, false, false)) {
 				Player_Loses_Control();
 				Actor_Face_Heading(kActorMcCoy, 792, false);
 				Actor_Put_In_Set(kActorTransient, kSetFreeSlotI);
@@ -214,7 +214,7 @@ bool SceneScriptCT04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT04::ClickedOnExit(int exitId) {
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -82.86f, -621.3f, 769.03f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -82.86f, -621.3f, 769.03f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			if (Actor_Query_Goal_Number(kActorTransient) == kGoalTransientDefault) {
@@ -226,7 +226,7 @@ bool SceneScriptCT04::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -187.0f, -621.3f, 437.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -187.0f, -621.3f, 437.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT04toCT03);
diff --git a/engines/bladerunner/script/scene/ct05.cpp b/engines/bladerunner/script/scene/ct05.cpp
index f6c66f8..d511ba9 100644
--- a/engines/bladerunner/script/scene/ct05.cpp
+++ b/engines/bladerunner/script/scene/ct05.cpp
@@ -140,7 +140,7 @@ bool SceneScriptCT05::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT05::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -128.42f, -109.91f, 112.83f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -128.42f, -109.91f, 112.83f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagCT05toCT12);
 			if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffCT12WaitForMcCoy) {
 				Overlay_Remove("ct05over");
@@ -151,7 +151,7 @@ bool SceneScriptCT05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagCT05toCT04);
 			if (Actor_Query_Goal_Number(kActorGaff) == kGoalGaffCT12WaitForMcCoy) {
 				Overlay_Remove("ct05over");
@@ -164,7 +164,7 @@ bool SceneScriptCT05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.99f, -109.91f, 288.79f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.99f, -109.91f, 288.79f, 0, true, false, false)) {
 			Footstep_Sound_Override_On(2);
 			Actor_Face_Object(kActorMcCoy, "STAIR 2", true);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 9, true, kAnimationModeIdle);
@@ -219,9 +219,9 @@ void SceneScriptCT05::PlayerWalkedIn() {
 		Player_Loses_Control();
 		Game_Flag_Reset(kFlagCT04toCT05);
 		if (Player_Query_Combat_Mode()) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, false, true, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, false, true, false);
 		} else {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, false, false, false);
 		}
 		Player_Gains_Control();
 	}
diff --git a/engines/bladerunner/script/scene/ct06.cpp b/engines/bladerunner/script/scene/ct06.cpp
index 00fc3bb..bed2b59 100644
--- a/engines/bladerunner/script/scene/ct06.cpp
+++ b/engines/bladerunner/script/scene/ct06.cpp
@@ -117,7 +117,7 @@ bool SceneScriptCT06::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT06::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.41f, -58.23f, -2.17f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.41f, -58.23f, -2.17f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT06toCT05);
@@ -128,7 +128,7 @@ bool SceneScriptCT06::ClickedOnExit(int exitId) {
 	}
 	if (exitId == 1) {
 		if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 203.91f, -58.02f, 0.47f, 0, 1, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 203.91f, -58.02f, 0.47f, 0, true, false, false)) {
 				Ambient_Sounds_Remove_Sound(kSfxZUBWLK1, true);
 				Ambient_Sounds_Remove_Sound(kSfxZUBWLK2, true);
 				Ambient_Sounds_Remove_Sound(kSfxZUBWLK3, true);
@@ -139,7 +139,7 @@ bool SceneScriptCT06::ClickedOnExit(int exitId) {
 			}
 			return true;
 		}
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 203.91f, -58.02f, 0.47f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 203.91f, -58.02f, 0.47f, 0, true, false, false)) {
 			if (Global_Variable_Query(kVariableChapter) < 3) {
 				Actor_Face_Object(kActorMcCoy, "DOOR", true);
 				Actor_Says(kActorMcCoy, 8522, 12);
diff --git a/engines/bladerunner/script/scene/ct08.cpp b/engines/bladerunner/script/scene/ct08.cpp
index 2e41b64..b0ecc3e 100644
--- a/engines/bladerunner/script/scene/ct08.cpp
+++ b/engines/bladerunner/script/scene/ct08.cpp
@@ -127,7 +127,7 @@ bool SceneScriptCT08::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT08::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -183.0f, 0.0f, 128.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -183.0f, 0.0f, 128.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT08toCT09);
@@ -137,8 +137,8 @@ bool SceneScriptCT08::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -11.0f, 0.0f, -156.0f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, 0.0f, -102.0f, 0, false, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -11.0f, 0.0f, -156.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, 0.0f, -102.0f, 0, false, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT08toCT51);
@@ -148,7 +148,7 @@ bool SceneScriptCT08::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -143.0f, 0.0f, -92.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -143.0f, 0.0f, -92.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT08toCT06);
@@ -161,7 +161,7 @@ bool SceneScriptCT08::ClickedOnExit(int exitId) {
 
 bool SceneScriptCT08::ClickedOn2DRegion(int region) {
 	if (region == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -108.0f, 0.0f, -178.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -108.0f, 0.0f, -178.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 512, false);
 			Game_Flag_Reset(kFlagMcCoyTiedDown);
 			Player_Set_Combat_Mode_Access(true);
@@ -196,7 +196,7 @@ void SceneScriptCT08::PlayerWalkedIn() {
 	} else if (Game_Flag_Query(kFlagCT06toCT08)) {
 		Game_Flag_Reset(kFlagCT06toCT08);
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.0f, 0.0f, 128.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.0f, 0.0f, 128.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagCT09toCT08);
 	}
 }
diff --git a/engines/bladerunner/script/scene/ct09.cpp b/engines/bladerunner/script/scene/ct09.cpp
index d8f3e66..3d4593d 100644
--- a/engines/bladerunner/script/scene/ct09.cpp
+++ b/engines/bladerunner/script/scene/ct09.cpp
@@ -57,7 +57,7 @@ bool SceneScriptCT09::MouseClick(int x, int y) {
 bool SceneScriptCT09::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("BELL", objectName)) {
 		if (Actor_Query_Which_Set_In(kActorLeon) != kSetCT09) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 229.0f, 348.52f, 851.0f, 36, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 229.0f, 348.52f, 851.0f, 36, true, false, false)) {
 				Actor_Face_Object(kActorMcCoy, "BELL", true);
 				Sound_Play(kSfxDESKBELL, 100, 0, 0, 50);
 				if (!Actor_Query_Goal_Number(kActorDeskClerk)) {
@@ -75,7 +75,7 @@ bool SceneScriptCT09::ClickedOnActor(int actorId) {
 		if (Actor_Query_Goal_Number(kActorDeskClerk) == kGoalDeskClerkDefault
 		 && Actor_Query_Which_Set_In(kActorLeon) != kSetCT09
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 270.0f, 348.52f, 846.0f, 12, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 270.0f, 348.52f, 846.0f, 12, true, false, false)) {
 				Player_Loses_Control();
 				Actor_Face_Actor(kActorMcCoy, kActorDeskClerk, true);
 				if (Global_Variable_Query(kVariableChapter) < 3) { // it is impossible to get here before chapter 3
@@ -111,8 +111,8 @@ bool SceneScriptCT09::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT09::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.0f, 348.52f, 599.0f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 348.52f, 599.0f, 0, false, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.0f, 348.52f, 599.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 348.52f, 599.0f, 0, false, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT09toCT08);
@@ -122,7 +122,7 @@ bool SceneScriptCT09::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.0f, 348.52f, 927.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.0f, 348.52f, 927.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT09toCT11);
@@ -132,7 +132,7 @@ bool SceneScriptCT09::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 159.0f, 349.0f, 570.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 159.0f, 349.0f, 570.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT09toCT10);
@@ -179,14 +179,14 @@ void SceneScriptCT09::PlayerWalkedIn() {
 		if (leonScene) {
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, 206.0f, 348.52f, 599.0f, 0, false);
 		} else {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.0f, 348.52f, 599.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.0f, 348.52f, 599.0f, 0, false, false, false);
 		}
 		Game_Flag_Reset(kFlagCT08toCT09);
 	} else {
 		if (leonScene) {
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 348.52f, 886.0f, 0, false);
 		} else {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 348.52f, 886.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 348.52f, 886.0f, 0, false, false, false);
 		}
 		Game_Flag_Reset(kFlagCT11toCT09);
 	}
diff --git a/engines/bladerunner/script/scene/ct10.cpp b/engines/bladerunner/script/scene/ct10.cpp
index 9794ab2..1b54837 100644
--- a/engines/bladerunner/script/scene/ct10.cpp
+++ b/engines/bladerunner/script/scene/ct10.cpp
@@ -65,7 +65,7 @@ bool SceneScriptCT10::MouseClick(int x, int y) {
 }
 
 void SceneScriptCT10::checkCabinet() {
-	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 10.6f, 0.0f, -50.5f, 0, true, false, 0)) {
+	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 10.6f, 0.0f, -50.5f, 0, true, false, false)) {
 		Player_Loses_Control();
 		Actor_Face_Heading(kActorMcCoy, 0, false);
 		Sound_Play(kSfxDRAWER1, 100, 0, 0, 50);
@@ -82,7 +82,7 @@ void SceneScriptCT10::checkCabinet() {
 
 bool SceneScriptCT10::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("TUB", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -41.0f, 0.0f, -106.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -41.0f, 0.0f, -106.0f, 0, true, false, false)) {
 			Player_Loses_Control();
 			Actor_Face_Heading(kActorMcCoy, 850, false);
 			Actor_Change_Animation_Mode(kActorMcCoy, 38);
@@ -96,7 +96,7 @@ bool SceneScriptCT10::ClickedOn3DObject(const char *objectName, bool a2) {
 				Item_Pickup_Spin_Effect(kModelAnimationStrangeScale, 364, 214);
 			}
 			Delay(1000);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -41.0f, 0.0f, -82.0f, 0, 0, false, 1);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -41.0f, 0.0f, -82.0f, 0, false, false, true);
 			Player_Gains_Control();
 		}
 		return true;
@@ -121,8 +121,8 @@ bool SceneScriptCT10::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT10::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -93.0f, 0.0f, -38.0f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -121.0f, 0.0f, -78.0f, 0, false, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -93.0f, 0.0f, -38.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -121.0f, 0.0f, -78.0f, 0, false, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT10toCT09);
@@ -146,8 +146,8 @@ void SceneScriptCT10::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptCT10::PlayerWalkedIn() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -93.0f, 0.0f, -38.0f, 0, 0, false, 0);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -49.0f, 0.0f, -38.0f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -93.0f, 0.0f, -38.0f, 0, false, false, false);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -49.0f, 0.0f, -38.0f, 0, false, false, false);
 	if (!Game_Flag_Query(kFlagCT10Entered)) {
 		Actor_Voice_Over(450, kActorVoiceOver);
 		Actor_Voice_Over(460, kActorVoiceOver);
diff --git a/engines/bladerunner/script/scene/ct11.cpp b/engines/bladerunner/script/scene/ct11.cpp
index 0d52c77..2ea639f 100644
--- a/engines/bladerunner/script/scene/ct11.cpp
+++ b/engines/bladerunner/script/scene/ct11.cpp
@@ -107,7 +107,7 @@ bool SceneScriptCT11::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT11::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 121.0f, 9.68f, -42.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 121.0f, 9.68f, -42.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagCT11toCT09);
 			Set_Enter(kSetCT09, kSceneCT09);
 		}
@@ -115,8 +115,8 @@ bool SceneScriptCT11::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -300.0f, 9.68f, 66.0f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, 9.68f, -70.0f, 0, true, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -300.0f, 9.68f, 66.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, 9.68f, -70.0f, 0, true, false, false);
 			Game_Flag_Set(kFlagCT11toCT12);
 			Set_Enter(kSetCT01_CT12, kSceneCT12);
 		}
@@ -124,7 +124,7 @@ bool SceneScriptCT11::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 290.0f, 0.0f, 635.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 290.0f, 0.0f, 635.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagCT11toDR01);
 			Game_Flag_Reset(kFlagMcCoyInChinaTown);
 			Game_Flag_Set(kFlagMcCoyInDNARow);
@@ -137,7 +137,7 @@ bool SceneScriptCT11::ClickedOnExit(int exitId) {
 
 bool SceneScriptCT11::ClickedOn2DRegion(int region) {
 	if (region == 0 && Game_Flag_Query(kFlagCT11DogWrapperAvailable)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 47, false);
 			Item_Remove_From_World(kItemDogWrapper);
 			Actor_Clue_Acquire(kActorMcCoy, kClueLichenDogWrapper, false, -1);
@@ -153,7 +153,7 @@ bool SceneScriptCT11::ClickedOn2DRegion(int region) {
 	}
 
 	if (region == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 47, false);
 			int cluesFound = 0;
 			if (Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewB)) {
@@ -200,15 +200,15 @@ void SceneScriptCT11::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptCT11::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagCT12toCT11)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0f, 9.68f, 32.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0f, 9.68f, 32.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagCT12toCT11);
 	} else if (Game_Flag_Query(kFlagDR01toCT11)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 329.0f, 0.0f, 617.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 329.0f, 0.0f, 617.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagDR01toCT11);
 	} else {
 		Player_Loses_Control();
 		Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 125.0f, 9.68f, 74.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 125.0f, 9.68f, 74.0f, 0, false, false, false);
 		Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
 		Player_Gains_Control();
 		Game_Flag_Reset(kFlagCT09toCT11);
diff --git a/engines/bladerunner/script/scene/ct12.cpp b/engines/bladerunner/script/scene/ct12.cpp
index f94621c..3419766 100644
--- a/engines/bladerunner/script/scene/ct12.cpp
+++ b/engines/bladerunner/script/scene/ct12.cpp
@@ -161,7 +161,7 @@ bool SceneScriptCT12::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT12::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.15f, -6.5f, 696.94f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.15f, -6.5f, 696.94f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Game_Flag_Set(kFlagCT12toCT01);
 			Set_Enter(kSetCT01_CT12, kSceneCT01);
@@ -170,7 +170,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.69f, -6.5f, 696.94f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.69f, -6.5f, 696.94f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT12toCT03);
@@ -180,7 +180,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.13f, -6.5f, 1132.72f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.13f, -6.5f, 1132.72f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT12toCT05);
@@ -190,7 +190,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 3) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -493.0f, -6.5f, 1174.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -493.0f, -6.5f, 1174.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT12toCT11);
@@ -200,7 +200,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 4) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -292.0f, -6.5f, 990.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -292.0f, -6.5f, 990.0f, 0, true, false, false)) {
 			if (Global_Variable_Query(kVariableChapter) == 4) {
 				Game_Flag_Set(kFlagUnpauseGenWalkers);
 			}
@@ -295,7 +295,7 @@ void SceneScriptCT12::PlayerWalkedIn() {
 	}
 
 	if (Game_Flag_Query(kFlagCT11toCT12)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -520.0f, -6.5f, 1103.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -520.0f, -6.5f, 1103.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagCT11toCT12);
 	}
 }
diff --git a/engines/bladerunner/script/scene/ct51.cpp b/engines/bladerunner/script/scene/ct51.cpp
index ce8a49f..fb51629 100644
--- a/engines/bladerunner/script/scene/ct51.cpp
+++ b/engines/bladerunner/script/scene/ct51.cpp
@@ -99,8 +99,8 @@ bool SceneScriptCT51::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptCT51::ClickedOnExit(int exitId) {
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, 0.0f, -102.0f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -11.0f, 0.0f, -156.0f, 0, false, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, 0.0f, -102.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -11.0f, 0.0f, -156.0f, 0, false, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagCT51toCT08);
diff --git a/engines/bladerunner/script/scene/dr01.cpp b/engines/bladerunner/script/scene/dr01.cpp
index 2467d84..4b609c8 100644
--- a/engines/bladerunner/script/scene/dr01.cpp
+++ b/engines/bladerunner/script/scene/dr01.cpp
@@ -129,7 +129,7 @@ bool SceneScriptDR01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptDR01::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, false)) {
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, -911.0f, -0.04f, -118.0f, 0, false);
 			Ambient_Sounds_Adjust_Looping_Sound(kSfxFACTAMB2, 10, -100, 1);
 			Game_Flag_Set(kFlagDR01toDR02);
@@ -139,7 +139,7 @@ bool SceneScriptDR01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -711.0f, -0.04f, 70.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -711.0f, -0.04f, 70.0f, 0, true, false, false)) {
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, -796.0f, -0.04f, 166.0f, 0, false);
 			Game_Flag_Set(kFlagDR01toDR04);
 			Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
@@ -148,7 +148,7 @@ bool SceneScriptDR01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -372.0f, -0.04f, -82.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -372.0f, -0.04f, -82.0f, 0, true, false, false)) {
 			Game_Flag_Reset(kFlagMcCoyInChinaTown);
 			Game_Flag_Reset(kFlagMcCoyInRunciters);
 			Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
@@ -216,7 +216,7 @@ bool SceneScriptDR01::ClickedOnExit(int exitId) {
 			default:
 				Player_Loses_Control();
 				Game_Flag_Set(kFlagMcCoyInDNARow);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -447.39f, 0.16f, -92.38f, 0, false, true, 0);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -447.39f, 0.16f, -92.38f, 0, false, true, false);
 				Player_Gains_Control();
 				break;
 			}
@@ -229,7 +229,7 @@ bool SceneScriptDR01::ClickedOnExit(int exitId) {
 		Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
 		bool v7 = false;
 		if (-1200 < x) {
-			v7 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1236.4f, -0.04f, -13.91f, 0, 1, false, 0);
+			v7 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1236.4f, -0.04f, -13.91f, 0, true, false, false);
 		}
 		if (!v7) {
 			Game_Flag_Set(kFlagDR01toCT11);
@@ -267,7 +267,7 @@ void SceneScriptDR01::PlayerWalkedIn() {
 	        && !Game_Flag_Query(kFlagDR04toDR01)
 	) {
 		Player_Loses_Control();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -447.39f, 0.16f, -92.38f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -447.39f, 0.16f, -92.38f, 0, false, false, false);
 		if (!Game_Flag_Query(kFlagDR01Visited)) {
 			Game_Flag_Set(kFlagDR01Visited);
 			// Make use of the kFlagDirectorsCut like in CT01 case
diff --git a/engines/bladerunner/script/scene/dr02.cpp b/engines/bladerunner/script/scene/dr02.cpp
index 8864aec..08faac0 100644
--- a/engines/bladerunner/script/scene/dr02.cpp
+++ b/engines/bladerunner/script/scene/dr02.cpp
@@ -41,7 +41,7 @@ void SceneScriptDR02::InitializeScene() {
 		Scene_Exit_Add_2D_Exit(2, 95, 0, 148, 292, 0);
 	}
 
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Remove_All_Looping_Sounds(0);
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1, 50, 0, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxHUMMER3, 27, 85, 1);
@@ -120,7 +120,7 @@ bool SceneScriptDR02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptDR02::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, false)) {
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, -727.0f, -0.04f, -118.0f, 0, false);
 			Game_Flag_Set(kFlagDR02toDR01);
 			Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
@@ -131,7 +131,7 @@ bool SceneScriptDR02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1162.0f, 7.18f, -322.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1162.0f, 7.18f, -322.0f, 0, true, false, false)) {
 			if (Global_Variable_Query(kVariableChapter) > 2) {
 				Actor_Says(kActorMcCoy, 8522, 15);
 			} else {
@@ -143,7 +143,7 @@ bool SceneScriptDR02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1258.0f, 7.18f, -314.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1258.0f, 7.18f, -314.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagDR02toBB01);
 			Game_Flag_Reset(kFlagMcCoyInDNARow);
 			Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
diff --git a/engines/bladerunner/script/scene/dr03.cpp b/engines/bladerunner/script/scene/dr03.cpp
index 82892e1..265dcd1 100644
--- a/engines/bladerunner/script/scene/dr03.cpp
+++ b/engines/bladerunner/script/scene/dr03.cpp
@@ -142,7 +142,7 @@ bool SceneScriptDR03::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptDR03::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 330.31f, 4.27f, -910.91f, 24, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 330.31f, 4.27f, -910.91f, 24, true, false, false)) {
 			Game_Flag_Set(kFlagDR03toDR02);
 			Set_Enter(kSetDR01_DR02_DR04, kSceneDR02);
 		}
diff --git a/engines/bladerunner/script/scene/dr04.cpp b/engines/bladerunner/script/scene/dr04.cpp
index 4f0b222..a832ea0 100644
--- a/engines/bladerunner/script/scene/dr04.cpp
+++ b/engines/bladerunner/script/scene/dr04.cpp
@@ -49,7 +49,7 @@ void SceneScriptDR04::InitializeScene() {
 	Scene_Exit_Add_2D_Exit(1, 443, 264, 488, 353, 0);
 	Scene_Exit_Add_2D_Exit(2, 222, 110, 269, 207, 0);
 
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1, 50,    1,   1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxFIREBD1, 55, -100,   1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxHUMMER1, 28, -100, 100);
@@ -160,7 +160,7 @@ bool SceneScriptDR04::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -761.0f, -0.04f, 97.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -761.0f, -0.04f, 97.0f, 0, true, false, false)) {
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, -683.0f, -0.04f, 43.0f, 0, false);
 			Game_Flag_Set(kFlagDR04toDR01);
 			Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
@@ -169,7 +169,7 @@ bool SceneScriptDR04::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagNotUsed232);
 			Game_Flag_Set(kFlagDR04toDR05);
 			Set_Enter(kSetDR05, kSceneDR05);
@@ -178,12 +178,12 @@ bool SceneScriptDR04::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 6.98f, 560.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 6.98f, 560.0f, 0, true, false, false)) {
 			Footstep_Sound_Override_On(3);
 			Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
 			Actor_Face_Heading(kActorMcCoy, 512, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 7, true, kAnimationModeIdle);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -899.0f, 71.64f, 647.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -899.0f, 71.64f, 647.0f, 0, false, false, false);
 			Actor_Face_Heading(kActorMcCoy, 0, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 7, true, kAnimationModeIdle);
 			Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
@@ -280,10 +280,10 @@ void SceneScriptDR04::PlayerWalkedIn() {
 			Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
 			Actor_Face_Heading(kActorMcCoy, 512, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 71.64f, 647.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 71.64f, 647.0f, 0, false, false, false);
 			Actor_Face_Heading(kActorMcCoy, 0, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -774.85f, 7.18f, 386.67f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -774.85f, 7.18f, 386.67f, 0, false, false, false);
 			Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
 			Footstep_Sound_Override_Off();
 		}
diff --git a/engines/bladerunner/script/scene/dr05.cpp b/engines/bladerunner/script/scene/dr05.cpp
index f2ee260..df43d2c 100644
--- a/engines/bladerunner/script/scene/dr05.cpp
+++ b/engines/bladerunner/script/scene/dr05.cpp
@@ -75,7 +75,7 @@ bool SceneScriptDR05::ClickedOn3DObject(const char *objectName, bool a2) {
 			Actor_Says(kActorMcCoy, 1020, 14);
 			Actor_Says(kActorMoraji, 90, 13);
 		} else {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 57.61f, 0.3f, 69.27f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 57.61f, 0.3f, 69.27f, 0, true, false, false)) {
 				Actor_Face_Object(kActorMcCoy, "T2 DOORWAY", true);
 				Actor_Says(kActorMcCoy, 8522, 13);
 				Actor_Says(kActorMcCoy, 8521, 14);
@@ -125,7 +125,7 @@ bool SceneScriptDR05::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptDR05::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 0.3f, 221.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 0.3f, 221.0f, 0, true, false, false)) {
 			Game_Flag_Reset(kFlagNotUsed232);
 			Game_Flag_Set(kFlagDR05toDR04);
 			Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
@@ -164,7 +164,7 @@ void SceneScriptDR05::PlayerWalkedIn() {
 	}
 
 	if (Game_Flag_Query(kFlagDR05BombExploded)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, false, false, false);
 		if (!Game_Flag_Query(kFlagDR05ExplodedEntered)) {
 			Game_Flag_Set(kFlagDR05ExplodedEntered);
 			if (Game_Flag_Query(kFlagSadikIsReplicant)) {
@@ -183,7 +183,7 @@ void SceneScriptDR05::PlayerWalkedIn() {
 			}
 		}
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, false, true, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, false, true, false);
 	}
 
 	if (!Game_Flag_Query(kFlagDR05MorajiTalk)
diff --git a/engines/bladerunner/script/scene/dr06.cpp b/engines/bladerunner/script/scene/dr06.cpp
index fb7716e..e8fa2f6 100644
--- a/engines/bladerunner/script/scene/dr06.cpp
+++ b/engines/bladerunner/script/scene/dr06.cpp
@@ -72,7 +72,7 @@ bool SceneScriptDR06::MouseClick(int x, int y) {
 
 bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("BOX16", objectName)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -743.0f, 136.6f, -1091.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -743.0f, 136.6f, -1091.0f, 0, true, false, false);
 		Actor_Face_Object(kActorMcCoy, "BOX16", true);
 		if (!Game_Flag_Query(kFlagDR06JesterActive)) {
 			Overlay_Play("DR06over", 1, true, true, 0);
@@ -91,7 +91,7 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
 			Actor_Face_Object(kActorMcCoy, "X2_MON01A04", true);
 			Actor_Says(kActorMcCoy, 8570, 13);
 		} else {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.94f, 136.6f, -1136.12f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.94f, 136.6f, -1136.12f, 0, true, false, false)) {
 				Actor_Face_Object(kActorMcCoy, "X2_MON01A04", true);
 				Actor_Says(kActorAnsweringMachine, 10, 3);
 				Actor_Says(kActorAnsweringMachine, 20, 3);
@@ -113,7 +113,7 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
 	}
 
 	if (Object_Query_Click("X2_MON01D01", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -645.34f, 136.6f, -1047.37f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -645.34f, 136.6f, -1047.37f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 329, false);
 			if ( Actor_Clue_Query(kActorMcCoy, kClueFolder)
 			 &&  Actor_Clue_Query(kActorMcCoy, kClueGuzzaFramedMcCoy)
@@ -136,7 +136,7 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
 #if BLADERUNNER_ORIGINAL_BUGS
 	if ( Object_Query_Click("X2_KEYBRD02", objectName) // a bug? there is no X2_KEYBRD02 only X2KEYBRD02
 	 && !Game_Flag_Query(kFlagDR06KeyboardChecked)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, true, false, false);
 		Actor_Face_Object(kActorMcCoy, "X2_KEYBRD02", true);
 		Actor_Voice_Over(830, kActorVoiceOver);
 		Actor_Voice_Over(840, kActorVoiceOver);
@@ -146,7 +146,7 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
 #else
 	if ( Object_Query_Click("X2KEYBRD02", objectName) // Use X2KEYBRD02 in place of X2_KEYBRD02
 	 && !Game_Flag_Query(kFlagDR06KeyboardChecked)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, true, false, false);
 		Actor_Face_Object(kActorMcCoy, "X2KEYBRD02", true);
 		Actor_Voice_Over(830, kActorVoiceOver);
 		Actor_Voice_Over(840, kActorVoiceOver);
@@ -156,7 +156,7 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
 #endif // BLADERUNNER_ORIGINAL_BUGS
 
 	if (Object_Query_Click("X2_TORSO04HIRES", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -700.0f, 136.6f, -1133.0f, 4, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -700.0f, 136.6f, -1133.0f, 4, true, false, false)) {
 			Actor_Face_Object(kActorMcCoy, "x2_TORSO04HIRES", true);
 			if (Global_Variable_Query(kVariableDR06MannequinHeadOpened) > 12) {
 				return true;
@@ -207,7 +207,7 @@ bool SceneScriptDR06::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptDR06::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -733.0f, 136.6f, -980.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -733.0f, 136.6f, -980.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagDR06toDR04);
 			Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
 		}
@@ -215,7 +215,7 @@ bool SceneScriptDR06::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -707.57f, 136.6f, -1132.64f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -707.57f, 136.6f, -1132.64f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagDR06toUG16);
 			Set_Enter(kSetUG16, kSceneUG16);
 		}
@@ -236,7 +236,7 @@ void SceneScriptDR06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptDR06::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagDR04toDR06)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -729.57f, 136.6f, -1016.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -729.57f, 136.6f, -1016.0f, 0, false, false, false);
 	}
 	Game_Flag_Reset(kFlagDR04toDR06);
 	Game_Flag_Reset(kFlagUG16toDR06);
@@ -244,7 +244,7 @@ void SceneScriptDR06::PlayerWalkedIn() {
 
 void SceneScriptDR06::PlayerWalkedOut() {
 	Overlay_Remove("DR06over");
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Remove_All_Looping_Sounds(1);
 }
 
diff --git a/engines/bladerunner/script/scene/hc01.cpp b/engines/bladerunner/script/scene/hc01.cpp
index 4f3f1b7..1a44fab 100644
--- a/engines/bladerunner/script/scene/hc01.cpp
+++ b/engines/bladerunner/script/scene/hc01.cpp
@@ -101,7 +101,7 @@ bool SceneScriptHC01::ClickedOnActor(int actorId) {
 	 )
 	) {
 		AI_Movement_Track_Pause(kActorIzo);
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 624.43f, 0.14f, 83.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 624.43f, 0.14f, 83.0f, 0, true, false, false)) {
 			if (!Game_Flag_Query(kFlagHC01IzoTalk1)) {
 				Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
 				Actor_Says_With_Pause(kActorIzo, 10, 0.2f, 13);
@@ -149,7 +149,7 @@ bool SceneScriptHC01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptHC01::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 814.0f, 0.14f, 153.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 814.0f, 0.14f, 153.0f, 0, true, false, false)) {
 			Music_Adjust(12, 0, 2);
 			Game_Flag_Set(kFlagHC01toAR01);
 			Set_Enter(kSetAR01_AR02, kSceneAR01);
@@ -160,7 +160,7 @@ bool SceneScriptHC01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 607.0f, 0.14f, 9.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 607.0f, 0.14f, 9.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagHC01toHC03);
 			Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC03);
 		}
@@ -168,7 +168,7 @@ bool SceneScriptHC01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 105.0f, 0.14f, 103.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 105.0f, 0.14f, 103.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagHC01toHC02);
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, -57.0f, 0.14f, 83.0f, 0, false);
 			Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC02);
@@ -219,7 +219,7 @@ void SceneScriptHC01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptHC01::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagHC02toHC01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 105.0f, 0.14f, 103.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 105.0f, 0.14f, 103.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagHC02toHC01);
 	}
 
diff --git a/engines/bladerunner/script/scene/hc02.cpp b/engines/bladerunner/script/scene/hc02.cpp
index e3b5189..b4cbc81 100644
--- a/engines/bladerunner/script/scene/hc02.cpp
+++ b/engines/bladerunner/script/scene/hc02.cpp
@@ -90,7 +90,7 @@ bool SceneScriptHC02::ClickedOn3DObject(const char *objectName, bool a2) {
 
 bool SceneScriptHC02::ClickedOnActor(int actorId) {
 	if (actorId == kActorHawkersBarkeep) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -150.51f, 0.14f, 62.74f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -150.51f, 0.14f, 62.74f, 0, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorHawkersBarkeep, true);
 			if (!Game_Flag_Query(kFlagHC02HawkersBarkeepIntroduction)) {
 				Actor_Says(kActorMcCoy, 1225, 13);
@@ -174,7 +174,7 @@ bool SceneScriptHC02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptHC02::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 7.0f, 0.14f, 79.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 7.0f, 0.14f, 79.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagHC02toHC01);
@@ -184,7 +184,7 @@ bool SceneScriptHC02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, 0.14f, -339.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, 0.14f, -339.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagHC02toHC04);
@@ -226,7 +226,7 @@ void SceneScriptHC02::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptHC02::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagHC04toHC02)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, 0.14f, -339.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, 0.14f, -339.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagHC04toHC02);
 	}
 }
diff --git a/engines/bladerunner/script/scene/hc03.cpp b/engines/bladerunner/script/scene/hc03.cpp
index 4c7b8ff..c22346b 100644
--- a/engines/bladerunner/script/scene/hc03.cpp
+++ b/engines/bladerunner/script/scene/hc03.cpp
@@ -148,7 +148,7 @@ bool SceneScriptHC03::ClickedOnItem(int itemId, bool combatMode) {
 
 bool SceneScriptHC03::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 607.0f, 0.14f, 9.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 607.0f, 0.14f, 9.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagHC03toHC01);
 			Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC01);
 		}
@@ -156,7 +156,7 @@ bool SceneScriptHC03::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 628.0f, 2.04f, -123.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 628.0f, 2.04f, -123.0f, 0, true, false, false)) {
 			if (!Game_Flag_Query(kFlagHC03TrapDoorOpen)) {
 				Scene_Loop_Set_Default(kHC03LoopMainCageOpenTrapDoorOpen);
 				Scene_Loop_Start_Special(kSceneLoopModeOnce, kHC03LoopTrapDoorOpening, true);
diff --git a/engines/bladerunner/script/scene/hc04.cpp b/engines/bladerunner/script/scene/hc04.cpp
index c6d3a93..4e1972c 100644
--- a/engines/bladerunner/script/scene/hc04.cpp
+++ b/engines/bladerunner/script/scene/hc04.cpp
@@ -90,7 +90,7 @@ bool SceneScriptHC04::ClickedOn3DObject(const char *objectName, bool a2) {
 
 bool SceneScriptHC04::ClickedOnActor(int actorId) {
 	if (actorId == kActorIsabella) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -155.0f, 0.0f, -475.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -155.0f, 0.0f, -475.0f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorIsabella, true);
 			Actor_Face_Actor(kActorIsabella, kActorMcCoy, true);
 			if (!Game_Flag_Query(kFlagHC04IsabellaTalk)) {
@@ -114,7 +114,7 @@ bool SceneScriptHC04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptHC04::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -108.0f, 0.14f, -639.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -108.0f, 0.14f, -639.0f, 0, true, false, false)) {
 			Music_Stop(2);
 			Game_Flag_Set(kFlagHC04toRC03);
 			Game_Flag_Reset(kFlagMcCoyInHawkersCircle);
@@ -125,7 +125,7 @@ bool SceneScriptHC04::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -72.0f, 0.14f, -399.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -72.0f, 0.14f, -399.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagHC04toHC02);
 			Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC02);
 		}
diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp
index e98cd93..d7e5523 100644
--- a/engines/bladerunner/script/scene/hf01.cpp
+++ b/engines/bladerunner/script/scene/hf01.cpp
@@ -115,7 +115,7 @@ bool SceneScriptHF01::ClickedOnActor(int actorId) {
 	if (actorId == kActorMia
 	 || actorId == kActorMurray
 	) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 504.04f, 8.0f, -242.17f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 504.04f, 8.0f, -242.17f, 12, true, false, false)) {
 			ADQ_Flush();
 			Actor_Face_Actor(kActorMcCoy, kActorMurray, true);
 			if (!Game_Flag_Query(kFlagHF01MurrayMiaTalk)) {
@@ -170,7 +170,7 @@ bool SceneScriptHF01::ClickedOnActor(int actorId) {
 					talkWithLucy();
 				}
 				Async_Actor_Walk_To_XYZ(affectionTowardsActor, -175.0f, 8.0f, -617.0f, 0, false);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, 8.0f, -577.0f, 0, false, false, 1);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, 8.0f, -577.0f, 0, false, false, true);
 				Game_Flag_Set(kFlagHF01toHF05);
 				Set_Enter(kSetHF05, kSceneHF05);
 			}
@@ -185,7 +185,7 @@ bool SceneScriptHF01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptHF01::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -202.0f, 8.0f, -619.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -202.0f, 8.0f, -619.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagHF01toHF05);
 			Set_Enter(kSetHF05, kSceneHF05);
 		}
@@ -193,8 +193,8 @@ bool SceneScriptHF01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 8.0f, -724.0f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 8.0f, -880.0f, 0, false, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 8.0f, -724.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 8.0f, -880.0f, 0, false, false, false);
 			Game_Flag_Set(kFlagHF01toHF03);
 			Set_Enter(kSetHF03, kSceneHF03);
 		}
@@ -202,8 +202,8 @@ bool SceneScriptHF01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 406.0f, 8.0f, -717.0f, 0, true, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 406.0f, 8.0f, -813.0f, 0, false, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 406.0f, 8.0f, -717.0f, 0, true, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 406.0f, 8.0f, -813.0f, 0, false, false, false);
 			Game_Flag_Set(kFlagHF01toHF02);
 			Set_Enter(kSetHF02, kSceneHF02);
 		}
@@ -211,7 +211,7 @@ bool SceneScriptHF01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 3) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -260.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -260.0f, 0, true, false, false)) {
 			Game_Flag_Reset(kFlagMcCoyInChinaTown);
 			Game_Flag_Reset(kFlagMcCoyInRunciters);
 			Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
@@ -285,7 +285,7 @@ bool SceneScriptHF01::ClickedOnExit(int exitId) {
 				break;
 			default:
 				Game_Flag_Set(kFlagMcCoyInHysteriaHall);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -300.0f, 0, true, false, 0);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -300.0f, 0, true, false, false);
 				break;
 			}
 		}
@@ -389,11 +389,11 @@ void SceneScriptHF01::PlayerWalkedIn() {
 	}
 
 	if (Game_Flag_Query(kFlagHF03toHF01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 8.0f, -724.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 8.0f, -724.0f, 0, true, false, false);
 	} else if (Game_Flag_Query(kFlagHF02toHF01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 406.0f, 8.0f, -717.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 406.0f, 8.0f, -717.0f, 0, true, false, false);
 	} else if (!Game_Flag_Query(kFlagHF05toHF01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -300.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -300.0f, 0, true, false, false);
 	}
 
 	Game_Flag_Reset(kFlagHF03toHF01);
diff --git a/engines/bladerunner/script/scene/hf02.cpp b/engines/bladerunner/script/scene/hf02.cpp
index f774399..d96288c 100644
--- a/engines/bladerunner/script/scene/hf02.cpp
+++ b/engines/bladerunner/script/scene/hf02.cpp
@@ -86,7 +86,7 @@ bool SceneScriptHF02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptHF02::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 42.0f, 47.76f, -296.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 42.0f, 47.76f, -296.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagHF02toHF01);
@@ -96,7 +96,7 @@ bool SceneScriptHF02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 470.0f, 47.76f, -444.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 470.0f, 47.76f, -444.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagHF02toHF03);
@@ -124,10 +124,10 @@ void SceneScriptHF02::PlayerWalkedIn() {
 	}
 
 	if (Game_Flag_Query(kFlagHF03toHF02)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 470.0f, 47.76f, -444.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 470.0f, 47.76f, -444.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagHF03toHF02);
 	} else if (Game_Flag_Query(kFlagHF01toHF02)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 42.0f, 47.76f, -296.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 42.0f, 47.76f, -296.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagHF01toHF02);
 	}
 
diff --git a/engines/bladerunner/script/scene/hf03.cpp b/engines/bladerunner/script/scene/hf03.cpp
index 638caf8..f4bd11e 100644
--- a/engines/bladerunner/script/scene/hf03.cpp
+++ b/engines/bladerunner/script/scene/hf03.cpp
@@ -205,7 +205,7 @@ bool SceneScriptHF03::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptHF03::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 179.0f, 46.76f, -824.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 179.0f, 46.76f, -824.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagHF03toHF01);
 			Set_Enter(kSetHF01, kSceneHF01);
 		}
@@ -213,7 +213,7 @@ bool SceneScriptHF03::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 479.0f, 47.76f, -524.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 479.0f, 47.76f, -524.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagHF03toHF02);
 			Set_Enter(kSetHF02, kSceneHF02);
 		}
@@ -221,7 +221,7 @@ bool SceneScriptHF03::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 942.0f, 47.76f, -847.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 942.0f, 47.76f, -847.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagHF03toHF04);
 			Set_Enter(kSetHF04, kSceneHF04);
 		}
@@ -242,10 +242,10 @@ void SceneScriptHF03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptHF03::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagHF02toHF03)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 479.0f, 47.76f, -524.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 479.0f, 47.76f, -524.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagHF02toHF03);
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 179.0f, 47.76f, -824.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 179.0f, 47.76f, -824.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagHF01toHF03);
 	}
 
diff --git a/engines/bladerunner/script/scene/hf04.cpp b/engines/bladerunner/script/scene/hf04.cpp
index dea5053..4ab7333 100644
--- a/engines/bladerunner/script/scene/hf04.cpp
+++ b/engines/bladerunner/script/scene/hf04.cpp
@@ -93,7 +93,7 @@ bool SceneScriptHF04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptHF04::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1132.27f, -0.31f, -113.46f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1132.27f, -0.31f, -113.46f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagHF04toHF03);
@@ -173,7 +173,7 @@ void SceneScriptHF04::PlayerWalkedIn() {
 		Player_Set_Combat_Mode(true);
 		Music_Play(kMusicBatl226M, 60, 0, 2, -1, 0, 0);
 	}
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -45.0f, -0.31f, 307.0f, 0, false, true, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -45.0f, -0.31f, 307.0f, 0, false, true, false);
 	Delay(2500);
 }
 
diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp
index 6900d24..a724a5b 100644
--- a/engines/bladerunner/script/scene/hf05.cpp
+++ b/engines/bladerunner/script/scene/hf05.cpp
@@ -77,7 +77,7 @@ bool SceneScriptHF05::MouseClick(int x, int y) {
 
 bool SceneScriptHF05::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("TOP CON", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, 40.63f, 308.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, 40.63f, 308.0f, 0, true, false, false)) {
 			Actor_Face_Object(kActorMcCoy, "TOP CON", true);
 			if (Actor_Query_In_Set(kActorCrazylegs, kSetHF05)
 			 && Actor_Query_Goal_Number(kActorCrazylegs) != kGoalCrazyLegsShotAndHit
@@ -104,7 +104,7 @@ bool SceneScriptHF05::ClickedOn3DObject(const char *objectName, bool a2) {
 			Unobstacle_Object("MONTE CARLO DRY", true);
 
 			if (getCompanionActor() != kActorMcCoy) {
-				Loop_Actor_Walk_To_XYZ(getCompanionActor(), 181.54f, 40.63f, 388.09f, 0, false, true, 0);
+				Loop_Actor_Walk_To_XYZ(getCompanionActor(), 181.54f, 40.63f, 388.09f, 0, false, true, false);
 				Actor_Face_Actor(kActorMcCoy, getCompanionActor(), true);
 				Actor_Face_Actor(getCompanionActor(), kActorMcCoy, true);
 				Actor_Says(kActorMcCoy, 1785, kAnimationModeTalk);
@@ -122,7 +122,7 @@ bool SceneScriptHF05::ClickedOn3DObject(const char *objectName, bool a2) {
 				ADQ_Add(kActorVoiceOver, 940, -1);
 				Ambient_Sounds_Play_Sound(kSfxLABMISC2, 50, 99, 0, 0);
 				Delay(1500);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.54f, 40.63f, 388.09f, 0, false, true, 0);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.54f, 40.63f, 388.09f, 0, false, true, false);
 				Actor_Face_Heading(kActorMcCoy, 0, false);
 				Actor_Change_Animation_Mode(kActorMcCoy, 23);
 				Actor_Clue_Lose(kActorMcCoy, kClueBomb);
@@ -182,7 +182,7 @@ bool SceneScriptHF05::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptHF05::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 483.0f, 40.63f, -189.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 483.0f, 40.63f, -189.0f, 0, true, false, false)) {
 			if (!Game_Flag_Query(kFlagHF05PoliceAttacked)) {
 				Game_Flag_Set(kFlagHF05toHF01);
 				Set_Enter(kSetHF01, kSceneHF01);
@@ -192,7 +192,7 @@ bool SceneScriptHF05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 330.0f, 40.63f, -85.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 330.0f, 40.63f, -85.0f, 0, true, false, false)) {
 			if (!Game_Flag_Query(kFlagHF05PoliceAttacked)) {
 				int affectionTowardsActor = getAffectionTowardsActor();
 				if (Game_Flag_Query(kFlagHF05PoliceArrived)
@@ -210,7 +210,7 @@ bool SceneScriptHF05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 277.0f, 40.63f, 410.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 277.0f, 40.63f, 410.0f, 0, true, false, false)) {
 			if (!Game_Flag_Query(kFlagHF05PoliceAttacked)) {
 				Game_Flag_Set(kFlagHF05toHF06);
 				Set_Enter(kSetHF06, kSceneHF06);
@@ -303,7 +303,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
 			Actor_Force_Stop_Walking(affectionTowardsActor);
 			if (Game_Flag_Query(kFlagHF01toHF05)) {
 				Actor_Set_At_XYZ(affectionTowardsActor, 506.81f, 40.63f, -140.92f, 0);
-				Async_Actor_Walk_To_Waypoint(affectionTowardsActor, 437, 36, 0);
+				Async_Actor_Walk_To_Waypoint(affectionTowardsActor, 437, 36, false);
 			} else if (Game_Flag_Query(kFlagHF06toHF05)) {
 				Actor_Set_At_XYZ(affectionTowardsActor, 288.0f, 40.63f, 410.0f, 909);
 			} else if (Game_Flag_Query(kFlagHF07toHF05)) {
@@ -336,7 +336,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
 			talkWithCrazylegs3(affectionTowardsActor);
 		}
 	} else if (Game_Flag_Query(kFlagHF01toHF05)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 399.0f, 40.63f, -85.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 399.0f, 40.63f, -85.0f, 0, false, false, false);
 	} else if (Game_Flag_Query(kFlagHF07toHF05)) {
 		Actor_Set_At_XYZ(kActorMcCoy, 346.0f, 4.63f, -151.0f, 603);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, kAnimationModeIdle);
@@ -685,7 +685,7 @@ void SceneScriptHF05::talkWithCrazylegs3(int affectionTowardsActor) {
 		Actor_Face_Actor(kActorMcCoy, affectionTowardsActor, true);
 		Actor_Says(kActorMcCoy, 1745, kAnimationModeTalk);
 		Async_Actor_Walk_To_XYZ(affectionTowardsActor, 309.0f, 40.63f, 402.0f, 0, false);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 277.0f, 40.63f, 410.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 277.0f, 40.63f, 410.0f, 0, false, false, false);
 		Game_Flag_Set(kFlagHF05toHF06);
 		Set_Enter(kSetHF06, kSceneHF06);
 	}
@@ -700,7 +700,7 @@ void SceneScriptHF05::talkWithCrazyLegs1() {
 		ADQ_Add(kActorCrazylegs, 150, 18);
 		ADQ_Add(kActorCrazylegs, 160, 17);
 	}
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 307.0f, 40.63f, 184.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 307.0f, 40.63f, 184.0f, 0, false, false, false);
 	Loop_Actor_Walk_To_Actor(kActorCrazylegs, kActorMcCoy, 72, false, false);
 	Ambient_Sounds_Play_Sound(kSfxLABMISC4, 99, 99, 0, 0);
 	Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true);
@@ -733,7 +733,7 @@ void SceneScriptHF05::talkWithCrazyLegs1() {
 	Actor_Says(kActorCrazylegs, 270, kAnimationModeTalk);
 	Actor_Says(kActorCrazylegs, 280, 12);
 	Async_Actor_Walk_To_XYZ(kActorCrazylegs, 276.0f, 40.63f, 182.0f, 12, false);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 335.0f, 40.63f, 131.0f, 12, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 335.0f, 40.63f, 131.0f, 12, false, false, false);
 	Actor_Face_Object(kActorCrazylegs, "MONTE CARLO DRY", true);
 	Actor_Face_Object(kActorMcCoy, "MONTE CARLO DRY", true);
 	Actor_Says(kActorCrazylegs, 290, 14);
diff --git a/engines/bladerunner/script/scene/hf06.cpp b/engines/bladerunner/script/scene/hf06.cpp
index ea5c01b..7afb3d8 100644
--- a/engines/bladerunner/script/scene/hf06.cpp
+++ b/engines/bladerunner/script/scene/hf06.cpp
@@ -68,7 +68,7 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {
 	 || Object_Query_Click("BOX30", objectName)
 	 || Object_Query_Click("HOOD BOX", objectName)
 	) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.33f, 367.93f, 399.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.33f, 367.93f, 399.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 486, true);
 			if (Actor_Query_In_Set(kActorDektora, kSetHF06)
 			 && Actor_Query_Goal_Number(kActorDektora) != kGoalDektoraGone
@@ -92,7 +92,7 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("BOX19", objectName)
 	 || Object_Query_Click("BOX21", objectName)
 	) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 290.0f, 367.93f, 318.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 290.0f, 367.93f, 318.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 85, true);
 			Actor_Says(kActorMcCoy, 8522, 0);
 		}
@@ -100,7 +100,7 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {
 	}
 
 	if (Object_Query_Click("BOX13", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 63.0f, 367.93f, 120.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 63.0f, 367.93f, 120.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 568, true);
 			Actor_Says(kActorMcCoy, 8522, 0);
 		}
@@ -138,7 +138,7 @@ bool SceneScriptHF06::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptHF06::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 170.0f, 367.93f, 497.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 170.0f, 367.93f, 497.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 730, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 2, false, kAnimationModeIdle);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
@@ -261,7 +261,7 @@ void SceneScriptHF06::steelInterruption() {
 	}
 
 	Actor_Set_Targetable(actorId, true);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.33f, 367.93f, 399.0f, 0, false, true, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.33f, 367.93f, 399.0f, 0, false, true, false);
 	Actor_Face_Heading(kActorMcCoy, 486, true);
 	addAmbientSounds();
 	Actor_Put_In_Set(kActorSteele, kSetHF06);
@@ -279,7 +279,7 @@ void SceneScriptHF06::steelInterruption() {
 	Player_Set_Combat_Mode(true);
 	Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatAim);
 	Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatWalk);
-	Loop_Actor_Walk_To_XYZ(kActorSteele, 92.0f, 367.93f, 107.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorSteele, 92.0f, 367.93f, 107.0f, 0, false, false, false);
 	Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
 	Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle);
 	Actor_Says(kActorSteele, 290, 58);
diff --git a/engines/bladerunner/script/scene/hf07.cpp b/engines/bladerunner/script/scene/hf07.cpp
index f7f63c7..4d950ca 100644
--- a/engines/bladerunner/script/scene/hf07.cpp
+++ b/engines/bladerunner/script/scene/hf07.cpp
@@ -77,7 +77,7 @@ bool SceneScriptHF07::ClickedOnExit(int exitId) {
 			Async_Actor_Walk_To_XYZ(kActorLucy, 235.0f, 58.43f, -100.0f, 0, false);
 		}
 
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 318.0f, 71.43f, -102.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 318.0f, 71.43f, -102.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagHF07toHF05);
 			if (!Game_Flag_Query(kFlagHF01TalkToLovedOne)) {
 				Actor_Face_Heading(kActorMcCoy, 0, false);
@@ -99,7 +99,7 @@ bool SceneScriptHF07::ClickedOnExit(int exitId) {
 			Async_Actor_Walk_To_XYZ(kActorLucy, -73.0f, 58.43f, -7.0f, 0, false);
 		}
 
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -84.0f, 58.43f, -105.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -84.0f, 58.43f, -105.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagHF07toUG06);
diff --git a/engines/bladerunner/script/scene/kp01.cpp b/engines/bladerunner/script/scene/kp01.cpp
index db13f24..bb21551 100644
--- a/engines/bladerunner/script/scene/kp01.cpp
+++ b/engines/bladerunner/script/scene/kp01.cpp
@@ -83,7 +83,7 @@ bool SceneScriptKP01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptKP01::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -125.0f, -12.2f, -61.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -125.0f, -12.2f, -61.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP01toKP04);
@@ -93,7 +93,7 @@ bool SceneScriptKP01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -284.0f, -12.2f, -789.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -284.0f, -12.2f, -789.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP01toKP03);
@@ -103,7 +103,7 @@ bool SceneScriptKP01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 239.0f, 12.2f, -146.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 239.0f, 12.2f, -146.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP01toKP02);
@@ -151,18 +151,18 @@ void SceneScriptKP01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptKP01::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagKP04toKP01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -93.0f, -12.2f, -61.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -93.0f, -12.2f, -61.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagKP04toKP01);
 		return;
 	}
 
 	if (Game_Flag_Query(kFlagKP03toKP01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -240.0f, -12.2f, -789.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -240.0f, -12.2f, -789.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagKP03toKP01);
 		return;
 	}
 
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 211.0f, -12.2f, -146.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 211.0f, -12.2f, -146.0f, 0, false, false, false);
 	if (!Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)
 	 && !Game_Flag_Query(kFlagMcCoyAttackedReplicants)
 	 &&  Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleKP01Wait
diff --git a/engines/bladerunner/script/scene/kp02.cpp b/engines/bladerunner/script/scene/kp02.cpp
index 3b4e055..955a513 100644
--- a/engines/bladerunner/script/scene/kp02.cpp
+++ b/engines/bladerunner/script/scene/kp02.cpp
@@ -79,7 +79,7 @@ bool SceneScriptKP02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptKP02::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1040.0f, -615.49f, 2903.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1040.0f, -615.49f, 2903.0f, 0, true, false, false)) {
 			if (Actor_Query_Goal_Number(kActorFreeSlotB) == 406
 			 || Actor_Query_Goal_Number(kActorFreeSlotA) == 406
 			) {
@@ -102,7 +102,7 @@ bool SceneScriptKP02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -884.0f, -615.49f, 3065.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -884.0f, -615.49f, 3065.0f, 0, true, false, false)) {
 			if (Actor_Query_Goal_Number(kActorFreeSlotB) == 406
 			 || Actor_Query_Goal_Number(kActorFreeSlotA) == 406
 			) {
@@ -138,7 +138,7 @@ void SceneScriptKP02::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptKP02::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagKP01toKP02)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -884.0f, -615.49f, 3035.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -884.0f, -615.49f, 3035.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagKP01toKP02);
 	}
 
diff --git a/engines/bladerunner/script/scene/kp03.cpp b/engines/bladerunner/script/scene/kp03.cpp
index c9bf605..8aa85f2 100644
--- a/engines/bladerunner/script/scene/kp03.cpp
+++ b/engines/bladerunner/script/scene/kp03.cpp
@@ -106,9 +106,9 @@ bool SceneScriptKP03::ClickedOn3DObject(const char *objectName, bool combatMode)
 			saveSteele();
 		} else {
 			if (Game_Flag_Query(kFlagKP01toKP03)) {
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, -36.55f, 26.0f, 0, 0, true, 0);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, -36.55f, 26.0f, 0, false, true, false);
 			} else if (Game_Flag_Query(kFlagKP05toKP03)) {
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, -36.55f, 78.0f, 0, 0, true, 0);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, -36.55f, 78.0f, 0, false, true, false);
 			}
 
 			if (Game_Flag_Query(kFlagKP03BombActive)) {
@@ -148,7 +148,7 @@ bool SceneScriptKP03::ClickedOnExit(int exitId) {
 		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP03ShootMcCoy);
 	} else {
 		if (exitId == 0) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 111.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 111.0f, 0, true, false, false)) {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
 				Music_Stop(2);
@@ -161,7 +161,7 @@ bool SceneScriptKP03::ClickedOnExit(int exitId) {
 		}
 
 		if (exitId == 1) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -321.0f, -36.55f, 26.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -321.0f, -36.55f, 26.0f, 0, true, false, false)) {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
 				Music_Stop(2);
@@ -258,7 +258,7 @@ void SceneScriptKP03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptKP03::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagKP05toKP03)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 87.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 87.0f, 0, false, false, false);
 	}
 
 	if (Actor_Query_Is_In_Current_Set(kActorSteele)
@@ -295,7 +295,7 @@ void SceneScriptKP03::saveSteele() {
 	Actor_Says(kActorSteele, 480, 60);
 	Actor_Face_Object(kActorMcCoy, "BRACK MID", true);
 	Actor_Says(kActorMcCoy, 2185, 14);
-	Loop_Actor_Walk_To_XYZ(kActorSteele, -137.0f, -36.55f, 26.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorSteele, -137.0f, -36.55f, 26.0f, 0, false, false, false);
 	Actor_Face_Object(kActorSteele, "BRACK MID", true);
 	Actor_Says(kActorSteele, 490, 58);
 	Actor_Says(kActorMcCoy, 2190, 14);
@@ -309,7 +309,7 @@ void SceneScriptKP03::saveSteele() {
 	Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP03Leave);
 	Actor_Says(kActorMcCoy, 2195, 14);
 	Ambient_Sounds_Play_Sound(kSfxLABMISC6, 40, -60, -60, 0);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 111.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 111.0f, 0, false, false, false);
 	Actor_Set_Goal_Number(kActorSteele, kGoalSteeleKP05Enter);
 	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 	Ambient_Sounds_Remove_All_Looping_Sounds(1);
diff --git a/engines/bladerunner/script/scene/kp04.cpp b/engines/bladerunner/script/scene/kp04.cpp
index 7fda9a1..daaad96 100644
--- a/engines/bladerunner/script/scene/kp04.cpp
+++ b/engines/bladerunner/script/scene/kp04.cpp
@@ -71,7 +71,7 @@ bool SceneScriptKP04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptKP04::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -905.0f, 94.89f, 1357.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -905.0f, 94.89f, 1357.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP04toKP01);
@@ -81,7 +81,7 @@ bool SceneScriptKP04::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -544.0f, 94.89f, 288.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -544.0f, 94.89f, 288.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP04toKP05);
@@ -104,7 +104,7 @@ void SceneScriptKP04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptKP04::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagKP05toKP04)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -584.0f, 94.89f, 288.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -584.0f, 94.89f, 288.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagKP05toKP04);
 	} else {
 		Game_Flag_Reset(kFlagKP01toKP04);
diff --git a/engines/bladerunner/script/scene/kp05.cpp b/engines/bladerunner/script/scene/kp05.cpp
index f1105d7..f04e1a2 100644
--- a/engines/bladerunner/script/scene/kp05.cpp
+++ b/engines/bladerunner/script/scene/kp05.cpp
@@ -77,7 +77,7 @@ bool SceneScriptKP05::ClickedOnActor(int actorId) {
 
 bool SceneScriptKP05::ClickedOnItem(int itemId, bool a2) {
 	if (itemId == kItemPowerSource) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1058.0f, 0.0f, 852.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1058.0f, 0.0f, 852.0f, 0, true, false, false)) {
 			Actor_Face_Item(kActorMcCoy, kItemPowerSource, true);
 			Actor_Clue_Acquire(kActorMcCoy, kCluePowerSource, true, -1);
 			Item_Remove_From_World(kItemPowerSource);
@@ -89,7 +89,7 @@ bool SceneScriptKP05::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptKP05::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -802.0f, 0.0f, 972.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -802.0f, 0.0f, 972.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP05toKP03);
@@ -99,7 +99,7 @@ bool SceneScriptKP05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1142.0f, 0.0f, 932.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1142.0f, 0.0f, 932.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP05toKP04);
@@ -109,7 +109,7 @@ bool SceneScriptKP05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -868.0f, 0.0f, -68.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -868.0f, 0.0f, -68.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP05toKP06);
@@ -135,10 +135,10 @@ void SceneScriptKP05::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagKP06toKP05)) {
 		Game_Flag_Reset(kFlagKP06toKP05);
 	} else if (Game_Flag_Query(kFlagKP04toKP05)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1110.0f, 0.0f, 932.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1110.0f, 0.0f, 932.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagKP04toKP05);
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -846.0f, 0.0f, 972.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -846.0f, 0.0f, 972.0f, 0, false, false, false);
 		Game_Flag_Query(kFlagKP03toKP05); // bug in game?
 	}
 
diff --git a/engines/bladerunner/script/scene/kp06.cpp b/engines/bladerunner/script/scene/kp06.cpp
index 67c4ab1..0ec9d88 100644
--- a/engines/bladerunner/script/scene/kp06.cpp
+++ b/engines/bladerunner/script/scene/kp06.cpp
@@ -102,7 +102,7 @@ bool SceneScriptKP06::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptKP06::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -868.0f, 8.26f, -68.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -868.0f, 8.26f, -68.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP06toKP05);
@@ -115,7 +115,7 @@ bool SceneScriptKP06::ClickedOnExit(int exitId) {
 		if (Actor_Clue_Query(kActorSadik, kCluePowerSource)
 		 || Actor_Query_Goal_Number(kActorSadik) != kGoalSadikUG18NeedsReactorCoreFromMcCoy
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, true, false, false)) {
 				if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) {
 					if (!Game_Flag_Query(kFlagMcCoyAttackedReplicants)) {
 						Player_Set_Combat_Mode(false);
@@ -134,7 +134,7 @@ bool SceneScriptKP06::ClickedOnExit(int exitId) {
 			Actor_Says(kActorSadik, 280, kAnimationModeTalk);
 			Actor_Says(kActorSadik, 290, kAnimationModeTalk);
 			Actor_Clue_Acquire(kActorSadik, kCluePowerSource, true, kActorMcCoy);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, false, true, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, false, true, false);
 			Player_Set_Combat_Mode(false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -181,7 +181,7 @@ void SceneScriptKP06::PlayerWalkedIn() {
 				Actor_Says(kActorSteele, 2580, 15);
 				Actor_Says(kActorSteele, 2590, 12);
 			}
-			Async_Actor_Walk_To_Waypoint(kActorMcCoy, 551, 0, 0);
+			Async_Actor_Walk_To_Waypoint(kActorMcCoy, 551, 0, false);
 			Delay(1000);
 			Actor_Says(kActorMcCoy, 6220, -1);
 			Delay(3000);
@@ -212,8 +212,8 @@ void SceneScriptKP06::PlayerWalkedIn() {
 			Actor_Says(kActorGaff, 290, 14);
 			Actor_Says(kActorGaff, 300, 15);
 			Actor_Says(kActorMcCoy, 6270, 11);
-			Async_Actor_Walk_To_Waypoint(kActorMcCoy, 550, 0, 0);
-			Async_Actor_Walk_To_Waypoint(kActorGaff, 551, 0, 0);
+			Async_Actor_Walk_To_Waypoint(kActorMcCoy, 550, 0, false);
+			Async_Actor_Walk_To_Waypoint(kActorGaff, 551, 0, false);
 			Actor_Says(kActorGaff, 310, -1);
 			Delay(3000);
 			Outtake_Play(kOuttakeEnd7, false, -1);
@@ -231,7 +231,7 @@ void SceneScriptKP06::PlayerWalkedIn() {
 	}
 
 	if (Actor_Query_Goal_Number(kActorSadik) == 414) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -809.0f, 8.26f, -619.0f, 0, 0, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -809.0f, 8.26f, -619.0f, 0, false, false, false);
 		Actor_Face_Actor(kActorMcCoy, kActorSadik, true);
 		Actor_Set_Goal_Number(kActorSadik, 415);
 	}
diff --git a/engines/bladerunner/script/scene/kp07.cpp b/engines/bladerunner/script/scene/kp07.cpp
index ef5b3f8..fc7e608 100644
--- a/engines/bladerunner/script/scene/kp07.cpp
+++ b/engines/bladerunner/script/scene/kp07.cpp
@@ -149,7 +149,7 @@ bool SceneScriptKP07::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptKP07::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagKP07toKP06);
@@ -171,7 +171,7 @@ void SceneScriptKP07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptKP07::PlayerWalkedIn() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 9.0f, -41.88f, -81.0f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 9.0f, -41.88f, -81.0f, 0, false, false, false);
 	if (!Game_Flag_Query(kFlagKP07Entered)) {
 		if (Game_Flag_Query(kFlagMcCoyIsHelpingReplicants)) {
 			Actor_Face_Actor(kActorMcCoy, kActorClovis, true);
diff --git a/engines/bladerunner/script/scene/ma01.cpp b/engines/bladerunner/script/scene/ma01.cpp
index 9a4bf24..9b4e8d2 100644
--- a/engines/bladerunner/script/scene/ma01.cpp
+++ b/engines/bladerunner/script/scene/ma01.cpp
@@ -107,11 +107,11 @@ bool SceneScriptMA01::ClickedOnExit(int exitId) {
 
 	if (exitId == kMA01ExitMA06) {
 		if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenFled) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1446.0f, 0.0f, -725.0f, 72, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1446.0f, 0.0f, -725.0f, 72, true, false, false)) {
 				Actor_Set_Goal_Number(kActorZuben, kGoalZubenMA01AttackMcCoy);
 				Scene_Exits_Disable();
 			}
-		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1446.0f, 0.0f, -725.0f, 12, true, false, 0)) {
+		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1446.0f, 0.0f, -725.0f, 12, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagMA01toMA06);
@@ -121,7 +121,7 @@ bool SceneScriptMA01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == kMA01ExitSpinner) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 381.0f, 0.0f, 54.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 381.0f, 0.0f, 54.0f, 0, true, false, false)) {
 			Player_Loses_Control();
 			Actor_Face_Heading(kActorMcCoy, 736, false);
 			Game_Flag_Reset(kFlagMcCoyInChinaTown);
diff --git a/engines/bladerunner/script/scene/ma02.cpp b/engines/bladerunner/script/scene/ma02.cpp
index 4bf4733..f10fd59 100644
--- a/engines/bladerunner/script/scene/ma02.cpp
+++ b/engines/bladerunner/script/scene/ma02.cpp
@@ -95,7 +95,7 @@ bool SceneScriptMA02::ClickedOn3DObject(const char *objectName, bool a2) {
 	}
 
 	if (Object_Query_Click("BAR-MAIN", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -29.0f, -140.4f, 298.0f, 36, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -29.0f, -140.4f, 298.0f, 36, true, false, false)) {
 			Actor_Face_Object(kActorMcCoy, "BAR-MAIN", true);
 			if (Global_Variable_Query(kVariableChapter) < 4) {
 				Actor_Set_Goal_Number(kActorMaggie, kGoalMaggieMA02GetFed);
@@ -139,7 +139,7 @@ bool SceneScriptMA02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptMA02::ClickedOnExit(int exitId) {
 	if (exitId == kMA02ExitMA06) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.19f, -144.12f, 378.27f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.19f, -144.12f, 378.27f, 0, true, false, false)) {
 			Music_Stop(10);
 			Game_Flag_Set(kFlagMA02toMA06);
 			Set_Enter(kSetMA06, kSceneMA06);
@@ -148,7 +148,7 @@ bool SceneScriptMA02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == kMA02ExitMA04) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -168.0f, -144.13f, 10.27f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -168.0f, -144.13f, 10.27f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagMA02ToMA04);
 			Set_Enter(kSetMA04, kSceneMA04);
 		}
@@ -173,7 +173,7 @@ void SceneScriptMA02::PlayerWalkedIn() {
 	}
 
 	if (Game_Flag_Query(kFlagMA04ToMA02)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -148.12f, -144.13f, 34.27f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -148.12f, -144.13f, 34.27f, 0, true, false, false);
 	}
 
 	if ( Global_Variable_Query(kVariableChapter) == 4
@@ -182,7 +182,7 @@ void SceneScriptMA02::PlayerWalkedIn() {
 		Game_Flag_Set(kFlagUG07Empty);
 		Game_Flag_Set(kFlagMA02RajifTalk);
 		talkWithRajif();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.19f, -144.12f, 378.27f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.19f, -144.12f, 378.27f, 0, false, false, false);
 		Game_Flag_Set(kFlagMA02toMA06);
 		Set_Enter(kSetMA06, kSceneMA06);
 		//	return true;
diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp
index 7448f72..fc84ad9 100644
--- a/engines/bladerunner/script/scene/ma04.cpp
+++ b/engines/bladerunner/script/scene/ma04.cpp
@@ -125,7 +125,7 @@ bool SceneScriptMA04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptMA04::ClickedOnExit(int exitId) {
 	if (exitId == kMA04ExitMA02) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7099.0f, 954.0f, 1866.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7099.0f, 954.0f, 1866.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagMA04ToMA02);
 			Set_Enter(kSetMA02_MA04, kSceneMA02);
 		}
@@ -134,14 +134,14 @@ bool SceneScriptMA04::ClickedOnExit(int exitId) {
 	if (exitId == kMA04ExitMA05) {
 		float x, y, z;
 		Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
-		if (z <= 1677.0f || !Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1675.0f, 0, true, false, 0)) {
+		if (z <= 1677.0f || !Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1675.0f, 0, true, false, false)) {
 			if (isPhoneMessageWaiting() || isPhoneRinging()) {
 				Overlay_Remove("MA04OVER");
 			}
 #if BLADERUNNER_ORIGINAL_BUGS
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1675.0f, 0, false, false, 1);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1675.0f, 0, false, false, true);
 #else
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1627.0f, 0, false, false, 1);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1627.0f, 0, false, false, true);
 #endif // BLADERUNNER_ORIGINAL_BUGS
 			Game_Flag_Set(kFlagMA04toMA05);
 			if (Global_Variable_Query(kVariableChapter) != 2 && Global_Variable_Query(kVariableChapter) != 3) {
@@ -152,11 +152,11 @@ bool SceneScriptMA04::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == kMA04ExitKitchen) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7115.0f, 954.0f, 1742.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7115.0f, 954.0f, 1742.0f, 0, true, false, false)) {
 			int sounds[] = {kSfxBARSFX1, kSfxTOILET1, kSfxDRAIN1X, kSfxWASH1, kSfxGARGLE1};
 			Ambient_Sounds_Play_Sound(sounds[Random_Query(0, 4)], 50, 0, 0, 0);
 			Delay(3000);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7139.0f, 954.0f, 1746.0f, 0, true, false, 1);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7139.0f, 954.0f, 1746.0f, 0, true, false, true);
 		}
 	}
 	return false;
@@ -171,7 +171,7 @@ bool SceneScriptMA04::ClickedOn2DRegion(int region) {
 		return true;
 	}
 	if (region == kMA04RegionPhone) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7176.0f, 954.0f, 1806.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7176.0f, 954.0f, 1806.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 256, false);
 			if (isPhoneRinging()) {
 				Actor_Says(kActorMcCoy, 2680, 0);
@@ -260,9 +260,9 @@ void SceneScriptMA04::PlayerWalkedIn() {
 		Overlay_Play("MA04OVER", 0, 1, 0, 0);
 	}
 	if (Game_Flag_Query(kFlagMA04McCoySleeping)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7139.0f, 954.0f, 1746.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7139.0f, 954.0f, 1746.0f, 0, true, false, false);
 	} else if (Game_Flag_Query(kFlagMA02ToMA04)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7143.0f, 954.0f, 1868.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7143.0f, 954.0f, 1868.0f, 0, true, false, false);
 	}
 	Game_Flag_Reset(kFlagMA02ToMA04);
 	Game_Flag_Reset(kFlagMA05toMA04);
@@ -270,7 +270,7 @@ void SceneScriptMA04::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagChapter1Ended)) {
 		if (Global_Variable_Query(kVariableChapter) == 2 && !Actor_Clue_Query(kActorMcCoy, kCluePhoneCallGuzza)) {
 			Sound_Play(kSfxVIDFONE1, 100, 0, 0, 50);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7176.0f, 954.0f, 1806.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7176.0f, 954.0f, 1806.0f, 0, false, false, false);
 			Actor_Face_Heading(kActorMcCoy, 256, true);
 			Actor_Says(kActorMcCoy, 2680, 0);
 			Sound_Play(kSfxSPNBEEP9, 100, 0, 0, 50);
@@ -305,11 +305,11 @@ void SceneScriptMA04::PlayerWalkedIn() {
 	if ((Game_Flag_Query(kFlagZubenRetired) || Game_Flag_Query(kFlagZubenSpared)) && !Game_Flag_Query(kFlagChapter1Ending)) {
 		Music_Play(kMusicBRBlues, 52, 0, 2, -1, 0, 0);
 		Player_Loses_Control();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1677.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1677.0f, 0, true, false, false);
 		if (isPhoneMessageWaiting() || isPhoneRinging()) {
 			Overlay_Remove("MA04OVER");
 		}
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1675.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 955.0f, 1675.0f, 0, true, false, false);
 		Game_Flag_Set(kFlagChapter1Ending);
 		Async_Actor_Walk_To_XYZ(kActorMcCoy, -7204.0f, 956.17f, 1568.0f, 0, false);
 		Set_Enter(kSetMA05, kSceneMA05);
diff --git a/engines/bladerunner/script/scene/ma05.cpp b/engines/bladerunner/script/scene/ma05.cpp
index 9eca4ba..aa7bb65 100644
--- a/engines/bladerunner/script/scene/ma05.cpp
+++ b/engines/bladerunner/script/scene/ma05.cpp
@@ -90,8 +90,8 @@ bool SceneScriptMA05::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptMA05::ClickedOnExit(int exitId) {
 	if (exitId == kMA05ExitMA04) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 956.17f, 1579.0f, 0, 0, false, 0)) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 956.17f, 1579.0f, 0, 0, false, 0);
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 956.17f, 1579.0f, 0, false, false, false)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 956.17f, 1579.0f, 0, false, false, false);
 			Game_Flag_Set(kFlagMA05toMA04);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -137,7 +137,7 @@ void SceneScriptMA05::PlayerWalkedIn() {
 #if BLADERUNNER_ORIGINAL_BUGS
 #else
 	if (Global_Variable_Query(kVariableChapter) == 2 || Global_Variable_Query(kVariableChapter) == 3) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 953.97f, 1564.0f, 0, false, false, 1);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7199.0f, 953.97f, 1564.0f, 0, false, false, true);
 	}
 #endif // BLADERUNNER_ORIGINAL_BUGS
 	//return false;
diff --git a/engines/bladerunner/script/scene/ma06.cpp b/engines/bladerunner/script/scene/ma06.cpp
index 903a1a9..380c6ad 100644
--- a/engines/bladerunner/script/scene/ma06.cpp
+++ b/engines/bladerunner/script/scene/ma06.cpp
@@ -94,7 +94,7 @@ void SceneScriptMA06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptMA06::PlayerWalkedIn() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 40.0f, 1.35f, 0.0f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 40.0f, 1.35f, 0.0f, 0, false, false, false);
 	Actor_Face_Object(kActorMcCoy, "panel", true);
 	Delay(500);
 
diff --git a/engines/bladerunner/script/scene/ma07.cpp b/engines/bladerunner/script/scene/ma07.cpp
index 87a2063..9b67446 100644
--- a/engines/bladerunner/script/scene/ma07.cpp
+++ b/engines/bladerunner/script/scene/ma07.cpp
@@ -79,7 +79,7 @@ bool SceneScriptMA07::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptMA07::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 104.0f, -162.0f, 56.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 104.0f, -162.0f, 56.0f, 12, true, false, false)) {
 			if (Global_Variable_Query(kVariableChapter) == 4
 			 && Game_Flag_Query(kFlagUG18GuzzaScene)
 			) {
@@ -95,7 +95,7 @@ bool SceneScriptMA07::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, -162.8f, 185.08f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, -162.8f, 185.08f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagMA07toPS14);
@@ -107,7 +107,7 @@ bool SceneScriptMA07::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 8.0f, -172.43f, 356.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 8.0f, -172.43f, 356.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagMA07toUG19);
@@ -135,7 +135,7 @@ void SceneScriptMA07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptMA07::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagPS14toMA07)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -268.0f, -162.8f, 188.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -268.0f, -162.8f, 188.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagPS14toMA07);
 	}
 
diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp
index 3429870..e696edf 100644
--- a/engines/bladerunner/script/scene/nr01.cpp
+++ b/engines/bladerunner/script/scene/nr01.cpp
@@ -131,7 +131,7 @@ bool SceneScriptNR01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR01::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -380.0f, 31.93f, -841.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -380.0f, 31.93f, -841.0f, 0, true, false, false)) {
 			if (Global_Variable_Query(kVariableChapter) > 3) {
 				Actor_Says(kActorMcCoy, 8522, 12);
 			} else {
@@ -145,9 +145,9 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 45, false);
-			Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle);
+			Loop_Actor_Travel_Stairs(kActorMcCoy, 3, false, kAnimationModeIdle);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagNR01toUG06);
@@ -157,7 +157,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 312.0f, 31.66f, -901.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 312.0f, 31.66f, -901.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagNR01toNR02);
@@ -167,7 +167,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 3) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 108.0f, 23.88f, -93.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 108.0f, 23.88f, -93.0f, 0, true, false, false)) {
 			Game_Flag_Reset(kFlagMcCoyInChinaTown);
 			Game_Flag_Reset(kFlagMcCoyInRunciters);
 			Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
@@ -343,7 +343,7 @@ void SceneScriptNR01::PlayerWalkedIn() {
 	}
 
 	if (Game_Flag_Query(kFlagNR03toNR01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -380.0f, 31.73f, -841.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -380.0f, 31.73f, -841.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagNR03toNR01);
 	} else if (Game_Flag_Query(kFlagUG06toNR01)) {
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 3, true, kAnimationModeIdle);
@@ -413,7 +413,7 @@ void SceneScriptNR01::PlayerWalkedIn() {
 			}
 		}
 	} else if (Game_Flag_Query(kFlagNR02toNR01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 239.0f, 31.66f, -901.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 239.0f, 31.66f, -901.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagNR02toNR01);
 		if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoNR01WaitAndAttack) {
 			Scene_Exits_Disable();
@@ -431,7 +431,7 @@ void SceneScriptNR01::PlayerWalkedIn() {
 		if (!Game_Flag_Query(kFlagNR01VisitedFirstTimeWithSpinner) && Game_Flag_Query(kFlagArrivedFromSpinner1)) {
 			Game_Flag_Set(kFlagNR01VisitedFirstTimeWithSpinner);
 		}
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 48.0f, 23.88f, -189.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 48.0f, 23.88f, -189.0f, 0, false, false, false);
 	}
 
 	if (Game_Flag_Query(kFlagCrazylegsArrestedTalk)) {
diff --git a/engines/bladerunner/script/scene/nr02.cpp b/engines/bladerunner/script/scene/nr02.cpp
index c9ef71e..241307c 100644
--- a/engines/bladerunner/script/scene/nr02.cpp
+++ b/engines/bladerunner/script/scene/nr02.cpp
@@ -77,7 +77,7 @@ bool SceneScriptNR02::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("VID PHONE 01", objectName)
 	 || Object_Query_Click("VID PHONE 02", objectName)
 	) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -191.9f, -24.0f, 62.15f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -191.9f, -24.0f, 62.15f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 13, false);
 			if ( Actor_Clue_Query(kActorMcCoy, kClueFolder)
 			 &&  Actor_Clue_Query(kActorMcCoy, kClueGuzzaFramedMcCoy)
@@ -107,7 +107,7 @@ bool SceneScriptNR02::ClickedOnActor(int actorId) {
 	if (actorId == kActorGordo
 	 && Actor_Query_Goal_Number(kActorGordo) == kGoalGordoNR02WaitAtBar
 	) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.37f, -24.0f, 389.32f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.37f, -24.0f, 389.32f, 0, true, false, false)) {
 			Actor_Set_Goal_Number(kActorGordo, kGoalGordoNR02TalkToMcCoy);
 		}
 	}
@@ -118,7 +118,7 @@ bool SceneScriptNR02::ClickedOnItem(int itemId, bool a2) {
 	if (itemId == kItemGordosLighterReplicant
 	 || itemId == kItemGordosLighterHuman
 	) {
-		if(!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 109.38f, -24.0f, 420.5f, 0, true, false, 0)) {
+		if(!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 109.38f, -24.0f, 420.5f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 423, false);
 			if (itemId == kItemGordosLighterReplicant) {
 				Item_Remove_From_World(kItemGordosLighterReplicant);
@@ -138,7 +138,7 @@ bool SceneScriptNR02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR02::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -283.0f, -24.0f, 326.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -283.0f, -24.0f, 326.0f, 0, true, false, false)) {
 			if (Actor_Query_Goal_Number(kActorGordo) < kGoalGordoNR01WaitAndAttack
 			 || Actor_Query_Goal_Number(kActorGordo) > kGoalGordoNR01WaitAndTakeHostage
 			) {
@@ -186,7 +186,7 @@ void SceneScriptNR02::PlayerWalkedIn() {
 		Actor_Set_Goal_Number(kActorGordo, kGoalGordoNR02NextAct);
 	}
 
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -203.0f, -24.0f, 334.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -203.0f, -24.0f, 334.0f, 0, false, false, false);
 	//return false;
 }
 
diff --git a/engines/bladerunner/script/scene/nr03.cpp b/engines/bladerunner/script/scene/nr03.cpp
index 22ef83d..b83d2ca 100644
--- a/engines/bladerunner/script/scene/nr03.cpp
+++ b/engines/bladerunner/script/scene/nr03.cpp
@@ -142,7 +142,7 @@ bool SceneScriptNR03::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR03::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 410.0f, -70.19f, -715.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 410.0f, -70.19f, -715.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagNR03toNR01);
@@ -152,7 +152,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -161.0f, -70.19f, -1139.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -161.0f, -70.19f, -1139.0f, 0, true, false, false)) {
 			if (Actor_Query_Which_Set_In(kActorHanoi) == kSetNR03) {
 				AI_Movement_Track_Pause(kActorHanoi);
 				Actor_Face_Actor(kActorHanoi, kActorMcCoy, true);
@@ -181,7 +181,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -151.0f, -70.19f, -476.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -151.0f, -70.19f, -476.0f, 12, true, false, false)) {
 			if (Actor_Query_Which_Set_In(kActorHanoi) == kSetNR03
 			 && Actor_Query_Goal_Number(kActorHanoi) != kGoalHanoiNR03GoToDancer
 			) {
@@ -211,7 +211,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {
 			} else {
 				Player_Loses_Control();
 				Player_Set_Combat_Mode(false);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -229.0f, -70.19f, -469.0f, 0, false, false, 1);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -229.0f, -70.19f, -469.0f, 0, false, false, true);
 				Actor_Face_Heading(kActorMcCoy, 656, false);
 				Actor_Change_Animation_Mode(kActorMcCoy, 53);
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
@@ -228,7 +228,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {
 
 bool SceneScriptNR03::ClickedOn2DRegion(int region) {
 	if (region == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 79.2f, -70.19f, -984.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 79.2f, -70.19f, -984.0f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorHysteriaPatron1, true);
 			int rnd = Random_Query(0, 4);
 			if (rnd == 0) {
@@ -288,7 +288,7 @@ void SceneScriptNR03::PlayerWalkedIn() {
 		Actor_Voice_Over(1510, kActorVoiceOver);
 		Actor_Voice_Over(1520, kActorVoiceOver);
 	} else if (Game_Flag_Query(kFlagNR01toNR03) ) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 302.0f, -70.19f, -715.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 302.0f, -70.19f, -715.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagNR01toNR03);
 	}
 
diff --git a/engines/bladerunner/script/scene/nr04.cpp b/engines/bladerunner/script/scene/nr04.cpp
index 6bd5b09..85a677f 100644
--- a/engines/bladerunner/script/scene/nr04.cpp
+++ b/engines/bladerunner/script/scene/nr04.cpp
@@ -114,7 +114,7 @@ bool SceneScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {
 	}
 
 	if ( Object_Query_Click("TORUS01", objectName)
-	 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.56f, 0.0f, 38.86f, 0, true, false, 0)
+	 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.56f, 0.0f, 38.86f, 0, true, false, false)
 	 && !Game_Flag_Query(kFlagNR04DiscFound)
 	) {
 		Unclickable_Object("TORUS01");
@@ -153,7 +153,7 @@ bool SceneScriptNR04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR04::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 45.0f, 0.0f, -106.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 45.0f, 0.0f, -106.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagNR04toNR03);
@@ -302,7 +302,7 @@ void SceneScriptNR04::PlayerWalkedIn() {
 	Game_Flag_Reset(kFlagNR03toNR04);
 #endif // BLADERUNNER_ORIGINAL_BUGS
 
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 53.0f, 0.0f, -26.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 53.0f, 0.0f, -26.0f, 0, false, false, false);
 	if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
 		Overlay_Play("nr04over", 0, true, false, 0);
 		Delay(4000);
diff --git a/engines/bladerunner/script/scene/nr05.cpp b/engines/bladerunner/script/scene/nr05.cpp
index fdb5007..b0ac1b2 100644
--- a/engines/bladerunner/script/scene/nr05.cpp
+++ b/engines/bladerunner/script/scene/nr05.cpp
@@ -124,7 +124,7 @@ bool SceneScriptNR05::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR05::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -444.0f, 0.0f, -451.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -444.0f, 0.0f, -451.0f, 0, true, false, false)) {
 			Player_Loses_Control();
 			Music_Stop(2);
 			Player_Set_Combat_Mode(false);
@@ -138,7 +138,7 @@ bool SceneScriptNR05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -777.56f, 0.0f, -166.86f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -777.56f, 0.0f, -166.86f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagNR05toNR08);
 			Set_Enter(kSetNR05_NR08, kSceneNR08);
 		}
@@ -194,7 +194,7 @@ void SceneScriptNR05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 void SceneScriptNR05::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagNR08toNR05)) {
 		Music_Stop(2);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -697.56f, 0.0f, -174.86f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -697.56f, 0.0f, -174.86f, 0, true, false, false);
 		Game_Flag_Reset(kFlagNR08toNR05);
 	}
 	//	return false;
diff --git a/engines/bladerunner/script/scene/nr06.cpp b/engines/bladerunner/script/scene/nr06.cpp
index a3d9a9b..32920ce 100644
--- a/engines/bladerunner/script/scene/nr06.cpp
+++ b/engines/bladerunner/script/scene/nr06.cpp
@@ -83,7 +83,7 @@ bool SceneScriptNR06::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR06::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 48.0f, -71.88f, -26.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 48.0f, -71.88f, -26.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Game_Flag_Set(kFlagNR06toNR07);
 			Set_Enter(kSetNR07, kSceneNR07);
@@ -92,10 +92,10 @@ bool SceneScriptNR06::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, -71.88f, -243.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, -71.88f, -243.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 95, false);
-			Loop_Actor_Travel_Stairs(kActorMcCoy, 8, 1, kAnimationModeIdle);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -36.0f, 0.37f, -373.0f, 0, false, false, 0);
+			Loop_Actor_Travel_Stairs(kActorMcCoy, 8, true, kAnimationModeIdle);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -36.0f, 0.37f, -373.0f, 0, false, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagNR06toNR08);
@@ -122,10 +122,10 @@ void SceneScriptNR06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptNR06::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagNR07toNR06)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -3.0f, -71.88f, -26.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -3.0f, -71.88f, -26.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagNR07toNR06);
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -81.72f, 0.12f, -323.49f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -81.72f, 0.12f, -323.49f, 0, false, false, false);
 		Actor_Face_Heading(kActorMcCoy, 600, false);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 8, false, kAnimationModeIdle);
 		Game_Flag_Reset(kFlagNR08toNR06);
diff --git a/engines/bladerunner/script/scene/nr07.cpp b/engines/bladerunner/script/scene/nr07.cpp
index e0984b4..0481cf0 100644
--- a/engines/bladerunner/script/scene/nr07.cpp
+++ b/engines/bladerunner/script/scene/nr07.cpp
@@ -130,7 +130,7 @@ bool SceneScriptNR07::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR07::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -102.0f, -73.5f, -233.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -102.0f, -73.5f, -233.0f, 0, true, false, false)) {
 			Actor_Set_Goal_Number(kActorHanoi, kGoalHanoiResetTimer);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -153,7 +153,7 @@ void SceneScriptNR07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptNR07::PlayerWalkedIn() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -110.0f, -73.5f, -169.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -110.0f, -73.5f, -169.0f, 0, false, false, false);
 
 	if (Actor_Query_In_Set(kActorDektora, kSetNR07)) {
 		if (!Game_Flag_Query(kFlagNR07Entered)) {
@@ -171,7 +171,7 @@ void SceneScriptNR07::PlayerWalkedIn() {
 			Actor_Says(kActorMcCoy, 3585, 14);
 			Actor_Says(kActorDektora, 510, 30);
 			Actor_Start_Speech_Sample(kActorMcCoy, 3590);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -112.0f, -73.0f, -89.0f, 525, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -112.0f, -73.0f, -89.0f, 525, false, false, false);
 			Actor_Says(kActorDektora, 520, kAnimationModeSit);
 		} else {
 			Actor_Modify_Friendliness_To_Other(kActorDektora, kActorMcCoy, -2);
@@ -195,7 +195,7 @@ void SceneScriptNR07::dektoraRunAway() {
 	Actor_Set_At_XYZ(kActorDektora, -136.0f, -73.0f, -18.0f, 300);
 	Actor_Change_Animation_Mode(kActorDektora, 71);
 	Actor_Change_Animation_Mode(kActorMcCoy, 21);
-	Loop_Actor_Walk_To_XYZ(kActorDektora, -102.0f, -73.5f, -233.0f, 0, false, true, 0);
+	Loop_Actor_Walk_To_XYZ(kActorDektora, -102.0f, -73.5f, -233.0f, 0, false, true, false);
 
 	if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
 		Actor_Set_Goal_Number(kActorDektora, kGoalDektoraNR08ReadyToRun);
@@ -233,7 +233,7 @@ void SceneScriptNR07::callHolloway() {
 }
 
 void SceneScriptNR07::clickedOnVase() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, false);
 	Actor_Face_Object(kActorMcCoy, "VASE", true);
 	if (Actor_Query_Is_In_Current_Set(kActorDektora)) {
 		if (!Actor_Clue_Query(kActorMcCoy, kClueDektoraInterview3)) {
@@ -284,7 +284,7 @@ void SceneScriptNR07::talkAboutBelt1() {
 	Actor_Says_With_Pause(kActorDektora, 590, 1.0f, 30);
 	Actor_Says(kActorDektora, 600, 30);
 	Actor_Start_Speech_Sample(kActorMcCoy, 3640);  // Tell you the truth, I'm from the LPD. (...)
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, false);
 	Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 	Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
 
@@ -337,7 +337,7 @@ void SceneScriptNR07::talkAboutBelt2() {
 void SceneScriptNR07::talkAboutVoightKampff() {
 	Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview1, true, -1);
 	Actor_Start_Speech_Sample(kActorMcCoy, 3660);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, false);
 	Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 	Actor_Says(kActorDektora, 650, 30);
 	Actor_Says(kActorDektora, 660, 31);
@@ -366,7 +366,7 @@ void SceneScriptNR07::talkAboutVoightKampff() {
 void SceneScriptNR07::talkAboutSteele() {
 	Actor_Says(kActorMcCoy, 3690, 14);
 	Actor_Start_Speech_Sample(kActorDektora, 750);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, false);
 	Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 	Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
 	Actor_Says(kActorMcCoy, 3695, 15);
@@ -392,7 +392,7 @@ void SceneScriptNR07::talkAboutMoonbus() {
 	} else {
 		Actor_Modify_Friendliness_To_Other(kActorDektora, kActorMcCoy, -3);
 		Actor_Start_Speech_Sample(kActorMcCoy, 3710);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, false, false, false);
 		Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 		dektoraRunAway();
 	}
diff --git a/engines/bladerunner/script/scene/nr08.cpp b/engines/bladerunner/script/scene/nr08.cpp
index e64ffde..bac1e4d 100644
--- a/engines/bladerunner/script/scene/nr08.cpp
+++ b/engines/bladerunner/script/scene/nr08.cpp
@@ -104,7 +104,7 @@ bool SceneScriptNR08::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR08::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1102.88f, 0.0f, 107.43f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1102.88f, 0.0f, 107.43f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagNR08toNR05);
 			Set_Enter(kSetNR05_NR08, kSceneNR05);
 		}
@@ -112,9 +112,9 @@ bool SceneScriptNR08::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -724.7f, 0.0f, 384.24f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -724.7f, 0.0f, 384.24f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 505, false);
-			Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle);
+			Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, kAnimationModeIdle);
 			Game_Flag_Set(kFlagNR08toNR06);
 			Set_Enter(kSetNR06, kSceneNR06);
 		}
@@ -122,10 +122,10 @@ bool SceneScriptNR08::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1663.33f, 0.65f, 342.84f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1663.33f, 0.65f, 342.84f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 831, false);
 			Footstep_Sound_Override_On(2);
-			Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, kAnimationModeIdle);
+			Loop_Actor_Travel_Stairs(kActorMcCoy, 6, true, kAnimationModeIdle);
 			Footstep_Sound_Override_Off();
 			Game_Flag_Set(kFlagNR08toNR09);
 			Set_Enter(kSetNR09, kSceneNR09);
@@ -227,7 +227,7 @@ void SceneScriptNR08::PlayerWalkedIn() {
 	}
 
 	if (Game_Flag_Query(kFlagNR05toNR08)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1090.88f, 0.0f, 147.43f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1090.88f, 0.0f, 147.43f, 0, true, false, false);
 		Game_Flag_Reset(kFlagNR05toNR08);
 	}
 	//return false;
diff --git a/engines/bladerunner/script/scene/nr09.cpp b/engines/bladerunner/script/scene/nr09.cpp
index 3895122..46d1709 100644
--- a/engines/bladerunner/script/scene/nr09.cpp
+++ b/engines/bladerunner/script/scene/nr09.cpp
@@ -75,7 +75,7 @@ bool SceneScriptNR09::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR09::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -564.07f, 0.35f, 399.04f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -564.07f, 0.35f, 399.04f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagNR09toNR10);
 			Set_Enter(kSetNR10, kSceneNR10);
 			return true;
@@ -85,7 +85,7 @@ bool SceneScriptNR09::ClickedOnExit(int exitId) {
 	if (exitId == 1) {
 		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 		Ambient_Sounds_Remove_All_Looping_Sounds(1);
-		int v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -704.07f, 0.35f, 663.04f, 0, true, false, 0);
+		int v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -704.07f, 0.35f, 663.04f, 0, true, false, false);
 		if (!v1) {
 			Game_Flag_Set(kFlagNR09toNR08);
 			Set_Enter(kSetNR05_NR08, kSceneNR08);
@@ -110,7 +110,7 @@ void SceneScriptNR09::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptNR09::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagNR08toNR09)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -704.07f, 0.35f, 623.04f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -704.07f, 0.35f, 623.04f, 0, false, false, false);
 		Game_Flag_Reset(kFlagNR08toNR09);
 	}
 	//return false;
diff --git a/engines/bladerunner/script/scene/nr10.cpp b/engines/bladerunner/script/scene/nr10.cpp
index 31ca397..93eeb31 100644
--- a/engines/bladerunner/script/scene/nr10.cpp
+++ b/engines/bladerunner/script/scene/nr10.cpp
@@ -95,7 +95,7 @@ bool SceneScriptNR10::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR10::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -152.78f, 2.84f, -238.43f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -152.78f, 2.84f, -238.43f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagNR10toNR09);
 			Set_Enter(kSetNR09, kSceneNR09);
 			return true;
@@ -103,7 +103,7 @@ bool SceneScriptNR10::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 11.5f, 2.84f, -304.46f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 11.5f, 2.84f, -304.46f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 55, false);
 			Loop_Actor_Travel_Ladder(kActorMcCoy, 8, true, kAnimationModeIdle);
 			Game_Flag_Set(kFlagNR10toNR11);
diff --git a/engines/bladerunner/script/scene/nr11.cpp b/engines/bladerunner/script/scene/nr11.cpp
index ff785ff..ab7d899 100644
--- a/engines/bladerunner/script/scene/nr11.cpp
+++ b/engines/bladerunner/script/scene/nr11.cpp
@@ -150,13 +150,13 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
 			Scene_Loop_Set_Default(kNR11LoopMainLoopFires);
 			Scene_Loop_Start_Special(kSceneLoopModeOnce, kNR11LoopGunshots, true);
 		} else if (Actor_Query_Goal_Number(kActorDektora) == kGoalDektoraNR11Hiding) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 24.0f, 0.33f, 0.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 24.0f, 0.33f, 0.0f, 0, true, false, false)) {
 				Actor_Face_XYZ(kActorMcCoy, -180.0f, 0.0f, -170.0f, true);
 				untargetEverything();
 				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleNR11StopWaiting);
 				if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) < 30) {
 					Actor_Set_At_XYZ(kActorDektora, 0.5f, 0.33f, -162.0f, 0);
-					Loop_Actor_Walk_To_XYZ(kActorDektora, -24.0f, 0.33f, -35.4f, 0, false, true, 0);
+					Loop_Actor_Walk_To_XYZ(kActorDektora, -24.0f, 0.33f, -35.4f, 0, false, true, false);
 					Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 					Actor_Change_Animation_Mode(kActorDektora, 71);
 					Delay(500);
@@ -171,7 +171,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode)
 					) {
 						Music_Play(kMusicLoveSong, 35, 0, 3, -1, 0, 0);
 					}
-					Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, false, false, 0);
+					Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, false, false, false);
 					Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
 					Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
 					Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview4, true, kActorDektora);
@@ -236,7 +236,7 @@ bool SceneScriptNR11::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptNR11::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 1.75f, -8.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 1.75f, -8.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagNR11toNR10);
 			Set_Enter(kSetNR10, kSceneNR10);
 			return true;
diff --git a/engines/bladerunner/script/scene/ps01.cpp b/engines/bladerunner/script/scene/ps01.cpp
index 3a68356..bffcd0e 100644
--- a/engines/bladerunner/script/scene/ps01.cpp
+++ b/engines/bladerunner/script/scene/ps01.cpp
@@ -87,7 +87,7 @@ bool SceneScriptPS01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptPS01::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1920.0f, 16581.0f, -2653.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1920.0f, 16581.0f, -2653.0f, 12, true, false, false)) {
 			Game_Flag_Set(kflagPS01toPS02);
 			Set_Enter(kSetPS02, kScenePS02);
 		}
@@ -95,7 +95,7 @@ bool SceneScriptPS01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1877.9f, 16592.0f, -2975.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1877.9f, 16592.0f, -2975.0f, 0, true, false, false)) {
 #if BLADERUNNER_ORIGINAL_BUGS
 			Actor_Set_At_XYZ(kActorMcCoy, 1872.0f, 16592.0f, -2975.0f, 870);
 #else
diff --git a/engines/bladerunner/script/scene/ps02.cpp b/engines/bladerunner/script/scene/ps02.cpp
index a97c1a2..a3bbe7b 100644
--- a/engines/bladerunner/script/scene/ps02.cpp
+++ b/engines/bladerunner/script/scene/ps02.cpp
@@ -30,7 +30,7 @@ void SceneScriptPS02::InitializeScene() {
 
 	Scene_Exit_Add_2D_Exit(0, 0, 0, 240, 479, 3);
 
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxESPLOOP1, 20, 1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxELEAMB3,  20, 1, 1);
 	Ambient_Sounds_Add_Sound(kSfxCROSLOCK, 3, 20, 12, 16, 0, 0, -101, -101, 0, 0);
@@ -55,35 +55,35 @@ bool SceneScriptPS02::ClickedOn3DObject(const char *objectName, bool a2) {
 	 || Object_Query_Click("E.D00R02", objectName)
 	) {
 		if (Game_Flag_Query(kFlagPS02toPS01)) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, false)) {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
 				Set_Enter(kSetPS01, kScenePS01);
 				Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
 			}
 		} else if (Game_Flag_Query(kFlagPS02toPS05)) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, false)) {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
 				Set_Enter(kSetPS05, kScenePS05);
 				Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
 			}
 		} else if (Game_Flag_Query(kFlagPS02toPS07)) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, false)) {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
 				Set_Enter(kSetPS07, kScenePS07);
 				Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
 			}
 		} else if (Game_Flag_Query(kFlagPS02toPS03)) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, false)) {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
 				Set_Enter(kSetPS03, kScenePS03);
 				Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
 			}
 		} else if (Game_Flag_Query(kFlagPS02toPS09)) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -5.0f, -40.0f, -15.0f, 0, true, false, false)) {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 				Ambient_Sounds_Remove_All_Looping_Sounds(1);
 				Set_Enter(kSetPS09, kScenePS09);
diff --git a/engines/bladerunner/script/scene/ps03.cpp b/engines/bladerunner/script/scene/ps03.cpp
index 158b621..d476902 100644
--- a/engines/bladerunner/script/scene/ps03.cpp
+++ b/engines/bladerunner/script/scene/ps03.cpp
@@ -41,7 +41,7 @@ void SceneScriptPS03::InitializeScene() {
 	if (Global_Variable_Query(kVariableChapter) > 1) {
 		Scene_Exit_Add_2D_Exit(2, 358, 245, 411, 288, 0);
 	}
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxPSAMB6, 35, 0, 1);
 	Ambient_Sounds_Add_Sound(kSfxPSDOOR1, 5, 50,  7,  7, -100, 100, -101, -101, 0, 0);
 	Ambient_Sounds_Add_Sound(kSfxPSDOOR2, 5, 50,  7,  7, -100, 100, -101, -101, 0, 0);
@@ -76,7 +76,7 @@ bool SceneScriptPS03::ClickedOnItem(int itemId, bool a2) {
 bool SceneScriptPS03::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
 #if BLADERUNNER_ORIGINAL_BUGS
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -674.0f, -354.0f, 550.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -674.0f, -354.0f, 550.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagPS03toPS04);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -84,7 +84,7 @@ bool SceneScriptPS03::ClickedOnExit(int exitId) {
 		}
 #else
 		// Make McCoy move more forward till he reaches the exit to avoid blinking out at transition to PS03
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -674.0f, -354.0f, 690.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -674.0f, -354.0f, 690.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagPS03toPS04);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -94,7 +94,7 @@ bool SceneScriptPS03::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -569.54f, -354.62f, -1076.15f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -569.54f, -354.62f, -1076.15f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Set_Enter(kSetPS02, kScenePS02);
@@ -107,7 +107,7 @@ bool SceneScriptPS03::ClickedOnExit(int exitId) {
 	}
 	if (exitId == 2) {
 #if BLADERUNNER_ORIGINAL_BUGS
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -875.0f, -354.0f, -1241.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -875.0f, -354.0f, -1241.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagPS03toPS14);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -115,7 +115,7 @@ bool SceneScriptPS03::ClickedOnExit(int exitId) {
 		}
 #else
 		// exit Police Station earlier (lower z) to avoid some glitch of blending McCoy with background
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -875.0f, -354.0f, -1231.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -875.0f, -354.0f, -1231.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagPS03toPS14);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp
index 120fde2..108d8a7 100644
--- a/engines/bladerunner/script/scene/ps04.cpp
+++ b/engines/bladerunner/script/scene/ps04.cpp
@@ -41,7 +41,7 @@ void SceneScriptPS04::InitializeScene() {
 		Actor_Change_Animation_Mode(kActorGuzza, 53);
 	}
 	Scene_Exit_Add_2D_Exit(0, 347, 113, 469, 302, 0);
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxPSAMB6, 16, 1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxRTONE3, 50, 1, 1);
 	Ambient_Sounds_Add_Sound(kSfxSCANNER1, 9, 40, 20, 20, 0, 0, -101, -101, 0, 0);
@@ -116,7 +116,7 @@ bool SceneScriptPS04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptPS04::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagPS04toPS03);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -243,7 +243,7 @@ void SceneScriptPS04::dialogueWithGuzza() {
 			Actor_Says(kActorMcCoy, 3925, 18);
 			Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
 			Actor_Says(kActorGuzza, 170, 33);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, false, false, false);
 			Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 			Actor_Says(kActorMcCoy, 3930, 13);
 			Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
diff --git a/engines/bladerunner/script/scene/ps05.cpp b/engines/bladerunner/script/scene/ps05.cpp
index a9d8dda..6adff84 100644
--- a/engines/bladerunner/script/scene/ps05.cpp
+++ b/engines/bladerunner/script/scene/ps05.cpp
@@ -36,7 +36,7 @@ void SceneScriptPS05::InitializeScene() {
 	Scene_Exit_Add_2D_Exit(1, 330, 90, 436, 198, 0);
 	Scene_Exit_Add_2D_Exit(2, 476, 96, 524, 240, 1);
 	Scene_2D_Region_Add(0, 519, 107, 537, 122);
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxRUMLOOP1, 50, 1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxLABAMB3,  80, 0, 1);
 	Ambient_Sounds_Add_Sound(kSfxPHONE1, 5, 50,  8,  8, -100, 100, -101, -101, 0, 0);
@@ -68,7 +68,7 @@ bool SceneScriptPS05::ClickedOn3DObject(const char *objectName, bool a2) {
 		Actor_Face_Object(kActorMcCoy, "WATER FOUNTAIN", true);
 		Actor_Says(kActorMcCoy, 3490, 18);
 	}
-	if (Object_Query_Click("ASHTRAY", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 662.0f, 0.37f, -180.0f, 0, 1, false, 0)) {
+	if (Object_Query_Click("ASHTRAY", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 662.0f, 0.37f, -180.0f, 0, true, false, false)) {
 		Actor_Face_Object(kActorMcCoy, "ASHTRAY", true);
 		Actor_Voice_Over(1770, kActorVoiceOver);
 		Actor_Voice_Over(1780, kActorVoiceOver);
@@ -96,7 +96,7 @@ bool SceneScriptPS05::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptPS05::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 2, 24, 1, false)) {
+		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 2, 24, true, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Set_Enter(kSetPS15, kScenePS15);
@@ -104,7 +104,7 @@ bool SceneScriptPS05::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 635.0f, 0.0f, -598.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 635.0f, 0.0f, -598.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Set_Enter(kSetPS02, kScenePS02);
@@ -112,7 +112,7 @@ bool SceneScriptPS05::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 742.52f, 0.37f, -457.69f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 742.52f, 0.37f, -457.69f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagPS05toPS06);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -124,7 +124,7 @@ bool SceneScriptPS05::ClickedOnExit(int exitId) {
 }
 
 bool SceneScriptPS05::ClickedOn2DRegion(int region) {
-	if (region == 0 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 694.78f, 0.37f, -321.05f, 0, 1, false, 0)) {
+	if (region == 0 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 694.78f, 0.37f, -321.05f, 0, true, false, false)) {
 		Actor_Face_Heading(kActorMcCoy, 130, false);
 		View_Score_Board();
 	}
diff --git a/engines/bladerunner/script/scene/ps07.cpp b/engines/bladerunner/script/scene/ps07.cpp
index 1446881..4ff00c2 100644
--- a/engines/bladerunner/script/scene/ps07.cpp
+++ b/engines/bladerunner/script/scene/ps07.cpp
@@ -169,7 +169,7 @@ bool SceneScriptPS07::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptPS07::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 609.07f, 0.22f, -598.67f, 0, 0, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 609.07f, 0.22f, -598.67f, 0, false, false, false)) {
 			Set_Enter(kSetPS02, kScenePS02);
 		}
 		return true;
@@ -188,7 +188,7 @@ void SceneScriptPS07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptPS07::PlayerWalkedIn() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 561.07f, 0.34f, -606.67f, 6, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 561.07f, 0.34f, -606.67f, 6, false, false, false);
 	Game_Flag_Reset(kFlagPS02toPS07);
 	//return false;
 }
diff --git a/engines/bladerunner/script/scene/ps09.cpp b/engines/bladerunner/script/scene/ps09.cpp
index 1da9201..b6a3b26 100644
--- a/engines/bladerunner/script/scene/ps09.cpp
+++ b/engines/bladerunner/script/scene/ps09.cpp
@@ -33,7 +33,7 @@ void SceneScriptPS09::InitializeScene() {
 
 	Scene_Exit_Add_2D_Exit(0, 0, 0, 30, 479, 3);
 
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxBRBED5X,  50, 0, 0);
 	Ambient_Sounds_Add_Looping_Sound(kSfxPRISAMB1, 30, 0, 0);
 	Ambient_Sounds_Add_Looping_Sound(kSfxPRISAMB3, 30, 0, 0);
@@ -76,7 +76,7 @@ bool SceneScriptPS09::ClickedOn3DObject(const char *objectName, bool a2) {
 
 bool SceneScriptPS09::ClickedOnActor(int actorId) {
 	if (actorId == kActorGrigorian) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -381.11f, 0.0f, -135.55f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -381.11f, 0.0f, -135.55f, 0, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorGrigorian, true);
 			Actor_Face_Actor(kActorGrigorian, kActorMcCoy, true);
 
@@ -142,7 +142,7 @@ bool SceneScriptPS09::ClickedOnActor(int actorId) {
 	}
 
 	if (actorId == kActorIzo) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -473.0f, 0.2f, -133.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -473.0f, 0.2f, -133.0f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorIzo, true);
 			Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
 
@@ -177,7 +177,7 @@ bool SceneScriptPS09::ClickedOnActor(int actorId) {
 	}
 
 	if (actorId == kActorCrazylegs) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -295.0f, 0.34f, -193.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -295.0f, 0.34f, -193.0f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, true);
 			Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true);
 
@@ -229,7 +229,7 @@ bool SceneScriptPS09::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptPS09::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -559.15f, 0.0f, -85.06f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -559.15f, 0.0f, -85.06f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Set_Enter(kSetPS02, kScenePS02);
@@ -272,7 +272,7 @@ void SceneScriptPS09::PlayerWalkedIn() {
 	}
 	if (!Game_Flag_Query(kFlagPS09Entered)) {
 		Player_Loses_Control();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -491.15f, 0.0f, -73.06f, 0, 0, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -491.15f, 0.0f, -73.06f, 0, false, false, false);
 		Player_Gains_Control();
 		Game_Flag_Set(kFlagPS09Entered);
 	}
diff --git a/engines/bladerunner/script/scene/ps10.cpp b/engines/bladerunner/script/scene/ps10.cpp
index 18e9b13..b2b4ba8 100644
--- a/engines/bladerunner/script/scene/ps10.cpp
+++ b/engines/bladerunner/script/scene/ps10.cpp
@@ -400,7 +400,7 @@ void SceneScriptPS10::InitializeScene() {
 
 	Scene_Exit_Add_2D_Exit(1, 0, 0, 20, 479, 3);
 
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxESPLOOP2, 50, 1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1,  50, 1, 1);
 	Ambient_Sounds_Add_Sound(kSfxSTEAM1,  10,  50, 16, 25, -100, 100, -101, -101, 0, 0);
@@ -578,7 +578,7 @@ void SceneScriptPS10::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptPS10::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagPS11toPS10)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -352.09f, -9.23f, 267.95f, 0, false, true, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -352.09f, -9.23f, 267.95f, 0, false, true, false);
 		Police_Maze_Set_Pause_State(false);
 		Game_Flag_Reset(kFlagPS11toPS10);
 		//return true;
diff --git a/engines/bladerunner/script/scene/ps11.cpp b/engines/bladerunner/script/scene/ps11.cpp
index 8a68bc4..3d581e6 100644
--- a/engines/bladerunner/script/scene/ps11.cpp
+++ b/engines/bladerunner/script/scene/ps11.cpp
@@ -722,7 +722,7 @@ void SceneScriptPS11::SceneLoaded() {
 	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_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxESPLOOP2, 50, 1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1,  50, 1, 1);
 	Ambient_Sounds_Add_Sound(kSfxSTEAM1, 10,  50, 16, 25, -100, 100, -101, -101, 0, 0);
diff --git a/engines/bladerunner/script/scene/ps12.cpp b/engines/bladerunner/script/scene/ps12.cpp
index cd45c16..c5fd721 100644
--- a/engines/bladerunner/script/scene/ps12.cpp
+++ b/engines/bladerunner/script/scene/ps12.cpp
@@ -775,7 +775,7 @@ void SceneScriptPS12::SceneLoaded() {
 	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_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxESPLOOP2, 50, 1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1,  50, 1, 1);
 	Ambient_Sounds_Add_Sound(kSfxSTEAM1,  10,  50, 16, 25, -100, 100, -101, -101, 0, 0);
@@ -908,7 +908,7 @@ void SceneScriptPS12::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptPS12::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagPS11toPS12)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -546.0f, -9.06f, 570.0f, 0, true, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -546.0f, -9.06f, 570.0f, 0, true, false, false);
 		Game_Flag_Reset(kFlagPS11toPS12);
 	}
 	Police_Maze_Set_Pause_State(false);
diff --git a/engines/bladerunner/script/scene/ps13.cpp b/engines/bladerunner/script/scene/ps13.cpp
index 95dc38d..55c507e 100644
--- a/engines/bladerunner/script/scene/ps13.cpp
+++ b/engines/bladerunner/script/scene/ps13.cpp
@@ -45,7 +45,7 @@ void SceneScriptPS13::InitializeScene() {
 	Scene_Exit_Add_2D_Exit(0, 0, 460, 639, 479, 2);
 	Scene_Exit_Add_2D_Exit(1, 0,   0,  20, 479, 3);
 
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxESPLOOP2, 50, 1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1,  50, 1, 1);
 	Ambient_Sounds_Add_Sound(kSfxSTEAM1,  10,  50, 16, 25, -100, 100, -101, -101, 0, 0);
diff --git a/engines/bladerunner/script/scene/ps14.cpp b/engines/bladerunner/script/scene/ps14.cpp
index 28238f3..20b89cf 100644
--- a/engines/bladerunner/script/scene/ps14.cpp
+++ b/engines/bladerunner/script/scene/ps14.cpp
@@ -69,7 +69,7 @@ bool SceneScriptPS14::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptPS14::ClickedOnExit(int exitId) {
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -2101.0f, 508.14f, -1361.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -2101.0f, 508.14f, -1361.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 819, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 3, true, kAnimationModeIdle);
 
@@ -95,7 +95,7 @@ bool SceneScriptPS14::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -785.45f, 508.14f, -1652.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -785.45f, 508.14f, -1652.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagPS14toMA07);
 			Game_Flag_Reset(kFlagMcCoyInPoliceStation);
 			Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
@@ -118,7 +118,7 @@ void SceneScriptPS14::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptPS14::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagMA07toPS14)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -801.45f, 508.14f, -1596.68f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -801.45f, 508.14f, -1596.68f, 0, false, false, false);
 		Game_Flag_Reset(kFlagMA07toPS14);
 	}
 	//return false;
diff --git a/engines/bladerunner/script/scene/ps15.cpp b/engines/bladerunner/script/scene/ps15.cpp
index 0e1aa83..180bc0f 100644
--- a/engines/bladerunner/script/scene/ps15.cpp
+++ b/engines/bladerunner/script/scene/ps15.cpp
@@ -62,7 +62,7 @@ bool SceneScriptPS15::ClickedOnActor(int actorId) {
 		 )
 		 && !Actor_Clue_Query(kActorMcCoy, kClueShippingForm)
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -256.0f, -113.43f, 43.51f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -256.0f, -113.43f, 43.51f, 0, true, false, false)) {
 				Actor_Face_Actor(kActorMcCoy, kActorSergeantWalls, true);
 				Actor_Face_Actor(kActorSergeantWalls, kActorMcCoy, true);
 				Actor_Says(kActorMcCoy, 4470, 17);
@@ -115,7 +115,7 @@ bool SceneScriptPS15::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptPS15::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -360.0f, -113.43f, 50.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -360.0f, -113.43f, 50.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagPS15toPS05);
@@ -125,7 +125,7 @@ bool SceneScriptPS15::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -183.58f, -113.43f, 91.7f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -183.58f, -113.43f, 91.7f, 0, true, false, false)) {
 			Actor_Says(kActorMcCoy, 4440, 18);
 			Actor_Says(kActorSergeantWalls, 150, 17);
 #if BLADERUNNER_ORIGINAL_BUGS
@@ -154,7 +154,7 @@ void SceneScriptPS15::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptPS15::PlayerWalkedIn() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -326.93f, -113.43f, 101.42f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -326.93f, -113.43f, 101.42f, 0, false, false, false);
 	if (!Game_Flag_Query(kFlagPS15Entered)) {
 		Actor_Face_Actor(kActorMcCoy, kActorSergeantWalls, true);
 		Actor_Face_Actor(kActorSergeantWalls, kActorMcCoy, true);
diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp
index 9bce0be..e35c231 100644
--- a/engines/bladerunner/script/scene/rc01.cpp
+++ b/engines/bladerunner/script/scene/rc01.cpp
@@ -406,7 +406,7 @@ bool SceneScriptRC01::ClickedOnItem(int itemId, bool a2) {
 			I_Sez("JM: It's hard to imagine that thing on either a car or a horse.");
 			I_Sez("MG: McCoy! What a witty chap...");
 			I_Sez("JM: He keeps me chuckling non-stop!\n");
-			Loop_Actor_Walk_To_Actor(kActorOfficerLeary, kActorMcCoy, 36, 0, false);
+			Loop_Actor_Walk_To_Actor(kActorOfficerLeary, kActorMcCoy, 36, false, false);
 		}
 #if BLADERUNNER_ORIGINAL_BUGS
 #else
@@ -423,14 +423,14 @@ void SceneScriptRC01::walkToCenter() {
 	Player_Loses_Control();
 	Game_Flag_Set(kFlagMcCoyInRunciters);
 	Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -151.98f, -0.3f, 318.15f, 0, 0, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -151.98f, -0.3f, 318.15f, 0, false, false, false);
 	Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
 	Player_Gains_Control();
 }
 
 bool SceneScriptRC01::ClickedOnExit(int exitId) {
 	if (exitId == kRC01ExitRC02) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -174.77f, 5.55f, 25.95f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -174.77f, 5.55f, 25.95f, 12, true, false, false)) {
 			if (Game_Flag_Query(kFlagRC02RunciterTalkWithGun)) {
 				Actor_Says(kActorMcCoy, 8522, 14);
 			} else {
@@ -458,10 +458,10 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
 			Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true);
 		}
 		I_Sez("MG: Leaving already?  The fun is just beginning!");
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -151.98f, -0.3f, 318.15f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -151.98f, -0.3f, 318.15f, 0, true, false, false)) {
 			Player_Loses_Control();
 			Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.98f, -0.3f, 318.15f, 0, 0, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.98f, -0.3f, 318.15f, 0, false, false, false);
 			if ( Game_Flag_Query(kFlagDNARowAvailable)
 			 && !Game_Flag_Query(kFlagDNARowAvailableTalk)
 			) {
@@ -594,7 +594,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == kRC01ExitRC03) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -471.98f, -0.3f, 258.15f, 4, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -471.98f, -0.3f, 258.15f, 4, true, false, false)) {
 			Game_Flag_Set(kFlagRC01toRC03);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -670,20 +670,23 @@ void SceneScriptRC01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptRC01::PlayerWalkedIn() {
-	if (Game_Flag_Query(kFlagSpinnerAtRC01) && !Game_Flag_Query(kFlagRC02toRC01) && !Game_Flag_Query(kFlagRC03toRC01)) {
+	if (Game_Flag_Query(kFlagSpinnerAtRC01)
+	    && !Game_Flag_Query(kFlagRC02toRC01)
+	    && !Game_Flag_Query(kFlagRC03toRC01)
+	) {
 		walkToCenter();
 	}
 
 	if (Game_Flag_Query(kFlagRC03toRC01)) {
 		Player_Loses_Control();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -415.98f, -0.30f, 262.15f, 0, 0, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -415.98f, -0.30f, 262.15f, 0, false, false, false);
 		Player_Gains_Control();
 		Game_Flag_Reset(kFlagRC03toRC01);
 	}
 
 	if (Game_Flag_Query(kFlagRC02toRC01)) {
 		Player_Loses_Control();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -203.45f, 5.55f, 85.05f, 0, 0, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -203.45f, 5.55f, 85.05f, 0, false, false, false);
 		Player_Gains_Control();
 		Game_Flag_Reset(kFlagRC02toRC01);
 
diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp
index f82b5c4..15d8cfe 100644
--- a/engines/bladerunner/script/scene/rc02.cpp
+++ b/engines/bladerunner/script/scene/rc02.cpp
@@ -39,7 +39,7 @@ void SceneScriptRC02::InitializeScene() {
 	if (Game_Flag_Query(kFlagRC51Available)) {
 		Scene_Exit_Add_2D_Exit(kRC02ExitRC51, 265, 58, 346, 154, 0);
 	}
-	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
+	Ambient_Sounds_Remove_All_Non_Looping_Sounds(false);
 	Ambient_Sounds_Add_Looping_Sound(kSfxBRBED5,   50,   1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxWINDLOP8, 75,   1, 1);
 	Ambient_Sounds_Add_Looping_Sound(kSfxCTRUNOFF, 30, 100, 1);
@@ -110,13 +110,13 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
 			Actor_Says(kActorRunciter, 10, 16);
 			Actor_Says(kActorMcCoy, 4550, 13);
 			Actor_Says(kActorRunciter, 20, 13);
-			Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, 0, false);
+			Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, false, false);
 			Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
-			Loop_Actor_Walk_To_Waypoint(kActorRunciter, 102, 0, 0, false);
+			Loop_Actor_Walk_To_Waypoint(kActorRunciter, 102, 0, false, false);
 			Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
 			Actor_Face_Heading(kActorRunciter, 539, false);
 			Delay(2000);
-			Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, 0, false);
+			Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, false, false);
 			Loop_Actor_Walk_To_Actor(kActorRunciter, kActorMcCoy, 24, 0, false);
 			Item_Pickup_Spin_Effect(kModelAnimationVideoDisc, 357, 228);
 			Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
@@ -355,7 +355,7 @@ bool SceneScriptRC02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptRC02::ClickedOnExit(int exitId) {
 	if (exitId == kRC02ExitRC01) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -71.51f, -1238.89f, 108587.15f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -71.51f, -1238.89f, 108587.15f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagRC02toRC01);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_Looping_Sound(kSfxBRBED5,   true);
@@ -368,7 +368,7 @@ bool SceneScriptRC02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == kRC02ExitRC51) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -20.2f, -1238.73f, 108152.73f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -20.2f, -1238.73f, 108152.73f, 0, true, false, false)) {
 			Async_Actor_Walk_To_XYZ(kActorMcCoy, -8.87f, -1238.89f, 108076.27f, 0, false);
 			Set_Enter(kSetRC02_RC51, kSceneRC51);
 		}
@@ -391,7 +391,7 @@ void SceneScriptRC02::PlayerWalkedIn() {
 	Player_Set_Combat_Mode(false);
 	if (Game_Flag_Query(kFlagRC01toRC02)) {
 		Player_Loses_Control();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -72.2f, -1238.89f, 108496.73f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -72.2f, -1238.89f, 108496.73f, 0, false, false, false);
 		Player_Gains_Control();
 		Game_Flag_Reset(kFlagRC01toRC02);
 		if (!Game_Flag_Query(kFlagRC02Entered)) {
@@ -424,7 +424,7 @@ void SceneScriptRC02::PlayerWalkedIn() {
 		}
 	} else {
 		Player_Loses_Control();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -20.2f, -1238.89f, 108152.73f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -20.2f, -1238.89f, 108152.73f, 0, false, false, false);
 		Player_Gains_Control();
 	}
 }
diff --git a/engines/bladerunner/script/scene/rc03.cpp b/engines/bladerunner/script/scene/rc03.cpp
index 9f00c5f..8f70222 100644
--- a/engines/bladerunner/script/scene/rc03.cpp
+++ b/engines/bladerunner/script/scene/rc03.cpp
@@ -149,7 +149,7 @@ bool SceneScriptRC03::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptRC03::ClickedOnExit(int exitId) {
 	if (exitId == 0) { // To Runciter's shop
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 298.0f, -4.0f, 405.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 298.0f, -4.0f, 405.0f, 0, true, false, false)) {
 			if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
 				Game_Flag_Set(kFlagBulletBobDead);
 			}
@@ -168,7 +168,7 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == 1) { // to Animoid Row (Scorpion/Insect Lady)
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -469.0f, -4.0f, 279.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -469.0f, -4.0f, 279.0f, 0, true, false, false)) {
 			if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
 				Game_Flag_Set(kFlagBulletBobDead);
 			}
@@ -180,7 +180,7 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == 2) { // to sewers
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 147.51f, -4.0f, 166.48f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 147.51f, -4.0f, 166.48f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagRC03toUG01);
 			Game_Flag_Reset(kFlagMcCoyInRunciters);
 			Game_Flag_Set(kFlagMcCoyInUnderground);
@@ -201,7 +201,7 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == 3) { // to Hawker's Circle (Mama Izabella's Kingston Kitchen)
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -487.0f, 1.0f, 116.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -487.0f, 1.0f, 116.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagRC03toHC04);
 			Game_Flag_Reset(kFlagMcCoyInRunciters);
 			Game_Flag_Set(kFlagMcCoyInHawkersCircle);
@@ -222,7 +222,7 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == 4) { // To Bullet Bob's
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 1.0f, -63.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 1.0f, -63.0f, 0, true, false, false)) {
 			if (Global_Variable_Query(kVariableChapter) == 3
 			 || Global_Variable_Query(kVariableChapter) == 5
 			 || Game_Flag_Query(kFlagBulletBobDead)
@@ -291,7 +291,7 @@ void SceneScriptRC03::PlayerWalkedIn() {
 				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);
 			}
 			Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDodge);
-			Loop_Actor_Walk_To_XYZ(kActorIzo, 180.0f, -4.0f, 184.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorIzo, 180.0f, -4.0f, 184.0f, 0, false, false, false);
 			Actor_Change_Animation_Mode(kActorIzo, 6);
 			if (!Game_Flag_Query(kFlagIzoIsReplicant)) {
 				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);
@@ -317,7 +317,7 @@ void SceneScriptRC03::PlayerWalkedIn() {
 			Actor_Set_At_Waypoint(kActorSteele, 203, 0);
 		}
 		talkWithSteele();
-		Async_Actor_Walk_To_Waypoint(kActorSteele, 174, 0, 0);
+		Async_Actor_Walk_To_Waypoint(kActorSteele, 174, 0, false);
 		Actor_Set_Goal_Number(kActorIzo, 200);
 		Player_Gains_Control();
 	}
diff --git a/engines/bladerunner/script/scene/rc04.cpp b/engines/bladerunner/script/scene/rc04.cpp
index 22379f1..6619e3c 100644
--- a/engines/bladerunner/script/scene/rc04.cpp
+++ b/engines/bladerunner/script/scene/rc04.cpp
@@ -438,7 +438,7 @@ bool SceneScriptRC04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptRC04::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 45.0f, 0.15f, 68.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 45.0f, 0.15f, 68.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagRC04toRC03);
 			Set_Enter(kSetRC03, kSceneRC03);
 		}
diff --git a/engines/bladerunner/script/scene/rc51.cpp b/engines/bladerunner/script/scene/rc51.cpp
index ed5642d..cc54684 100644
--- a/engines/bladerunner/script/scene/rc51.cpp
+++ b/engines/bladerunner/script/scene/rc51.cpp
@@ -77,7 +77,7 @@ bool SceneScriptRC51::ClickedOnActor(int actorId) {
 
 bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
 	if (itemId == kItemChopstickWrapper) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 17.97f, -1238.89f, 108053.5f, 0, false, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 17.97f, -1238.89f, 108053.5f, 0, false, false, false)) {
 			Actor_Face_Item(kActorMcCoy, kItemChopstickWrapper, true);
 			Actor_Clue_Acquire(kActorMcCoy, kClueChopstickWrapper, true, -1);
 			Item_Remove_From_World(kItemChopstickWrapper);
@@ -118,7 +118,7 @@ bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptRC51::ClickedOnExit(int exitId) {
 	if (exitId == kRC51ExitRC02) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -8.87f, -1238.89f, 108173.27f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -8.87f, -1238.89f, 108173.27f, 0, true, false, false)) {
 			Set_Enter(kSetRC02_RC51, kSceneRC02);
 			return true;
 		}
diff --git a/engines/bladerunner/script/scene/tb02.cpp b/engines/bladerunner/script/scene/tb02.cpp
index 56cf556..cf3914b 100644
--- a/engines/bladerunner/script/scene/tb02.cpp
+++ b/engines/bladerunner/script/scene/tb02.cpp
@@ -103,7 +103,7 @@ bool SceneScriptTB02::ClickedOn3DObject(const char *objectName, bool a2) {
 
 bool SceneScriptTB02::ClickedOnActor(int actorId) {
 	if (actorId == kActorTyrellGuard) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.35f, 0.15f, 1564.2f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.35f, 0.15f, 1564.2f, 0, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorTyrellGuard, true);
 			int chapter = Global_Variable_Query(kVariableChapter);
 			if (chapter == 2) {
@@ -167,7 +167,7 @@ bool SceneScriptTB02::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptTB02::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -152.0f, 0.0f, 1774.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -152.0f, 0.0f, 1774.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagTB02toTB03);
@@ -179,7 +179,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, 0.0f, 1578.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, 0.0f, 1578.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			if (Global_Variable_Query(kVariableChapter) < 4) {
@@ -194,7 +194,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -192.0f, 0.0f, 1430.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -192.0f, 0.0f, 1430.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 800, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 9, false, kAnimationModeIdle);
 			if (Actor_Query_Goal_Number(kActorTyrellGuard) == kGoalTyrellGuardSleeping) {
@@ -307,7 +307,7 @@ void SceneScriptTB02::PlayerWalkedIn() {
 		Music_Play(kMusicBatl226M, 50, 0, 2, -1, 0, 0);
 	} else {
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 9, true, kAnimationModeIdle);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.79f, 1470.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.79f, 1470.0f, 0, false, false, false);
 	}
 	int chapter = Global_Variable_Query(kVariableChapter);
 	if (chapter > 4) {
@@ -326,8 +326,8 @@ void SceneScriptTB02::PlayerWalkedIn() {
 			Actor_Says(kActorMcCoy, 5140, 17);
 			Actor_Says(kActorTyrellGuard, 30, 14);
 			Actor_Says(kActorTyrellGuard, 40, 13);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.0f, 1586.0f, 12, false, false, 0);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -112.0f, 0.0f, 1586.0f, 12, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.0f, 1586.0f, 12, false, false, false);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -112.0f, 0.0f, 1586.0f, 12, false, false, false);
 			Actor_Face_Actor(kActorMcCoy, kActorTyrellGuard, true);
 			Actor_Face_Actor(kActorTyrellGuard, kActorMcCoy, true);
 			Actor_Says(kActorMcCoy, 5145, 13);
@@ -337,7 +337,7 @@ void SceneScriptTB02::PlayerWalkedIn() {
 			Game_Flag_Set(kFlagTB02GuardTalk1);
 			Game_Flag_Set(kFlagTB02ElevatorToTB05);
 			Player_Gains_Control();
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -138.17f, 0.15f, 1578.32f, 0, true, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -138.17f, 0.15f, 1578.32f, 0, true, false, false);
 		}
 
 		if (Game_Flag_Query(kFlagTB02ElevatorToTB05)) {
@@ -370,7 +370,7 @@ void SceneScriptTB02::PlayerWalkedIn() {
 	if ( chapter == 3
 	 && !Game_Flag_Query(kFlagTB02GuardTalk2)
 	) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -131.28f, 0.79f, 1448.25f, 12, 1, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -131.28f, 0.79f, 1448.25f, 12, true, false, false);
 		Actor_Says(kActorTyrellGuard, 260, 15);
 		Actor_Says(kActorMcCoy, 5225, 16);
 		Actor_Says(kActorTyrellGuard, 270, 14);
diff --git a/engines/bladerunner/script/scene/tb03.cpp b/engines/bladerunner/script/scene/tb03.cpp
index 07f0d66..dfb4061 100644
--- a/engines/bladerunner/script/scene/tb03.cpp
+++ b/engines/bladerunner/script/scene/tb03.cpp
@@ -107,7 +107,7 @@ bool SceneScriptTB03::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptTB03::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -260.0f, 0.15f, 2014.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -260.0f, 0.15f, 2014.0f, 0, true, false, false)) {
 			Actor_Set_Goal_Number(kActorTyrellGuard, kGoalTyrellGuardWait);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -118,7 +118,7 @@ bool SceneScriptTB03::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -152.0f, 0.0f, 1774.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -152.0f, 0.0f, 1774.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagTB03toTB02);
diff --git a/engines/bladerunner/script/scene/tb05.cpp b/engines/bladerunner/script/scene/tb05.cpp
index f2eb62a..23130f3 100644
--- a/engines/bladerunner/script/scene/tb05.cpp
+++ b/engines/bladerunner/script/scene/tb05.cpp
@@ -70,7 +70,7 @@ bool SceneScriptTB05::MouseClick(int x, int y) {
 
 bool SceneScriptTB05::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("MONITOR05", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 122.54f, 147.12f, -197.17f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 122.54f, 147.12f, -197.17f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 38, false);
 
 			if (!Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus)
@@ -142,7 +142,7 @@ bool SceneScriptTB05::ClickedOnActor(int actorId) {
 
 bool SceneScriptTB05::ClickedOnItem(int itemId, bool a2) {
 	if (itemId == kItemDragonflyEarring) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 147.12f, -209.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 147.12f, -209.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 126, false);
 			Item_Remove_From_World(kItemDragonflyEarring);
 			Item_Pickup_Spin_Effect(kModelAnimationDragonflyEarring, 295, 408);
@@ -155,7 +155,7 @@ bool SceneScriptTB05::ClickedOnItem(int itemId, bool a2) {
 	}
 
 	if (itemId == kItemTyrellSalesPamphlet) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.89f, 147.12f, -156.26f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.89f, 147.12f, -156.26f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 126, false);
 			Item_Remove_From_World(kItemTyrellSalesPamphlet);
 			Item_Pickup_Spin_Effect(kModelAnimationTyrellSalesPamphlet, 449, 431);
@@ -174,7 +174,7 @@ bool SceneScriptTB05::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptTB05::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 151.53f, -205.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 151.53f, -205.0f, 12, true, false, false)) {
 			Game_Flag_Set(kFlagTB05toTB06);
 			Set_Enter(kSetTB06, kSceneTB06);
 			Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, true);
@@ -182,7 +182,7 @@ bool SceneScriptTB05::ClickedOnExit(int exitId) {
 		return true;
 	}
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.0f, 147.12f, 123.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.0f, 147.12f, 123.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagTB05toTB02);
 			Set_Enter(kSetTB02_TB03, kSceneTB02);
 		}
diff --git a/engines/bladerunner/script/scene/tb06.cpp b/engines/bladerunner/script/scene/tb06.cpp
index dec6d45..4720989 100644
--- a/engines/bladerunner/script/scene/tb06.cpp
+++ b/engines/bladerunner/script/scene/tb06.cpp
@@ -143,7 +143,7 @@ bool SceneScriptTB06::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptTB06::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -16.0f, 149.0f, -427.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -16.0f, 149.0f, -427.0f, 12, true, false, false)) {
 			Game_Flag_Set(kFlagTB06toTB05);
 			Set_Enter(kSetTB05, kSceneTB05);
 			Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, true);
@@ -176,7 +176,7 @@ void SceneScriptTB06::PlayerWalkedIn() {
 	) {
 		Actor_Face_Actor(kActorMcCoy, kActorMarcus, true);
 		Actor_Says(kActorMcCoy, 5290, kAnimationModeTalk);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 149.0f, -631.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 149.0f, -631.0f, 0, false, false, false);
 		AI_Movement_Track_Pause(kActorPhotographer);
 		Actor_Face_Actor(kActorMcCoy, kActorPhotographer, true);
 		Actor_Face_Actor(kActorPhotographer, kActorMcCoy, true);
diff --git a/engines/bladerunner/script/scene/tb07.cpp b/engines/bladerunner/script/scene/tb07.cpp
index 3e955f5..389ee9e 100644
--- a/engines/bladerunner/script/scene/tb07.cpp
+++ b/engines/bladerunner/script/scene/tb07.cpp
@@ -89,7 +89,7 @@ bool SceneScriptTB07::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptTB07::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 68.0f, 12.0f, 288.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 68.0f, 12.0f, 288.0f, 0, true, false, false)) {
 #if BLADERUNNER_ORIGINAL_BUGS
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
@@ -163,7 +163,7 @@ bool SceneScriptTB07::ClickedOnExit(int exitId) {
 					break;
 				default:
 					Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
-					Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, false, false, 0);
+					Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, false, false, false);
 					break;
 				}
 			}
@@ -189,7 +189,7 @@ void SceneScriptTB07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptTB07::PlayerWalkedIn() {
 	int chapter = Global_Variable_Query(kVariableChapter);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, false, false, false);
 	if ((chapter == 2
 	  || chapter == 3
 	 )
@@ -221,14 +221,14 @@ void SceneScriptTB07::DialogueQueueFlushed(int a1) {
 void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
 	Game_Flag_Set(kFlagTB07RachaelTalk);
 	Delay(1500);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.98f, 12.0f, 49.79f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.98f, 12.0f, 49.79f, 0, false, false, false);
 	Actor_Face_Heading(kActorMcCoy, 178, true);
 	Delay(3000);
 	Actor_Put_In_Set(kActorRachael, kSetTB07);
 	Actor_Set_At_XYZ(kActorRachael, -260.15f, 12.0f, -19.16f, 256);
 	Actor_Change_Animation_Mode(kActorRachael, 0);
 	Outtake_Play(kOuttakeRachel, true, -1);
-	Loop_Actor_Walk_To_XYZ(kActorRachael, -146.15f, 12.0f, -5.84f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorRachael, -146.15f, 12.0f, -5.84f, 0, false, false, false);
 	Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
 	Actor_Says(kActorRachael, 480, 14);
 	Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
@@ -238,7 +238,7 @@ void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
 	Actor_Says(kActorMcCoy, 5320, 15);
 	Actor_Says_With_Pause(kActorMcCoy, 5325, 1.0f, 19);
 	Actor_Start_Speech_Sample(kActorRachael, 500);
-	Loop_Actor_Walk_To_XYZ(kActorRachael, -60.15f, 12.0f, 60.84f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorRachael, -60.15f, 12.0f, 60.84f, 0, false, false, false);
 	Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
 	Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
 	Actor_Says(kActorMcCoy, 5330, 14);
@@ -247,7 +247,7 @@ void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
 	Actor_Says(kActorRachael, 520, 17);
 	Actor_Says(kActorMcCoy, 5340, 3);
 	Actor_Start_Speech_Sample(kActorRachael, 530);
-	Loop_Actor_Walk_To_XYZ(kActorRachael, -4.15f, 12.0f, 54.73f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorRachael, -4.15f, 12.0f, 54.73f, 0, false, false, false);
 	Actor_Says(kActorRachael, 540, 16);
 	Actor_Says(kActorMcCoy, 5345, 18);
 	Actor_Says(kActorRachael, 550, 13);
@@ -260,7 +260,7 @@ void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
 	Actor_Says(kActorMcCoy, 5365, 13);
 	Actor_Says_With_Pause(kActorRachael, 600, 1.0f, 12);
 	Actor_Says(kActorMcCoy, 5370, 3);
-	Loop_Actor_Walk_To_XYZ(kActorRachael, -24.15f, 12.0f, -10.84f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorRachael, -24.15f, 12.0f, -10.84f, 0, false, false, false);
 	Actor_Says(kActorRachael, 610, 13);
 	Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
 	Actor_Says(kActorMcCoy, 5375, 18);
@@ -285,7 +285,7 @@ void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
 	Scene_Loop_Set_Default(kTB07LoopMainShadeDown);
 	Scene_Loop_Start_Special(kSceneLoopModeOnce, kTB07LoopShadeDrop, false);
 	Actor_Start_Speech_Sample(kActorTyrell, 0);
-	Loop_Actor_Walk_To_XYZ(kActorTyrell, 44.0f, 12.0f, 176.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorTyrell, 44.0f, 12.0f, 176.0f, 0, false, false, false);
 	Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
 	Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
 	Actor_Face_Actor(kActorRachael, kActorTyrell, true);
@@ -296,7 +296,7 @@ void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
 	Actor_Set_Goal_Number(kActorRachael, kGoalRachaelLeavesAfterTyrellMeeting);
 	Actor_Says(kActorTyrell, 40, 15);
 	Actor_Start_Speech_Sample(kActorTyrell, 50);
-	Loop_Actor_Walk_To_XYZ(kActorTyrell, -10.0f, 12.0f, 100.0f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorTyrell, -10.0f, 12.0f, 100.0f, 0, false, false, false);
 	Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
 	Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
 	Actor_Says(kActorMcCoy, 5430, 17);
@@ -313,7 +313,7 @@ void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
 	Actor_Says(kActorTyrell, 100, 14);
 	Actor_Clue_Acquire(kActorMcCoy, kClueRachaelInterview, false, kActorRachael);
 	Actor_Clue_Acquire(kActorMcCoy, kClueTyrellInterview, false, kActorTyrell);
-	Loop_Actor_Walk_To_XYZ(kActorTyrell, -260.15f, 12.0f, -19.16f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorTyrell, -260.15f, 12.0f, -19.16f, 0, false, false, false);
 }
 
 } // End of namespace BladeRunner
diff --git a/engines/bladerunner/script/scene/ug01.cpp b/engines/bladerunner/script/scene/ug01.cpp
index 131505f..e33e3f2 100644
--- a/engines/bladerunner/script/scene/ug01.cpp
+++ b/engines/bladerunner/script/scene/ug01.cpp
@@ -79,7 +79,7 @@ bool SceneScriptUG01::MouseClick(int x, int y) {
 
 bool SceneScriptUG01::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("PIPES_FG_LFT", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -9.0f, -50.13f, -148.0f, 0, true, false, 0)
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -9.0f, -50.13f, -148.0f, 0, true, false, false)
 		 && !Game_Flag_Query(kFlagUG01SteamOff)
 		) {
 			Actor_Says(kActorMcCoy, 8525, 13);
@@ -103,7 +103,7 @@ bool SceneScriptUG01::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG01::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, -50.13f, -1350.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, -50.13f, -1350.0f, 12, true, false, false)) {
 			Game_Flag_Set(kFlagUG01toUG10);
 			Set_Enter(kSetUG10, kSceneUG10);
 		}
@@ -111,9 +111,9 @@ bool SceneScriptUG01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -70.0f, -50.13f, -500.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -70.0f, -50.13f, -500.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 768, false);
-			Loop_Actor_Travel_Ladder(kActorMcCoy, 12, true, 0);
+			Loop_Actor_Travel_Ladder(kActorMcCoy, 12, true, kAnimationModeIdle);
 			Game_Flag_Set(kFlagUG01toRC03);
 			Game_Flag_Reset(kFlagMcCoyInUnderground);
 			Game_Flag_Set(kFlagMcCoyInRunciters);
@@ -123,7 +123,7 @@ bool SceneScriptUG01::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -126.0f, -50.13f, -286.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -126.0f, -50.13f, -286.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagUG01toUG02);
 			Set_Enter(kSetUG02, kSceneUG02);
 		}
@@ -159,14 +159,14 @@ void SceneScriptUG01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG01::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG02toUG01)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -55.0f, -50.13f, -288.0f, 12, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -55.0f, -50.13f, -288.0f, 12, false, false, false);
 		Game_Flag_Reset(kFlagUG02toUG01);
 	}
 
 	if (Game_Flag_Query(kFlagRC03toUG01)) {
 		Actor_Set_At_XYZ(kActorMcCoy, -70.0f, 93.87f, -500.0f, 768);
-		Loop_Actor_Travel_Ladder(kActorMcCoy, 12, 0, 0);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -58.0f, -50.13f, -488.0f, 0, false, false, 0);
+		Loop_Actor_Travel_Ladder(kActorMcCoy, 12, false, kAnimationModeIdle);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -58.0f, -50.13f, -488.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagRC03toUG01);
 	}
 
diff --git a/engines/bladerunner/script/scene/ug02.cpp b/engines/bladerunner/script/scene/ug02.cpp
index 55e1afb..70bb261 100644
--- a/engines/bladerunner/script/scene/ug02.cpp
+++ b/engines/bladerunner/script/scene/ug02.cpp
@@ -175,13 +175,13 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
 		if ( Game_Flag_Query(kFlagUG02FromUG01)
 		 || !walkToCenter()
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -202.0f, 120.16f, -74.0f, 0, 1, Player_Query_Combat_Mode(), 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -202.0f, 120.16f, -74.0f, 0, true, Player_Query_Combat_Mode(), false)) {
 				Actor_Face_Heading(kActorMcCoy, 270, false);
 				Footstep_Sound_Override_On(2);
 				Loop_Actor_Travel_Stairs(kActorMcCoy, 4, false, kAnimationModeIdle);
 				Footstep_Sound_Override_Off();
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -96.57f, 74.87f, -271.28f, 0, false, Player_Query_Combat_Mode(), 0);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -95.0f, 74.87f, -503.0f, 0, false, Player_Query_Combat_Mode(), 0);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -96.57f, 74.87f, -271.28f, 0, false, Player_Query_Combat_Mode(), false);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -95.0f, 74.87f, -503.0f, 0, false, Player_Query_Combat_Mode(), false);
 				Game_Flag_Set(kFlagUG02toUG01);
 				Set_Enter(kSetUG01, kSceneUG01);
 			}
@@ -194,10 +194,10 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
 			if (walkToCenter()) {
 				return true;
 			}
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -368.75f, 155.75f,  -63.0f, 0, false, false, 0);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -340.75f, 155.75f, -119.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -368.75f, 155.75f,  -63.0f, 0, false, false, false);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -340.75f, 155.75f, -119.0f, 0, false, false, false);
 		}
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -304.75f, 155.75f, -171.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -304.75f, 155.75f, -171.0f, 0, false, false, false);
 		Actor_Face_Heading(kActorMcCoy, 14, false);
 		Loop_Actor_Travel_Ladder(kActorMcCoy, 9, true, kAnimationModeIdle);
 		Game_Flag_Set(kFlagUG02toHC03);
@@ -228,7 +228,7 @@ void SceneScriptUG02::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 void SceneScriptUG02::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG01toUG02)) {
 		Actor_Set_At_XYZ(kActorMcCoy, -106.01f, 84.13f, -228.62f, 575);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -148.0f, 84.13f, -67.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -148.0f, 84.13f, -67.0f, 0, false, false, false);
 		Actor_Face_Heading(kActorMcCoy, 761, false);
 		Footstep_Sound_Override_On(2);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, kAnimationModeIdle);
@@ -237,7 +237,7 @@ void SceneScriptUG02::PlayerWalkedIn() {
 		Game_Flag_Set(kFlagUG02FromUG01);
 	} else if (Game_Flag_Query(kFlagHC03toUG02)) {
 		Actor_Set_At_XYZ(kActorMcCoy, -304.75f, 265.0f, -171.0f, 0);
-		Loop_Actor_Travel_Ladder(kActorMcCoy, 9, false, 0);
+		Loop_Actor_Travel_Ladder(kActorMcCoy, 9, false, kAnimationModeIdle);
 		Game_Flag_Reset(kFlagHC03toUG02);
 		Game_Flag_Reset(kFlagUG02FromUG01);
 	} else {
@@ -259,9 +259,9 @@ void SceneScriptUG02::DialogueQueueFlushed(int a1) {
 bool SceneScriptUG02::walkToCenter() {
 	if (!Game_Flag_Query(kFlagUG02FromUG01)) {
 		int combatMode = Player_Query_Combat_Mode();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -340.75f, 155.75f, -119.0f, 0, 0, combatMode, 0);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -368.75f, 155.75f,  -63.0f, 0, 0, combatMode, 0);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy,  -365.0f, 155.65f,  -19.0f, 0, 0, combatMode, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -340.75f, 155.75f, -119.0f, 0, false, combatMode, false);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -368.75f, 155.75f,  -63.0f, 0, false, combatMode, false);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy,  -365.0f, 155.65f,  -19.0f, 0, false, combatMode, false);
 		Actor_Face_Heading(kActorMcCoy, 318, false);
 		Footstep_Sound_Override_On(2);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 4, false, kAnimationModeIdle);
@@ -270,7 +270,7 @@ bool SceneScriptUG02::walkToCenter() {
 		return false;
 	}
 
-	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.75f, 120.16f, 1.01f, 0, true, false, 0)) {
+	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.75f, 120.16f, 1.01f, 0, true, false, false)) {
 		Actor_Face_Heading(kActorMcCoy, 830, false);
 		Footstep_Sound_Override_On(2);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, kAnimationModeIdle);
diff --git a/engines/bladerunner/script/scene/ug03.cpp b/engines/bladerunner/script/scene/ug03.cpp
index 23da2be..daeab00 100644
--- a/engines/bladerunner/script/scene/ug03.cpp
+++ b/engines/bladerunner/script/scene/ug03.cpp
@@ -105,7 +105,7 @@ bool SceneScriptUG03::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG03::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -139.0f, 0.0f, -13.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -139.0f, 0.0f, -13.0f, 0, true, false, false)) {
 			if (Global_Variable_Query(kVariableChapter) < 4) {
 				Actor_Says(kActorMcCoy, 8522, 14);
 			} else {
@@ -119,7 +119,7 @@ bool SceneScriptUG03::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -51.0f, 0.0f, 255.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -51.0f, 0.0f, 255.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG03toUG04);
diff --git a/engines/bladerunner/script/scene/ug04.cpp b/engines/bladerunner/script/scene/ug04.cpp
index d80c67a..766f0b9 100644
--- a/engines/bladerunner/script/scene/ug04.cpp
+++ b/engines/bladerunner/script/scene/ug04.cpp
@@ -99,7 +99,7 @@ bool SceneScriptUG04::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG04::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -172.0f, 16.29f, -735.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -172.0f, 16.29f, -735.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagUG04toUG03);
 			Set_Enter(kSetUG03, kSceneUG03);
 		}
@@ -107,7 +107,7 @@ bool SceneScriptUG04::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.74f, -2400.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.74f, -2400.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagUG04toUG05);
 			Set_Enter(kSetUG05, kSceneUG05);
 		}
@@ -115,7 +115,7 @@ bool SceneScriptUG04::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 11.87f, -1013.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 11.87f, -1013.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagUG04toUG06);
 			Set_Enter(kSetUG06, kSceneUG06);
 		}
@@ -139,7 +139,7 @@ void SceneScriptUG04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG04::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG06toUG04)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 60.0f, -1.74f, -976.0f, 6, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 60.0f, -1.74f, -976.0f, 6, false, false, false);
 		Game_Flag_Reset(kFlagUG06toUG04);
 	}
 }
diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp
index 6d8031a..d582717 100644
--- a/engines/bladerunner/script/scene/ug05.cpp
+++ b/engines/bladerunner/script/scene/ug05.cpp
@@ -128,10 +128,10 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
 		if ( Game_Flag_Query(kFlagHF05PoliceArrived)
 		 && !Game_Flag_Query(kFlagHF07Hole)
 		) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -356.35f, 132.77f, -1092.36f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -356.35f, 132.77f, -1092.36f, 0, false, false, false);
 			Game_Flag_Set(kFlagUG06toHF07);
 			Set_Enter(kSetHF07, kSceneHF07);
-		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.72f, 3.03f, -1118.17f, 0, true, false, 0)) {
+		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.72f, 3.03f, -1118.17f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 760, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 3, true, kAnimationModeIdle);
 			Game_Flag_Set(kFlagUG06toHF07);
@@ -141,7 +141,7 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.0f, -11.67f, -4.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.0f, -11.67f, -4.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagUG05toUG04);
 			Set_Enter(kSetUG04, kSceneUG04);
 		}
@@ -150,7 +150,7 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
 
 	if (exitId == 2) {
 		if (!Game_Flag_Query(kFlagHF01TalkToLovedOne)) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, true, false, false)) {
 				if (!Game_Flag_Query(kFlagUG05TalkAboutTunnel)) {
 					Actor_Voice_Over(2600, kActorVoiceOver);
 					Actor_Voice_Over(2610, kActorVoiceOver);
@@ -162,7 +162,7 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
 			int affectionTowardsActor = getAffectionTowardsActor();
 			bool v2;
 			if (affectionTowardsActor == -1) {
-				v2 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, true, false, 0) != 0;
+				v2 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, true, false, false) != 0;
 			} else {
 				v2 = Loop_Actor_Walk_To_Actor(kActorMcCoy, affectionTowardsActor, 30, true, false) != 0;
 			}
@@ -224,7 +224,7 @@ void SceneScriptUG05::PlayerWalkedIn() {
 		if ( Game_Flag_Query(kFlagHF05PoliceArrived)
 		 && !Game_Flag_Query(kFlagHF07Hole)
 		) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -288.35f, 132.77f, -1092.36f, 0, true, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -288.35f, 132.77f, -1092.36f, 0, true, false, false);
 		} else {
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 2, false, kAnimationModeIdle);
 		}
diff --git a/engines/bladerunner/script/scene/ug06.cpp b/engines/bladerunner/script/scene/ug06.cpp
index e7d0dea..b0624f5 100644
--- a/engines/bladerunner/script/scene/ug06.cpp
+++ b/engines/bladerunner/script/scene/ug06.cpp
@@ -93,7 +93,7 @@ bool SceneScriptUG06::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG06::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 321.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 321.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG06toUG04);
@@ -103,10 +103,10 @@ bool SceneScriptUG06::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -90.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -90.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 0, false);
-			Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 1, kAnimationModeIdle);
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 153.0f, -446.0f, 0, false, false, 0);
+			Loop_Actor_Travel_Stairs(kActorMcCoy, 17, true, kAnimationModeIdle);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 153.0f, -446.0f, 0, false, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG06toNR01);
@@ -129,13 +129,13 @@ void SceneScriptUG06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG06::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG04toUG06)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 273.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 273.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagUG04toUG06);
 	}
 
 	if (Game_Flag_Query(kFlagNR01toUG06)) {
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 17, false, kAnimationModeIdle);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -36.91f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -36.91f, 0, false, false, false);
 		Game_Flag_Reset(kFlagNR01toUG06);
 	}
 
diff --git a/engines/bladerunner/script/scene/ug07.cpp b/engines/bladerunner/script/scene/ug07.cpp
index f45dd5a..d210400 100644
--- a/engines/bladerunner/script/scene/ug07.cpp
+++ b/engines/bladerunner/script/scene/ug07.cpp
@@ -96,7 +96,7 @@ bool SceneScriptUG07::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG07::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -94.0f, -12.21f, -710.0f, 0, 1, false, 0) && Actor_Query_Goal_Number(kActorClovis) != 402) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -94.0f, -12.21f, -710.0f, 0, true, false, false) && Actor_Query_Goal_Number(kActorClovis) != 402) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG07toUG09);
@@ -106,7 +106,7 @@ bool SceneScriptUG07::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 110.0f, -12.21f, -274.0f, 0, 1, false, 0) && Actor_Query_Goal_Number(kActorClovis) != 402) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 110.0f, -12.21f, -274.0f, 0, true, false, false) && Actor_Query_Goal_Number(kActorClovis) != 402) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG07toUG08);
@@ -121,13 +121,13 @@ bool SceneScriptUG07::ClickedOnExit(int exitId) {
 		 &&  Global_Variable_Query(kVariableChapter) == 4
 		 && !Game_Flag_Query(kFlagUG07ClovisCaughtMcCoy)
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 49.0f, -12.21f, -130.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 49.0f, -12.21f, -130.0f, 0, true, false, false)) {
 				Game_Flag_Set(kFlagUG07ClovisCaughtMcCoy);
 				Actor_Put_In_Set(kActorClovis, kSetUG07);
 				Actor_Set_At_XYZ(kActorClovis, 118.02f, -12.21f, -154.0f, 768);
 				Player_Set_Combat_Mode(true);
 				Actor_Face_Actor(kActorMcCoy, kActorClovis, true);
-				Loop_Actor_Walk_To_XYZ(kActorClovis, 98.02f, -12.21f, -154.0f, 0, false, false, 0);
+				Loop_Actor_Walk_To_XYZ(kActorClovis, 98.02f, -12.21f, -154.0f, 0, false, false, false);
 				Actor_Face_Actor(kActorClovis, kActorMcCoy, true);
 				Actor_Set_Goal_Number(kActorMcCoy, kGoalMcCoyUG07Caught);
 				Actor_Face_Heading(kActorMcCoy, 0, true);
@@ -150,7 +150,7 @@ bool SceneScriptUG07::ClickedOnExit(int exitId) {
 				Actor_Set_Goal_Number(kActorClovis, 401);
 			}
 		} else {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, -21.47f, -58.0f, 0, true, false, 0)
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, -21.47f, -58.0f, 0, true, false, false)
 			 && Actor_Query_Goal_Number(kActorClovis) != 402
 			) {
 				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
@@ -183,7 +183,7 @@ void SceneScriptUG07::PlayerWalkedIn() {
 	}
 
 	if (Game_Flag_Query(kFlagUG08toUG07)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 62.0f, -12.21f, -274.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 62.0f, -12.21f, -274.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagUG08toUG07);
 	}
 }
diff --git a/engines/bladerunner/script/scene/ug08.cpp b/engines/bladerunner/script/scene/ug08.cpp
index 78de200..c736f42 100644
--- a/engines/bladerunner/script/scene/ug08.cpp
+++ b/engines/bladerunner/script/scene/ug08.cpp
@@ -96,7 +96,7 @@ bool SceneScriptUG08::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG08::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -432.0f, 0.0f, -152.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -432.0f, 0.0f, -152.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG08toUG07);
@@ -106,12 +106,12 @@ bool SceneScriptUG08::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.0f, -2.0f, 152.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.0f, -2.0f, 152.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 240, false);
 			Footstep_Sound_Override_On(2);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 11, true, kAnimationModeIdle);
 			Footstep_Sound_Override_Off();
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -118.02f, 93.02f, 52.76f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -118.02f, 93.02f, 52.76f, 0, false, false, false);
 			Player_Loses_Control();
 			Actor_Set_Invisible(kActorMcCoy, true);
 			Game_Flag_Set(kFlagUG08toUG13);
@@ -139,11 +139,11 @@ void SceneScriptUG08::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG08::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG13toUG08)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -167.0f, 93.18f,  71.0f, 0, false, false, 0);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -180.0f, 93.18f, 134.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -167.0f, 93.18f,  71.0f, 0, false, false, false);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -180.0f, 93.18f, 134.0f, 0, false, false, false);
 		Actor_Face_Heading(kActorMcCoy, 745, false);
 		Footstep_Sound_Override_On(2);
-		Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
+		Loop_Actor_Travel_Stairs(kActorMcCoy, 11, false, kAnimationModeIdle);
 		Footstep_Sound_Override_Off();
 		Player_Gains_Control();
 	}
diff --git a/engines/bladerunner/script/scene/ug09.cpp b/engines/bladerunner/script/scene/ug09.cpp
index 600ccf5..4bf94b7 100644
--- a/engines/bladerunner/script/scene/ug09.cpp
+++ b/engines/bladerunner/script/scene/ug09.cpp
@@ -102,7 +102,7 @@ bool SceneScriptUG09::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG09::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -67.0f, 156.94f, -425.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -67.0f, 156.94f, -425.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG09toCT12);
@@ -112,7 +112,7 @@ bool SceneScriptUG09::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -53.0f, 156.94f, 206.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -53.0f, 156.94f, 206.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG09ToUG07);
diff --git a/engines/bladerunner/script/scene/ug10.cpp b/engines/bladerunner/script/scene/ug10.cpp
index 285836b..4b6d4ae 100644
--- a/engines/bladerunner/script/scene/ug10.cpp
+++ b/engines/bladerunner/script/scene/ug10.cpp
@@ -114,7 +114,7 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
 		 )
 		 || Game_Flag_Query(kFlagUG10GateOpen)
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 1.15f, 29.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 1.15f, 29.0f, 0, true, false, false)) {
 				Game_Flag_Set(kFlagUG10toUG01);
 				Set_Enter(kSetUG01, kSceneUG01);
 				return true;
@@ -128,10 +128,10 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
 		 )
 		 || Game_Flag_Query(kFlagUG10GateOpen)
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, true, false, false)) {
 				Actor_Face_Heading(kActorMcCoy, 0, false);
-				Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, kAnimationModeIdle);
-				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, 81.83f, -652.0f, 0, false, false, 0);
+				Loop_Actor_Travel_Stairs(kActorMcCoy, 9, true, kAnimationModeIdle);
+				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, 81.83f, -652.0f, 0, false, false, false);
 				Game_Flag_Set(kFlagUG10toUG03);
 				Set_Enter(kSetUG03, kSceneUG03);
 				return true;
@@ -145,7 +145,7 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
 		 )
 		 || Game_Flag_Query(kFlagUG10GateOpen)
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, true, false, false)) {
 				Actor_Face_Heading(kActorMcCoy, 1001, false);
 				Loop_Actor_Travel_Ladder(kActorMcCoy, 1, true, kAnimationModeIdle);
 				Game_Flag_Set(kFlagUG10toUG07);
@@ -161,7 +161,7 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
 		 )
 		 || Game_Flag_Query(kFlagUG10GateOpen)
 		) {
-			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 405.0f, 0, true, false, 0)) {
+			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 405.0f, 0, true, false, false)) {
 				Game_Flag_Set(kFlagUG10toUG14);
 				Set_Enter(kSetUG14, kSceneUG14);
 				return true;
@@ -179,7 +179,7 @@ bool SceneScriptUG10::ClickedOn2DRegion(int region) {
 	if (region == 0 && !Player_Query_Combat_Mode()) {
 		if (x >= 120.0f) {
 			Actor_Says(kActorMcCoy, 8525, 3);
-		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.98f, 0.38f, 83.15f, 0, true, false, 0)) {
+		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.98f, 0.38f, 83.15f, 0, true, false, false)) {
 			if (!Game_Flag_Query(kFlagUG10GateOpen)) {
 				Scene_Loop_Set_Default(4);
 				Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, false);
@@ -230,13 +230,13 @@ void SceneScriptUG10::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 void SceneScriptUG10::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG14toUG10)) {
 		Game_Flag_Reset(kFlagUG14toUG10);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 377.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 377.0f, 0, false, false, false);
 	} else if (Game_Flag_Query(kFlagUG01toUG10)) {
 		Game_Flag_Reset(kFlagUG01toUG10);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, 1.15f, 29.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, 1.15f, 29.0f, 0, false, false, false);
 	} else if (Game_Flag_Query(kFlagUG03toUG10)) {
 		Game_Flag_Reset(kFlagUG03toUG10);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 81.33f, -518.8f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 81.33f, -518.8f, 0, false, false, false);
 		Actor_Face_Heading(kActorMcCoy, 506, false);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 9, false, kAnimationModeIdle);
 	}
diff --git a/engines/bladerunner/script/scene/ug12.cpp b/engines/bladerunner/script/scene/ug12.cpp
index 112fb35..e408dd2 100644
--- a/engines/bladerunner/script/scene/ug12.cpp
+++ b/engines/bladerunner/script/scene/ug12.cpp
@@ -83,7 +83,7 @@ bool SceneScriptUG12::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG12::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 375.0f, -126.21f, 180.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 375.0f, -126.21f, 180.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG12toUG14);
@@ -93,7 +93,7 @@ bool SceneScriptUG12::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, -126.21f, -364.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, -126.21f, -364.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG12toKP02);
diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp
index 9b72fbd..1ec25ea 100644
--- a/engines/bladerunner/script/scene/ug13.cpp
+++ b/engines/bladerunner/script/scene/ug13.cpp
@@ -111,7 +111,7 @@ bool SceneScriptUG13::MouseClick(int x, int y) {
 
 bool SceneScriptUG13::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("BOLLARD", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 7.0f, 44.0f, -695.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 7.0f, 44.0f, -695.0f, 0, true, false, false)) {
 			Actor_Face_Object(kActorMcCoy, "BOLLARD", true);
 			if (Game_Flag_Query(kFlagUG08ElevatorUp)) {
 				Scene_Loop_Set_Default(1);
@@ -149,7 +149,7 @@ bool SceneScriptUG13::ClickedOnActor(int actorId) {
 	if (actorId == kActorTransient
 	 && Global_Variable_Query(kVariableChapter) == 4
 	) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -248.0f, 44.0f, -390.0f, 12, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -248.0f, 44.0f, -390.0f, 12, true, false, false)) {
 			Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
 			if (Actor_Query_Goal_Number(kActorTransient) != 6
 			 && Actor_Query_Goal_Number(kActorTransient) != 599
@@ -209,7 +209,7 @@ bool SceneScriptUG13::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG13::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, 54.63f, -883.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -32.0f, 54.63f, -883.0f, 0, true, false, false)) {
 			Player_Loses_Control();
 			Game_Flag_Set(kFlagUG13toUG08);
 			Game_Flag_Set(kFlagUG08ElevatorUp);
@@ -220,7 +220,7 @@ bool SceneScriptUG13::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 39.0f, 52.94f, -528.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 39.0f, 52.94f, -528.0f, 0, true, false, false)) {
 			Game_Flag_Set(kFlagUG13toUG15);
 			Set_Enter(kSetUG15, kSceneUG15);
 		}
@@ -228,7 +228,7 @@ bool SceneScriptUG13::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -267.0f, 44.0f, -795.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -267.0f, 44.0f, -795.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 830, false);
 			Footstep_Sound_Override_On(3);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 11, true, kAnimationModeIdle);
@@ -254,7 +254,7 @@ bool SceneScriptUG13::ClickedOnExit(int exitId) {
 					return true;
 				}
 			}
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0f, 141.9f, -870.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0f, 141.9f, -870.0f, 0, false, false, false);
 			Game_Flag_Set(kFlagUG13toUG18);
 			Set_Enter(kSetUG18, kSceneUG18);
 		}
@@ -304,18 +304,18 @@ void SceneScriptUG13::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG13::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG18toUG13)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 0, false, false, false);
 		Actor_Face_Heading(kActorMcCoy, 325, false);
 		Footstep_Sound_Override_On(3);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 11, false, kAnimationModeIdle);
 		Footstep_Sound_Override_Off();
 		Game_Flag_Reset(kFlagUG18toUG13);
 	} else if (Game_Flag_Query(kFlagUG15toUG13)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, 44.0f, -528.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, 44.0f, -528.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagUG15toUG13);
 	} else {
 		// arrived from elevator (going down)
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -60.0f, 55.24f, -816.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -60.0f, 55.24f, -816.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagUG08toUG13);
 		Player_Gains_Control();
 	}
diff --git a/engines/bladerunner/script/scene/ug14.cpp b/engines/bladerunner/script/scene/ug14.cpp
index cb26f6f..a1844b5 100644
--- a/engines/bladerunner/script/scene/ug14.cpp
+++ b/engines/bladerunner/script/scene/ug14.cpp
@@ -85,7 +85,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 
 	if (exitId == 0) {
 		if (v1) {
-			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, 0, true, false, 0)) {
+			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, 0, true, false, false)) {
 				return false;
 			}
 			Actor_Face_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, true);
@@ -94,7 +94,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 			Footstep_Sound_Override_Off();
 		}
 
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG14toUG19);
@@ -105,7 +105,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 
 	if (exitId == 1) {
 		if (!v1) {
-			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, 0)) {
+			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, false)) {
 				return false;
 			}
 			Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
@@ -114,7 +114,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 			Footstep_Sound_Override_Off();
 		}
 
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG14toUG12);
@@ -125,7 +125,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 
 	if (exitId == 2) {
 		if (!v1) {
-			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, 0)) {
+			if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, false)) {
 				return false;
 			}
 			Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
@@ -134,11 +134,11 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
 			Footstep_Sound_Override_Off();
 		}
 
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -108.01f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -108.01f, 0, true, false, false)) {
 			Footstep_Sound_Override_On(3);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 6, true, kAnimationModeIdle);
 			Footstep_Sound_Override_Off();
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 233.0f, 186.04f, -32.0f, 0, false, false, 0);
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 233.0f, 186.04f, -32.0f, 0, false, false, false);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG14toUG10);
@@ -161,18 +161,18 @@ void SceneScriptUG14::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG14::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG19toUG14)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -250.0f, 12.97f, -152.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -250.0f, 12.97f, -152.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagUG19toUG14);
 	} else if (Game_Flag_Query(kFlagUG12toUG14)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -604.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -604.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagUG12toUG14);
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 186.04f, -44.01f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 186.04f, -44.01f, 0, false, false, false);
 		Actor_Face_Heading(kActorMcCoy, 10, false);
 		Footstep_Sound_Override_On(3);
 		Loop_Actor_Travel_Stairs(kActorMcCoy, 6, false, kAnimationModeIdle);
 		Footstep_Sound_Override_Off();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -148.01f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -148.01f, 0, false, false, false);
 		Actor_Face_Heading(kActorMcCoy, 807, false);
 		Game_Flag_Reset(kFlagUG10toUG14);
 	}
diff --git a/engines/bladerunner/script/scene/ug15.cpp b/engines/bladerunner/script/scene/ug15.cpp
index 6a70088..d0b9fe3 100644
--- a/engines/bladerunner/script/scene/ug15.cpp
+++ b/engines/bladerunner/script/scene/ug15.cpp
@@ -115,7 +115,7 @@ bool SceneScriptUG15::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG15::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -25.0f, 26.31f, -434.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -25.0f, 26.31f, -434.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG15toUG17);
@@ -125,7 +125,7 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -17.0f, 26.31f, -346.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -17.0f, 26.31f, -346.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG15toUG16a);
@@ -139,8 +139,8 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {
 		if (v1 >= 300
 		 && v1 <= 303
 		) {
-			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.61f, 48.07f, 147.12f, 0, true, false, 0);
-		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.0f, 52.28f, 46.0f, 0, true, false, 0)) {
+			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.61f, 48.07f, 147.12f, 0, true, false, false);
+		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.0f, 52.28f, 46.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG15toUG16b);
@@ -150,7 +150,7 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 3) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -238.0f, 52.46f, 222.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -238.0f, 52.46f, 222.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG15toUG13);
@@ -211,7 +211,7 @@ void SceneScriptUG15::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG15::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG16toUG15b)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -62.0f, 48.07f, 102.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -62.0f, 48.07f, 102.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagUG16toUG15b);
 	} else if (Game_Flag_Query(kFlagUG13toUG15)) {
 		Game_Flag_Reset(kFlagUG13toUG15);
diff --git a/engines/bladerunner/script/scene/ug16.cpp b/engines/bladerunner/script/scene/ug16.cpp
index cfa141a..b1dbdda 100644
--- a/engines/bladerunner/script/scene/ug16.cpp
+++ b/engines/bladerunner/script/scene/ug16.cpp
@@ -79,7 +79,7 @@ bool SceneScriptUG16::MouseClick(int x, int y) {
 
 bool SceneScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) {
 	if (Object_Query_Click("QUADPATCH05", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 870, false);
 			if (!Game_Flag_Query(kFlagUG16FolderFound)
 			 &&  Game_Flag_Query(kFlagLutherLanceAreDead)
@@ -105,7 +105,7 @@ bool SceneScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) {
 	}
 
 	if (Object_Query_Click("SCREEN 01", objectName)) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 194.0f, -35.0f, 160.8f, 0, true, false, false)) {
 
 			Actor_Face_Heading(kActorMcCoy, 870, false);
 
@@ -146,7 +146,7 @@ bool SceneScriptUG16::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG16::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -322.0f, -34.0f, -216.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -322.0f, -34.0f, -216.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG16toUG15b);
@@ -156,7 +156,7 @@ bool SceneScriptUG16::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -322.0f, -34.0f, -404.0f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -322.0f, -34.0f, -404.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG16toUG15a);
@@ -166,7 +166,7 @@ bool SceneScriptUG16::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 2) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -316.78f, -34.88f, -533.27f, 0, 1, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -316.78f, -34.88f, -533.27f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 0, false);
 			Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
@@ -203,7 +203,7 @@ void SceneScriptUG16::PlayerWalkedIn() {
 	 &&  Actor_Query_Is_In_Current_Set(kActorLuther)
 	) {
 		Player_Loses_Control();
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 120.29f, -35.67f, 214.8f, 310, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 120.29f, -35.67f, 214.8f, 310, false, false, false);
 		Actor_Face_Actor(kActorMcCoy, kActorLuther, true);
 		Actor_Says(kActorLuther, 0, 6);
 		Actor_Says(kActorLuther, 30, 13);
diff --git a/engines/bladerunner/script/scene/ug17.cpp b/engines/bladerunner/script/scene/ug17.cpp
index 1ee6a6f..c9502b5 100644
--- a/engines/bladerunner/script/scene/ug17.cpp
+++ b/engines/bladerunner/script/scene/ug17.cpp
@@ -67,7 +67,7 @@ bool SceneScriptUG17::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG17::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1000.0f, 67.96f, -1539.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1000.0f, 67.96f, -1539.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG17toUG15);
@@ -77,7 +77,7 @@ bool SceneScriptUG17::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1013.0f, 67.96f, -1892.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1013.0f, 67.96f, -1892.0f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 89, false);
 			if (Global_Variable_Query(kVariableChapter) == 5) {
 				Actor_Says(kActorMcCoy, 8522, 14);
@@ -106,7 +106,7 @@ void SceneScriptUG17::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 
 void SceneScriptUG17::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG15toUG17)) {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 961.0f, 67.96f, -1539.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 961.0f, 67.96f, -1539.0f, 0, false, false, false);
 		Game_Flag_Reset(kFlagUG15toUG17);
 	}
 	//return false;
diff --git a/engines/bladerunner/script/scene/ug18.cpp b/engines/bladerunner/script/scene/ug18.cpp
index 8ee6364..1ca7d70 100644
--- a/engines/bladerunner/script/scene/ug18.cpp
+++ b/engines/bladerunner/script/scene/ug18.cpp
@@ -122,7 +122,7 @@ bool SceneScriptUG18::ClickedOnItem(int itemId, bool combatMode) {
 
 bool SceneScriptUG18::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.71f, 0.0f, 171.59f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.71f, 0.0f, 171.59f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG18toUG13);
@@ -210,7 +210,7 @@ void SceneScriptUG18::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 }
 
 void SceneScriptUG18::PlayerWalkedIn() {
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -488.71f, 0.0f, 123.59f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -488.71f, 0.0f, 123.59f, 0, false, false, false);
 
 	if ( Game_Flag_Query(kFlagCallWithGuzza)
 	 && !Game_Flag_Query(kFlagUG18GuzzaScene)
@@ -322,12 +322,12 @@ void SceneScriptUG18::talkWithGuzza() {
 	Actor_Says(kActorGuzza, 790, 3);
 	Actor_Says(kActorMcCoy, 5865, 12);
 	Actor_Says(kActorGuzza, 800, 3);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -357.13f, 0.0f, -44.47f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -357.13f, 0.0f, -44.47f, 0, false, false, false);
 	Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 	Actor_Says(kActorMcCoy, 5870, 14);
 	Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
 	Actor_Start_Speech_Sample(kActorGuzza, 810);
-	Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, false, false, false);
 	Actor_Says(kActorMcCoy, 5875, 13);
 	Actor_Says(kActorGuzza, 830, 3);
 	Actor_Says(kActorGuzza, 840, 12);
@@ -337,7 +337,7 @@ void SceneScriptUG18::talkWithGuzza() {
 	Actor_Says(kActorMcCoy, 5885, 9);
 	Actor_Says(kActorMcCoy, 5890, 13);
 	Actor_Says(kActorGuzza, 870, 15);
-	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -205.13f, 0.0f, -184.47f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorMcCoy, -205.13f, 0.0f, -184.47f, 0, false, false, false);
 	Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 	Actor_Says(kActorMcCoy, 5900, 15);
 	Actor_Says(kActorGuzza, 880, 13);
@@ -346,7 +346,7 @@ void SceneScriptUG18::talkWithGuzza() {
 	Actor_Says(kActorMcCoy, 5915, 13);
 	Actor_Says(kActorGuzza, 890, 16);
 	Actor_Says(kActorMcCoy, 5920, 14);
-	Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorGuzza, -57.21f, 0.0f, -334.17f, 0, false, false, false);
 	Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
 	Actor_Says(kActorGuzza, 900, 15);
 	Actor_Says(kActorGuzza, 910, 12);
@@ -360,7 +360,7 @@ void SceneScriptUG18::talkWithGuzza() {
 	if (Game_Flag_Query(kFlagMcCoyRetiredHuman)) {
 		Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 3);
 		Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 5);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, false);
 		Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 		Actor_Says(kActorMcCoy, 5960, 9);
 		Actor_Says(kActorMcCoy, 5965, 14);
@@ -381,7 +381,7 @@ void SceneScriptUG18::talkWithGuzza() {
 	) {
 		Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 20);
 		Actor_Modify_Friendliness_To_Other(kActorSadik, kActorMcCoy, 10);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, false);
 		Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 		Actor_Says(kActorMcCoy, 5950, 16);
 		Actor_Says(kActorMcCoy, 5955, 14);
@@ -391,7 +391,7 @@ void SceneScriptUG18::talkWithGuzza() {
 		Actor_Says(kActorGuzza, 1130, 15);
 		Actor_Says(kActorGuzza, 1140, 16);
 	} else {
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -117.13f, 0.0f, -284.47f, 0, false, false, false);
 		Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
 		Actor_Says(kActorMcCoy, 5945, 12);
 		Actor_Says(kActorGuzza, 1040, 15);
@@ -410,7 +410,7 @@ void SceneScriptUG18::talkWithClovis() {
 	ADQ_Flush();
 	Actor_Start_Speech_Sample(kActorClovis, 590);
 	Delay(500);
-	Loop_Actor_Walk_To_XYZ(kActorGuzza, 126.79f, 0.0f, -362.17f, 0, false, false, 0);
+	Loop_Actor_Walk_To_XYZ(kActorGuzza, 126.79f, 0.0f, -362.17f, 0, false, false, false);
 	Actor_Face_Heading(kActorGuzza, 729, false);
 	Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaUG18Target);
 	ADQ_Add(kActorSadik, 350, 13);
diff --git a/engines/bladerunner/script/scene/ug19.cpp b/engines/bladerunner/script/scene/ug19.cpp
index 59b309f..1a228a0 100644
--- a/engines/bladerunner/script/scene/ug19.cpp
+++ b/engines/bladerunner/script/scene/ug19.cpp
@@ -85,7 +85,7 @@ bool SceneScriptUG19::ClickedOnItem(int itemId, bool a2) {
 
 bool SceneScriptUG19::ClickedOnExit(int exitId) {
 	if (exitId == 0) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.03f, 7.29f, -74.97f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.03f, 7.29f, -74.97f, 0, true, false, false)) {
 			Actor_Face_Heading(kActorMcCoy, 256, false);
 			Footstep_Sound_Override_On(3);
 			Loop_Actor_Travel_Ladder(kActorMcCoy, 8, true, kAnimationModeIdle);
@@ -99,7 +99,7 @@ bool SceneScriptUG19::ClickedOnExit(int exitId) {
 	}
 
 	if (exitId == 1) {
-		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.0f, 11.52f, -18.0f, 0, true, false, 0)) {
+		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.0f, 11.52f, -18.0f, 0, true, false, false)) {
 			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
 			Ambient_Sounds_Remove_All_Looping_Sounds(1);
 			Game_Flag_Set(kFlagUG19toUG14);
@@ -123,7 +123,7 @@ void SceneScriptUG19::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
 void SceneScriptUG19::PlayerWalkedIn() {
 	if (Game_Flag_Query(kFlagUG14toUG19)) {
 		Game_Flag_Reset(kFlagUG14toUG19);
-		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 129.0f, 11.52f, -18.0f, 0, false, false, 0);
+		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 129.0f, 11.52f, -18.0f, 0, false, false, false);
 	} else {
 		Game_Flag_Reset(kFlagMA07toUG19);
 		Footstep_Sound_Override_On(3);


Commit: b1a0ed0d93e1f080083edb4782249e766f1f1b43
    https://github.com/scummvm/scummvm/commit/b1a0ed0d93e1f080083edb4782249e766f1f1b43
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-05-09T15:37:13+03:00

Commit Message:
BLADERUNNER: debugger includes McCoy id for list act

Changed paths:
    engines/bladerunner/debugger.cpp


diff --git a/engines/bladerunner/debugger.cpp b/engines/bladerunner/debugger.cpp
index 711a965..d19e221 100644
--- a/engines/bladerunner/debugger.cpp
+++ b/engines/bladerunner/debugger.cpp
@@ -1588,7 +1588,7 @@ bool Debugger::cmdList(int argc, const char **argv) {
 			} else if (argc == 3) {
 				// list properties for specific actor regardless of the set/ scene they are in
 				int actorId = atoi(argv[2]);
-				if (actorId > 0 && actorId < _vm->kActorCount) {
+				if (actorId >= 0 && actorId < _vm->kActorCount) {
 					debugPrintf("Showing properties for actor: %d:%s \n", actorId, _vm->_textActorNames->getText(actorId));
 					Actor *actor = _vm->_actors[actorId];
 





More information about the Scummvm-git-logs mailing list