[Scummvm-git-logs] scummvm master -> e5b10e557cf283be5c268bf759ba463a11d45f77
sluicebox
22204938+sluicebox at users.noreply.github.com
Wed Nov 18 22:06:59 UTC 2020
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:
3d02a6381c SCI32: Ignore more GK2 broken audio maps
e5b10e557c SCI: Load volume resource files in consistent order
Commit: 3d02a6381c022aea50cb8bf463a74495941ee997
https://github.com/scummvm/scummvm/commit/3d02a6381c022aea50cb8bf463a74495941ee997
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2020-11-18T13:21:51-08:00
Commit Message:
SCI32: Ignore more GK2 broken audio maps
Fixes broken audio at Huber Farm that occurs seemingly randomly
due to the file enumeration order from the operating system.
Changed paths:
engines/sci/resource_audio.cpp
diff --git a/engines/sci/resource_audio.cpp b/engines/sci/resource_audio.cpp
index 9c3dd9129e..0cf57d19ac 100644
--- a/engines/sci/resource_audio.cpp
+++ b/engines/sci/resource_audio.cpp
@@ -575,7 +575,7 @@ int ResourceManager::readAudioMapSCI11(IntMapResourceSource *map) {
}
// GK2 has invalid audio36 map entries on CD 1 of the German
- // version and CD 6 of all versions. All are safe to ignore
+ // version and CDs 5-6 of all versions. All are safe to ignore
// because their content doesn't apply to the disc's chapter.
if (g_sci->getGameId() == GID_GK2) {
// Map 2020 on CD 1 only exists in localized versions and
@@ -585,6 +585,15 @@ int ResourceManager::readAudioMapSCI11(IntMapResourceSource *map) {
continue;
}
+ // Maps 210 and 220 on CD 5 point to garbage data.
+ // These maps are for Huber Farm messages but this area
+ // was removed from chapter 5. If these map entries are
+ // used then it breaks the audio during other chapters.
+ if (map->_volumeNumber == 5 &&
+ (map->_mapNumber == 210 || map->_mapNumber == 220)) {
+ continue;
+ }
+
// Maps 22 and 160 on CD 6 appear in various broken forms
// in English and apparently every localized version.
// These messages are for Grace's notebook and castle
Commit: e5b10e557cf283be5c268bf759ba463a11d45f77
https://github.com/scummvm/scummvm/commit/e5b10e557cf283be5c268bf759ba463a11d45f77
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2020-11-18T14:05:22-08:00
Commit Message:
SCI: Load volume resource files in consistent order
The order that volume resources are loaded subtly affects engine
behavior when they contain different versions of the same resource.
This order has been the file enumeration order from the operating
system, causing inconsistent behavior between environments and even
between two different directories of identical files.
Changed paths:
engines/sci/resource.cpp
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index 1fef064dd2..8957a01a5f 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -640,6 +640,7 @@ int ResourceManager::addAppropriateSources() {
Common::ArchiveMemberList files;
SearchMan.listMatchingMembers(files, "resource.0##");
+ Common::sort(files.begin(), files.end(), Common::ArchiveMemberListComparator());
for (Common::ArchiveMemberList::const_iterator x = files.begin(); x != files.end(); ++x) {
const Common::String name = (*x)->getName();
const char *dot = strrchr(name.c_str(), '.');
@@ -679,6 +680,7 @@ int ResourceManager::addAppropriateSources() {
_multiDiscAudio = true;
}
+ Common::sort(mapFiles.begin(), mapFiles.end(), Common::ArchiveMemberListComparator());
for (Common::ArchiveMemberList::const_iterator mapIterator = mapFiles.begin(); mapIterator != mapFiles.end(); ++mapIterator) {
Common::String mapName = (*mapIterator)->getName();
int mapNumber = atoi(strrchr(mapName.c_str(), '.') + 1);
More information about the Scummvm-git-logs
mailing list