SCI: Update resource types for SCI2.1/3

svn-id: r54220
This commit is contained in:
Matthew Hoops 2010-11-13 00:20:23 +00:00
parent 8a4cc14b1a
commit 405fd0b5eb
2 changed files with 19 additions and 6 deletions

View File

@ -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();

View File

@ -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)