SCI: Fixed the GM detection introduced in rev #52211 to check the first available track, instead of track 1 (which doesn't always exist, e.g. in Pharkas). Also, added a comment inside applyPatch()
svn-id: r52222
This commit is contained in:
parent
588472a8e6
commit
31c889d7ce
2 changed files with 9 additions and 2 deletions
|
@ -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++;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue