From 405fd0b5eb17dde8ac9c24572f6074f2b774ee66 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Sat, 13 Nov 2010 00:20:23 +0000 Subject: SCI: Update resource types for SCI2.1/3 svn-id: r54220 --- engines/sci/resource.cpp | 15 +++++++++------ engines/sci/resource.h | 10 ++++++++++ 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) -- cgit v1.2.3