diff options
Diffstat (limited to 'engines/sci/resource.cpp')
-rw-r--r-- | engines/sci/resource.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index 8e4a6d13b9..8e48d0abd0 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -31,6 +31,7 @@ #include "common/memstream.h" #endif +#include "sci/engine/workarounds.h" #include "sci/parser/vocabulary.h" #include "sci/resource.h" #include "sci/resource_intern.h" @@ -1134,6 +1135,12 @@ Common::List<ResourceId> ResourceManager::listResources(ResourceType type, int m } Resource *ResourceManager::findResource(ResourceId id, bool lock) { + // remap known incorrect audio36 and sync36 resource ids + if (id.getType() == kResourceTypeAudio36) { + id = remapAudio36ResourceId(id); + } else if (id.getType() == kResourceTypeSync36) { + id = remapSync36ResourceId(id); + } Resource *retval = testResource(id); if (!retval) |