aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Hoops2010-11-13 00:20:23 +0000
committerMatthew Hoops2010-11-13 00:20:23 +0000
commit405fd0b5eb17dde8ac9c24572f6074f2b774ee66 (patch)
tree55069cedb8b44095aaa8c8965ac94185e541f0cb
parent8a4cc14b1ae2b81055b710699854e25b02db9be9 (diff)
downloadscummvm-rg350-405fd0b5eb17dde8ac9c24572f6074f2b774ee66.tar.gz
scummvm-rg350-405fd0b5eb17dde8ac9c24572f6074f2b774ee66.tar.bz2
scummvm-rg350-405fd0b5eb17dde8ac9c24572f6074f2b774ee66.zip
SCI: Update resource types for SCI2.1/3
svn-id: r54220
-rw-r--r--engines/sci/resource.cpp15
-rw-r--r--engines/sci/resource.h10
2 files changed, 19 insertions, 6 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index 7454bcad3f..0773357174 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -114,7 +114,8 @@ static const char *s_resourceTypeNames[] = {
"patch", "bitmap", "palette", "cdaudio",
"audio", "sync", "message", "map", "heap",
"audio36", "sync36", "xlate", "robot", "vmd",
- "chunk", "macibin", "macibis", "macpict"
+ "chunk", "animation", "etc", "duck", "clut",
+ "tga", "zzz", "macibin", "macibis", "macpict"
};
// Resource type suffixes. Note that the
@@ -126,7 +127,8 @@ static const char *s_resourceTypeSuffixes[] = {
"bit", "pal", "cda", "aud", "syn",
"msg", "map", "hep", "", "",
"trn", "rbt", "vmd", "chk", "",
- "", ""
+ "etc", "duk", "clu", "tga", "zzz",
+ "", "", ""
};
const char *getResourceTypeName(ResourceType restype) {
@@ -147,12 +149,13 @@ static const ResourceType s_resTypeMapSci0[] = {
// TODO: 12 should be "Wave", but SCI seems to just store it in Audio resources
static const ResourceType s_resTypeMapSci21[] = {
- kResourceTypeView, kResourceTypePic, kResourceTypeScript, kResourceTypeText, // 0x00-0x03
- kResourceTypeSound, kResourceTypeMemory, kResourceTypeVocab, kResourceTypeFont, // 0x04-0x07
+ kResourceTypeView, kResourceTypePic, kResourceTypeScript, kResourceTypeAnimation, // 0x00-0x03
+ kResourceTypeSound, kResourceTypeEtc, kResourceTypeVocab, kResourceTypeFont, // 0x04-0x07
kResourceTypeCursor, kResourceTypePatch, kResourceTypeBitmap, kResourceTypePalette, // 0x08-0x0B
kResourceTypeInvalid, kResourceTypeAudio, kResourceTypeSync, kResourceTypeMessage, // 0x0C-0x0F
kResourceTypeMap, kResourceTypeHeap, kResourceTypeChunk, kResourceTypeAudio36, // 0x10-0x13
- kResourceTypeSync36, kResourceTypeTranslation, kResourceTypeRobot, kResourceTypeVMD // 0x14-0x17
+ kResourceTypeSync36, kResourceTypeTranslation, kResourceTypeRobot, kResourceTypeVMD, // 0x14-0x17
+ kResourceTypeDuck, kResourceTypeClut, kResourceTypeTGA, kResourceTypeZZZ // 0x18-0x1B
};
ResourceType ResourceManager::convertResType(byte type) {
@@ -1442,7 +1445,7 @@ void ResourceManager::readResourcePatches() {
for (int i = kResourceTypeView; i < kResourceTypeInvalid; ++i) {
// Ignore the types that can't be patched (and Robot/VMD is handled externally for now)
- if (!s_resourceTypeSuffixes[i] || i == kResourceTypeRobot || i == kResourceTypeVMD)
+ if (!s_resourceTypeSuffixes[i] || (i >= kResourceTypeRobot && i != kResourceTypeChunk))
continue;
files.clear();
diff --git a/engines/sci/resource.h b/engines/sci/resource.h
index d9b162df31..ad6a7cac3e 100644
--- a/engines/sci/resource.h
+++ b/engines/sci/resource.h
@@ -96,9 +96,19 @@ enum ResourceType {
kResourceTypeAudio36,
kResourceTypeSync36,
kResourceTypeTranslation, // Currently unsupported
+
+ // SCI2.1+ Resources
kResourceTypeRobot,
kResourceTypeVMD,
kResourceTypeChunk,
+ kResourceTypeAnimation,
+
+ // SCI3 Resources
+ kResourceTypeEtc,
+ kResourceTypeDuck,
+ kResourceTypeClut,
+ kResourceTypeTGA,
+ kResourceTypeZZZ,
// Mac-only resources
kResourceTypeMacIconBarPictN, // IBIN resources (icon bar, not selected)