aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorColin Snover2017-09-29 20:16:53 -0500
committerColin Snover2017-09-29 20:20:20 -0500
commitf43b2c66fe417035b56908e857304abe40518631 (patch)
treed00cda63da03d8c1d15484ea68ebdd7180816b99 /engines/sci
parent4d49c3db3ae0cce2fe7fa38c65a56c8795e629ac (diff)
downloadscummvm-rg350-f43b2c66fe417035b56908e857304abe40518631.tar.gz
scummvm-rg350-f43b2c66fe417035b56908e857304abe40518631.tar.bz2
scummvm-rg350-f43b2c66fe417035b56908e857304abe40518631.zip
SCI32: Improve RESOURCE.SFX fallback for RAMA
Since Datafiles says to rename any RESOURCE.SFX to RESSFX.00n, and there is only a RESOURCE.SFX on CD 1, don't confuse users by failing to use RESSFX.001 for CD2 and CD3.
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/resource.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index ad6415daea..97cec405b3 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -1928,10 +1928,16 @@ int ResourceManager::readResourceMapSCI1(ResourceSource *map) {
volumeName = "RESAUD.001";
}
} else if (resId.getNumber() == 65535) {
- if (g_sci->getGameId() == GID_RAMA && Common::File::exists("RESOURCE.SFX")) {
- volumeName = "RESOURCE.SFX";
- } else {
+ if (g_sci->getGameId() == GID_RAMA) {
volumeName = Common::String::format("RESSFX.%03d", mapVolumeNr);
+
+ if (g_sci->getGameId() == GID_RAMA && !Common::File::exists(volumeName)) {
+ if (Common::File::exists("RESOURCE.SFX")) {
+ volumeName = "RESOURCE.SFX";
+ } else if (Common::File::exists("RESSFX.001")) {
+ volumeName = "RESSFX.001";
+ }
+ }
}
} else {
volumeName = Common::String::format("RESAUD.%03d", mapVolumeNr);