1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-23 20:41:33 +00:00

ESM4: Acknowledge all model data records

This commit is contained in:
Alexei Kotov 2023-08-17 02:14:15 +03:00
parent d9ebdc6e41
commit 60813345ae
28 changed files with 104 additions and 35 deletions

View file

@ -71,8 +71,10 @@ void ESM4::Activator::load(ESM4::Reader& reader)
case ESM4::SUB_XATO: case ESM4::SUB_XATO:
reader.getZString(mActivationPrompt); reader.getZString(mActivationPrompt);
break; // FONV break; // FONV
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS: case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_DAMC: // Destructible case ESM4::SUB_DAMC: // Destructible
case ESM4::SUB_DEST: case ESM4::SUB_DEST:
case ESM4::SUB_DMDC: case ESM4::SUB_DMDC:

View file

@ -88,13 +88,15 @@ void ESM4::Potion::load(ESM4::Reader& reader)
case ESM4::SUB_ZNAM: case ESM4::SUB_ZNAM:
reader.getFormId(mDropSound); reader.getFormId(mDropSound);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_EFID: case ESM4::SUB_EFID:
case ESM4::SUB_EFIT: case ESM4::SUB_EFIT:
case ESM4::SUB_CTDA: case ESM4::SUB_CTDA:
case ESM4::SUB_KSIZ: case ESM4::SUB_KSIZ:
case ESM4::SUB_KWDA: case ESM4::SUB_KWDA:
case ESM4::SUB_MODS:
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_ETYP: // FO3 case ESM4::SUB_ETYP: // FO3
case ESM4::SUB_DESC: case ESM4::SUB_DESC:

View file

@ -133,7 +133,10 @@ void ESM4::Ammunition::load(ESM4::Reader& reader)
case ESM4::SUB_SCRI: case ESM4::SUB_SCRI:
reader.getFormId(mScript); reader.getFormId(mScript);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_KSIZ: case ESM4::SUB_KSIZ:
case ESM4::SUB_KWDA: case ESM4::SUB_KWDA:

View file

@ -56,8 +56,10 @@ void ESM4::AnimObject::load(ESM4::Reader& reader)
case ESM4::SUB_MODB: case ESM4::SUB_MODB:
reader.get(mBoundRadius); reader.get(mBoundRadius);
break; break;
case ESM4::SUB_MODT: // TES5 only case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODS: // TES5 only case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
reader.skipSubRecordData(); reader.skipSubRecordData();
break; break;
default: default:

View file

@ -90,8 +90,10 @@ void ESM4::BodyPartData::load(ESM4::Reader& reader)
break; break;
case ESM4::SUB_NAM5: case ESM4::SUB_NAM5:
case ESM4::SUB_RAGA: // ragdoll case ESM4::SUB_RAGA: // ragdoll
case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS: case ESM4::SUB_MODS:
case ESM4::SUB_MODT: case ESM4::SUB_MODF: // Model data end
reader.skipSubRecordData(); reader.skipSubRecordData();
break; break;
default: default:

View file

@ -74,8 +74,10 @@ void ESM4::Container::load(ESM4::Reader& reader)
case ESM4::SUB_MODB: case ESM4::SUB_MODB:
reader.get(mBoundRadius); reader.get(mBoundRadius);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODS: // TES5 only case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_VMAD: // TES5 only case ESM4::SUB_VMAD: // TES5 only
case ESM4::SUB_OBND: // TES5 only case ESM4::SUB_OBND: // TES5 only
case ESM4::SUB_COCT: // TES5 only case ESM4::SUB_COCT: // TES5 only

View file

@ -71,8 +71,10 @@ void ESM4::Door::load(ESM4::Reader& reader)
case ESM4::SUB_MODB: case ESM4::SUB_MODB:
reader.get(mBoundRadius); reader.get(mBoundRadius);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS: case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_VMAD: case ESM4::SUB_VMAD:
case ESM4::SUB_DAMC: // Destructible case ESM4::SUB_DAMC: // Destructible

View file

@ -65,8 +65,10 @@ void ESM4::Flora::load(ESM4::Reader& reader)
case ESM4::SUB_MODB: case ESM4::SUB_MODB:
reader.get(mBoundRadius); reader.get(mBoundRadius);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS: case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_FNAM: case ESM4::SUB_FNAM:
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_PNAM: case ESM4::SUB_PNAM:

View file

