diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/script_patches.cpp | 1 | ||||
-rw-r--r-- | engines/sci/resource_audio.cpp | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp index 6f97b3b69b..60d3369fb6 100644 --- a/engines/sci/engine/script_patches.cpp +++ b/engines/sci/engine/script_patches.cpp @@ -542,6 +542,7 @@ void Script::applyPatch(const uint16 *patch, byte *scriptData, const uint32 scri offset += patchWord & ~PATCH_ADDTOOFFSET; } else if (patchWord & PATCH_GETORIGINALBYTE) { // TODO: implement this + // Can be used to patch in some bytes from the original script into another location } else { scriptData[offset] = patchWord & 0xFF; offset++; diff --git a/engines/sci/resource_audio.cpp b/engines/sci/resource_audio.cpp index 5457c1eb38..590926dbbd 100644 --- a/engines/sci/resource_audio.cpp +++ b/engines/sci/resource_audio.cpp @@ -531,9 +531,15 @@ bool ResourceManager::isGMTrackIncluded() { // For the leftover games, we can safely use SCI_VERSION_1_EARLY for the soundVersion const SciVersion soundVersion = SCI_VERSION_1_EARLY; - // Read song 1 and check if it has a GM track + // Read the first song and check if it has a GM track bool result = false; - SoundResource *song1 = new SoundResource(1, this, soundVersion); + Common::List<ResourceId> *resources = listResources(kResourceTypeSound, -1); + Common::sort(resources->begin(), resources->end()); + Common::List<ResourceId>::iterator itr = resources->begin(); + int firstSongId = itr->getNumber(); + delete resources; + + SoundResource *song1 = new SoundResource(firstSongId, this, soundVersion); if (!song1) { warning("ResourceManager::isGMTrackIncluded: track 1 not found"); return false; |