mirror of https://github.com/OpenMW/openmw.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
221 lines
11 KiB
C++
221 lines
11 KiB
C++
/*
|
|
Copyright (C) 2015-2020 cc9cii
|
|
|
|
This software is provided 'as-is', without any express or implied
|
|
warranty. In no event will the authors be held liable for any damages
|
|
arising from the use of this software.
|
|
|
|
Permission is granted to anyone to use this software for any purpose,
|
|
including commercial applications, and to alter it and redistribute it
|
|
freely, subject to the following restrictions:
|
|
|
|
1. The origin of this software must not be misrepresented; you must not
|
|
claim that you wrote the original software. If you use this software
|
|
in a product, an acknowledgment in the product documentation would be
|
|
appreciated but is not required.
|
|
2. Altered source versions must be plainly marked as such, and must not be
|
|
misrepresented as being the original software.
|
|
3. This notice may not be removed or altered from any source distribution.
|
|
|
|
cc9cii cc9c@iinet.net.au
|
|
|
|
Much of the information on the data structures are based on the information
|
|
from Tes4Mod:Mod_File_Format and Tes5Mod:File_Formats but also refined by
|
|
trial & error. See http://en.uesp.net/wiki for details.
|
|
|
|
*/
|
|
#ifndef ESM4_COMMON_H
|
|
#define ESM4_COMMON_H
|
|
|
|
#include "components/esm/fourcc.hpp"
|
|
|
|
namespace ESM4
|
|
{
|
|
using ESM::fourCC;
|
|
|
|
enum RecordTypes
|
|
{
|
|
REC_AACT = fourCC("AACT"), // Action
|
|
REC_ACHR = fourCC("ACHR"), // Actor Reference
|
|
REC_ACTI = fourCC("ACTI"), // Activator
|
|
REC_ADDN = fourCC("ADDN"), // Addon Node
|
|
REC_ALCH = fourCC("ALCH"), // Potion
|
|
REC_AMMO = fourCC("AMMO"), // Ammo
|
|
REC_ANIO = fourCC("ANIO"), // Animated Object
|
|
REC_APPA = fourCC("APPA"), // Apparatus (probably unused)
|
|
REC_ARMA = fourCC("ARMA"), // Armature (Model)
|
|
REC_ARMO = fourCC("ARMO"), // Armor
|
|
REC_ARTO = fourCC("ARTO"), // Art Object
|
|
REC_ASPC = fourCC("ASPC"), // Acoustic Space
|
|
REC_ASTP = fourCC("ASTP"), // Association Type
|
|
REC_AVIF = fourCC("AVIF"), // Actor Values/Perk Tree Graphics
|
|
REC_BOOK = fourCC("BOOK"), // Book
|
|
REC_BPTD = fourCC("BPTD"), // Body Part Data
|
|
REC_CAMS = fourCC("CAMS"), // Camera Shot
|
|
REC_CELL = fourCC("CELL"), // Cell
|
|
REC_CLAS = fourCC("CLAS"), // Class
|
|
REC_CLFM = fourCC("CLFM"), // Color
|
|
REC_CLMT = fourCC("CLMT"), // Climate
|
|
REC_CLOT = fourCC("CLOT"), // Clothing
|
|
REC_COBJ = fourCC("COBJ"), // Constructible Object (recipes)
|
|
REC_COLL = fourCC("COLL"), // Collision Layer
|
|
REC_CONT = fourCC("CONT"), // Container
|
|
REC_CPTH = fourCC("CPTH"), // Camera Path
|
|
REC_CREA = fourCC("CREA"), // Creature
|
|
REC_CSTY = fourCC("CSTY"), // Combat Style
|
|
REC_DEBR = fourCC("DEBR"), // Debris
|
|
REC_DIAL = fourCC("DIAL"), // Dialog Topic
|
|
REC_DLBR = fourCC("DLBR"), // Dialog Branch
|
|
REC_DLVW = fourCC("DLVW"), // Dialog View
|
|
REC_DOBJ = fourCC("DOBJ"), // Default Object Manager
|
|
REC_DOOR = fourCC("DOOR"), // Door
|
|
REC_DUAL = fourCC("DUAL"), // Dual Cast Data (possibly unused)
|
|
REC_ECZN = fourCC("ECZN"), // Encounter Zone
|
|
REC_EFSH = fourCC("EFSH"), // Effect Shader
|
|
REC_ENCH = fourCC("ENCH"), // Enchantment
|
|
REC_EQUP = fourCC("EQUP"), // Equip Slot (flag-type values)
|
|
REC_EXPL = fourCC("EXPL"), // Explosion
|
|
REC_EYES = fourCC("EYES"), // Eyes
|
|
REC_FACT = fourCC("FACT"), // Faction
|
|
REC_FLOR = fourCC("FLOR"), // Flora
|
|
REC_FLST = fourCC("FLST"), // Form List (non-levelled list)
|
|
REC_FSTP = fourCC("FSTP"), // Footstep
|
|
REC_FSTS = fourCC("FSTS"), // Footstep Set
|
|
REC_FURN = fourCC("FURN"), // Furniture
|
|
REC_GLOB = fourCC("GLOB"), // Global Variable
|
|
REC_GMST = fourCC("GMST"), // Game Setting
|
|
REC_GRAS = fourCC("GRAS"), // Grass
|
|
REC_GRUP = fourCC("GRUP"), // Form Group
|
|
REC_HAIR = fourCC("HAIR"), // Hair
|
|
REC_HAZD = fourCC("HAZD"), // Hazard
|
|
REC_HDPT = fourCC("HDPT"), // Head Part
|
|
REC_IDLE = fourCC("IDLE"), // Idle Animation
|
|
REC_IDLM = fourCC("IDLM"), // Idle Marker
|
|
REC_IMAD = fourCC("IMAD"), // Image Space Modifier
|
|
REC_IMGS = fourCC("IMGS"), // Image Space
|
|
REC_INFO = fourCC("INFO"), // Dialog Topic Info
|
|
REC_INGR = fourCC("INGR"), // Ingredient
|
|
REC_IPCT = fourCC("IPCT"), // Impact Data
|
|
REC_IPDS = fourCC("IPDS"), // Impact Data Set
|
|
REC_KEYM = fourCC("KEYM"), // Key
|
|
REC_KYWD = fourCC("KYWD"), // Keyword
|
|
REC_LAND = fourCC("LAND"), // Land
|
|
REC_LCRT = fourCC("LCRT"), // Location Reference Type
|
|
REC_LCTN = fourCC("LCTN"), // Location
|
|
REC_LGTM = fourCC("LGTM"), // Lighting Template
|
|
REC_LIGH = fourCC("LIGH"), // Light
|
|
REC_LSCR = fourCC("LSCR"), // Load Screen
|
|
REC_LTEX = fourCC("LTEX"), // Land Texture
|
|
REC_LVLC = fourCC("LVLC"), // Leveled Creature
|
|
REC_LVLI = fourCC("LVLI"), // Leveled Item
|
|
REC_LVLN = fourCC("LVLN"), // Leveled Actor
|
|
REC_LVSP = fourCC("LVSP"), // Leveled Spell
|
|
REC_MATO = fourCC("MATO"), // Material Object
|
|
REC_MATT = fourCC("MATT"), // Material Type
|
|
REC_MESG = fourCC("MESG"), // Message
|
|
REC_MGEF = fourCC("MGEF"), // Magic Effect
|
|
REC_MISC = fourCC("MISC"), // Misc. Object
|
|
REC_MOVT = fourCC("MOVT"), // Movement Type
|
|
REC_MSTT = fourCC("MSTT"), // Movable Static
|
|
REC_MUSC = fourCC("MUSC"), // Music Type
|
|
REC_MUST = fourCC("MUST"), // Music Track
|
|
REC_NAVI = fourCC("NAVI"), // Navigation (master data)
|
|
REC_NAVM = fourCC("NAVM"), // Nav Mesh
|
|
REC_NOTE = fourCC("NOTE"), // Note
|
|
REC_NPC_ = fourCC("NPC_"), // Actor (NPC, Creature)
|
|
REC_OTFT = fourCC("OTFT"), // Outfit
|
|
REC_PACK = fourCC("PACK"), // AI Package
|
|
REC_PERK = fourCC("PERK"), // Perk
|
|
REC_PGRE = fourCC("PGRE"), // Placed grenade
|
|
REC_PHZD = fourCC("PHZD"), // Placed hazard
|
|
REC_PROJ = fourCC("PROJ"), // Projectile
|
|
REC_QUST = fourCC("QUST"), // Quest
|
|
REC_RACE = fourCC("RACE"), // Race / Creature type
|
|
REC_REFR = fourCC("REFR"), // Object Reference
|
|
REC_REGN = fourCC("REGN"), // Region (Audio/Weather)
|
|
REC_RELA = fourCC("RELA"), // Relationship
|
|
REC_REVB = fourCC("REVB"), // Reverb Parameters
|
|
REC_RFCT = fourCC("RFCT"), // Visual Effect
|
|
REC_SBSP = fourCC("SBSP"), // Subspace (TES4 only?)
|
|
REC_SCEN = fourCC("SCEN"), // Scene
|
|
REC_SCPT = fourCC("SCPT"), // Script
|
|
REC_SCRL = fourCC("SCRL"), // Scroll
|
|
REC_SGST = fourCC("SGST"), // Sigil Stone
|
|
REC_SHOU = fourCC("SHOU"), // Shout
|
|
REC_SLGM = fourCC("SLGM"), // Soul Gem
|
|
REC_SMBN = fourCC("SMBN"), // Story Manager Branch Node
|
|
REC_SMEN = fourCC("SMEN"), // Story Manager Event Node
|
|
REC_SMQN = fourCC("SMQN"), // Story Manager Quest Node
|
|
REC_SNCT = fourCC("SNCT"), // Sound Category
|
|
REC_SNDR = fourCC("SNDR"), // Sound Reference
|
|
REC_SOPM = fourCC("SOPM"), // Sound Output Model
|
|
REC_SOUN = fourCC("SOUN"), // Sound
|
|
REC_SPEL = fourCC("SPEL"), // Spell
|
|
REC_SPGD = fourCC("SPGD"), // Shader Particle Geometry
|
|
REC_STAT = fourCC("STAT"), // Static
|
|
REC_TACT = fourCC("TACT"), // Talking Activator
|
|
REC_TERM = fourCC("TERM"), // Terminal
|
|
REC_TES4 = fourCC("TES4"), // Plugin info
|
|
REC_TREE = fourCC("TREE"), // Tree
|
|
REC_TXST = fourCC("TXST"), // Texture Set
|
|
REC_VTYP = fourCC("VTYP"), // Voice Type
|
|
REC_WATR = fourCC("WATR"), // Water Type
|
|
REC_WEAP = fourCC("WEAP"), // Weapon
|
|
REC_WOOP = fourCC("WOOP"), // Word Of Power
|
|
REC_WRLD = fourCC("WRLD"), // World Space
|
|
REC_WTHR = fourCC("WTHR"), // Weather
|
|
REC_ACRE = fourCC("ACRE"), // Placed Creature (TES4 only?)
|
|
REC_PGRD = fourCC("PGRD"), // Pathgrid (TES4 only?)
|
|
REC_ROAD = fourCC("ROAD"), // Road (TES4 only?)
|
|
REC_IMOD = fourCC("IMOD"), // Item Mod
|
|
REC_PWAT = fourCC("PWAT"), // Placeable Water
|
|
REC_SCOL = fourCC("SCOL"), // Static Collection
|
|
REC_CCRD = fourCC("CCRD"), // Caravan Card
|
|
REC_CMNY = fourCC("CMNY"), // Caravan Money
|
|
REC_ALOC = fourCC("ALOC"), // Audio Location Controller
|
|
REC_MSET = fourCC("MSET") // Media Set
|
|
};
|
|
|
|
// Based on http://www.uesp.net/wiki/Tes5Mod:Mod_File_Format#Records
|
|
enum RecordFlag
|
|
{
|
|
Rec_ESM = 0x00000001, // (TES4 record only) Master (ESM) file.
|
|
Rec_Deleted = 0x00000020, // Deleted
|
|
Rec_Constant = 0x00000040, // Constant
|
|
Rec_HiddenLMap = 0x00000040, // (REFR) Hidden From Local Map (Needs Confirmation: Related to shields)
|
|
Rec_Localized = 0x00000080, // (TES4 record only) Is localized. This will make Skyrim load the
|
|
// .STRINGS, .DLSTRINGS, and .ILSTRINGS files associated with the mod.
|
|
// If this flag is not set, lstrings are treated as zstrings.
|
|
Rec_FireOff = 0x00000080, // (PHZD) Turn off fire
|
|
Rec_UpdateAnim = 0x00000100, // Must Update Anims
|
|
Rec_NoAccess = 0x00000100, // (REFR) Inaccessible
|
|
Rec_Hidden = 0x00000200, // (REFR) Hidden from local map
|
|
Rec_StartDead = 0x00000200, // (ACHR) Starts dead /(REFR) MotionBlurCastsShadows
|
|
Rec_Persistent = 0x00000400, // Quest item / Persistent reference
|
|
Rec_DispMenu = 0x00000400, // (LSCR) Displays in Main Menu
|
|
Rec_Disabled = 0x00000800, // Initially disabled
|
|
Rec_Ignored = 0x00001000, // Ignored
|
|
Rec_VisDistant = 0x00008000, // Visible when distant
|
|
Rec_RandAnim = 0x00010000, // (ACTI) Random Animation Start
|
|
Rec_Danger = 0x00020000, // (ACTI) Dangerous / Off limits (Interior cell)
|
|
// Dangerous Can't be set withough Ignore Object Interaction
|
|
Rec_Compressed = 0x00040000, // Data is compressed
|
|
Rec_CanNotWait = 0x00080000, // Can't wait
|
|
Rec_IgnoreObj = 0x00100000, // (ACTI) Ignore Object Interaction
|
|
// Ignore Object Interaction Sets Dangerous Automatically
|
|
Rec_Marker = 0x00800000, // Is Marker
|
|
Rec_Obstacle = 0x02000000, // (ACTI) Obstacle / (REFR) No AI Acquire
|
|
Rec_NavMFilter = 0x04000000, // NavMesh Gen - Filter
|
|
Rec_NavMBBox = 0x08000000, // NavMesh Gen - Bounding Box
|
|
Rec_ExitToTalk = 0x10000000, // (FURN) Must Exit to Talk
|
|
Rec_Refected = 0x10000000, // (REFR) Reflected By Auto Water
|
|
Rec_ChildUse = 0x20000000, // (FURN/IDLM) Child Can Use
|
|
Rec_NoHavok = 0x20000000, // (REFR) Don't Havok Settle
|
|
Rec_NavMGround = 0x40000000, // NavMesh Gen - Ground
|
|
Rec_NoRespawn = 0x40000000, // (REFR) NoRespawn
|
|
Rec_MultiBound = 0x80000000 // (REFR) MultiBound
|
|
};
|
|
}
|
|
|
|
#endif // ESM4_COMMON_H
|