diff options
author | Peter Kohaut | 2016-10-01 03:20:03 +0200 |
---|---|---|
committer | Peter Kohaut | 2016-10-01 03:20:03 +0200 |
commit | fe2add5d5fb955724af9f0308d07c46c3110baad (patch) | |
tree | f4a7f2d18dcb9c9a821e2bfc9e771c476b02797d /engines/bladerunner | |
parent | 70c10f82430fcf9e8d523075563760b889c3bb83 (diff) | |
download | scummvm-rg350-fe2add5d5fb955724af9f0308d07c46c3110baad.tar.gz scummvm-rg350-fe2add5d5fb955724af9f0308d07c46c3110baad.tar.bz2 scummvm-rg350-fe2add5d5fb955724af9f0308d07c46c3110baad.zip |
BLADERUNNER: fixed endian issue in uncompressed audio (thx madmoose), fixed some warnings, fixed some scene scripts
Diffstat (limited to 'engines/bladerunner')
26 files changed, 65 insertions, 67 deletions
diff --git a/engines/bladerunner/aud_stream.cpp b/engines/bladerunner/aud_stream.cpp index e86f6d5096..8a17f6ba24 100644 --- a/engines/bladerunner/aud_stream.cpp +++ b/engines/bladerunner/aud_stream.cpp @@ -95,10 +95,10 @@ int AudStream::readBuffer(int16 *buffer, const int numSamples) { samplesRead += 2 * bytesConsumed; } } else { - int bytesToCopy = MIN(2 * numSamples, (int)(_end - _p)); - memcpy(buffer, _p, bytesToCopy); - _p += bytesToCopy; - samplesRead = bytesToCopy / 2; + samplesRead = MIN(numSamples, (int)(_end - _p) / 2); + for (int i = 0; i < samplesRead; i++, _p += 2) { + buffer[i] = READ_LE_UINT16(_p); + } } return samplesRead; diff --git a/engines/bladerunner/script/ar02.cpp b/engines/bladerunner/script/ar02.cpp index 5b6be5f25b..dc89758a0d 100644 --- a/engines/bladerunner/script/ar02.cpp +++ b/engines/bladerunner/script/ar02.cpp @@ -300,7 +300,7 @@ void ScriptAR02::sub_402694() { void ScriptAR02::sub_402AE0() { Dialogue_Menu_Clear_List(); - if (Global_Variable_Query(2) >= 15 || !Query_Difficulty_Level()) { + if (Global_Variable_Query(2) >= 15 || Query_Difficulty_Level() == 0) { DM_Add_To_List_Never_Repeat_Once_Selected(530, 7, 5, 3); } DM_Add_To_List_Never_Repeat_Once_Selected(540, 3, 5, 7); @@ -309,7 +309,7 @@ void ScriptAR02::sub_402AE0() { Dialogue_Menu_Disappear(); if (answerValue == 530) { Actor_Says(0, 120, 12); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Decrement(2, 15); } Actor_Clue_Acquire(0, 75, 1, 16); diff --git a/engines/bladerunner/script/ct01.cpp b/engines/bladerunner/script/ct01.cpp index 88e41faf31..c5d633f0e5 100644 --- a/engines/bladerunner/script/ct01.cpp +++ b/engines/bladerunner/script/ct01.cpp @@ -480,18 +480,18 @@ void ScriptCT01::sub_40269C() { break; case 70: Actor_Says(0, 290, 13); - if (Actor_Query_Friendliness_To_Other(28, 0) <= 49 || Global_Variable_Query(2) <= 10 && Query_Difficulty_Level()) { - Actor_Says(28, 130, 15); - } else { + if (Actor_Query_Friendliness_To_Other(28, 0) > 49 && (Global_Variable_Query(2) > 10 || Query_Difficulty_Level() == 0)) { Actor_Says(28, 50, 3); Actor_Says(28, 60, 3); Actor_Face_Actor(28, 0, true); Actor_Says(28, 70, 16); Actor_Says(0, 325, 13); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Decrement(2, 10); } Game_Flag_Set(192); + } else { + Actor_Says(28, 130, 15); } break; case 80: diff --git a/engines/bladerunner/script/ct04.cpp b/engines/bladerunner/script/ct04.cpp index 795cf945e9..cad32dfdd2 100644 --- a/engines/bladerunner/script/ct04.cpp +++ b/engines/bladerunner/script/ct04.cpp @@ -126,7 +126,7 @@ bool ScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) { void ScriptCT04::sub_401D4C() { Dialogue_Menu_Clear_List(); - if (Global_Variable_Query(2) > 10 || !Query_Difficulty_Level()) { + if (Global_Variable_Query(2) > 10 || Query_Difficulty_Level() == 0) { DM_Add_To_List_Never_Repeat_Once_Selected(410, 8, 4, -1); } DM_Add_To_List_Never_Repeat_Once_Selected(420, 2, 6, 8); @@ -137,7 +137,7 @@ void ScriptCT04::sub_401D4C() { Actor_Says(12, 10, 14); Actor_Says(12, 20, 14); Actor_Modify_Friendliness_To_Other(12, 0, 5); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Decrement(2, 10); } } else if (answer == 420) { diff --git a/engines/bladerunner/script/dr06.cpp b/engines/bladerunner/script/dr06.cpp index ebaa83205a..8556db75fb 100644 --- a/engines/bladerunner/script/dr06.cpp +++ b/engines/bladerunner/script/dr06.cpp @@ -150,7 +150,7 @@ bool ScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) { Actor_Voice_Over(870, 99); Actor_Voice_Over(880, 99); Actor_Clue_Acquire(0, 76, 1, 13); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Increment(2, 200); } } diff --git a/engines/bladerunner/script/hc01.cpp b/engines/bladerunner/script/hc01.cpp index aac8b282da..c59eab6ed5 100644 --- a/engines/bladerunner/script/hc01.cpp +++ b/engines/bladerunner/script/hc01.cpp @@ -253,7 +253,7 @@ void ScriptHC01::sub_402384() { } else { Actor_Says(7, 250, 13); Actor_Modify_Friendliness_To_Other(7, 0, -1); - if (Actor_Query_Friendliness_To_Other(7, 0) < 47 && !Query_Difficulty_Level()) { + if (Actor_Query_Friendliness_To_Other(7, 0) < 47 && Query_Difficulty_Level() == 0) { sub_40346C(); } } diff --git a/engines/bladerunner/script/hc02.cpp b/engines/bladerunner/script/hc02.cpp index 908b9922c3..c676938410 100644 --- a/engines/bladerunner/script/hc02.cpp +++ b/engines/bladerunner/script/hc02.cpp @@ -106,7 +106,7 @@ bool ScriptHC02::ClickedOnActor(int actorId) { Actor_Says(32, 180, 13); Actor_Clue_Acquire(0, 257, 1, 32); Item_Pickup_Spin_Effect(975, 229, 215); - } else if (Actor_Clue_Query(0, 122) && !Actor_Clue_Query(0, 131) && Global_Variable_Query(2) > 20 || Query_Difficulty_Level() == 0) { + } else if (Actor_Clue_Query(0, 122) && !Actor_Clue_Query(0, 131) && (Global_Variable_Query(2) > 20 || Query_Difficulty_Level() == 0)) { Actor_Clue_Acquire(0, 131, 1, 32); Actor_Says(0, 1230, 13); Actor_Says(32, 20, 12); @@ -119,7 +119,7 @@ bool ScriptHC02::ClickedOnActor(int actorId) { Actor_Change_Animation_Mode(0, 23); Delay(1500); Actor_Says_With_Pause(32, 50, 1.6f, 17); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Decrement(2, 20); } Actor_Says(0, 1245, 13); @@ -131,7 +131,7 @@ bool ScriptHC02::ClickedOnActor(int actorId) { Game_Flag_Set(405); } if (Global_Variable_Query(2) > 5 || Query_Difficulty_Level() == 0) { - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Decrement(2, 5); } Global_Variable_Increment(42, 1); diff --git a/engines/bladerunner/script/hf05.cpp b/engines/bladerunner/script/hf05.cpp index 94cfadb65d..f569f48b7d 100644 --- a/engines/bladerunner/script/hf05.cpp +++ b/engines/bladerunner/script/hf05.cpp @@ -329,7 +329,7 @@ void ScriptHF05::sub_402AE4() { if (Actor_Clue_Query(0, 13) == 1 && Actor_Query_Goal_Number(6) != 599) { DM_Add_To_List_Never_Repeat_Once_Selected(1210, 4, 6, 2); } - if (Actor_Clue_Query(0, 237) == 1 || Actor_Clue_Query(0, 99) == 1 && Global_Variable_Query(1) == 3) { + if (Actor_Clue_Query(0, 237) == 1 || (Actor_Clue_Query(0, 99) == 1 && Global_Variable_Query(1) == 3)) { DM_Add_To_List_Never_Repeat_Once_Selected(1220, -1, 2, 8); } if (Actor_Clue_Query(0, 113) == 1 || Actor_Clue_Query(0, 115) == 1) { diff --git a/engines/bladerunner/script/kia.cpp b/engines/bladerunner/script/kia.cpp index c82e80cff4..587e25d940 100644 --- a/engines/bladerunner/script/kia.cpp +++ b/engines/bladerunner/script/kia.cpp @@ -232,7 +232,7 @@ void ScriptKIA::SCRIPT_KIA_DLL_Play_Clue_Asset_Script(int a1, int clueId) { break; case 53: KIA_Play_Slice_Model(955); - if (Query_Difficulty_Level() <= 0) { + if (Query_Difficulty_Level() == 0) { KIA_Play_Actor_Dialogue(99, 4140); } else { KIA_Play_Actor_Dialogue(99, 4150); @@ -869,7 +869,7 @@ void ScriptKIA::SCRIPT_KIA_DLL_Play_Clue_Asset_Script(int a1, int clueId) { break; case 263: KIA_Play_Photograph(29); - if (Query_Difficulty_Level() <= 0) { + if (Query_Difficulty_Level() == 0) { KIA_Play_Actor_Dialogue(99, 4140); } else { KIA_Play_Actor_Dialogue(99, 4150); diff --git a/engines/bladerunner/script/kp03.cpp b/engines/bladerunner/script/kp03.cpp index a037ff63e5..57a1eb521b 100644 --- a/engines/bladerunner/script/kp03.cpp +++ b/engines/bladerunner/script/kp03.cpp @@ -46,7 +46,7 @@ void ScriptKP03::InitializeScene() { Scene_Loop_Set_Default(2); Game_Flag_Set(421); } - if (Actor_Query_Goal_Number(1) != 599 && !Game_Flag_Query(422) && !Game_Flag_Query(484) && (Game_Flag_Query(653) && Game_Flag_Query(420) || !Game_Flag_Query(653) && Game_Flag_Query(417))) { + if ((Actor_Query_Goal_Number(1) != 599 && !Game_Flag_Query(422) && !Game_Flag_Query(484)) && ((Game_Flag_Query(653) && Game_Flag_Query(420)) || (!Game_Flag_Query(653) && Game_Flag_Query(417)))) { Actor_Put_In_Set(1, 46); Actor_Set_At_XYZ(1, -300.0f, -36.55f, 26.0f, 350); } @@ -162,17 +162,17 @@ void ScriptKP03::SceneFrameAdvanced(int frame) { v1 = -1; if (!Game_Flag_Query(422)) { Actor_Query_XYZ(0, &x, &y, &z); - if (Game_Flag_Query(417) && -130.0f < x || Game_Flag_Query(420) && -130.0f > x) { + if ((Game_Flag_Query(417) && -130.0f < x) || (Game_Flag_Query(420) && -130.0f > x)) { v1 = 0; } } if (!Game_Flag_Query(422)) { //todo ? same condition as before Actor_Query_XYZ(1, &x, &y, &z); if (Game_Flag_Query(653) && Actor_Query_Which_Set_In(1) == 46) { - if (Game_Flag_Query(417) && -130.0f > x || Game_Flag_Query(420) && -130.0f < x) { + if ((Game_Flag_Query(417) && -130.0f > x) || (Game_Flag_Query(420) && -130.0f < x)) { v1 = 1; } - } else if (Game_Flag_Query(417) && -130.0f < x || Game_Flag_Query(420) && -130.0f > x) { + } else if ((Game_Flag_Query(417) && -130.0f < x) || (Game_Flag_Query(420) && -130.0f > x)) { v1 = 1; } } diff --git a/engines/bladerunner/script/ma04.cpp b/engines/bladerunner/script/ma04.cpp index 3fb4c01752..f31c73275d 100644 --- a/engines/bladerunner/script/ma04.cpp +++ b/engines/bladerunner/script/ma04.cpp @@ -280,7 +280,7 @@ void ScriptMA04::PlayerWalkedIn() { //return false; return; } - if (Game_Flag_Query(40) || Game_Flag_Query(41) && !Game_Flag_Query(146)) { + if ((Game_Flag_Query(40) || Game_Flag_Query(41)) && !Game_Flag_Query(146)) { Music_Play(2, 52, 0, 2, -1, 0, 0); Player_Loses_Control(); Loop_Actor_Walk_To_XYZ(0, -7199.0f, 955.0f, 1677.0f, 0, 1, false, 0); @@ -291,9 +291,7 @@ void ScriptMA04::PlayerWalkedIn() { Game_Flag_Set(146); Async_Actor_Walk_To_XYZ(0, -7204.0f, 956.17f, 1568.0f, 0, false); Set_Enter(51, 51); - //return true; } - //return false; } void ScriptMA04::PlayerWalkedOut() { @@ -316,7 +314,7 @@ bool ScriptMA04::sub_402758() { } bool ScriptMA04::sub_402820() { - return Actor_Clue_Query(5, 222) && !Game_Flag_Query(649) || Actor_Clue_Query(6, 215) && !Game_Flag_Query(650); + return (Actor_Clue_Query(5, 222) && !Game_Flag_Query(649)) || (Actor_Clue_Query(6, 215) && !Game_Flag_Query(650)); } bool ScriptMA04::sub_402888() { @@ -552,7 +550,7 @@ void ScriptMA04::sub_403DA8() { Game_Flag_Set(678); Global_Variable_Set(1, 2); Chapter_Enter(2, 10, 50); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { if (!Game_Flag_Query(723)) { Global_Variable_Increment(2, 200); } diff --git a/engines/bladerunner/script/ma05.cpp b/engines/bladerunner/script/ma05.cpp index 9861f903f1..839d91388e 100644 --- a/engines/bladerunner/script/ma05.cpp +++ b/engines/bladerunner/script/ma05.cpp @@ -105,7 +105,7 @@ void ScriptMA05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool cu void ScriptMA05::PlayerWalkedIn() { Music_Play(2, 52, 0, 2, -1, 0, 0); - if ((Random_Query(0, 4) == 1 || Game_Flag_Query(146) && !Game_Flag_Query(61)) && Global_Variable_Query(1) == 1) { + if ((Random_Query(0, 4) == 1 || (Game_Flag_Query(146) == 1 && !Game_Flag_Query(61))) && Global_Variable_Query(1) == 1) { Scene_Loop_Set_Default(1); Scene_Loop_Start_Special(2, 3, 1); Sound_Play(69, 100, 0, 0, 50); diff --git a/engines/bladerunner/script/ma06.cpp b/engines/bladerunner/script/ma06.cpp index dfe9080f83..caea6cd293 100644 --- a/engines/bladerunner/script/ma06.cpp +++ b/engines/bladerunner/script/ma06.cpp @@ -103,7 +103,7 @@ void ScriptMA06::DialogueQueueFlushed(int a1) { } bool ScriptMA06::sub_4012C0() { - return Game_Flag_Query(37) && !Game_Flag_Query(38) || Game_Flag_Query(33) && !Game_Flag_Query(34) || Game_Flag_Query(57) && !Game_Flag_Query(58); + return (Game_Flag_Query(37) && !Game_Flag_Query(38)) || (Game_Flag_Query(33) && !Game_Flag_Query(34)) || (Game_Flag_Query(57) && !Game_Flag_Query(58)); } void ScriptMA06::sub_4014E4() { diff --git a/engines/bladerunner/script/nr02.cpp b/engines/bladerunner/script/nr02.cpp index 0622161bd7..72903906a7 100644 --- a/engines/bladerunner/script/nr02.cpp +++ b/engines/bladerunner/script/nr02.cpp @@ -121,7 +121,7 @@ bool ScriptNR02::ClickedOnItem(int itemId, bool a2) { } bool ScriptNR02::ClickedOnExit(int exitId) { - if (!exitId == 0) { + if (exitId == 0) { if (!Loop_Actor_Walk_To_XYZ(0, -283.0f, -24.0f, 326.0f, 0, 1, false, 0)) { if (Actor_Query_Goal_Number(2) < 230 || Actor_Query_Goal_Number(2) > 250) { Music_Stop(2); diff --git a/engines/bladerunner/script/nr04.cpp b/engines/bladerunner/script/nr04.cpp index dc1d40d038..3af425762d 100644 --- a/engines/bladerunner/script/nr04.cpp +++ b/engines/bladerunner/script/nr04.cpp @@ -145,7 +145,7 @@ bool ScriptNR04::ClickedOnExit(int exitId) { } bool ScriptNR04::ClickedOn2DRegion(int region) { - if (region == 0 || region == 1 || region == 2 && Actor_Query_Which_Set_In(18) != 12 && Actor_Query_Animation_Mode(0) != 53 && !Loop_Actor_Walk_To_Waypoint(0, 445, 0, 1, false)) { + if ((region == 0 || region == 1 || region == 2) && Actor_Query_Which_Set_In(18) != 12 && Actor_Query_Animation_Mode(0) != 53 && !Loop_Actor_Walk_To_Waypoint(0, 445, 0, 1, false)) { Actor_Face_Heading(0, 49, false); Actor_Change_Animation_Mode(0, 85); Delay(2500); diff --git a/engines/bladerunner/script/ps04.cpp b/engines/bladerunner/script/ps04.cpp index 8ed76dc614..3718c6d513 100644 --- a/engines/bladerunner/script/ps04.cpp +++ b/engines/bladerunner/script/ps04.cpp @@ -183,7 +183,7 @@ void ScriptPS04::sub_4017E4() { Actor_Says(4, 260, 33); Actor_Says(4, 270, 32); Game_Flag_Set(159); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Increment(2, 200); } Game_Flag_Set(723); @@ -252,7 +252,7 @@ void ScriptPS04::sub_4017E4() { Actor_Says(4, 550, 32); Actor_Says(0, 4065, 18); Actor_Says(4, 560, 34); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Increment(2, 100); } break; diff --git a/engines/bladerunner/script/ps07.cpp b/engines/bladerunner/script/ps07.cpp index 6708041544..8d8ade5d78 100644 --- a/engines/bladerunner/script/ps07.cpp +++ b/engines/bladerunner/script/ps07.cpp @@ -71,7 +71,7 @@ bool ScriptPS07::ClickedOnActor(int actorId) { if (!Game_Flag_Query(111)) { Actor_Says(0, 4115, 13); } - if (!Game_Flag_Query(111) && Game_Flag_Query(125) || Game_Flag_Query(126) || Game_Flag_Query(127) || Game_Flag_Query(128)) { + if (!Game_Flag_Query(111) && (Game_Flag_Query(125) || Game_Flag_Query(126) || Game_Flag_Query(127) || Game_Flag_Query(128))) { Actor_Face_Actor(30, 0, true); Actor_Says(30, 30, 12); Game_Flag_Set(111); diff --git a/engines/bladerunner/script/ps15.cpp b/engines/bladerunner/script/ps15.cpp index 464efe9406..3e8224a07a 100644 --- a/engines/bladerunner/script/ps15.cpp +++ b/engines/bladerunner/script/ps15.cpp @@ -57,7 +57,7 @@ bool ScriptPS15::ClickedOn3DObject(const char *objectName, bool a2) { bool ScriptPS15::ClickedOnActor(int actorId) { if (actorId == 34) { - if (Actor_Clue_Query(0, 80) || Actor_Clue_Query(0, 83) && !Actor_Clue_Query(0, 81)) { + if ((Actor_Clue_Query(0, 80) || Actor_Clue_Query(0, 83)) && !Actor_Clue_Query(0, 81)) { if (!Loop_Actor_Walk_To_XYZ(0, -256.0f, -113.43f, 43.51f, 0, 1, false, 0)) { Actor_Face_Actor(0, 34, true); Actor_Face_Actor(34, 0, true); diff --git a/engines/bladerunner/script/rc04.cpp b/engines/bladerunner/script/rc04.cpp index b0ac2f7fc9..830b7f5893 100644 --- a/engines/bladerunner/script/rc04.cpp +++ b/engines/bladerunner/script/rc04.cpp @@ -222,7 +222,7 @@ void ScriptRC04::sub_401DF4() { Actor_Says(14, 2120, 31); if (Global_Variable_Query(2) > 40 || Query_Difficulty_Level() == 0) { Actor_Says(0, 4940, 13); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Decrement(2, 40); } Item_Pickup_Spin_Effect(995, 405, 192); @@ -274,7 +274,7 @@ void ScriptRC04::sub_401DF4() { Actor_Says(14, 880, 34); Actor_Clue_Acquire(14, 110, 1, 0); Actor_Modify_Friendliness_To_Other(14, 0, 8); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Increment(2, 60); } break; @@ -330,7 +330,7 @@ bool ScriptRC04::ClickedOnActor(int actorId) { Actor_Says(14, 2010, 35); if (Global_Variable_Query(2) > 50 || Query_Difficulty_Level() == 0) { Actor_Says(0, 8975, 16); - if (Query_Difficulty_Level()) { + if (Query_Difficulty_Level() != 0) { Global_Variable_Decrement(2, 50); } Delay(3000); diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp index 6cc4319e34..dd6e293163 100644 --- a/engines/bladerunner/script/script.cpp +++ b/engines/bladerunner/script/script.cpp @@ -1280,11 +1280,11 @@ void ScriptBase::Set_Fade_Density(float density) { _vm->_scene->_set->_effects->setFadeDensity(density); } -void ScriptBase::Set_Fog_Color(char* fogName, float r, float g, float b) { +void ScriptBase::Set_Fog_Color(const char* fogName, float r, float g, float b) { _vm->_scene->_set->_effects->setFogColor(fogName, r, g, b); } -void ScriptBase::Set_Fog_Density(char* fogName, float density) { +void ScriptBase::Set_Fog_Density(const char* fogName, float density) { _vm->_scene->_set->_effects->setFogDensity(fogName, density); } diff --git a/engines/bladerunner/script/script.h b/engines/bladerunner/script/script.h index a4c8ad00fd..0ab9efa65f 100644 --- a/engines/bladerunner/script/script.h +++ b/engines/bladerunner/script/script.h @@ -250,8 +250,8 @@ protected: void Un_Combat_Target_Object(const char *objectName); void Set_Fade_Color(float r, float g, float b); void Set_Fade_Density(float density); - void Set_Fog_Color(char* fogName, float r, float g, float b); - void Set_Fog_Density(char* fogName, float density); + void Set_Fog_Color(const char* fogName, float r, float g, float b); + void Set_Fog_Density(const char* fogName, float density); void ADQ_Flush(); void ADQ_Add(int a1, int a2, int a3); void ADQ_Add_Pause(int delay); diff --git a/engines/bladerunner/script/tb06.cpp b/engines/bladerunner/script/tb06.cpp index 81b35b6fc0..d266e52b28 100644 --- a/engines/bladerunner/script/tb06.cpp +++ b/engines/bladerunner/script/tb06.cpp @@ -114,7 +114,7 @@ bool ScriptTB06::ClickedOnItem(int itemId, bool a2) { Actor_Says(0, 5285, 3); return true; } - if (itemId == 103 || itemId == 104 || itemId == 105 && !Loop_Actor_Walk_To_Item(0, 103, 24, 1, false)) { + if ((itemId == 103 || itemId == 104 || itemId == 105) && !Loop_Actor_Walk_To_Item(0, 103, 24, 1, false)) { Actor_Face_Item(0, 103, true); Actor_Voice_Over(2380, 99); Actor_Voice_Over(2390, 99); diff --git a/engines/bladerunner/script/ug10.cpp b/engines/bladerunner/script/ug10.cpp index 689dbdc896..9879b6e204 100644 --- a/engines/bladerunner/script/ug10.cpp +++ b/engines/bladerunner/script/ug10.cpp @@ -101,7 +101,7 @@ bool ScriptUG10::ClickedOnExit(int exitId) { float x, y, z; Actor_Query_XYZ(0, &x, &y, &z); if (exitId == 0) { - if (!Game_Flag_Query(474) && x > 125.0f || Game_Flag_Query(474)) { + if ((!Game_Flag_Query(474) && x > 125.0f) || Game_Flag_Query(474)) { if (!Loop_Actor_Walk_To_XYZ(0, 235.0f, 1.15f, 29.0f, 0, 1, false, 0)) { Game_Flag_Set(317); Set_Enter(74, 86); @@ -111,7 +111,7 @@ bool ScriptUG10::ClickedOnExit(int exitId) { Actor_Says(0, 8521, 3); } } else if (exitId == 1) { - if (!Game_Flag_Query(474) && x < 120.0f || Game_Flag_Query(474)) { + if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) { if (!Loop_Actor_Walk_To_XYZ(0, -1.83f, 1.15f, -410.8f, 0, 1, false, 0)) { Actor_Face_Heading(0, 0, false); Loop_Actor_Travel_Stairs(0, 9, 1, 0); @@ -124,7 +124,7 @@ bool ScriptUG10::ClickedOnExit(int exitId) { Actor_Says(0, 6165, 3); } } else if (exitId == 2) { - if (!Game_Flag_Query(474) && x < 120.0f || Game_Flag_Query(474)) { + if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) { if (!Loop_Actor_Walk_To_XYZ(0, -385.0f, 1.15f, 57.44f, 0, 1, false, 0)) { Actor_Face_Heading(0, 1001, false); Loop_Actor_Travel_Ladder(0, 1, 1, 0); @@ -136,7 +136,7 @@ bool ScriptUG10::ClickedOnExit(int exitId) { Actor_Says(0, 6165, 3); } } else if (exitId == 3) { - if (!Game_Flag_Query(474) && x < 120.0f || Game_Flag_Query(474)) { + if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) { if (!Loop_Actor_Walk_To_XYZ(0, 2.5f, 1.15f, 405.0f, 0, 1, false, 0)) { Game_Flag_Set(347); Set_Enter(86, 98); diff --git a/engines/bladerunner/script/ug16.cpp b/engines/bladerunner/script/ug16.cpp index 379e0bb793..2a4a028c3d 100644 --- a/engines/bladerunner/script/ug16.cpp +++ b/engines/bladerunner/script/ug16.cpp @@ -98,19 +98,19 @@ bool ScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) { } if (Object_Query_Click("SCREEN 01", objectName) && !Loop_Actor_Walk_To_XYZ(0, 194.0f, -35.0f, 160.8f, 0, 1, false, 0)) { Actor_Face_Heading(0, 870, false); - if (Game_Flag_Query(595) || !Actor_Query_Is_In_Current_Set(10) && !Actor_Clue_Query(0, 151) && !Game_Flag_Query(568)) { - Delay(2000); - Actor_Face_Heading(0, 1016, false); - Delay(2000); - Actor_Says(0, 5725, 14); - Delay(1000); - Item_Pickup_Spin_Effect(941, 418, 305); - Actor_Clue_Acquire(0, 151, 1, -1); - return true; + if ((!Game_Flag_Query(595) && Actor_Query_Is_In_Current_Set(10)) || Actor_Clue_Query(0, 151) || Game_Flag_Query(568)) { + Actor_Says(0, 8525, 12); + Actor_Says(0, 8526, 12); + return false; } - Actor_Says(0, 8525, 12); - Actor_Says(0, 8526, 12); - return false; + Delay(2000); + Actor_Face_Heading(0, 1016, false); + Delay(2000); + Actor_Says(0, 5725, 14); + Delay(1000); + Item_Pickup_Spin_Effect(941, 418, 305); + Actor_Clue_Acquire(0, 151, 1, -1); + return true; } return false; } diff --git a/engines/bladerunner/set_effects.cpp b/engines/bladerunner/set_effects.cpp index f4d2506292..318ad37633 100644 --- a/engines/bladerunner/set_effects.cpp +++ b/engines/bladerunner/set_effects.cpp @@ -82,7 +82,7 @@ void SetEffects::setFadeDensity(float density) { _fadeDensity = density; } -void SetEffects::setFogColor(char *fogName, float r, float g, float b) { +void SetEffects::setFogColor(const char *fogName, float r, float g, float b) { Fog *fog = findFog(fogName); if (fog == nullptr) return; @@ -92,7 +92,7 @@ void SetEffects::setFogColor(char *fogName, float r, float g, float b) { fog->_fogColor.b = b; } -void SetEffects::setFogDensity(char *fogName, float density) { +void SetEffects::setFogDensity(const char *fogName, float density) { Fog *fog = findFog(fogName); if (fog == nullptr) return; @@ -127,7 +127,7 @@ void SetEffects::calculateColor(Vector3 viewPosition, Vector3 position, float *o outColor->b = outColor->b * (1.0f - this->_fadeDensity) + this->_fadeColor.b * this->_fadeDensity; } -Fog *SetEffects::findFog(char *fogName) { +Fog *SetEffects::findFog(const char *fogName) { if (!_fogs) return nullptr; diff --git a/engines/bladerunner/set_effects.h b/engines/bladerunner/set_effects.h index 233009ded2..199009fc26 100644 --- a/engines/bladerunner/set_effects.h +++ b/engines/bladerunner/set_effects.h @@ -55,13 +55,13 @@ public: void setFadeColor(float r, float g, float b); void setFadeDensity(float density); - void setFogColor(char* fogName, float r, float g, float b); - void setFogDensity(char* fogName, float density); + void setFogColor(const char* fogName, float r, float g, float b); + void setFogDensity(const char* fogName, float density); void calculateColor(Vector3 viewPosition, Vector3 position, float *outCoeficient, Color *outColor); private: - Fog* findFog(char* fogName); + Fog* findFog(const char* fogName); }; |