aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2007-07-27 00:11:36 +0000
committerFilippos Karapetis2007-07-27 00:11:36 +0000
commitf04c56fb69b08e435b6906646bd910f589bf8c71 (patch)
treec4846841061bd4cf8e82295a6b8144061cf6c535
parent2b219db314319484b6eaf34d3bdac09e81e6acbe (diff)
downloadscummvm-rg350-f04c56fb69b08e435b6906646bd910f589bf8c71.tar.gz
scummvm-rg350-f04c56fb69b08e435b6906646bd910f589bf8c71.tar.bz2
scummvm-rg350-f04c56fb69b08e435b6906646bd910f589bf8c71.zip
The meta resource table is now properly initialized for the IHNM demo. The starting chapter is also set correctly
svn-id: r28222
-rw-r--r--engines/saga/rscfile.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/engines/saga/rscfile.cpp b/engines/saga/rscfile.cpp
index 39224b032b..318d8b71b7 100644
--- a/engines/saga/rscfile.cpp
+++ b/engines/saga/rscfile.cpp
@@ -555,10 +555,15 @@ void Resource::loadResource(ResourceContext *context, uint32 resourceId, byte*&r
}
static int metaResourceTable[] = { 0, 326, 517, 677, 805, 968, 1165, 0, 1271 };
+static int metaResourceTableDemo[] = { 0, 0, 0, 0, 0, 0, 0, 285, 0 };
void Resource::loadGlobalResources(int chapter, int actorsEntrance) {
- if (chapter < 0)
- chapter = 8;
+ if (chapter < 0) {
+ if (_vm->getGameId() != GID_IHNM_DEMO)
+ chapter = 8;
+ else
+ chapter = 7;
+ }
// TODO
//if (module.voiceLUT)
@@ -583,8 +588,13 @@ void Resource::loadGlobalResources(int chapter, int actorsEntrance) {
byte *resourcePointer;
size_t resourceLength;
- _vm->_resource->loadResource(resourceContext, metaResourceTable[chapter],
- resourcePointer, resourceLength);
+ if (_vm->getGameId() != GID_IHNM_DEMO) {
+ _vm->_resource->loadResource(resourceContext, metaResourceTable[chapter],
+ resourcePointer, resourceLength);
+ } else {
+ _vm->_resource->loadResource(resourceContext, metaResourceTableDemo[chapter],
+ resourcePointer, resourceLength);
+ }
if (resourceLength == 0) {
error("Resource::loadGlobalResources wrong metaResource");