[Scummvm-git-logs] scummvm branch-2-7 -> 006e3c37fffd4786d0d627f8697f939a00b425de
dwatteau
noreply at scummvm.org
Wed Jul 5 17:59:04 UTC 2023
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3e15e1904b SCUMM: MI1 (Ultimate Talkie): Fix #14269
006e3c37ff SCUMM: FT: Fix crash with debug mode on when pressing 'A'
Commit: 3e15e1904bbb84848c8ecf06dd8d8bd4fcdd041c
https://github.com/scummvm/scummvm/commit/3e15e1904bbb84848c8ecf06dd8d8bd4fcdd041c
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-07-05T19:15:53+02:00
Commit Message:
SCUMM: MI1 (Ultimate Talkie): Fix #14269
(cherry picked from commit da2dc011f8445ef3a530b2e86ce38be9d733a982)
Changed paths:
engines/scumm/scumm.cpp
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 112d4ef39ef..bef3d67a035 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1302,8 +1302,11 @@ void ScummEngine::setupScumm(const Common::String &macResourceFile) {
} else
track = 1;
+ // The Ultimate Talkie version of Monkey Island 1 provides an automatic
+ // fallback with MIDI music when CD tracks are not found.
if (!existExtractedCDAudioFiles(track)
- && !isDataAndCDAudioReadFromSameCD()) {
+ && !isDataAndCDAudioReadFromSameCD()
+ && !(_game.id == GID_MONKEY && _game.features & GF_ULTIMATE_TALKIE)) {
warnMissingExtractedCDAudio();
}
_system->getAudioCDManager()->open();
Commit: 006e3c37fffd4786d0d627f8697f939a00b425de
https://github.com/scummvm/scummvm/commit/006e3c37fffd4786d0d627f8697f939a00b425de
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-07-05T19:16:05+02:00
Commit Message:
SCUMM: FT: Fix crash with debug mode on when pressing 'A'
(cherry picked from commit 344fb2c2d594f1aa88bea9b625542d6ecdf9dc16)
Changed paths:
engines/scumm/script_v6.cpp
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index 421e5a4efad..4e6ddd2694b 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -1359,8 +1359,15 @@ void ScummEngine_v6::o6_getActorRoom() {
return;
}
- Actor *a = derefActor(act, "o6_getActorRoom");
- push(a->_room);
+ Actor *a = derefActorSafe(act, "o6_getActorRoom");
+ // This check is in place because at least Full Throttle, despite
+ // only allowing 30 actors, might ask for actor 30 (0-indexed), which
+ // on the original went on to fetch garbage data without crashing.
+ // In our case, instead of erroring out, we handle the issue gracefully.
+ if (a)
+ push(a->_room);
+ else
+ push(0);
}
void ScummEngine_v6::o6_getActorWalkBox() {
More information about the Scummvm-git-logs
mailing list