@ -59,7 +59,10 @@ void ESM4::Furniture::load(ESM4::Reader& reader)
case ESM4::SUB_MODB: case ESM4::SUB_MODB:
reader.get(mBoundRadius); reader.get(mBoundRadius);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_DAMC: // Destructible case ESM4::SUB_DAMC: // Destructible
case ESM4::SUB_DEST: case ESM4::SUB_DEST:
case ESM4::SUB_DMDC: case ESM4::SUB_DMDC:
@ -76,7 +79,6 @@ void ESM4::Furniture::load(ESM4::Reader& reader)
case ESM4::SUB_KNAM: case ESM4::SUB_KNAM:
case ESM4::SUB_KSIZ: case ESM4::SUB_KSIZ:
case ESM4::SUB_KWDA: case ESM4::SUB_KWDA:
case ESM4::SUB_MODS:
case ESM4::SUB_NAM0: case ESM4::SUB_NAM0:
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_PNAM: case ESM4::SUB_PNAM:

View file

@ -53,7 +53,10 @@ void ESM4::Grass::load(ESM4::Reader& reader)
case ESM4::SUB_MODB: case ESM4::SUB_MODB:
reader.get(mBoundRadius); reader.get(mBoundRadius);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
reader.skipSubRecordData(); reader.skipSubRecordData();
break; break;

View file

@ -88,8 +88,10 @@ void ESM4::HeadPart::load(ESM4::Reader& reader)
reader.getFormId(mBaseTexture); reader.getFormId(mBaseTexture);
break; break;
case ESM4::SUB_PNAM: case ESM4::SUB_PNAM:
case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS: case ESM4::SUB_MODS:
case ESM4::SUB_MODT: case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_RNAM: case ESM4::SUB_RNAM:
case ESM4::SUB_CNAM: case ESM4::SUB_CNAM:
case ESM4::SUB_CTDA: case ESM4::SUB_CTDA:

View file

@ -79,8 +79,10 @@ void ESM4::IdleMarker::load(ESM4::Reader& reader)
reader.getZString(mModel); reader.getZString(mModel);
break; break;
case ESM4::SUB_OBND: // object bounds case ESM4::SUB_OBND: // object bounds
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS: case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
reader.skipSubRecordData(); reader.skipSubRecordData();
break; break;
default: default:

View file

@ -95,8 +95,10 @@ void ESM4::Ingredient::load(ESM4::Reader& reader)
reader.adjustFormId(mEffect.formId); reader.adjustFormId(mEffect.formId);
break; break;
} }
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODS: // Dragonborn only? case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_EFID: case ESM4::SUB_EFID:
case ESM4::SUB_EFIT: case ESM4::SUB_EFIT:
case ESM4::SUB_OBND: case ESM4::SUB_OBND:

View file

@ -71,7 +71,10 @@ void ESM4::Key::load(ESM4::Reader& reader)
case ESM4::SUB_ZNAM: case ESM4::SUB_ZNAM:
reader.getFormId(mDropSound); reader.getFormId(mDropSound);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_KSIZ: case ESM4::SUB_KSIZ:
case ESM4::SUB_KWDA: case ESM4::SUB_KWDA:
case ESM4::SUB_OBND: case ESM4::SUB_OBND:

View file

@ -99,7 +99,10 @@ void ESM4::Light::load(ESM4::Reader& reader)
case ESM4::SUB_FNAM: case ESM4::SUB_FNAM:
reader.get(mFade); reader.get(mFade);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_VMAD: // Dragonborn only? case ESM4::SUB_VMAD: // Dragonborn only?
case ESM4::SUB_DAMC: // Destructible case ESM4::SUB_DAMC: // Destructible

View file

@ -91,7 +91,10 @@ void ESM4::LevelledNpc::load(ESM4::Reader& reader)
} }
case ESM4::SUB_COED: // owner case ESM4::SUB_COED: // owner
case ESM4::SUB_OBND: // object bounds case ESM4::SUB_OBND: // object bounds
case ESM4::SUB_MODT: // model texture data case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
reader.skipSubRecordData(); reader.skipSubRecordData();
break; break;
default: default:

View file

@ -49,6 +49,10 @@ void ESM4::Material::load(ESM4::Reader& reader)
break; break;
case ESM4::SUB_DNAM: case ESM4::SUB_DNAM:
case ESM4::SUB_DATA: case ESM4::SUB_DATA:
case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
reader.skipSubRecordData(); reader.skipSubRecordData();
break; break;
default: default:

