[Scummvm-git-logs] scummvm master -> 084dc1ffd6e3c4bcdaa3206088a763594b1dcb4c
antoniou79
antoniou at cti.gr
Sun Jul 28 21:57:44 CEST 2019
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8f9927608b BLADERUNNER: prevent seg fault when opening KIA
45e58abe36 BLADERUNNER: Clean up KIA at endgame and playerDied
4ba487a064 BLADERUNNER: Close MODE.MIX if ScummVM is closed during ESPER
084dc1ffd6 BLADERUNNER: Prevent McCoy from running to BB10 before Sadik
Commit: 8f9927608b1041dc66c056f0e388cb559164a70e
https://github.com/scummvm/scummvm/commit/8f9927608b1041dc66c056f0e388cb559164a70e
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-07-28T22:52:18+03:00
Commit Message:
BLADERUNNER: prevent seg fault when opening KIA
Only if a restored content save was loaded in original game mode
Changed paths:
engines/bladerunner/ui/kia.cpp
diff --git a/engines/bladerunner/ui/kia.cpp b/engines/bladerunner/ui/kia.cpp
index b312a03..6980544 100644
--- a/engines/bladerunner/ui/kia.cpp
+++ b/engines/bladerunner/ui/kia.cpp
@@ -91,11 +91,10 @@ KIA::KIA(BladeRunnerEngine *vm) {
_pogoPos = 0;
- if (_vm->_cutContent) {
- _buttons = new UIImagePicker(_vm, 23); // add description box for objects
- } else {
- _buttons = new UIImagePicker(_vm, 22);
- }
+ // original imageCount was 22. We add +1 to have a description box for objects in cut content
+ // We don't have separated cases here, for _vm->_cutContent since that causes assertion fault if
+ // loading a "restoed content" save game in a "original game" version
+ _buttons = new UIImagePicker(_vm, 23);
_crimesSection = new KIASectionCrimes(_vm, _vm->_playerActor->_clues);
_suspectsSection = new KIASectionSuspects(_vm, _vm->_playerActor->_clues);
Commit: 45e58abe3616d850d008e6550c158fcb92deb85d
https://github.com/scummvm/scummvm/commit/45e58abe3616d850d008e6550c158fcb92deb85d
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-07-28T22:52:18+03:00
Commit Message:
BLADERUNNER: Clean up KIA at endgame and playerDied
Changed paths:
engines/bladerunner/bladerunner.cpp
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index 93ffbe0..4a2bf09 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -343,6 +343,11 @@ Common::Error BladeRunnerEngine::run() {
// additional code for gracefully handling end-game after _endCredits->show()
_gameOver = false;
_gameIsRunning = true;
+ // reset ammo amounts
+ _settings->reset();
+ // need to clear kFlagKIAPrivacyAddon to remove Bob's Privacy Addon for KIA
+ // so it won't appear here after end credits
+ _gameFlags->reset(kFlagKIAPrivacyAddon);
if (!playerHasControl()) {
// force a player gains control
playerGainsControl(true);
@@ -1959,6 +1964,12 @@ void BladeRunnerEngine::playerDied() {
#if BLADERUNNER_ORIGINAL_BUGS
#else
+ // reset ammo amounts
+ _settings->reset();
+ // need to clear kFlagKIAPrivacyAddon to remove Bob's Privacy Addon for KIA
+ // so it won't appear here after end credits
+ _gameFlags->reset(kFlagKIAPrivacyAddon);
+
_ambientSounds->removeAllNonLoopingSounds(true);
_ambientSounds->removeAllLoopingSounds(4);
_music->stop(4);
Commit: 4ba487a064834a8fa1cca335981b24b4c96b5b12
https://github.com/scummvm/scummvm/commit/4ba487a064834a8fa1cca335981b24b4c96b5b12
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-07-28T22:52:18+03:00
Commit Message:
BLADERUNNER: Close MODE.MIX if ScummVM is closed during ESPER
Changed paths:
engines/bladerunner/bladerunner.cpp
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index 4a2bf09..f451db1 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -821,6 +821,11 @@ void BladeRunnerEngine::shutdown() {
closeArchive("MUSIC.MIX");
}
+ // in case player closes the ScummVM window when in ESPER mode or similar
+ if (isArchiveOpen("MODE.MIX")) {
+ closeArchive("MODE.MIX");
+ }
+
if (_chapters) {
if (_chapters->hasOpenResources())
_chapters->closeResources();
Commit: 084dc1ffd6e3c4bcdaa3206088a763594b1dcb4c
https://github.com/scummvm/scummvm/commit/084dc1ffd6e3c4bcdaa3206088a763594b1dcb4c
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-07-28T22:52:18+03:00
Commit Message:
BLADERUNNER: Prevent McCoy from running to BB10 before Sadik
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/script/ai/sadik.cpp
engines/bladerunner/script/scene/bb09.cpp
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 39d4c8b..18697a9 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -2286,7 +2286,7 @@ enum GoalIzo {
};
enum GoalSadik {
- kGoalSadikDefaut = 100,
+ kGoalSadikDefault = 100,
kGoalSadikRunFromBB09 = 101,
kGoalSadikBB11Wait = 102,
kGoalSadikBB11ThrowMcCoy = 103,
diff --git a/engines/bladerunner/script/ai/sadik.cpp b/engines/bladerunner/script/ai/sadik.cpp
index a6de93a..db6de36 100644
--- a/engines/bladerunner/script/ai/sadik.cpp
+++ b/engines/bladerunner/script/ai/sadik.cpp
@@ -46,7 +46,7 @@ void AIScriptSadik::Initialize() {
Actor_Put_In_Set(kActorSadik, kSetFreeSlotA);
Actor_Set_At_Waypoint(kActorSadik, 33, 0);
- Actor_Set_Goal_Number(kActorSadik, kGoalSadikDefaut);
+ Actor_Set_Goal_Number(kActorSadik, kGoalSadikDefault);
}
bool AIScriptSadik::Update() {
@@ -264,7 +264,7 @@ int AIScriptSadik::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueI
bool AIScriptSadik::GoalChanged(int currentGoalNumber, int newGoalNumber) {
switch (newGoalNumber) {
- case kGoalSadikDefaut:
+ case kGoalSadikDefault:
AI_Movement_Track_Flush(kActorSadik);
AI_Movement_Track_Append(kActorSadik, 33, 0);
AI_Movement_Track_Repeat(kActorSadik);
diff --git a/engines/bladerunner/script/scene/bb09.cpp b/engines/bladerunner/script/scene/bb09.cpp
index a39e898..7e74fca 100644
--- a/engines/bladerunner/script/scene/bb09.cpp
+++ b/engines/bladerunner/script/scene/bb09.cpp
@@ -34,7 +34,21 @@ void SceneScriptBB09::InitializeScene() {
Setup_Scene_Information(107.45f, -9.14f, 166.0f, 244);
}
+#if BLADERUNNER_ORIGINAL_BUGS
Scene_Exit_Add_2D_Exit(0, 224, 213, 286, 353, 1);
+#else
+ // in the original McCoy could run ahead of Sadik to the next room
+ // if the player clicked quickly enough
+ // kFlagBB11SadikFight is set after Sadik exits this room in Chapter 2
+ // (and his goal is set to kGoalSadikBB11Wait)
+ // this flag will be reset before Act 3, when McCoy is ambushed at the BB roof
+ if ((Global_Variable_Query(kVariableChapter) == 2
+ && Game_Flag_Query(kFlagBB11SadikFight))
+ || (Global_Variable_Query(kVariableChapter) > 2)
+ ) {
+ Scene_Exit_Add_2D_Exit(0, 224, 213, 286, 353, 1);
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
Scene_Exit_Add_2D_Exit(1, 75, 450, 480, 479, 2);
Ambient_Sounds_Add_Looping_Sound(kSfxCTRAIN1, 20, 100, 1);
@@ -56,7 +70,10 @@ void SceneScriptBB09::InitializeScene() {
Ambient_Sounds_Add_Sound(kSfxHAUNT1, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
Ambient_Sounds_Add_Sound(kSfxHAUNT2, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
- Actor_Set_Targetable(kActorSadik, true); // Don't kill Sadik yet, game cannot continue. This is an original bug - fixed in ScummVM in Sadik's AI script (method ShotAtAndHit() )
+ // Original: // Don't kill Sadik yet, game cannot continue.
+ // This is an original bug - fixed in ScummVM in Sadik's AI script (method ShotAtAndHit() )
+ // Also Sadik is also set as targetable (redundant) in his AI script (method Update() )
+ Actor_Set_Targetable(kActorSadik, true);
}
void SceneScriptBB09::SceneLoaded() {
@@ -114,6 +131,14 @@ void SceneScriptBB09::SceneFrameAdvanced(int frame) {
}
void SceneScriptBB09::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) {
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ // in the original McCoy could run ahead of Sadik to the next room
+ // if the player clicked quickly enough
+ if (actorId == kActorSadik && newGoal == kGoalSadikBB11Wait) {
+ Scene_Exit_Add_2D_Exit(0, 224, 213, 286, 353, 1);
+ }
+#endif // BLADERUNNER_ORIGINAL_BUGS
}
void SceneScriptBB09::PlayerWalkedIn() {
More information about the Scummvm-git-logs
mailing list