aboutsummaryrefslogtreecommitdiff
path: root/engines/saga
diff options
context:
space:
mode:
authorFilippos Karapetis2007-09-01 13:55:13 +0000
committerFilippos Karapetis2007-09-01 13:55:13 +0000
commite7e9f17ced504e6b81d9a5c1b484bf302181016f (patch)
tree7bab32c31441d8f80f98820ade7496257f97f554 /engines/saga
parent9329f9a8c68bedb1a40e936405ddbba10eb7dc72 (diff)
downloadscummvm-rg350-e7e9f17ced504e6b81d9a5c1b484bf302181016f.tar.gz
scummvm-rg350-e7e9f17ced504e6b81d9a5c1b484bf302181016f.tar.bz2
scummvm-rg350-e7e9f17ced504e6b81d9a5c1b484bf302181016f.zip
The music of chapter 6 in IHNM is loaded correctly now
svn-id: r28786
Diffstat (limited to 'engines/saga')
-rw-r--r--engines/saga/rscfile.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/engines/saga/rscfile.cpp b/engines/saga/rscfile.cpp
index a95caa4e3f..ba56e838b7 100644
--- a/engines/saga/rscfile.cpp
+++ b/engines/saga/rscfile.cpp
@@ -748,16 +748,14 @@ void Resource::loadGlobalResources(int chapter, int actorsEntrance) {
_vm->_anim->loadCutawayList(resourcePointer, resourceLength);
if (_metaResource.songTableID > 0) {
- // FIXME: HACK for chapter 6 (last chapter) of IHNM. For some reason, the songtable with songTableID
- // 1028 can't be loaded properly, so it's substituted here with Gorrister's songtable (ID 116)
- // The strange thing is that the song invoked when each character enters the final chapter is
- // supposed to be different, but the song numbers called by sfPlayMusic/sfQueueMusic are the
- // same every time, which leads me to believe that a different meta resource is loaded depending
- // on the character selected
- if (_vm->getGameType() == GType_IHNM && _metaResource.songTableID == 1028)
- _metaResource.songTableID = 116;
_vm->_resource->loadResource(resourceContext, _metaResource.songTableID, resourcePointer, resourceLength);
+ if (chapter == 6) {
+ int32 id = READ_LE_UINT32(&resourcePointer[actorsEntrance * 4]);
+ free(resourcePointer);
+ _vm->_resource->loadResource(resourceContext, id, resourcePointer, resourceLength);
+ }
+
if (resourceLength == 0) {
error("Resource::loadGlobalResources Can't load songs list for current track");
}