View file

@ -71,10 +71,12 @@ void ESM4::MiscItem::load(ESM4::Reader& reader)
case ESM4::SUB_ZNAM: case ESM4::SUB_ZNAM:
reader.getFormId(mDropSound); reader.getFormId(mDropSound);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_KSIZ: case ESM4::SUB_KSIZ:
case ESM4::SUB_KWDA: case ESM4::SUB_KWDA:
case ESM4::SUB_MODS:
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_VMAD: case ESM4::SUB_VMAD:
case ESM4::SUB_RNAM: // FONV case ESM4::SUB_RNAM: // FONV

View file

@ -63,8 +63,10 @@ void ESM4::MovableStatic::load(ESM4::Reader& reader)
case ESM4::SUB_DSTD: case ESM4::SUB_DSTD:
case ESM4::SUB_DSTF: // Destructible end case ESM4::SUB_DSTF: // Destructible end
case ESM4::SUB_OBND: // object bounds case ESM4::SUB_OBND: // object bounds
case ESM4::SUB_MODT: // model texture data case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS: case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_FULL: case ESM4::SUB_FULL:
case ESM4::SUB_MODB: case ESM4::SUB_MODB:
case ESM4::SUB_PRPS: case ESM4::SUB_PRPS:

View file

@ -55,6 +55,10 @@ void ESM4::Note::load(ESM4::Reader& reader)
break; break;
case ESM4::SUB_DATA: case ESM4::SUB_DATA:
case ESM4::SUB_MODB: case ESM4::SUB_MODB:
case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_ONAM: case ESM4::SUB_ONAM:
case ESM4::SUB_SNAM: case ESM4::SUB_SNAM:
case ESM4::SUB_TNAM: case ESM4::SUB_TNAM:

View file

@ -705,11 +705,14 @@ void ESM4::Race::load(ESM4::Reader& reader)
case ESM4::SUB_CTDA: case ESM4::SUB_CTDA:
case ESM4::SUB_CIS1: case ESM4::SUB_CIS1:
case ESM4::SUB_CIS2: case ESM4::SUB_CIS2:
case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
// //
case ESM4::SUB_YNAM: // FO3 case ESM4::SUB_YNAM: // FO3
case ESM4::SUB_NAM2: // FO3 case ESM4::SUB_NAM2: // FO3
case ESM4::SUB_VTCK: // FO3 case ESM4::SUB_VTCK: // FO3
case ESM4::SUB_MODT: // FO3
case ESM4::SUB_MODD: // FO3 case ESM4::SUB_MODD: // FO3
case ESM4::SUB_ONAM: // FO3 case ESM4::SUB_ONAM: // FO3
case ESM4::SUB_APPR: // FO4 case ESM4::SUB_APPR: // FO4

View file

@ -47,8 +47,11 @@ void ESM4::StaticCollection::load(ESM4::Reader& reader)
reader.getZString(mEditorId); reader.getZString(mEditorId);
break; break;
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_MODL: case ESM4::SUB_MODL: // Model data start
case ESM4::SUB_MODT: case ESM4::SUB_MODT:
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_ONAM: case ESM4::SUB_ONAM:
case ESM4::SUB_DATA: case ESM4::SUB_DATA:
case ESM4::SUB_PTRN: // FO4 case ESM4::SUB_PTRN: // FO4

View file

@ -84,7 +84,9 @@ void ESM4::Static::load(ESM4::Reader& reader)
} }
break; break;
} }
case ESM4::SUB_MODC: // More model data
case ESM4::SUB_MODS: case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_DNAM: case ESM4::SUB_DNAM:
case ESM4::SUB_BRUS: // FONV case ESM4::SUB_BRUS: // FONV

View file

@ -73,10 +73,12 @@ void ESM4::TalkingActivator::load(ESM4::Reader& reader)
case ESM4::SUB_DSTF: // Destructible end case ESM4::SUB_DSTF: // Destructible end
case ESM4::SUB_FNAM: case ESM4::SUB_FNAM:
case ESM4::SUB_PNAM: case ESM4::SUB_PNAM:
case ESM4::SUB_MODT: // texture file hash? case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_VMAD: case ESM4::SUB_VMAD:
case ESM4::SUB_MODS:
reader.skipSubRecordData(); reader.skipSubRecordData();
break; break;
default: default:

