diff options
115 files changed, 2332 insertions, 1913 deletions
| diff --git a/engines/bladerunner/actor.cpp b/engines/bladerunner/actor.cpp index 66f2e7a6bb..c9528cf2ef 100644 --- a/engines/bladerunner/actor.cpp +++ b/engines/bladerunner/actor.cpp @@ -562,9 +562,7 @@ bool Actor::tick(bool forceDraw, Common::Rect *screenRect) {  		int newAnimation = 0, newFrame = 0;  		_vm->_aiScripts->updateAnimation(_id, &newAnimation, &newFrame); -		if (newFrame < 0) { -			assert(newFrame >= 0); -		} +		assert(newFrame >= 0);  		if (_animationId != newAnimation) {  			if (_fps != 0 && _fps != -1) { diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h index 31851c91f3..52ef19ce58 100644 --- a/engines/bladerunner/game_constants.h +++ b/engines/bladerunner/game_constants.h @@ -440,7 +440,7 @@ enum SpinnerDestinations {  enum Flags {  	kFlagNotUsed0 = 0, // is never checked -	kFlagRC02Discovered = 1, +	kFlagRC02Entered = 1,  	// 2 is never used  	kFlagGotOfficersStatement = 3,  	kFlagRC02FirstLeave = 4, @@ -545,7 +545,7 @@ enum Flags {  	kFlagNotUsed103 = 103, // is never set  	kFlagKleinTalkPaintTransfer = 104,  	kFlagKleinTalkChromeDebris = 105, -	kFlagIsabellaIntroduced = 105, +	kFlagIsabellaIntroduced = 106,  	kFlagHC04toRC03 = 107,  	kFlagRC03toHC04 = 108,  	kFlagHC04toHC02 = 109, @@ -580,7 +580,7 @@ enum Flags {  	kFlagKleinInsulted = 138,  	// 139 is never used  	// 140 is never used -	kFlagRC02LucyDeskAvailable = 141, +	kFlagRC51Available = 141,  	kFlagNotUsed142 = 142, // is never checked  	// 143 is never used  	kFlagCT07toCT06 = 144, @@ -736,8 +736,14 @@ enum Flags {  	kFlagGaffSpinnerCT12 = 294,  	kFlagRC04BobShootMcCoy = 295,  	kFlagRC04McCoyCombatMode = 296, - +	kFlagBB05toBB06 = 297, +	kFlagBB06toBB05 = 298, +	kFlagBB05toBB07 = 299, +	kFlagBB07toBB05 = 300, +	kFlagBB05toBB12 = 301, // is never checked +	kFlagBB12toBB05 = 302,  	kFlagRC04McCoyWarned =  303, +	kFlagCT11toCT09 = 304, // is never checked  	kFlagRC04BobTalkAmmo = 305,  	kFlagNotUsed306 = 306, // is never set  	kFlagSpinnerAtTB02 = 307, @@ -757,12 +763,47 @@ enum Flags {  	kFlagAR02toAR01 = 321,  	kFlagAR01toHC01 = 322,  	kFlagHC01toAR01 = 323, +	kFlagUG01SteamOff = 324, + +	kFlagFishDealerTalk = 328, +	kFlagInsectDealerInterviewed = 329, +	kFlagHassanTalk = 330, +	kFlagScorpionsChecked = 331, + +	kFlagInsectDealerTalk = 366, +	kFlagStungByScorpion = 367, + +	kFlagNotUsed370 = 370, // is never checked +  	kFlagDirectorsCut = 378, + +	kFlagHC01toHC02 = 384, +	kFlagHC02toHC01 = 385, +	kFlagHC01toHC03 = 386, // is never checked +	kFlagHC03toHC01 = 387, +	kFlagHC03TrapDoorOpen = 388, +	// 389 is never used +	// 390 is never used +  	KFlagMcCoyAndOfficerLearyTalking = 392, +  	KFlagMcCoyAndOfficerLearyArtMetaphor = 397, + +	kFlagIzoTalk1 = 400, +	kFlagIzoTalk2 = 401, +	kFlagHC03Available = 402, +	kFlagHC03CageOpen = 403, +	kFlagHawkersBarkeepIntroduction = 404, +	kFlagHawkersBarkeepBraceletTalk = 405, + +	kFlagUnused407 = 407, // is never checked +  	kFlagUG09toCT12 = 432,  	kFlagCT12ToUG09 = 433,  	kFlagGenericWalkerWaiting = 443, +	kFlagIzoShot = 444, + +	kFlagUG02WeaponsChecked = 449,  	kFlagTB02ElevatorToTB05 = 450,  	kFlagTB05Entered = 451,  	kFlagTB02GuardTalk1 = 453, @@ -773,12 +814,17 @@ enum Flags {  	kFlagMaggieIsHurt = 461,  	kFlagPS04GuzzaLeft = 462,  	kFlagMcCoyArrested = 465, +	kFlagUG10GateOpen = 474,  	kFlagMcCoyAtPS03 = 478, // has no use  	kFlagMcCoyAtHCxx = 479,  	kFlagTB06Introduction = 483,  	kFlagPhotographerToTB06 = 485, +	kFlagDNARowAvailable = 486,  	kFlagKIAPrivacyAddon = 487,  	kFlagCT04HomelessTrashFinish = 492, +	kFlagUG02FromUG01 = 498, +	kFlagUG02Interactive = 499, +  	kFlagDR05ExplodedEntered = 511,  	kFlagDR05BombExplosionView = 515,  	kFlagCT07ZubenAttack = 516, @@ -789,21 +835,27 @@ enum Flags {  	kFlagMcCoySleeping = 647,  	kFlagPhoneMessageFromClovis = 649,  	kFlagPhoneMessageFromLucy = 650, +	kFlagRagiationGooglesTaken = 656, +	kFlagDNARowAvailableTalk = 660,  	kFlagChapter2Intro = 678,  	kFlagPS05TV0 = 688,  	kFlagPS05TV1 = 689,  	kFlagPS05TV2 = 690,  	kFlagPS05TV3 = 691,  	kFlagPS05TV4 = 692, +	kFlagUG03DeadHomeless = 693,  	kFlagRC04Locked = 702,  	kFlagTB06PhotographTalk1 = 707, +	kFlagUG02AmmoTaken = 708,  	kFlagRC51Discovered = 709, +	kFlagAR01Entered = 710,  	kFlagMA04WatchedTV = 711,  	kFlagMcCoyShotAtZuben = 712,  	kFlagRC04BobTalk3 = 717,  	kFlagCT02McCoyFell = 719,  	kFlagCT02McCoyCombatReady = 720,  	kFlagZubenBountyPaid = 723, +	kFlagAR02Entered = 726,  	kFlagPS04WeaponsOrderForm = 727  }; @@ -812,13 +864,18 @@ enum Variables {  	kVariableChinyen = 2,  	kVariablePoliceMazeScore = 9,  	kVariablePoliceMazePS10TargetCounter = 10, +	kVariablePoliceMazePS11TargetCounter = 11, +	kVariablePoliceMazePS12TargetCounter = 12, +	kVariablePoliceMazePS13TargetCounter = 13,  	kVariableMcCoyEvidenceMissed = 14, +	kVariableIzoShot = 19, // has no use  	kVariableBobShot = 24, // has no use  	kVariableGenericWalkerAModel = 32,  	kVariableGenericWalkerBModel = 33,  	kVariableGenericWalkerCModel = 34,  	kVariableWalkLoopActor = 37,  	kVariableWalkLoopRun = 38, +	kVariableMcCoyDrinks = 42, // is never checked  	kVariableAffectionTowards = 45, // 0 none, 1 steele, 2 dektora, 3 lucy  	kVariableDNAEvidences = 48,  	kVariableReplicants = 51, @@ -924,7 +981,7 @@ enum Scenes {  	kSceneCT01 = 13, // Chinatown - Howie Lee Restaurant  	kSceneCT02 = 14, // Chinatown - Kitchen  	kSceneCT03 = 15, // Chinatown - Back alley -	kSceneCT04 = 16, // Chinatown - Back alley - dumpster +	kSceneCT04 = 16, // Chinatown - Back alley - Dumpster  	kSceneCT05 = 17, // Chinatown - Warehouse - Inside  	kSceneCT06 = 18, // Chinatown - Passage  	kSceneCT07 = 19, // Chinatown - Passage form back @@ -939,9 +996,9 @@ enum Scenes {  	kSceneDR04 = 28,  	kSceneDR05 = 29,  	kSceneDR06 = 30, -	kSceneHC01 = 31, // Hawker's circle - Green pawn +	kSceneHC01 = 31, // Hawker's circle - Green pawn - Outside  	kSceneHC02 = 32, // Hawker's circle - China bar -	kSceneHC03 = 33, // Hawker's circle - +	kSceneHC03 = 33, // Hawker's circle - Green pawn - Inside  	kSceneHF01 = 34,  	kSceneHF02 = 35,  	kSceneHF03 = 36, @@ -994,8 +1051,8 @@ enum Scenes {  	kSceneTB03 = 83,  	kSceneTB05 = 84, // Tyrell Building - Grav Test Lab - outside  	kSceneTB06 = 85, // Tyrell Building - Grav Test Lab - inside -	kSceneUG01 = 86, -	kSceneUG02 = 87, +	kSceneUG01 = 86, // Underground - Under Bullet Bob entrance +	kSceneUG02 = 87, // Underground - Under Green pawn  	kSceneUG03 = 88,  	kSceneUG04 = 89,  	kSceneUG05 = 90, @@ -1129,20 +1186,88 @@ enum Sets  };  enum GameItems { -	kItemPoliceMazeTarget1 = 0, -	kItemPoliceMazeTarget2 = 1, -	kItemPoliceMazeTarget3 = 2, -	kItemPoliceMazeTarget4 = 3, -	kItemPoliceMazeTarget5 = 4, -	kItemPoliceMazeTarget6 = 5, -	kItemPoliceMazeTarget7 = 6, -	kItemPoliceMazeTarget8 = 7, -	kItemPoliceMazeTarget9 = 8, +	kItemPS10Target1 = 0, +	kItemPS10Target2 = 1, +	kItemPS10Target3 = 2, +	kItemPS10Target4 = 3, +	kItemPS10Target5 = 4, +	kItemPS10Target6 = 5, +	kItemPS10Target7 = 6, +	kItemPS10Target8 = 7, +	kItemPS10Target9 = 8, +	kItemPS11Target1 = 9, +	kItemPS11Target2 = 10, +	kItemPS11Target3 = 11, +	kItemPS11Target4 = 12, +	kItemPS11Target5 = 13, +	kItemPS11Target6 = 14, +	kItemPS11Target7 = 15, +	kItemPS11Target8 = 16, +	kItemPS11Target9 = 17, +	kItemPS11Target10 = 18, +	kItemPS11Target11 = 19, +	kItemPS11Target12 = 20, +	kItemPS11Target13 = 21, +	kItemPS11Target14 = 22, +	kItemPS11Target15 = 23, +	// 24 is never used +	// 25 is never used +	// 26 is never used +	kItemPS11Target16 = 27, +	// 28 is never used +	kItemPS12Target1 = 29, +	kItemPS12Target2 = 30, +	kItemPS12Target3 = 31, +	kItemPS12Target4 = 32, +	kItemPS12Target5 = 33, +	kItemPS12Target6 = 34, +	kItemPS12Target7 = 35, +	kItemPS12Target8 = 36, +	kItemPS12Target9 = 37, +	kItemPS12Target10 = 38, +	kItemPS12Target11 = 39, +	kItemPS12Target12 = 40, +	kItemPS12Target13 = 41, +	kItemPS12Target14 = 42, +	kItemPS12Target15 = 43, +	kItemPS12Target16 = 44, +	kItemPS12Target17 = 45, +	kItemPS13Target1 = 46, +	kItemPS13Target2 = 47, +	kItemPS13Target3 = 48, +	kItemPS13Target4 = 49, +	kItemPS13Target5 = 50, +	kItemPS13Target6 = 51, +	kItemPS13Target7 = 52, +	kItemPS13Target8 = 53, +	kItemPS13Target9 = 54, +	kItemPS13Target10 = 55, +	kItemPS13Target11 = 56, +	kItemPS13Target12 = 57, +	kItemPS13Target13 = 58, +	// 59 is never used +	// 60 is never used +	// 61 is never used +	kItemPS13Target14 = 62, +	kItemPS13Target15 = 63, +	// 64 is never used +	// 65 is never used  	kItemChromeDebris = 66, +	// 67 is never used +	// 68 is never used +	// 69 is never used +	// 70 is never used +	// 71 is never used +	// 72 is never used +	// 73 is never used +	// 74 is never used +	// 75 is never used +	// 76 is never used  	kItemDragonflyEarring = 76,  	kItemCandy = 79,  	kItemChopstickWrapper = 82,  	kItemDogCollar = 84, +	kItemRadiationGoogles = 88,  	kItemToyDog = 98,  	kItemShellCasingA = 100,  	kItemShellCasingB = 101, @@ -1150,10 +1275,13 @@ enum GameItems {  	kItemDeadDogA = 103,  	kItemDeadDogB = 104,  	kItemDeadDogC = 105, +	kItemScrorpions = 106, +	kItemCamera = 107,  	kItemKitchenBox = 108,  	kItemWeaponsCrate = 110,  	kItemWeaponsOrderForm = 111, -	kItemTyrellSalesPamphlet = 119 +	kItemTyrellSalesPamphlet = 119, +	kItemHC03Lock = 121  };  enum Elevators { @@ -1226,16 +1354,29 @@ enum PlayerAgenda {  	kPlayerAgendaUserChoice = 4  }; +enum AffectionTowards { +	kAffectionTowardsNone = 0, +	kAffectionTowardsSteele = 1, +	kAffectionTowardsDektora = 2, +	kAffectionTowardsLucy = 3 +}; +  enum GoalMcCoy {  	kGoalMcCoyDefault = 0,  	kGoalMcCoyDodge = 1  };  enum GoalSteele { +	kGoalSteeleDefault = 0, +	kGoalSteeleApprehendIzo = 100,  	kGoalSteeleGoToTB02 = 110,  	kGoalSteeleLeaveTB02 = 111,  	kGoalSteeleGoToPoliceStation = 112,  	kGoalSteeleWalkAround = 113, +	kGoalSteeleShootIzo = 120, +	kGoalSteeleArrestIzo = 121, +	kGoalSteeleIzoBlockedByMcCoy = 125, +	kGoalSteeleLeaveRC03 = 130,  	kGoalSteeleWalkAroundRestart = 190  }; @@ -1245,6 +1386,28 @@ enum GoalGuzza {  	kGoalGuzzaGoToOffice = 102  }; +enum GoalIzo { +	kGoalIzoDefault = 0, +	kGoalIzoPrepareCamera = 1, +	kGoalIzoTakePhoto = 2, +	kGoalIzoRunToUG02 = 3, +	kGoalIzoStopRunning = 100, +	kGoalIzoRunToRC03 = 101, +	kGoalIzoWaitingAtRC03 = 102, +	kGoalIzoEscape = 103, // how can this happen? can mccoy catch izo in ug02? +	kGoalIzoRC03Walk = 110, +	kGoalIzoRC03Run = 111, +	kGoalIzoRC03RunAway = 114, +	kGoalIzoGetArrested = 120, +	kGoalIzoGotArrested = 180, +	kGoalIzoGoToHC01 = 150, +	kGoalIzoGoToHC03 = 155, +	kGoalIzoDieHidden = 198, +	kGoalIzoDie = 199, + +	kGoalIzoDead = 599 +}; +  enum GoalTransient {  	kGoalTransientDefault = 0,  	kGoalTransientCT04Leave = 2 @@ -1258,6 +1421,14 @@ enum GoalBulletBob {  	kGoalBulletBobDead = 4  }; +enum GoalRunciter { +	kGoalRunciterDefault = 0, +	kGoalRunciterWalkAround = 1, +	kGoalRunciterHide = 2, +	kGoalRunciterAtShop = 300, +	kGoalRunciterDead = 599 +}; +  enum GoalZuben {  	kGoalZubenDefault = 0,  	kGoalZubenCT01Leave = 1, diff --git a/engines/bladerunner/script/ai/clovis.cpp b/engines/bladerunner/script/ai/clovis.cpp index a47a4bb7dd..d5043280a1 100644 --- a/engines/bladerunner/script/ai/clovis.cpp +++ b/engines/bladerunner/script/ai/clovis.cpp @@ -174,7 +174,7 @@ void AIScriptClovis::Retired(int byActorId) {  				Delay(2000);  				Player_Set_Combat_Mode(false);  				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0); -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(579);  				Game_Flag_Reset(653); @@ -413,15 +413,19 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		Actor_Says(kActorMcCoy, 8505, kAnimationModeTalk);  		Actor_Says(kActorClovis, 1300, kAnimationModeTalk);  		Actor_Says(kActorClovis, 1310, kAnimationModeTalk); -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1); -		Outtake_Play(20, 0, -1); -		if (Global_Variable_Query(kVariableAffectionTowards) == 3 && Game_Flag_Query(46)) { -			Outtake_Play(21, 0, -1); -		} else if (Global_Variable_Query(kVariableAffectionTowards) == 2 && Game_Flag_Query(47)) { -			Outtake_Play(22, 0, -1); -		} -		Outtake_Play(23, 0, -1); +		Outtake_Play(kOuttakeEnd4A, 0, -1); +		if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy +		 && Game_Flag_Query(kFlagLucyIsReplicant) +		) { +			Outtake_Play(kOuttakeEnd4B, 0, -1); +		} else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora +		       && Game_Flag_Query(kFlagDektoraIsReplicant) +		) { +			Outtake_Play(kOuttakeEnd4C, 0, -1); +		} +		Outtake_Play(kOuttakeEnd4D, 0, -1);  		Game_Over();  		return true; diff --git a/engines/bladerunner/script/ai/dektora.cpp b/engines/bladerunner/script/ai/dektora.cpp index b7268c0daa..e6203132e7 100644 --- a/engines/bladerunner/script/ai/dektora.cpp +++ b/engines/bladerunner/script/ai/dektora.cpp @@ -87,12 +87,13 @@ bool AIScriptDektora::Update() {  			Actor_Set_Goal_Number(kActorDektora, 300);  		}  	} else if (Game_Flag_Query(489)) { -		if (Game_Flag_Query(504) == 1 -				&& !Game_Flag_Query(374) -				&& Player_Query_Current_Scene() -				&& Player_Query_Current_Scene() != 1) { -			if (Game_Flag_Query(726)) { -				Item_Remove_From_World(106); +		if ( Game_Flag_Query(504) == 1 +		 && !Game_Flag_Query(374) +		 &&  Player_Query_Current_Scene() +		 &&  Player_Query_Current_Scene() != 1 +		) { +			if (Game_Flag_Query(kFlagAR02Entered)) { +				Item_Remove_From_World(kItemScrorpions);  			}  			Game_Flag_Set(374);  		} @@ -292,7 +293,7 @@ void AIScriptDektora::Retired(int byActorId) {  			Delay(2000);  			Player_Set_Combat_Mode(false);  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(579);  			Game_Flag_Reset(653); @@ -1095,8 +1096,8 @@ void AIScriptDektora::checkCombat() {  	 && Global_Variable_Query(kVariableChapter) == 5  	 && Actor_Query_Goal_Number(kActorDektora) != 450  	) { -		if (Global_Variable_Query(kVariableAffectionTowards) == 2) { -			Global_Variable_Set(kVariableAffectionTowards, 0); +		if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora) { +			Global_Variable_Set(kVariableAffectionTowards, kAffectionTowardsNone);  		}  		Actor_Set_Goal_Number(kActorDektora, 450); diff --git a/engines/bladerunner/script/ai/hawkers_barkeep.cpp b/engines/bladerunner/script/ai/hawkers_barkeep.cpp index 8e82ecc63c..5f77eb91c6 100644 --- a/engines/bladerunner/script/ai/hawkers_barkeep.cpp +++ b/engines/bladerunner/script/ai/hawkers_barkeep.cpp @@ -119,61 +119,15 @@ bool AIScriptHawkersBarkeep::GoalChanged(int currentGoalNumber, int newGoalNumbe  bool AIScriptHawkersBarkeep::UpdateAnimation(int *animation, int *frame) {  	switch (_animationState) {  	case 0: -		if (_var1 == 1) { -			if (_var1 == 1) { -				*animation = 706; -				if (_animationFrame <= 3) -					_var3 = 1; - -				if (_animationFrame == 11) { -					if (Random_Query(0, 2)) -						_var3 = -1; -				} - -				_animationFrame += _var3; - -				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(706)) { -					*animation = 705; -					_animationFrame = 0; -					_var1 = 0; -				} -			} else { -				*animation = 707; - -				if (_var2) { -					_var2--; - -					if (_var2 == 0) -						_var3 = 2 * Random_Query(0, 1) - 1; -				} else { -					if (_animationFrame <= 11) -						_var3 = 1; - -					if (_animationFrame == 14) { -						if (Random_Query(0, 2)) -							_var3 = -1; -					} - -					if (_animationFrame == 18) -						_var2 = Random_Query(5, 15); - -					_animationFrame++; -					if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(707)) { -						*animation = 705; -						_animationFrame = 0; -						_var1 = 0; -						_var2 = 0; -					} -				} -			} -		} else if (_var1 == 0) { +		if (_var1 == 0) {  			*animation = 705;  			if (_var2) {  				_var2--; -				if (!Random_Query(0, 6)) +				if (Random_Query(0, 6) == 0) {  					_var3 = -_var3; +				}  			} else {  				_animationFrame += _var3; @@ -203,48 +157,95 @@ bool AIScriptHawkersBarkeep::UpdateAnimation(int *animation, int *frame) {  					}  				}  			} -		} -		break; +		} else if (_var1 == 1) { +			*animation = 706; +			if (_animationFrame <= 3) +				_var3 = 1; + +			if (_animationFrame == 11) { +				if (Random_Query(0, 2)) +					_var3 = -1; +			} -	case 1: -		if (_var1 == 1) { -			if (_var1 == 1) { -				*animation = 706; -				_animationFrame++; +			_animationFrame += _var3; -				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(706)) { -					_animationFrame = 0; -					_animationState = _animationStateNext; -					*animation = _animationNext; -				} +			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(706)) { +				*animation = 705; +				_animationFrame = 0; +				_var1 = 0; +			} +		} else if (_var1 == 2) { +			*animation = 707; + +			if (_var2) { +				_var2--; + +				if (_var2 == 0) +					_var3 = 2 * Random_Query(0, 1) - 1;  			} else { -				*animation = 707; -				_animationFrame += 2; +				if (_animationFrame <= 11) +					_var3 = 1; +				if (_animationFrame == 14) { +					if (Random_Query(0, 2) != 0) { +						_var3 = -1; +					} +				} + +				if (_animationFrame == 18) { +					_var2 = Random_Query(5, 15); +				} + +				_animationFrame++;  				if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(707)) { +					*animation = 705;  					_animationFrame = 0; -					_animationState = _animationStateNext; -					*animation = _animationNext; +					_var1 = 0; +					_var2 = 0;  				}  			} -		} else if (_var1 == 0) { +		} +		break; + +	case 1: +		if (_var1 == 0) {  			_animationFrame = 0;  			_animationState = _animationStateNext;  			*animation = _animationNext; +		} else if (_var1 == 1) { +			*animation = 706; +			_animationFrame++; + +			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(706)) { +				_animationFrame = 0; +				_animationState = _animationStateNext; +				*animation = _animationNext; +			} +		} else if (_var1 == 2) { +			*animation = 707; +			_animationFrame += 2; + +			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(707)) { +				_animationFrame = 0; +				_animationState = _animationStateNext; +				*animation = _animationNext; +			}  		} +  		break;  	case 2:  		*animation = 710; -		if (!_animationFrame && _flag) { +		if (_animationFrame == 0 && _flag) {  			_animationState = 0;  			_var1 = 0;  		} else {  			_animationFrame++; -			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(710)) +			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(710)) {  				_animationFrame = 0; +			}  		}  		break; diff --git a/engines/bladerunner/script/ai/holloway.cpp b/engines/bladerunner/script/ai/holloway.cpp index 7b5fd1dde8..ed4453ec60 100644 --- a/engines/bladerunner/script/ai/holloway.cpp +++ b/engines/bladerunner/script/ai/holloway.cpp @@ -165,10 +165,10 @@ bool AIScriptHolloway::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		break;  	case 257: -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Player_Gains_Control(); -		Outtake_Play(11, 0, 1); +		Outtake_Play(kOuttakeInterrogation, 0, 1);  		if (Global_Variable_Query(40) == 1) {  			Actor_Set_Goal_Number(kActorDektora, 245);  			Actor_Change_Animation_Mode(kActorDektora, kAnimationModeIdle); diff --git a/engines/bladerunner/script/ai/insect_dealer.cpp b/engines/bladerunner/script/ai/insect_dealer.cpp index db957f99e3..fb0924a066 100644 --- a/engines/bladerunner/script/ai/insect_dealer.cpp +++ b/engines/bladerunner/script/ai/insect_dealer.cpp @@ -50,7 +50,9 @@ void AIScriptInsectDealer::Initialize() {  }  bool AIScriptInsectDealer::Update() { -	if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorInsectDealer) < 400) +	if (Global_Variable_Query(kVariableChapter) == 5 +	 && Actor_Query_Goal_Number(kActorInsectDealer) < 400 +	)  		Actor_Set_Goal_Number(kActorInsectDealer, 400);  	return false; @@ -111,7 +113,7 @@ bool AIScriptInsectDealer::GoalChanged(int currentGoalNumber, int newGoalNumber)  		if (!Game_Flag_Query(374)) {  			Game_Flag_Set(374); -			Item_Remove_From_World(106); +			Item_Remove_From_World(kItemScrorpions);  		}  	} diff --git a/engines/bladerunner/script/ai/izo.cpp b/engines/bladerunner/script/ai/izo.cpp index 06966ef101..3f2715ac78 100644 --- a/engines/bladerunner/script/ai/izo.cpp +++ b/engines/bladerunner/script/ai/izo.cpp @@ -51,28 +51,39 @@ void AIScriptIzo::Initialize() {  }  bool AIScriptIzo::Update() { -	if (Actor_Query_Goal_Number(kActorIzo) == 100 && Player_Query_Current_Scene() == kSceneUG02) { -		Actor_Set_Targetable(kActorIzo, 1); -		Actor_Set_Goal_Number(kActorIzo, 101); +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoStopRunning +	 && Player_Query_Current_Scene() == kSceneUG02 +	) { +		Actor_Set_Targetable(kActorIzo, true); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoRunToRC03);  		return true;  	} -	if (Global_Variable_Query(kVariableChapter) == 3 -			&& Actor_Query_Goal_Number(kActorIzo) == 599 -			&& Actor_Query_Which_Set_In(kActorIzo) == 70) { +	if (Global_Variable_Query(kVariableChapter) == 1 +	 && Actor_Query_Goal_Number(kActorIzo) == kGoalIzoDead +	 && Actor_Query_Which_Set_In(kActorIzo) == kSetRC03 +	) {  		Actor_Put_In_Set(kActorIzo, kSetFreeSlotI);  		Actor_Set_At_Waypoint(kActorIzo, 41, 0);  	} -	if (!Actor_Query_Goal_Number(kActorIzo) && Player_Query_Current_Scene() == kSceneTB02) { -		Actor_Set_Goal_Number(kActorIzo, 155); + +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoDefault +	 && Player_Query_Current_Scene() == kSceneTB02 +	) { +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoGoToHC03);  	} +  	if (Global_Variable_Query(kVariableChapter) == 4 -			&& Actor_Query_Goal_Number(kActorIzo) < 599 -			&& Actor_Query_Goal_Number(kActorIzo) < 300 -			&& Actor_Query_Goal_Number(kActorIzo) != 180) { +	 && Actor_Query_Goal_Number(kActorIzo) < kGoalIzoDead +	 && Actor_Query_Goal_Number(kActorIzo) < 300 +	 && Actor_Query_Goal_Number(kActorIzo) != kGoalIzoGotArrested +	) {  		Actor_Set_Goal_Number(kActorIzo, 300);  	} -	if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorIzo) < 400) { + +	if (Global_Variable_Query(kVariableChapter) == 5 +	 && Actor_Query_Goal_Number(kActorIzo) < 400 +	) {  		Actor_Set_Goal_Number(kActorIzo, 400);  	} @@ -85,38 +96,38 @@ void AIScriptIzo::TimerExpired(int timer) {  void AIScriptIzo::CompletedMovementTrack() {  	switch (Actor_Query_Goal_Number(kActorIzo)) { -	case 3: -		Actor_Set_Goal_Number(kActorIzo, 101); +	case kGoalIzoRunToUG02: +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoRunToRC03);  		Player_Gains_Control();  		return; //true; -	case 101: -		Actor_Set_Goal_Number(kActorIzo, 102); +	case kGoalIzoRunToRC03: +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoWaitingAtRC03);  		return; //true; -	case 110: -	case 111: -		Actor_Set_Goal_Number(kActorIzo, 114); -		Actor_Set_Goal_Number(kActorSteele, 100); +	case kGoalIzoRC03Walk: +	case kGoalIzoRC03Run: +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03RunAway); +		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);  		Scene_Exits_Enable();  		return; //true; -	case 114: +	case kGoalIzoRC03RunAway:  		Scene_Exits_Enable();  		return; //true; -	case 120: +	case kGoalIzoGetArrested:  		Game_Flag_Set(kFlagIzoArrested); -		Actor_Set_Goal_Number(kActorIzo, 180); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoGotArrested);  		Scene_Exits_Enable();  		return; //true; -	case 150: -		Actor_Set_Goal_Number(kActorIzo, 155); +	case kGoalIzoGoToHC01: +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoGoToHC03);  		return; //true; -	case 155: -		Actor_Set_Goal_Number(kActorIzo, 150); +	case kGoalIzoGoToHC03: +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoGoToHC01);  		return; //true;  	case 300: @@ -136,29 +147,31 @@ void AIScriptIzo::ReceivedClue(int clueId, int fromActorId) {  }  void AIScriptIzo::ClickedByPlayer() { -	if (Actor_Query_Goal_Number(kActorIzo) > 500) { -		Actor_Face_Actor(kActorMcCoy, kActorIzo, 1); +	if (Actor_Query_Goal_Number(kActorIzo) > 500) { // Dead +		Actor_Face_Actor(kActorMcCoy, kActorIzo, true);  		Actor_Says(kActorMcCoy, 8585, 13);  		return; //true;  	} -	if (Actor_Query_Goal_Number(kActorIzo) == 101 && Player_Query_Current_Set() == kSetUG02) { +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRunToRC03 +	 && Player_Query_Current_Set() == kSetUG02 +	) {  		Player_Loses_Control(); -		Actor_Set_Goal_Number(kActorIzo, 100); -		Actor_Face_Actor(kActorMcCoy, kActorIzo, 1); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoStopRunning); +		Actor_Face_Actor(kActorMcCoy, kActorIzo, true);  		Actor_Says(kActorMcCoy, 5460, 16); -		Actor_Face_Actor(kActorIzo, kActorMcCoy, 1); +		Actor_Face_Actor(kActorIzo, kActorMcCoy, true);  		Actor_Says(kActorIzo, 700, 17);  		Actor_Says(kActorMcCoy, 5465, 14);  		someDialog();  	} -	if (Actor_Query_Goal_Number(kActorIzo) == 110) { -		Actor_Face_Actor(kActorMcCoy, kActorIzo, 1); +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk) { +		Actor_Face_Actor(kActorMcCoy, kActorIzo, true);  		Actor_Says(kActorMcCoy, 2715, 14); -		Actor_Set_Goal_Number(kActorIzo, 111); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03Run);  		Actor_Says(kActorMcCoy, 1800, 14); -		Actor_Set_Goal_Number(kActorSteele, 100); +		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);  		return; //true;  	} @@ -178,41 +191,43 @@ void AIScriptIzo::OtherAgentExitedThisScene(int otherActorId) {  }  void AIScriptIzo::OtherAgentEnteredCombatMode(int otherActorId, int combatMode) { -	if (Actor_Query_Goal_Number(kActorIzo) == 110) { +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk) {  		Game_Flag_Query(kFlagIzoIsReplicant);  	}  	return; //false;  }  void AIScriptIzo::ShotAtAndMissed() { -	if (Actor_Query_Goal_Number(kActorIzo) != 110) { -		return; //false; +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk) { +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03Run); +		return; //true;  	} -	Actor_Set_Goal_Number(kActorIzo, 111); - -	return; //true; +	return; //false;  }  bool AIScriptIzo::ShotAtAndHit() { -	if (Actor_Query_Goal_Number(kActorIzo) == 110 -			|| Actor_Query_Goal_Number(kActorIzo) == 111 -			|| Actor_Query_Goal_Number(kActorIzo) == 114) { +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk +	 || Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Run +	 || Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03RunAway +	) {  		Actor_Set_Health(kActorIzo, 50, 50); -		if (Actor_Query_Goal_Number(kActorIzo) == 110) { -			Actor_Set_Goal_Number(kActorIzo, 111); +		if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk) { +			Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03Run);  		}  		return true;  	} else {  		AI_Movement_Track_Flush(kActorIzo); -		Global_Variable_Increment(19, 1); -		if (!Game_Flag_Query(444) && Global_Variable_Query(19) == 1) { -			Game_Flag_Set(444); +		Global_Variable_Increment(kVariableIzoShot, 1); +		if (!Game_Flag_Query(kFlagIzoShot) +		 &&  Global_Variable_Query(kVariableIzoShot) == 1 +		) { +			Game_Flag_Set(kFlagIzoShot);  			_animationFrame = 0;  			_animationState = 19; -			Actor_Retired_Here(kActorIzo, 36, 12, 1, -1); -			Actor_Set_Goal_Number(kActorIzo, 199); +			Actor_Retired_Here(kActorIzo, 36, 12, true, -1); +			Actor_Set_Goal_Number(kActorIzo, kGoalIzoDie);  		}  		return false;  	} @@ -224,14 +239,14 @@ void AIScriptIzo::Retired(int byActorId) {  	}  	Global_Variable_Decrement(kVariableReplicants, 1); -	Actor_Set_Goal_Number(kActorIzo, 599); +	Actor_Set_Goal_Number(kActorIzo, kGoalIzoDead);  	if (Global_Variable_Query(kVariableReplicants) == 0) {  		Player_Loses_Control();  		Delay(2000);  		Player_Set_Combat_Mode(0);  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, 1, 0, 0); -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Game_Flag_Set(579);  		Game_Flag_Reset(653); @@ -248,78 +263,79 @@ int AIScriptIzo::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueId)  bool AIScriptIzo::GoalChanged(int currentGoalNumber, int newGoalNumber) {  	if (newGoalNumber == 200 -		|| newGoalNumber == 199 -		|| newGoalNumber == 198 -		|| newGoalNumber == 180 -		|| newGoalNumber == 103) { -			Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true); -		} +	 || newGoalNumber == kGoalIzoDie +	 || newGoalNumber == kGoalIzoDieHidden +	 || newGoalNumber == kGoalIzoGotArrested +	 || newGoalNumber == kGoalIzoEscape +	) { +		Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true); +	}  	switch (newGoalNumber) { -	case 0: +	case kGoalIzoDefault:  		AI_Movement_Track_Flush(kActorIzo);  		return true; -	case 1: +	case kGoalIzoPrepareCamera:  		AI_Movement_Track_Flush(kActorIzo); -		Actor_Face_Heading(kActorIzo, 520, 0); +		Actor_Face_Heading(kActorIzo, 520, false);  		_animationState = 32;  		_animationFrame = -1;  		return true; -	case 2: +	case kGoalIzoTakePhoto:  		_animationState = 34;  		_animationFrame = -1;  		return true; -	case 3: +	case kGoalIzoRunToUG02:  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append_Run(kActorIzo, 149, 0);  		AI_Movement_Track_Append_Run(kActorIzo, 152, 0);  		AI_Movement_Track_Repeat(kActorIzo);  		Scene_Exit_Add_2D_Exit(1, 394, 229, 485, 371, 1); -		Game_Flag_Set(402); +		Game_Flag_Set(kFlagHC03Available);  		return true; -	case 100: +	case kGoalIzoStopRunning:  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Repeat(kActorIzo);  		return true; -	case 101: +	case kGoalIzoRunToRC03:  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append_Run(kActorIzo, 153, 0);  		AI_Movement_Track_Append(kActorIzo, 154, 0);  		AI_Movement_Track_Repeat(kActorIzo);  		return true; -	case 102: +	case kGoalIzoWaitingAtRC03:  		return true; -	case 103: +	case kGoalIzoEscape:  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append(kActorIzo, 153, 0);  		AI_Movement_Track_Append(kActorIzo, 39, 120);  		AI_Movement_Track_Append(kActorIzo, 33, 0);  		AI_Movement_Track_Repeat(kActorIzo); -		return 1; +		return true; -	case 110: -		Game_Flag_Set(486); +	case kGoalIzoRC03Walk: +		Game_Flag_Set(kFlagDNARowAvailable);  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append(kActorIzo, 349, 0);  		AI_Movement_Track_Repeat(kActorIzo);  		return true; -	case 111: -		Game_Flag_Set(486); +	case kGoalIzoRC03Run: +		Game_Flag_Set(kFlagDNARowAvailable);  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append_Run(kActorIzo, 349, 0);  		AI_Movement_Track_Repeat(kActorIzo);  		return true; -	case 114: -		Game_Flag_Set(486); +	case kGoalIzoRC03RunAway: +		Game_Flag_Set(kFlagDNARowAvailable);  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append_Run(kActorIzo, 174, 0);  		AI_Movement_Track_Repeat(kActorIzo); @@ -334,18 +350,18 @@ bool AIScriptIzo::GoalChanged(int currentGoalNumber, int newGoalNumber) {  			AI_Movement_Track_Append(kActorIzo, 34, 0);  		}  		AI_Movement_Track_Repeat(kActorIzo); -		Game_Flag_Set(486); +		Game_Flag_Set(kFlagDNARowAvailable);  		return true; -	case 120: -		Actor_Set_Targetable(kActorIzo, 0); +	case kGoalIzoGetArrested: +		Actor_Set_Targetable(kActorIzo, false);  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append(kActorIzo, 174, 0);  		AI_Movement_Track_Append(kActorIzo, 33, 0);  		AI_Movement_Track_Repeat(kActorIzo);  		return true; -	case 150: +	case kGoalIzoGoToHC01:  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append(kActorIzo, 39, Random_Query(15, 30));  		AI_Movement_Track_Append(kActorIzo, 149, 0); @@ -353,7 +369,7 @@ bool AIScriptIzo::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		AI_Movement_Track_Repeat(kActorIzo);  		return true; -	case 155: +	case kGoalIzoGoToHC03:  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append(kActorIzo, 149, 0);  		if (Game_Flag_Query(kFlagIzoIsReplicant)) { @@ -372,31 +388,31 @@ bool AIScriptIzo::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		AI_Movement_Track_Flush(kActorIzo);  		return true; -	case 180: -		Game_Flag_Set(486); +	case kGoalIzoGotArrested: +		Game_Flag_Set(kFlagDNARowAvailable);  		Actor_Put_In_Set(kActorIzo, kSetFreeSlotA);  		Actor_Set_At_Waypoint(kActorIzo, 33, 0);  		return true; -	case 198: +	case kGoalIzoDieHidden:  		AI_Movement_Track_Flush(kActorIzo);  		AI_Movement_Track_Append(kActorIzo, 41, 0);  		AI_Movement_Track_Repeat(kActorIzo);  		Actor_Set_Goal_Number(kActorIzo, 999);  		return true; -	case 199: -		Game_Flag_Set(486); +	case kGoalIzoDie: +		Game_Flag_Set(kFlagDNARowAvailable);  		AI_Movement_Track_Flush(kActorIzo);  		Ambient_Sounds_Play_Speech_Sound(kActorIzo, 9000, 100, 0, 0, 0); -		Actor_Change_Animation_Mode(kActorIzo, 48); +		Actor_Change_Animation_Mode(kActorIzo, kAnimationModeDie);  		Actor_Set_Goal_Number(kActorIzo, 999);  		Scene_Exits_Enable(); -		Actor_Retired_Here(kActorIzo, 36, 12, 1, -1); +		Actor_Retired_Here(kActorIzo, 36, 12, true, -1);  		return true;  	case 200: -		Game_Flag_Set(486); +		Game_Flag_Set(kFlagDNARowAvailable);  		return true;  	case 300: @@ -418,7 +434,7 @@ bool AIScriptIzo::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		return true;  	case 999: -		Actor_Set_Goal_Number(kActorIzo, 599); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoDead);  		return true;  	case 9999: @@ -539,8 +555,10 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {  		if (_animationFrame == 9) {  			Actor_Combat_AI_Hit_Attempt(7);  		} -		if (Actor_Query_Goal_Number(kActorIzo) == 102 && _animationFrame == 6) { -			Actor_Change_Animation_Mode(0, 20); +		if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoWaitingAtRC03 +		 && _animationFrame == 6 +		) { +			Actor_Change_Animation_Mode(kActorMcCoy, 20);  		}  		Actor_Query_Goal_Number(kActorIzo);  		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) { @@ -579,14 +597,18 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {  	case 14:  	case 15:  		*animation = _animationFrame + 280; -		if (++_animationFrame >= 2 -				&& (Actor_Query_Goal_Number(kActorIzo) == 110 || Actor_Query_Goal_Number(kActorIzo) == 111)) { +		_animationFrame++; +		if (_animationFrame >= 2 +		 && (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk +		  || Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Run +		 ) +		) {  			*animation = 297;  			_animationFrame = 0;  			_animationState = 0;  			_var4 = 0; -			Actor_Change_Animation_Mode(kActorIzo, 0); -			Actor_Set_Goal_Number(kActorIzo, 111); +			Actor_Change_Animation_Mode(kActorIzo, kAnimationModeIdle); +			Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03Run);  		} else {  			if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {  				*animation = 297; @@ -700,17 +722,17 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {  		*animation = 311;  		_animationFrame++;  		if (_animationFrame == 6) { -			Scene_Loop_Set_Default(0); -			Scene_Loop_Start_Special(2, 2, 1); +			Scene_Loop_Set_Default(0); // // HC01 - MainLoop +			Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true); // HC01 - IzoFlashLoop  			Player_Set_Combat_Mode(kActorSteele);  		}  		if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(311)) {  			*animation = 297;  			_animationFrame = 0;  			_animationState = 0; -			Game_Flag_Set(407); -			Item_Add_To_World(107, 977, 8, 597.46f, 0.14f, 49.92f, 0, 12, 12, 0, 1, 0, 0); -			Actor_Set_Goal_Number(kActorIzo, 3); +			Game_Flag_Set(kFlagUnused407); +			Item_Add_To_World(kItemCamera, 977, kSetHC01_HC02_HC03_HC04, 597.46f, 0.14f, 49.92f, 0, 12, 12, false, true, false, false); +			Actor_Set_Goal_Number(kActorIzo, kGoalIzoRunToUG02);  		}  		break; @@ -784,7 +806,7 @@ bool AIScriptIzo::ChangeAnimationMode(int mode) {  		return true;  	case 1: -		if (Actor_Query_Goal_Number(kActorIzo) == 102) { +		if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoWaitingAtRC03) {  			_animationState = 22;  		} else {  			_animationState = 20; @@ -987,32 +1009,29 @@ void AIScriptIzo::FledCombat() {  }  void AIScriptIzo::someDialog() { -	int input; -  	Dialogue_Menu_Clear_List(); -	DM_Add_To_List_Never_Repeat_Once_Selected(0, 7, 4, -1); +	DM_Add_To_List_Never_Repeat_Once_Selected(0, 7, 4, -1); // MOTIVES -	if (Actor_Clue_Query(0, 179)) { -		DM_Add_To_List_Never_Repeat_Once_Selected(10, 8, -1, -1); +	if (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewA)) { +		DM_Add_To_List_Never_Repeat_Once_Selected(10, 8, -1, -1); // LUCY  	} -	DM_Add_To_List_Never_Repeat_Once_Selected(20, 3, 7, 4); +	DM_Add_To_List_Never_Repeat_Once_Selected(20, 3, 7, 4); // REFERENCE  	DM_Add_To_List_Never_Repeat_Once_Selected(30, -1, 3, 7); -	Dialogue_Menu_Appear(320, 240); - -	input = Dialogue_Menu_Query_Input(); +	Dialogue_Menu_Appear(320, 240); +	int input = Dialogue_Menu_Query_Input();  	Dialogue_Menu_Disappear();  	switch (input) { -	case 0: +	case 0: // MOTIVES  		Actor_Says(kActorMcCoy, 5470, 15);  		Actor_Says(kActorMcCoy, 710, 13); -		Actor_Set_Goal_Number(kActorIzo, 103); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoEscape);  		Player_Gains_Control();  		break; -	case 10: +	case 10: // LUCY  		if (Game_Flag_Query(kFlagIzoIsReplicant)) {  			Actor_Says(kActorMcCoy, 5475, 18);  			Actor_Says(kActorIzo, 720, 12); @@ -1033,19 +1052,19 @@ void AIScriptIzo::someDialog() {  			Actor_Says(kActorIzo, 830, 13);  			Actor_Says(kActorIzo, 840, 13);  		} -		Actor_Set_Goal_Number(kActorIzo, 103); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoEscape);  		Player_Gains_Control();  		break; -	case 20: +	case 20: // REFERENCE  		Actor_Says(kActorMcCoy, 5480, 18); -		Actor_Set_Goal_Number(kActorIzo, 103); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoEscape);  		Player_Gains_Control();  		break; -	case 30: -		Player_Set_Combat_Mode(kActorSteele); -		Actor_Set_Goal_Number(kActorIzo, 103); +	case 30: // DONE +		Player_Set_Combat_Mode(true); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoEscape);  		Player_Gains_Control();  		break;  	} diff --git a/engines/bladerunner/script/ai/lucy.cpp b/engines/bladerunner/script/ai/lucy.cpp index 72cb959a53..0f53758b28 100644 --- a/engines/bladerunner/script/ai/lucy.cpp +++ b/engines/bladerunner/script/ai/lucy.cpp @@ -363,7 +363,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		Actor_Says(kActorLucy, 360, 13);  		Actor_Says(kActorMcCoy, 1710, 13); -		if (Global_Variable_Query(kVariableAffectionTowards) == 3) { +		if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy) {  			Actor_Says(kActorLucy, 940, 13);  			Actor_Says(kActorMcCoy, 6780, 12);  			Actor_Says(kActorLucy, 950, 12); @@ -371,11 +371,13 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {  			Actor_Says(kActorMcCoy, 6785, 13);  			Actor_Says(kActorLucy, 970, 16);  			Actor_Says(kActorLucy, 980, 13); -			if (Game_Flag_Query(47)) { +			if (Game_Flag_Query(kFlagDektoraIsReplicant)) {  				Actor_Says(kActorLucy, 990, 15);  			}  			Actor_Says(kActorMcCoy, 6790, 13); -			if (Game_Flag_Query(47) && Game_Flag_Query(46)) { +			if (Game_Flag_Query(kFlagDektoraIsReplicant) +			 && Game_Flag_Query(kFlagLucyIsReplicant) +			) {  				Actor_Says(kActorLucy, 1000, 12);  			}  			Actor_Says(kActorLucy, 1010, 15); @@ -450,7 +452,7 @@ bool AIScriptLucy::GoalChanged(int currentGoalNumber, int newGoalNumber) {  	case 300:  		Actor_Put_In_Set(kActorLucy, kSetFreeSlotA);  		Actor_Set_At_Waypoint(kActorLucy, 33, 0); -		if (Global_Variable_Query(kVariableAffectionTowards) == 3) { +		if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy) {  			Actor_Set_Goal_Number(kActorLucy, 310);  		}  		break; @@ -861,8 +863,8 @@ void AIScriptLucy::checkCombat() {  	 && Global_Variable_Query(kVariableChapter) == 5  	 && Actor_Query_Goal_Number(kActorLucy) != 450  	) { -		if (Global_Variable_Query(kVariableAffectionTowards) == 3) { -			Global_Variable_Set(kVariableAffectionTowards, 0); +		if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy) { +			Global_Variable_Set(kVariableAffectionTowards, kAffectionTowardsNone);  		}  		Actor_Set_Goal_Number(kActorLucy, 450);  		Non_Player_Actor_Combat_Mode_On(kActorLucy, kActorCombatStateIdle, false, kActorMcCoy, 4, kAnimationModeIdle, kAnimationModeWalk, kAnimationModeRun, -1, 0, 0, 10, 300, false); diff --git a/engines/bladerunner/script/ai/mccoy.cpp b/engines/bladerunner/script/ai/mccoy.cpp index 2f514ca51f..48a8e8b698 100644 --- a/engines/bladerunner/script/ai/mccoy.cpp +++ b/engines/bladerunner/script/ai/mccoy.cpp @@ -266,8 +266,7 @@ int AIScriptMcCoy::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueI  }  bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) { -	unsigned int v5; -	unsigned int v7; +	unsigned int affectionTowards;  	switch (newGoalNumber) {  	case 0: @@ -412,13 +411,13 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {  	case 400:  		Actor_Set_Health(kActorMcCoy, 50, 50);  		Game_Flag_Set(373); -		v5 = Global_Variable_Query(kVariableAffectionTowards); -		if (v5 == 1) { +		affectionTowards = Global_Variable_Query(kVariableAffectionTowards); +		if (affectionTowards == kAffectionTowardsSteele) {  			Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, 3); -		} else if (v5 == 2) { +		} else if (affectionTowards == kAffectionTowardsDektora) {  			Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, -5);  			Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 3); -		} else if (v5 == 3) { +		} else if (affectionTowards == kAffectionTowardsLucy) {  			Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, -5);  			Actor_Modify_Friendliness_To_Other(kActorClovis, kActorMcCoy, 5);  		} @@ -428,20 +427,22 @@ bool AIScriptMcCoy::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		if (Actor_Query_Friendliness_To_Other(kActorSteele, kActorMcCoy) < Actor_Query_Friendliness_To_Other(kActorClovis, kActorMcCoy)) {  			Game_Flag_Set(653);  		} -		v7 = Global_Variable_Query(kVariableAffectionTowards); -		if (v7 == 1) { +		affectionTowards = Global_Variable_Query(kVariableAffectionTowards); +		if (affectionTowards == kAffectionTowardsSteele) {  			if (Game_Flag_Query(653)) { -				Global_Variable_Set(kVariableAffectionTowards, 0); +				Global_Variable_Set(kVariableAffectionTowards, kAffectionTowardsNone);  			} -		} else if (v7 == 2 || v7 == 3) { +		} else if (affectionTowards == kAffectionTowardsDektora +		        || affectionTowards == kAffectionTowardsLucy +		) {  			if (!Game_Flag_Query(653)) { -				Global_Variable_Set(kVariableAffectionTowards, 0); +				Global_Variable_Set(kVariableAffectionTowards, kAffectionTowardsNone);  			}  		}  		if (!Game_Flag_Query(653)) {  			Game_Flag_Set(kFlagMaggieIsHurt);  		} -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Global_Variable_Set(kVariableChapter, 5);  		Outtake_Play(kOuttakeMovieD, false, -1); @@ -598,7 +599,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {  			dword_45A0DC = 0;  			_animationState = 0;  			Player_Gains_Control(); -			Item_Add_To_World(109, 982, 6, -110.0, 0.0, -192.0, 0, 48, 32, false, true, false, false); +			Item_Add_To_World(109, 982, kSetCT08_CT51_UG12, -110.0, 0.0, -192.0, 0, 48, 32, false, true, false, false);  		}  		break;  	case 58: diff --git a/engines/bladerunner/script/ai/runciter.cpp b/engines/bladerunner/script/ai/runciter.cpp index 19e15989a7..e4625f1159 100644 --- a/engines/bladerunner/script/ai/runciter.cpp +++ b/engines/bladerunner/script/ai/runciter.cpp @@ -48,14 +48,18 @@ void AIScriptRunciter::Initialize() {  	var_45CD80 = 1;  	var_45CD84 = 0;  	var_45CD88 = 0; -	Actor_Set_Goal_Number(kActorRunciter, 0); +	Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterDefault);  }  bool AIScriptRunciter::Update() { -	if (Actor_Query_Goal_Number(kActorRunciter) == 0 && Game_Flag_Query(kFlagRC01PoliceDone)) { -		Actor_Set_Goal_Number(kActorRunciter, 2); +	if (Actor_Query_Goal_Number(kActorRunciter) == kGoalRunciterDefault +	 && Game_Flag_Query(kFlagRC01PoliceDone) +	) { +		Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterHide);  	} -	if (Global_Variable_Query(kVariableChapter) == 4 && Actor_Query_Goal_Number(kActorRunciter) < 300) { +	if (Global_Variable_Query(kVariableChapter) == 4 +	 && Actor_Query_Goal_Number(kActorRunciter) < 300 +	) {  		Actor_Set_Goal_Number(kActorRunciter, 300);  	}  	return false; @@ -149,8 +153,8 @@ void AIScriptRunciter::ShotAtAndMissed() {}  bool AIScriptRunciter::ShotAtAndHit() {  	Actor_Set_Targetable(kActorRunciter, false); -	Actor_Change_Animation_Mode(kActorRunciter, 48); -	Actor_Set_Goal_Number(kActorRunciter, 599); +	Actor_Change_Animation_Mode(kActorRunciter, kAnimationModeDie); +	Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterDead);  	Delay(2000);  	if (Actor_Clue_Query(kActorMcCoy, kClueZubensMotive)) {  		Actor_Voice_Over(2050, kActorVoiceOver); @@ -171,12 +175,12 @@ int AIScriptRunciter::GetFriendlinessModifierIfGetsClue(int otherActorId, int cl  }  bool AIScriptRunciter::GoalChanged(int currentGoalNumber, int newGoalNumber) { -	if (newGoalNumber == 0) { +	if (newGoalNumber == kGoalRunciterDefault) {  		Actor_Put_In_Set(kActorRunciter, kSetRC02_RC51);  		Actor_Set_At_Waypoint(kActorRunciter, 92, 567);  		return false;  	} -	if (newGoalNumber == 1) { +	if (newGoalNumber == kGoalRunciterWalkAround) {  		AI_Movement_Track_Flush(kActorRunciter);  		if (Random_Query(0, 1) == 1) {  			if (Random_Query(0, 1) == 0) { @@ -194,14 +198,14 @@ bool AIScriptRunciter::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		AI_Movement_Track_Repeat(kActorRunciter);  		return true;  	} -	if (newGoalNumber == 2) { +	if (newGoalNumber == kGoalRunciterHide) {  		AI_Movement_Track_Flush(kActorRunciter);  		AI_Movement_Track_Append(kActorRunciter, 39, 120);  		AI_Movement_Track_Append(kActorRunciter, 40, 0);  		AI_Movement_Track_Repeat(kActorRunciter);  		return false;  	} -	if (newGoalNumber == 300) { +	if (newGoalNumber == kGoalRunciterAtShop) {  		Actor_Put_In_Set(kActorRunciter, kSetRC02_RC51);  		Actor_Set_At_Waypoint(kActorRunciter, 93, 1007);  		return false; diff --git a/engines/bladerunner/script/ai/sadik.cpp b/engines/bladerunner/script/ai/sadik.cpp index d66609f71d..0684de914c 100644 --- a/engines/bladerunner/script/ai/sadik.cpp +++ b/engines/bladerunner/script/ai/sadik.cpp @@ -50,30 +50,33 @@ void AIScriptSadik::Initialize() {  }  bool AIScriptSadik::Update() { -	if (Global_Variable_Query(kVariableChapter) != 2 || Player_Query_Current_Scene() != 10 || Game_Flag_Query(391)) { -		if (_var1) { -			Sound_Play(_var1, 100, 0, 0, 50); -			_var1 = 0; -		} -		if (Global_Variable_Query(kVariableChapter) == 3 && Actor_Query_Goal_Number(kActorSadik) < 200) { -			Actor_Set_Goal_Number(kActorSadik, 200); -		} -		if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorSadik) < 400) { -			Actor_Set_Goal_Number(kActorSadik, 400); -		} -		if (Actor_Query_Goal_Number(kActorSadik) == 411) { -			if (Game_Flag_Query(657)) { -				Actor_Set_Goal_Number(kActorSadik, 412); -			} -		} -		return false; -	} else { +	if (Global_Variable_Query(kVariableChapter) == 2 +	 && Player_Query_Current_Scene() == kSceneBB09 +	 && !Game_Flag_Query(391) +	) {  		Actor_Set_Goal_Number(kActorSadik, 101); -		Actor_Set_Targetable(kActorSadik, 1); +		Actor_Set_Targetable(kActorSadik, true);  		Game_Flag_Set(391);  		Game_Flag_Set(406);  		return true;  	} + +	if (_var1) { +		Sound_Play(_var1, 100, 0, 0, 50); +		_var1 = 0; +	} +	if (Global_Variable_Query(kVariableChapter) == 3 && Actor_Query_Goal_Number(kActorSadik) < 200) { +		Actor_Set_Goal_Number(kActorSadik, 200); +	} +	if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorSadik) < 400) { +		Actor_Set_Goal_Number(kActorSadik, 400); +	} +	if (Actor_Query_Goal_Number(kActorSadik) == 411) { +		if (Game_Flag_Query(657)) { +			Actor_Set_Goal_Number(kActorSadik, 412); +		} +	} +	return false;  }  void AIScriptSadik::TimerExpired(int timer) { @@ -192,7 +195,7 @@ void AIScriptSadik::Retired(int byActorId) {  			Delay(2000);  			Player_Set_Combat_Mode(0);  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, 1, 0, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(579);  			Game_Flag_Reset(653); diff --git a/engines/bladerunner/script/ai/steele.cpp b/engines/bladerunner/script/ai/steele.cpp index e1f8feed19..c5c5b0cb3c 100644 --- a/engines/bladerunner/script/ai/steele.cpp +++ b/engines/bladerunner/script/ai/steele.cpp @@ -42,7 +42,7 @@ void AIScriptSteele::Initialize() {  	Actor_Put_In_Set(kActorSteele, kSetFreeSlotG);  	Actor_Set_At_Waypoint(kActorSteele, 39, 0); -	Actor_Set_Goal_Number(kActorSteele, 0); +	Actor_Set_Goal_Number(kActorSteele, kGoalSteeleDefault);  	Actor_Clue_Acquire(kActorSteele, kClueCrimeSceneNotes, true, -1);  } @@ -87,7 +87,7 @@ bool AIScriptSteele::Update() {  		}  		if (Actor_Query_Goal_Number(kActorSteele) == 11) { -			Actor_Set_Goal_Number(kActorSteele, 0); +			Actor_Set_Goal_Number(kActorSteele, kGoalSteeleDefault);  			return true;  		} @@ -278,17 +278,17 @@ void AIScriptSteele::CompletedMovementTrack() {  		Actor_Set_Goal_Number(kActorSteele, 11);  		break; -	case 100: -		if (Actor_Query_Goal_Number(kActorSteele) == 100) { //why is this here? double check? +	case kGoalSteeleApprehendIzo: +		if (Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleApprehendIzo) { //why is this here? double check?  			Player_Set_Combat_Mode(kActorMcCoy); -			if (Actor_Query_Goal_Number(kActorIzo) != 199) { +			if (Actor_Query_Goal_Number(kActorIzo) != kGoalIzoDie) {  				if (Actor_Query_In_Between_Two_Actors(kActorMcCoy, kActorSteele, kActorIzo)) { -					Actor_Set_Goal_Number(kActorSteele, 125); +					Actor_Set_Goal_Number(kActorSteele, kGoalSteeleIzoBlockedByMcCoy);  				} else if (Game_Flag_Query(kFlagIzoIsReplicant)) { -					Actor_Set_Goal_Number(kActorSteele, 120); +					Actor_Set_Goal_Number(kActorSteele, kGoalSteeleShootIzo);  				} else { -					Actor_Set_Goal_Number(kActorSteele, 121); +					Actor_Set_Goal_Number(kActorSteele, kGoalSteeleArrestIzo);  				}  			}  		} @@ -332,7 +332,7 @@ void AIScriptSteele::CompletedMovementTrack() {  		Actor_Set_Goal_Number(kActorSteele, 433);  		Player_Set_Combat_Mode(kActorSteele);  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, false, false, 0); -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Game_Flag_Set(578);  		Set_Enter(kSetKP07, kSceneKP07); @@ -634,10 +634,10 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		} else {  			Actor_Clue_Acquire(kActorSteele, kClueGrigorianInterviewB2, true, kActorGrigorian);  		} -		Actor_Set_Goal_Number(kActorSteele, 0); +		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleDefault);  		return true; -	case 100: +	case kGoalSteeleApprehendIzo:  		AI_Movement_Track_Flush(kActorSteele);  		if (Game_Flag_Query(kFlagIzoIsReplicant)) {  			AI_Movement_Track_Append_Run(kActorSteele, 202, 0); @@ -727,92 +727,92 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {  		}  		return true; -	case 120: +	case kGoalSteeleShootIzo:  		Actor_Force_Stop_Walking(kActorMcCoy);  		Sound_Play(27, 100, 0, 0, 50); -		Actor_Set_Goal_Number(kActorIzo, 199); -		Actor_Change_Animation_Mode(kActorMcCoy, 0); -		Actor_Face_Actor(kActorMcCoy, kActorSteele, 1); -		Loop_Actor_Walk_To_Actor(kActorSteele, 0, 48, 0, 1); -		Actor_Says(kActorSteele, 1860, 3); -		Actor_Face_Actor(kActorMcCoy, kActorSteele, 1); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoDie); +		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle); +		Actor_Face_Actor(kActorMcCoy, kActorSteele, true); +		Loop_Actor_Walk_To_Actor(kActorSteele, 0, 48, false, true); +		Actor_Says(kActorSteele, 1860, kAnimationModeTalk); +		Actor_Face_Actor(kActorMcCoy, kActorSteele, true);  		Actor_Says(kActorMcCoy, 4825, 18); -		Actor_Face_Actor(kActorSteele, kActorMcCoy, 1); -		Actor_Says(kActorSteele, 1870, 3); -		Actor_Says(kActorSteele, 1880, 3); +		Actor_Face_Actor(kActorSteele, kActorMcCoy, true); +		Actor_Says(kActorSteele, 1870, kAnimationModeTalk); +		Actor_Says(kActorSteele, 1880, kAnimationModeTalk);  		Actor_Says(kActorMcCoy, 4830, 13); -		Actor_Says(kActorSteele, 1890, 3); -		Actor_Says(kActorSteele, 1900, 3); -		Actor_Face_Actor(kActorSteele, kActorIzo, 1); -		Actor_Says(kActorSteele, 1910, 3); -		Actor_Says(kActorSteele, 1920, 3); -		Actor_Face_Actor(kActorMcCoy, kActorSteele, 1); -		Actor_Face_Actor(kActorSteele, kActorMcCoy, 1); -		Actor_Says(kActorSteele, 1930, 3); -		Actor_Set_Goal_Number(kActorSteele, 130); +		Actor_Says(kActorSteele, 1890, kAnimationModeTalk); +		Actor_Says(kActorSteele, 1900, kAnimationModeTalk); +		Actor_Face_Actor(kActorSteele, kActorIzo, true); +		Actor_Says(kActorSteele, 1910, kAnimationModeTalk); +		Actor_Says(kActorSteele, 1920, kAnimationModeTalk); +		Actor_Face_Actor(kActorMcCoy, kActorSteele, true); +		Actor_Face_Actor(kActorSteele, kActorMcCoy, true); +		Actor_Says(kActorSteele, 1930, kAnimationModeTalk); +		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleLeaveRC03);  		Player_Gains_Control();  		return true; -	case 121: +	case kGoalSteeleArrestIzo:  		Actor_Force_Stop_Walking(kActorMcCoy); -		Actor_Face_Actor(kActorSteele, kActorIzo, 1); -		Actor_Change_Animation_Mode(kActorIzo, 0); -		Actor_Face_Actor(kActorIzo, kActorSteele, 1); -		Actor_Says_With_Pause(kActorSteele, 2010, 0.0, 4); -		Actor_Change_Animation_Mode(kActorSteele, 4); -		Loop_Actor_Walk_To_Actor(kActorSteele, kActorIzo, 60, 0, 0); -		Actor_Change_Animation_Mode(kActorSteele, 4); +		Actor_Face_Actor(kActorSteele, kActorIzo, true); +		Actor_Change_Animation_Mode(kActorIzo, kAnimationModeIdle); +		Actor_Face_Actor(kActorIzo, kActorSteele, true); +		Actor_Says_With_Pause(kActorSteele, 2010, 0.0, kAnimationModeCombatIdle); +		Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle); +		Loop_Actor_Walk_To_Actor(kActorSteele, kActorIzo, 60, false, false); +		Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle);  		_animationState = 23;  		_animationFrame = 0; -		Actor_Says(kActorIzo, 660, 3); -		Actor_Says_With_Pause(kActorSteele, 2020, 0.0f, 4); -		Actor_Says_With_Pause(kActorSteele, 2030, 0.0f, 4); -		Actor_Change_Animation_Mode(kActorSteele, 4); -		Actor_Says(kActorIzo, 670, 3); -		Actor_Says(kActorSteele, 2040, 4); -		Actor_Says(kActorIzo, 680, 3); -		Actor_Says(kActorSteele, 2050, 3); -		Actor_Face_Actor(kActorSteele, kActorMcCoy, 1); -		Actor_Says(kActorSteele, 2060, 3); -		Actor_Says(kActorMcCoy, 4845, 3); -		Actor_Says(kActorSteele, 2070, 3); -		Actor_Says(kActorSteele, 2080, 3); -		Actor_Face_Actor(kActorSteele, kActorIzo, 1); -		Actor_Says(kActorSteele, 2090, 3); -		Actor_Says_With_Pause(kActorSteele, 2100, 1.0f, 3); -		Actor_Says(kActorIzo, 690, 3); -		Actor_Says(kActorSteele, 2110, 3); -		Actor_Says(kActorSteele, 2120, 3); -		Actor_Face_Actor(kActorSteele, kActorMcCoy, 1); -		Actor_Says(kActorSteele, 2140, 3); -		Actor_Says(kActorMcCoy, 4850, 3); -		Actor_Says(kActorSteele, 2150, 3); -		Actor_Set_Goal_Number(kActorIzo, 120); -		Actor_Set_Goal_Number(kActorSteele, 130); -		Actor_Set_Goal_Number(kActorSteele, 0); -		return true; - -	case 125: +		Actor_Says(kActorIzo, 660, kAnimationModeTalk); +		Actor_Says_With_Pause(kActorSteele, 2020, 0.0f, kAnimationModeCombatIdle); +		Actor_Says_With_Pause(kActorSteele, 2030, 0.0f, kAnimationModeCombatIdle); +		Actor_Change_Animation_Mode(kActorSteele, kAnimationModeCombatIdle); +		Actor_Says(kActorIzo, 670, kAnimationModeTalk); +		Actor_Says(kActorSteele, 2040, kAnimationModeCombatIdle); +		Actor_Says(kActorIzo, 680, kAnimationModeTalk); +		Actor_Says(kActorSteele, 2050, kAnimationModeTalk); +		Actor_Face_Actor(kActorSteele, kActorMcCoy, true); +		Actor_Says(kActorSteele, 2060, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 4845, kAnimationModeTalk); +		Actor_Says(kActorSteele, 2070, kAnimationModeTalk); +		Actor_Says(kActorSteele, 2080, kAnimationModeTalk); +		Actor_Face_Actor(kActorSteele, kActorIzo, true); +		Actor_Says(kActorSteele, 2090, kAnimationModeTalk); +		Actor_Says_With_Pause(kActorSteele, 2100, 1.0f, kAnimationModeTalk); +		Actor_Says(kActorIzo, 690, kAnimationModeTalk); +		Actor_Says(kActorSteele, 2110, kAnimationModeTalk); +		Actor_Says(kActorSteele, 2120, kAnimationModeTalk); +		Actor_Face_Actor(kActorSteele, kActorMcCoy, true); +		Actor_Says(kActorSteele, 2140, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 4850, kAnimationModeTalk); +		Actor_Says(kActorSteele, 2150, kAnimationModeTalk); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoGetArrested); +		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleLeaveRC03); +		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleDefault); +		return true; + +	case kGoalSteeleIzoBlockedByMcCoy:  		Actor_Force_Stop_Walking(kActorMcCoy); -		Actor_Set_Goal_Number(kActorIzo, 114); -		Actor_Says(kActorSteele, 1940, 3); -		Loop_Actor_Walk_To_Actor(kActorSteele, 0, 60, 0, 1); -		Actor_Face_Actor(kActorSteele, kActorMcCoy, 1); -		Actor_Face_Actor(kActorMcCoy, kActorSteele, 1); -		Actor_Says(kActorSteele, 1950, 3); +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03RunAway); +		Actor_Says(kActorSteele, 1940, kAnimationModeTalk); +		Loop_Actor_Walk_To_Actor(kActorSteele, 0, 60, false, true); +		Actor_Face_Actor(kActorSteele, kActorMcCoy, true); +		Actor_Face_Actor(kActorMcCoy, kActorSteele, true); +		Actor_Says(kActorSteele, 1950, kAnimationModeTalk);  		Actor_Says(kActorMcCoy, 4835, 14); -		Actor_Says(kActorSteele, 1980, 3); +		Actor_Says(kActorSteele, 1980, kAnimationModeTalk);  		Actor_Says(kActorMcCoy, 4840, 15); -		Actor_Says(kActorSteele, 1990, 3); -		Actor_Says(kActorSteele, 2000, 3); -		Actor_Set_Goal_Number(kActorSteele, 130); +		Actor_Says(kActorSteele, 1990, kAnimationModeTalk); +		Actor_Says(kActorSteele, 2000, kAnimationModeTalk); +		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleLeaveRC03);  		Scene_Exits_Enable();  		return true;  	case 126:  		return true; -	case 130: +	case kGoalSteeleLeaveRC03:  		AI_Movement_Track_Flush(kActorSteele);  		AI_Movement_Track_Append(kActorSteele, 174, 0);  		AI_Movement_Track_Append(kActorSteele, 35, 0); @@ -1899,7 +1899,7 @@ bool AIScriptSteele::UpdateAnimation(int *animation, int *frame) {  bool AIScriptSteele::ChangeAnimationMode(int mode) {  	switch (mode) { -	case 0: +	case kGoalSteeleDefault:  		if (Game_Flag_Query(603)) {  			_var1 = 3;  		} else { @@ -1951,7 +1951,9 @@ bool AIScriptSteele::ChangeAnimationMode(int mode) {  	case 1:  		if ((_animationState != 4 && _animationState != 23 && _animationState != 25 && _animationState != 26)  				|| _animationState > 26) { -			if (Actor_Query_Goal_Number(kActorSteele) != 100 && Actor_Query_Goal_Number(kActorSteele) != 121) { +			if (Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleApprehendIzo +			 && Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleArrestIzo +			) {  				_animationState = 2;  				_animationFrame = 0;  			} else { @@ -1964,9 +1966,10 @@ bool AIScriptSteele::ChangeAnimationMode(int mode) {  		}  		break;  	case 2: -		if (Actor_Query_Goal_Number(kActorSteele) != 100 -				&& Actor_Query_Goal_Number(kActorSteele) != 121 -				&& _animationState != 23) { +		if (Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleApprehendIzo +		 && Actor_Query_Goal_Number(kActorSteele) != kGoalSteeleArrestIzo +		 && _animationState != 23 +		) {  			_animationState = 3;  			_animationFrame = 0;  		} else { @@ -2187,7 +2190,7 @@ void AIScriptSteele::SetAnimationState(int animationState, int animationFrame, i  bool AIScriptSteele::ReachedMovementTrackWaypoint(int waypointId) {  	if (waypointId == 174 -	 && Actor_Query_Goal_Number(kActorSteele) == 130 +	 && Actor_Query_Goal_Number(kActorSteele) == kGoalSteeleLeaveRC03  	)  		Actor_Set_Goal_Number(kActorSteele, kGoalSteeleGoToPoliceStation); diff --git a/engines/bladerunner/script/scene/ar01.cpp b/engines/bladerunner/script/scene/ar01.cpp index adef4d4894..ed4a96b086 100644 --- a/engines/bladerunner/script/scene/ar01.cpp +++ b/engines/bladerunner/script/scene/ar01.cpp @@ -50,13 +50,13 @@ void SceneScriptAR01::InitializeScene() {  		Setup_Scene_Information(-152.0f, 0.0f, 332.0f, 545);  	}  	Scene_Exit_Add_2D_Exit(kAR01ExitHC01, 134, 165, 177, 290, 3); -	Scene_Exit_Add_2D_Exit(kAR01ExitAR02, 319, 0, 639, 207, 0); +	Scene_Exit_Add_2D_Exit(kAR01ExitAR02, 319,   0, 639, 207, 0);  	if (Game_Flag_Query(kFlagSpinnerAtAR01)) {  		Scene_Exit_Add_2D_Exit(kAR01ExitSpinner, 0, 404, 99, 479, 2);  	} -	Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1); -	Ambient_Sounds_Add_Looping_Sound(81, 60, 100, 1); -	Ambient_Sounds_Add_Looping_Sound(241, 50, 1, 1); +	Ambient_Sounds_Add_Looping_Sound( 54, 50,   1, 1); +	Ambient_Sounds_Add_Looping_Sound( 81, 60, 100, 1); +	Ambient_Sounds_Add_Looping_Sound(241, 50,   1, 1);  	Ambient_Sounds_Add_Sound(182, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(184, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(185, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); @@ -66,20 +66,20 @@ void SceneScriptAR01::InitializeScene() {  	Ambient_Sounds_Add_Sound(191, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(192, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(242, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(243, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(244, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(245, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(246, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(247, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(248, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(249, 3, 30, 11, 11, 50, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Sound(242, 3, 30, 11, 11,   50, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(243, 3, 30, 11, 11,   50, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(244, 3, 30, 11, 11,   50, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(245, 3, 30, 11, 11,   50, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(246, 3, 30, 11, 11,   50, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(247, 3, 30, 11, 11,   50, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(248, 3, 30, 11, 11,   50, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(249, 3, 30, 11, 11,   50, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Speech_Sound(60,  0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); -	Ambient_Sounds_Add_Sound(68, 10, 180, 16, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(69, 10, 180, 16, 25, 0, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 68, 10, 180, 16,  25, 0, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 69, 10, 180, 16,  25, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(375, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(376, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(377, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0); @@ -130,18 +130,41 @@ bool SceneScriptAR01::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptAR01::ClickedOnActor(int actorId) { -	if (actorId == kActorInsectDealer || actorId == kActorHasan) { +	if (actorId == kActorInsectDealer +	 || actorId == kActorHasan +	) {  		Actor_Face_Actor(kActorMcCoy, actorId, true);  		Actor_Says(kActorMcCoy, 8910, 14);  		return true;  	} +  	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)) {  			Actor_Face_Actor(kActorMcCoy, kActorFishDealer, true);  			Actor_Face_Actor(kActorFishDealer, kActorMcCoy, true); -			if (Game_Flag_Query(328)) { -				if (Actor_Clue_Query(kActorMcCoy, kClueStrangeScale1) && !Actor_Clue_Query(kActorMcCoy, kClueFishLadyInterview)) { +			if (!Game_Flag_Query(kFlagFishDealerTalk)) { +				Actor_Says(kActorMcCoy, 0, 18); +				Actor_Says(kActorFishDealer, 0, 14); +				Actor_Says(kActorFishDealer, 10, 14); +				Actor_Says(kActorFishDealer, 20, 14); +				Actor_Says(kActorFishDealer, 30, 14); +				Actor_Says(kActorMcCoy, 5, 17); +				Actor_Says(kActorFishDealer, 40, 14); +				Actor_Says(kActorMcCoy, 10, 13); +				Actor_Says(kActorFishDealer, 50, 14); +				Actor_Says(kActorMcCoy, 15, 17); +				Actor_Says(kActorFishDealer, 60, 14); +				Actor_Says(kActorFishDealer, 70, 14); +				Actor_Says(kActorFishDealer, 80, 14); +				Actor_Says(kActorFishDealer, 90, 14); +				Actor_Says(kActorMcCoy, 25, 13); +				Game_Flag_Set(kFlagFishDealerTalk); +				Actor_Set_Goal_Number(kActorFishDealer, 1); +			} else { +				if ( Actor_Clue_Query(kActorMcCoy, kClueStrangeScale1) +				 && !Actor_Clue_Query(kActorMcCoy, kClueFishLadyInterview) +				 ) {  					Actor_Says(kActorMcCoy, 40, 11);  					Actor_Says(kActorFishDealer, 120, 14);  					Actor_Says(kActorMcCoy, 45, 17); @@ -162,24 +185,6 @@ bool SceneScriptAR01::ClickedOnActor(int actorId) {  					}  				}  				Actor_Set_Goal_Number(kActorFishDealer, 1); -			} else { -				Actor_Says(kActorMcCoy, 0, 18); -				Actor_Says(kActorFishDealer, 0, 14); -				Actor_Says(kActorFishDealer, 10, 14); -				Actor_Says(kActorFishDealer, 20, 14); -				Actor_Says(kActorFishDealer, 30, 14); -				Actor_Says(kActorMcCoy, 5, 17); -				Actor_Says(kActorFishDealer, 40, 14); -				Actor_Says(kActorMcCoy, 10, 13); -				Actor_Says(kActorFishDealer, 50, 14); -				Actor_Says(kActorMcCoy, 15, 17); -				Actor_Says(kActorFishDealer, 60, 14); -				Actor_Says(kActorFishDealer, 70, 14); -				Actor_Says(kActorFishDealer, 80, 14); -				Actor_Says(kActorFishDealer, 90, 14); -				Actor_Says(kActorMcCoy, 25, 13); -				Game_Flag_Set(328); -				Actor_Set_Goal_Number(kActorFishDealer, 1);  			}  			return true;  		} @@ -193,8 +198,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, 1, false, 0)) { -			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0, 0.0, -149.0, 0, 0, false, 0); +		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);  			Game_Flag_Set(kFlagAR01toHC01);  			Game_Flag_Set(464);  			Game_Flag_Reset(kFlagMcCoyAtARxx); @@ -204,8 +209,9 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {  		}  		return true;  	} +  	if (exitId == kAR01ExitAR02) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.0, 0.0, -551.0, 0, 1, false, 0)) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.0, 0.0, -551.0, 0, true, false, 0)) {  			Game_Flag_Set(kFlagAR01toAR02);  			Async_Actor_Walk_To_XYZ(kActorMcCoy, -222.0, 0.0, -690.0, 0, false);  			Set_Enter(kSetAR01_AR02, kSceneAR02); @@ -213,32 +219,37 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {  		}  		return true;  	} +  	if (exitId == kAR01ExitSpinner) { -		if (Game_Flag_Query(486) == 1) { +		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, 1, false, 0); +		int v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -164.0f, 0.0f, 332.0f, 0, true, false, 0);  		Actor_Face_Heading(kActorMcCoy, 545, false); -		if (Actor_Query_Goal_Number(kActorIzo) >= 2 && Actor_Query_Goal_Number(kActorIzo) <= 103) { +		if (Actor_Query_Goal_Number(kActorIzo) >= kGoalIzoTakePhoto +		 && Actor_Query_Goal_Number(kActorIzo) <= kGoalIzoEscape +		) {  			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, 0, true, 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);  			Actor_Face_Actor(kActorIzo, kActorMcCoy, true); -			Actor_Change_Animation_Mode(kActorIzo, 6); +			Actor_Change_Animation_Mode(kActorIzo, kAnimationModeCombatAttack);  			Actor_Says(kActorMcCoy, 1800, 21);  			Actor_Change_Animation_Mode(kActorMcCoy, 48);  			Player_Gains_Control();  			Actor_Retired_Here(kActorMcCoy, 12, 48, 1, kActorIzo);  		} else if (!v1) { -			if (Game_Flag_Query(486) && !Game_Flag_Query(660)) { +			if ( Game_Flag_Query(kFlagDNARowAvailable) +			 && !Game_Flag_Query(kFlagDNARowAvailableTalk) +			) {  				Actor_Voice_Over(4310, kActorVoiceOver);  				Actor_Voice_Over(4320, kActorVoiceOver);  				Actor_Voice_Over(4330, kActorVoiceOver);  				Actor_Voice_Over(4340, kActorVoiceOver);  				Actor_Voice_Over(4350, kActorVoiceOver); -				Game_Flag_Set(660); +				Game_Flag_Set(kFlagDNARowAvailableTalk);  			}  			Game_Flag_Reset(kFlagMcCoyAtCTxx);  			Game_Flag_Reset(kFlagMcCoyAtRCxx); @@ -349,12 +360,12 @@ void SceneScriptAR01::SceneFrameAdvanced(int frame) {  	 && Game_Flag_Query(kFlagArrivedFromSpinner2)  	) {  		Actor_Face_Heading(kActorMcCoy, 545, false); -		Actor_Change_Animation_Mode(kActorMcCoy, 42); +		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeSpinnerGetOut);  		Game_Flag_Reset(kFlagArrivedFromSpinner2);  	} else if ( frame == 196  	        && !Game_Flag_Query(kFlagArrivedFromSpinner2  	)) { -		Actor_Change_Animation_Mode(kActorMcCoy, 41); +		Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeSpinnerGetIn);  	}  } @@ -362,8 +373,8 @@ void SceneScriptAR01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  }  void SceneScriptAR01::PlayerWalkedIn() { -	if (!Game_Flag_Query(710)) { -		Game_Flag_Set(710); +	if (!Game_Flag_Query(kFlagAR01Entered)) { +		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); @@ -376,7 +387,7 @@ void SceneScriptAR01::PlayerWalkedIn() {  void SceneScriptAR01::PlayerWalkedOut() {  	Actor_Set_Invisible(kActorMcCoy, false); -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  	if (!Game_Flag_Query(kFlagMcCoyAtHCxx)) {  		Music_Stop(2); @@ -384,7 +395,7 @@ void SceneScriptAR01::PlayerWalkedOut() {  	if (!Game_Flag_Query(kFlagAR01toHC01)  	 && !Game_Flag_Query(kFlagAR01toAR02)  	) { -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Outtake_Play(kOuttakeTowards3, true, -1);  	} diff --git a/engines/bladerunner/script/scene/ar02.cpp b/engines/bladerunner/script/scene/ar02.cpp index ea95e7d60f..a53aee8016 100644 --- a/engines/bladerunner/script/scene/ar02.cpp +++ b/engines/bladerunner/script/scene/ar02.cpp @@ -31,11 +31,11 @@ void SceneScriptAR02::InitializeScene() {  	} else {  		Setup_Scene_Information(-182.0f, 0.0f, -551.0f, 973);  	} -	Scene_Exit_Add_2D_Exit(0, 0, 439, 212, 479, 2); +	Scene_Exit_Add_2D_Exit(0,  0, 439, 212, 479, 2);  	Scene_Exit_Add_2D_Exit(1, 81, 202, 215, 406, 3); -	Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1); +	Ambient_Sounds_Add_Looping_Sound(54, 50,   1, 1);  	Ambient_Sounds_Add_Looping_Sound(81, 60, 100, 1); -	Ambient_Sounds_Add_Looping_Sound(241, 50, 1, 1); +	Ambient_Sounds_Add_Looping_Sound(241, 50,   1, 1);  	Ambient_Sounds_Add_Sound(182, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(184, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(185, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); @@ -53,12 +53,12 @@ void SceneScriptAR02::InitializeScene() {  	Ambient_Sounds_Add_Sound(247, 3, 30, 16, 16, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(248, 3, 30, 16, 16, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(249, 3, 30, 16, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Speech_Sound(60,  0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); -	Ambient_Sounds_Add_Sound(68, 10, 180, 16, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(69, 10, 180, 16, 25, 0, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 68, 10, 180, 16,  25, 0, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 69, 10, 180, 16,  25, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(375, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(376, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(377, 10, 180, 50, 100, 0, 0, -101, -101, 0, 0); @@ -80,11 +80,13 @@ void SceneScriptAR02::InitializeScene() {  void SceneScriptAR02::SceneLoaded() {  	Obstacle_Object("DF_BOOTH", true);  	if (!Game_Flag_Query(374)) { -		Item_Add_To_World(106, 976, 0, -442.84f, 36.77f, -1144.51f, 360, 36, 36, false, true, false, true); +		Item_Add_To_World(kItemScrorpions, 976, kSetAR01_AR02, -442.84f, 36.77f, -1144.51f, 360, 36, 36, false, true, false, true);  	} -	if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(374)) { +	if ( Global_Variable_Query(kVariableChapter) == 4 +	 && !Game_Flag_Query(374) +	) {  		Game_Flag_Set(kFlagNotUsed0); -		Item_Remove_From_World(106); +		Item_Remove_From_World(kItemScrorpions);  	}  } @@ -97,17 +99,19 @@ bool SceneScriptAR02::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptAR02::ClickedOnActor(int actorId) { -	if (actorId == 16) { +	if (actorId == kActorInsectDealer) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.96f, 0.0f, -1078.45f, 12, 1, false, 0)) {  			Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true);  			Actor_Face_Actor(kActorInsectDealer, kActorMcCoy, true);  			if (Global_Variable_Query(kVariableChapter) == 2) { -				if (Game_Flag_Query(329) && !Game_Flag_Query(366)) { -					Game_Flag_Set(366); +				if ( Game_Flag_Query(kFlagInsectDealerInterviewed) +				 && !Game_Flag_Query(kFlagInsectDealerTalk) +				) { +					Game_Flag_Set(kFlagInsectDealerTalk);  					Player_Loses_Control();  					ADQ_Flush();  					ADQ_Add(kActorInsectDealer, 210, 14); -					Loop_Actor_Walk_To_XYZ(kActorMcCoy, -350.66f, 0.0f, -1117.19f, 0, 0, false, 0); +					Loop_Actor_Walk_To_XYZ(kActorMcCoy, -350.66f, 0.0f, -1117.19f, 0, false, false, 0);  					Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true);  					Actor_Says(kActorMcCoy, 110, 18);  					Actor_Says(kActorInsectDealer, 230, 14); @@ -116,16 +120,18 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {  					Item_Pickup_Spin_Effect(956, 288, 257);  					Actor_Says(kActorInsectDealer, 250, 14);  					Player_Gains_Control(); -					sub_402AE0(); -				} else if (Game_Flag_Query(329)) { +					dialogueWithInsectDealer2(); +				} else if (Game_Flag_Query(kFlagInsectDealerInterviewed)) {  					Actor_Says(kActorMcCoy, 75, 18);  					Actor_Says(kActorInsectDealer, 60, 12);  					Actor_Says(kActorInsectDealer, 70, 14);  				} else { -					sub_402694(); +					dialogueWithInsectDealer1();  				}  			} else if (Global_Variable_Query(kVariableChapter) > 2) { -				if (Actor_Clue_Query(kActorMcCoy, kCluePeruvianLadyInterview) && !Actor_Clue_Query(kActorMcCoy, kClueDragonflyCollection)) { +				if ( Actor_Clue_Query(kActorMcCoy, kCluePeruvianLadyInterview) +				 && !Actor_Clue_Query(kActorMcCoy, kClueDragonflyCollection) +				) {  					Actor_Says(kActorMcCoy, 205, 16);  					Actor_Says(kActorInsectDealer, 290, 12);  					Actor_Says(kActorInsectDealer, 300, 13); @@ -154,41 +160,45 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {  			return true;  		}  	} -	if (actorId == 20 && Global_Variable_Query(kVariableChapter) == 2) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -240.79f, 0.0f, -1328.89f, 12, 1, false, 0)) { + +	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)) {  			Actor_Face_Actor(kActorMcCoy, kActorHasan, true);  			Actor_Face_Actor(kActorHasan, kActorMcCoy, true); -			if (Game_Flag_Query(330)) { -				sub_402CE4(); -				return false; +			if (!Game_Flag_Query(kFlagHassanTalk)) { +				Actor_Says(kActorHasan, 0, 14); +				Actor_Says(kActorMcCoy, 140, 18); +				Game_Flag_Set(kFlagHassanTalk); +				return true;  			} -			Actor_Says(kActorHasan, 0, 14); -			Actor_Says(kActorMcCoy, 140, 18); -			Game_Flag_Set(330); -			return true; +			dialogueWithHassan();  		}  	}  	return false;  }  bool SceneScriptAR02::ClickedOnItem(int itemId, bool a2) { -	if (itemId == 106) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.96f, 0.0f, -1078.45f, 12, 1, false, 0)) { +	if (itemId == kItemScrorpions) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.96f, 0.0f, -1078.45f, 12, true, false, 0)) {  			Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true); -			if (!Game_Flag_Query(331)) { +			if (!Game_Flag_Query(kFlagScorpionsChecked)) {  				Actor_Says(kActorInsectDealer, 0, 14);  				Actor_Says(kActorMcCoy, 55, 18);  				Actor_Says(kActorInsectDealer, 10, 14);  				Actor_Says(kActorMcCoy, 60, 18);  				Actor_Says(kActorInsectDealer, 20, 14); -				Game_Flag_Set(331); -			} else if (Game_Flag_Query(331) && !Game_Flag_Query(367)) { +				Game_Flag_Set(kFlagScorpionsChecked); +			} else if ( Game_Flag_Query(kFlagScorpionsChecked) +			        && !Game_Flag_Query(kFlagStungByScorpion) +			) {  				Actor_Says(kActorMcCoy, 65, 21);  				Actor_Says(kActorInsectDealer, 30, 14);  				Actor_Says(kActorInsectDealer, 40, 14);  				Actor_Says(kActorMcCoy, 70, 18);  				Actor_Says(kActorInsectDealer, 50, 14); -				Game_Flag_Set(367); +				Game_Flag_Set(kFlagStungByScorpion);  			} else {  				Actor_Says(kActorMcCoy, 8527, 14);  			} @@ -207,6 +217,7 @@ bool SceneScriptAR02::ClickedOnExit(int exitId) {  		}  		return true;  	} +  	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); @@ -236,36 +247,43 @@ void SceneScriptAR02::PlayerWalkedIn() {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -465.0f, 0.0f, -799.0f, 0, 0, false, 0);  		Game_Flag_Reset(kFlagRC03toAR02);  	} -	Game_Flag_Set(726); +	Game_Flag_Set(kFlagAR02Entered);  }  void SceneScriptAR02::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  }  void SceneScriptAR02::DialogueQueueFlushed(int a1) {  } -void SceneScriptAR02::sub_402694() { +void SceneScriptAR02::dialogueWithInsectDealer1() {  	Dialogue_Menu_Clear_List(); -	if (Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring) || Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect)) { -		DM_Add_To_List_Never_Repeat_Once_Selected(490, 3, 5, 5); +	if (Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring) +	 || Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect) +	) { +		DM_Add_To_List_Never_Repeat_Once_Selected(490, 3, 5, 5); // EARRING  	} -	if (Actor_Clue_Query(kActorMcCoy, kClueDragonflyAnklet) && !Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring) && !Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect)) { -		DM_Add_To_List_Never_Repeat_Once_Selected(500, 3, 5, 5); +	if ( Actor_Clue_Query(kActorMcCoy, kClueDragonflyAnklet) +	 && !Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring) +	 && !Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect) +	) { +		DM_Add_To_List_Never_Repeat_Once_Selected(500, 3, 5, 5); // ANKLET  	} -	DM_Add_To_List_Never_Repeat_Once_Selected(510, 8, 3, -1); -	Dialogue_Menu_Add_DONE_To_List(520); +	DM_Add_To_List_Never_Repeat_Once_Selected(510, 8, 3, -1); // MERCHANDISE +	Dialogue_Menu_Add_DONE_To_List(520); // DONE +  	Dialogue_Menu_Appear(320, 240);  	int answerValue = Dialogue_Menu_Query_Input();  	Dialogue_Menu_Disappear(); +  	switch (answerValue) { -	case 490: -	case 500: -		if (answerValue == 490) { +	case 490: // EARRING +	case 500: // ANKLET +		if (answerValue == 490) { // EARRING  			Actor_Says(kActorMcCoy, 145, 15); -		} else { +		} else { // ANKLET  			Actor_Says(kActorMcCoy, 150, 15);  		}  		Actor_Says(kActorInsectDealer, 80, 14); @@ -284,62 +302,71 @@ void SceneScriptAR02::sub_402694() {  		Actor_Says(kActorInsectDealer, 170, 14);  		Actor_Says(kActorMcCoy, 100, 16);  		Actor_Says(kActorInsectDealer, 180, 13); -		Game_Flag_Set(329); +		Game_Flag_Set(kFlagInsectDealerInterviewed);  		Actor_Clue_Acquire(kActorMcCoy, kCluePeruvianLadyInterview, true, kActorInsectDealer);  		break; -	case 510: + +	case 510: // MERCHANDISE  		Actor_Says(kActorMcCoy, 8475, 12);  		Actor_Says(kActorInsectDealer, 190, 12);  		Actor_Says(kActorMcCoy, 105, 15);  		Actor_Says(kActorInsectDealer, 200, 14);  		break; -	case 520: + +	case 520: // DONE  		Actor_Says(kActorMcCoy, 215, 16);  		break;  	}  } -void SceneScriptAR02::sub_402AE0() { +void SceneScriptAR02::dialogueWithInsectDealer2() {  	Dialogue_Menu_Clear_List(); -	if (Global_Variable_Query(2) >= 15 || Query_Difficulty_Level() == 0) { -		DM_Add_To_List_Never_Repeat_Once_Selected(530, 7, 5, 3); + +	if (Global_Variable_Query(kVariableChinyen) >= 15 +	 || Query_Difficulty_Level() == 0 +	) { +		DM_Add_To_List_Never_Repeat_Once_Selected(530, 7, 5, 3); // BUY  	} -	DM_Add_To_List_Never_Repeat_Once_Selected(540, 3, 5, 7); +	DM_Add_To_List_Never_Repeat_Once_Selected(540, 3, 5, 7); // NO THANKS +  	Dialogue_Menu_Appear(320, 240);  	int answerValue = Dialogue_Menu_Query_Input();  	Dialogue_Menu_Disappear(); -	if (answerValue == 530) { + +	if (answerValue == 530) { // BUY  		Actor_Says(kActorMcCoy, 120, 12);  		if (Query_Difficulty_Level() != 0) { -			Global_Variable_Decrement(2, 15); +			Global_Variable_Decrement(kVariableChinyen, 15);  		}  		Actor_Clue_Acquire(kActorMcCoy, kClueMaggieBracelet, true, kActorInsectDealer);  		Actor_Modify_Friendliness_To_Other(kActorInsectDealer, kActorMcCoy, 5); -	} else if (answerValue == 540) { +	} else if (answerValue == 540) { // NO THANKS  		Actor_Says(kActorMcCoy, 125, 13); -		Actor_Says(kActorInsectDealer, 260, 3); +		Actor_Says(kActorInsectDealer, 260, kAnimationModeTalk);  		Actor_Says(kActorMcCoy, 130, 15); -		Actor_Says(kActorInsectDealer, 270, 3); -		Actor_Says(kActorInsectDealer, 280, 3); +		Actor_Says(kActorInsectDealer, 270, kAnimationModeTalk); +		Actor_Says(kActorInsectDealer, 280, kAnimationModeTalk);  		Actor_Says(kActorMcCoy, 135, 11);  		Actor_Modify_Friendliness_To_Other(kActorInsectDealer, kActorMcCoy, -5);  	}  } -void SceneScriptAR02::sub_402CE4() { +void SceneScriptAR02::dialogueWithHassan() {  	Dialogue_Menu_Clear_List();  	if (Actor_Clue_Query(kActorMcCoy, kClueStrangeScale1)) { -		DM_Add_To_List_Never_Repeat_Once_Selected(550, 8, 5, 2); +		DM_Add_To_List_Never_Repeat_Once_Selected(550, 8, 5, 2); // SCALE  	}  	if (Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring)) { -		DM_Add_To_List_Never_Repeat_Once_Selected(560, 6, 5, 7); +		DM_Add_To_List_Never_Repeat_Once_Selected(560, 6, 5, 7); // EARRING  	} -	Dialogue_Menu_Add_DONE_To_List(570); +	Dialogue_Menu_Add_DONE_To_List(570); // DONE +  	Dialogue_Menu_Appear(320, 240);  	int answerValue = Dialogue_Menu_Query_Input();  	Dialogue_Menu_Disappear(); +  	switch (answerValue) { -	case 550: +	case 550: // SCALE  		Actor_Says(kActorMcCoy, 145, 11);  		Actor_Says(kActorHasan, 30, 11);  		Actor_Says(kActorMcCoy, 160, 11); @@ -349,9 +376,10 @@ void SceneScriptAR02::sub_402CE4() {  		Actor_Says(kActorMcCoy, 170, 11);  		Actor_Says(kActorHasan, 60, 11);  		Actor_Says(kActorMcCoy, 175, 11); -		Game_Flag_Set(370); +		Game_Flag_Set(kFlagNotUsed370);  		break; -	case 560: + +	case 560: // EARRING  		Actor_Says(kActorMcCoy, 150, 11);  		Actor_Says(kActorHasan, 140, 11);  		Actor_Says(kActorMcCoy, 185, 11); @@ -367,12 +395,11 @@ void SceneScriptAR02::sub_402CE4() {  		Actor_Says(kActorHasan, 210, 11);  		Actor_Says(kActorHasan, 220, 11);  		Actor_Says(kActorHasan, 230, 11); -		Game_Flag_Set(370); +		Game_Flag_Set(kFlagNotUsed370);  		break; -	case 570: -		if (Actor_Clue_Query(kActorMcCoy, kClueHasanInterview)) { -			Actor_Says(kActorMcCoy, 1315, 11); -		} else { + +	case 570: // DONE +		if (!Actor_Clue_Query(kActorMcCoy, kClueHasanInterview)) {  			Actor_Says(kActorMcCoy, 940, 13);  			Actor_Says(kActorHasan, 70, 12);  			Actor_Says(kActorHasan, 90, 12); @@ -382,6 +409,8 @@ void SceneScriptAR02::sub_402CE4() {  			Actor_Says(kActorHasan, 120, 13);  			Actor_Modify_Friendliness_To_Other(kActorHasan, kActorMcCoy, -1);  			Actor_Clue_Acquire(kActorMcCoy, kClueHasanInterview, false, kActorHasan); +		} else { +			Actor_Says(kActorMcCoy, 1315, 11);  		}  		break;  	} diff --git a/engines/bladerunner/script/scene/bb01.cpp b/engines/bladerunner/script/scene/bb01.cpp index ea1afcf6e9..6aa24e283d 100644 --- a/engines/bladerunner/script/scene/bb01.cpp +++ b/engines/bladerunner/script/scene/bb01.cpp @@ -228,7 +228,7 @@ void SceneScriptBB01::PlayerWalkedIn() {  }  void SceneScriptBB01::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/bb02.cpp b/engines/bladerunner/script/scene/bb02.cpp index fa988790c3..2eb92516eb 100644 --- a/engines/bladerunner/script/scene/bb02.cpp +++ b/engines/bladerunner/script/scene/bb02.cpp @@ -89,7 +89,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagBB02toBB01);  			Set_Enter(kSetBB01, kSceneBB01); @@ -149,7 +149,7 @@ void SceneScriptBB02::PlayerWalkedIn() {  }  void SceneScriptBB02::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/bb03.cpp b/engines/bladerunner/script/scene/bb03.cpp index 118fa22d5a..9ecbb953be 100644 --- a/engines/bladerunner/script/scene/bb03.cpp +++ b/engines/bladerunner/script/scene/bb03.cpp @@ -87,7 +87,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, 1, false, 0)) {  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, 0.0f, 0, 0, false, 0);  			Game_Flag_Set(kFlagBB03toBB04); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB04);  		} @@ -96,7 +96,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, 1, false, 0)) {  			Game_Flag_Set(kFlagBB03toBB02); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB02);  		} @@ -119,7 +119,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {  					Actor_Set_Targetable(kActorGeneralDoll, false);  				}  				Game_Flag_Set(kFlagBB03toBB05); -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Set_Enter(kSetBB05, kSceneBB05);  			} else { diff --git a/engines/bladerunner/script/scene/bb04.cpp b/engines/bladerunner/script/scene/bb04.cpp index 270e28d254..1bf12cb7f2 100644 --- a/engines/bladerunner/script/scene/bb04.cpp +++ b/engines/bladerunner/script/scene/bb04.cpp @@ -83,7 +83,7 @@ bool SceneScriptBB04::ClickedOnExit(int exitId) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, 1, false, 0)) {  			Player_Loses_Control();  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -15.0f, -25.17f, 45.0f, 0, 0, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(333);  			Game_Flag_Set(493); @@ -93,7 +93,7 @@ bool SceneScriptBB04::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -107.0f, -26.6f, 397.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagBB04toBB03);  			Set_Enter(kSetBB03, kSceneBB03); diff --git a/engines/bladerunner/script/scene/bb05.cpp b/engines/bladerunner/script/scene/bb05.cpp index 1241a60e7b..95e3975b11 100644 --- a/engines/bladerunner/script/scene/bb05.cpp +++ b/engines/bladerunner/script/scene/bb05.cpp @@ -25,11 +25,11 @@  namespace BladeRunner {  void SceneScriptBB05::InitializeScene() { -	if (Game_Flag_Query(298)) { +	if (Game_Flag_Query(kFlagBB06toBB05)) {  		Setup_Scene_Information(95.0f, -60.31f, 331.0f, 0); -	} else if (Game_Flag_Query(302)) { +	} else if (Game_Flag_Query(kFlagBB12toBB05)) {  		Setup_Scene_Information(87.0f, -60.34f, -96.0f, 0); -	} else if (Game_Flag_Query(300)) { +	} else if (Game_Flag_Query(kFlagBB07toBB05)) {  		Setup_Scene_Information(271.0f, -60.31f, 203.0f, 0);  	} else {  		Setup_Scene_Information(-212.0f, -60.31f, 131.0f, 0); @@ -98,7 +98,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagBB05toBB03);  			Set_Enter(kSetBB03, kSceneBB03); @@ -107,27 +107,27 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 331.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1); -			Game_Flag_Set(297); +			Game_Flag_Set(kFlagBB05toBB06);  			Set_Enter(kSetBB06_BB07, kSceneBB06);  		}  		return true;  	}  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 271.0f, -60.31f, 203.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1); -			Game_Flag_Set(299); +			Game_Flag_Set(kFlagBB05toBB07);  			Set_Enter(kSetBB07, kSceneBB07);  		}  		return true;  	}  	if (exitId == 3) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.0f, -60.34f, -108.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1); -			Game_Flag_Set(301); +			Game_Flag_Set(kFlagBB05toBB12);  			Set_Enter(kSetBB12, kSceneBB12);  		}  		return true; @@ -146,15 +146,15 @@ void SceneScriptBB05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  }  void SceneScriptBB05::PlayerWalkedIn() { -	if (Game_Flag_Query(298)) { +	if (Game_Flag_Query(kFlagBB06toBB05)) {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 303.0f, 0, 0, false, 0); -		Game_Flag_Reset(298); -	} else if (Game_Flag_Query(300)) { +		Game_Flag_Reset(kFlagBB06toBB05); +	} else if (Game_Flag_Query(kFlagBB07toBB05)) {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 231.0f, -60.31f, 203.0f, 0, 0, false, 0); -		Game_Flag_Reset(300); -	} else if (Game_Flag_Query(302)) { +		Game_Flag_Reset(kFlagBB07toBB05); +	} else if (Game_Flag_Query(kFlagBB12toBB05)) {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 111.0f, -60.31f, -24.0f, 0, 0, false, 0); -		Game_Flag_Reset(302); +		Game_Flag_Reset(kFlagBB12toBB05);  	} else {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, 0, false, 0);  		Game_Flag_Reset(kFlagBB03toBB05); diff --git a/engines/bladerunner/script/scene/bb06.cpp b/engines/bladerunner/script/scene/bb06.cpp index 015a4dfc1a..7821b735e2 100644 --- a/engines/bladerunner/script/scene/bb06.cpp +++ b/engines/bladerunner/script/scene/bb06.cpp @@ -108,16 +108,16 @@ 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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1); -			Game_Flag_Set(298); +			Game_Flag_Set(kFlagBB06toBB05);  			Set_Enter(kSetBB05, kSceneBB05);  		}  		return true;  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 101.0f, 0.0f, -25.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(393);  			Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB51); @@ -126,7 +126,7 @@ bool SceneScriptBB06::ClickedOnExit(int exitId) {  	}  	if (exitId == 3) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -115.0f, 0.0f, -103.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(363);  			Set_Enter(kSetBB06_BB07, kSceneBB07); @@ -162,9 +162,9 @@ void SceneScriptBB06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  }  void SceneScriptBB06::PlayerWalkedIn() { -	if (Game_Flag_Query(297)) { -		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -36.0f, 0.0f, 145.0f, 0, 0, false, 0); -		Game_Flag_Reset(297); +	if (Game_Flag_Query(kFlagBB05toBB06)) { +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -36.0f, 0.0f, 145.0f, 0, false, false, 0); +		Game_Flag_Reset(kFlagBB05toBB06);  	}  } diff --git a/engines/bladerunner/script/scene/bb07.cpp b/engines/bladerunner/script/scene/bb07.cpp index 12e3219cc9..ba1d7bcd28 100644 --- a/engines/bladerunner/script/scene/bb07.cpp +++ b/engines/bladerunner/script/scene/bb07.cpp @@ -107,17 +107,17 @@ 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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Overlay_Remove("BB07OVER"); -			Game_Flag_Set(300); +			Game_Flag_Set(kFlagBB07toBB05);  			Set_Enter(kSetBB05, kSceneBB05);  		}  		return true;  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -619.0f, 252.59f, -1136.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Overlay_Remove("BB07OVER");  			Game_Flag_Set(364); @@ -127,7 +127,7 @@ bool SceneScriptBB07::ClickedOnExit(int exitId) {  	}  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -551.0f, 252.59f, -1004.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Overlay_Remove("BB07OVER");  			Game_Flag_Set(362); @@ -165,9 +165,9 @@ void SceneScriptBB07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  }  void SceneScriptBB07::PlayerWalkedIn() { -	if (Game_Flag_Query(299)) { +	if (Game_Flag_Query(kFlagBB05toBB07)) {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -594.0f, 252.59f, -1018.0f, 6, 0, false, 0); -		Game_Flag_Reset(299); +		Game_Flag_Reset(kFlagBB05toBB07);  	}  	if (Game_Flag_Query(365)) {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -602.0f, 252.59f, -1124.0f, 6, 0, false, 0); diff --git a/engines/bladerunner/script/scene/bb08.cpp b/engines/bladerunner/script/scene/bb08.cpp index df51f0766a..7dc951e5b0 100644 --- a/engines/bladerunner/script/scene/bb08.cpp +++ b/engines/bladerunner/script/scene/bb08.cpp @@ -85,7 +85,7 @@ bool SceneScriptBB08::ClickedOnExit(int exitId) {  			Footstep_Sound_Override_On(2);  			Loop_Actor_Travel_Ladder(kActorMcCoy, 8, 1, 0);  			Footstep_Sound_Override_Off(); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagBB08toBB09);  			Set_Enter(kSetBB09, kSceneBB09); @@ -94,7 +94,7 @@ bool SceneScriptBB08::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 247.0f, 0.1f, 27.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(506);  			Set_Enter(kSetBB12, kSceneBB12); diff --git a/engines/bladerunner/script/scene/bb09.cpp b/engines/bladerunner/script/scene/bb09.cpp index 92a20b6349..15d491976d 100644 --- a/engines/bladerunner/script/scene/bb09.cpp +++ b/engines/bladerunner/script/scene/bb09.cpp @@ -82,7 +82,7 @@ bool SceneScriptBB09::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 454.56f, -9.0f, 190.31f, 0, 1, false, 0)) {  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 450.56f, -9.0f, 250.31f, 0, 0, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagBB09toBB10a);  			Game_Flag_Set(kFlagBB09toBB10b); @@ -92,7 +92,7 @@ bool SceneScriptBB09::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.0f, -9.0f, 136.0f, 72, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagBB09toBB08);  			Set_Enter(kSetBB08, kSceneBB08); diff --git a/engines/bladerunner/script/scene/bb10.cpp b/engines/bladerunner/script/scene/bb10.cpp index 5a521d6fca..6ae671ceba 100644 --- a/engines/bladerunner/script/scene/bb10.cpp +++ b/engines/bladerunner/script/scene/bb10.cpp @@ -37,7 +37,7 @@ void SceneScriptBB10::InitializeScene() {  		Scene_Exit_Add_2D_Exit(0, 281, 0, 531, 115, 0);  	}  	Scene_Exit_Add_2D_Exit(1, 58, 91, 193, 401, 3); -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Add_Looping_Sound(382, 76, 0, 1);  	Ambient_Sounds_Add_Sound(443, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(444, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0); @@ -108,7 +108,7 @@ bool SceneScriptBB10::ClickedOnExit(int exitId) {  			Footstep_Sound_Override_On(2);  			Loop_Actor_Travel_Ladder(kActorMcCoy, 3, 1, 0);  			Footstep_Sound_Override_Off(); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagBB10toBB11);  			Set_Enter(kSetBB11, kSceneBB11); @@ -117,7 +117,7 @@ bool SceneScriptBB10::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.01f, 66.84f, -261.62f, 0, 1, false, 0) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.67f, 66.84f, -313.06f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Reset(kFlagBB09toBB10a);  			Game_Flag_Set(kFlagBB10toBB09); diff --git a/engines/bladerunner/script/scene/bb11.cpp b/engines/bladerunner/script/scene/bb11.cpp index 8c99c525f9..8cb70b7af5 100644 --- a/engines/bladerunner/script/scene/bb11.cpp +++ b/engines/bladerunner/script/scene/bb11.cpp @@ -84,7 +84,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagBB11toBB10);  			Set_Enter(kSetBB10, kSceneBB10); @@ -122,7 +122,7 @@ void SceneScriptBB11::PlayerWalkedIn() {  }  void SceneScriptBB11::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/bb12.cpp b/engines/bladerunner/script/scene/bb12.cpp index d32c7cee5c..8d9f3eeec1 100644 --- a/engines/bladerunner/script/scene/bb12.cpp +++ b/engines/bladerunner/script/scene/bb12.cpp @@ -31,7 +31,7 @@ void SceneScriptBB12::InitializeScene() {  		Setup_Scene_Information(-129.0f, 0.0f, 64.0f, 307);  	} else {  		Setup_Scene_Information(54.0f, 0.0f, 200.0f, 0); -		Game_Flag_Reset(301); +		Game_Flag_Reset(kFlagBB05toBB12);  	}  	Scene_Exit_Add_2D_Exit(0, 0, 0, 30, 479, 3);  	Scene_Exit_Add_2D_Exit(1, 589, 0, 639, 479, 1); @@ -81,7 +81,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(507);  			Set_Enter(kSetBB08, kSceneBB08); @@ -90,7 +90,7 @@ bool SceneScriptBB12::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 138.0f, 0.0f, 104.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(365);  			Set_Enter(kSetBB07, kSceneBB07); @@ -99,9 +99,9 @@ bool SceneScriptBB12::ClickedOnExit(int exitId) {  	}  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 0.0f, 200.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1); -			Game_Flag_Set(302); +			Game_Flag_Set(kFlagBB12toBB05);  			Set_Enter(kSetBB05, kSceneBB05);  		}  		return true; diff --git a/engines/bladerunner/script/scene/bb51.cpp b/engines/bladerunner/script/scene/bb51.cpp index 086eaa49dc..ae93dfae70 100644 --- a/engines/bladerunner/script/scene/bb51.cpp +++ b/engines/bladerunner/script/scene/bb51.cpp @@ -82,7 +82,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(394);  			Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB06); @@ -91,7 +91,7 @@ bool SceneScriptBB51::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 55.0f, 0.0f, -96.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(395);  			Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB06); diff --git a/engines/bladerunner/script/scene/ct01.cpp b/engines/bladerunner/script/scene/ct01.cpp index f00eba02d4..df8986430a 100644 --- a/engines/bladerunner/script/scene/ct01.cpp +++ b/engines/bladerunner/script/scene/ct01.cpp @@ -85,12 +85,12 @@ void SceneScriptCT01::InitializeScene() {  	Ambient_Sounds_Add_Sound(62, 10, 30, 16, 20, 0, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(63, 10, 30, 16, 20, 0, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(64, 10, 30, 16, 20, 0, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Speech_Sound(60,  0, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1); -	Ambient_Sounds_Add_Sound(68, 10, 40, 33, 50, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(69, 10, 40, 33, 50, 0, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(68,  10, 40, 33, 50,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(69,  10, 40, 33, 50,    0,   0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(375, 20, 40, 33, 50, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(376, 20, 40, 33, 50, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(377, 20, 40, 33, 50, -100, 100, -101, -101, 0, 0); diff --git a/engines/bladerunner/script/scene/ct02.cpp b/engines/bladerunner/script/scene/ct02.cpp index 97d7304b94..da1fcac014 100644 --- a/engines/bladerunner/script/scene/ct02.cpp +++ b/engines/bladerunner/script/scene/ct02.cpp @@ -57,7 +57,7 @@ void SceneScriptCT02::InitializeScene() {  	Ambient_Sounds_Add_Sound(62, 10, 30, 7, 7, 100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(63, 10, 30, 8, 8, 100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(64, 10, 30, 7, 7, 100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 19, 100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Speech_Sound(60,  0, 10, 260, 17, 19, 100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 19, 100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 19, 100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 19, 100, 100, -101, -101, 1, 1); @@ -218,7 +218,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT02toCT01walk);  			Game_Flag_Set(kFlagCT02toCT01); @@ -234,7 +234,7 @@ bool SceneScriptCT02::ClickedOnExit(int exitId) {  			v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -154.83f, -145.11f, -82.61f, 0, 1, false, 0);  		}  		if (!v1) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT02toCT03);  			Set_Enter(kSetCT03_CT04, kSceneCT03); diff --git a/engines/bladerunner/script/scene/ct03.cpp b/engines/bladerunner/script/scene/ct03.cpp index ac30a79f9b..506ff1cfdd 100644 --- a/engines/bladerunner/script/scene/ct03.cpp +++ b/engines/bladerunner/script/scene/ct03.cpp @@ -36,19 +36,19 @@ void SceneScriptCT03::InitializeScene() {  	} else {  		Setup_Scene_Information(-708.58f, -619.19f, 277.6f, 239);  	} -	Scene_Exit_Add_2D_Exit(0, 0, 460, 639, 479, 2); -	Scene_Exit_Add_2D_Exit(1, 40, 40, 134, 302, 3); -	Scene_Exit_Add_2D_Exit(2, 390, 0, 539, 230, 1); -	Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1); -	Ambient_Sounds_Add_Looping_Sound(56, 22, -100, 1); +	Scene_Exit_Add_2D_Exit(0,   0, 460, 639, 479, 2); +	Scene_Exit_Add_2D_Exit(1,  40,  40, 134, 302, 3); +	Scene_Exit_Add_2D_Exit(2, 390,   0, 539, 230, 1); +	Ambient_Sounds_Add_Looping_Sound( 54, 50,    1, 1); +	Ambient_Sounds_Add_Looping_Sound( 56, 22, -100, 1);  	Ambient_Sounds_Add_Looping_Sound(105, 34, -100, 1); -	Ambient_Sounds_Add_Sound(68, 10, 40, 33, 50, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(69, 10, 40, 33, 50, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(61, 3, 30, 8, 10, -100, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(62, 3, 30, 8, 10, -100, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(63, 3, 30, 8, 10, -100, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(64, 3, 30, 8, 10, -100, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Sound(68, 10, 40, 33, 50,   0,  0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(69, 10, 40, 33, 50,   0,  0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(61,  3, 30,  8, 10, -100, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(62,  3, 30,  8, 10, -100, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(63,  3, 30,  8, 10, -100, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(64,  3, 30,  8, 10, -100, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Speech_Sound(60,  0, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 27, 47, -100, 100, -101, -101, 1, 1); diff --git a/engines/bladerunner/script/scene/ct04.cpp b/engines/bladerunner/script/scene/ct04.cpp index 5f307d476d..24c1d3485e 100644 --- a/engines/bladerunner/script/scene/ct04.cpp +++ b/engines/bladerunner/script/scene/ct04.cpp @@ -38,14 +38,14 @@ void SceneScriptCT04::InitializeScene() {  		Scene_Loop_Set_Default(kCT03LoopMain);  		Setup_Scene_Information(-82.86f, -621.3f, 769.03f, 1020);  	} -	Scene_Exit_Add_2D_Exit(0, 590, 0, 639, 479, 1); +	Scene_Exit_Add_2D_Exit(0, 590,  0, 639, 479, 1);  	Scene_Exit_Add_2D_Exit(1, 194, 84, 320, 274, 0); -	Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1); +	Ambient_Sounds_Add_Looping_Sound(54, 50,    1, 1);  	Ambient_Sounds_Add_Looping_Sound(56, 15, -100, 1);  	Ambient_Sounds_Add_Looping_Sound(105, 34, 100, 1);  	Ambient_Sounds_Add_Sound(68, 10, 40, 33, 50, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(69, 10, 40, 33, 50, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Speech_Sound(60,  0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); diff --git a/engines/bladerunner/script/scene/ct05.cpp b/engines/bladerunner/script/scene/ct05.cpp index 0db0b47621..a30e4f99bb 100644 --- a/engines/bladerunner/script/scene/ct05.cpp +++ b/engines/bladerunner/script/scene/ct05.cpp @@ -39,10 +39,10 @@ void SceneScriptCT05::InitializeScene() {  	Scene_Exit_Add_2D_Exit(1, 320, 458, 639, 479, 2);  	Scene_Exit_Add_2D_Exit(2, 380, 110, 542, 300, 0);  	Ambient_Sounds_Add_Looping_Sound(106, 15, -100, 1); -	Ambient_Sounds_Add_Looping_Sound(107, 15, 100, 1); -	Ambient_Sounds_Add_Looping_Sound(56, 13, -100, 1); -	Ambient_Sounds_Add_Sound(90, 5, 20, 8, 10, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(91, 5, 20, 8, 10, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Looping_Sound(107, 15,  100, 1); +	Ambient_Sounds_Add_Looping_Sound( 56, 13, -100, 1); +	Ambient_Sounds_Add_Sound( 90, 5, 20, 8, 10, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 91, 5, 20, 8, 10, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(205, 5, 30, 18, 30, -100, 100, -101, -101, 0, 0);  	if (Game_Flag_Query(kFlagWarehouseOpen)) {  		Scene_Loop_Set_Default(2); @@ -233,7 +233,7 @@ void SceneScriptCT05::PlayerWalkedIn() {  }  void SceneScriptCT05::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/ct06.cpp b/engines/bladerunner/script/scene/ct06.cpp index 11bd36cd90..a5856b3717 100644 --- a/engines/bladerunner/script/scene/ct06.cpp +++ b/engines/bladerunner/script/scene/ct06.cpp @@ -33,7 +33,7 @@ void SceneScriptCT06::InitializeScene() {  	} else {  		Setup_Scene_Information(175.91f, -58.23f, 24.47f, 768);  	} -	Scene_Exit_Add_2D_Exit(0, 0, 440, 639, 479, 2); +	Scene_Exit_Add_2D_Exit(0,   0, 440, 639, 479, 2);  	Scene_Exit_Add_2D_Exit(1, 401, 162, 536, 317, 0);  	if (Game_Flag_Query(kFlagZubenRetired) && Actor_Query_In_Set(kActorZuben, kSetCT07)) {  		Actor_Put_In_Set(kActorZuben, kSetCT06); @@ -41,13 +41,13 @@ void SceneScriptCT06::InitializeScene() {  		Actor_Retired_Here(kActorZuben, 72, 36, 1, kActorMcCoy);  	}  	Ambient_Sounds_Add_Looping_Sound(381, 100, 1, 1); -	Ambient_Sounds_Add_Looping_Sound(205, 20, 1, 1); -	Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Looping_Sound(205,  20, 1, 1); +	Ambient_Sounds_Add_Speech_Sound(60,  0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); -	Ambient_Sounds_Add_Sound(67, 80, 180, 16, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(68, 50, 180, 16, 25, 0, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(67,  80, 180, 16, 25, 0, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(68,  50, 180, 16, 25, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(379, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(380, 70, 180, 50, 100, 0, 0, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(377, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0); @@ -118,7 +118,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT06toCT05);  			Set_Enter(kSetCT05, kSceneCT05); @@ -144,7 +144,7 @@ bool SceneScriptCT06::ClickedOnExit(int exitId) {  				Actor_Face_Object(kActorMcCoy, "DOOR", true);  				Actor_Says(kActorMcCoy, 8522, 12);  			} else { -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(kFlagCT06toCT08);  				Set_Enter(kSetCT08_CT51_UG12, kSceneCT08); diff --git a/engines/bladerunner/script/scene/ct07.cpp b/engines/bladerunner/script/scene/ct07.cpp index 4dabd293b4..9c922fe56a 100644 --- a/engines/bladerunner/script/scene/ct07.cpp +++ b/engines/bladerunner/script/scene/ct07.cpp @@ -28,22 +28,22 @@ void SceneScriptCT07::InitializeScene() {  	Setup_Scene_Information(202.32f, -58.23f, -12.86f, 225);  	Actor_Put_In_Set(kActorZuben, kSetCT07);  	Actor_Set_At_XYZ(kActorZuben, -9.68f, -58.23f, 11.14f, 250); -	Ambient_Sounds_Add_Looping_Sound(54, 30, 90, 1); +	Ambient_Sounds_Add_Looping_Sound( 54, 30, 90, 1);  	Ambient_Sounds_Add_Looping_Sound(205, 20, 1, 1); -	Ambient_Sounds_Add_Looping_Sound(56, 40, 100, 1); -	Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Looping_Sound( 56, 40, 100, 1); +	Ambient_Sounds_Add_Speech_Sound(60,  0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); -	Ambient_Sounds_Add_Sound(67, 80, 180, 16, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(68, 50, 180, 16, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(379, 10, 60, 50, 100, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(375, 6, 50, 50, 100, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(377, 10, 70, 50, 100, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(61, 10, 30, 12, 14, 100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(62, 10, 30, 12, 14, 100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(63, 10, 30, 12, 14, 100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(64, 10, 30, 12, 14, 100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 67, 80, 180, 16,  25,   0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 68, 50, 180, 16,  25,   0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(379, 10,  60, 50, 100,   0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(375,  6,  50, 50, 100,   0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(377, 10,  70, 50, 100,   0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 61, 10,  30, 12,  14, 100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 62, 10,  30, 12,  14, 100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 63, 10,  30, 12,  14, 100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 64, 10,  30, 12,  14, 100, 100, -101, -101, 0, 0);  }  void SceneScriptCT07::SceneLoaded() { diff --git a/engines/bladerunner/script/scene/ct08.cpp b/engines/bladerunner/script/scene/ct08.cpp index 6e814c132b..5dc68616e0 100644 --- a/engines/bladerunner/script/scene/ct08.cpp +++ b/engines/bladerunner/script/scene/ct08.cpp @@ -26,7 +26,7 @@ namespace BladeRunner {  void SceneScriptCT08::InitializeScene() {  	if (Game_Flag_Query(679)) { -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Outtake_Play(kOuttakeMovieB1, false, -1);  		if (Game_Flag_Query(kFlagLucyIsReplicant)) { @@ -113,7 +113,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT08toCT09);  			Set_Enter(kSetCT09, kSceneCT09); @@ -123,7 +123,7 @@ bool SceneScriptCT08::ClickedOnExit(int exitId) {  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -11.0f, 0.0f, -156.0f, 0, 1, false, 0)) {  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, 0.0f, -102.0f, 0, 0, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(379);  			Set_Enter(kSetCT08_CT51_UG12, kSceneCT51); @@ -132,7 +132,7 @@ bool SceneScriptCT08::ClickedOnExit(int exitId) {  	}  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -143.0f, 0.0f, -92.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT08toCT06);  			Set_Enter(kSetCT06, kSceneCT06); diff --git a/engines/bladerunner/script/scene/ct09.cpp b/engines/bladerunner/script/scene/ct09.cpp index 1e6918d6de..c9506d54c5 100644 --- a/engines/bladerunner/script/scene/ct09.cpp +++ b/engines/bladerunner/script/scene/ct09.cpp @@ -69,7 +69,7 @@ bool SceneScriptCT09::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptCT09::ClickedOnActor(int actorId) { -	if (actorId == 27) { +	if (actorId == kActorDeskClerk) {  		if (!Actor_Query_Goal_Number(kActorDeskClerk) && Actor_Query_Which_Set_In(kActorLeon) != 31) {  			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 270.0f, 348.52f, 846.0f, 12, 1, false, 0)) {  				Player_Loses_Control(); @@ -109,7 +109,7 @@ bool SceneScriptCT09::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 206.0f, 348.52f, 599.0f, 0, 1, false, 0)) {  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 348.52f, 599.0f, 0, 0, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT09toCT08);  			Set_Enter(kSetCT08_CT51_UG12, kSceneCT08); @@ -118,7 +118,7 @@ bool SceneScriptCT09::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.0f, 348.52f, 927.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT09toCT11);  			Set_Enter(kSetCT11, kSceneCT11); @@ -127,7 +127,7 @@ bool SceneScriptCT09::ClickedOnExit(int exitId) {  	}  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 159.0f, 349.0f, 570.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT09toCT10);  			Set_Enter(kSetCT10, kSceneCT10); @@ -172,7 +172,7 @@ void SceneScriptCT09::PlayerWalkedIn() {  		} else {  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 124.0f, 348.52f, 886.0f, 0, 0, false, 0);  		} -		Game_Flag_Reset(304); +		Game_Flag_Reset(kFlagCT11toCT09);  	}  	if (Actor_Query_Goal_Number(kActorDeskClerk) == 2) {  		if (Game_Flag_Query(539)) { diff --git a/engines/bladerunner/script/scene/ct10.cpp b/engines/bladerunner/script/scene/ct10.cpp index dbc26d27a9..7b666efbf4 100644 --- a/engines/bladerunner/script/scene/ct10.cpp +++ b/engines/bladerunner/script/scene/ct10.cpp @@ -118,7 +118,7 @@ bool SceneScriptCT10::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -93.0f, 0.0f, -38.0f, 0, 1, false, 0)) {  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -121.0f, 0.0f, -78.0f, 0, 0, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT10toCT09);  			Set_Enter(kSetCT09, kSceneCT09); diff --git a/engines/bladerunner/script/scene/ct11.cpp b/engines/bladerunner/script/scene/ct11.cpp index 50b5a34195..46fc21dc3e 100644 --- a/engines/bladerunner/script/scene/ct11.cpp +++ b/engines/bladerunner/script/scene/ct11.cpp @@ -100,7 +100,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, 1, false, 0)) { -			Game_Flag_Set(304); +			Game_Flag_Set(kFlagCT11toCT09);  			Set_Enter(kSetCT09, kSceneCT09);  		}  		return true; @@ -203,7 +203,7 @@ void SceneScriptCT11::PlayerWalkedIn() {  }  void SceneScriptCT11::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/ct12.cpp b/engines/bladerunner/script/scene/ct12.cpp index b303171bbf..fa722f740c 100644 --- a/engines/bladerunner/script/scene/ct12.cpp +++ b/engines/bladerunner/script/scene/ct12.cpp @@ -157,7 +157,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Game_Flag_Set(kFlagCT12toCT01);  			Set_Enter(kSetCT01_CT12, kSceneCT01);  		} @@ -165,7 +165,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT12toCT03);  			Set_Enter(kSetCT03_CT04, kSceneCT03); @@ -174,7 +174,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT12toCT05);  			Set_Enter(kSetCT05, kSceneCT05); @@ -183,7 +183,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT12toCT11);  			Set_Enter(kSetCT11, kSceneCT11); @@ -195,7 +195,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {  			if (Global_Variable_Query(kVariableChapter) == 4) {  				Game_Flag_Set(629);  			} -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagCT12ToUG09);  			Set_Enter(kSetUG09, kSceneUG09); diff --git a/engines/bladerunner/script/scene/ct51.cpp b/engines/bladerunner/script/scene/ct51.cpp index f022e04696..6f44fb0b27 100644 --- a/engines/bladerunner/script/scene/ct51.cpp +++ b/engines/bladerunner/script/scene/ct51.cpp @@ -93,7 +93,7 @@ bool SceneScriptCT51::ClickedOnExit(int exitId) {  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, 0.0f, -102.0f, 0, 1, false, 0)) {  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -11.0f, 0.0f, -156.0f, 0, 0, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(380);  			Set_Enter(kSetCT08_CT51_UG12, kSceneCT08); diff --git a/engines/bladerunner/script/scene/dr01.cpp b/engines/bladerunner/script/scene/dr01.cpp index f58ebc6a38..b2b308ce15 100644 --- a/engines/bladerunner/script/scene/dr01.cpp +++ b/engines/bladerunner/script/scene/dr01.cpp @@ -101,7 +101,7 @@ bool SceneScriptDR01::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptDR01::ClickedOnActor(int actorId) { -	return actorId == 50; +	return actorId == kActorShoeshineMan;  }  bool SceneScriptDR01::ClickedOnItem(int itemId, bool a2) { @@ -259,7 +259,7 @@ void SceneScriptDR01::PlayerWalkedOut() {  	 && !Game_Flag_Query(kFlagDR01toDR02)  	 && !Game_Flag_Query(558)  	) { -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Outtake_Play(kOuttakeInside2, true, -1);  	} diff --git a/engines/bladerunner/script/scene/dr04.cpp b/engines/bladerunner/script/scene/dr04.cpp index d4aa636a1c..0f3addc3b7 100644 --- a/engines/bladerunner/script/scene/dr04.cpp +++ b/engines/bladerunner/script/scene/dr04.cpp @@ -266,7 +266,7 @@ void SceneScriptDR04::PlayerWalkedIn() {  void SceneScriptDR04::PlayerWalkedOut() {  	Music_Stop(2); -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/dr05.cpp b/engines/bladerunner/script/scene/dr05.cpp index 6ad6604c23..0204cf5b26 100644 --- a/engines/bladerunner/script/scene/dr05.cpp +++ b/engines/bladerunner/script/scene/dr05.cpp @@ -189,7 +189,7 @@ void SceneScriptDR05::PlayerWalkedIn() {  }  void SceneScriptDR05::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  	if (Actor_Query_Goal_Number(kActorMoraji) == 10 || Actor_Query_Goal_Number(kActorMoraji) == 18 || Actor_Query_Goal_Number(kActorMoraji) == 19) {  		Actor_Set_Goal_Number(kActorMoraji, 11); diff --git a/engines/bladerunner/script/scene/hc01.cpp b/engines/bladerunner/script/scene/hc01.cpp index e9ef0a2209..8318130397 100644 --- a/engines/bladerunner/script/scene/hc01.cpp +++ b/engines/bladerunner/script/scene/hc01.cpp @@ -26,15 +26,15 @@ namespace BladeRunner {  void SceneScriptHC01::InitializeScene() {  	Music_Play(0, 31, 0, 2, -1, 1, 2); -	if (Game_Flag_Query(385)) { +	if (Game_Flag_Query(kFlagHC02toHC01)) {  		Setup_Scene_Information(64.0f, 0.14f, 83.0f, 266); -	} else if (Game_Flag_Query(387)) { +	} else if (Game_Flag_Query(kFlagHC03toHC01)) {  		Setup_Scene_Information(607.0f, 0.14f, 9.0f, 530);  	} else {  		Setup_Scene_Information(780.0f, 0.14f, 153.0f, 815);  	}  	Scene_Exit_Add_2D_Exit(0, 0, 460, 639, 479, 2); -	if (Game_Flag_Query(402)) { +	if (Game_Flag_Query(kFlagHC03Available)) {  		Scene_Exit_Add_2D_Exit(1, 394, 229, 485, 371, 1);  	}  	Scene_Exit_Add_2D_Exit(2, 117, 0, 286, 319, 0); @@ -93,14 +93,14 @@ bool SceneScriptHC01::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptHC01::ClickedOnActor(int actorId) { -	if (actorId == 7 && (Actor_Query_Goal_Number(kActorIzo) == 150 || Actor_Query_Goal_Number(kActorIzo) == 0)) { +	if (actorId == kActorIzo +	 && (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoGoToHC01 +	  || Actor_Query_Goal_Number(kActorIzo) == kGoalIzoDefault +	 ) +	) {  		AI_Movement_Track_Pause(kActorIzo);  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 624.43f, 0.14f, 83.0f, 0, 1, false, 0)) { -			if (Game_Flag_Query(400)) { -				Actor_Face_Actor(kActorMcCoy, kActorIzo, true); -				Actor_Face_Actor(kActorIzo, kActorMcCoy, true); -				sub_402384(); -			} else { +			if (!Game_Flag_Query(kFlagIzoTalk1)) {  				Actor_Face_Actor(kActorIzo, kActorMcCoy, true);  				Actor_Says_With_Pause(kActorIzo, 10, 0.2f, 13);  				Actor_Face_Actor(kActorMcCoy, kActorIzo, true); @@ -114,7 +114,11 @@ bool SceneScriptHC01::ClickedOnActor(int actorId) {  				Actor_Says_With_Pause(kActorIzo, 70, 1.0f, 13);  				Actor_Says_With_Pause(kActorMcCoy, 1045, 0.6f, 14);  				Actor_Says(kActorIzo, 80, 18); -				Game_Flag_Set(400); +				Game_Flag_Set(kFlagIzoTalk1); +			} else { +				Actor_Face_Actor(kActorMcCoy, kActorIzo, true); +				Actor_Face_Actor(kActorIzo, kActorMcCoy, true); +				dialogueWithIzo();  			}  		}  		AI_Movement_Track_Unpause(kActorIzo); @@ -123,8 +127,8 @@ bool SceneScriptHC01::ClickedOnActor(int actorId) {  }  bool SceneScriptHC01::ClickedOnItem(int itemId, bool a2) { -	if (itemId == 107) { -		Item_Remove_From_World(107); +	if (itemId == kItemCamera) { +		Item_Remove_From_World(kItemCamera);  		Item_Pickup_Spin_Effect(977, 361, 381);  		Delay(1500);  		Item_Pickup_Spin_Effect(984, 377, 397); @@ -143,7 +147,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, 1, false, 0)) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 814.0f, 0.14f, 153.0f, 0, true, false, 0)) {  			Music_Adjust(12, 0, 2);  			Game_Flag_Set(kFlagHC01toAR01);  			Set_Enter(kSetAR01_AR02, kSceneAR01); @@ -153,15 +157,15 @@ bool SceneScriptHC01::ClickedOnExit(int exitId) {  		return true;  	}  	if (exitId == 1) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 607.0f, 0.14f, 9.0f, 0, 1, false, 0)) { -			Game_Flag_Set(386); +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 607.0f, 0.14f, 9.0f, 0, true, false, 0)) { +			Game_Flag_Set(kFlagHC01toHC03);  			Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC03);  		}  		return true;  	}  	if (exitId == 2) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 105.0f, 0.14f, 103.0f, 0, 1, false, 0)) { -			Game_Flag_Set(384); +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 105.0f, 0.14f, 103.0f, 0, true, false, 0)) { +			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);  		} @@ -193,7 +197,7 @@ void SceneScriptHC01::SceneFrameAdvanced(int frame) {  	}  	if (frame == 80) {  		Ambient_Sounds_Play_Sound(316, 40, 100, 100, 0); -		Item_Add_To_World(121, 931, 8, 582.0f, 27.0f, -41.0f, 0, 8, 8, true, true, false, true); +		Item_Add_To_World(kItemHC03Lock, 931, kSetHC01_HC02_HC03_HC04, 582.0f, 27.0f, -41.0f, 0, 8, 8, true, true, false, true);  	}  } @@ -201,12 +205,12 @@ void SceneScriptHC01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  }  void SceneScriptHC01::PlayerWalkedIn() { -	if (Game_Flag_Query(385)) { -		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 105.0f, 0.14f, 103.0f, 0, 0, false, 0); -		Game_Flag_Reset(385); +	if (Game_Flag_Query(kFlagHC02toHC01)) { +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 105.0f, 0.14f, 103.0f, 0, false, false, 0); +		Game_Flag_Reset(kFlagHC02toHC01);  	} -	if (Game_Flag_Query(387)) { -		Game_Flag_Reset(387); +	if (Game_Flag_Query(kFlagHC03toHC01)) { +		Game_Flag_Reset(kFlagHC03toHC01);  	}  	if (Game_Flag_Query(kFlagAR01toHC01)) {  		Game_Flag_Reset(kFlagAR01toHC01); @@ -215,69 +219,66 @@ void SceneScriptHC01::PlayerWalkedIn() {  void SceneScriptHC01::PlayerWalkedOut() {  	Set_Fade_Density(0.0f); -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  }  void SceneScriptHC01::DialogueQueueFlushed(int a1) {  } -void SceneScriptHC01::sub_402384() { -	if (!Game_Flag_Query(401)) { +void SceneScriptHC01::dialogueWithIzo() { +	if (!Game_Flag_Query(kFlagIzoTalk2)) {  		Actor_Says(kActorMcCoy, 1055, 13);  		Actor_Says(kActorIzo, 130, 13);  		Actor_Says_With_Pause(kActorMcCoy, 1060, 0.2f, 13);  		Actor_Says(kActorIzo, 140, 13); -		Game_Flag_Set(401); +		Game_Flag_Set(kFlagIzoTalk2);  	} +  	Dialogue_Menu_Clear_List(); -	if (Actor_Clue_Query(kActorMcCoy, kCluePeruvianLadyInterview) == 1) { -		DM_Add_To_List_Never_Repeat_Once_Selected(1020, 6, 7, 3); -	} else if (Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring) || Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect) || Actor_Clue_Query(kActorMcCoy, kClueDragonflyAnklet)) { -		DM_Add_To_List_Never_Repeat_Once_Selected(1010, 6, 7, 3); +	if (Actor_Clue_Query(kActorMcCoy, kCluePeruvianLadyInterview)) { +		DM_Add_To_List_Never_Repeat_Once_Selected(1020, 6, 7, 3); // DRAGONFLY JEWERLY +	} else if (Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring) +	        || Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect) +	        || Actor_Clue_Query(kActorMcCoy, kClueDragonflyAnklet) +	) { +		DM_Add_To_List_Never_Repeat_Once_Selected(1010, 6, 7, 3); // INSECT JEWELRY  	} -	if (Actor_Clue_Query(kActorMcCoy, kClueBobInterview1) == 1) { -		DM_Add_To_List_Never_Repeat_Once_Selected(1030, 1, 5, 7); -	} else if (Actor_Clue_Query(kActorMcCoy, kClueShellCasings) == 1) { -		DM_Add_To_List_Never_Repeat_Once_Selected(1040, 4, 4, 6); +	if (Actor_Clue_Query(kActorMcCoy, kClueBobInterview1)) { +		DM_Add_To_List_Never_Repeat_Once_Selected(1030, 1, 5, 7); // WEAPONS +	} else if (Actor_Clue_Query(kActorMcCoy, kClueShellCasings)) { +		DM_Add_To_List_Never_Repeat_Once_Selected(1040, 4, 4, 6); // SHELL CASINGS  	} -	if (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2) == 1) { -		DM_Add_To_List_Never_Repeat_Once_Selected(1050, -1, 3, 8); -	} else if (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB1) == 1) { -		DM_Add_To_List_Never_Repeat_Once_Selected(1060, -1, 3, 8); +	if (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2)) { +		DM_Add_To_List_Never_Repeat_Once_Selected(1050, -1, 3, 8); // GRIGORIAN 1 +	} else if (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB1)) { +		DM_Add_To_List_Never_Repeat_Once_Selected(1060, -1, 3, 8); // GRIGORIAN 2  	} -	if (!Dialogue_Menu_Query_List_Size()) { + +	if (Dialogue_Menu_Query_List_Size() == 0) {  		Actor_Says_With_Pause(kActorMcCoy, 1105, 1.2f, 13);  		if (Actor_Query_Friendliness_To_Other(kActorIzo, kActorMcCoy) < 50) {  			Actor_Says(kActorIzo, 550, 15);  		} else {  			Actor_Says(kActorIzo, 250, 13);  			Actor_Modify_Friendliness_To_Other(kActorIzo, kActorMcCoy, -1); -			if (Actor_Query_Friendliness_To_Other(kActorIzo, kActorMcCoy) < 47 && Query_Difficulty_Level() == 0) { -				sub_40346C(); +			if (Actor_Query_Friendliness_To_Other(kActorIzo, kActorMcCoy) < 47 +			 && Query_Difficulty_Level() == 0 +			) { +				takePhotoAndRunAway();  			}  		}  		return;  	} -	Dialogue_Menu_Add_DONE_To_List(100); + +	Dialogue_Menu_Add_DONE_To_List(100); // DONE +  	bool end = false;  	do {  		Dialogue_Menu_Appear(320, 240);  		int answer = Dialogue_Menu_Query_Input();  		Dialogue_Menu_Disappear(); -		if (answer == 1020) { -			Dialogue_Menu_Remove_From_List(1020); -			Actor_Says(kActorMcCoy, 1065, 15); -			Actor_Says(kActorIzo, 160, 3); -			Actor_Says(kActorMcCoy, 1110, 16); -			Actor_Says(kActorIzo, 170, 3); -			Actor_Says(kActorIzo, 180, 3); -			Actor_Says(kActorIzo, 190, 12); -			if (Query_Difficulty_Level() < 2) { -				Actor_Modify_Friendliness_To_Other(kActorIzo, kActorMcCoy, -2); -			} -		} -		if (answer == 1010) { +		if (answer == 1010) { // INSECT JEWELRY  			Dialogue_Menu_Remove_From_List(1010);  			Actor_Clue_Acquire(kActorMcCoy, kClueIzoInterview, false, kActorIzo);  			Actor_Says(kActorMcCoy, 1070, 13); @@ -285,30 +286,36 @@ void SceneScriptHC01::sub_402384() {  			Actor_Says(kActorIzo, 210, 12);  			Actor_Says(kActorMcCoy, 1115, 12);  			Actor_Says(kActorIzo, 220, 16); -			Actor_Says(kActorIzo, 230, 3); +			Actor_Says(kActorIzo, 230, kAnimationModeTalk);  			Actor_Says(kActorIzo, 240, 15);  			if (Query_Difficulty_Level() < 2) {  				Actor_Modify_Friendliness_To_Other(kActorIzo, kActorMcCoy, -1);  			}  		} -		if (answer == 1010 || answer == 1020) { +		if (answer == 1020) { // DRAGONFLY JEWERLY +			Dialogue_Menu_Remove_From_List(1020); +			Actor_Says(kActorMcCoy, 1065, 15); +			Actor_Says(kActorIzo, 160, kAnimationModeTalk); +			Actor_Says(kActorMcCoy, 1110, 16); +			Actor_Says(kActorIzo, 170, kAnimationModeTalk); +			Actor_Says(kActorIzo, 180, kAnimationModeTalk); +			Actor_Says(kActorIzo, 190, 12); +			if (Query_Difficulty_Level() < 2) { +				Actor_Modify_Friendliness_To_Other(kActorIzo, kActorMcCoy, -2); +			} +		} +		if (answer == 1010 // INSECT JEWELRY  +		 || answer == 1020 // DRAGONFLY JEWERLY +		) {  			Actor_Says_With_Pause(kActorMcCoy, 1120, 0.9f, 17);  			Actor_Says(kActorIzo, 250, 13);  			Actor_Says(kActorMcCoy, 1125, 14);  			if (Actor_Query_Friendliness_To_Other(kActorIzo, kActorMcCoy) < 47) { -				Actor_Set_Goal_Number(kActorIzo, 1); -				Player_Loses_Control(); -				Actor_Says(kActorIzo, 90, 3); -				Actor_Face_Actor(kActorIzo, kActorMcCoy, true); -				Actor_Says(kActorIzo, 100, 3); -				Actor_Says(kActorIzo, 110, 3); -				Actor_Says_With_Pause(kActorMcCoy, 1050, 0.2f, 3); -				Actor_Says(kActorIzo, 120, 3); -				Actor_Set_Goal_Number(kActorIzo, 2); +				takePhotoAndRunAway();  			}  			end = true;  		} -		if (answer == 1030) { +		if (answer == 1030) { // WEAPONS  			Dialogue_Menu_Remove_From_List(1030);  			Actor_Says(kActorMcCoy, 1075, 18);  			Actor_Says(kActorIzo, 260, 12); @@ -319,24 +326,16 @@ void SceneScriptHC01::sub_402384() {  			Actor_Says(kActorIzo, 290, 15);  			Actor_Says(kActorIzo, 300, 12);  			Actor_Says(kActorIzo, 310, 17); -			Actor_Says(kActorMcCoy, 1140, 3); +			Actor_Says(kActorMcCoy, 1140, kAnimationModeTalk);  			if (Query_Difficulty_Level() < 2) {  				Actor_Modify_Friendliness_To_Other(kActorIzo, kActorMcCoy, -2);  			}  			if (Actor_Query_Friendliness_To_Other(kActorIzo, kActorMcCoy) < 47) { -				Actor_Set_Goal_Number(kActorIzo, 1); -				Player_Loses_Control(); -				Actor_Says(kActorIzo, 90, 3); -				Actor_Face_Actor(kActorIzo, kActorMcCoy, true); -				Actor_Says(kActorIzo, 100, 3); -				Actor_Says(kActorIzo, 110, 3); -				Actor_Says_With_Pause(kActorMcCoy, 1050, 0.2f, 3); -				Actor_Says(kActorIzo, 120, 3); -				Actor_Set_Goal_Number(kActorIzo, 2); +				takePhotoAndRunAway();  			}  			end = true;  		} -		if (answer == 1040) { +		if (answer == 1040) { // SHELL CASINGS  			Dialogue_Menu_Remove_From_List(1040);  			Actor_Says(kActorMcCoy, 1080, 15);  			Actor_Says(kActorMcCoy, 1085, 17); @@ -347,7 +346,7 @@ void SceneScriptHC01::sub_402384() {  			Actor_Says(kActorIzo, 350, 12);  			end = true;  		} -		if (answer == 1050) { +		if (answer == 1050) { // GRIGORIAN 1  			Dialogue_Menu_Remove_From_List(1050);  			Actor_Says(kActorMcCoy, 1090, 18);  			Actor_Says(kActorIzo, 360, 14); @@ -367,19 +366,11 @@ void SceneScriptHC01::sub_402384() {  			Actor_Says(kActorIzo, 440, 13);  			Actor_Modify_Friendliness_To_Other(kActorIzo, kActorMcCoy, -4);  			if (Actor_Query_Friendliness_To_Other(kActorIzo, kActorMcCoy) < 47) { -				Actor_Set_Goal_Number(kActorIzo, 1); -				Player_Loses_Control(); -				Actor_Says(kActorIzo, 90, 3); -				Actor_Face_Actor(kActorIzo, kActorMcCoy, true); -				Actor_Says(kActorIzo, 100, 3); -				Actor_Says(kActorIzo, 110, 3); -				Actor_Says_With_Pause(kActorMcCoy, 1050, 0.2f, 3); -				Actor_Says(kActorIzo, 120, 3); -				Actor_Set_Goal_Number(kActorIzo, 2); +				takePhotoAndRunAway();  			}  			end = true;  		} -		if (answer == 1060) { +		if (answer == 1060) { // GRIGORIAN 2  			Dialogue_Menu_Remove_From_List(1060);  			Actor_Says(kActorMcCoy, 1095, 15);  			Actor_Says_With_Pause(kActorMcCoy, 1100, 1.2f, 18); @@ -400,34 +391,26 @@ void SceneScriptHC01::sub_402384() {  			Actor_Says(kActorMcCoy, 1210, 16);  			Actor_Modify_Friendliness_To_Other(kActorIzo, kActorMcCoy, -4);  			if (Actor_Query_Friendliness_To_Other(kActorIzo, kActorMcCoy) < 47) { -				Actor_Set_Goal_Number(kActorIzo, 1); -				Player_Loses_Control(); -				Actor_Says(kActorIzo, 90, 3); -				Actor_Face_Actor(kActorIzo, kActorMcCoy, true); -				Actor_Says(kActorIzo, 100, 3); -				Actor_Says(kActorIzo, 110, 3); -				Actor_Says_With_Pause(kActorMcCoy, 1050, 0.2f, 3); -				Actor_Says(kActorIzo, 120, 3); -				Actor_Set_Goal_Number(kActorIzo, 2); +				takePhotoAndRunAway();  			}  			end = true;  		} -		if (answer == 100) { +		if (answer == 100) { // DONE  			end = true;  		}  	} while (!end);  } -void SceneScriptHC01::sub_40346C() { -	Actor_Set_Goal_Number(kActorIzo, 1); +void SceneScriptHC01::takePhotoAndRunAway() { +	Actor_Set_Goal_Number(kActorIzo, kGoalIzoPrepareCamera);  	Player_Loses_Control(); -	Actor_Says(kActorIzo, 90, 3); +	Actor_Says(kActorIzo, 90, kAnimationModeTalk);  	Actor_Face_Actor(kActorIzo, kActorMcCoy, true); -	Actor_Says(kActorIzo, 100, 3); -	Actor_Says(kActorIzo, 110, 3); -	Actor_Says_With_Pause(kActorMcCoy, 1050, 0.2f, 3); -	Actor_Says(kActorIzo, 120, 3); -	Actor_Set_Goal_Number(kActorIzo, 2); +	Actor_Says(kActorIzo, 100, kAnimationModeTalk); +	Actor_Says(kActorIzo, 110, kAnimationModeTalk); +	Actor_Says_With_Pause(kActorMcCoy, 1050, 0.2f, kAnimationModeTalk); +	Actor_Says(kActorIzo, 120, kAnimationModeTalk); +	Actor_Set_Goal_Number(kActorIzo, kGoalIzoTakePhoto);  }  } // End of namespace BladeRunner diff --git a/engines/bladerunner/script/scene/hc02.cpp b/engines/bladerunner/script/scene/hc02.cpp index 4b293612dc..76cf09c6e0 100644 --- a/engines/bladerunner/script/scene/hc02.cpp +++ b/engines/bladerunner/script/scene/hc02.cpp @@ -35,16 +35,16 @@ void SceneScriptHC02::InitializeScene() {  	Scene_Exit_Add_2D_Exit(1, 505, 0, 639, 170, 0);  	Ambient_Sounds_Add_Looping_Sound(103, 50, 50, 0);  	Ambient_Sounds_Add_Looping_Sound(280, 50, 50, 0); -	Ambient_Sounds_Add_Sound(252, 3, 60, 33, 33, -60, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(254, 3, 60, 33, 33, -60, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(255, 3, 60, 33, 33, -60, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(256, 3, 60, 33, 33, -60, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(257, 3, 60, 33, 33, -60, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(258, 3, 60, 33, 33, -60, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(259, 3, 60, 33, 33, -100, 20, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(260, 3, 60, 33, 33, -100, 20, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(261, 3, 60, 33, 33, -100, 20, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(262, 3, 60, 33, 33, -100, 20, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(252, 3, 60, 33, 33,  -60,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(254, 3, 60, 33, 33,  -60,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(255, 3, 60, 33, 33,  -60,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(256, 3, 60, 33, 33,  -60,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(257, 3, 60, 33, 33,  -60,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(258, 3, 60, 33, 33,  -60,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(259, 3, 60, 33, 33, -100,  20, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(260, 3, 60, 33, 33, -100,  20, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(261, 3, 60, 33, 33, -100,  20, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(262, 3, 60, 33, 33, -100,  20, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(182, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(184, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(185, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); @@ -54,20 +54,20 @@ void SceneScriptHC02::InitializeScene() {  	Ambient_Sounds_Add_Sound(191, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(192, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(242, 3, 30, 14, 14, 30, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(243, 3, 30, 14, 14, 30, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(244, 3, 30, 14, 14, 30, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(245, 3, 30, 14, 14, 30, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(246, 3, 30, 14, 14, 30, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(247, 3, 30, 14, 14, 30, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(248, 3, 30, 14, 14, 30, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(249, 3, 30, 14, 14, 30, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(242, 3, 30, 14, 14,   30, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(243, 3, 30, 14, 14,   30, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(244, 3, 30, 14, 14,   30, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(245, 3, 30, 14, 14,   30, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(246, 3, 30, 14, 14,   30, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(247, 3, 30, 14, 14,   30, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(248, 3, 30, 14, 14,   30, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(249, 3, 30, 14, 14,   30, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(238, 3, 50, 20, 20, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(240, 3, 50, 25, 25, -100, 100, -101, -101, 0, 0); -	if (Game_Flag_Query(384)) { +	if (Game_Flag_Query(kFlagHC01toHC02)) {  		Scene_Loop_Start_Special(0, 0, 0);  		Scene_Loop_Set_Default(1); -		Game_Flag_Reset(384); +		Game_Flag_Reset(kFlagHC01toHC02);  	} else {  		Scene_Loop_Set_Default(1);  	} @@ -86,10 +86,10 @@ bool SceneScriptHC02::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptHC02::ClickedOnActor(int actorId) { -	if (actorId == 32) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -150.51f, 0.14f, 62.74f, 0, 1, false, 0)) { +	if (actorId == kActorHawkersBarkeep) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -150.51f, 0.14f, 62.74f, 0, true, false, 0)) {  			Actor_Face_Actor(kActorMcCoy, kActorHawkersBarkeep, true); -			if (!Game_Flag_Query(404)) { +			if (!Game_Flag_Query(kFlagHawkersBarkeepIntroduction)) {  				Actor_Says(kActorMcCoy, 1225, 13);  				Actor_Says_With_Pause(kActorHawkersBarkeep, 0, 0.0f, 13);  				Actor_Says(kActorHawkersBarkeep, 10, 16); @@ -98,15 +98,22 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {  				Delay(1500);  				Actor_Change_Animation_Mode(kActorMcCoy, 75);  				Delay(1500); -				Global_Variable_Increment(42, 1); -				Game_Flag_Set(404); -			} else if (Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera) && !Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityDisc)) { +				Global_Variable_Increment(kVariableMcCoyDrinks, 1); +				Game_Flag_Set(kFlagHawkersBarkeepIntroduction); +			} else if ( Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera) +			        && !Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityDisc) +			) {  				Actor_Says(kActorMcCoy, 4545, 11);  				Actor_Says(kActorHawkersBarkeep, 120, 12);  				Actor_Says(kActorHawkersBarkeep, 180, 13);  				Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityDisc, true, kActorHawkersBarkeep);  				Item_Pickup_Spin_Effect(975, 229, 215); -			} else if (Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1) && !Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe) && (Global_Variable_Query(2) > 20 || Query_Difficulty_Level() == 0)) { +			} else if ( Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1) +			        && !Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe) +			        && (Global_Variable_Query(kVariableChinyen) > 20 +			         || Query_Difficulty_Level() == 0 +			        ) +			) {  				Actor_Clue_Acquire(kActorMcCoy, kClueFlaskOfAbsinthe, true, kActorHawkersBarkeep);  				Actor_Says(kActorMcCoy, 1230, 13);  				Actor_Says(kActorHawkersBarkeep, 20, 12); @@ -120,23 +127,25 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {  				Delay(1500);  				Actor_Says_With_Pause(kActorHawkersBarkeep, 50, 1.6f, 17);  				if (Query_Difficulty_Level() != 0) { -					Global_Variable_Decrement(2, 20); +					Global_Variable_Decrement(kVariableChinyen, 20);  				}  				Actor_Says(kActorMcCoy, 1245, 13);  			} else {  				if ( Actor_Clue_Query(kActorMcCoy, kClueMaggieBracelet) -				 && !Game_Flag_Query(405) +				 && !Game_Flag_Query(kFlagHawkersBarkeepBraceletTalk)  				) {  					Actor_Says(kActorHawkersBarkeep, 80, 16);  					Actor_Says(kActorMcCoy, 1265, 13);  					Actor_Says(kActorHawkersBarkeep, 90, 13); -					Game_Flag_Set(405); +					Game_Flag_Set(kFlagHawkersBarkeepBraceletTalk);  				} -				if (Global_Variable_Query(2) > 5 || Query_Difficulty_Level() == 0) { +				if (Global_Variable_Query(kVariableChinyen) > 5 +				 || Query_Difficulty_Level() == 0 +				) {  					if (Query_Difficulty_Level() != 0) { -						Global_Variable_Decrement(2, 5); +						Global_Variable_Decrement(kVariableChinyen, 5);  					} -					Global_Variable_Increment(42, 1); +					Global_Variable_Increment(kVariableMcCoyDrinks, 1);  					Actor_Says(kActorMcCoy, 1250, 13);  					Actor_Says_With_Pause(kActorHawkersBarkeep, 60, 0.8f, 14);  					Actor_Says(kActorMcCoy, 1255, 13); @@ -163,16 +172,16 @@ 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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1); -			Game_Flag_Set(385); +			Game_Flag_Set(kFlagHC02toHC01);  			Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC01);  		}  		return true;  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, 0.14f, -339.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagHC02toHC04);  			Async_Actor_Walk_To_XYZ(kActorMcCoy, -88.0f, 0.14f, -463.0f, 0, false); @@ -204,7 +213,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, 0, false, 0); +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, 0.14f, -339.0f, 0, false, false, 0);  		Game_Flag_Reset(kFlagHC04toHC02);  	}  } diff --git a/engines/bladerunner/script/scene/hc03.cpp b/engines/bladerunner/script/scene/hc03.cpp index e8490b5d4d..07016f6c5f 100644 --- a/engines/bladerunner/script/scene/hc03.cpp +++ b/engines/bladerunner/script/scene/hc03.cpp @@ -24,21 +24,33 @@  namespace BladeRunner { +enum kHC03Loops { +	kHC03LoopMain                     = 0, +	kHC03LoopCageDoorOpening          = 2, +	kHC03LoopMainCageOpen             = 3, +	kHC03LoopTrapDoorOpening          = 5, +	kHC03LoopMainCageOpenTrapDoorOpen = 6 +}; +  void SceneScriptHC03::InitializeScene() {  	if (Game_Flag_Query(kFlagUG02toHC03)) {  		Setup_Scene_Information(656.0f, 1.61f, -95.0f, 497); -		Game_Flag_Set(388); +		Game_Flag_Set(kFlagHC03TrapDoorOpen);  		Game_Flag_Reset(kFlagUG02toHC03);  	} else {  		Setup_Scene_Information(607.0f, 0.14f, 13.0f, 57); -		Game_Flag_Reset(386); +		Game_Flag_Reset(kFlagHC01toHC03);  	}  	Scene_Exit_Add_2D_Exit(0, 0, 0, 30, 479, 3); -	if (Game_Flag_Query(403) || Global_Variable_Query(kVariableChapter) > 3) { -		Item_Remove_From_World(121); -		Game_Flag_Set(403); + +	if (Game_Flag_Query(kFlagHC03CageOpen) +	 || Global_Variable_Query(kVariableChapter) > 3 +	) { +		Item_Remove_From_World(kItemHC03Lock); +		Game_Flag_Set(kFlagHC03CageOpen);  		Scene_Exit_Add_2D_Exit(1, 400, 275, 515, 375, 2);  	} +  	Ambient_Sounds_Add_Looping_Sound(103, 50, 50, 0);  	Ambient_Sounds_Add_Looping_Sound(241, 50, 50, 0);  	Ambient_Sounds_Add_Sound(242, 3, 30, 16, 16, -100, -70, -101, -101, 0, 0); @@ -65,18 +77,24 @@ void SceneScriptHC03::InitializeScene() {  	Ambient_Sounds_Add_Sound(193, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(194, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	if (Game_Flag_Query(388)) { -		Scene_Loop_Set_Default(6); -	} else if (Game_Flag_Query(403) || Global_Variable_Query(kVariableChapter) > 3) { -		Scene_Loop_Set_Default(3); + +	if (Game_Flag_Query(kFlagHC03TrapDoorOpen)) { +		Scene_Loop_Set_Default(kHC03LoopMainCageOpenTrapDoorOpen); +	} else if (Game_Flag_Query(kFlagHC03CageOpen) +	        || Global_Variable_Query(kVariableChapter) > 3 +	) { +		Scene_Loop_Set_Default(kHC03LoopMainCageOpen);  	} else { -		Scene_Loop_Set_Default(0); +		Scene_Loop_Set_Default(kHC03LoopMain);  	}  }  void SceneScriptHC03::SceneLoaded() {  	Obstacle_Object("GUITAR01", true); -	if (Game_Flag_Query(403) || Game_Flag_Query(388) || Global_Variable_Query(kVariableChapter) > 3) { +	if (Game_Flag_Query(kFlagHC03CageOpen) +	 || Game_Flag_Query(kFlagHC03TrapDoorOpen) +	 || Global_Variable_Query(kVariableChapter) > 3 +	) {  		Unobstacle_Object("GPscisGate", true);  	} else {  		Obstacle_Object("GPscisGate", true); @@ -96,21 +114,22 @@ bool SceneScriptHC03::ClickedOnActor(int actorId) {  	return false;  } -bool SceneScriptHC03::ClickedOnItem(int itemId, bool a2) { -	if (itemId == 121) { -		if (a2) { -			Scene_Loop_Set_Default(3); -			Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true); -			Game_Flag_Set(403); -			Item_Remove_From_World(121); +bool SceneScriptHC03::ClickedOnItem(int itemId, bool combatMode) { +	if (itemId == kItemHC03Lock) { +		if (combatMode) { +			Scene_Loop_Set_Default(kHC03LoopMainCageOpen); +			Scene_Loop_Start_Special(kSceneLoopModeOnce, kHC03LoopCageDoorOpening, true); +			Game_Flag_Set(kFlagHC03CageOpen); +			Item_Remove_From_World(kItemHC03Lock);  			Unobstacle_Object("GPscisGate", true);  		} else {  			Actor_Says(kActorMcCoy, 8522, 12);  		}  		return true;  	} -	if (itemId == 107) { -		Item_Remove_From_World(107); + +	if (itemId == kItemCamera) { +		Item_Remove_From_World(kItemCamera);  		Item_Pickup_Spin_Effect(977, 68, 435);  		Delay(1500);  		Item_Pickup_Spin_Effect(984, 78, 435); @@ -129,25 +148,26 @@ bool SceneScriptHC03::ClickedOnItem(int itemId, bool a2) {  bool SceneScriptHC03::ClickedOnExit(int exitId) {  	if (exitId == 0) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 607.0f, 0.14f, 9.0f, 0, 1, false, 0)) { -			Game_Flag_Set(387); +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 607.0f, 0.14f, 9.0f, 0, true, false, 0)) { +			Game_Flag_Set(kFlagHC03toHC01);  			Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC01);  		}  		return true;  	} +  	if (exitId == 1) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 628.0f, 2.04f, -123.0f, 0, 1, false, 0)) { -			if (Game_Flag_Query(388)) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 628.0f, 2.04f, -123.0f, 0, true, false, 0)) { +			if (!Game_Flag_Query(kFlagHC03TrapDoorOpen)) { +				Scene_Loop_Set_Default(kHC03LoopMainCageOpenTrapDoorOpen); +				Scene_Loop_Start_Special(kSceneLoopModeOnce, kHC03LoopTrapDoorOpening, true); +				Game_Flag_Set(kFlagHC03TrapDoorOpen); +			} else {  				Game_Flag_Set(kFlagHC03toUG02);  				Game_Flag_Reset(kFlagMcCoyAtHCxx);  				Game_Flag_Set(kFlagMcCoyAtUGxx); -				Game_Flag_Set(388); +				Game_Flag_Set(kFlagHC03TrapDoorOpen);  				Music_Stop(2);  				Set_Enter(kSetUG02, kSceneUG02); -			} else { -				Scene_Loop_Set_Default(6); -				Scene_Loop_Start_Special(kSceneLoopModeOnce, 5, true); -				Game_Flag_Set(388);  			}  		}  		return true; @@ -160,10 +180,26 @@ bool SceneScriptHC03::ClickedOn2DRegion(int region) {  }  void SceneScriptHC03::SceneFrameAdvanced(int frame) { -	if (frame == 10 || frame == 19 || frame == 29 || frame == 39 || frame == 49 || frame == 59 || frame == 71 || frame == 82 || frame == 91 || frame == 101 || frame == 111 || frame == 121 || frame == 131) { +	if (frame == 10 +	 || frame == 19 +	 || frame == 29 +	 || frame == 39 +	 || frame == 49 +	 || frame == 59 +	 || frame == 71 +	 || frame == 82 +	 || frame == 91 +	 || frame == 101 +	 || frame == 111 +	 || frame == 121 +	 || frame == 131 +	) {  		Sound_Play(281, Random_Query(33, 50), 50, 50, 50);  	} -	if (!Game_Flag_Query(521) && frame == 66) { + +	if (!Game_Flag_Query(521) +	 &&  frame == 66 +	) {  		Ambient_Sounds_Play_Sound(328, 90, 0, -40, 99);  		Sound_Play(201, Random_Query(47, 47), 0, -40, 50);  		Scene_Exit_Add_2D_Exit(1, 400, 275, 515, 375, 2); @@ -178,7 +214,7 @@ void SceneScriptHC03::PlayerWalkedIn() {  }  void SceneScriptHC03::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/hc04.cpp b/engines/bladerunner/script/scene/hc04.cpp index a20b65c623..35965ea472 100644 --- a/engines/bladerunner/script/scene/hc04.cpp +++ b/engines/bladerunner/script/scene/hc04.cpp @@ -34,20 +34,20 @@ void SceneScriptHC04::InitializeScene() {  	Music_Play(4, 14, -90, 1, -1, 1, 2);  	Actor_Put_In_Set(kActorIsabella, kSetHC01_HC02_HC03_HC04);  	Actor_Set_At_XYZ(kActorIsabella, -210.0f, 0.0f, -445.0f, 250); -	Scene_Exit_Add_2D_Exit(0, 539, 51, 639, 309, 0); -	Scene_Exit_Add_2D_Exit(1, 0, 456, 639, 479, 2); +	Scene_Exit_Add_2D_Exit(0, 539,  51, 639, 309, 0); +	Scene_Exit_Add_2D_Exit(1,   0, 456, 639, 479, 2);  	Ambient_Sounds_Add_Looping_Sound(103, 50, 50, 0);  	Ambient_Sounds_Add_Looping_Sound(329, 16, 16, 0);  	Ambient_Sounds_Add_Looping_Sound(330, 40, 40, 0); -	Ambient_Sounds_Add_Sound(182, 5, 70, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(184, 5, 70, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(185, 5, 70, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(186, 5, 70, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(188, 5, 70, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(189, 5, 70, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(191, 5, 70, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(192, 5, 70, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(195, 5, 70, 14, 16, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(182, 5, 70, 14, 16, -100,  100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(184, 5, 70, 14, 16, -100,  100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(185, 5, 70, 14, 16, -100,  100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(186, 5, 70, 14, 16, -100,  100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(188, 5, 70, 14, 16, -100,  100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(189, 5, 70, 14, 16, -100,  100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(191, 5, 70, 14, 16, -100,  100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(192, 5, 70, 14, 16, -100,  100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(195, 5, 70, 14, 16, -100,  100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(252, 3, 60, 16, 16, -100, -100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(252, 3, 60, 16, 16, -100, -100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(254, 3, 60, 16, 16, -100, -100, -101, -101, 0, 0); @@ -84,17 +84,17 @@ 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, 1, false, 0)) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -155.0f, 0.0f, -475.0f, 12, true, false, 0)) {  			Actor_Face_Actor(kActorMcCoy, kActorIsabella, true);  			Actor_Face_Actor(kActorIsabella, kActorMcCoy, true); -			if (Game_Flag_Query(kFlagIsabellaIntroduced)) { -				sub_401B90(); +			if (!Game_Flag_Query(kFlagIsabellaIntroduced)) { +				Actor_Says(kActorIsabella, 0, kAnimationModeTalk); +				Actor_Says(kActorMcCoy, 1280, kAnimationModeTalk); +				Actor_Says(kActorIsabella, 20, kAnimationModeTalk); +				Game_Flag_Set(kFlagIsabellaIntroduced);  				return true;  			} else { -				Actor_Says(kActorIsabella, 0, 3); -				Actor_Says(kActorMcCoy, 1280, 3); -				Actor_Says(kActorIsabella, 20, 3); -				Game_Flag_Set(kFlagIsabellaIntroduced); +				dialogueWithIsabella();  				return true;  			}  		} @@ -108,7 +108,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, 1, false, 0)) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -108.0f, 0.14f, -639.0f, 0, true, false, 0)) {  			Music_Stop(2);  			Game_Flag_Set(kFlagHC04toRC03);  			Game_Flag_Reset(kFlagMcCoyAtHCxx); @@ -118,7 +118,7 @@ bool SceneScriptHC04::ClickedOnExit(int exitId) {  		return true;  	}  	if (exitId == 1) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -72.0f, 0.14f, -399.0f, 0, 1, false, 0)) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -72.0f, 0.14f, -399.0f, 0, true, false, 0)) {  			Game_Flag_Set(kFlagHC04toHC02);  			Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC02);  		} @@ -141,100 +141,113 @@ void SceneScriptHC04::PlayerWalkedIn() {  }  void SceneScriptHC04::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  }  void SceneScriptHC04::DialogueQueueFlushed(int a1) {  } -void SceneScriptHC04::sub_401B90() { +void SceneScriptHC04::dialogueWithIsabella() {  	Dialogue_Menu_Clear_List(); -	if (Actor_Clue_Query(kActorMcCoy, kClueKingstonKitchenBox2) || Actor_Clue_Query(kActorMcCoy, kClueKingstonKitchenBox1)) { +	if (Actor_Clue_Query(kActorMcCoy, kClueKingstonKitchenBox2) +	 || Actor_Clue_Query(kActorMcCoy, kClueKingstonKitchenBox1) +	) {  		if (Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect)) { -			DM_Add_To_List_Never_Repeat_Once_Selected(340, 5, 6, 5); +			DM_Add_To_List_Never_Repeat_Once_Selected(340, 5, 6, 5); // SADIK PHOTO  		} else if (Actor_Clue_Query(kActorMcCoy, kClueTyrellSecurityPhoto)) { -			DM_Add_To_List_Never_Repeat_Once_Selected(350, 5, 6, 5); +			DM_Add_To_List_Never_Repeat_Once_Selected(350, 5, 6, 5); // DELIVERYMEN  		} -		DM_Add_To_List_Never_Repeat_Once_Selected(360, 6, 4, 3); +		DM_Add_To_List_Never_Repeat_Once_Selected(360, 6, 4, 3); // MARCUS EISENDULLER  	} -	if (Actor_Clue_Query(kActorMcCoy, kClueCheese) && !Actor_Clue_Query(kActorMcCoy, kClueSpecialIngredient)) { -		DM_Add_To_List_Never_Repeat_Once_Selected(370, 3, 4, 7); +	if ( Actor_Clue_Query(kActorMcCoy, kClueCheese) +	 && !Actor_Clue_Query(kActorMcCoy, kClueSpecialIngredient) +	) { +		DM_Add_To_List_Never_Repeat_Once_Selected(370, 3, 4, 7); // CHEESE  	}  	if (Actor_Clue_Query(kActorMcCoy, kClueSpecialIngredient)) { -		DM_Add_To_List_Never_Repeat_Once_Selected(380, -1, 5, 8); +		DM_Add_To_List_Never_Repeat_Once_Selected(380, -1, 5, 8); // MIA AND MURRAY INFO  	} -	DM_Add_To_List_Never_Repeat_Once_Selected(390, 7, 5, -1); -	Dialogue_Menu_Add_DONE_To_List(400); +	DM_Add_To_List_Never_Repeat_Once_Selected(390, 7, 5, -1); // BUY STEW +	Dialogue_Menu_Add_DONE_To_List(400); // DONE +  	Dialogue_Menu_Appear(320, 240);  	int answer = Dialogue_Menu_Query_Input();  	Dialogue_Menu_Disappear(); +  	switch (answer) { -	case 340: -		Actor_Says(kActorMcCoy, 1285, 3); -		Actor_Says(kActorIsabella, 50, 3); -		Actor_Says(kActorMcCoy, 1330, 3); -		Actor_Says(kActorIsabella, 60, 3); +	case 340: // SADIK PHOTO +		Actor_Says(kActorMcCoy, 1285, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 50, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1330, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 60, kAnimationModeTalk);  		break; -	case 350: -		Actor_Says(kActorMcCoy, 1290, 3); -		Actor_Says(kActorIsabella, 70, 3); -		Actor_Says(kActorMcCoy, 1335, 3); -		Actor_Says(kActorIsabella, 80, 3); -		Actor_Says(kActorMcCoy, 1340, 3); -		Actor_Says(kActorIsabella, 90, 3); -		Actor_Says(kActorMcCoy, 1345, 3); + +	case 350: // DELIVERYMEN +		Actor_Says(kActorMcCoy, 1290, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 70, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1335, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 80, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1340, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 90, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1345, kAnimationModeTalk);  		break; -	case 360: -		Actor_Says(kActorMcCoy, 1295, 3); -		Actor_Says(kActorIsabella, 100, 3); -		Actor_Says(kActorMcCoy, 1350, 3); -		Actor_Says(kActorIsabella, 110, 3); -		Actor_Says(kActorMcCoy, 1355, 3); -		Actor_Says(kActorIsabella, 130, 3); -		Actor_Says(kActorMcCoy, 1360, 3); + +	case 360: // MARCUS EISENDULLER +		Actor_Says(kActorMcCoy, 1295, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 100, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1350, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 110, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1355, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 130, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1360, kAnimationModeTalk);  		break; -	case 370: -		Actor_Says(kActorMcCoy, 1300, 3); -		Actor_Says(kActorIsabella, 140, 3); -		Actor_Says(kActorMcCoy, 1365, 3); -		Actor_Says(kActorIsabella, 150, 3); + +	case 370: // CHEESE +		Actor_Says(kActorMcCoy, 1300, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 140, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1365, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 150, kAnimationModeTalk);  		break; -	case 380: -		Actor_Says(kActorMcCoy, 1305, 3); + +	case 380: // MIA AND MURRAY INFO +		Actor_Says(kActorMcCoy, 1305, kAnimationModeTalk);  		Actor_Modify_Friendliness_To_Other(kActorIsabella, kActorMcCoy, -2); -		Actor_Says(kActorIsabella, 160, 3); -		Actor_Says(kActorMcCoy, 1370, 3); -		Actor_Says(kActorIsabella, 170, 3); -		Actor_Says(kActorMcCoy, 1375, 3); -		Actor_Says(kActorIsabella, 180, 3); -		Actor_Says(kActorMcCoy, 1380, 3); -		Actor_Says(kActorIsabella, 190, 3); -		Actor_Says(kActorIsabella, 210, 3); -		Actor_Says(kActorIsabella, 240, 3); -		Actor_Says(kActorMcCoy, 1385, 3); -		Actor_Says(kActorIsabella, 260, 3); -		Actor_Says(kActorMcCoy, 1390, 3); -		Actor_Says(kActorIsabella, 300, 3); -		Actor_Says(kActorIsabella, 310, 3); -		Actor_Says(kActorIsabella, 320, 3); -		Actor_Says(kActorMcCoy, 1395, 3); -		Actor_Says(kActorIsabella, 330, 3); +		Actor_Says(kActorIsabella, 160, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1370, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 170, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1375, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 180, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1380, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 190, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 210, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 240, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1385, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 260, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1390, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 300, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 310, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 320, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1395, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 330, kAnimationModeTalk);  		Actor_Clue_Acquire(kActorMcCoy, kClueStolenCheese, false, kActorIsabella);  		break; -	case 390: -		Actor_Says(kActorMcCoy, 1310, 3); + +	case 390: // BUY STEW +		Actor_Says(kActorMcCoy, 1310, kAnimationModeTalk);  		Actor_Modify_Friendliness_To_Other(kActorIsabella, kActorMcCoy, 2); -		Actor_Says(kActorIsabella, 340, 3); +		Actor_Says(kActorIsabella, 340, kAnimationModeTalk);  		break; -	case 400: -		Actor_Says(kActorMcCoy, 1315, 3); + +	case 400: // DONE +		Actor_Says(kActorMcCoy, 1315, kAnimationModeTalk);  		break; -	default: -		Actor_Says(kActorMcCoy, 1320, 3); -		Actor_Says(kActorIsabella, 30, 3); -		Actor_Says(kActorMcCoy, 1325, 3); -		Actor_Says(kActorMcCoy, 1345, 3); + +	default: // never used? +		Actor_Says(kActorMcCoy, 1320, kAnimationModeTalk); +		Actor_Says(kActorIsabella, 30, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1325, kAnimationModeTalk); +		Actor_Says(kActorMcCoy, 1345, kAnimationModeTalk);  		break;  	}  } diff --git a/engines/bladerunner/script/scene/hf01.cpp b/engines/bladerunner/script/scene/hf01.cpp index 9e445ca572..25f663c9c4 100644 --- a/engines/bladerunner/script/scene/hf01.cpp +++ b/engines/bladerunner/script/scene/hf01.cpp @@ -92,13 +92,13 @@ bool SceneScriptHF01::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptHF01::ClickedOnActor(int actorId) { -	int v1; -	if (Global_Variable_Query(kVariableAffectionTowards) == 2) { -		v1 = kActorDektora; -	} else if (Global_Variable_Query(kVariableAffectionTowards) == 3) { -		v1 = kActorLucy; +	int affectionTowardsActor; +	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora) { +		affectionTowardsActor = kActorDektora; +	} else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy) { +		affectionTowardsActor = kActorLucy;  	} else { -		v1 = -1; +		affectionTowardsActor = -1;  	}  	if (actorId == kActorMia || actorId == kActorMurray) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 504.04f, 8.0f, -242.17f, 12, 1, false, 0)) { @@ -128,9 +128,9 @@ bool SceneScriptHF01::ClickedOnActor(int actorId) {  		}  		return false;  	} -	if (v1 != -1 && actorId == v1) { +	if (affectionTowardsActor != -1 && actorId == affectionTowardsActor) {  		if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, actorId, 28, 1, false)) { -			if (Actor_Query_Goal_Number(v1) == 599) { +			if (Actor_Query_Goal_Number(affectionTowardsActor) == 599) {  				Actor_Says(kActorMcCoy, 8630, 13);  				return true;  			} @@ -144,14 +144,14 @@ bool SceneScriptHF01::ClickedOnActor(int actorId) {  			 && !Game_Flag_Query(662)  			) {  				Game_Flag_Set(662); -				Actor_Face_Actor(kActorMcCoy, v1, true); -				Actor_Face_Actor(v1, kActorMcCoy, true); -				if (v1 == kActorDektora) { +				Actor_Face_Actor(kActorMcCoy, affectionTowardsActor, true); +				Actor_Face_Actor(affectionTowardsActor, kActorMcCoy, true); +				if (affectionTowardsActor == kActorDektora) {  					sub_4032DC(); -				} else if (v1 == kActorLucy) { +				} else if (affectionTowardsActor == kActorLucy) {  					sub_403484();  				} -				Async_Actor_Walk_To_XYZ(v1, -175.0f, 8.0f, -617.0f, 0, false); +				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, 0, false, 1);  				Game_Flag_Set(kFlagHF01toHF05);  				Set_Enter(kSetHF05, kSceneHF05); @@ -310,11 +310,17 @@ void SceneScriptHF01::PlayerWalkedIn() {  		Non_Player_Actor_Combat_Mode_On(kActorOfficerGrayford, kActorCombatStateUncover, true, kActorMcCoy, 4, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 0, 100, 300, false);  	}  	if (!Game_Flag_Query(kFlagCrazylegsArrested) && Actor_Query_Goal_Number(kActorCrazylegs) != 2) { -		if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallLucy1) && Global_Variable_Query(kVariableAffectionTowards) == 3 && Actor_Query_Goal_Number(kActorLucy) != 599) { +		if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallLucy1) +		 && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy +		 && Actor_Query_Goal_Number(kActorLucy) != 599 +		) {  			Actor_Put_In_Set(kActorLucy, kSetHF01);  			Actor_Set_At_XYZ(kActorLucy, -5.0f, 8.0f, -622.0f, 419);  			Actor_Set_Targetable(kActorLucy, true); -		} else if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallDektora1) && Global_Variable_Query(kVariableAffectionTowards) == 2 && Actor_Query_Goal_Number(kActorDektora) != 599) { +		} else if (Actor_Clue_Query(kActorMcCoy, kCluePhoneCallDektora1) +		        && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora +		        && Actor_Query_Goal_Number(kActorDektora) != 599 +		) {  			Actor_Put_In_Set(kActorDektora, kSetHF01);  			Actor_Set_At_XYZ(kActorDektora, -5.0f, 8.0f, -622.0f, 419);  			Actor_Set_Targetable(kActorDektora, true); @@ -359,14 +365,14 @@ void SceneScriptHF01::PlayerWalkedIn() {  }  void SceneScriptHF01::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  	if (!Game_Flag_Query(kFlagHF01toHF05)  	 && !Game_Flag_Query(kFlagHF01toHF02)  	 && !Game_Flag_Query(kFlagHF01toHF03)  	 && !Game_Flag_Query(722)  	) { -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Outtake_Play(kOuttakeInside2, true, -1);  		Outtake_Play(kOuttakeTowards3, true, -1); @@ -389,16 +395,18 @@ void SceneScriptHF01::DialogueQueueFlushed(int a1) {  void SceneScriptHF01::sub_4026B4() {  	Dialogue_Menu_Clear_List(); -	if (Actor_Clue_Query(kActorMcCoy, kClueLucy) == 1) { +	if (Actor_Clue_Query(kActorMcCoy, kClueLucy)) {  		DM_Add_To_List_Never_Repeat_Once_Selected(440, 8, 6, 3);  	} -	if (!Actor_Clue_Query(kActorMcCoy, kClueLucy) && Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA) == 1) { +	if (!Actor_Clue_Query(kActorMcCoy, kClueLucy) +	 &&  Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA) +	) {  		DM_Add_To_List_Never_Repeat_Once_Selected(450, 7, 6, 3);  	} -	if (Actor_Clue_Query(kActorMcCoy, kClueCheese) == 1) { +	if (Actor_Clue_Query(kActorMcCoy, kClueCheese)) {  		DM_Add_To_List_Never_Repeat_Once_Selected(460, 3, 5, 6);  	} -	if (Actor_Clue_Query(kActorMcCoy, kClueLichenDogWrapper) == 1) { +	if (Actor_Clue_Query(kActorMcCoy, kClueLichenDogWrapper)) {  		DM_Add_To_List_Never_Repeat_Once_Selected(470, -1, 3, 8);  	}  	Dialogue_Menu_Add_DONE_To_List(480); diff --git a/engines/bladerunner/script/scene/hf02.cpp b/engines/bladerunner/script/scene/hf02.cpp index 1bc4e9501f..c7a179587c 100644 --- a/engines/bladerunner/script/scene/hf02.cpp +++ b/engines/bladerunner/script/scene/hf02.cpp @@ -85,7 +85,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagHF02toHF01);  			Set_Enter(kSetHF01, kSceneHF01); @@ -94,7 +94,7 @@ bool SceneScriptHF02::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 470.0f, 47.76f, -444.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(527);  			Set_Enter(kSetHF03, kSceneHF03); diff --git a/engines/bladerunner/script/scene/hf03.cpp b/engines/bladerunner/script/scene/hf03.cpp index 4557d0a3d0..c0bdf23183 100644 --- a/engines/bladerunner/script/scene/hf03.cpp +++ b/engines/bladerunner/script/scene/hf03.cpp @@ -96,8 +96,10 @@ void SceneScriptHF03::sub_401C80() {  			Actor_Says(kActorLucy, 210, 13);  			Actor_Says(kActorMcCoy, 1655, 15);  			Actor_Modify_Friendliness_To_Other(kActorLucy, kActorMcCoy, Random_Query(9, 10)); -			if (Actor_Query_Friendliness_To_Other(kActorLucy, kActorMcCoy) > 59 && Global_Variable_Query(kVariableAffectionTowards) == 0) { -				Global_Variable_Set(kVariableAffectionTowards, 3); +			if (Actor_Query_Friendliness_To_Other(kActorLucy, kActorMcCoy) > 59 +			 && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsNone +			) { +				Global_Variable_Set(kVariableAffectionTowards, kAffectionTowardsLucy);  				Actor_Says(kActorLucy, 940, 14);  				Actor_Says(kActorMcCoy, 6780, 11);  				Actor_Says(kActorLucy, 950, 12); @@ -149,7 +151,7 @@ void SceneScriptHF03::sub_401C80() {  }  bool SceneScriptHF03::ClickedOnActor(int actorId) { -	if (actorId == 6 && Actor_Query_Goal_Number(kActorLucy) == 205) { +	if (actorId == kActorLucy && Actor_Query_Goal_Number(kActorLucy) == 205) {  		if (Game_Flag_Query(kFlagLucyIsReplicant) ? !Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 377, 0, 1, false) : !Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 378, 0, 1, false)) {  			Actor_Face_Actor(kActorMcCoy, kActorLucy, true);  			if (!Game_Flag_Query(613)) { @@ -244,7 +246,7 @@ void SceneScriptHF03::PlayerWalkedIn() {  }  void SceneScriptHF03::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/hf04.cpp b/engines/bladerunner/script/scene/hf04.cpp index 5921f57f0d..c03157fbb4 100644 --- a/engines/bladerunner/script/scene/hf04.cpp +++ b/engines/bladerunner/script/scene/hf04.cpp @@ -83,7 +83,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(567);  			Set_Enter(kSetHF02, kSceneHF02); diff --git a/engines/bladerunner/script/scene/hf05.cpp b/engines/bladerunner/script/scene/hf05.cpp index 75c9dc1547..9815c91f80 100644 --- a/engines/bladerunner/script/scene/hf05.cpp +++ b/engines/bladerunner/script/scene/hf05.cpp @@ -119,7 +119,7 @@ bool SceneScriptHF05::ClickedOn3DObject(const char *objectName, bool a2) {  					ADQ_Add(kActorVoiceOver, 940, -1);  					Ambient_Sounds_Play_Sound(147, 50, 99, 0, 0);  					Delay(1500); -					Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.54f, 40.63f, 388.09f, 0, 0, true, 0); +					Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.54f, 40.63f, 388.09f, 0, false, true, 0);  					Actor_Face_Heading(kActorMcCoy, 0, false);  					Actor_Change_Animation_Mode(kActorMcCoy, 23);  					Actor_Clue_Lose(kActorMcCoy, kClueBomb); @@ -133,7 +133,7 @@ bool SceneScriptHF05::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptHF05::ClickedOnActor(int actorId) { -	if (actorId == 9) { +	if (actorId == kActorCrazylegs) {  		if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorCrazylegs, 60, true, false)) {  			Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, true);  			Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true); @@ -149,28 +149,37 @@ 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, 1, false, 0) && !Game_Flag_Query(684)) { -			Game_Flag_Set(kFlagHF05toHF01); -			Set_Enter(kSetHF01, kSceneHF01); +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 483.0f, 40.63f, -189.0f, 0, true, false, 0)) { +			if (!Game_Flag_Query(684)) { +				Game_Flag_Set(kFlagHF05toHF01); +				Set_Enter(kSetHF01, kSceneHF01); +			}  		}  		return true;  	}  	if (exitId == 1) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 330.0f, 40.63f, -85.0f, 0, 1, false, 0) && !Game_Flag_Query(684)) { -			int v2 = sub_404858(); -			if (Game_Flag_Query(663) && Game_Flag_Query(368) && v2 != -1) { -				Actor_Face_Actor(kActorMcCoy, v2, true); -				Actor_Says(kActorMcCoy, 1810, 16); +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 330.0f, 40.63f, -85.0f, 0, true, false, 0)) { +			if (!Game_Flag_Query(684)) { +				int affectionTowardsActor = getAffectionTowardsActor(); +				if (Game_Flag_Query(663) +				&& Game_Flag_Query(368) +				&& affectionTowardsActor != -1 +				) { +					Actor_Face_Actor(kActorMcCoy, affectionTowardsActor, true); +					Actor_Says(kActorMcCoy, 1810, 16); +				} +				Game_Flag_Set(359); +				Set_Enter(kSetHF07, kSceneHF07);  			} -			Game_Flag_Set(359); -			Set_Enter(kSetHF07, kSceneHF07);  		}  		return true;  	}  	if (exitId == 2) { -		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 277.0f, 40.63f, 410.0f, 0, 1, false, 0) && !Game_Flag_Query(684)) { -			Game_Flag_Set(529); -			Set_Enter(kSetHF06, kSceneHF06); +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 277.0f, 40.63f, 410.0f, 0, true, false, 0)) { +			if (!Game_Flag_Query(684)) { +				Game_Flag_Set(529); +				Set_Enter(kSetHF06, kSceneHF06); +			}  		}  		return true;  	} @@ -228,7 +237,7 @@ void SceneScriptHF05::SceneFrameAdvanced(int frame) {  }  void SceneScriptHF05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) { -	if (actorId == 23 && newGoal == 430) { +	if (actorId == kActorOfficerLeary && newGoal == 430) {  		Game_Flag_Set(684);  		sub_4042E4();  	} @@ -237,19 +246,19 @@ void SceneScriptHF05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  void SceneScriptHF05::PlayerWalkedIn() {  	if (Game_Flag_Query(662)) { -		int v0 = sub_404858(); -		if (Game_Flag_Query(662) && v0 != -1) { -			Actor_Put_In_Set(v0, kSetHF05); -			Actor_Force_Stop_Walking(v0); +		int affectionTowardsActor = getAffectionTowardsActor(); +		if (Game_Flag_Query(662) && affectionTowardsActor != -1) { +			Actor_Put_In_Set(affectionTowardsActor, kSetHF05); +			Actor_Force_Stop_Walking(affectionTowardsActor);  			if (Game_Flag_Query(kFlagHF01toHF05)) { -				Actor_Set_At_XYZ(v0, 506.81f, 40.63f, -140.92f, 0); -				Async_Actor_Walk_To_Waypoint(v0, 437, 36, 0); +				Actor_Set_At_XYZ(affectionTowardsActor, 506.81f, 40.63f, -140.92f, 0); +				Async_Actor_Walk_To_Waypoint(affectionTowardsActor, 437, 36, 0);  			} else if (Game_Flag_Query(530)) { -				Actor_Set_At_XYZ(v0, 288.0f, 40.63f, 410.0f, 909); +				Actor_Set_At_XYZ(affectionTowardsActor, 288.0f, 40.63f, 410.0f, 909);  			} else if (Game_Flag_Query(358)) { -				Actor_Set_At_XYZ(v0, 298.0f, 40.63f, -107.0f, 512); +				Actor_Set_At_XYZ(affectionTowardsActor, 298.0f, 40.63f, -107.0f, 512);  			} else { -				Actor_Set_At_XYZ(v0, 284.0f, 40.63f, 286.0f, 0); +				Actor_Set_At_XYZ(affectionTowardsActor, 284.0f, 40.63f, 286.0f, 0);  			}  		}  		if (Game_Flag_Query(684)) { @@ -268,7 +277,7 @@ void SceneScriptHF05::PlayerWalkedIn() {  				}  			}  		} else { -			sub_403A34(v0); +			sub_403A34(affectionTowardsActor);  		}  	} else if (Game_Flag_Query(kFlagHF01toHF05)) {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 399.0f, 40.63f, -85.0f, 0, 0, false, 0); @@ -298,7 +307,7 @@ void SceneScriptHF05::PlayerWalkedOut() {  	if (Actor_Query_Goal_Number(kActorCrazylegs) == 210) {  		Actor_Set_Goal_Number(kActorCrazylegs, 2);  	} -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } @@ -487,11 +496,15 @@ void SceneScriptHF05::sub_403738() {  	}  } -int SceneScriptHF05::sub_404858() { -	if (Global_Variable_Query(kVariableAffectionTowards) == 2 && Actor_Query_Goal_Number(kActorDektora) != 599) { +int SceneScriptHF05::getAffectionTowardsActor() { +	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora +	 && Actor_Query_Goal_Number(kActorDektora) != 599 +	) {  		return kActorDektora;  	} -	if (Global_Variable_Query(kVariableAffectionTowards) == 3 && Actor_Query_Goal_Number(kActorLucy) != 599) { +	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy +	 && Actor_Query_Goal_Number(kActorLucy) != 599 +	) {  		return kActorLucy;  	}  	return -1; @@ -547,13 +560,13 @@ void SceneScriptHF05::sub_40410C() {  	Actor_Says_With_Pause(kActorMcCoy, 1780, 1.0f, 18);  } -void SceneScriptHF05::sub_403A34(int actorId) { -	if (actorId != -1 && Actor_Query_In_Set(kActorCrazylegs, kSetHF05)) { -		Async_Actor_Walk_To_Waypoint(actorId, 437, 36, 0); +void SceneScriptHF05::sub_403A34(int affectionTowardsActor) { +	if (affectionTowardsActor != -1 && Actor_Query_In_Set(kActorCrazylegs, kSetHF05)) { +		Async_Actor_Walk_To_Waypoint(affectionTowardsActor, 437, 36, 0);  		Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 437, 0, 0, false);  		Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true);  		Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, true); -		Actor_Face_Actor(actorId, kActorCrazylegs, true); +		Actor_Face_Actor(affectionTowardsActor, kActorCrazylegs, true);  		Actor_Says(kActorCrazylegs, 0, 3);  		Actor_Says(kActorCrazylegs, 10, 12);  		Actor_Says(kActorMcCoy, 1715, 19); @@ -574,8 +587,8 @@ void SceneScriptHF05::sub_403A34(int actorId) {  		Actor_Says(kActorMcCoy, 1735, 17);  		Actor_Says(kActorCrazylegs, 100, 16);  		Actor_Says(kActorCrazylegs, 110, 3); -		Actor_Face_Actor(actorId, kActorMcCoy, true); -		if (actorId == kActorDektora) { +		Actor_Face_Actor(affectionTowardsActor, kActorMcCoy, true); +		if (affectionTowardsActor == kActorDektora) {  			Actor_Says(kActorDektora, 90, 3);  		} else {  			Actor_Says(kActorLucy, 380, 3); @@ -583,14 +596,14 @@ void SceneScriptHF05::sub_403A34(int actorId) {  		Actor_Says(kActorMcCoy, 1740, 14);  		Actor_Says(kActorCrazylegs, 120, 12);  		Actor_Set_Goal_Number(kActorCrazylegs, 2); -		if (actorId == kActorDektora) { +		if (affectionTowardsActor == kActorDektora) {  			Actor_Says(kActorDektora, 100, 3);  		} else {  			Actor_Says(kActorLucy, 390, 3);  		} -		Actor_Face_Actor(kActorMcCoy, actorId, true); +		Actor_Face_Actor(kActorMcCoy, affectionTowardsActor, true);  		Actor_Says(kActorMcCoy, 1745, 3); -		Async_Actor_Walk_To_XYZ(actorId, 309.0f, 40.63f, 402.0f, 0, false); +		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, 0, false, 0);  		Game_Flag_Set(529);  		Set_Enter(kSetHF06, kSceneHF06); diff --git a/engines/bladerunner/script/scene/hf06.cpp b/engines/bladerunner/script/scene/hf06.cpp index 3c1eac4807..bb073bcce7 100644 --- a/engines/bladerunner/script/scene/hf06.cpp +++ b/engines/bladerunner/script/scene/hf06.cpp @@ -96,14 +96,14 @@ bool SceneScriptHF06::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptHF06::ClickedOnActor(int actorId) { -	if (actorId == 6 && Actor_Query_Goal_Number(kActorLucy) != 599) { +	if (actorId == kActorLucy && Actor_Query_Goal_Number(kActorLucy) != 599) {  		Actor_Face_Actor(kActorLucy, kActorMcCoy, true);  		Actor_Face_Actor(kActorMcCoy, kActorLucy, true);  		if (Game_Flag_Query(559)) {  			Actor_Says(kActorLucy, 390, 18);  			Actor_Says(kActorMcCoy, 2115, 17);  		} -	} else if (actorId == 3 && Actor_Query_Goal_Number(kActorDektora) != 599) { +	} else if (actorId == kActorDektora && Actor_Query_Goal_Number(kActorDektora) != 599) {  		Actor_Face_Actor(kActorDektora, kActorMcCoy, true);  		Actor_Face_Actor(kActorMcCoy, kActorDektora, true);  		if (Game_Flag_Query(559)) { @@ -123,7 +123,7 @@ bool SceneScriptHF06::ClickedOnExit(int exitId) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 170.0f, 367.93f, 497.0f, 0, 1, false, 0)) {  			Actor_Face_Heading(kActorMcCoy, 730, false);  			Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, kAnimationModeIdle); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(530);  			Set_Enter(kSetHF05, kSceneHF05); @@ -181,11 +181,15 @@ void SceneScriptHF06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  void SceneScriptHF06::PlayerWalkedIn() {  	if (Game_Flag_Query(662)) {  		int actorId = -1; -		if (Global_Variable_Query(kVariableAffectionTowards) == 3 && Actor_Query_Goal_Number(kActorLucy) != 599) { +		if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy +		 && Actor_Query_Goal_Number(kActorLucy) != 599 +		) {  			actorId = kActorLucy; -		} else if (Global_Variable_Query(kVariableAffectionTowards) == 2 && Actor_Query_Goal_Number(kActorDektora) != 599) { +		} else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora +		        && Actor_Query_Goal_Number(kActorDektora) != 599 +		) {  			actorId = kActorDektora; -		}  +		}  		if (actorId != -1) {  			Actor_Put_In_Set(actorId, kSetHF06); @@ -231,9 +235,9 @@ void SceneScriptHF06::sub_401EF4() {  	Actor_Set_At_XYZ(kActorSteele, 92.0f, 367.93f, 19.0f, 0);  	Actor_Set_Targetable(kActorSteele, true);  	Actor_Face_Actor(actorId, kActorSteele, true); -	if (actorId == 3) { +	if (actorId == kActorDektora) {  		Actor_Says(kActorDektora, 90, 13); -	} else if (actorId == 6) { +	} else if (actorId == kActorLucy) {  		Actor_Says(kActorLucy, 380, 13);  	}  	Actor_Says(kActorMcCoy, 6230, 0); diff --git a/engines/bladerunner/script/scene/hf07.cpp b/engines/bladerunner/script/scene/hf07.cpp index 8194e95359..14da5c20de 100644 --- a/engines/bladerunner/script/scene/hf07.cpp +++ b/engines/bladerunner/script/scene/hf07.cpp @@ -81,7 +81,7 @@ bool SceneScriptHF07::ClickedOnExit(int exitId) {  				Loop_Actor_Travel_Stairs(kActorMcCoy, 30, true, kAnimationModeIdle);  				Footstep_Sound_Override_Off();  			} -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Set_Enter(kSetHF05, kSceneHF05);  		} @@ -94,7 +94,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(360);  			Set_Enter(kSetUG05, kSceneUG05); @@ -116,7 +116,7 @@ void SceneScriptHF07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  void SceneScriptHF07::PlayerWalkedIn() {  	if (Game_Flag_Query(662)) { -		int actorId = sub_401864(); +		int actorId = getAffectionTowardsActor();  		if (Game_Flag_Query(662) && actorId != -1) {  			Actor_Put_In_Set(actorId, kSetHF07);  			if (Game_Flag_Query(361)) { @@ -141,11 +141,15 @@ void SceneScriptHF07::PlayerWalkedOut() {  void SceneScriptHF07::DialogueQueueFlushed(int a1) {  } -int SceneScriptHF07::sub_401864() { -	if (Global_Variable_Query(kVariableAffectionTowards) == 2 && Actor_Query_Goal_Number(kActorDektora) != 599) { +int SceneScriptHF07::getAffectionTowardsActor() { +	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora +	 && Actor_Query_Goal_Number(kActorDektora) != 599 +	) {  		return kActorDektora;  	} -	if (Global_Variable_Query(kVariableAffectionTowards) == 3 && Actor_Query_Goal_Number(kActorLucy) != 599) { +	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy +	 && Actor_Query_Goal_Number(kActorLucy) != 599 +	) {  		return kActorLucy;  	}  	return -1; diff --git a/engines/bladerunner/script/scene/kp01.cpp b/engines/bladerunner/script/scene/kp01.cpp index b2daa6b101..273fa58608 100644 --- a/engines/bladerunner/script/scene/kp01.cpp +++ b/engines/bladerunner/script/scene/kp01.cpp @@ -80,7 +80,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(415);  			Set_Enter(kSetKP04, kSceneKP04); @@ -89,7 +89,7 @@ bool SceneScriptKP01::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -284.0f, -12.2f, -789.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(417);  			Set_Enter(kSetKP03, kSceneKP03); @@ -98,7 +98,7 @@ bool SceneScriptKP01::ClickedOnExit(int exitId) {  	}  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 239.0f, 12.2f, -146.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(414);  			Set_Enter(kSetKP02, kSceneKP02); @@ -117,9 +117,9 @@ void SceneScriptKP01::SceneFrameAdvanced(int frame) {  }  void SceneScriptKP01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) { -	if (actorId == 1) { +	if (actorId == kActorSteele) {  		if (newGoal == 422) { -			if (Game_Flag_Query(kFlagDirectorsCut) == 1) { +			if (Game_Flag_Query(kFlagDirectorsCut)) {  				Delay(500);  				Actor_Change_Animation_Mode(kActorMcCoy, 75);  				Delay(4500); @@ -133,7 +133,7 @@ void SceneScriptKP01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  		} else if (newGoal == 423) {  			Player_Gains_Control();  			Actor_Force_Stop_Walking(kActorMcCoy); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(417);  			Set_Enter(kSetKP03, kSceneKP03); diff --git a/engines/bladerunner/script/scene/kp02.cpp b/engines/bladerunner/script/scene/kp02.cpp index 4912a88c6f..e249420a8e 100644 --- a/engines/bladerunner/script/scene/kp02.cpp +++ b/engines/bladerunner/script/scene/kp02.cpp @@ -81,12 +81,12 @@ bool SceneScriptKP02::ClickedOnExit(int exitId) {  				Non_Player_Actor_Combat_Mode_Off(kActorFreeSlotA);  				Actor_Set_Goal_Number(kActorFreeSlotB, 400);  				Actor_Set_Goal_Number(kActorFreeSlotA, 400); -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(411);  				Set_Enter(kSetUG12, kSceneUG12);  			} else { -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(411);  				Set_Enter(kSetUG12, kSceneUG12); @@ -101,12 +101,12 @@ bool SceneScriptKP02::ClickedOnExit(int exitId) {  				Non_Player_Actor_Combat_Mode_Off(kActorFreeSlotA);  				Actor_Set_Goal_Number(kActorFreeSlotB, 400);  				Actor_Set_Goal_Number(kActorFreeSlotA, 400); -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(413);  				Set_Enter(kSetKP01, kSceneKP01);  			} else { -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(413);  				Set_Enter(kSetKP01, kSceneKP01); diff --git a/engines/bladerunner/script/scene/kp03.cpp b/engines/bladerunner/script/scene/kp03.cpp index 1d810f2fd9..370927b877 100644 --- a/engines/bladerunner/script/scene/kp03.cpp +++ b/engines/bladerunner/script/scene/kp03.cpp @@ -64,10 +64,10 @@ bool SceneScriptKP03::MouseClick(int x, int y) {  	return false;  } -bool SceneScriptKP03::ClickedOn3DObject(const char *objectName, bool a2) { +bool SceneScriptKP03::ClickedOn3DObject(const char *objectName, bool combatMode) {  	Actor_Face_Object(kActorSteele, "BRACK MID", true);  	if (Object_Query_Click("BRACK MID", objectName) && !Game_Flag_Query(422)) { -		if (a2) { +		if (combatMode) {  			Scene_Loop_Set_Default(5);  			Scene_Loop_Start_Special(kSceneLoopModeOnce, 4, true);  			Actor_Change_Animation_Mode(kActorMcCoy, 39); @@ -104,7 +104,7 @@ bool SceneScriptKP03::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptKP03::ClickedOnActor(int actorId) { -	if (actorId == 1 && Actor_Query_Goal_Number(kActorSteele) == 411) { +	if (actorId == kActorSteele && Actor_Query_Goal_Number(kActorSteele) == 411) {  		Actor_Face_Object(kActorSteele, "BRACK MID", true);  		sub_401E54();  	} @@ -121,7 +121,7 @@ bool SceneScriptKP03::ClickedOnExit(int exitId) {  	} else {  		if (exitId == 0) {  			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 111.0f, 0, 1, false, 0)) { -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Music_Stop(2);  				Game_Flag_Reset(417); @@ -133,7 +133,7 @@ bool SceneScriptKP03::ClickedOnExit(int exitId) {  		}  		if (exitId == 1) {  			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -321.0f, -36.55f, 26.0f, 0, 1, false, 0)) { -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Music_Stop(2);  				Game_Flag_Reset(417); @@ -250,7 +250,7 @@ void SceneScriptKP03::sub_401E54() {  	Ambient_Sounds_Play_Sound(151, 40, -60, -60, 0);  	Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1.0f, -36.55f, 111.0f, 0, 0, false, 0);  	Actor_Set_Goal_Number(kActorSteele, 430); -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  	Game_Flag_Reset(417);  	Game_Flag_Reset(420); diff --git a/engines/bladerunner/script/scene/kp04.cpp b/engines/bladerunner/script/scene/kp04.cpp index ae9e4021c5..4c138a1962 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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(416);  			Set_Enter(kSetKP01, kSceneKP01); @@ -80,7 +80,7 @@ bool SceneScriptKP04::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -544.0f, 94.89f, 288.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(574);  			Set_Enter(kSetKP05_KP06, kSceneKP05); diff --git a/engines/bladerunner/script/scene/kp05.cpp b/engines/bladerunner/script/scene/kp05.cpp index 8d8aa7ffee..c46b739e53 100644 --- a/engines/bladerunner/script/scene/kp05.cpp +++ b/engines/bladerunner/script/scene/kp05.cpp @@ -85,7 +85,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(420);  			Set_Enter(kSetKP03, kSceneKP03); @@ -94,7 +94,7 @@ bool SceneScriptKP05::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1142.0f, 0.0f, 932.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(575);  			Set_Enter(kSetKP04, kSceneKP04); @@ -103,7 +103,7 @@ bool SceneScriptKP05::ClickedOnExit(int exitId) {  	}  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -868.0f, 0.0f, -68.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(576);  			Async_Actor_Walk_To_XYZ(kActorMcCoy, -868.0f, 0.0f, -216.0f, 0, false); diff --git a/engines/bladerunner/script/scene/kp06.cpp b/engines/bladerunner/script/scene/kp06.cpp index f08b6d8b36..ad0bb9966d 100644 --- a/engines/bladerunner/script/scene/kp06.cpp +++ b/engines/bladerunner/script/scene/kp06.cpp @@ -72,7 +72,7 @@ bool SceneScriptKP06::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptKP06::ClickedOnActor(int actorId) { -	if (actorId == 8 && !Game_Flag_Query(714)) { +	if (actorId == kActorSadik && !Game_Flag_Query(714)) {  		if (Actor_Clue_Query(kActorSadik, kCluePowerSource)) {  			Actor_Face_Actor(kActorMcCoy, kActorSadik, true);  			Actor_Says(kActorMcCoy, 8610, 15); @@ -98,7 +98,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(577);  			Set_Enter(kSetKP05_KP06, kSceneKP05); @@ -117,7 +117,7 @@ bool SceneScriptKP06::ClickedOnExit(int exitId) {  				} else {  					Actor_Set_Goal_Number(kActorGaff, 499);  				} -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(578);  				Set_Enter(kSetKP07, kSceneKP07); @@ -128,7 +128,7 @@ bool SceneScriptKP06::ClickedOnExit(int exitId) {  			Actor_Clue_Acquire(kActorSadik, kCluePowerSource, true, kActorMcCoy);  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, 0, true, 0);  			Player_Set_Combat_Mode(false); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(578);  			Set_Enter(kSetKP07, kSceneKP07); @@ -173,7 +173,7 @@ void SceneScriptKP06::PlayerWalkedIn() {  			Delay(1000);  			Actor_Says(kActorMcCoy, 6220, -1);  			Delay(3000); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Outtake_Play(kOuttakeEnd6, false, -1);  			Game_Over(); diff --git a/engines/bladerunner/script/scene/kp07.cpp b/engines/bladerunner/script/scene/kp07.cpp index 7a0c0eb535..d0fc730bce 100644 --- a/engines/bladerunner/script/scene/kp07.cpp +++ b/engines/bladerunner/script/scene/kp07.cpp @@ -119,7 +119,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(579);  			Set_Enter(kSetKP05_KP06, kSceneKP06); diff --git a/engines/bladerunner/script/scene/ma04.cpp b/engines/bladerunner/script/scene/ma04.cpp index ed6ee682a9..0484e69db1 100644 --- a/engines/bladerunner/script/scene/ma04.cpp +++ b/engines/bladerunner/script/scene/ma04.cpp @@ -176,9 +176,9 @@ bool SceneScriptMA04::ClickedOn2DRegion(int region) {  				Overlay_Remove("MA04OVER");  				Delay(500);  				if (Game_Flag_Query(653)) { -					if (Global_Variable_Query(kVariableAffectionTowards) == 2) { +					if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora) {  						phoneCallWithDektora(); -					} else if (Global_Variable_Query(kVariableAffectionTowards) == 3) { +					} else if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy) {  						phoneCallWithLucy();  					} else {  						phoneCallWithClovis(); diff --git a/engines/bladerunner/script/scene/ma07.cpp b/engines/bladerunner/script/scene/ma07.cpp index 62a5187e77..b7b91d9c54 100644 --- a/engines/bladerunner/script/scene/ma07.cpp +++ b/engines/bladerunner/script/scene/ma07.cpp @@ -97,7 +97,7 @@ bool SceneScriptMA07::ClickedOnExit(int exitId) {  	}  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 8.0f, -172.43f, 356.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(357);  			Set_Enter(kSetUG19, kSceneUG19); @@ -115,7 +115,7 @@ void SceneScriptMA07::SceneFrameAdvanced(int frame) {  }  void SceneScriptMA07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) { -	if (actorId == 53 && newGoal == 302) { +	if (actorId == kActorGaff && newGoal == 302) {  		Scene_Exits_Enable();  	}  } diff --git a/engines/bladerunner/script/scene/nr01.cpp b/engines/bladerunner/script/scene/nr01.cpp index 8be9fe219b..9708d186c5 100644 --- a/engines/bladerunner/script/scene/nr01.cpp +++ b/engines/bladerunner/script/scene/nr01.cpp @@ -113,7 +113,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {  			if (Global_Variable_Query(kVariableChapter) > 3) {  				Actor_Says(kActorMcCoy, 8522, 12);  			} else { -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(535);  				Set_Enter(kSetNR03, kSceneNR03); @@ -125,7 +125,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, true, false, 0)) {  			Actor_Face_Heading(kActorMcCoy, 45, false);  			Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(343);  			Set_Enter(kSetUG06, kSceneUG06); @@ -134,7 +134,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(532);  			Set_Enter(kSetNR02, kSceneNR02); @@ -416,10 +416,10 @@ void SceneScriptNR01::PlayerWalkedIn() {  }  void SceneScriptNR01::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  	if (!Game_Flag_Query(343) && !Game_Flag_Query(532) && !Game_Flag_Query(535) && !Game_Flag_Query(632) && !Game_Flag_Query(722)) { -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Outtake_Play(kOuttakeAway1, true, -1);  		Outtake_Play(kOuttakeInside2, true, -1); diff --git a/engines/bladerunner/script/scene/nr02.cpp b/engines/bladerunner/script/scene/nr02.cpp index 83c92275c7..97a460032d 100644 --- a/engines/bladerunner/script/scene/nr02.cpp +++ b/engines/bladerunner/script/scene/nr02.cpp @@ -97,14 +97,18 @@ bool SceneScriptNR02::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptNR02::ClickedOnActor(int actorId) { -	if (actorId == 2 && Actor_Query_Goal_Number(kActorGordo) == 201 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.37f, -24.0f, 389.32f, 0, 1, false, 0)) { -		Actor_Set_Goal_Number(kActorGordo, 215); +	if (actorId == kActorGordo +	 && Actor_Query_Goal_Number(kActorGordo) == 201 +	) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 67.37f, -24.0f, 389.32f, 0, true, false, 0)) { +			Actor_Set_Goal_Number(kActorGordo, 215); +		}  	}  	return false;  }  bool SceneScriptNR02::ClickedOnItem(int itemId, bool a2) { -	if ((itemId == 89 || itemId == 90) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 109.38f, -24.0f, 420.5f, 0, 1, false, 0)) { +	if ((itemId == 89 || itemId == 90) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 109.38f, -24.0f, 420.5f, 0, true, false, 0)) {  		Actor_Face_Heading(kActorMcCoy, 423, false);  		if (itemId == 89) {  			Item_Remove_From_World(89); @@ -126,7 +130,7 @@ bool SceneScriptNR02::ClickedOnExit(int exitId) {  			if (Actor_Query_Goal_Number(kActorGordo) < 230 || Actor_Query_Goal_Number(kActorGordo) > 250) {  				Music_Stop(2);  			} -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(533);  			Set_Enter(kSetNR01, kSceneNR01); diff --git a/engines/bladerunner/script/scene/nr03.cpp b/engines/bladerunner/script/scene/nr03.cpp index c06b7ed6af..a2a09cbb85 100644 --- a/engines/bladerunner/script/scene/nr03.cpp +++ b/engines/bladerunner/script/scene/nr03.cpp @@ -101,22 +101,24 @@ bool SceneScriptNR03::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptNR03::ClickedOnActor(int actorId) { -	if (actorId == 25 && !Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorHanoi, 48, 1, false)) { -		AI_Movement_Track_Pause(kActorHanoi); -		Actor_Face_Actor(kActorMcCoy, kActorHanoi, true); -		if (Game_Flag_Query(611)) { -			Actor_Says(kActorMcCoy, 3350, 16); -			Actor_Says(kActorHanoi, 50, 17); -		} else { -			Game_Flag_Set(611); -			Actor_Says(kActorMcCoy, 3340, 3); -			Actor_Face_Actor(kActorHanoi, kActorMcCoy, true); -			Actor_Says(kActorHanoi, 30, 13); -			Actor_Says(kActorMcCoy, 3345, 14); -			Actor_Says(kActorHanoi, 40, 14); +	if (actorId == kActorHanoi) { +		if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorHanoi, 48, true, false)) { +			AI_Movement_Track_Pause(kActorHanoi); +			Actor_Face_Actor(kActorMcCoy, kActorHanoi, true); +			if (Game_Flag_Query(611)) { +				Actor_Says(kActorMcCoy, 3350, 16); +				Actor_Says(kActorHanoi, 50, 17); +			} else { +				Game_Flag_Set(611); +				Actor_Says(kActorMcCoy, 3340, 3); +				Actor_Face_Actor(kActorHanoi, kActorMcCoy, true); +				Actor_Says(kActorHanoi, 30, 13); +				Actor_Says(kActorMcCoy, 3345, 14); +				Actor_Says(kActorHanoi, 40, 14); +			} +			AI_Movement_Track_Unpause(kActorHanoi); +			return true;  		} -		AI_Movement_Track_Unpause(kActorHanoi); -		return true;  	}  	return false;  } @@ -128,7 +130,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(534);  			Set_Enter(kSetNR01, kSceneNR01); @@ -154,7 +156,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {  			}  			Global_Variable_Increment(44, 1);  		} else { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(438);  			Set_Enter(kSetNR04, kSceneNR04); @@ -170,7 +172,7 @@ bool SceneScriptNR03::ClickedOnExit(int exitId) {  				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -229.0f, -70.19f, -469.0f, 0, 0, false, 1);  				Actor_Face_Heading(kActorMcCoy, 656, false);  				Actor_Change_Animation_Mode(kActorMcCoy, 53); -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(536);  				Set_Enter(kSetNR05_NR08, kSceneNR05); diff --git a/engines/bladerunner/script/scene/nr04.cpp b/engines/bladerunner/script/scene/nr04.cpp index dc571ed7cc..d6332fe099 100644 --- a/engines/bladerunner/script/scene/nr04.cpp +++ b/engines/bladerunner/script/scene/nr04.cpp @@ -116,7 +116,7 @@ bool SceneScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptNR04::ClickedOnActor(int actorId) { -	if (actorId == 18 && Game_Flag_Query(606)) { +	if (actorId == kActorEarlyQ && Game_Flag_Query(606)) {  		Actor_Voice_Over(1640, kActorVoiceOver);  		Actor_Voice_Over(1650, kActorVoiceOver);  		Actor_Voice_Over(1660, kActorVoiceOver); @@ -134,7 +134,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(437);  			Set_Enter(kSetNR03, kSceneNR03); @@ -180,7 +180,7 @@ void SceneScriptNR04::SceneFrameAdvanced(int frame) {  }  void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) { -	if (actorId == 18) { +	if (actorId == kActorEarlyQ) {  		switch (newGoal) {  		case 214:  			Actor_Change_Animation_Mode(kActorEarlyQ, 29); diff --git a/engines/bladerunner/script/scene/nr05.cpp b/engines/bladerunner/script/scene/nr05.cpp index 15a626ae2b..96b881b729 100644 --- a/engines/bladerunner/script/scene/nr05.cpp +++ b/engines/bladerunner/script/scene/nr05.cpp @@ -185,7 +185,7 @@ void SceneScriptNR05::PlayerWalkedOut() {  	if (Game_Flag_Query(537)) {  		Music_Stop(2);  	} -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } @@ -226,13 +226,13 @@ void SceneScriptNR05::sub_4020B4() {  			Actor_Says(kActorEarlyQBartender, 40, 13);  			Actor_Change_Animation_Mode(kActorEarlyQBartender, 23);  			Actor_Change_Animation_Mode(kActorMcCoy, 75); -			Global_Variable_Increment(42, 1); +			Global_Variable_Increment(kVariableMcCoyDrinks, 1);  		} else {  			Actor_Says(kActorMcCoy, 3475, 17);  			Actor_Says(kActorEarlyQBartender, 20, 23);  			Game_Flag_Set(589);  			Actor_Change_Animation_Mode(kActorMcCoy, 75); -			Global_Variable_Increment(42, 1); +			Global_Variable_Increment(kVariableMcCoyDrinks, 1);  		}  	} else {  		Actor_Says(kActorEarlyQBartender, 0, 13); @@ -240,7 +240,7 @@ void SceneScriptNR05::sub_4020B4() {  		Actor_Says(kActorEarlyQBartender, 10, 23);  		Game_Flag_Set(588);  		Actor_Change_Animation_Mode(kActorMcCoy, 75); -		Global_Variable_Increment(42, 1); +		Global_Variable_Increment(kVariableMcCoyDrinks, 1);  	}  } diff --git a/engines/bladerunner/script/scene/nr06.cpp b/engines/bladerunner/script/scene/nr06.cpp index acb8bc7525..4d1e7ebf6b 100644 --- a/engines/bladerunner/script/scene/nr06.cpp +++ b/engines/bladerunner/script/scene/nr06.cpp @@ -82,7 +82,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Game_Flag_Set(441);  			Set_Enter(kSetNR07, kSceneNR07);  		} @@ -93,7 +93,7 @@ bool SceneScriptNR06::ClickedOnExit(int exitId) {  			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, 0, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(439);  			Set_Enter(kSetNR05_NR08, kSceneNR08); diff --git a/engines/bladerunner/script/scene/nr07.cpp b/engines/bladerunner/script/scene/nr07.cpp index 13d3139197..aa70aa3f3a 100644 --- a/engines/bladerunner/script/scene/nr07.cpp +++ b/engines/bladerunner/script/scene/nr07.cpp @@ -118,7 +118,7 @@ bool SceneScriptNR07::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -102.0f, -73.5f, -233.0f, 0, 1, false, 0)) {  			Actor_Set_Goal_Number(kActorHanoi, 201); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(442);  			Set_Enter(kSetNR06, kSceneNR06); diff --git a/engines/bladerunner/script/scene/nr08.cpp b/engines/bladerunner/script/scene/nr08.cpp index 5f58e4ce28..9a3e9164f0 100644 --- a/engines/bladerunner/script/scene/nr08.cpp +++ b/engines/bladerunner/script/scene/nr08.cpp @@ -207,7 +207,7 @@ void SceneScriptNR08::PlayerWalkedIn() {  }  void SceneScriptNR08::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  	if (!Game_Flag_Query(547)) {  		Music_Stop(2); diff --git a/engines/bladerunner/script/scene/nr09.cpp b/engines/bladerunner/script/scene/nr09.cpp index f924652270..bddf91d037 100644 --- a/engines/bladerunner/script/scene/nr09.cpp +++ b/engines/bladerunner/script/scene/nr09.cpp @@ -81,7 +81,7 @@ bool SceneScriptNR09::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		int v1 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -704.07f, 0.35f, 663.04f, 0, 1, false, 0); -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		if (!v1) {  			Game_Flag_Set(615); diff --git a/engines/bladerunner/script/scene/nr10.cpp b/engines/bladerunner/script/scene/nr10.cpp index e5bd41c6e9..1d80283857 100644 --- a/engines/bladerunner/script/scene/nr10.cpp +++ b/engines/bladerunner/script/scene/nr10.cpp @@ -61,8 +61,8 @@ bool SceneScriptNR10::MouseClick(int x, int y) {  	return Game_Flag_Query(642);  } -bool SceneScriptNR10::ClickedOn3DObject(const char *objectName, bool a2) { -	if (Object_Query_Click("BOX18", objectName) && a2 && Game_Flag_Query(642)) { +bool SceneScriptNR10::ClickedOn3DObject(const char *objectName, bool combatMode) { +	if (Object_Query_Click("BOX18", objectName) && combatMode && Game_Flag_Query(642)) {  		Actor_Set_Goal_Number(kActorDektora, 250);  		Game_Flag_Set(640);  		Game_Flag_Reset(642); diff --git a/engines/bladerunner/script/scene/nr11.cpp b/engines/bladerunner/script/scene/nr11.cpp index 4a48ebeca4..518f4fc436 100644 --- a/engines/bladerunner/script/scene/nr11.cpp +++ b/engines/bladerunner/script/scene/nr11.cpp @@ -109,10 +109,10 @@ bool SceneScriptNR11::MouseClick(int x, int y) {  	return false;  } -bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool a2) { +bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool combatMode) {  	if (Object_Query_Click("CLOTHING02", objectName) || Object_Query_Click("BOX27", objectName) || Object_Query_Click("BOX39", objectName) || Object_Query_Click("BOX44", objectName) || Object_Query_Click("DRESS", objectName) || Object_Query_Click("COATRACK", objectName) || Object_Query_Click("COLUMN3 DETS", objectName) || Object_Query_Click("COLUMN PIPE01", objectName) || Object_Query_Click("RECTANGLE02", objectName) || Object_Query_Click("COLUMN04", objectName) || Object_Query_Click("COATRACK01", objectName) || Object_Query_Click("SHIRT", objectName) || Object_Query_Click("SKIRT 02", objectName) || Object_Query_Click("CLOTHING B 03", objectName) || Object_Query_Click("BUST BUST", objectName)) { -		if (a2) { +		if (combatMode) {  			Actor_Set_Goal_Number(kActorSteele, 211);  			Scene_Exits_Disable();  			sub_4028EC(); @@ -140,7 +140,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool a2) {  				} else {  					Actor_Says(kActorMcCoy, 3840, 18);  					Delay(1000); -					if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) > 59 && Global_Variable_Query(kVariableAffectionTowards) == 0) { +					if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) > 59 && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsNone) {  						Music_Play(21, 35, 0, 3, -1, 0, 0);  					}  					Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, 0, false, 0); @@ -164,8 +164,10 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool a2) {  					Actor_Says(kActorMcCoy, 3870, 3);  					Actor_Says(kActorDektora, 1070, 14);  					Actor_Modify_Friendliness_To_Other(kActorDektora, kActorMcCoy, 5); -					if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) > 55 && Global_Variable_Query(kVariableAffectionTowards) == 0) { -						Global_Variable_Set(kVariableAffectionTowards, 2); +					if (Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy) > 55 +					 && Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsNone +					) { +						Global_Variable_Set(kVariableAffectionTowards, kAffectionTowardsDektora);  						Actor_Says(kActorDektora, 1130, 17);  						Actor_Says(kActorMcCoy, 6365, 12);  						Actor_Says(kActorDektora, 1140, 14); diff --git a/engines/bladerunner/script/scene/ps01.cpp b/engines/bladerunner/script/scene/ps01.cpp index 681f68a1a0..34c7583381 100644 --- a/engines/bladerunner/script/scene/ps01.cpp +++ b/engines/bladerunner/script/scene/ps01.cpp @@ -262,10 +262,10 @@ void SceneScriptPS01::PlayerWalkedIn() {  void SceneScriptPS01::PlayerWalkedOut() {  	Actor_Set_Invisible(kActorMcCoy, false); -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  	if (!Game_Flag_Query(718) && Global_Variable_Query(kVariableChapter) == 1) { -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Outtake_Play(kOuttakeTowards3, true, -1);  	} diff --git a/engines/bladerunner/script/scene/ps02.cpp b/engines/bladerunner/script/scene/ps02.cpp index c577640df1..a358321b10 100644 --- a/engines/bladerunner/script/scene/ps02.cpp +++ b/engines/bladerunner/script/scene/ps02.cpp @@ -144,7 +144,7 @@ void SceneScriptPS02::PlayerWalkedIn() {  }  void SceneScriptPS02::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  	Player_Gains_Control();  } diff --git a/engines/bladerunner/script/scene/ps03.cpp b/engines/bladerunner/script/scene/ps03.cpp index d8ccf47133..480f44123e 100644 --- a/engines/bladerunner/script/scene/ps03.cpp +++ b/engines/bladerunner/script/scene/ps03.cpp @@ -77,7 +77,7 @@ bool SceneScriptPS03::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -674.0f, -354.0f, 550.0f, 0, 1, false, 0)) {  			Game_Flag_Set(kFlagPS03toPS04); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Set_Enter(kSetPS04, kScenePS04);  		} @@ -85,7 +85,7 @@ bool SceneScriptPS03::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -569.54f, -354.62f, -1076.15f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Set_Enter(kSetPS02, kScenePS02);  			Game_Flag_Reset(kFlagMcCoyAtPS03); @@ -98,7 +98,7 @@ bool SceneScriptPS03::ClickedOnExit(int exitId) {  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -875.0f, -354.0f, -1241.0f, 0, 1, false, 0)) {  			Game_Flag_Set(kFlagPS03toPS14); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Set_Enter(kSetPS14, kScenePS14);  		} diff --git a/engines/bladerunner/script/scene/ps04.cpp b/engines/bladerunner/script/scene/ps04.cpp index 605b1d5340..510d596d83 100644 --- a/engines/bladerunner/script/scene/ps04.cpp +++ b/engines/bladerunner/script/scene/ps04.cpp @@ -61,7 +61,7 @@ void SceneScriptPS04::SceneLoaded() {  	 && !Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)  	 && !Game_Flag_Query(kFlagPS04WeaponsOrderForm)  	) { -		Item_Add_To_World(kItemWeaponsOrderForm, 958, 64, -643.5f, -318.82f, 1148.87f, 525, 16, 12, false, true, false, true); +		Item_Add_To_World(kItemWeaponsOrderForm, 958, kSetPS04, -643.5f, -318.82f, 1148.87f, 525, 16, 12, false, true, false, true);  		Game_Flag_Set(kFlagPS04WeaponsOrderForm);  	} @@ -108,7 +108,7 @@ 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)) {  			Game_Flag_Set(kFlagPS04toPS03); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Set_Enter(kSetPS03, kScenePS03);  		} diff --git a/engines/bladerunner/script/scene/ps06.cpp b/engines/bladerunner/script/scene/ps06.cpp index 4298f98bf6..0869cf20c8 100644 --- a/engines/bladerunner/script/scene/ps06.cpp +++ b/engines/bladerunner/script/scene/ps06.cpp @@ -104,7 +104,7 @@ bool SceneScriptPS06::ClickedOnItem(int itemId, bool a2) {  bool SceneScriptPS06::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		Game_Flag_Set(kFlagPS06toPS05); -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Set_Enter(kSetPS05, kScenePS05);  		return true; diff --git a/engines/bladerunner/script/scene/ps09.cpp b/engines/bladerunner/script/scene/ps09.cpp index 456a3038ce..46bfac5d03 100644 --- a/engines/bladerunner/script/scene/ps09.cpp +++ b/engines/bladerunner/script/scene/ps09.cpp @@ -145,7 +145,7 @@ bool SceneScriptPS09::ClickedOnActor(int actorId) {  			if (!Game_Flag_Query(kFlagPS09IzoTalk1)) {  				Actor_Says(kActorMcCoy, 4200, 14); -				Actor_Says(kActorIzo, 570, 3); +				Actor_Says(kActorIzo, 570, kAnimationModeTalk);  				Actor_Says(kActorMcCoy, 4205, 18);  				Game_Flag_Set(kFlagPS09IzoTalk1);  				return true; @@ -155,14 +155,14 @@ bool SceneScriptPS09::ClickedOnActor(int actorId) {  			 && !Game_Flag_Query(kFlagPS09IzoTalk2)  			) {  				Actor_Says(kActorMcCoy, 4210, 18); -				Actor_Says(kActorIzo, 580, 3); +				Actor_Says(kActorIzo, 580, kAnimationModeTalk);  				Actor_Says(kActorMcCoy, 4215, 14); -				Actor_Says(kActorIzo, 590, 3); -				Actor_Says(kActorIzo, 600, 3); +				Actor_Says(kActorIzo, 590, kAnimationModeTalk); +				Actor_Says(kActorIzo, 600, kAnimationModeTalk);  				Actor_Says(kActorMcCoy, 4220, 18); -				Actor_Says(kActorIzo, 610, 3); +				Actor_Says(kActorIzo, 610, kAnimationModeTalk);  				Actor_Says(kActorMcCoy, 4225, 19); -				Actor_Says(kActorIzo, 620, 3); +				Actor_Says(kActorIzo, 620, kAnimationModeTalk);  				Actor_Says(kActorMcCoy, 4230, 14);  				Game_Flag_Set(kFlagPS09IzoTalk2);  				return true; @@ -180,7 +180,7 @@ bool SceneScriptPS09::ClickedOnActor(int actorId) {  			if (!Game_Flag_Query(kFlagPS09CrazylegsTalk1)) {  				Actor_Says(kActorMcCoy, 4415, 18); -				Actor_Says(kActorCrazylegs, 1090, 3); +				Actor_Says(kActorCrazylegs, 1090, kAnimationModeTalk);  				Actor_Says(kActorMcCoy, 4420, 18);  				Game_Flag_Set(kFlagPS09CrazylegsTalk1);  			} @@ -192,11 +192,11 @@ bool SceneScriptPS09::ClickedOnActor(int actorId) {  				Actor_Face_Actor(kActorGrigorian, kActorCrazylegs, true);  				Actor_Says(kActorGrigorian, 420, 14);  				Actor_Face_Actor(kActorCrazylegs, kActorGrigorian, true); -				Actor_Says(kActorCrazylegs, 1120, 3); +				Actor_Says(kActorCrazylegs, 1120, kAnimationModeTalk);  				Actor_Face_Actor(kActorMcCoy, kActorGrigorian, true);  				Actor_Says(kActorMcCoy, 4435, 14);  				Actor_Says(kActorGrigorian, 430, 16); -				Actor_Says(kActorCrazylegs, 1130, 3); +				Actor_Says(kActorCrazylegs, 1130, kAnimationModeTalk);  				Game_Flag_Set(kFlagPS09CrazylegsGrigorianTalk);  				return true;  			} @@ -205,15 +205,15 @@ bool SceneScriptPS09::ClickedOnActor(int actorId) {  			 && !Game_Flag_Query(kFlagGrigorianArrested)  			 && !Game_Flag_Query(kFlagPS09CrazylegsTalk2)) {  				Actor_Says(kActorMcCoy, 4425, 18); -				Actor_Says(kActorCrazylegs, 1100, 3); +				Actor_Says(kActorCrazylegs, 1100, kAnimationModeTalk);  				Actor_Says(kActorMcCoy, 4430, 19); -				Actor_Says(kActorCrazylegs, 1110, 3); +				Actor_Says(kActorCrazylegs, 1110, kAnimationModeTalk);  				Game_Flag_Set(kFlagPS09CrazylegsTalk2);  				return true;  			}  			Actor_Says(kActorMcCoy, 4425, 18); -			Actor_Says(kActorCrazylegs, 1160, 3); +			Actor_Says(kActorCrazylegs, 1160, kAnimationModeTalk);  			return true;  		}  	} @@ -227,7 +227,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Set_Enter(kSetPS02, kScenePS02);  			Game_Flag_Reset(kFlagPS09Entered); @@ -339,7 +339,7 @@ void SceneScriptPS09::dialogueWithGregorian() {  	case 180: // CARS  		Actor_Says(kActorMcCoy, 4270, 18); -		Actor_Says(kActorMcCoy, 4255, 3); +		Actor_Says(kActorMcCoy, 4255, kAnimationModeTalk);  		Actor_Says(kActorGrigorian, 210, 12);  		Actor_Says(kActorGrigorian, 220, 13);  		Actor_Says(kActorGrigorian, 230, 14); @@ -356,24 +356,24 @@ void SceneScriptPS09::dialogueWithGregorian() {  		if (Game_Flag_Query(kFlagCrazylegsArrested)) {  			Actor_Says(kActorGrigorian, 300, 12);  			Actor_Face_Actor(kActorCrazylegs, kActorGrigorian, true); -			Actor_Says(kActorCrazylegs, 1010, 3); +			Actor_Says(kActorCrazylegs, 1010, kAnimationModeTalk);  			Actor_Face_Actor(kActorGrigorian, kActorCrazylegs, true);  			Actor_Says(kActorGrigorian, 310, 16);  			Actor_Face_Actor(kActorMcCoy, kActorCrazylegs, true);  			Actor_Says(kActorMcCoy, 4345, 14);  			Actor_Face_Actor(kActorCrazylegs, kActorMcCoy, true); -			Actor_Says(kActorCrazylegs, 1020, 3); +			Actor_Says(kActorCrazylegs, 1020, kAnimationModeTalk);  			Actor_Says(kActorMcCoy, 4350, 18); -			Actor_Says(kActorCrazylegs, 1030, 3); +			Actor_Says(kActorCrazylegs, 1030, kAnimationModeTalk);  			Actor_Says(kActorMcCoy, 4355, 19); -			Actor_Says(kActorCrazylegs, 1040, 3); +			Actor_Says(kActorCrazylegs, 1040, kAnimationModeTalk);  			Actor_Says(kActorMcCoy, 4360, 16);  			Actor_Says(kActorMcCoy, 4365, 14); -			Actor_Says(kActorCrazylegs, 1050, 3); -			Actor_Says(kActorCrazylegs, 1060, 3); +			Actor_Says(kActorCrazylegs, 1050, kAnimationModeTalk); +			Actor_Says(kActorCrazylegs, 1060, kAnimationModeTalk);  			Actor_Says(kActorMcCoy, 4370, 14); -			Actor_Says(kActorCrazylegs, 1070, 3); -			Actor_Says(kActorCrazylegs, 1080, 3); +			Actor_Says(kActorCrazylegs, 1070, kAnimationModeTalk); +			Actor_Says(kActorCrazylegs, 1080, kAnimationModeTalk);  		} else {  			Actor_Says(kActorGrigorian, 320, 13);  			Actor_Says(kActorGrigorian, 340, 14); @@ -384,7 +384,7 @@ void SceneScriptPS09::dialogueWithGregorian() {  	case 190: // NOTE  		Actor_Says(kActorMcCoy, 4270, 18); -		Actor_Says(kActorMcCoy, 4260, 3); +		Actor_Says(kActorMcCoy, 4260, kAnimationModeTalk);  		Actor_Says(kActorGrigorian, 360, 16);  		Actor_Says(kActorMcCoy, 4380, 19);  		Actor_Says(kActorMcCoy, 4385, 19); diff --git a/engines/bladerunner/script/scene/ps10.cpp b/engines/bladerunner/script/scene/ps10.cpp index c9da4892d0..de0dc9539b 100644 --- a/engines/bladerunner/script/scene/ps10.cpp +++ b/engines/bladerunner/script/scene/ps10.cpp @@ -42,20 +42,20 @@ static const int *getPoliceMazePS10TrackData1() {  	static int trackData[] = {  		kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,  		kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount, -		kPMTIObstacleReset, kItemPoliceMazeTarget1, -		kPMTIObstacleReset, kItemPoliceMazeTarget2, +		kPMTIObstacleReset, kItemPS10Target1, +		kPMTIObstacleReset, kItemPS10Target2,  		kPMTIFacing, 989,  		kPMTIPosition, 0, -		kPMTITargetSet, kItemPoliceMazeTarget1, 1, -		kPMTITargetSet, kItemPoliceMazeTarget2, 1, -		kPMTIEnemyReset, kItemPoliceMazeTarget1, +		kPMTITargetSet, kItemPS10Target1, 1, +		kPMTITargetSet, kItemPS10Target2, 1, +		kPMTIEnemyReset, kItemPS10Target1,  		kPMTIWaitRandom, 3000, 5000, -		kPMTIObstacleSet, kItemPoliceMazeTarget1, +		kPMTIObstacleSet, kItemPS10Target1,  		kPMTIPlaySound, 159, 100,  		kPMTIMove, 14,  		kPMTIWait, 1000,  		kPMTIRotate, 740, 80, -		kPMTIEnemySet, kItemPoliceMazeTarget1, +		kPMTIEnemySet, kItemPS10Target1,  		kPMTIWait, 0,  		kPMTIRotate, 488, 80,  		kPMTIWait, 1000, @@ -63,13 +63,12 @@ static const int *getPoliceMazePS10TrackData1() {  		kPMTIWait, 0,  		kPMTIRotate, 740, 80,  		kPMTIPausedReset, kPoliceMazePS10Track2, -		kPMTIObstacleReset, kItemPoliceMazeTarget1, -		kPMTIObstacleSet, kItemPoliceMazeTarget2, +		kPMTIObstacleReset, kItemPS10Target1, +		kPMTIObstacleSet, kItemPS10Target2,  		kPMTIPausedSet, kPoliceMazePS10Track1,  		kPMTIPosition, 0,  		kPMTIRestart  	}; -  	return trackData;  } @@ -77,10 +76,10 @@ static const int *getPoliceMazePS10TrackData2() {  	static int trackData[] = {  		kPMTIFacing, 740,  		kPMTIPosition, 0, -		kPMTIEnemySet, kItemPoliceMazeTarget2, +		kPMTIEnemySet, kItemPS10Target2,  		kPMTIMove, 69,  		kPMTIWait, 500, -		kPMTIObstacleReset, kItemPoliceMazeTarget2, +		kPMTIObstacleReset, kItemPS10Target2,  		kPMTIPausedReset, kPoliceMazePS10Track5,  		kPMTIPausedSet, kPoliceMazePS10Track2,  		kPMTIPosition, 0, @@ -93,17 +92,17 @@ static const int *getPoliceMazePS10TrackData3() {  	static int trackData[] = {  		kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,  		kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount, -		kPMTIObstacleReset, kItemPoliceMazeTarget3, +		kPMTIObstacleReset, kItemPS10Target3,  		kPMTIFacing, 993,  		kPMTIPosition, 0,  		kPMTIWaitRandom, 3000, 5000, -		kPMTIObstacleSet, kItemPoliceMazeTarget3, +		kPMTIObstacleSet, kItemPS10Target3,  		kPMTIPlaySound, 159, 100, -		kPMTITargetSet, kItemPoliceMazeTarget3, 1, -		kPMTIEnemyReset, kItemPoliceMazeTarget3, +		kPMTITargetSet, kItemPS10Target3, 1, +		kPMTIEnemyReset, kItemPS10Target3,  		kPMTIMove, 5,  		kPMTIWait, 1000, -		kPMTIEnemySet, kItemPoliceMazeTarget3, +		kPMTIEnemySet, kItemPS10Target3,  		kPMTIRotate, 233, 80,  		kPMTIWait, 0,  		kPMTIRotate, 491, 80, @@ -115,7 +114,7 @@ static const int *getPoliceMazePS10TrackData3() {  		kPMTIRotate, 993, 80,  		kPMTIPlaySound, 34, 33,  		kPMTIMove, 0, -		kPMTIObstacleReset, kItemPoliceMazeTarget3, +		kPMTIObstacleReset, kItemPS10Target3,  		kPMTIRestart  	};  	return trackData; @@ -125,20 +124,20 @@ static const int *getPoliceMazePS10TrackData4() {  	static int trackData[] = {  		kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,  		kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount, -		kPMTIObstacleReset, kItemPoliceMazeTarget4, +		kPMTIObstacleReset, kItemPS10Target4,  		kPMTIFacing, 993,  		kPMTIPosition, 0,  		kPMTIWaitRandom, 3000, 6000, -		kPMTIObstacleSet, kItemPoliceMazeTarget4, +		kPMTIObstacleSet, kItemPS10Target4,  		kPMTIPlaySound, 159, 100, -		kPMTITargetSet, kItemPoliceMazeTarget4, 1, -		kPMTIEnemyReset, kItemPoliceMazeTarget4, +		kPMTITargetSet, kItemPS10Target4, 1, +		kPMTIEnemyReset, kItemPS10Target4,  		kPMTIMove, 34,  		kPMTIWait, 500,  		kPMTIRotate, 491, 80,  		kPMTIMove, 0,  		kPMTILeave, -		kPMTIObstacleReset, kItemPoliceMazeTarget4, +		kPMTIObstacleReset, kItemPS10Target4,  		kPMTIPausedReset, kPoliceMazePS10Track8,  		kPMTIPausedSet, kPoliceMazePS10Track4,  		kPMTIRestart @@ -150,14 +149,14 @@ static const int *getPoliceMazePS10TrackData5() {  	static int trackData[] = {  		kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,  		kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount, -		kPMTIObstacleReset, kItemPoliceMazeTarget5, +		kPMTIObstacleReset, kItemPS10Target5,  		kPMTIFacing, 0,  		kPMTIPosition, 0,  		kPMTIWaitRandom, 4000, 6000, -		kPMTIObstacleSet, kItemPoliceMazeTarget5, +		kPMTIObstacleSet, kItemPS10Target5,  		kPMTIPlaySound, 159, 100, -		kPMTITargetSet, kItemPoliceMazeTarget5, 1, -		kPMTIEnemyReset, kItemPoliceMazeTarget5, +		kPMTITargetSet, kItemPS10Target5, 1, +		kPMTIEnemyReset, kItemPS10Target5,  		kPMTIMove, 5,  		kPMTIWait, 1000,  		kPMTIRotate, 512, 100, @@ -166,7 +165,7 @@ static const int *getPoliceMazePS10TrackData5() {  		kPMTIPlaySound, 34, 33,  		kPMTIMove, 0,  		kPMTILeave, -		kPMTIObstacleReset, kItemPoliceMazeTarget5, +		kPMTIObstacleReset, kItemPS10Target5,  		kPMTIPausedReset, kPoliceMazePS10Track1,  		kPMTIPausedSet, kPoliceMazePS10Track5,  		kPMTIRestart @@ -178,17 +177,17 @@ static const int *getPoliceMazePS10TrackData6() {  	static int trackData[] = {  		kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,  		kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount, -		kPMTIObstacleReset, kItemPoliceMazeTarget6, +		kPMTIObstacleReset, kItemPS10Target6,  		kPMTIFacing, 999,  		kPMTIPosition, 0,  		kPMTIWaitRandom, 4000, 6000, -		kPMTIObstacleSet, kItemPoliceMazeTarget6, +		kPMTIObstacleSet, kItemPS10Target6,  		kPMTIPlaySound, 159, 100, -		kPMTITargetSet, kItemPoliceMazeTarget6, 1, -		kPMTIEnemyReset, kItemPoliceMazeTarget6, +		kPMTITargetSet, kItemPS10Target6, 1, +		kPMTIEnemyReset, kItemPS10Target6,  		kPMTIMove, 7,  		kPMTIWait, 500, -		kPMTIEnemySet, kItemPoliceMazeTarget6, +		kPMTIEnemySet, kItemPS10Target6,  		kPMTIRotate, 750, 80,  		kPMTIWait, 0,  		kPMTIRotate, 500, 80, @@ -200,7 +199,7 @@ static const int *getPoliceMazePS10TrackData6() {  		kPMTIRotate, 999, 80,  		kPMTIPlaySound, 34, 33,  		kPMTIMove, 0, -		kPMTIObstacleReset, kItemPoliceMazeTarget6, +		kPMTIObstacleReset, kItemPS10Target6,  		kPMTIPausedReset, kPoliceMazePS10Track7,  		kPMTIPausedReset, kPoliceMazePS10Track9,  		kPMTIPausedSet, kPoliceMazePS10Track6, @@ -213,19 +212,19 @@ static const int *getPoliceMazePS10TrackData7() {  	static int trackData[] = {  		kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,  		kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount, -		kPMTIObstacleReset, kItemPoliceMazeTarget7, +		kPMTIObstacleReset, kItemPS10Target7,  		kPMTIFacing, 264,  		kPMTIPosition, 0,  		kPMTIWaitRandom, 3000, 6000, -		kPMTITargetSet, kItemPoliceMazeTarget7, 1, -		kPMTIEnemyReset, kItemPoliceMazeTarget7, -		kPMTIObstacleSet, kItemPoliceMazeTarget7, +		kPMTITargetSet, kItemPS10Target7, 1, +		kPMTIEnemyReset, kItemPS10Target7, +		kPMTIObstacleSet, kItemPS10Target7,  		kPMTIMove, 89,  		kPMTIWaitRandom, 4000, 8000,  		kPMTIFacing, 776,  		kPMTIMove, 0,  		kPMTILeave, -		kPMTIObstacleReset, kItemPoliceMazeTarget7, +		kPMTIObstacleReset, kItemPS10Target7,  		kPMTIPausedSet, kPoliceMazePS10Track7,  		kPMTIRestart  	}; @@ -236,23 +235,23 @@ static const int *getPoliceMazePS10TrackData8() {  	static int trackData[] = {  		kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,  		kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount, -		kPMTIObstacleReset, kItemPoliceMazeTarget8, +		kPMTIObstacleReset, kItemPS10Target8,  		kPMTIFacing, 993,  		kPMTIPosition, 0,  		kPMTIWaitRandom, 4000, 6000, -		kPMTIObstacleSet, kItemPoliceMazeTarget8, +		kPMTIObstacleSet, kItemPS10Target8,  		kPMTIPlaySound, 159, 100, -		kPMTITargetSet, kItemPoliceMazeTarget8, 1, -		kPMTIEnemyReset, kItemPoliceMazeTarget8, +		kPMTITargetSet, kItemPS10Target8, 1, +		kPMTIEnemyReset, kItemPS10Target8,  		kPMTIMove, 34,  		kPMTIWait, 500, -		kPMTIEnemySet, kItemPoliceMazeTarget8, +		kPMTIEnemySet, kItemPS10Target8,  		kPMTIRotate, 491, 80,  		kPMTIMove, 20,  		kPMTIWait, 0,  		kPMTIShoot, 27, 33,  		kPMTIMove, 0, -		kPMTIObstacleReset, kItemPoliceMazeTarget8, +		kPMTIObstacleReset, kItemPS10Target8,  		kPMTIPausedReset, kPoliceMazePS10Track4,  		kPMTIPausedSet, kPoliceMazePS10Track8,  		kPMTIRestart @@ -264,13 +263,13 @@ static const int *getPoliceMazePS10TrackData9() {  	static int trackData[] = {  		kPMTIActivate, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount,  		kPMTIVariableInc, kVariablePoliceMazePS10TargetCounter, kPoliceMazePS10TargetCount, -		kPMTIObstacleReset, kItemPoliceMazeTarget9, +		kPMTIObstacleReset, kItemPS10Target9,  		kPMTIFacing, 738,  		kPMTIPosition, 0,  		kPMTIWaitRandom, 2000, 5000, -		kPMTITargetSet, kItemPoliceMazeTarget9, 1, -		kPMTIEnemySet, kItemPoliceMazeTarget9, -		kPMTIObstacleSet, kItemPoliceMazeTarget9, +		kPMTITargetSet, kItemPS10Target9, 1, +		kPMTIEnemySet, kItemPS10Target9, +		kPMTIObstacleSet, kItemPS10Target9,  		kPMTIPlaySound, 0, 33,  		kPMTIMove, 23,  		kPMTIPlaySound, 0, 33, @@ -296,8 +295,8 @@ static const int *getPoliceMazePS10TrackData9() {  		kPMTIMove, 89,  		kPMTIPlaySound, 0, 33,  		kPMTIWaitRandom, 4000, 6000, -		kPMTITargetSet, kItemPoliceMazeTarget9, 1, -		kPMTIEnemySet, kItemPoliceMazeTarget9, +		kPMTITargetSet, kItemPS10Target9, 1, +		kPMTIEnemySet, kItemPS10Target9,  		kPMTIFacing, 216,  		kPMTIPlaySound, 32, 33,  		kPMTIMove, 69, @@ -310,7 +309,7 @@ static const int *getPoliceMazePS10TrackData9() {  		kPMTIRotate, 216, 100,  		kPMTIPlaySound, 32, 33,  		kPMTIMove, 0, -		kPMTIObstacleReset, kItemPoliceMazeTarget9, +		kPMTIObstacleReset, kItemPS10Target9,  		kPMTIPausedSet, kPoliceMazePS10Track9,  		kPMTIRestart  	}; @@ -330,8 +329,8 @@ void SceneScriptPS10::InitializeScene() {  	Scene_Exit_Add_2D_Exit(1, 0, 0, 20, 479, 3);  	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);  	Ambient_Sounds_Add_Looping_Sound(387, 50, 1, 1); -	Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1); -	Ambient_Sounds_Add_Sound( 1,  10,  50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Looping_Sound( 54, 50, 1, 1); +	Ambient_Sounds_Add_Sound(  1, 10,  50, 16, 25, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(389,  5,  50, 16, 25, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(390,  6,  50, 16, 25, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(443,  2, 100, 14, 16, -100, 100, -101, -101, 0, 0); @@ -368,26 +367,26 @@ void SceneScriptPS10::SceneLoaded() {  	Unclickable_Object("PARKMETR16");  	Unobstacle_Object("E.SM.WIRE01", true);  	if (!Query_System_Currently_Loading_Game()) { -		Item_Add_To_World(kItemPoliceMazeTarget1, 443, 14,  -240.0f, -80.74f, 145.0f, 989, 72, 36, true, false, false, true); -		Item_Add_To_World(kItemPoliceMazeTarget2, 443, 14,  -240.0f,  -8.74f, 145.0f, 740, 72, 36, true, false, false, true); -		Item_Add_To_World(kItemPoliceMazeTarget3, 445, 14,  -165.0f, 111.53f, -10.0f, 993, 72, 36, true, false, false, true); -		Item_Add_To_World(kItemPoliceMazeTarget4, 447, 14,  -125.0f,  160.0f, -10.0f, 993, 72, 36, true, false, false, true); -		Item_Add_To_World(kItemPoliceMazeTarget5, 441, 14, -246.71f, 205.51f, -20.0f,   0, 72, 36, true, false, false, true); -		Item_Add_To_World(kItemPoliceMazeTarget6, 445, 14,  -27.69f, -86.92f, 434.0f, 999, 72, 36, true, false, false, true); -		Item_Add_To_World(kItemPoliceMazeTarget7, 441, 14, -347.15f,   7.68f, -20.0f, 264, 72, 36, true, false, false, true); -		Item_Add_To_World(kItemPoliceMazeTarget8, 449, 14,   -51.0f,  160.0f, -10.0f, 993, 72, 36, true, false, false, true); -		Item_Add_To_World(kItemPoliceMazeTarget9, 445, 14,    39.0f,   9.16f, -20.0f, 738, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS10Target1, 443, kSetPS10_PS11_PS12_PS13,  -240.0f, -80.74f, 145.0f, 989, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS10Target2, 443, kSetPS10_PS11_PS12_PS13,  -240.0f,  -8.74f, 145.0f, 740, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS10Target3, 445, kSetPS10_PS11_PS12_PS13,  -165.0f, 111.53f, -10.0f, 993, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS10Target4, 447, kSetPS10_PS11_PS12_PS13,  -125.0f,  160.0f, -10.0f, 993, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS10Target5, 441, kSetPS10_PS11_PS12_PS13, -246.71f, 205.51f, -20.0f,   0, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS10Target6, 445, kSetPS10_PS11_PS12_PS13,  -27.69f, -86.92f, 434.0f, 999, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS10Target7, 441, kSetPS10_PS11_PS12_PS13, -347.15f,   7.68f, -20.0f, 264, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS10Target8, 449, kSetPS10_PS11_PS12_PS13,   -51.0f,  160.0f, -10.0f, 993, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS10Target9, 445, kSetPS10_PS11_PS12_PS13,    39.0f,   9.16f, -20.0f, 738, 72, 36, true, false, false, true);  	} -	Police_Maze_Target_Track_Add(kItemPoliceMazeTarget1,  -240.0f, -80.74f, 145.0f,  -240.0f,  -8.74f, 145.0f, 15, getPoliceMazePS10TrackData1(), false); -	Police_Maze_Target_Track_Add(kItemPoliceMazeTarget2,  -240.0f,  -8.74f, 145.0f,  -450.0f,  -8.74f, 145.0f, 70, getPoliceMazePS10TrackData2(), false); -	Police_Maze_Target_Track_Add(kItemPoliceMazeTarget3,  -165.0f, 111.53f, -10.0f,  -165.0f, 167.53f, -10.0f,  6, getPoliceMazePS10TrackData3(), true); -	Police_Maze_Target_Track_Add(kItemPoliceMazeTarget4,  -125.0f,  160.0f, -10.0f,   -51.0f,  160.0f, -10.0f, 35, getPoliceMazePS10TrackData4(), false); -	Police_Maze_Target_Track_Add(kItemPoliceMazeTarget5, -246.71f, 205.51f, -20.0f, -246.71f, 241.51f, -20.0f,  6, getPoliceMazePS10TrackData5(), true); -	Police_Maze_Target_Track_Add(kItemPoliceMazeTarget6,  -27.69f, -86.92f, 434.0f,  -27.69f, -18.92f, 434.0f,  8, getPoliceMazePS10TrackData6(), true); -	Police_Maze_Target_Track_Add(kItemPoliceMazeTarget7, -347.15f,   7.68f, -20.0f,    39.0f,   9.16f, -20.0f, 90, getPoliceMazePS10TrackData7(), false); -	Police_Maze_Target_Track_Add(kItemPoliceMazeTarget8,   -51.0f,  160.0f, -10.0f,  -125.0f,  160.0f, -10.0f, 35, getPoliceMazePS10TrackData8(), true); -	Police_Maze_Target_Track_Add(kItemPoliceMazeTarget9,    39.0f,   9.16f, -20.0f, -347.15f,   7.68f, -20.0f, 90, getPoliceMazePS10TrackData9(), false); +	Police_Maze_Target_Track_Add(kItemPS10Target1,  -240.0f, -80.74f, 145.0f,  -240.0f,  -8.74f, 145.0f, 15, getPoliceMazePS10TrackData1(), false); +	Police_Maze_Target_Track_Add(kItemPS10Target2,  -240.0f,  -8.74f, 145.0f,  -450.0f,  -8.74f, 145.0f, 70, getPoliceMazePS10TrackData2(), false); +	Police_Maze_Target_Track_Add(kItemPS10Target3,  -165.0f, 111.53f, -10.0f,  -165.0f, 167.53f, -10.0f,  6, getPoliceMazePS10TrackData3(),  true); +	Police_Maze_Target_Track_Add(kItemPS10Target4,  -125.0f,  160.0f, -10.0f,   -51.0f,  160.0f, -10.0f, 35, getPoliceMazePS10TrackData4(), false); +	Police_Maze_Target_Track_Add(kItemPS10Target5, -246.71f, 205.51f, -20.0f, -246.71f, 241.51f, -20.0f,  6, getPoliceMazePS10TrackData5(),  true); +	Police_Maze_Target_Track_Add(kItemPS10Target6,  -27.69f, -86.92f, 434.0f,  -27.69f, -18.92f, 434.0f,  8, getPoliceMazePS10TrackData6(),  true); +	Police_Maze_Target_Track_Add(kItemPS10Target7, -347.15f,   7.68f, -20.0f,    39.0f,   9.16f, -20.0f, 90, getPoliceMazePS10TrackData7(), false); +	Police_Maze_Target_Track_Add(kItemPS10Target8,   -51.0f,  160.0f, -10.0f,  -125.0f,  160.0f, -10.0f, 35, getPoliceMazePS10TrackData8(),  true); +	Police_Maze_Target_Track_Add(kItemPS10Target9,    39.0f,   9.16f, -20.0f, -347.15f,   7.68f, -20.0f, 90, getPoliceMazePS10TrackData9(), false);  	Preload(441);  	Preload(442);  	Preload(443); @@ -404,7 +403,7 @@ bool SceneScriptPS10::MouseClick(int x, int y) {  	return false;  } -bool SceneScriptPS10::ClickedOn3DObject(const char *objectName, bool a2) { +bool SceneScriptPS10::ClickedOn3DObject(const char *objectName, bool combatMode) {  	return false;  } @@ -412,16 +411,16 @@ bool SceneScriptPS10::ClickedOnActor(int actorId) {  	return false;  } -bool SceneScriptPS10::ClickedOnItem(int itemId, bool a2) { +bool SceneScriptPS10::ClickedOnItem(int itemId, bool combatMode) {  	if (Player_Query_Combat_Mode()) {  		switch (itemId) { -		case kItemPoliceMazeTarget4: +		case kItemPS10Target4:  			Sound_Play(4, 50, 0, 0, 50);  			break; -		case kItemPoliceMazeTarget5: +		case kItemPS10Target5:  			Sound_Play(555, 50, 0, 0, 50);  			break; -		case kItemPoliceMazeTarget7: +		case kItemPS10Target7:  			Sound_Play(555, 50, 0, 0, 50);  			break;  		default: @@ -429,34 +428,34 @@ bool SceneScriptPS10::ClickedOnItem(int itemId, bool a2) {  			break;  		}  		Item_Spin_In_World(itemId); -		if (itemId == kItemPoliceMazeTarget1) { -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget1); -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget2); +		if (itemId == kItemPS10Target1) { +			Item_Flag_As_Non_Target(kItemPS10Target1); +			Item_Flag_As_Non_Target(kItemPS10Target2);  		} -		if (itemId == kItemPoliceMazeTarget2) { -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget1); -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget2); +		if (itemId == kItemPS10Target2) { +			Item_Flag_As_Non_Target(kItemPS10Target1); +			Item_Flag_As_Non_Target(kItemPS10Target2);  		} -		if (itemId == kItemPoliceMazeTarget3) { -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget3); +		if (itemId == kItemPS10Target3) { +			Item_Flag_As_Non_Target(kItemPS10Target3);  		} -		if (itemId == kItemPoliceMazeTarget4) { -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget4); +		if (itemId == kItemPS10Target4) { +			Item_Flag_As_Non_Target(kItemPS10Target4);  		} -		if (itemId == kItemPoliceMazeTarget5) { -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget5); +		if (itemId == kItemPS10Target5) { +			Item_Flag_As_Non_Target(kItemPS10Target5);  		} -		if (itemId == kItemPoliceMazeTarget6) { -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget6); +		if (itemId == kItemPS10Target6) { +			Item_Flag_As_Non_Target(kItemPS10Target6);  		} -		if (itemId == kItemPoliceMazeTarget7) { -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget7); +		if (itemId == kItemPS10Target7) { +			Item_Flag_As_Non_Target(kItemPS10Target7);  		} -		if (itemId == kItemPoliceMazeTarget8) { -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget8); +		if (itemId == kItemPS10Target8) { +			Item_Flag_As_Non_Target(kItemPS10Target8);  		} -		if (itemId == kItemPoliceMazeTarget9) { -			Item_Flag_As_Non_Target(kItemPoliceMazeTarget9); +		if (itemId == kItemPS10Target9) { +			Item_Flag_As_Non_Target(kItemPS10Target9);  		} else {  			Item_Flag_As_Non_Target(itemId);  		} @@ -517,15 +516,15 @@ void SceneScriptPS10::DialogueQueueFlushed(int a1) {  }  void SceneScriptPS10::removeTargets() { -	Item_Remove_From_World(kItemPoliceMazeTarget1); -	Item_Remove_From_World(kItemPoliceMazeTarget2); -	Item_Remove_From_World(kItemPoliceMazeTarget3); -	Item_Remove_From_World(kItemPoliceMazeTarget4); -	Item_Remove_From_World(kItemPoliceMazeTarget5); -	Item_Remove_From_World(kItemPoliceMazeTarget6); -	Item_Remove_From_World(kItemPoliceMazeTarget7); -	Item_Remove_From_World(kItemPoliceMazeTarget8); -	Item_Remove_From_World(kItemPoliceMazeTarget9); +	Item_Remove_From_World(kItemPS10Target1); +	Item_Remove_From_World(kItemPS10Target2); +	Item_Remove_From_World(kItemPS10Target3); +	Item_Remove_From_World(kItemPS10Target4); +	Item_Remove_From_World(kItemPS10Target5); +	Item_Remove_From_World(kItemPS10Target6); +	Item_Remove_From_World(kItemPS10Target7); +	Item_Remove_From_World(kItemPS10Target8); +	Item_Remove_From_World(kItemPS10Target9);  }  } // End of namespace BladeRunner diff --git a/engines/bladerunner/script/scene/ps11.cpp b/engines/bladerunner/script/scene/ps11.cpp index 01ed9874c3..1e45ddc768 100644 --- a/engines/bladerunner/script/scene/ps11.cpp +++ b/engines/bladerunner/script/scene/ps11.cpp @@ -24,9 +24,11 @@  namespace BladeRunner { +static int kPoliceMazePS11TargetCount = 20; +  void SceneScriptPS11::InitializeScene() {  	if (Game_Flag_Query(kFlagPS10toPS11)) { -		Scene_Loop_Start_Special(0, 0, 0); +		Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);  		Scene_Loop_Set_Default(1);  		Game_Flag_Reset(kFlagPS10toPS11);  		Setup_Scene_Information(World_Waypoint_Query_X(6), World_Waypoint_Query_Y(6), World_Waypoint_Query_Z(6), 840); @@ -35,7 +37,7 @@ void SceneScriptPS11::InitializeScene() {  		Setup_Scene_Information(World_Waypoint_Query_X(7), World_Waypoint_Query_Y(7), World_Waypoint_Query_Z(7), 132);  	}  	Scene_Exit_Add_2D_Exit(0, 0, 460, 639, 479, 2); -	Scene_Exit_Add_2D_Exit(1, 0, 0, 20, 479, 3); +	Scene_Exit_Add_2D_Exit(1, 0,   0,  20, 479, 3);  }  static int track_data_9[] = {-26, 11, 20, -18, 11, 20, -9, 9, -5, 50, -1, 0, -7, 5000, 5000, -8, 9, -10, 31, 33, -15, 9, 1, -22, 9, -2, 7, -3, 1000, -24, 27, 33, -10, 34, 33, -2, 0, -3, 500, -9, 9, -13, 15, 10, -12, 9, -4}; @@ -75,63 +77,63 @@ void SceneScriptPS11::SceneLoaded() {  	Unclickable_Object("PARKMETR15");  	Unclickable_Object("PARKMETR16");  	if (!Query_System_Currently_Loading_Game()) { -		Item_Add_To_World(9, 449, 14, -450.0f, -7.5f, 335.0f, 50, 72, 36, true, false, false, true); -		Item_Add_To_World(10, 449, 14, -740.0f, 27.0f, -30.0f, 860, 72, 36, true, false, false, true); -		Item_Add_To_World(11, 449, 14, -740.0f, 99.0f, -30.0f, 860, 72, 36, true, false, false, true); -		Item_Add_To_World(12, 441, 14, -400.0f, -9.23f, -75.0f, 725, 72, 36, true, false, false, true); -		Item_Add_To_World(13, 443, 14, -803.72f, -72.7f, 60.22f, 340, 72, 36, true, false, false, true); -		Item_Add_To_World(14, 443, 14, -853.0f, -70.0f, 195.0f, 900, 72, 36, true, false, false, true); -		Item_Add_To_World(15, 447, 14, -740.0f, 27.0f, -30.0f, 860, 72, 36, true, false, false, true); -		Item_Add_To_World(16, 447, 14, -740.0f, 99.0f, -30.0f, 860, 72, 36, true, false, false, true); -		Item_Add_To_World(17, 445, 14, -888.0f, 155.0f, 100.0f, 310, 72, 36, true, false, false, true); -		Item_Add_To_World(18, 443, 14, -430.0f, 164.0f, 11.0f, 900, 72, 36, true, false, false, true); -		Item_Add_To_World(19, 443, 14, -430.0f, -0.86f, 11.0f, 512, 72, 36, true, false, false, true); -		Item_Add_To_World(20, 443, 14, -891.0f, 3.1f, 90.0f, 280, 72, 36, true, false, false, true); -		Item_Add_To_World(21, 447, 14, -891.0f, 3.1f, 90.0f, 280, 72, 36, true, false, false, true); -		Item_Add_To_World(22, 445, 14, -891.0f, 171.0f, 190.0f, 255, 72, 36, true, false, false, true); -		Item_Add_To_World(23, 441, 14, -888.0f, 155.0f, 30.0f, 310, 72, 36, true, false, false, true); -		Item_Add_To_World(27, 445, 14, -800.0f, -9.23f, -75.0f, 346, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target1,  449, kSetPS10_PS11_PS12_PS13,  -450.0f,  -7.5f, 335.0f,  50, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target2,  449, kSetPS10_PS11_PS12_PS13,  -740.0f,  27.0f, -30.0f, 860, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target3,  449, kSetPS10_PS11_PS12_PS13,  -740.0f,  99.0f, -30.0f, 860, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target4,  441, kSetPS10_PS11_PS12_PS13,  -400.0f, -9.23f, -75.0f, 725, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target5,  443, kSetPS10_PS11_PS12_PS13, -803.72f, -72.7f, 60.22f, 340, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target6,  443, kSetPS10_PS11_PS12_PS13,  -853.0f, -70.0f, 195.0f, 900, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target7,  447, kSetPS10_PS11_PS12_PS13,  -740.0f,  27.0f, -30.0f, 860, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target8,  447, kSetPS10_PS11_PS12_PS13,  -740.0f,  99.0f, -30.0f, 860, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target9,  445, kSetPS10_PS11_PS12_PS13,  -888.0f, 155.0f, 100.0f, 310, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target10, 443, kSetPS10_PS11_PS12_PS13,  -430.0f, 164.0f,  11.0f, 900, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target11, 443, kSetPS10_PS11_PS12_PS13,  -430.0f, -0.86f,  11.0f, 512, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target12, 443, kSetPS10_PS11_PS12_PS13,  -891.0f,   3.1f,  90.0f, 280, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target13, 447, kSetPS10_PS11_PS12_PS13,  -891.0f,   3.1f,  90.0f, 280, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target14, 445, kSetPS10_PS11_PS12_PS13,  -891.0f, 171.0f, 190.0f, 255, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target15, 441, kSetPS10_PS11_PS12_PS13,  -888.0f, 155.0f,  30.0f, 310, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS11Target16, 445, kSetPS10_PS11_PS12_PS13,  -800.0f, -9.23f, -75.0f, 346, 72, 36, true, false, false, true);  	} -	Police_Maze_Target_Track_Add(9, -450.0f, -7.5f, 335.0f, -450.0f, -7.5f, 295.0f, 8, track_data_9, true); -	Police_Maze_Target_Track_Add(10, -740.0f, 27.0f, -30.0f, -740.0f, 99.0f, -30.0f, 15, track_data_10, false); -	Police_Maze_Target_Track_Add(11, -740.0f, 99.0f, -30.0f, -200.0f, 99.0f, -30.0f, 80, track_data_11, false); -	Police_Maze_Target_Track_Add(12, -400.0f, -9.23f, -75.0f, -800.0f, -9.23f, -75.0f, 100, track_data_12, false); -	Police_Maze_Target_Track_Add(13, -803.72f, -72.7f, 60.22f, -803.72f, -0.7f, 60.22f, 6, track_data_13, true); -	Police_Maze_Target_Track_Add(14, -853.0f, -70.0f, 195.0f, -853.0f, 2.0f, 195.0f, 6, track_data_14, false); -	Police_Maze_Target_Track_Add(15, -740.0f, 27.0f, -30.0f, -740.0f, 99.0f, -30.0f, 15, track_data_15, false); -	Police_Maze_Target_Track_Add(16, -740.0f, 99.0f, -30.0f, -200.0f, 99.0f, -30.0f, 80, track_data_16, false); -	Police_Maze_Target_Track_Add(17, -888.0f, 155.0f, 100.0f, -888.0f, 155.0f, 30.0f, 25, track_data_17, false); -	Police_Maze_Target_Track_Add(18, -430.0f, 164.0f, 11.0f, -430.0f, -0.86f, 11.0f, 6, track_data_18, false); -	Police_Maze_Target_Track_Add(19, -430.0f, -0.86f, 11.0f, -300.0f, -0.86f, -80.0f, 20, track_data_19, false); -	Police_Maze_Target_Track_Add(20, -891.0f, 3.1f, 90.0f, -891.0f, 3.1f, 105.0f, 10, track_data_20, true); -	Police_Maze_Target_Track_Add(21, -891.0f, 3.1f, 90.0f, -891.0f, 3.1f, 105.0f, 6, track_data_21, false); -	Police_Maze_Target_Track_Add(22, -891.0f, 171.0f, 190.0f, -891.0f, 171.0f, 147.0f, 8, track_data_22, false); -	Police_Maze_Target_Track_Add(23, -888.0f, 155.0f, 30.0f, -888.0f, 155.0f, 100.0f, 25, track_data_23, true); -	Police_Maze_Target_Track_Add(27, -800.0f, -9.23f, -75.0f, -740.0f, -9.23f, -75.0f, 15, track_data_27, false); +	Police_Maze_Target_Track_Add(kItemPS11Target1,   -450.0f,  -7.5f, 335.0f,  -450.0f,  -7.5f, 295.0f,   8, track_data_9,   true); +	Police_Maze_Target_Track_Add(kItemPS11Target2,   -740.0f,  27.0f, -30.0f,  -740.0f,  99.0f, -30.0f,  15, track_data_10, false); +	Police_Maze_Target_Track_Add(kItemPS11Target3,   -740.0f,  99.0f, -30.0f,  -200.0f,  99.0f, -30.0f,  80, track_data_11, false); +	Police_Maze_Target_Track_Add(kItemPS11Target4,   -400.0f, -9.23f, -75.0f,  -800.0f, -9.23f, -75.0f, 100, track_data_12, false); +	Police_Maze_Target_Track_Add(kItemPS11Target5,  -803.72f, -72.7f, 60.22f, -803.72f,  -0.7f, 60.22f,   6, track_data_13,  true); +	Police_Maze_Target_Track_Add(kItemPS11Target6,   -853.0f, -70.0f, 195.0f,  -853.0f,   2.0f, 195.0f,   6, track_data_14, false); +	Police_Maze_Target_Track_Add(kItemPS11Target7,   -740.0f,  27.0f, -30.0f,  -740.0f,  99.0f, -30.0f,  15, track_data_15, false); +	Police_Maze_Target_Track_Add(kItemPS11Target8,   -740.0f,  99.0f, -30.0f,  -200.0f,  99.0f, -30.0f,  80, track_data_16, false); +	Police_Maze_Target_Track_Add(kItemPS11Target9,   -888.0f, 155.0f, 100.0f,  -888.0f, 155.0f,  30.0f,  25, track_data_17, false); +	Police_Maze_Target_Track_Add(kItemPS11Target10,  -430.0f, 164.0f,  11.0f,  -430.0f, -0.86f,  11.0f,   6, track_data_18, false); +	Police_Maze_Target_Track_Add(kItemPS11Target11,  -430.0f, -0.86f,  11.0f,  -300.0f, -0.86f, -80.0f,  20, track_data_19, false); +	Police_Maze_Target_Track_Add(kItemPS11Target12,  -891.0f,   3.1f,  90.0f,  -891.0f,   3.1f, 105.0f,  10, track_data_20,  true); +	Police_Maze_Target_Track_Add(kItemPS11Target13,  -891.0f,   3.1f,  90.0f,  -891.0f,   3.1f, 105.0f,   6, track_data_21, false); +	Police_Maze_Target_Track_Add(kItemPS11Target14,  -891.0f, 171.0f, 190.0f,  -891.0f, 171.0f, 147.0f,   8, track_data_22, false); +	Police_Maze_Target_Track_Add(kItemPS11Target15,  -888.0f, 155.0f,  30.0f,  -888.0f, 155.0f, 100.0f,  25, track_data_23,  true); +	Police_Maze_Target_Track_Add(kItemPS11Target16,  -800.0f, -9.23f, -75.0f,  -740.0f, -9.23f, -75.0f,  15, track_data_27, false);  	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);  	Ambient_Sounds_Add_Looping_Sound(387, 50, 1, 1); -	Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1); -	Ambient_Sounds_Add_Sound(1, 10, 50, 16, 25, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(389, 5, 50, 16, 25, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(390, 6, 50, 16, 25, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(443, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(444, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(445, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(446, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(303, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(304, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(305, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(306, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(307, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(308, 5, 100, 17, 27, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Looping_Sound( 54, 50, 1, 1); +	Ambient_Sounds_Add_Sound(  1, 10,  50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(389,  5,  50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(390,  6,  50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(443,  2, 100, 14, 16, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(444,  2, 100, 14, 16, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(445,  2, 100, 14, 16, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(446,  2, 100, 14, 16, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(303,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(304,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(305,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(306,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(307,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(308,  5, 100, 17, 27, -100, 100, -101, -101, 0, 0);  }  bool SceneScriptPS11::MouseClick(int x, int y) {  	return false;  } -bool SceneScriptPS11::ClickedOn3DObject(const char *objectName, bool a2) { +bool SceneScriptPS11::ClickedOn3DObject(const char *objectName, bool combatMode) {  	return false;  } @@ -139,22 +141,22 @@ bool SceneScriptPS11::ClickedOnActor(int actorId) {  	return false;  } -bool SceneScriptPS11::ClickedOnItem(int itemId, bool a2) { +bool SceneScriptPS11::ClickedOnItem(int itemId, bool combatMode) {  	if (Player_Query_Combat_Mode()) {  		switch (itemId) { -		case 15: -			Sound_Play(4, 50, 0, 0, 50); +		case kItemPS11Target4: +			Sound_Play(555, 50, 0, 0, 50);  			break; -		case 16: +		case kItemPS11Target7:  			Sound_Play(4, 50, 0, 0, 50);  			break; -		case 21: +		case kItemPS11Target8:  			Sound_Play(4, 50, 0, 0, 50);  			break; -		case 23: -			Sound_Play(555, 50, 0, 0, 50); +		case kItemPS11Target13: +			Sound_Play(4, 50, 0, 0, 50);  			break; -		case 12: +		case kItemPS11Target15:  			Sound_Play(555, 50, 0, 0, 50);  			break;  		default: @@ -162,59 +164,59 @@ bool SceneScriptPS11::ClickedOnItem(int itemId, bool a2) {  			break;  		}  		Item_Spin_In_World(itemId); -		if (itemId == 9) { -			Item_Flag_As_Non_Target(9); +		if (itemId == kItemPS11Target1) { +			Item_Flag_As_Non_Target(kItemPS11Target1);  		} -		if (itemId == 10) { -			Item_Flag_As_Non_Target(10); -			Item_Flag_As_Non_Target(11); +		if (itemId == kItemPS11Target2) { +			Item_Flag_As_Non_Target(kItemPS11Target2); +			Item_Flag_As_Non_Target(kItemPS11Target3);  		} -		if (itemId == 11) { -			Item_Flag_As_Non_Target(10); -			Item_Flag_As_Non_Target(11); +		if (itemId == kItemPS11Target3) { +			Item_Flag_As_Non_Target(kItemPS11Target2); +			Item_Flag_As_Non_Target(kItemPS11Target3);  		} -		if (itemId == 12) { -			Item_Flag_As_Non_Target(12); +		if (itemId == kItemPS11Target4) { +			Item_Flag_As_Non_Target(kItemPS11Target4);  		} -		if (itemId == 13) { -			Item_Flag_As_Non_Target(13); +		if (itemId == kItemPS11Target5) { +			Item_Flag_As_Non_Target(kItemPS11Target5);  		} -		if (itemId == 14) { -			Item_Flag_As_Non_Target(14); +		if (itemId == kItemPS11Target6) { +			Item_Flag_As_Non_Target(kItemPS11Target6);  		} -		if (itemId == 15) { -			Item_Flag_As_Non_Target(15); -			Item_Flag_As_Non_Target(16); +		if (itemId == kItemPS11Target7) { +			Item_Flag_As_Non_Target(kItemPS11Target7); +			Item_Flag_As_Non_Target(kItemPS11Target8);  		} -		if (itemId == 16) { -			Item_Flag_As_Non_Target(15); -			Item_Flag_As_Non_Target(16); +		if (itemId == kItemPS11Target8) { +			Item_Flag_As_Non_Target(kItemPS11Target7); +			Item_Flag_As_Non_Target(kItemPS11Target8);  		} -		if (itemId == 17) { -			Item_Flag_As_Non_Target(17); +		if (itemId == kItemPS11Target9) { +			Item_Flag_As_Non_Target(kItemPS11Target9);  		} -		if (itemId == 18) { -			Item_Flag_As_Non_Target(18); -			Item_Flag_As_Non_Target(19); +		if (itemId == kItemPS11Target10) { +			Item_Flag_As_Non_Target(kItemPS11Target10); +			Item_Flag_As_Non_Target(kItemPS11Target11);  		} -		if (itemId == 19) { -			Item_Flag_As_Non_Target(18); -			Item_Flag_As_Non_Target(19); +		if (itemId == kItemPS11Target11) { +			Item_Flag_As_Non_Target(kItemPS11Target10); +			Item_Flag_As_Non_Target(kItemPS11Target11);  		} -		if (itemId == 20) { -			Item_Flag_As_Non_Target(20); +		if (itemId == kItemPS11Target12) { +			Item_Flag_As_Non_Target(kItemPS11Target12);  		} -		if (itemId == 21) { -			Item_Flag_As_Non_Target(21); +		if (itemId == kItemPS11Target13) { +			Item_Flag_As_Non_Target(kItemPS11Target13);  		} -		if (itemId == 22) { -			Item_Flag_As_Non_Target(22); +		if (itemId == kItemPS11Target14) { +			Item_Flag_As_Non_Target(kItemPS11Target14);  		} -		if (itemId == 23) { -			Item_Flag_As_Non_Target(23); +		if (itemId == kItemPS11Target15) { +			Item_Flag_As_Non_Target(kItemPS11Target15);  		} -		if (itemId == 27) { -			Item_Flag_As_Non_Target(27); +		if (itemId == kItemPS11Target16) { +			Item_Flag_As_Non_Target(kItemPS11Target16);  		}  		return true;  	} @@ -223,19 +225,19 @@ bool SceneScriptPS11::ClickedOnItem(int itemId, bool a2) {  bool SceneScriptPS11::ClickedOnExit(int exitId) {  	if (exitId == 0) { -		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 6, 12, 1, false)) { +		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 6, 12, true, false)) {  			Game_Flag_Set(kFlagPS11toPS10); -			sub_402744(); +			removeTargets();  			Set_Enter(kSetPS10_PS11_PS12_PS13, kScenePS10);  		}  		return true;  	}  	if (exitId == 1) { -		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 8, 12, 1, false)) { +		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 8, 12, true, false)) {  			Game_Flag_Set(kFlagPS11toPS12); -			sub_402744(); -			Global_Variable_Decrement(9, 20 - Global_Variable_Query(11)); -			Global_Variable_Set(11, 20); +			removeTargets(); +			Global_Variable_Decrement(kVariablePoliceMazeScore, kPoliceMazePS11TargetCount - Global_Variable_Query(kVariablePoliceMazePS11TargetCounter)); +			Global_Variable_Set(kVariablePoliceMazePS11TargetCounter, kPoliceMazePS11TargetCount);  			Set_Enter(kSetPS10_PS11_PS12_PS13, kScenePS12);  		}  		return true; @@ -263,23 +265,23 @@ void SceneScriptPS11::PlayerWalkedOut() {  void SceneScriptPS11::DialogueQueueFlushed(int a1) {  } -void SceneScriptPS11::sub_402744() { -	Item_Remove_From_World(9); -	Item_Remove_From_World(10); -	Item_Remove_From_World(11); -	Item_Remove_From_World(12); -	Item_Remove_From_World(13); -	Item_Remove_From_World(14); -	Item_Remove_From_World(15); -	Item_Remove_From_World(16); -	Item_Remove_From_World(17); -	Item_Remove_From_World(18); -	Item_Remove_From_World(19); -	Item_Remove_From_World(20); -	Item_Remove_From_World(21); -	Item_Remove_From_World(22); -	Item_Remove_From_World(23); -	Item_Remove_From_World(27); +void SceneScriptPS11::removeTargets() { +	Item_Remove_From_World(kItemPS11Target1); +	Item_Remove_From_World(kItemPS11Target2); +	Item_Remove_From_World(kItemPS11Target3); +	Item_Remove_From_World(kItemPS11Target4); +	Item_Remove_From_World(kItemPS11Target5); +	Item_Remove_From_World(kItemPS11Target6); +	Item_Remove_From_World(kItemPS11Target7); +	Item_Remove_From_World(kItemPS11Target8); +	Item_Remove_From_World(kItemPS11Target9); +	Item_Remove_From_World(kItemPS11Target10); +	Item_Remove_From_World(kItemPS11Target11); +	Item_Remove_From_World(kItemPS11Target12); +	Item_Remove_From_World(kItemPS11Target13); +	Item_Remove_From_World(kItemPS11Target14); +	Item_Remove_From_World(kItemPS11Target15); +	Item_Remove_From_World(kItemPS11Target16);  }  } // End of namespace BladeRunner diff --git a/engines/bladerunner/script/scene/ps12.cpp b/engines/bladerunner/script/scene/ps12.cpp index 7a13d1417d..ebccb60b85 100644 --- a/engines/bladerunner/script/scene/ps12.cpp +++ b/engines/bladerunner/script/scene/ps12.cpp @@ -24,10 +24,12 @@  namespace BladeRunner { +static int kPoliceMazePS12TargetCount = 20; +  void SceneScriptPS12::InitializeScene() {  	Police_Maze_Set_Pause_State(true);  	if (Game_Flag_Query(kFlagPS11toPS12)) { -		Scene_Loop_Start_Special(0, 0, 0); +		Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);  		Scene_Loop_Set_Default(1);  		Setup_Scene_Information(World_Waypoint_Query_X(8), World_Waypoint_Query_Y(8), World_Waypoint_Query_Z(8), 512);  	} else { @@ -35,7 +37,7 @@ void SceneScriptPS12::InitializeScene() {  		Setup_Scene_Information(World_Waypoint_Query_X(9), World_Waypoint_Query_Y(9), World_Waypoint_Query_Z(9), 0);  	}  	Scene_Exit_Add_2D_Exit(0, 0, 460, 639, 479, 2); -	Scene_Exit_Add_2D_Exit(1, 0, 5, 110, 196, 3); +	Scene_Exit_Add_2D_Exit(1, 0,   5, 110, 196, 3);  }  static int track_data_29[] = {-26, 12, 20, -18, 12, 20, -9, 29, -5, 200, -1, 0, -7, 4000, 10000, -8, 29, -10, 33, 33, -15, 29, 1, -22, 29, -2, 5, -3, 500, -24, 27, 33, -10, 34, 33, -2, 0, -9, 29, -13, 44, 42, -12, 29, -4}; @@ -76,47 +78,47 @@ void SceneScriptPS12::SceneLoaded() {  	Unclickable_Object("PARKMETR15");  	Unclickable_Object("PARKMETR16");  	if (!Query_System_Currently_Loading_Game()) { -		Item_Add_To_World(29, 449, 14, -691.8f, -9.06f, 587.67f, 200, 72, 36, true, false, false, true); -		Item_Add_To_World(30, 445, 14, -679.6f, -45.4f, 721.05f, 67, 72, 36, true, false, false, true); -		Item_Add_To_World(31, 447, 14, -414.04f, -8.98f, 711.91f, 480, 72, 36, true, false, false, true); -		Item_Add_To_World(32, 443, 14, -440.0f, -8.97f, 1137.0f, 1010, 72, 36, true, false, false, true); -		Item_Add_To_World(33, 441, 14, -764.92f, -0.84f, 950.22f, 540, 72, 36, true, false, false, true); -		Item_Add_To_World(34, 449, 14, -696.0f, -5.7f, 1185.0f, 469, 72, 36, true, false, false, true); -		Item_Add_To_World(35, 449, 14, -635.0f, -5.7f, 1165.0f, 198, 72, 36, true, false, false, true); -		Item_Add_To_World(36, 449, 14, -620.0f, -8.63f, 1366.0f, 469, 72, 36, true, false, false, true); -		Item_Add_To_World(37, 447, 14, -584.0f, -79.4f, 775.0f, 1010, 72, 36, true, false, false, true); -		Item_Add_To_World(38, 445, 14, -578.0f, -79.4f, 810.0f, 990, 72, 36, true, false, false, true); -		Item_Add_To_World(39, 443, 14, -400.0f, -12.0f, 1110.0f, 513, 72, 36, true, false, false, true); -		Item_Add_To_World(40, 449, 14, -414.04f, -8.98f, 711.91f, 480, 72, 36, true, false, false, true); -		Item_Add_To_World(41, 447, 14, -400.0f, -12.0f, 1110.0f, 513, 72, 36, true, false, false, true); -		Item_Add_To_World(42, 449, 14, -731.0f, 93.66f, 788.0f, 109, 72, 36, true, false, false, true); -		Item_Add_To_World(43, 441, 14, -580.0f, -80.0f, 925.0f, 540, 72, 36, true, false, false, true); -		Item_Add_To_World(44, 441, 14, -731.0f, 93.66f, 788.0f, 109, 72, 36, true, false, false, true); -		Item_Add_To_World(45, 443, 14, -580.0f, -80.0f, 925.0f, 540, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target1,  449, kSetPS10_PS11_PS12_PS13,  -691.8f, -9.06f, 587.67f,  200, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target2,  445, kSetPS10_PS11_PS12_PS13,  -679.6f, -45.4f, 721.05f,   67, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target3,  447, kSetPS10_PS11_PS12_PS13, -414.04f, -8.98f, 711.91f,  480, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target4,  443, kSetPS10_PS11_PS12_PS13,  -440.0f, -8.97f, 1137.0f, 1010, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target5,  441, kSetPS10_PS11_PS12_PS13, -764.92f, -0.84f, 950.22f,  540, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target6,  449, kSetPS10_PS11_PS12_PS13,  -696.0f,  -5.7f, 1185.0f,  469, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target7,  449, kSetPS10_PS11_PS12_PS13,  -635.0f,  -5.7f, 1165.0f,  198, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target8,  449, kSetPS10_PS11_PS12_PS13,  -620.0f, -8.63f, 1366.0f,  469, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target9,  447, kSetPS10_PS11_PS12_PS13,  -584.0f, -79.4f,  775.0f, 1010, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target10, 445, kSetPS10_PS11_PS12_PS13,  -578.0f, -79.4f,  810.0f,  990, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target11, 443, kSetPS10_PS11_PS12_PS13,  -400.0f, -12.0f, 1110.0f,  513, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target12, 449, kSetPS10_PS11_PS12_PS13, -414.04f, -8.98f, 711.91f,  480, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target13, 447, kSetPS10_PS11_PS12_PS13,  -400.0f, -12.0f, 1110.0f,  513, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target14, 449, kSetPS10_PS11_PS12_PS13,  -731.0f, 93.66f,  788.0f,  109, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target15, 441, kSetPS10_PS11_PS12_PS13,  -580.0f, -80.0f,  925.0f,  540, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target16, 441, kSetPS10_PS11_PS12_PS13,  -731.0f, 93.66f,  788.0f,  109, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS12Target17, 443, kSetPS10_PS11_PS12_PS13,  -580.0f, -80.0f,  925.0f,  540, 72, 36, true, false, false, true);  	} -	Police_Maze_Target_Track_Add(29, -691.8f, -9.06f, 587.67f, -649.11f, -9.06f, 587.71f, 6, track_data_29, true); -	Police_Maze_Target_Track_Add(30, -679.6f, -45.4f, 721.05f, -679.6f, -1.4f, 721.05f, 6, track_data_30, true); -	Police_Maze_Target_Track_Add(31, -414.04f, -8.98f, 711.91f, -459.54f, -8.99f, 707.81f, 6, track_data_31, false); -	Police_Maze_Target_Track_Add(32, -440.0f, -8.97f, 1137.0f, -430.0f, -8.97f, 921.0f, 6, track_data_32, false); -	Police_Maze_Target_Track_Add(33, -764.92f, -0.84f, 950.22f, -722.92f, -0.84f, 950.22f, 6, track_data_33, false); -	Police_Maze_Target_Track_Add(34, -696.0f, -5.7f, 1185.0f, -635.0f, -5.7f, 1185.0f, 20, track_data_34, false); -	Police_Maze_Target_Track_Add(35, -635.0f, -5.7f, 1165.0f, -620.0f, -8.63f, 1366.0f, 10, track_data_35, false); -	Police_Maze_Target_Track_Add(36, -620.0f, -8.63f, 1366.0f, -595.0f, -8.63f, 1366.0f, 10, track_data_36, false); -	Police_Maze_Target_Track_Add(37, -584.0f, -79.4f, 775.0f, -584.0f, -27.4f, 775.0f, 10, track_data_37, true); -	Police_Maze_Target_Track_Add(38, -578.0f, -79.4f, 810.0f, -578.0f, -27.4f, 810.0f, 10, track_data_38, false); -	Police_Maze_Target_Track_Add(39, -400.0f, -12.0f, 1110.0f, -400.0f, 60.0f, 1110.0f, 6, track_data_39, false); -	Police_Maze_Target_Track_Add(40, -414.04f, -8.98f, 711.91f, -459.54f, -8.99f, 707.81f, 6, track_data_40, true); -	Police_Maze_Target_Track_Add(41, -400.0f, -12.0f, 1110.0f, -400.0f, 60.0f, 1110.0f, 6, track_data_41, false); -	Police_Maze_Target_Track_Add(42, -731.0f, 93.66f, 788.0f, -702.0f, 93.66f, 788.0f, 6, track_data_42, false); -	Police_Maze_Target_Track_Add(43, -580.0f, -80.0f, 925.0f, -580.0f, -8.0f, 925.0f, 10, track_data_43, true); -	Police_Maze_Target_Track_Add(44, -731.0f, 93.66f, 788.0f, -702.0f, 93.66f, 788.0f, 6, track_data_44, false); -	Police_Maze_Target_Track_Add(45, -580.0f, -80.0f, 925.0f, -580.0f, -8.0f, 925.0f, 10, track_data_45, false); +	Police_Maze_Target_Track_Add(kItemPS12Target1,   -691.8f, -9.06f, 587.67f, -649.11f, -9.06f, 587.71f,  6, track_data_29,  true); +	Police_Maze_Target_Track_Add(kItemPS12Target2,   -679.6f, -45.4f, 721.05f,  -679.6f,  -1.4f, 721.05f,  6, track_data_30,  true); +	Police_Maze_Target_Track_Add(kItemPS12Target3,  -414.04f, -8.98f, 711.91f, -459.54f, -8.99f, 707.81f,  6, track_data_31, false); +	Police_Maze_Target_Track_Add(kItemPS12Target4,   -440.0f, -8.97f, 1137.0f,  -430.0f, -8.97f,  921.0f,  6, track_data_32, false); +	Police_Maze_Target_Track_Add(kItemPS12Target5,  -764.92f, -0.84f, 950.22f, -722.92f, -0.84f, 950.22f,  6, track_data_33, false); +	Police_Maze_Target_Track_Add(kItemPS12Target6,   -696.0f,  -5.7f, 1185.0f,  -635.0f,  -5.7f, 1185.0f, 20, track_data_34, false); +	Police_Maze_Target_Track_Add(kItemPS12Target7,   -635.0f,  -5.7f, 1165.0f,  -620.0f, -8.63f, 1366.0f, 10, track_data_35, false); +	Police_Maze_Target_Track_Add(kItemPS12Target8,   -620.0f, -8.63f, 1366.0f,  -595.0f, -8.63f, 1366.0f, 10, track_data_36, false); +	Police_Maze_Target_Track_Add(kItemPS12Target9,   -584.0f, -79.4f,  775.0f,  -584.0f, -27.4f,  775.0f, 10, track_data_37,  true); +	Police_Maze_Target_Track_Add(kItemPS12Target10,  -578.0f, -79.4f,  810.0f,  -578.0f, -27.4f,  810.0f, 10, track_data_38, false); +	Police_Maze_Target_Track_Add(kItemPS12Target11,  -400.0f, -12.0f, 1110.0f,  -400.0f,  60.0f, 1110.0f,  6, track_data_39, false); +	Police_Maze_Target_Track_Add(kItemPS12Target12, -414.04f, -8.98f, 711.91f, -459.54f, -8.99f, 707.81f,  6, track_data_40,  true); +	Police_Maze_Target_Track_Add(kItemPS12Target13,  -400.0f, -12.0f, 1110.0f,  -400.0f,  60.0f, 1110.0f,  6, track_data_41, false); +	Police_Maze_Target_Track_Add(kItemPS12Target14,  -731.0f, 93.66f,  788.0f,  -702.0f, 93.66f,  788.0f,  6, track_data_42, false); +	Police_Maze_Target_Track_Add(kItemPS12Target15,  -580.0f, -80.0f,  925.0f,  -580.0f,  -8.0f,  925.0f, 10, track_data_43,  true); +	Police_Maze_Target_Track_Add(kItemPS12Target16,  -731.0f, 93.66f,  788.0f,  -702.0f, 93.66f,  788.0f,  6, track_data_44, false); +	Police_Maze_Target_Track_Add(kItemPS12Target17,  -580.0f, -80.0f,  925.0f,  -580.0f,  -8.0f,  925.0f, 10, track_data_45, false);  	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);  	Ambient_Sounds_Add_Looping_Sound(387, 50, 1, 1);  	Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1); -	Ambient_Sounds_Add_Sound(1, 10, 50, 16, 25, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(389, 5, 50, 16, 25, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(390, 6, 50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(1,  10,  50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(389, 5,  50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(390, 6,  50, 16, 25, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(443, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(444, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(445, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0); @@ -144,22 +146,22 @@ bool SceneScriptPS12::ClickedOnActor(int actorId) {  bool SceneScriptPS12::ClickedOnItem(int itemId, bool a2) {  	if (Player_Query_Combat_Mode()) {  		switch (itemId) { -		case 31: +		case kItemPS12Target3:  			Sound_Play(4, 50, 0, 0, 50);  			break; -		case 37: -			Sound_Play(4, 50, 0, 0, 50); +		case kItemPS12Target5: +			Sound_Play(555, 50, 0, 0, 50);  			break; -		case 41: +		case kItemPS12Target9:  			Sound_Play(4, 50, 0, 0, 50);  			break; -		case 33: -			Sound_Play(555, 50, 0, 0, 50); +		case kItemPS12Target13: +			Sound_Play(4, 50, 0, 0, 50);  			break; -		case 43: +		case kItemPS12Target15:  			Sound_Play(555, 50, 0, 0, 50);  			break; -		case 44: +		case kItemPS12Target16:  			Sound_Play(555, 50, 0, 0, 50);  			break;  		default: @@ -168,62 +170,62 @@ bool SceneScriptPS12::ClickedOnItem(int itemId, bool a2) {  		}  		Item_Spin_In_World(itemId);  		Item_Flag_As_Non_Target(itemId); -		if (itemId == 29) { -			Item_Flag_As_Non_Target(29); +		if (itemId == kItemPS12Target1) { +			Item_Flag_As_Non_Target(kItemPS12Target1);  		} -		if (itemId == 30) { -			Item_Flag_As_Non_Target(30); +		if (itemId == kItemPS12Target2) { +			Item_Flag_As_Non_Target(kItemPS12Target2);  		} -		if (itemId == 31) { -			Item_Flag_As_Non_Target(31); +		if (itemId == kItemPS12Target3) { +			Item_Flag_As_Non_Target(kItemPS12Target3);  		} -		if (itemId == 32) { -			Item_Flag_As_Non_Target(32); +		if (itemId == kItemPS12Target4) { +			Item_Flag_As_Non_Target(kItemPS12Target4);  		} -		if (itemId == 33) { -			Item_Flag_As_Non_Target(33); +		if (itemId == kItemPS12Target5) { +			Item_Flag_As_Non_Target(kItemPS12Target5);  		} -		if (itemId == 34) { -			Item_Flag_As_Non_Target(34); -			Item_Flag_As_Non_Target(35); -			Item_Flag_As_Non_Target(36); +		if (itemId == kItemPS12Target6) { +			Item_Flag_As_Non_Target(kItemPS12Target6); +			Item_Flag_As_Non_Target(kItemPS12Target7); +			Item_Flag_As_Non_Target(kItemPS12Target8);  		} -		if (itemId == 35) { -			Item_Flag_As_Non_Target(34); -			Item_Flag_As_Non_Target(35); -			Item_Flag_As_Non_Target(36); +		if (itemId == kItemPS12Target7) { +			Item_Flag_As_Non_Target(kItemPS12Target6); +			Item_Flag_As_Non_Target(kItemPS12Target7); +			Item_Flag_As_Non_Target(kItemPS12Target8);  		} -		if (itemId == 36) { -			Item_Flag_As_Non_Target(34); -			Item_Flag_As_Non_Target(35); -			Item_Flag_As_Non_Target(36); +		if (itemId == kItemPS12Target8) { +			Item_Flag_As_Non_Target(kItemPS12Target6); +			Item_Flag_As_Non_Target(kItemPS12Target7); +			Item_Flag_As_Non_Target(kItemPS12Target8);  		} -		if (itemId == 37) { -			Item_Flag_As_Non_Target(37); +		if (itemId == kItemPS12Target9) { +			Item_Flag_As_Non_Target(kItemPS12Target9);  		} -		if (itemId == 38) { -			Item_Flag_As_Non_Target(38); +		if (itemId == kItemPS12Target10) { +			Item_Flag_As_Non_Target(kItemPS12Target10);  		} -		if (itemId == 39) { -			Item_Flag_As_Non_Target(39); +		if (itemId == kItemPS12Target11) { +			Item_Flag_As_Non_Target(kItemPS12Target11);  		} -		if (itemId == 40) { -			Item_Flag_As_Non_Target(40); +		if (itemId == kItemPS12Target12) { +			Item_Flag_As_Non_Target(kItemPS12Target12);  		} -		if (itemId == 41) { -			Item_Flag_As_Non_Target(41); +		if (itemId == kItemPS12Target13) { +			Item_Flag_As_Non_Target(kItemPS12Target13);  		} -		if (itemId == 42) { -			Item_Flag_As_Non_Target(42); +		if (itemId == kItemPS12Target14) { +			Item_Flag_As_Non_Target(kItemPS12Target14);  		} -		if (itemId == 43) { -			Item_Flag_As_Non_Target(43); +		if (itemId == kItemPS12Target15) { +			Item_Flag_As_Non_Target(kItemPS12Target15);  		} -		if (itemId == 44) { -			Item_Flag_As_Non_Target(44); +		if (itemId == kItemPS12Target16) { +			Item_Flag_As_Non_Target(kItemPS12Target16);  		} -		if (itemId == 45) { -			Item_Flag_As_Non_Target(45); +		if (itemId == kItemPS12Target17) { +			Item_Flag_As_Non_Target(kItemPS12Target17);  		}  		return true;  	} @@ -232,22 +234,22 @@ bool SceneScriptPS12::ClickedOnItem(int itemId, bool a2) {  bool SceneScriptPS12::ClickedOnExit(int exitId) {  	if (exitId == 0) { -		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 8, 12, 1, false)) { +		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 8, 12, true, false)) {  			Game_Flag_Set(kFlagPS12toPS11); -			sub_4028C4(); +			removeTargets();  			Set_Enter(kSetPS10_PS11_PS12_PS13, kScenePS11);  		}  		return true;  	}  	if (exitId == 1) { -		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 9, 12, 1, false)) { +		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 9, 12, true, false)) {  			Player_Loses_Control(); -			Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 10, 12, 0, false); +			Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 10, 12, false, false);  			Player_Gains_Control();  			Game_Flag_Set(kFlagPS12toPS13); -			sub_4028C4(); -			Global_Variable_Decrement(9, 20 - Global_Variable_Query(12)); -			Global_Variable_Set(12, 20); +			removeTargets(); +			Global_Variable_Decrement(kVariablePoliceMazeScore, kPoliceMazePS12TargetCount - Global_Variable_Query(kVariablePoliceMazePS12TargetCounter)); +			Global_Variable_Set(kVariablePoliceMazePS12TargetCounter, kPoliceMazePS12TargetCount);  			Set_Enter(kSetPS10_PS11_PS12_PS13, kScenePS13);  		}  		return true; @@ -267,7 +269,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, 1, false, 0); +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -546.0f, -9.06f, 570.0f, 0, true, false, 0);  		Game_Flag_Reset(kFlagPS11toPS12);  	}  	Police_Maze_Set_Pause_State(false); @@ -279,24 +281,24 @@ void SceneScriptPS12::PlayerWalkedOut() {  void SceneScriptPS12::DialogueQueueFlushed(int a1) {  } -void SceneScriptPS12::sub_4028C4() { -	Item_Remove_From_World(29); -	Item_Remove_From_World(30); -	Item_Remove_From_World(31); -	Item_Remove_From_World(32); -	Item_Remove_From_World(33); -	Item_Remove_From_World(34); -	Item_Remove_From_World(35); -	Item_Remove_From_World(36); -	Item_Remove_From_World(37); -	Item_Remove_From_World(38); -	Item_Remove_From_World(39); -	Item_Remove_From_World(40); -	Item_Remove_From_World(41); -	Item_Remove_From_World(42); -	Item_Remove_From_World(43); -	Item_Remove_From_World(44); -	Item_Remove_From_World(45); +void SceneScriptPS12::removeTargets() { +	Item_Remove_From_World(kItemPS12Target1); +	Item_Remove_From_World(kItemPS12Target2); +	Item_Remove_From_World(kItemPS12Target3); +	Item_Remove_From_World(kItemPS12Target4); +	Item_Remove_From_World(kItemPS12Target5); +	Item_Remove_From_World(kItemPS12Target6); +	Item_Remove_From_World(kItemPS12Target7); +	Item_Remove_From_World(kItemPS12Target8); +	Item_Remove_From_World(kItemPS12Target9); +	Item_Remove_From_World(kItemPS12Target10); +	Item_Remove_From_World(kItemPS12Target11); +	Item_Remove_From_World(kItemPS12Target12); +	Item_Remove_From_World(kItemPS12Target13); +	Item_Remove_From_World(kItemPS12Target14); +	Item_Remove_From_World(kItemPS12Target15); +	Item_Remove_From_World(kItemPS12Target16); +	Item_Remove_From_World(kItemPS12Target17);  }  } // End of namespace BladeRunner diff --git a/engines/bladerunner/script/scene/ps13.cpp b/engines/bladerunner/script/scene/ps13.cpp index fc6a9c1736..3a1d906480 100644 --- a/engines/bladerunner/script/scene/ps13.cpp +++ b/engines/bladerunner/script/scene/ps13.cpp @@ -24,10 +24,12 @@  namespace BladeRunner { +static int kPoliceMazePS13TargetCount = 20; +  void SceneScriptPS13::InitializeScene() {  	Police_Maze_Set_Pause_State(true);  	if (Game_Flag_Query(kFlagPS12toPS13)) { -		Scene_Loop_Start_Special(0, 0, 0); +		Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);  		Scene_Loop_Set_Default(1);  		Game_Flag_Reset(kFlagPS12toPS13);  		Setup_Scene_Information(World_Waypoint_Query_X(10), World_Waypoint_Query_Y(10), World_Waypoint_Query_Z(10), 200); @@ -36,13 +38,13 @@ void SceneScriptPS13::InitializeScene() {  		Setup_Scene_Information(World_Waypoint_Query_X(11), World_Waypoint_Query_Y(11), World_Waypoint_Query_Z(11), 840);  	}  	Scene_Exit_Add_2D_Exit(0, 0, 460, 639, 479, 2); -	Scene_Exit_Add_2D_Exit(1, 0, 0, 20, 479, 3); +	Scene_Exit_Add_2D_Exit(1, 0,   0,  20, 479, 3);  	Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);  	Ambient_Sounds_Add_Looping_Sound(387, 50, 1, 1); -	Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1); -	Ambient_Sounds_Add_Sound(1, 10, 50, 16, 25, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(389, 5, 50, 16, 25, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(390, 6, 50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Looping_Sound( 54, 50, 1, 1); +	Ambient_Sounds_Add_Sound(1,  10,  50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(389, 5,  50, 16, 25, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(390, 6,  50, 16, 25, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(443, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(444, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(445, 2, 100, 14, 16, -100, 100, -101, -101, 0, 0); @@ -91,37 +93,37 @@ void SceneScriptPS13::SceneLoaded() {  	Unclickable_Object("PARKMETR15");  	Unclickable_Object("PARKMETR16");  	if (!Query_System_Currently_Loading_Game()) { -		Item_Add_To_World(46, 443, 14, -372.0f, -9.0f, 1509.0f, 960, 72, 36, true, false, false, true); -		Item_Add_To_World(47, 443, 14, 291.61f, -0.66f, 1610.3f, 823, 72, 36, true, false, false, true); -		Item_Add_To_World(48, 447, 14, -25.0f, 102.0f, 1625.0f, 823, 72, 36, true, false, false, true); -		Item_Add_To_World(49, 449, 14, -45.51f, -8.8f, 1676.0f, 922, 72, 36, true, false, false, true); -		Item_Add_To_World(50, 447, 14, 291.61f, -0.66f, 1610.3f, 823, 72, 36, true, false, false, true); -		Item_Add_To_World(51, 443, 14, -24.0f, 102.0f, 1625.0f, 823, 72, 36, true, false, false, true); -		Item_Add_To_World(52, 449, 14, 180.0f, -72.7f, 1605.0f, 305, 72, 36, true, false, false, true); -		Item_Add_To_World(53, 443, 14, 127.79f, 14.56f, 1703.03f, 356, 72, 36, true, false, false, true); -		Item_Add_To_World(54, 443, 14, 136.37f, -6.84f, 1425.43f, 512, 72, 36, true, false, false, true); -		Item_Add_To_World(55, 441, 14, 77.83f, -79.8f, 1520.5f, 327, 72, 36, true, false, false, true); -		Item_Add_To_World(56, 441, 14, 77.83f, -7.8f, 1520.5f, 327, 72, 36, true, false, false, true); -		Item_Add_To_World(57, 443, 14, -88.0f, -8.8f, 1520.5f, 327, 72, 36, true, false, false, true); -		Item_Add_To_World(58, 447, 14, -45.51f, -8.8f, 1676.0f, 922, 72, 36, true, false, false, true); -		Item_Add_To_World(62, 445, 14, -300.0f, -79.75f, 1543.0f, 465, 72, 36, true, false, false, true); -		Item_Add_To_World(63, 449, 14, -325.0f, -7.75f, 1543.0f, 465, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target1,  443, kSetPS10_PS11_PS12_PS13, -372.0f,   -9.0f,  1509.0f, 960, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target2,  443, kSetPS10_PS11_PS12_PS13, 291.61f,  -0.66f,  1610.3f, 823, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target3,  447, kSetPS10_PS11_PS12_PS13,  -25.0f,  102.0f,  1625.0f, 823, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target4,  449, kSetPS10_PS11_PS12_PS13, -45.51f,   -8.8f,  1676.0f, 922, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target5,  447, kSetPS10_PS11_PS12_PS13, 291.61f,  -0.66f,  1610.3f, 823, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target6,  443, kSetPS10_PS11_PS12_PS13,  -24.0f,  102.0f,  1625.0f, 823, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target7,  449, kSetPS10_PS11_PS12_PS13,  180.0f,  -72.7f,  1605.0f, 305, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target8,  443, kSetPS10_PS11_PS12_PS13, 127.79f,  14.56f, 1703.03f, 356, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target9,  443, kSetPS10_PS11_PS12_PS13, 136.37f,  -6.84f, 1425.43f, 512, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target10, 441, kSetPS10_PS11_PS12_PS13,  77.83f,  -79.8f,  1520.5f, 327, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target11, 441, kSetPS10_PS11_PS12_PS13,  77.83f,   -7.8f,  1520.5f, 327, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target12, 443, kSetPS10_PS11_PS12_PS13,  -88.0f,   -8.8f,  1520.5f, 327, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target13, 447, kSetPS10_PS11_PS12_PS13, -45.51f,   -8.8f,  1676.0f, 922, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target14, 445, kSetPS10_PS11_PS12_PS13, -300.0f, -79.75f,  1543.0f, 465, 72, 36, true, false, false, true); +		Item_Add_To_World(kItemPS13Target15, 449, kSetPS10_PS11_PS12_PS13, -325.0f,  -7.75f,  1543.0f, 465, 72, 36, true, false, false, true);  	} -	Police_Maze_Target_Track_Add(46, -372.0f, -9.0f, 1509.0f, -345.0f, -9.0f, 1509.0f, 6, track_data_46, true); -	Police_Maze_Target_Track_Add(47, 291.61f, -0.66f, 1610.3f, 238.83f, 1.03f, 1557.03f, 10, track_data_47, true); -	Police_Maze_Target_Track_Add(48, -25.0f, 102.0f, 1625.0f, -25.0f, 138.0f, 1625.0f, 10, track_data_48, true); -	Police_Maze_Target_Track_Add(49, -45.51f, -8.8f, 1676.0f, 15.51f, -8.8f, 1679.0f, 10, track_data_49, false); -	Police_Maze_Target_Track_Add(50, 291.61f, -0.66f, 1610.3f, 238.83f, 1.03f, 1557.03f, 10, track_data_50, false); -	Police_Maze_Target_Track_Add(51, -24.0f, 102.0f, 1625.0f, -24.0f, 138.0f, 1625.0f, 10, track_data_51, false); -	Police_Maze_Target_Track_Add(52, 180.0f, -72.7f, 1605.0f, 180.0f, -0.7f, 1605.0f, 10, track_data_52, false); -	Police_Maze_Target_Track_Add(53, 127.79f, 14.56f, 1703.03f, -56.07f, 1.89f, 1589.04f, 6, track_data_53, false); -	Police_Maze_Target_Track_Add(54, 136.37f, -6.84f, 1425.43f, 117.55f, -6.84f, 1442.09f, 4, track_data_54, false); -	Police_Maze_Target_Track_Add(55, 77.83f, -79.8f, 1520.5f, 77.83f, -7.8f, 1520.5f, 15, track_data_55, false); -	Police_Maze_Target_Track_Add(56, 77.83f, -7.8f, 1520.5f, -88.0f, -8.8f, 1520.5f, 15, track_data_56, false); -	Police_Maze_Target_Track_Add(57, -88.0f, -8.8f, 1520.5f, -88.0f, -80.8f, 1520.5f, 15, track_data_57, false); -	Police_Maze_Target_Track_Add(58, -45.51f, -8.8f, 1676.0f, 15.51f, -8.8f, 1679.0f, 10, track_data_58, true); -	Police_Maze_Target_Track_Add(62, -300.0f, -79.75f, 1543.0f, -300.0f, -14.75f, 1543.0f, 15, track_data_62, false); -	Police_Maze_Target_Track_Add(63, -325.0f, -7.75f, 1543.0f, -300.0f, -7.75f, 1543.0f, 10, track_data_63, false); +	Police_Maze_Target_Track_Add(kItemPS13Target1,  -372.0f,   -9.0f,  1509.0f, -345.0f,   -9.0f,  1509.0f,  6, track_data_46,  true); +	Police_Maze_Target_Track_Add(kItemPS13Target2,  291.61f,  -0.66f,  1610.3f, 238.83f,   1.03f, 1557.03f, 10, track_data_47,  true); +	Police_Maze_Target_Track_Add(kItemPS13Target3,   -25.0f,  102.0f,  1625.0f,  -25.0f,  138.0f,  1625.0f, 10, track_data_48,  true); +	Police_Maze_Target_Track_Add(kItemPS13Target4,  -45.51f,   -8.8f,  1676.0f,  15.51f,   -8.8f,  1679.0f, 10, track_data_49, false); +	Police_Maze_Target_Track_Add(kItemPS13Target5,  291.61f,  -0.66f,  1610.3f, 238.83f,   1.03f, 1557.03f, 10, track_data_50, false); +	Police_Maze_Target_Track_Add(kItemPS13Target6,   -24.0f,  102.0f,  1625.0f,  -24.0f,  138.0f,  1625.0f, 10, track_data_51, false); +	Police_Maze_Target_Track_Add(kItemPS13Target7,   180.0f,  -72.7f,  1605.0f,  180.0f,   -0.7f,  1605.0f, 10, track_data_52, false); +	Police_Maze_Target_Track_Add(kItemPS13Target8,  127.79f,  14.56f, 1703.03f, -56.07f,   1.89f, 1589.04f,  6, track_data_53, false); +	Police_Maze_Target_Track_Add(kItemPS13Target9,  136.37f,  -6.84f, 1425.43f, 117.55f,  -6.84f, 1442.09f,  4, track_data_54, false); +	Police_Maze_Target_Track_Add(kItemPS13Target10,  77.83f,  -79.8f,  1520.5f,  77.83f,   -7.8f,  1520.5f, 15, track_data_55, false); +	Police_Maze_Target_Track_Add(kItemPS13Target11,  77.83f,   -7.8f,  1520.5f,  -88.0f,   -8.8f,  1520.5f, 15, track_data_56, false); +	Police_Maze_Target_Track_Add(kItemPS13Target12,  -88.0f,   -8.8f,  1520.5f,  -88.0f,  -80.8f,  1520.5f, 15, track_data_57, false); +	Police_Maze_Target_Track_Add(kItemPS13Target13, -45.51f,   -8.8f,  1676.0f,  15.51f,   -8.8f,  1679.0f, 10, track_data_58,  true); +	Police_Maze_Target_Track_Add(kItemPS13Target14, -300.0f, -79.75f,  1543.0f, -300.0f, -14.75f,  1543.0f, 15, track_data_62, false); +	Police_Maze_Target_Track_Add(kItemPS13Target15, -325.0f,  -7.75f,  1543.0f, -300.0f,  -7.75f,  1543.0f, 10, track_data_63, false);  }  bool SceneScriptPS13::MouseClick(int x, int y) { @@ -139,16 +141,16 @@ bool SceneScriptPS13::ClickedOnActor(int actorId) {  bool SceneScriptPS13::ClickedOnItem(int itemId, bool a2) {  	if (Player_Query_Combat_Mode()) {  		switch (itemId) { -		case 48: +		case kItemPS13Target3:  			Sound_Play(4, 50, 0, 0, 50);  			break; -		case 50: +		case kItemPS13Target5:  			Sound_Play(4, 50, 0, 0, 50);  			break; -		case 55: +		case kItemPS13Target10:  			Sound_Play(555, 50, 0, 0, 50);  			break; -		case 56: +		case kItemPS13Target11:  			Sound_Play(555, 50, 0, 0, 50);  			break;  		default: @@ -157,56 +159,56 @@ bool SceneScriptPS13::ClickedOnItem(int itemId, bool a2) {  		}  		Item_Spin_In_World(itemId);  		Item_Flag_As_Non_Target(itemId); -		if (itemId == 46) { -			Item_Flag_As_Non_Target(46); +		if (itemId == kItemPS13Target1) { +			Item_Flag_As_Non_Target(kItemPS13Target1);  		} -		if (itemId == 47) { -			Item_Flag_As_Non_Target(47); +		if (itemId == kItemPS13Target2) { +			Item_Flag_As_Non_Target(kItemPS13Target2);  		} -		if (itemId == 48) { -			Item_Flag_As_Non_Target(48); +		if (itemId == kItemPS13Target3) { +			Item_Flag_As_Non_Target(kItemPS13Target3);  		} -		if (itemId == 49) { -			Item_Flag_As_Non_Target(49); +		if (itemId == kItemPS13Target4) { +			Item_Flag_As_Non_Target(kItemPS13Target4);  		} -		if (itemId == 50) { -			Item_Flag_As_Non_Target(50); +		if (itemId == kItemPS13Target5) { +			Item_Flag_As_Non_Target(kItemPS13Target5);  		} -		if (itemId == 51) { -			Item_Flag_As_Non_Target(51); +		if (itemId == kItemPS13Target6) { +			Item_Flag_As_Non_Target(kItemPS13Target6);  		} -		if (itemId == 52) { -			Item_Flag_As_Non_Target(52); +		if (itemId == kItemPS13Target7) { +			Item_Flag_As_Non_Target(kItemPS13Target7);  		} -		if (itemId == 53) { -			Item_Flag_As_Non_Target(53); +		if (itemId == kItemPS13Target8) { +			Item_Flag_As_Non_Target(kItemPS13Target8);  		} -		if (itemId == 54) { -			Item_Flag_As_Non_Target(54); +		if (itemId == kItemPS13Target9) { +			Item_Flag_As_Non_Target(kItemPS13Target9);  		} -		if (itemId == 55) { -			Item_Flag_As_Non_Target(55); -			Item_Flag_As_Non_Target(56); -			Item_Flag_As_Non_Target(57); +		if (itemId == kItemPS13Target10) { +			Item_Flag_As_Non_Target(kItemPS13Target10); +			Item_Flag_As_Non_Target(kItemPS13Target11); +			Item_Flag_As_Non_Target(kItemPS13Target12);  		} -		if (itemId == 56) { -			Item_Flag_As_Non_Target(55); -			Item_Flag_As_Non_Target(56); -			Item_Flag_As_Non_Target(57); +		if (itemId == kItemPS13Target11) { +			Item_Flag_As_Non_Target(kItemPS13Target10); +			Item_Flag_As_Non_Target(kItemPS13Target11); +			Item_Flag_As_Non_Target(kItemPS13Target12);  		} -		if (itemId == 57) { -			Item_Flag_As_Non_Target(55); -			Item_Flag_As_Non_Target(56); -			Item_Flag_As_Non_Target(57); +		if (itemId == kItemPS13Target12) { +			Item_Flag_As_Non_Target(kItemPS13Target10); +			Item_Flag_As_Non_Target(kItemPS13Target11); +			Item_Flag_As_Non_Target(kItemPS13Target12);  		} -		if (itemId == 58) { -			Item_Flag_As_Non_Target(58); +		if (itemId == kItemPS13Target13) { +			Item_Flag_As_Non_Target(kItemPS13Target13);  		} -		if (itemId == 62) { -			Item_Flag_As_Non_Target(62); +		if (itemId == kItemPS13Target14) { +			Item_Flag_As_Non_Target(kItemPS13Target14);  		} -		if (itemId == 63) { -			Item_Flag_As_Non_Target(63); +		if (itemId == kItemPS13Target15) { +			Item_Flag_As_Non_Target(kItemPS13Target15);  		}  		return true;  	} @@ -218,7 +220,7 @@ bool SceneScriptPS13::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 10, 12, true, false)) {  			Game_Flag_Set(kFlagPS13toPS12); -			sub_40267C(); +			removeTargets();  			Set_Enter(kSetPS10_PS11_PS12_PS13, kScenePS12);  		}  		return true; @@ -227,16 +229,16 @@ bool SceneScriptPS13::ClickedOnExit(int exitId) {  		if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 11, 12, true, false)) {  			Game_Flag_Set(kFlagPS13toPS05);  			Player_Set_Combat_Mode(false); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1); -			sub_40267C(); -			Global_Variable_Decrement(9, 20 - Global_Variable_Query(13)); -			Set_Score(0, Global_Variable_Query(9)); -			Global_Variable_Reset(10); -			Global_Variable_Reset(11); -			Global_Variable_Reset(12); -			Global_Variable_Reset(13); -			Global_Variable_Reset(9); +			removeTargets(); +			Global_Variable_Decrement(kVariablePoliceMazeScore, kPoliceMazePS13TargetCount - Global_Variable_Query(kVariablePoliceMazePS13TargetCounter)); +			Set_Score(kActorMcCoy, Global_Variable_Query(kVariablePoliceMazeScore)); +			Global_Variable_Reset(kVariablePoliceMazePS10TargetCounter); +			Global_Variable_Reset(kVariablePoliceMazePS11TargetCounter); +			Global_Variable_Reset(kVariablePoliceMazePS12TargetCounter); +			Global_Variable_Reset(kVariablePoliceMazePS13TargetCounter); +			Global_Variable_Reset(kVariablePoliceMazeScore);  			Set_Enter(kSetPS05, kScenePS05);  		}  		return true; @@ -264,22 +266,22 @@ void SceneScriptPS13::PlayerWalkedOut() {  void SceneScriptPS13::DialogueQueueFlushed(int a1) {  } -void SceneScriptPS13::sub_40267C() { -	Item_Remove_From_World(46); -	Item_Remove_From_World(47); -	Item_Remove_From_World(48); -	Item_Remove_From_World(49); -	Item_Remove_From_World(50); -	Item_Remove_From_World(51); -	Item_Remove_From_World(52); -	Item_Remove_From_World(53); -	Item_Remove_From_World(54); -	Item_Remove_From_World(55); -	Item_Remove_From_World(56); -	Item_Remove_From_World(57); -	Item_Remove_From_World(58); -	Item_Remove_From_World(62); -	Item_Remove_From_World(63); +void SceneScriptPS13::removeTargets() { +	Item_Remove_From_World(kItemPS13Target1); +	Item_Remove_From_World(kItemPS13Target2); +	Item_Remove_From_World(kItemPS13Target3); +	Item_Remove_From_World(kItemPS13Target4); +	Item_Remove_From_World(kItemPS13Target5); +	Item_Remove_From_World(kItemPS13Target6); +	Item_Remove_From_World(kItemPS13Target7); +	Item_Remove_From_World(kItemPS13Target8); +	Item_Remove_From_World(kItemPS13Target9); +	Item_Remove_From_World(kItemPS13Target10); +	Item_Remove_From_World(kItemPS13Target11); +	Item_Remove_From_World(kItemPS13Target12); +	Item_Remove_From_World(kItemPS13Target13); +	Item_Remove_From_World(kItemPS13Target14); +	Item_Remove_From_World(kItemPS13Target15);  }  } // End of namespace BladeRunner diff --git a/engines/bladerunner/script/scene/rc01.cpp b/engines/bladerunner/script/scene/rc01.cpp index a347d3e38e..03df5b061a 100644 --- a/engines/bladerunner/script/scene/rc01.cpp +++ b/engines/bladerunner/script/scene/rc01.cpp @@ -97,7 +97,9 @@ void SceneScriptRC01::InitializeScene() {  	if (Game_Flag_Query(kFlagSpinnerAtRC01)) {  		Scene_Exit_Add_2D_Exit(kRC01ExitSpinner, 482, 226, 639, 280, 2);  	} -	if (Global_Variable_Query(kVariableChapter) > 1 && Game_Flag_Query(710)) { +	if (Global_Variable_Query(kVariableChapter) > 1 +	 && Game_Flag_Query(kFlagAR01Entered) +	) {  		Scene_Exit_Add_2D_Exit(kRC01ExitRC03, 0, 0, 10, 479, 3);  	}  	if (!Game_Flag_Query(kFlagRC01PoliceDone)) { @@ -125,9 +127,9 @@ void SceneScriptRC01::InitializeScene() {  	}  	Ambient_Sounds_Add_Looping_Sound(81, 60, 100, 1); // RCAMBR1.AUD -	Ambient_Sounds_Add_Sound(82, 5, 30, 30, 50, -100, 100, -101, -101, 0, 0); // RCCARBY1.AUD -	Ambient_Sounds_Add_Sound(83, 5, 30, 30, 55, -100, 100, -101, -101, 0, 0); // RCCARBY2.AUD -	Ambient_Sounds_Add_Sound(84, 5, 30, 30, 50, -100, 100, -101, -101, 0, 0); // RCCARBY3.AUD +	Ambient_Sounds_Add_Sound(82,  5, 30, 30, 50, -100, 100, -101, -101, 0, 0); // RCCARBY1.AUD +	Ambient_Sounds_Add_Sound(83,  5, 30, 30, 55, -100, 100, -101, -101, 0, 0); // RCCARBY2.AUD +	Ambient_Sounds_Add_Sound(84,  5, 30, 30, 50, -100, 100, -101, -101, 0, 0); // RCCARBY3.AUD  	Ambient_Sounds_Add_Sound(67, 10, 50, 30, 50, -100, 100, -101, -101, 0, 0); // SPIN2A.AUD  	Ambient_Sounds_Add_Sound(87, 20, 80, 20, 40, -100, 100, -101, -101, 0, 0); // SIREN2.AUD @@ -263,7 +265,7 @@ bool SceneScriptRC01::ClickedOn3DObject(const char *objectName, bool a2) {  	if (Object_Query_Click("HYDRANT02", objectName)) {  		if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "HYDRANT02", 60, true, false)) {  			if (Actor_Clue_Query(kActorMcCoy, kCluePaintTransfer)) { -				Actor_Says(kActorMcCoy, 6975, 3); +				Actor_Says(kActorMcCoy, 6975, kAnimationModeTalk);  			} else {  				Actor_Face_Object(kActorMcCoy, "HYDRANT02", true);  				Actor_Voice_Over(1880, kActorVoiceOver); @@ -347,7 +349,7 @@ bool SceneScriptRC01::ClickedOnActor(int actorId) {  				Actor_Says(kActorMcCoy, 4515, 13);  				Game_Flag_Set(KFlagMcCoyAndOfficerLearyTalking);  				Actor_Says(kActorOfficerLeary, 40, 13); -				if (!Game_Flag_Query(kFlagRC02Discovered)) { +				if (!Game_Flag_Query(kFlagRC02Entered)) {  					Actor_Says(kActorOfficerLeary, 50, 14);  					Actor_Says(kActorOfficerLeary, 60, 15);  					I_Sez("MG: It's all fun and games until someone loses a tiger cub."); @@ -425,7 +427,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {  		return true;  	}  	if (exitId == kRC01ExitSpinner) { -		if (Game_Flag_Query(486)) { +		if (Game_Flag_Query(kFlagDNARowAvailable)) {  			Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true);  		}  		I_Sez("MG: Leaving already?  The fun is just beginning!"); @@ -433,13 +435,15 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {  			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); -			if (Game_Flag_Query(486) && !Game_Flag_Query(660)) { +			if ( Game_Flag_Query(kFlagDNARowAvailable) +			 && !Game_Flag_Query(kFlagDNARowAvailableTalk) +			) {  				Actor_Voice_Over(4310, kActorVoiceOver);  				Actor_Voice_Over(4320, kActorVoiceOver);  				Actor_Voice_Over(4330, kActorVoiceOver);  				Actor_Voice_Over(4340, kActorVoiceOver);  				Actor_Voice_Over(4350, kActorVoiceOver); -				Game_Flag_Set(660); +				Game_Flag_Set(kFlagDNARowAvailableTalk);  			}  			Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);  			Player_Gains_Control(); @@ -641,7 +645,7 @@ void SceneScriptRC01::PlayerWalkedIn() {  		Player_Gains_Control();  		Game_Flag_Reset(kFlagRC02toRC01); -		if (Game_Flag_Query(kFlagRC02Discovered) && !Game_Flag_Query(kFlagRC02FirstLeave)) { +		if (Game_Flag_Query(kFlagRC02Entered) && !Game_Flag_Query(kFlagRC02FirstLeave)) {  			Actor_Voice_Over(1910, kActorVoiceOver);  			Actor_Voice_Over(1920, kActorVoiceOver);  			Actor_Voice_Over(1930, kActorVoiceOver); diff --git a/engines/bladerunner/script/scene/rc02.cpp b/engines/bladerunner/script/scene/rc02.cpp index c4bb775dce..a5ad0ab591 100644 --- a/engines/bladerunner/script/scene/rc02.cpp +++ b/engines/bladerunner/script/scene/rc02.cpp @@ -36,24 +36,24 @@ void SceneScriptRC02::InitializeScene() {  		Setup_Scene_Information(-20.2f, -1238.89f, 108100.73f, 539);  	}  	Scene_Exit_Add_2D_Exit(kRC02ExitRC01, 0, 460, 639, 479, 2); -	if (Game_Flag_Query(kFlagRC02LucyDeskAvailable)) { +	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_Add_Looping_Sound(71, 50, 1, 1); -	Ambient_Sounds_Add_Looping_Sound(75, 75, 1, 1); +	Ambient_Sounds_Add_Looping_Sound( 71, 50,   1, 1); +	Ambient_Sounds_Add_Looping_Sound( 75, 75,   1, 1);  	Ambient_Sounds_Add_Looping_Sound(105, 30, 100, 1);  	Ambient_Sounds_Add_Sound(73, 5, 20, 10, 10, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(74, 5, 20, 10, 10, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(76, 5, 40, 6, 6, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(77, 5, 40, 6, 6, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(78, 5, 40, 6, 6, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(79, 5, 40, 6, 6, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(76, 5, 40,  6,  6, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(77, 5, 40,  6,  6, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(78, 5, 40,  6,  6, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(79, 5, 40,  6,  6, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Speech_Sound(23, 250, 10, 60, 5, 5, 100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(23, 330, 10, 60, 5, 5, 100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(24, 380, 10, 60, 5, 5, 100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(24, 510, 10, 60, 5, 5, 100, 100, -101, -101, 1, 1); -	Ambient_Sounds_Add_Speech_Sound(38, 80, 10, 60, 5, 5, 100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Speech_Sound(38,  80, 10, 60, 5, 5, 100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(38, 160, 10, 60, 5, 5, 100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Sound(87, 20, 80, 10, 20, 100, 100, -101, -101, 0, 0);  } @@ -85,9 +85,9 @@ void SceneScriptRC02::SceneLoaded() {  		Unclickable_Object("SCRTY CA03");  	}  	if (!Game_Flag_Query(kFlagShellCasingsTaken)) { -		Item_Add_To_World(kItemShellCasingA, 966, 16, -52.88f, -1238.89f, 108467.74f, 256, 6, 6, false, true, false, true); -		Item_Add_To_World(kItemShellCasingB, 966, 16, -37.16f, -1238.89f, 108456.59f, 512, 6, 6, false, true, false, true); -		Item_Add_To_World(kItemShellCasingC, 966, 16, -62.86f, -1238.89f, 108437.52f, 625, 6, 6, false, true, false, true); +		Item_Add_To_World(kItemShellCasingA, 966, kSetRC02_RC51, -52.88f, -1238.89f, 108467.74f, 256, 6, 6, false, true, false, true); +		Item_Add_To_World(kItemShellCasingB, 966, kSetRC02_RC51, -37.16f, -1238.89f, 108456.59f, 512, 6, 6, false, true, false, true); +		Item_Add_To_World(kItemShellCasingC, 966, kSetRC02_RC51, -62.86f, -1238.89f, 108437.52f, 625, 6, 6, false, true, false, true);  	}  } @@ -138,7 +138,7 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {  void SceneScriptRC02::dialogueWithRunciter() {  	Dialogue_Menu_Clear_List(); -	DM_Add_To_List_Never_Repeat_Once_Selected(0, 5, 6, 2); // MOTIVES +	DM_Add_To_List_Never_Repeat_Once_Selected( 0, 5, 6, 2); // MOTIVES  	DM_Add_To_List_Never_Repeat_Once_Selected(10, 5, 4, 8); // LUCY  	if (Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewB1)  	 || Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewB2) @@ -185,7 +185,7 @@ void SceneScriptRC02::dialogueWithRunciter() {  		Actor_Says(kActorRunciter, 350, 13);  		Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);  		Scene_Exit_Add_2D_Exit(kRC02ExitRC51, 265, 58, 346, 154, 0); -		Game_Flag_Set(kFlagRC02LucyDeskAvailable); +		Game_Flag_Set(kFlagRC51Available);  		break;  	case 20: // REFERENCE @@ -214,105 +214,111 @@ void SceneScriptRC02::dialogueWithRunciter() {  }  bool SceneScriptRC02::ClickedOnActor(int actorId) { -	if (actorId != kActorRunciter) { -		return false; -	} - -	if (Global_Variable_Query(kVariableChapter) == 4) { -		Actor_Face_Actor(kActorMcCoy, kActorRunciter, true); -		if (Actor_Query_Goal_Number(kActorRunciter) == 599) { -			if (Random_Query(1, 2) == 1) { -				Actor_Says(kActorMcCoy, 8715, 17); -			} else { -				Actor_Says(kActorMcCoy, 8720, 17); -			} -		} else if (Game_Flag_Query(705) || Game_Flag_Query(706)) { -			Actor_Says(kActorMcCoy, 4805, 11); -			Actor_Face_Actor(kActorRunciter, kActorMcCoy, true); -			if (Game_Flag_Query(706)) { -				Actor_Says(kActorRunciter, 720, 15); -			} else { -				Actor_Says(kActorRunciter, 730, 14); -			} -			Actor_Face_Heading(kActorRunciter, 1007, false); -		} else { -			Actor_Says(kActorMcCoy, 4690, 11); -			Actor_Says(kActorMcCoy, 4695, 13); -			Actor_Face_Actor(kActorRunciter, kActorMcCoy, true); -			Actor_Says(kActorRunciter, 1610, 14); -			if (Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) { -				Actor_Says(kActorMcCoy, 4700, 12); -				Actor_Says(kActorMcCoy, 4705, 13); -				Actor_Says(kActorRunciter, 1620, 12); -				Actor_Says(kActorMcCoy, 4710, 15); -				Actor_Says(kActorMcCoy, 4715, 11); -				Delay(2000); -				Actor_Says(kActorMcCoy, 4720, 16); -				Actor_Says(kActorMcCoy, 4725, 17); -				Actor_Says(kActorRunciter, 430, 16); +	if (actorId == kActorRunciter) { +		if (Global_Variable_Query(kVariableChapter) == 4) { +			Actor_Face_Actor(kActorMcCoy, kActorRunciter, true); +			if (Actor_Query_Goal_Number(kActorRunciter) == kGoalRunciterDead) { +				if (Random_Query(1, 2) == 1) { +					Actor_Says(kActorMcCoy, 8715, 17); +				} else { +					Actor_Says(kActorMcCoy, 8720, 17); +				} +			} else if (Game_Flag_Query(705) +					|| Game_Flag_Query(706) +			) { +				Actor_Says(kActorMcCoy, 4805, 11); +				Actor_Face_Actor(kActorRunciter, kActorMcCoy, true); +				if (Game_Flag_Query(706)) { +					Actor_Says(kActorRunciter, 720, 15); +				} else { +					Actor_Says(kActorRunciter, 730, 14); +				}  				Actor_Face_Heading(kActorRunciter, 1007, false); +			} else { +				Actor_Says(kActorMcCoy, 4690, 11); +				Actor_Says(kActorMcCoy, 4695, 13); +				Actor_Face_Actor(kActorRunciter, kActorMcCoy, true); +				Actor_Says(kActorRunciter, 1610, 14); +				if (Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) { +					Actor_Says(kActorMcCoy, 4700, 12); +					Actor_Says(kActorMcCoy, 4705, 13); +					Actor_Says(kActorRunciter, 1620, 12); +					Actor_Says(kActorMcCoy, 4710, 15); +					Actor_Says(kActorMcCoy, 4715, 11); +					Delay(2000); +					Actor_Says(kActorMcCoy, 4720, 16); +					Actor_Says(kActorMcCoy, 4725, 17); +					Actor_Says(kActorRunciter, 430, 16); +					Actor_Face_Heading(kActorRunciter, 1007, false); +				} +				Game_Flag_Set(706);  			} -			Game_Flag_Set(706); +			return true;  		} -		return true; -	} -	AI_Movement_Track_Pause(kActorRunciter); -	Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorRunciter, 48, 1, false); -	Actor_Face_Actor(kActorMcCoy, kActorRunciter, true); -	if (!Game_Flag_Query(kFlagRunciterInterviewA)) { -		Actor_Says(kActorMcCoy, 4560, 13); -		Actor_Face_Actor(kActorRunciter, kActorMcCoy, true); -		Actor_Says(kActorRunciter, 40, 16); -		Actor_Says(kActorRunciter, 50, 15); -		Actor_Says(kActorMcCoy, 4565, 13); -		Actor_Says(kActorRunciter, 60, 14); -		Actor_Says(kActorMcCoy, 4570, 18); -		Actor_Says(kActorRunciter, 70, 13); -		Game_Flag_Set(kFlagRunciterInterviewA); -		Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewA, true, kActorRunciter); -		AI_Movement_Track_Unpause(kActorRunciter); -		return true; -	} -	if (Game_Flag_Query(kFlagRC02TalkedToRunciter)) { -		if (Player_Query_Agenda() == kPlayerAgendaPolite) { -			Game_Flag_Reset(kFlagNotUsed0); -			dialogueWithRunciter(); + +		AI_Movement_Track_Pause(kActorRunciter); +		Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorRunciter, 48, true, false); +		Actor_Face_Actor(kActorMcCoy, kActorRunciter, true); +		if (!Game_Flag_Query(kFlagRunciterInterviewA)) { +			Actor_Says(kActorMcCoy, 4560, 13); +			Actor_Face_Actor(kActorRunciter, kActorMcCoy, true); +			Actor_Says(kActorRunciter, 40, 16); +			Actor_Says(kActorRunciter, 50, 15); +			Actor_Says(kActorMcCoy, 4565, 13); +			Actor_Says(kActorRunciter, 60, 14); +			Actor_Says(kActorMcCoy, 4570, 18); +			Actor_Says(kActorRunciter, 70, 13); +			Game_Flag_Set(kFlagRunciterInterviewA); +			Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewA, true, kActorRunciter);  			AI_Movement_Track_Unpause(kActorRunciter);  			return true;  		} -		Actor_Says(kActorMcCoy, 4610, 19); -		Actor_Face_Actor(kActorRunciter, kActorMcCoy, true); -		Actor_Says(kActorRunciter, 150, 15); -		Actor_Says(kActorMcCoy, 4615, 13); -		Actor_Says(kActorRunciter, 160, 14); -		Actor_Says(kActorRunciter, 170, 15); -		Actor_Says(kActorRunciter, 180, 13); +		if (Game_Flag_Query(kFlagRC02TalkedToRunciter)) { +			if (Player_Query_Agenda() == kPlayerAgendaPolite) { +				Game_Flag_Reset(kFlagNotUsed0); +				dialogueWithRunciter(); +				AI_Movement_Track_Unpause(kActorRunciter); +				return true; +			} -		if (Player_Query_Agenda() == kPlayerAgendaSurly) { -			Actor_Says(kActorMcCoy, 4620, 19); -			Actor_Says(kActorRunciter, 190, 14); -			Actor_Says(kActorMcCoy, 4625, 13); -			Actor_Says(kActorRunciter, 210, 13); -			Actor_Says(kActorMcCoy, 4630, 18); -			Actor_Says(kActorRunciter, 220, 14); -			Actor_Says(kActorRunciter, 230, 13); -			Actor_Says(kActorMcCoy, 4635, 19); -			Actor_Says(kActorRunciter, 240, 16); -			Actor_Says(kActorMcCoy, 4640, 17); +			Actor_Says(kActorMcCoy, 4610, 19); +			Actor_Face_Actor(kActorRunciter, kActorMcCoy, true); +			Actor_Says(kActorRunciter, 150, 15); +			Actor_Says(kActorMcCoy, 4615, 13); +			Actor_Says(kActorRunciter, 160, 14); +			Actor_Says(kActorRunciter, 170, 15); +			Actor_Says(kActorRunciter, 180, 13); + +			if (Player_Query_Agenda() == kPlayerAgendaSurly) { +				Actor_Says(kActorMcCoy, 4620, 19); +				Actor_Says(kActorRunciter, 190, 14); +				Actor_Says(kActorMcCoy, 4625, 13); +				Actor_Says(kActorRunciter, 210, 13); +				Actor_Says(kActorMcCoy, 4630, 18); +				Actor_Says(kActorRunciter, 220, 14); +				Actor_Says(kActorRunciter, 230, 13); +				Actor_Says(kActorMcCoy, 4635, 19); +				Actor_Says(kActorRunciter, 240, 16); +				Actor_Says(kActorMcCoy, 4640, 17); +			} +			Game_Flag_Reset(kFlagRC02TalkedToRunciter); +			AI_Movement_Track_Unpause(kActorRunciter); +			return true;  		} -		Game_Flag_Reset(kFlagRC02TalkedToRunciter); +		dialogueWithRunciter();  		AI_Movement_Track_Unpause(kActorRunciter);  		return true;  	} -	dialogueWithRunciter(); -	AI_Movement_Track_Unpause(kActorRunciter); -	return true; +	return false;  }  bool SceneScriptRC02::ClickedOnItem(int itemId, bool a2) { -	if (itemId == kItemShellCasingA || itemId == kItemShellCasingB || itemId == kItemShellCasingC) { -		if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemShellCasingA, 24, 1, false)) { +	if (itemId == kItemShellCasingA +	 || itemId == kItemShellCasingB +	 || itemId == kItemShellCasingC +	) { +		if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemShellCasingA, 24, true, false)) {  			Actor_Face_Item(kActorMcCoy, kItemShellCasingA, true);  			Actor_Clue_Acquire(kActorMcCoy, kClueShellCasings, true, -1);  			Game_Flag_Set(kFlagShellCasingsTaken); @@ -331,11 +337,11 @@ 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)) {  			Game_Flag_Set(kFlagRC02toRC01); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_Looping_Sound(71, true);  			Ambient_Sounds_Remove_Looping_Sound(75, true);  			Ambient_Sounds_Adjust_Looping_Sound(85, 100, -101, 1); -			Actor_Set_Goal_Number(kActorRunciter, 0); +			Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterDefault);  			Set_Enter(kSetRC01, kSceneRC01);  		}  		return true; @@ -367,18 +373,22 @@ void SceneScriptRC02::PlayerWalkedIn() {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -72.2f, -1238.89f, 108496.73f, 0, false, false, 0);  		Player_Gains_Control();  		Game_Flag_Reset(kFlagRC01toRC02); -		if (!Game_Flag_Query(kFlagRC02Discovered)) { +		if (!Game_Flag_Query(kFlagRC02Entered)) {  			Actor_Voice_Over(1970, kActorVoiceOver);  			Actor_Voice_Over(1980, kActorVoiceOver);  			Actor_Voice_Over(1990, kActorVoiceOver);  			Actor_Clue_Acquire(kActorMcCoy, kClueLimpingFootprints, true, -1);  			Actor_Clue_Acquire(kActorMcCoy, kClueGracefulFootprints, true, -1); -			Game_Flag_Set(kFlagRC02Discovered); +			Game_Flag_Set(kFlagRC02Entered);  		} -		if (Actor_Query_Which_Set_In(kActorRunciter) == kSetRC02_RC51 && Actor_Query_Goal_Number(kActorRunciter) < 300) { -			Actor_Set_Goal_Number(kActorRunciter, 1); +		if (Actor_Query_Which_Set_In(kActorRunciter) == kSetRC02_RC51 +		 && Actor_Query_Goal_Number(kActorRunciter) < kGoalRunciterAtShop +		) { +			Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterWalkAround);  		} -		if (Actor_Query_Goal_Number(kActorRunciter) == 300 && !Game_Flag_Query(704)) { +		if ( Actor_Query_Goal_Number(kActorRunciter) == kGoalRunciterAtShop +		 && !Game_Flag_Query(704) +		) {  			Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);  			Actor_Says(kActorRunciter, 370, 12);  			Actor_Says(kActorRunciter, 380, 14); @@ -393,7 +403,7 @@ void SceneScriptRC02::PlayerWalkedIn() {  		}  	} else {  		Player_Loses_Control(); -		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -20.2f, -1238.89f, 108152.73f, 0, 0, false, 0); +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -20.2f, -1238.89f, 108152.73f, 0, false, false, 0);  		Player_Gains_Control();  	}  } diff --git a/engines/bladerunner/script/scene/rc03.cpp b/engines/bladerunner/script/scene/rc03.cpp index 969d8daf12..8668be8045 100644 --- a/engines/bladerunner/script/scene/rc03.cpp +++ b/engines/bladerunner/script/scene/rc03.cpp @@ -42,42 +42,45 @@ void SceneScriptRC03::InitializeScene() {  	} else {  		Setup_Scene_Information(0.0f, 0.0f, 0.0f, 0);  	} +  	Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1); -	Scene_Exit_Add_2D_Exit(1, 0, 0, 30, 479, 3); +	Scene_Exit_Add_2D_Exit(1,   0, 0,  30, 479, 3);  	if (Game_Flag_Query(kFlagRC03UnlockedToUG01)) {  		Scene_Exit_Add_2D_Exit(2, 524, 350, 573, 359, 2);  	} -	Scene_Exit_Add_2D_Exit(3, 85, 255, 112, 315, 0); +	Scene_Exit_Add_2D_Exit(3,  85, 255, 112, 315, 0);  	Scene_Exit_Add_2D_Exit(4, 428, 260, 453, 324, 0); +  	Ambient_Sounds_Add_Looping_Sound(54, 50, 0, 1);  	Ambient_Sounds_Add_Sound(82, 5, 30, 40, 70, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(83, 5, 30, 40, 75, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(84, 5, 30, 40, 70, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Speech_Sound(60, 0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); +	Ambient_Sounds_Add_Speech_Sound(60,  0, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);  	Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1); -	Ambient_Sounds_Add_Sound(68, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(69, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(375, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(376, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(377, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(181, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(182, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(183, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(184, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(185, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(186, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(188, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(189, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(190, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(191, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(192, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(193, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(194, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(68,  60, 180, 16,  25,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(69,  60, 180, 16,  25,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(375, 60, 180, 50, 100,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(376, 50, 180, 50, 100,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(377, 50, 180, 50, 100,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(181,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(182,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(183,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(184,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(185,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(186,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(188,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(189,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(190,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(191,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(192,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(193,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(194,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(195,  5,  70, 12,  12, -100, 100, -101, -101, 0, 0); +  	if (Game_Flag_Query(kFlagHC04toRC03) -	 && Actor_Query_Goal_Number(kActorIzo) != 102 +	 && Actor_Query_Goal_Number(kActorIzo) != kGoalIzoWaitingAtRC03  	) {  		Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);  	} @@ -238,9 +241,9 @@ void SceneScriptRC03::sub_402834() {  }  void SceneScriptRC03::PlayerWalkedIn() { -	if (Actor_Query_Goal_Number(kActorIzo) == 102) { +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoWaitingAtRC03) {  		Scene_Exits_Disable(); -		if (Game_Flag_Query(kFlagUG01toRC03) ) { +		if (Game_Flag_Query(kFlagUG01toRC03)) {  			Player_Set_Combat_Mode(false);  			Player_Loses_Control();  			Actor_Set_At_XYZ(kActorMcCoy, 147.51f, -4.0f, 166.48f, 500); @@ -253,23 +256,24 @@ void SceneScriptRC03::PlayerWalkedIn() {  			Actor_Says_With_Pause(kActorIzo, 640, 0, -1);  			Actor_Says_With_Pause(kActorIzo, 650, 0, -1);  			if (Game_Flag_Query(kFlagIzoIsReplicant) ) { -				Actor_Set_Goal_Number(kActorSteele, 100); +				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);  			}  			Actor_Change_Animation_Mode(kActorMcCoy, 20);  			Loop_Actor_Walk_To_XYZ(kActorIzo, 180.0f, -4.0f, 184.0f, 0, false, false, 0);  			Actor_Change_Animation_Mode(kActorIzo, 6);  			if (!Game_Flag_Query(kFlagIzoIsReplicant)) { -				Actor_Set_Goal_Number(kActorSteele, 100); +				Actor_Set_Goal_Number(kActorSteele, kGoalSteeleApprehendIzo);  			}  			Player_Gains_Control();  		} else {  			Actor_Put_In_Set(kActorIzo, kSetRC03);  			Actor_Set_At_XYZ(kActorIzo, -226.0f, 1.72f, 86.0f, 0);  			Actor_Set_Targetable(kActorIzo, true); -			Actor_Set_Goal_Number(kActorIzo, 110); +			Actor_Set_Goal_Number(kActorIzo, kGoalIzoRC03Walk);  		}  	} -	if (Actor_Query_Goal_Number(kActorIzo) == 103) { + +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoEscape) {  		Player_Loses_Control();  		Actor_Set_Goal_Number(kActorSteele, 200);  		Actor_Put_In_Set(kActorSteele, kSetRC03); @@ -289,6 +293,7 @@ void SceneScriptRC03::PlayerWalkedIn() {  	Game_Flag_Reset(kFlagAR02toRC03);  	Game_Flag_Reset(kFlagHC04toRC03);  	Game_Flag_Reset(kFlagRC04toRC03); +  	if (Global_Variable_Query(kVariableChapter) == 1  	 || Global_Variable_Query(kVariableChapter) == 2  	) { @@ -297,8 +302,8 @@ void SceneScriptRC03::PlayerWalkedIn() {  }  void SceneScriptRC03::PlayerWalkedOut() { -	if (Actor_Query_Goal_Number(kActorIzo) == 199) { -		Actor_Set_Goal_Number(kActorIzo, 198); +	if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoDie) { +		Actor_Set_Goal_Number(kActorIzo, kGoalIzoDieHidden);  	}  	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1); diff --git a/engines/bladerunner/script/scene/tb02.cpp b/engines/bladerunner/script/scene/tb02.cpp index 2bb548c51d..ac6f613d59 100644 --- a/engines/bladerunner/script/scene/tb02.cpp +++ b/engines/bladerunner/script/scene/tb02.cpp @@ -164,7 +164,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagTB02toTB03);  			Game_Flag_Reset(kFlagTB02ElevatorToTB05); @@ -175,7 +175,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			if (Global_Variable_Query(kVariableChapter) < 4) {  				Game_Flag_Set(kFlagTB05Entered); @@ -375,7 +375,7 @@ void SceneScriptTB02::PlayerWalkedIn() {  }  void SceneScriptTB02::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/tb03.cpp b/engines/bladerunner/script/scene/tb03.cpp index babef94e1e..8a46c8c3c4 100644 --- a/engines/bladerunner/script/scene/tb03.cpp +++ b/engines/bladerunner/script/scene/tb03.cpp @@ -105,7 +105,7 @@ bool SceneScriptTB03::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -260.0f, 0.15f, 2014.0f, 0, 1, false, 0)) {  			Actor_Set_Goal_Number(kActorTyrellGuard, 304); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(447);  			Set_Enter(kSetUG17, kSceneUG17); @@ -114,7 +114,7 @@ bool SceneScriptTB03::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -152.0f, 0.0f, 1774.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagTB03toTB02);  			Set_Enter(kSetTB02_TB03, kSceneTB02); diff --git a/engines/bladerunner/script/scene/tb05.cpp b/engines/bladerunner/script/scene/tb05.cpp index 3b272991c1..ab16bdc317 100644 --- a/engines/bladerunner/script/scene/tb05.cpp +++ b/engines/bladerunner/script/scene/tb05.cpp @@ -33,18 +33,18 @@ void SceneScriptTB05::InitializeScene() {  		Setup_Scene_Information(14.0f, 151.53f, -77.0f, 6);  	}  	Scene_Exit_Add_2D_Exit(0, 62, 193, 206, 419, 0); -	Scene_Exit_Add_2D_Exit(1, 0, 455, 639, 479, 2); +	Scene_Exit_Add_2D_Exit(1,  0, 455, 639, 479, 2);  	Ambient_Sounds_Add_Looping_Sound(236, 100, 0, 1);  	Ambient_Sounds_Add_Looping_Sound(237, 100, 0, 1);  	Ambient_Sounds_Add_Sound(217, 5, 30, 25, 33, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(218, 5, 30, 25, 33, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(219, 5, 30, 25, 33, -100, 100, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(220, 5, 30, 25, 33, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(146, 2, 30, 20, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(147, 2, 30, 20, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(148, 2, 30, 20, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(149, 2, 30, 20, 25, 0, 0, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(151, 2, 30, 20, 25, 0, 0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(146, 2, 30, 20, 25,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(147, 2, 30, 20, 25,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(148, 2, 30, 20, 25,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(149, 2, 30, 20, 25,    0,   0, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(151, 2, 30, 20, 25,    0,   0, -101, -101, 0, 0);  	Scene_Loop_Set_Default(0);  } @@ -52,7 +52,7 @@ void SceneScriptTB05::SceneLoaded() {  	Clickable_Object("MONITOR05");  	Unclickable_Object("SMUDGE_GLASS01");  	if (!Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring)) { -		Item_Add_To_World(kItemDragonflyEarring, 940, 72, 76.16f, 147.36f, -235.15f, 0, 6, 6, false, true, false, true); +		Item_Add_To_World(kItemDragonflyEarring, 940, kSetTB05, 76.16f, 147.36f, -235.15f, 0, 6, 6, false, true, false, true);  	}  	if (!Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet1)  	 && !Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet2) @@ -60,7 +60,7 @@ void SceneScriptTB05::SceneLoaded() {  	  || Game_Flag_Query(kFlagLucyIsReplicant)  	 )  	) { -		Item_Add_To_World(kItemTyrellSalesPamphlet, 972, 72, 129.01f, 147.12f, -162.98f, 0, 8, 8, false, true, false, true); +		Item_Add_To_World(kItemTyrellSalesPamphlet, 972, kSetTB05, 129.01f, 147.12f, -162.98f, 0, 8, 8, false, true, false, true);  	}  } @@ -212,7 +212,7 @@ void SceneScriptTB05::PlayerWalkedIn() {  }  void SceneScriptTB05::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/tb06.cpp b/engines/bladerunner/script/scene/tb06.cpp index 1c71196af4..aa20c591dd 100644 --- a/engines/bladerunner/script/scene/tb06.cpp +++ b/engines/bladerunner/script/scene/tb06.cpp @@ -50,17 +50,17 @@ void SceneScriptTB06::SceneLoaded() {  	if (!Game_Flag_Query(kFlagTB06DogCollarTaken)  	 &&  Actor_Query_Goal_Number(kActorPhotographer) != 199  	) { -		Item_Add_To_World(kItemDogCollar, 942, 73, 36.54f, 149.48f, -565.67f, 0, 6, 6, false, true, false, true); +		Item_Add_To_World(kItemDogCollar, 942, kSetTB06, 36.54f, 149.48f, -565.67f, 0, 6, 6, false, true, false, true);  	}  	if (!Game_Flag_Query(kFlagTB06KitchenBoxTaken)) { -		Item_Add_To_World(kItemKitchenBox, 955, 73, 18.0f, 149.65f, -599.0f, 0, 6, 6, false, true, false, true); +		Item_Add_To_World(kItemKitchenBox, 955, kSetTB06, 18.0f, 149.65f, -599.0f, 0, 6, 6, false, true, false, true);  	}  	if (Actor_Query_Goal_Number(kActorPhotographer) != 199) { -		Item_Add_To_World(kItemDeadDogA, 978, 73, -46.82f, 149.6f, -666.88f, 0, 12, 12, false, true, false, true); -		Item_Add_To_World(kItemDeadDogB, 979, 73, -30.27f, 149.6f, -610.7f, 0, 15, 45, false, true, false, true); -		Item_Add_To_World(kItemDeadDogC, 980, 73, 9.87f, 149.6f, -683.5f, 0, 12, 12, false, true, false, true); +		Item_Add_To_World(kItemDeadDogA, 978, kSetTB06, -46.82f, 149.6f, -666.88f, 0, 12, 12, false, true, false, true); +		Item_Add_To_World(kItemDeadDogB, 979, kSetTB06, -30.27f, 149.6f, -610.7f, 0, 15, 45, false, true, false, true); +		Item_Add_To_World(kItemDeadDogC, 980, kSetTB06, 9.87f, 149.6f, -683.5f, 0, 12, 12, false, true, false, true);  	}  } diff --git a/engines/bladerunner/script/scene/tb07.cpp b/engines/bladerunner/script/scene/tb07.cpp index ee8e8fc2bb..145aa45c77 100644 --- a/engines/bladerunner/script/scene/tb07.cpp +++ b/engines/bladerunner/script/scene/tb07.cpp @@ -79,7 +79,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			if (Global_Variable_Query(kVariableChapter) == 4) {  				Game_Flag_Set(kFlagTB07toTB02); diff --git a/engines/bladerunner/script/scene/ug01.cpp b/engines/bladerunner/script/scene/ug01.cpp index 71227df96e..98e79a5c2e 100644 --- a/engines/bladerunner/script/scene/ug01.cpp +++ b/engines/bladerunner/script/scene/ug01.cpp @@ -34,30 +34,32 @@ void SceneScriptUG01::InitializeScene() {  		Setup_Scene_Information(-126.0f, -50.13f, -286.0f, 0);  	}  	Scene_Exit_Add_2D_Exit(0, 280, 204, 330, 265, 0); -	Scene_Exit_Add_2D_Exit(1, 144, 0, 210, 104, 0); -	Scene_Exit_Add_2D_Exit(2, 0, 173, 139, 402, 3); +	Scene_Exit_Add_2D_Exit(1, 144,   0, 210, 104, 0); +	Scene_Exit_Add_2D_Exit(2,   0, 173, 139, 402, 3); +  	Ambient_Sounds_Add_Looping_Sound(331, 28, 0, 1);  	Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);  	Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1); -	Ambient_Sounds_Add_Sound(291, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(293, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(402, 2, 120, 10, 11, 20, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(370, 2, 120, 10, 11, 20, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(397, 2, 120, 10, 11, 20, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(396, 2, 120, 10, 11, 20, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(294, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(295, 2, 20, 20, 25, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16, 0, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(391, 2, 190, 12, 16, 0, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16, 0, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, 0, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16, 0, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, 0, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, 0, 100, 0, 100, 0, 0); -	Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, 0, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, 0, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, 0, 100, -101, -101, 0, 0); -	if (Game_Flag_Query(324)) { +	Ambient_Sounds_Add_Sound(291, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(293, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(402, 2, 120, 10, 11,   20, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(370, 2, 120, 10, 11,   20, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(397, 2, 120, 10, 11,   20, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(396, 2, 120, 10, 11,   20, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(294, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(295, 2,  20, 20, 25, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(234, 2, 190, 12, 16,    0, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(391, 2, 190, 12, 16,    0, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16,    0, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16,    0, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(227, 2, 190, 12, 16,    0, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16,    0, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16,    0, 100,    0,  100, 0, 0); +	Ambient_Sounds_Add_Sound(303, 5,  50, 17, 37,    0, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(304, 5,  50, 17, 37,    0, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(305, 5,  50, 17, 37,    0, 100, -101, -101, 0, 0); + +	if (Game_Flag_Query(kFlagUG01SteamOff)) {  		Scene_Loop_Set_Default(3);  	} else {  		Scene_Loop_Set_Default(0); @@ -77,11 +79,13 @@ 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, 1, false, 0) && !Game_Flag_Query(324)) { +		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -9.0f, -50.13f, -148.0f, 0, 1, false, 0) +		 && !Game_Flag_Query(kFlagUG01SteamOff) +		) {  			Actor_Says(kActorMcCoy, 8525, 13);  			Scene_Loop_Set_Default(3);  			Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true); -			Game_Flag_Set(324); +			Game_Flag_Set(kFlagUG01SteamOff);  		} else {  			Actor_Says(kActorMcCoy, 8525, 13);  		} @@ -105,6 +109,7 @@ bool SceneScriptUG01::ClickedOnExit(int exitId) {  		}  		return true;  	} +  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -70.0f, -50.13f, -500.0f, 0, true, false, 0)) {  			Actor_Face_Heading(kActorMcCoy, 768, false); @@ -116,6 +121,7 @@ bool SceneScriptUG01::ClickedOnExit(int exitId) {  		}  		return true;  	} +  	if (exitId == 2) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -126.0f, -50.13f, -286.0f, 0, true, false, 0)) {  			Game_Flag_Set(kFlagUG01toUG02); @@ -132,11 +138,11 @@ bool SceneScriptUG01::ClickedOn2DRegion(int region) {  void SceneScriptUG01::SceneFrameAdvanced(int frame) {  	if (frame >= 61 && frame <= 120) { -		float v1 = (120 - frame) / 29500.0f; -		Set_Fog_Density("BoxFog01", v1); -		Set_Fog_Density("BoxFog02", v1); -		Set_Fog_Density("BoxFog03", v1); -		Set_Fog_Density("BoxFog04", v1); +		float density = (120 - frame) / 29500.0f; // why is this so big? +		Set_Fog_Density("BoxFog01", density); +		Set_Fog_Density("BoxFog02", density); +		Set_Fog_Density("BoxFog03", density); +		Set_Fog_Density("BoxFog04", density);  	} else if (frame > 120) {  		Set_Fog_Density("BoxFog01", 0.0f);  		Set_Fog_Density("BoxFog02", 0.0f); @@ -154,12 +160,14 @@ void SceneScriptUG01::PlayerWalkedIn() {  		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -55.0f, -50.13f, -288.0f, 12, 0, false, 0);  		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, 0, false, 0);  		Game_Flag_Reset(kFlagRC03toUG01);  	} +  	if (Actor_Query_Goal_Number(kActorLucy) == 310) {  		Music_Play(21, 35, 0, 3, -1, 0, 0);  		Actor_Set_Goal_Number(kActorLucy, 311); @@ -168,7 +176,7 @@ void SceneScriptUG01::PlayerWalkedIn() {  }  void SceneScriptUG01::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/ug02.cpp b/engines/bladerunner/script/scene/ug02.cpp index b196e7c997..ccea89a41e 100644 --- a/engines/bladerunner/script/scene/ug02.cpp +++ b/engines/bladerunner/script/scene/ug02.cpp @@ -31,7 +31,7 @@ void SceneScriptUG02::InitializeScene() {  		Setup_Scene_Information(-95.0f, 74.78f, -503.0f, 556);  	}  	Scene_Exit_Add_2D_Exit(0, 529, 130, 607, 277, 0); -	Scene_Exit_Add_2D_Exit(1, 305, 36, 335, 192, 0); +	Scene_Exit_Add_2D_Exit(1, 305,  36, 335, 192, 0);  	Ambient_Sounds_Add_Looping_Sound(332, 43, 0, 1);  	Ambient_Sounds_Add_Looping_Sound(333, 43, 0, 1);  	Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, 100, 100, -101, -101, 0, 0); @@ -44,13 +44,13 @@ void SceneScriptUG02::InitializeScene() {  	Ambient_Sounds_Add_Sound(134, 2, 50, 17, 37, -50, -20, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(135, 2, 50, 17, 37, -50, -20, -101, -101, 0, 0);  	Ambient_Sounds_Add_Sound(136, 2, 50, 17, 37, -50, -20, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(47, 2, 50, 27, 27, 10, 30, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(48, 2, 50, 27, 27, 10, 30, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(49, 2, 50, 27, 27, 10, 30, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(50, 2, 50, 27, 27, 10, 30, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(51, 2, 50, 27, 27, 10, 30, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(52, 2, 50, 27, 27, 10, 30, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(53, 2, 50, 27, 27, 10, 30, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 47, 2, 50, 27, 27,  10,  30, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 48, 2, 50, 27, 27,  10,  30, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 49, 2, 50, 27, 27,  10,  30, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 50, 2, 50, 27, 27,  10,  30, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 51, 2, 50, 27, 27,  10,  30, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 52, 2, 50, 27, 27,  10,  30, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 53, 2, 50, 27, 27,  10,  30, -101, -101, 0, 0);  }  void SceneScriptUG02::SceneLoaded() { @@ -67,62 +67,80 @@ void SceneScriptUG02::SceneLoaded() {  	Clickable_Object("CRATE_3");  	Footstep_Sounds_Set(0, 0);  	Footstep_Sounds_Set(8, 2); -	if (!Game_Flag_Query(656) && Game_Flag_Query(kFlagIzoIsReplicant)) { -		Item_Add_To_World(88, 963, 75, -300.37f, 120.16f, -81.31f, 0, 8, 8, false, true, false, true); + +	if (!Game_Flag_Query(kFlagRagiationGooglesTaken) +	  && Game_Flag_Query(kFlagIzoIsReplicant) +	) { +		Item_Add_To_World(kItemRadiationGoogles, 963, kSetUG02, -300.37f, 120.16f, -81.31f, 0, 8, 8, false, true, false, true);  	}  }  bool SceneScriptUG02::MouseClick(int x, int y) { -	if (Game_Flag_Query(499)) { +	if (Game_Flag_Query(kFlagUG02Interactive)) {  		return false;  	} -	if (Region_Check(0, 0, 245, 285) || Region_Check(0, 0, 350, 257)) { + +	if (Region_Check(0, 0, 245, 285) +	 || Region_Check(0, 0, 350, 257) +	) {  		return true;  	} -	if (Region_Check(81, 224, 639, 479) && !Game_Flag_Query(498)) { -		Game_Flag_Set(499); -		sub_402354(); -		Game_Flag_Reset(499); + +	if ( Region_Check(81, 224, 639, 479) +	 && !Game_Flag_Query(kFlagUG02FromUG01) +	) { +		Game_Flag_Set(kFlagUG02Interactive); +		walkToCenter(); +		Game_Flag_Reset(kFlagUG02Interactive);  		return true;  	} +  	return false;  }  bool SceneScriptUG02::ClickedOn3DObject(const char *objectName, bool a2) { -	if (Object_Query_Click("GUN_1", objectName) || Object_Query_Click("GUN_2", objectName) || Object_Query_Click("CRATE_3", objectName)) { +	if (Object_Query_Click("GUN_1", objectName) +	 || Object_Query_Click("GUN_2", objectName) +	 || Object_Query_Click("CRATE_3", objectName) +	) {  		Actor_Face_Object(kActorMcCoy, "GUN_1", true); -		if (!Game_Flag_Query(449) && Global_Variable_Query(kVariableChapter) < 4) { +		if (!Game_Flag_Query(kFlagUG02WeaponsChecked) +		 &&  Global_Variable_Query(kVariableChapter) < 4 +		) {  			Actor_Voice_Over(2430, kActorVoiceOver);  			Actor_Voice_Over(2440, kActorVoiceOver);  			Actor_Voice_Over(2450, kActorVoiceOver);  			Actor_Voice_Over(2460, kActorVoiceOver); -			Game_Flag_Set(449); +			Game_Flag_Set(kFlagUG02WeaponsChecked);  			Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsCache, true, -1);  			return true;  		} -		if (Global_Variable_Query(kVariableChapter) <= 3) { -			Actor_Says(kActorMcCoy, 8580, 14); -			return false; -		} -		if (Actor_Clue_Query(kActorMcCoy, kClueWeaponsCache) && !Actor_Clue_Query(kActorMcCoy, kClueIzosStashRaided)) { -			Actor_Voice_Over(2470, kActorVoiceOver); -			Actor_Voice_Over(2480, kActorVoiceOver); -			Actor_Voice_Over(2490, kActorVoiceOver); -			Actor_Voice_Over(2500, kActorVoiceOver); -			Actor_Clue_Acquire(kActorMcCoy, kClueIzosStashRaided, true, -1); -		} else if (!Actor_Clue_Query(kActorMcCoy, kClueWeaponsCache)) { -			Actor_Voice_Over(2510, kActorVoiceOver); -			Actor_Voice_Over(2520, kActorVoiceOver); -			Actor_Voice_Over(2530, kActorVoiceOver); -		} else if (Game_Flag_Query(708)) { -			Actor_Says(kActorMcCoy, 8580, 14); -		} else { -			Item_Pickup_Spin_Effect(996, 360, 440); -			Actor_Says(kActorMcCoy, 8525, 14); -			Give_McCoy_Ammo(2, 18); -			Game_Flag_Set(708); + +		if (Global_Variable_Query(kVariableChapter) > 3) { +			if ( Actor_Clue_Query(kActorMcCoy, kClueWeaponsCache) +			 && !Actor_Clue_Query(kActorMcCoy, kClueIzosStashRaided) +			) { +				Actor_Voice_Over(2470, kActorVoiceOver); +				Actor_Voice_Over(2480, kActorVoiceOver); +				Actor_Voice_Over(2490, kActorVoiceOver); +				Actor_Voice_Over(2500, kActorVoiceOver); +				Actor_Clue_Acquire(kActorMcCoy, kClueIzosStashRaided, true, -1); +			} else if (!Actor_Clue_Query(kActorMcCoy, kClueWeaponsCache)) { +				Actor_Voice_Over(2510, kActorVoiceOver); +				Actor_Voice_Over(2520, kActorVoiceOver); +				Actor_Voice_Over(2530, kActorVoiceOver); +			} else if (!Game_Flag_Query(kFlagUG02AmmoTaken)) { +				Item_Pickup_Spin_Effect(996, 360, 440); +				Actor_Says(kActorMcCoy, 8525, 14); +				Give_McCoy_Ammo(2, 18); +				Game_Flag_Set(kFlagUG02AmmoTaken); +			} else { +				Actor_Says(kActorMcCoy, 8580, 14); +			} +			return true;  		} -		return true; + +		Actor_Says(kActorMcCoy, 8580, 14);  	}  	return false;  } @@ -132,11 +150,11 @@ bool SceneScriptUG02::ClickedOnActor(int actorId) {  }  bool SceneScriptUG02::ClickedOnItem(int itemId, bool a2) { -	if (itemId == 88) { -		Actor_Face_Item(kActorMcCoy, 88, true); +	if (itemId == kItemRadiationGoogles) { +		Actor_Face_Item(kActorMcCoy, kItemRadiationGoogles, true);  		Actor_Clue_Acquire(kActorMcCoy, kClueRadiationGoggles, true, -1); -		Game_Flag_Set(656); -		Item_Remove_From_World(88); +		Game_Flag_Set(kFlagRagiationGooglesTaken); +		Item_Remove_From_World(kItemRadiationGoogles);  		Item_Pickup_Spin_Effect(963, 426, 316);  		return true;  	} @@ -145,41 +163,41 @@ bool SceneScriptUG02::ClickedOnItem(int itemId, bool a2) {  bool SceneScriptUG02::ClickedOnExit(int exitId) {  	if (exitId == 0) { -		if (Game_Flag_Query(498) || !sub_402354()) { -			int v2 = Player_Query_Combat_Mode(); -			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -202.0f, 120.16f, -74.0f, 0, 1, v2, 0)) { +		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)) {  				Actor_Face_Heading(kActorMcCoy, 270, false);  				Footstep_Sound_Override_On(2); -				Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, kAnimationModeIdle); +				Loop_Actor_Travel_Stairs(kActorMcCoy, 4, false, kAnimationModeIdle);  				Footstep_Sound_Override_Off(); -				int v3 = Player_Query_Combat_Mode(); -				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -96.57f, 74.87f, -271.28f, 0, 0, v3, 0); -				int v4 = Player_Query_Combat_Mode(); -				Loop_Actor_Walk_To_XYZ(kActorMcCoy, -95.0f, 74.87f, -503.0f, 0, 0, v4, 0); +				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);  				Game_Flag_Set(kFlagUG02toUG01);  				Set_Enter(kSetUG01, kSceneUG01);  			}  		}  		return true;  	} +  	if (exitId == 1) { -		if (Game_Flag_Query(498)) { -			if (sub_402354()) { +		if (Game_Flag_Query(kFlagUG02FromUG01)) { +			if (walkToCenter()) {  				return true;  			} -			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -368.75f, 155.75f, -63.0f, 0, 0, false, 0); -			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -340.75f, 155.75f, -119.0f, 0, 0, false, 0); +			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, -304.75f, 155.75f, -171.0f, 0, 0, false, 0); +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -304.75f, 155.75f, -171.0f, 0, false, false, 0);  		Actor_Face_Heading(kActorMcCoy, 14, false); -		Loop_Actor_Travel_Ladder(kActorMcCoy, 9, 1, 0); +		Loop_Actor_Travel_Ladder(kActorMcCoy, 9, true, 0);  		Game_Flag_Set(kFlagUG02toHC03);  		Game_Flag_Reset(kFlagMcCoyAtUGxx);  		Game_Flag_Set(kFlagMcCoyAtHCxx); -		if (!Game_Flag_Query(403)) { -			Game_Flag_Set(388); -			Game_Flag_Set(403); -			Item_Remove_From_World(121); +		if (!Game_Flag_Query(kFlagHC03CageOpen)) { +			Game_Flag_Set(kFlagHC03TrapDoorOpen); +			Game_Flag_Set(kFlagHC03CageOpen); +			Item_Remove_From_World(kItemHC03Lock);  		}  		Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC03);  		return true; @@ -201,55 +219,57 @@ 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, 0, false, 0); +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -148.0f, 84.13f, -67.0f, 0, false, false, 0);  		Actor_Face_Heading(kActorMcCoy, 761, false);  		Footstep_Sound_Override_On(2);  		Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, kAnimationModeIdle);  		Footstep_Sound_Override_Off();  		Game_Flag_Reset(kFlagUG01toUG02); -		Game_Flag_Set(498); +		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);  		Game_Flag_Reset(kFlagHC03toUG02); -		Game_Flag_Reset(498); +		Game_Flag_Reset(kFlagUG02FromUG01);  	} else {  		Actor_Set_At_XYZ(kActorMcCoy, -269.24f, 120.16f, -9.94f, 477); -		Game_Flag_Set(498); +		Game_Flag_Set(kFlagUG02FromUG01);  	} -	Game_Flag_Reset(499); +	Game_Flag_Reset(kFlagUG02Interactive);  	//return false;  }  void SceneScriptUG02::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  }  void SceneScriptUG02::DialogueQueueFlushed(int a1) {  } -bool SceneScriptUG02::sub_402354() { -	if (!Game_Flag_Query(498)) { -		int v0 = Player_Query_Combat_Mode(); -		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -340.75f, 155.75f, -119.0f, 0, 0, v0, 0); -		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -368.75f, 155.75f, -63.0f, 0, 0, v0, 0); -		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -365.0f, 155.65f, -19.0f, 0, 0, v0, 0); +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);  		Actor_Face_Heading(kActorMcCoy, 318, false);  		Footstep_Sound_Override_On(2); -		Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, kAnimationModeIdle); +		Loop_Actor_Travel_Stairs(kActorMcCoy, 4, false, kAnimationModeIdle);  		Footstep_Sound_Override_Off(); -		Game_Flag_Set(498); +		Game_Flag_Set(kFlagUG02FromUG01);  		return false;  	} -	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.75f, 120.16f, 1.01f, 0, 1, false, 0)) { + +	if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.75f, 120.16f, 1.01f, 0, true, false, 0)) {  		Actor_Face_Heading(kActorMcCoy, 830, false);  		Footstep_Sound_Override_On(2); -		Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle); +		Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, kAnimationModeIdle);  		Footstep_Sound_Override_Off(); -		Game_Flag_Reset(498); +		Game_Flag_Reset(kFlagUG02FromUG01);  		return false;  	} +  	return true;  } diff --git a/engines/bladerunner/script/scene/ug03.cpp b/engines/bladerunner/script/scene/ug03.cpp index 81e9b967e8..c9c88e7fbf 100644 --- a/engines/bladerunner/script/scene/ug03.cpp +++ b/engines/bladerunner/script/scene/ug03.cpp @@ -103,7 +103,7 @@ bool SceneScriptUG03::ClickedOnExit(int exitId) {  			if (Global_Variable_Query(kVariableChapter) < 4) {  				Actor_Says(kActorMcCoy, 8522, 14);  			} else { -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(336);  				Set_Enter(kSetUG10, kSceneUG10); @@ -113,7 +113,7 @@ bool SceneScriptUG03::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -51.0f, 0.0f, 255.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(334);  			Set_Enter(kSetUG04, kSceneUG04); diff --git a/engines/bladerunner/script/scene/ug04.cpp b/engines/bladerunner/script/scene/ug04.cpp index 497b3d6b3d..7aa0ad130c 100644 --- a/engines/bladerunner/script/scene/ug04.cpp +++ b/engines/bladerunner/script/scene/ug04.cpp @@ -130,7 +130,7 @@ void SceneScriptUG04::PlayerWalkedIn() {  }  void SceneScriptUG04::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/ug05.cpp b/engines/bladerunner/script/scene/ug05.cpp index da1cb2fd90..3be09c1ee1 100644 --- a/engines/bladerunner/script/scene/ug05.cpp +++ b/engines/bladerunner/script/scene/ug05.cpp @@ -87,7 +87,7 @@ bool SceneScriptUG05::ClickedOn3DObject(const char *objectName, bool a2) {  bool SceneScriptUG05::ClickedOnActor(int actorId) {  	if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, actorId, 30, 1, false)) {  		Actor_Face_Actor(kActorMcCoy, actorId, true); -		int v1 = sub_4021B0(); +		int affectionTowardsActor = getAffectionTowardsActor();  		if (actorId == kActorOfficerGrayford && Game_Flag_Query(368) && !Game_Flag_Query(683)) {  			Actor_Says(kActorOfficerGrayford, 220, -1);  			Actor_Says(kActorMcCoy, 5540, 14); @@ -98,7 +98,7 @@ bool SceneScriptUG05::ClickedOnActor(int actorId) {  			Game_Flag_Set(683);  			return false;  		} -		if (actorId == v1) { +		if (actorId == affectionTowardsActor) {  			sub_402218();  			return true;  		} @@ -143,12 +143,12 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {  				return true;  			}  		} else { -			int v1 = sub_4021B0(); +			int affectionTowardsActor = getAffectionTowardsActor();  			bool v2; -			if (v1 == -1) { +			if (affectionTowardsActor == -1) {  				v2 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.37f, -1500.0f, 0, 1, false, 0) != 0;  			} else { -				v2 = Loop_Actor_Walk_To_Actor(kActorMcCoy, v1, 30, 1, false) != 0; +				v2 = Loop_Actor_Walk_To_Actor(kActorMcCoy, affectionTowardsActor, 30, 1, false) != 0;  			}  			if (!v2) {  				sub_402218(); @@ -177,12 +177,12 @@ void SceneScriptUG05::PlayerWalkedIn() {  			Actor_Set_At_XYZ(kActorOfficerGrayford, 4.22f, -1.37f, -925.0f, 750);  			Actor_Set_Goal_Number(kActorOfficerGrayford, 599);  			Actor_Retired_Here(kActorOfficerGrayford, 70, 36, 1, -1); -			int v0 = sub_4021B0(); -			if (v0 == kActorDektora) { +			int affectionTowardsActor = getAffectionTowardsActor(); +			if (affectionTowardsActor == kActorDektora) {  				Actor_Put_In_Set(kActorDektora, kSetUG05);  				Actor_Set_At_XYZ(kActorDektora, -100.0f, -10.31f, -906.0f, 866);  				Actor_Force_Stop_Walking(kActorDektora); -			} else if (v0 == kActorLucy){ +			} else if (affectionTowardsActor == kActorLucy){  				Actor_Put_In_Set(kActorLucy, kSetUG05);  				Actor_Set_At_XYZ(kActorLucy, -100.0f, -10.31f, -906.0f, 866);  				Actor_Force_Stop_Walking(kActorLucy); @@ -214,38 +214,42 @@ void SceneScriptUG05::PlayerWalkedIn() {  }  void SceneScriptUG05::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  }  void SceneScriptUG05::DialogueQueueFlushed(int a1) {  } -int SceneScriptUG05::sub_4021B0() { -	if (Global_Variable_Query(kVariableAffectionTowards) == 2 && Actor_Query_Goal_Number(kActorDektora) != 599) { +int SceneScriptUG05::getAffectionTowardsActor() { +	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsDektora +	 && Actor_Query_Goal_Number(kActorDektora) != 599 +	) {  		return kActorDektora;  	} -	if (Global_Variable_Query(kVariableAffectionTowards) == 3 && Actor_Query_Goal_Number(kActorLucy) != 599) { +	if (Global_Variable_Query(kVariableAffectionTowards) == kAffectionTowardsLucy +	 && Actor_Query_Goal_Number(kActorLucy) != 599 +	) {  		return kActorLucy;  	}  	return -1;  }  void SceneScriptUG05::sub_402218() { -	int v0 = sub_4021B0(); -	if (v0 != -1) { -		Actor_Face_Actor(kActorMcCoy, v0, true); -		Actor_Face_Actor(v0, kActorMcCoy, true); +	int affectionTowardsActor = getAffectionTowardsActor(); +	if (affectionTowardsActor != -1) { +		Actor_Face_Actor(kActorMcCoy, affectionTowardsActor, true); +		Actor_Face_Actor(affectionTowardsActor, kActorMcCoy, true);  		Actor_Says(kActorMcCoy, 5535, 13); -		if (v0 == kActorDektora) { +		if (affectionTowardsActor == kActorDektora) {  			Actor_Says(kActorDektora, 1110, 15);  		} else {  			Actor_Says(kActorLucy, 670, 17);  		}  	} -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1); -	if (v0 == kActorLucy) { +	if (affectionTowardsActor == kActorLucy) {  		if (Game_Flag_Query(kFlagLucyIsReplicant)) {  			if (Global_Variable_Query(kVariableDNAEvidences) > 3) {  				Outtake_Play(kOuttakeEnd1B, false, -1); @@ -255,7 +259,7 @@ void SceneScriptUG05::sub_402218() {  		} else {  			Outtake_Play(kOuttakeEnd1A, false, -1);  		} -	} else if (v0 == kActorDektora) { +	} else if (affectionTowardsActor == kActorDektora) {  		if (Game_Flag_Query(kFlagDektoraIsReplicant)) {  			if (Global_Variable_Query(kVariableDNAEvidences) > 3) {  				Outtake_Play(kOuttakeEnd1E, false, -1); diff --git a/engines/bladerunner/script/scene/ug06.cpp b/engines/bladerunner/script/scene/ug06.cpp index e13e720ead..8c93eb7eaa 100644 --- a/engines/bladerunner/script/scene/ug06.cpp +++ b/engines/bladerunner/script/scene/ug06.cpp @@ -26,7 +26,7 @@ namespace BladeRunner {  void SceneScriptUG06::InitializeScene() {  	if (Game_Flag_Query(680)) { -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  		Ambient_Sounds_Remove_All_Looping_Sounds(1);  		Outtake_Play(kOuttakeMovieC1, false, -1);  		if (Game_Flag_Query(560)) { @@ -92,7 +92,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(341);  			Set_Enter(kSetUG04, kSceneUG04); @@ -104,7 +104,7 @@ bool SceneScriptUG06::ClickedOnExit(int exitId) {  			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, 0, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(342);  			Set_Enter(kSetNR01, kSceneNR01); diff --git a/engines/bladerunner/script/scene/ug07.cpp b/engines/bladerunner/script/scene/ug07.cpp index 6880d2008a..f31660c7b5 100644 --- a/engines/bladerunner/script/scene/ug07.cpp +++ b/engines/bladerunner/script/scene/ug07.cpp @@ -95,7 +95,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) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(427);  			Set_Enter(kSetUG09, kSceneUG09); @@ -104,7 +104,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) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(425);  			Set_Enter(kSetUG08, kSceneUG08); @@ -143,7 +143,7 @@ bool SceneScriptUG07::ClickedOnExit(int exitId) {  			}  		} else {  			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, -21.47f, -58.0f, 0, 1, false, 0) && Actor_Query_Goal_Number(kActorClovis) != 402) { -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(423);  				Set_Enter(kSetUG10, kSceneUG10); diff --git a/engines/bladerunner/script/scene/ug08.cpp b/engines/bladerunner/script/scene/ug08.cpp index 2c5cc613cf..6ae9d73ad2 100644 --- a/engines/bladerunner/script/scene/ug08.cpp +++ b/engines/bladerunner/script/scene/ug08.cpp @@ -86,7 +86,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(426);  			Set_Enter(kSetUG07, kSceneUG07); diff --git a/engines/bladerunner/script/scene/ug09.cpp b/engines/bladerunner/script/scene/ug09.cpp index f238161a4b..0724ce8d81 100644 --- a/engines/bladerunner/script/scene/ug09.cpp +++ b/engines/bladerunner/script/scene/ug09.cpp @@ -101,7 +101,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagUG09toCT12);  			Set_Enter(kSetCT01_CT12, kSceneCT12); @@ -110,7 +110,7 @@ bool SceneScriptUG09::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -53.0f, 156.94f, 206.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(428);  			Set_Enter(kSetUG07, kSceneUG07); diff --git a/engines/bladerunner/script/scene/ug10.cpp b/engines/bladerunner/script/scene/ug10.cpp index e95f57b237..64e63a6a03 100644 --- a/engines/bladerunner/script/scene/ug10.cpp +++ b/engines/bladerunner/script/scene/ug10.cpp @@ -35,35 +35,39 @@ void SceneScriptUG10::InitializeScene() {  	} else {  		Setup_Scene_Information(235.0f, 1.15f, 29.0f, 0);  	} +  	Scene_Exit_Add_2D_Exit(0, 589, 300, 639, 479, 1); -	Scene_Exit_Add_2D_Exit(1, 460, 70, 632, 171, 0); -	Scene_Exit_Add_2D_Exit(2, 38, 78, 83, 264, 3); -	Scene_Exit_Add_2D_Exit(3, 0, 0, 30, 479, 3); +	Scene_Exit_Add_2D_Exit(1, 460,  70, 632, 171, 0); +	Scene_Exit_Add_2D_Exit(2,  38,  78,  83, 264, 3); +	Scene_Exit_Add_2D_Exit(3,   0,   0,  30, 479, 3); +  	Scene_2D_Region_Add(0, 349, 311, 382, 364); +  	Ambient_Sounds_Add_Looping_Sound(105, 71, 0, 1); -	Ambient_Sounds_Add_Looping_Sound(95, 45, 0, 1); +	Ambient_Sounds_Add_Looping_Sound( 95, 45, 0, 1);  	Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1); -	Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(293, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(295, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(303, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(304, 5, 50, 47, 57, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(1, 5, 150, 47, 57, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(58, 5, 150, 17, 37, -100, 100, -101, -101, 0, 0); -	Ambient_Sounds_Add_Sound(230, 2, 20, 25, 32, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(233, 2, 20, 25, 32, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0); -	Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100, 100, 0, 0); -	if (Game_Flag_Query(474)) { +	Ambient_Sounds_Add_Sound(291, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(293, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(295, 2,  20, 25, 33, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(368, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(401, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(402, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(303, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(304, 5,  50, 47, 57, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(  1, 5, 150, 47, 57, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound( 58, 5, 150, 17, 37, -100, 100, -101, -101, 0, 0); +	Ambient_Sounds_Add_Sound(230, 2,  20, 25, 32, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(233, 2,  20, 25, 32, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(235, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(394, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(224, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(228, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0); +	Ambient_Sounds_Add_Sound(229, 2, 190, 12, 16, -100, 100, -100,  100, 0, 0); + +	if (Game_Flag_Query(kFlagUG10GateOpen)) {  		Scene_Loop_Set_Default(4);  	} else {  		Scene_Loop_Set_Default(1); @@ -72,10 +76,14 @@ void SceneScriptUG10::InitializeScene() {  void SceneScriptUG10::SceneLoaded() {  	Obstacle_Object("SLUICEGATE_LEVER", true); -	if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(474) && Game_Flag_Query(kFlagDumpsterEmptied) && !Game_Flag_Query(693)) { +	if (Global_Variable_Query(kVariableChapter) == 4 +	 && !Game_Flag_Query(kFlagUG10GateOpen) +	 &&  Game_Flag_Query(kFlagDumpsterEmptied) +	 && !Game_Flag_Query(kFlagUG03DeadHomeless) +	) {  		Scene_Loop_Set_Default(1);  		Scene_Loop_Start_Special(kSceneLoopModeOnce, 6, true); -		Game_Flag_Set(693); +		Game_Flag_Set(kFlagUG03DeadHomeless);  		//return true;  	}  	//return false; @@ -101,17 +109,25 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {  	float x, y, z;  	Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);  	if (exitId == 0) { -		if ((!Game_Flag_Query(474) && x > 125.0f) || Game_Flag_Query(474)) { +		if ((!Game_Flag_Query(kFlagUG10GateOpen) +		  &&  x > 125.0f +		 ) +		 || Game_Flag_Query(kFlagUG10GateOpen) +		) {  			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 1.15f, 29.0f, 0, 1, false, 0)) {  				Game_Flag_Set(kFlagUG10toUG01);  				Set_Enter(kSetUG01, kSceneUG01);  				return true;  			} -		} else if (!Game_Flag_Query(474)) { +		} else if (!Game_Flag_Query(kFlagUG10GateOpen)) {  			Actor_Says(kActorMcCoy, 8521, 3);  		}  	} else if (exitId == 1) { -		if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) { +		if ((!Game_Flag_Query(kFlagUG10GateOpen) +		  && x  < 120.0f +		 ) +		 || Game_Flag_Query(kFlagUG10GateOpen) +		) {  			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, 1, false, 0)) {  				Actor_Face_Heading(kActorMcCoy, 0, false);  				Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, kAnimationModeIdle); @@ -120,11 +136,15 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {  				Set_Enter(kSetUG03, kSceneUG03);  				return true;  			} -		} else if (!Game_Flag_Query(474)) { +		} else if (!Game_Flag_Query(kFlagUG10GateOpen)) {  			Actor_Says(kActorMcCoy, 6165, 3);  		}  	} else if (exitId == 2) { -		if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) { +		if ((!Game_Flag_Query(kFlagUG10GateOpen) +		  && x  < 120.0f +		 ) +		 || Game_Flag_Query(kFlagUG10GateOpen) +		) {  			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, 1, false, 0)) {  				Actor_Face_Heading(kActorMcCoy, 1001, false);  				Loop_Actor_Travel_Ladder(kActorMcCoy, 1, 1, 0); @@ -132,17 +152,21 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {  				Set_Enter(kSetUG07, kSceneUG07);  				return true;  			} -		} else if (!Game_Flag_Query(474)) { +		} else if (!Game_Flag_Query(kFlagUG10GateOpen)) {  			Actor_Says(kActorMcCoy, 6165, 3);  		}  	} else if (exitId == 3) { -		if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) { +		if ((!Game_Flag_Query(kFlagUG10GateOpen) +		  && x  < 120.0f +		 ) +		 || Game_Flag_Query(kFlagUG10GateOpen) +		) {  			if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 405.0f, 0, 1, false, 0)) {  				Game_Flag_Set(347);  				Set_Enter(kSetUG14, kSceneUG14);  				return true;  			} -		} else if (!Game_Flag_Query(474)) { +		} else if (!Game_Flag_Query(kFlagUG10GateOpen)) {  			Actor_Says(kActorMcCoy, 6165, 3);  		}  	} @@ -155,19 +179,19 @@ 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, 1, false, 0)) { -			if (Game_Flag_Query(474)) { -				Scene_Loop_Set_Default(1); -				Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false); -				Game_Flag_Reset(474); -				Obstacle_Object("BOX01 BRIDGE", true); -				Player_Loses_Control(); -			} else { +		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.98f, 0.38f, 83.15f, 0, true, false, 0)) { +			if (!Game_Flag_Query(kFlagUG10GateOpen)) {  				Scene_Loop_Set_Default(4);  				Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, false); -				Game_Flag_Set(474); +				Game_Flag_Set(kFlagUG10GateOpen);  				Unobstacle_Object("BOX01 BRIDGE", true);  				Player_Loses_Control(); +			} else { +				Scene_Loop_Set_Default(1); +				Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, false); +				Game_Flag_Reset(kFlagUG10GateOpen); +				Obstacle_Object("BOX01 BRIDGE", true); +				Player_Loses_Control();  			}  		}  		return true; @@ -206,17 +230,18 @@ void SceneScriptUG10::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  void SceneScriptUG10::PlayerWalkedIn() {  	if (Game_Flag_Query(346)) {  		Game_Flag_Reset(346); -		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 377.0f, 0, 0, false, 0); +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 377.0f, 0, false, false, 0);  	} else if (Game_Flag_Query(kFlagUG01toUG10)) {  		Game_Flag_Reset(kFlagUG01toUG10); -		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, 1.15f, 29.0f, 0, 0, false, 0); +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, 1.15f, 29.0f, 0, false, false, 0);  	} else if (Game_Flag_Query(336)) {  		Game_Flag_Reset(336); -		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 81.33f, -518.8f, 0, 0, false, 0); +		Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 81.33f, -518.8f, 0, false, false, 0);  		Actor_Face_Heading(kActorMcCoy, 506, false); -		Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 0, kAnimationModeIdle); +		Loop_Actor_Travel_Stairs(kActorMcCoy, 9, false, kAnimationModeIdle);  	} -	if (Game_Flag_Query(474)) { + +	if (Game_Flag_Query(kFlagUG10GateOpen)) {  		Unobstacle_Object("BOX01 BRIDGE", true);  	} else {  		Obstacle_Object("BOX01 BRIDGE", true); @@ -224,7 +249,7 @@ void SceneScriptUG10::PlayerWalkedIn() {  }  void SceneScriptUG10::PlayerWalkedOut() { -	Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +	Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	Ambient_Sounds_Remove_All_Looping_Sounds(1);  } diff --git a/engines/bladerunner/script/scene/ug12.cpp b/engines/bladerunner/script/scene/ug12.cpp index 90f72d52bd..f189224713 100644 --- a/engines/bladerunner/script/scene/ug12.cpp +++ b/engines/bladerunner/script/scene/ug12.cpp @@ -81,7 +81,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(344);  			Set_Enter(kSetUG14, kSceneUG14); @@ -90,7 +90,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(412);  			Set_Enter(kSetKP02, kSceneKP02); diff --git a/engines/bladerunner/script/scene/ug13.cpp b/engines/bladerunner/script/scene/ug13.cpp index a0acf7fe82..3fb1aaf3dc 100644 --- a/engines/bladerunner/script/scene/ug13.cpp +++ b/engines/bladerunner/script/scene/ug13.cpp @@ -109,7 +109,7 @@ bool SceneScriptUG13::ClickedOn3DObject(const char *objectName, bool a2) {  }  bool SceneScriptUG13::ClickedOnActor(int actorId) { -	if (actorId == 12 +	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)) { @@ -269,7 +269,7 @@ void SceneScriptUG13::PlayerWalkedOut() {  		Ambient_Sounds_Remove_Sound(397, false);  		Ambient_Sounds_Remove_Sound(398, false);  	} else { -		Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +		Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  	}  } diff --git a/engines/bladerunner/script/scene/ug14.cpp b/engines/bladerunner/script/scene/ug14.cpp index 0a391cac43..6e95691367 100644 --- a/engines/bladerunner/script/scene/ug14.cpp +++ b/engines/bladerunner/script/scene/ug14.cpp @@ -93,7 +93,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {  			Footstep_Sound_Override_Off();  		}  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(348);  			Set_Enter(kSetUG19, kSceneUG19); @@ -111,7 +111,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {  			Footstep_Sound_Override_Off();  		}  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(345);  			Set_Enter(kSetCT08_CT51_UG12, kSceneUG12); @@ -134,7 +134,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {  			Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, kAnimationModeIdle);  			Footstep_Sound_Override_Off();  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, 233.0f, 186.04f, -32.0f, 0, 0, false, 0); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(346);  			Set_Enter(kSetUG10, kSceneUG10); diff --git a/engines/bladerunner/script/scene/ug15.cpp b/engines/bladerunner/script/scene/ug15.cpp index 231c1a3e42..4743c8d336 100644 --- a/engines/bladerunner/script/scene/ug15.cpp +++ b/engines/bladerunner/script/scene/ug15.cpp @@ -105,7 +105,7 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -25.0f, 26.31f, -434.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(352);  			Set_Enter(kSetUG17, kSceneUG17); @@ -114,7 +114,7 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -17.0f, 26.31f, -346.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagUG15toUG16);  			Set_Enter(kSetUG16, kSceneUG16); @@ -126,7 +126,7 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {  		if (v1 >= 300 && v1 <= 303) {  			Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.61f, 48.07f, 147.12f, 0, 1, false, 0);  		} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.0f, 52.28f, 46.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(354);  			Set_Enter(kSetUG16, kSceneUG16); @@ -135,7 +135,7 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {  	}  	if (exitId == 3) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -238.0f, 52.46f, 222.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(350);  			Set_Enter(kSetUG13, kSceneUG13); diff --git a/engines/bladerunner/script/scene/ug16.cpp b/engines/bladerunner/script/scene/ug16.cpp index 38ce6e439a..fbffe9f701 100644 --- a/engines/bladerunner/script/scene/ug16.cpp +++ b/engines/bladerunner/script/scene/ug16.cpp @@ -130,7 +130,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(355);  			Set_Enter(kSetUG15, kSceneUG15); @@ -139,7 +139,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)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(kFlagUG16toUG15);  			Set_Enter(kSetUG15, kSceneUG15); @@ -150,7 +150,7 @@ bool SceneScriptUG16::ClickedOnExit(int exitId) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -316.78f, -34.88f, -533.27f, 0, 1, false, 0)) {  			Actor_Face_Heading(kActorMcCoy, 0, false);  			Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(551);  			Set_Enter(kSetDR06, kSceneDR06); diff --git a/engines/bladerunner/script/scene/ug17.cpp b/engines/bladerunner/script/scene/ug17.cpp index e05648f3f0..104c831e59 100644 --- a/engines/bladerunner/script/scene/ug17.cpp +++ b/engines/bladerunner/script/scene/ug17.cpp @@ -65,7 +65,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, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(353);  			Set_Enter(kSetUG15, kSceneUG15); @@ -79,7 +79,7 @@ bool SceneScriptUG17::ClickedOnExit(int exitId) {  				Actor_Says(kActorMcCoy, 8522, 14);  			} else {  				Loop_Actor_Travel_Ladder(kActorMcCoy, 10, 1, 0); -				Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +				Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  				Ambient_Sounds_Remove_All_Looping_Sounds(1);  				Game_Flag_Set(448);  				Set_Enter(kSetTB02_TB03, kSceneTB03); diff --git a/engines/bladerunner/script/scene/ug18.cpp b/engines/bladerunner/script/scene/ug18.cpp index f438d9b030..5afb87e80a 100644 --- a/engines/bladerunner/script/scene/ug18.cpp +++ b/engines/bladerunner/script/scene/ug18.cpp @@ -94,9 +94,9 @@ bool SceneScriptUG18::ClickedOnActor(int actorId) {  	return false;  } -bool SceneScriptUG18::ClickedOnItem(int itemId, bool a2) { +bool SceneScriptUG18::ClickedOnItem(int itemId, bool combatMode) {  	if (itemId == 91) { -		if (a2) { +		if (combatMode) {  			Item_Remove_From_World(91);  		} else if (!Loop_Actor_Walk_To_Item(kActorMcCoy, 91, 12, 1, false)) {  			Item_Pickup_Spin_Effect(987, 368, 243); @@ -111,7 +111,7 @@ bool SceneScriptUG18::ClickedOnItem(int itemId, bool a2) {  bool SceneScriptUG18::ClickedOnExit(int exitId) {  	if (exitId == 0) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.71f, 0.0f, 171.59f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(435);  			Set_Enter(kSetUG13, kSceneUG13); @@ -129,7 +129,7 @@ void SceneScriptUG18::SceneFrameAdvanced(int frame) {  }  void SceneScriptUG18::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) { -	if (actorId == 4) { +	if (actorId == kActorGuzza) {  		if (newGoal == 303) {  			Game_Flag_Set(607);  			ADQ_Flush(); @@ -150,7 +150,7 @@ void SceneScriptUG18::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo  			Scene_Exits_Enable();  			Actor_Set_Goal_Number(kActorGuzza, 306);  		} -	} else if (actorId == 8) { +	} else if (actorId == kActorSadik) {  		if (newGoal == 302) {  			if (Actor_Query_Friendliness_To_Other(kActorClovis, kActorMcCoy) > 55 && Game_Flag_Query(607)) {  				sub_403588(); @@ -324,7 +324,9 @@ void SceneScriptUG18::sub_402734() {  void SceneScriptUG18::sub_402DE8() {  	if (Player_Query_Agenda() != kPlayerAgendaPolite) { -		if (Global_Variable_Query(kVariableAffectionTowards) > 1 || Player_Query_Agenda() == kPlayerAgendaSurly) { +		if (Global_Variable_Query(kVariableAffectionTowards) > 1 +		 || Player_Query_Agenda() == kPlayerAgendaSurly +		) {  			sub_403114();  		} else {  			sub_402F8C(); diff --git a/engines/bladerunner/script/scene/ug19.cpp b/engines/bladerunner/script/scene/ug19.cpp index 1f5eccdf65..4c7d96375e 100644 --- a/engines/bladerunner/script/scene/ug19.cpp +++ b/engines/bladerunner/script/scene/ug19.cpp @@ -89,7 +89,7 @@ bool SceneScriptUG19::ClickedOnExit(int exitId) {  			Footstep_Sound_Override_On(3);  			Loop_Actor_Travel_Ladder(kActorMcCoy, 8, 1, 0);  			Footstep_Sound_Override_Off(); -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(356);  			Set_Enter(kSetMA07, kSceneMA07); @@ -98,7 +98,7 @@ bool SceneScriptUG19::ClickedOnExit(int exitId) {  	}  	if (exitId == 1) {  		if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.0f, 11.52f, -18.0f, 0, 1, false, 0)) { -			Ambient_Sounds_Remove_All_Non_Looping_Sounds(1); +			Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);  			Ambient_Sounds_Remove_All_Looping_Sounds(1);  			Game_Flag_Set(349);  			Set_Enter(kSetUG14, kSceneUG14); diff --git a/engines/bladerunner/script/scene_script.cpp b/engines/bladerunner/script/scene_script.cpp index ff43853044..7c890d6538 100644 --- a/engines/bladerunner/script/scene_script.cpp +++ b/engines/bladerunner/script/scene_script.cpp @@ -173,23 +173,23 @@ bool SceneScript::mouseClick(int x, int y) {  		return true;  	_inScriptCounter++; -	//MouseX = x; -	//MouseY = y; +	_mouseX = x; +	_mouseY = y;  	bool result = _currentScript->MouseClick(x, y);  	_vm->_runningActorId = -1;  	_inScriptCounter--; -	//MouseX = -1; -	//MouseY = -1; +	_mouseX = -1; +	_mouseY = -1;  	return result;  } -bool SceneScript::clickedOn3DObject(const char *objectName, bool attack) { +bool SceneScript::clickedOn3DObject(const char *objectName, bool combatMode) {  	if (_inScriptCounter > 0) {  		return true;  	}  	_inScriptCounter++; -	bool result = _currentScript->ClickedOn3DObject(objectName, attack); +	bool result = _currentScript->ClickedOn3DObject(objectName, combatMode);  	_vm->_runningActorId = -1;  	_inScriptCounter--;  	return result; @@ -207,13 +207,13 @@ bool SceneScript::clickedOnActor(int actorId) {  	return result;  } -bool SceneScript::clickedOnItem(int itemId, bool a2) { +bool SceneScript::clickedOnItem(int itemId, bool combatMode) {  	if (_inScriptCounter > 0) {  		return true;  	}  	_inScriptCounter++; -	bool result = _currentScript->ClickedOnItem(itemId, a2); +	bool result = _currentScript->ClickedOnItem(itemId, combatMode);  	_vm->_runningActorId = -1;  	_inScriptCounter--;  	return result; diff --git a/engines/bladerunner/script/scene_script.h b/engines/bladerunner/script/scene_script.h index de9cd0dda5..ee439018d2 100644 --- a/engines/bladerunner/script/scene_script.h +++ b/engines/bladerunner/script/scene_script.h @@ -36,9 +36,9 @@ public:  	virtual void InitializeScene() = 0;  	virtual void SceneLoaded() = 0;  	virtual bool MouseClick(int x, int y) = 0; -	virtual bool ClickedOn3DObject(const char *objectName, bool attack) = 0; +	virtual bool ClickedOn3DObject(const char *objectName, bool combatMode) = 0;  	virtual bool ClickedOnActor(int actorId) = 0; -	virtual bool ClickedOnItem(int itemId, bool a2) = 0; +	virtual bool ClickedOnItem(int itemId, bool combatMode) = 0;  	virtual bool ClickedOnExit(int exitId) = 0;  	virtual bool ClickedOn2DRegion(int region) = 0;  	virtual void SceneFrameAdvanced(int frame) = 0; @@ -57,9 +57,9 @@ public: \  	void InitializeScene(); \  	void SceneLoaded(); \  	bool MouseClick(int x, int y); \ -	bool ClickedOn3DObject(const char *objectName, bool attack); \ +	bool ClickedOn3DObject(const char *objectName, bool combatMode); \  	bool ClickedOnActor(int actorId); \ -	bool ClickedOnItem(int itemId, bool a2); \ +	bool ClickedOnItem(int itemId, bool combatMode); \  	bool ClickedOnExit(int exitId); \  	bool ClickedOn2DRegion(int region); \  	void SceneFrameAdvanced(int frame); \ @@ -74,9 +74,9 @@ DECLARE_SCRIPT(AR01)  END_SCRIPT  DECLARE_SCRIPT(AR02) -	void sub_402694(); -	void sub_402AE0(); -	void sub_402CE4(); +	void dialogueWithInsectDealer1(); +	void dialogueWithInsectDealer2(); +	void dialogueWithHassan();  END_SCRIPT  DECLARE_SCRIPT(BB01) @@ -182,8 +182,8 @@ DECLARE_SCRIPT(DR06)  END_SCRIPT  DECLARE_SCRIPT(HC01) -	void sub_402384(); -	void sub_40346C(); +	void dialogueWithIzo(); +	void takePhotoAndRunAway();  END_SCRIPT  DECLARE_SCRIPT(HC02) @@ -193,7 +193,7 @@ DECLARE_SCRIPT(HC03)  END_SCRIPT  DECLARE_SCRIPT(HC04) -	void sub_401B90(); +	void dialogueWithIsabella();  END_SCRIPT  DECLARE_SCRIPT(HF01) @@ -222,7 +222,7 @@ DECLARE_SCRIPT(HF05)  	void sub_40410C();  	void sub_4042E4();  	void sub_404474(); -	int sub_404858(); +	int getAffectionTowardsActor();  	int sub_4048C0();  END_SCRIPT @@ -232,7 +232,7 @@ DECLARE_SCRIPT(HF06)  END_SCRIPT  DECLARE_SCRIPT(HF07) -	int sub_401864(); +	int getAffectionTowardsActor();  END_SCRIPT  DECLARE_SCRIPT(KP01) @@ -389,15 +389,15 @@ DECLARE_SCRIPT(PS10)  END_SCRIPT  DECLARE_SCRIPT(PS11) -	void sub_402744(); +	void removeTargets();  END_SCRIPT  DECLARE_SCRIPT(PS12) -	void sub_4028C4(); +	void removeTargets();  END_SCRIPT  DECLARE_SCRIPT(PS13) -	void sub_40267C(); +	void removeTargets();  END_SCRIPT  DECLARE_SCRIPT(PS14) @@ -448,7 +448,7 @@ DECLARE_SCRIPT(UG01)  END_SCRIPT  DECLARE_SCRIPT(UG02) -	bool sub_402354(); +	bool walkToCenter();  END_SCRIPT  DECLARE_SCRIPT(UG03) @@ -458,7 +458,7 @@ DECLARE_SCRIPT(UG04)  END_SCRIPT  DECLARE_SCRIPT(UG05) -	int sub_4021B0(); +	int getAffectionTowardsActor();  	void sub_402218();  END_SCRIPT @@ -527,6 +527,9 @@ protected:  	SceneScriptBase   *_currentScript;  public: +	int _mouseX; +	int _mouseY; +  	SceneScript(BladeRunnerEngine *vm);  	~SceneScript(); @@ -535,9 +538,9 @@ public:  	void initializeScene();  	void sceneLoaded();  	bool mouseClick(int x, int y); -	bool clickedOn3DObject(const char *objectName, bool attack); +	bool clickedOn3DObject(const char *objectName, bool combatMode);  	bool clickedOnActor(int actorId); -	bool clickedOnItem(int itemId, bool a2); +	bool clickedOnItem(int itemId, bool combatMode);  	bool clickedOnExit(int exitId);  	bool clickedOn2DRegion(int region);  	void sceneFrameAdvanced(int frame); diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp index dbc193301a..21ddebdf3f 100644 --- a/engines/bladerunner/script/script.cpp +++ b/engines/bladerunner/script/script.cpp @@ -46,6 +46,7 @@  #include "bladerunner/scene.h"  #include "bladerunner/scene_objects.h"  #include "bladerunner/script/police_maze.h" +#include "bladerunner/script/scene_script.h"  #include "bladerunner/slice_animations.h"  #include "bladerunner/slice_renderer.h"  #include "bladerunner/suspects_database.h" @@ -90,8 +91,11 @@ void ScriptBase::Actor_Set_At_Waypoint(int actorId, int waypointId, int angle) {  bool ScriptBase::Region_Check(int left, int top, int right, int down) {  	debugC(kDebugScript, "Region_Check(%d, %d, %d, %d)", left, top, right, down); -	//TODO: return _vm->_mouse.x >= left && _vm->_mouse.y >= top && _vm->_mouse.x <= right && _vm->_mouse.y <= down; -	warning("Region_Check(%d, %d, %d, %d)", left, top, right, down); + +	return _vm->_sceneScript->_mouseX >= left +		&& _vm->_sceneScript->_mouseY >= top +		&& _vm->_sceneScript->_mouseX <= right +		&& _vm->_sceneScript->_mouseY <= down;  	return false;  } @@ -1436,7 +1440,7 @@ bool ScriptBase::Query_System_Currently_Loading_Game() {  	return _vm->_gameIsLoading;  } -void ScriptBase::Actor_Retired_Here(int actorId, int width, int height, int retired, int retiredByActorId) { +void ScriptBase::Actor_Retired_Here(int actorId, int width, int height, bool retired, int retiredByActorId) {  	debugC(kDebugScript, "Actor_Retired_Here(%d, %d, %d, %d, %d)", actorId, width, height, retired, retiredByActorId);  	Actor *actor = _vm->_actors[actorId];  	actor->retire(retired, width, height, retiredByActorId); diff --git a/engines/bladerunner/script/script.h b/engines/bladerunner/script/script.h index f5ce3d63b0..3b35f3a81d 100644 --- a/engines/bladerunner/script/script.h +++ b/engines/bladerunner/script/script.h @@ -242,7 +242,7 @@ protected:  	void Assign_Player_Gun_Miss_Sounds(int ammoType, int soundId1, int soundId2, int soundId3);  	void Disable_Shadows(int animationsIdsList[], int listSize);  	bool Query_System_Currently_Loading_Game(); -	void Actor_Retired_Here(int actorId, int width, int height, int retired, int retiredByActorId); +	void Actor_Retired_Here(int actorId, int width, int height, bool retired, int retiredByActorId);  	void Clickable_Object(const char *objectName);  	void Unclickable_Object(const char *objectName);  	void Obstacle_Object(const char *objectName, bool updateWalkpath); | 
