aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/resource.h
diff options
context:
space:
mode:
authorAlejandro Marzini2010-08-06 03:21:21 +0000
committerAlejandro Marzini2010-08-06 03:21:21 +0000
commit33e40e1a20c4cc60031854c87d6da5e461f9eb73 (patch)
treef76425d516e75d147ffbbacbec3fad49297da1b1 /engines/sci/resource.h
parentf97809a9a62a2d8840229facb2c2b6f75e37bad3 (diff)
parent6c8bcd2ba1cad1312f0a588ca284110bbbb81ccc (diff)
downloadscummvm-rg350-33e40e1a20c4cc60031854c87d6da5e461f9eb73.tar.gz
scummvm-rg350-33e40e1a20c4cc60031854c87d6da5e461f9eb73.tar.bz2
scummvm-rg350-33e40e1a20c4cc60031854c87d6da5e461f9eb73.zip
Merged from trunk, from r51495 to r51775
svn-id: r51776
Diffstat (limited to 'engines/sci/resource.h')
-rw-r--r--engines/sci/resource.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/engines/sci/resource.h b/engines/sci/resource.h
index f1ea2f15f9..48210b835f 100644
--- a/engines/sci/resource.h
+++ b/engines/sci/resource.h
@@ -193,6 +193,9 @@ class Resource {
friend class WaveResourceSource;
friend class AudioVolumeResourceSource;
friend class MacResourceForkResourceSource;
+#ifdef ENABLE_SCI32
+ friend class ChunkResourceSource;
+#endif
// NOTE : Currently most member variables lack the underscore prefix and have
// public visibility to let the rest of the engine compile without changes.
@@ -203,7 +206,7 @@ public:
uint32 _headerSize;
public:
- Resource(ResourceId id);
+ Resource(ResourceManager *resMan, ResourceId id);
~Resource();
void unalloc();
@@ -227,6 +230,7 @@ protected:
ResourceStatus _status;
uint16 _lockers; /**< Number of places where this resource was locked */
ResourceSource *_source;
+ ResourceManager *_resMan;
bool loadPatch(Common::SeekableReadStream *file);
bool loadFromPatchFile();
@@ -251,6 +255,9 @@ class ResourceManager {
friend class ExtAudioMapResourceSource;
friend class WaveResourceSource;
friend class MacResourceForkResourceSource;
+#ifdef ENABLE_SCI32
+ friend class ChunkResourceSource;
+#endif
public:
/**
@@ -324,6 +331,14 @@ public:
*/
void addNewGMPatch(SciGameId gameId);
+#ifdef ENABLE_SCI32
+ /**
+ * Parses all resources from a SCI2.1 chunk resource and adds them to the
+ * resource manager.
+ */
+ void addResourcesFromChunk(uint16 id);
+#endif
+
bool detectHires();
// Detects, if standard font of current game includes extended characters (>0x80)
bool detectFontExtended();