View file

@ -70,7 +70,10 @@ void ESM4::Terminal::load(ESM4::Reader& reader)
case ESM4::SUB_CTDA: case ESM4::SUB_CTDA:
case ESM4::SUB_INAM: case ESM4::SUB_INAM:
case ESM4::SUB_ITXT: // Menu Item case ESM4::SUB_ITXT: // Menu Item
case ESM4::SUB_MODT: // texture hash? case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_SCDA: case ESM4::SUB_SCDA:
case ESM4::SUB_SCHR: case ESM4::SUB_SCHR:
case ESM4::SUB_SCRO: case ESM4::SUB_SCRO:
@ -80,7 +83,6 @@ void ESM4::Terminal::load(ESM4::Reader& reader)
case ESM4::SUB_SLSD: case ESM4::SUB_SLSD:
case ESM4::SUB_TNAM: case ESM4::SUB_TNAM:
case ESM4::SUB_OBND: case ESM4::SUB_OBND:
case ESM4::SUB_MODS: // FONV
case ESM4::SUB_PRPS: // FO4 case ESM4::SUB_PRPS: // FO4
case ESM4::SUB_PTRN: // FO4 case ESM4::SUB_PTRN: // FO4
reader.skipSubRecordData(); reader.skipSubRecordData();

View file

@ -53,7 +53,10 @@ void ESM4::Tree::load(ESM4::Reader& reader)
case ESM4::SUB_MODB: case ESM4::SUB_MODB:
reader.get(mBoundRadius); reader.get(mBoundRadius);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_CNAM: case ESM4::SUB_CNAM:
case ESM4::SUB_BNAM: case ESM4::SUB_BNAM:
case ESM4::SUB_SNAM: case ESM4::SUB_SNAM:

View file

@ -109,7 +109,10 @@ void ESM4::Weapon::load(ESM4::Reader& reader)
case ESM4::SUB_ZNAM: case ESM4::SUB_ZNAM:
reader.getFormId(mDropSound); reader.getFormId(mDropSound);
break; break;
case ESM4::SUB_MODT: case ESM4::SUB_MODT: // Model data
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_BAMT: case ESM4::SUB_BAMT:
case ESM4::SUB_BIDS: case ESM4::SUB_BIDS:
case ESM4::SUB_INAM: case ESM4::SUB_INAM:
@ -132,7 +135,6 @@ void ESM4::Weapon::load(ESM4::Reader& reader)
case ESM4::SUB_WNAM: case ESM4::SUB_WNAM:
case ESM4::SUB_XNAM: // Dawnguard only? case ESM4::SUB_XNAM: // Dawnguard only?
case ESM4::SUB_NNAM: case ESM4::SUB_NNAM:
case ESM4::SUB_MODS:
case ESM4::SUB_NAM0: // FO3 case ESM4::SUB_NAM0: // FO3
case ESM4::SUB_REPL: // FO3 case ESM4::SUB_REPL: // FO3
case ESM4::SUB_MOD2: // FO3 case ESM4::SUB_MOD2: // FO3

View file

@ -164,13 +164,16 @@ void ESM4::World::load(ESM4::Reader& reader)
case ESM4::SUB_XLCN: case ESM4::SUB_XLCN:
case ESM4::SUB_NAM3: case ESM4::SUB_NAM3:
case ESM4::SUB_NAM4: case ESM4::SUB_NAM4:
case ESM4::SUB_MODL:
case ESM4::SUB_NAMA: case ESM4::SUB_NAMA:
case ESM4::SUB_ONAM: case ESM4::SUB_ONAM:
case ESM4::SUB_TNAM: case ESM4::SUB_TNAM:
case ESM4::SUB_UNAM: case ESM4::SUB_UNAM:
case ESM4::SUB_XWEM: case ESM4::SUB_XWEM:
case ESM4::SUB_MODT: // from Dragonborn onwards? case ESM4::SUB_MODL: // Model data start
case ESM4::SUB_MODT:
case ESM4::SUB_MODC:
case ESM4::SUB_MODS:
case ESM4::SUB_MODF: // Model data end
case ESM4::SUB_INAM: // FO3 case ESM4::SUB_INAM: // FO3
case ESM4::SUB_NNAM: // FO3 case ESM4::SUB_NNAM: // FO3
case ESM4::SUB_XNAM: // FO3 case ESM4::SUB_XNAM: // FO3