aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/resource.h
diff options
context:
space:
mode:
authorFilippos Karapetis2011-01-31 11:40:40 +0000
committerFilippos Karapetis2011-01-31 11:40:40 +0000
commit8bd7ace4d277e68ee0cdf7d6ab275d08d432ddde (patch)
tree41811a073ccb92f5d0837cc283640a76daa59918 /engines/saga/resource.h
parente0314f9ecd22504290ca3fb1d6e6b6db30dd6719 (diff)
downloadscummvm-rg350-8bd7ace4d277e68ee0cdf7d6ab275d08d432ddde.tar.gz
scummvm-rg350-8bd7ace4d277e68ee0cdf7d6ab275d08d432ddde.tar.bz2
scummvm-rg350-8bd7ace4d277e68ee0cdf7d6ab275d08d432ddde.zip
SAGA: Split the resource patching code into appropriate game-specific resource methods
svn-id: r55678
Diffstat (limited to 'engines/saga/resource.h')
-rw-r--r--engines/saga/resource.h50
1 files changed, 15 insertions, 35 deletions
diff --git a/engines/saga/resource.h b/engines/saga/resource.h
index 048ed3933d..777c919ec3 100644
--- a/engines/saga/resource.h
+++ b/engines/saga/resource.h
@@ -79,8 +79,7 @@ struct ResourceData {
}
};
-class ResourceDataArray : public Common::Array<ResourceData> {
-};
+typedef public Common::Array<ResourceData> ResourceDataArray;
class ResourceContext {
friend class Resource;
@@ -92,32 +91,14 @@ public:
_fileSize(0) {
}
- virtual ~ResourceContext() {
- }
-
- bool isCompressed() const {
- return _isCompressed;
- }
-
- uint16 fileType() const {
- return _fileType;
- }
-
- int32 fileSize() const {
- return _fileSize;
- }
-
- int serial() const {
- return _serial;
- }
-
- bool isBigEndian() const {
- return _isBigEndian;
- }
+ virtual ~ResourceContext() { }
- const char * fileName() const {
- return _fileName;
- }
+ bool isCompressed() const { return _isCompressed; }
+ uint16 fileType() const { return _fileType; }
+ int32 fileSize() const { return _fileSize; }
+ int serial() const { return _serial; }
+ bool isBigEndian() const { return _isBigEndian; }
+ const char * fileName() const { return _fileName; }
Common::File *getFile(ResourceData *resourceData) {
Common::File *file;
@@ -170,12 +151,12 @@ protected:
bool load(SagaEngine *_vm, Resource *resource);
bool loadResV1(uint32 contextOffset, uint32 contextSize);
- virtual bool loadMacMIDI() = 0;
+ virtual bool loadMacMIDI() { return false; }
virtual bool loadRes(uint32 contextOffset, uint32 contextSize) = 0;
+ virtual void processPatches(Resource *resource, const GamePatchDescription *patchFiles) { }
};
-class ResourceContextList : public Common::List<ResourceContext*> {
-};
+typedef Common::List<ResourceContext*> ResourceContextList;
struct MetaResource {
int16 sceneIndex;
@@ -212,6 +193,7 @@ public:
virtual void loadGlobalResources(int chapter, int actorsEntrance) = 0;
ResourceContext *getContext(uint16 fileType, int serial = 0);
+ virtual MetaResource* getMetaResource() = 0;
protected:
SagaEngine *_vm;
ResourceContextList _contexts;
@@ -221,8 +203,6 @@ protected:
void addContext(const char *fileName, uint16 fileType, bool isCompressed = false, int serial = 0);
virtual ResourceContext *createContext() = 0;
-public:
- virtual MetaResource* getMetaResource() = 0;
};
// ITE
@@ -232,6 +212,7 @@ protected:
virtual bool loadRes(uint32 contextOffset, uint32 contextSize) {
return loadResV1(contextOffset, contextSize);
}
+ virtual void processPatches(Resource *resource, const GamePatchDescription *patchFiles);
};
class Resource_RSC : public Resource {
@@ -255,16 +236,16 @@ protected:
// IHNM
class ResourceContext_RES: public ResourceContext {
protected:
- virtual bool loadMacMIDI() { return false; }
virtual bool loadRes(uint32 contextOffset, uint32 contextSize) {
return loadResV1(0, contextSize);
}
+
+ virtual void processPatches(Resource *resource, const GamePatchDescription *patchFiles);
};
// TODO: move load routines from sndres
class VoiceResourceContext_RES: public ResourceContext {
protected:
- virtual bool loadMacMIDI() { return false; }
virtual bool loadRes(uint32 contextOffset, uint32 contextSize) {
return false;
}
@@ -296,7 +277,6 @@ class ResourceContext_HRS: public ResourceContext {
protected:
ResourceDataArray _categories;
- virtual bool loadMacMIDI() { return false; }
virtual bool loadRes(uint32 contextOffset, uint32 contextSize) {
return loadResV2(contextSize);
}