SAGA: Some code cleanup

svn-id: r34703
This commit is contained in:
Max Horn 2008-09-30 12:58:27 +00:00
parent ae8c0857b9
commit 6aa12974bd
5 changed files with 19 additions and 28 deletions

View File

@ -86,7 +86,7 @@ DigitalMusicInputStream::DigitalMusicInputStream(SagaEngine *vm, ResourceContext
byte compressedHeader[10];
resourceData = _vm->_resource->getResourceData(context, resourceId);
resourceData = context->getResourceData(resourceId);
_file = context->getFile(resourceData);
_musicInfo = _vm->getMusicInfo();

View File

@ -309,8 +309,8 @@ bool Resource::loadContext(ResourceContext *context) {
for (i = 0; i < tableSize / 8; i++) {
subjectResourceId = readS2.readUint32();
patchResourceId = readS2.readUint32();
subjectResourceData = getResourceData(subjectContext, subjectResourceId);
resourceData = getResourceData(context, patchResourceId);
subjectResourceData = subjectContext->getResourceData(subjectResourceId);
resourceData = context->getResourceData(patchResourceId);
subjectResourceData->patchData = new PatchData(context->file);
subjectResourceData->offset = resourceData->offset;
subjectResourceData->size = resourceData->size;
@ -632,7 +632,7 @@ void Resource::loadResource(ResourceContext *context, uint32 resourceId, byte*&r
debug(8, "loadResource %d", resourceId);
resourceData = getResourceData(context, resourceId);
resourceData = context->getResourceData(resourceId);
file = context->getFile(resourceData);

View File

@ -90,6 +90,18 @@ struct ResourceContext {
return file;
}
}
bool validResourceId(uint32 resourceId) const {
return (resourceId < count);
}
ResourceData *getResourceData(uint32 resourceId) const {
if (resourceId >= count) {
error("ResourceContext::getResourceData() wrong resourceId %d", resourceId);
}
return &table[resourceId];
}
};
struct MetaResource {
@ -122,7 +134,6 @@ public:
bool createContexts();
void clearContexts();
void loadResource(ResourceContext *context, uint32 resourceId, byte*&resourceBuffer, size_t &resourceSize);
size_t getResourceSize(ResourceContext *context, uint32 resourceId);
uint32 convertResourceId(uint32 resourceId);
void loadGlobalResources(int chapter, int actorsEntrance);
@ -137,26 +148,6 @@ public:
return NULL;
}
bool validResourceId(ResourceContext *context, uint32 resourceId) const {
return (resourceId < context->count);
}
size_t getResourceSize(ResourceContext *context, uint32 resourceId) const {
return getResourceData(context, resourceId)->size;
}
size_t getResourceOffset(ResourceContext *context, uint32 resourceId) const {
return getResourceData(context, resourceId)->offset;
}
ResourceData *getResourceData(ResourceContext *context, uint32 resourceId) const {
if (!validResourceId(context, resourceId)) {
warning("Resource::getResourceData() wrong resourceId %d", resourceId);
assert(0);
}
return &context->table[resourceId];
}
private:
SagaEngine *_vm;
ResourceContext *_contexts;

View File

@ -957,7 +957,7 @@ void Scene::loadSceneResourceList(uint32 resourceId) {
_resourceList[i].resourceId = readS.readUint16();
_resourceList[i].resourceType = readS.readUint16();
// demo version may contain invalid resourceId
_resourceList[i].invalid = !_vm->_resource->validResourceId(_sceneContext, _resourceList[i].resourceId);
_resourceList[i].invalid = !_sceneContext->validResourceId(_resourceList[i].resourceId);
}
}

View File

@ -205,7 +205,7 @@ bool SndRes::load(ResourceContext *context, uint32 resourceId, SoundBuffer &buff
soundResourceLength = file->size();
} else {
ResourceData* resourceData = _vm->_resource->getResourceData(context, resourceId);
ResourceData* resourceData = context->getResourceData(resourceId);
file = context->getFile(resourceData);
file->seek(resourceData->offset);
@ -373,7 +373,7 @@ bool SndRes::load(ResourceContext *context, uint32 resourceId, SoundBuffer &buff
case kSoundOGG:
case kSoundFLAC:
ResourceData *resourceData;
resourceData = _vm->_resource->getResourceData(context, resourceId);
resourceData = context->getResourceData(resourceId);
// Read compressed sfx header
readS.seek(1); // Skip compression identifier byte