Esx: Difference between revisions

From OpenMW Wiki
Jump to navigation Jump to search
(CREA, creatures.)
Line 33: Line 33:


=== Sub-record types ===
=== Sub-record types ===
[[TES3]], Main header.
[[BSGN]], Birth Sign.
 
[[CLAS]], Character class definition.


[[GMST]], Game setting.
[[CONT]], Container definition.


[[GLOB]], Global variable.
[[CREA]], Creature description.


[[CLAS]], Character class definition.
[[DOOR]], Door definition.


[[FACT]], Faction definition.
[[FACT]], Faction definition.


[[RACE]], Race definition.
[[GLOB]], Global variable.


[[SOUN]], Sound reference.
[[GMST]], Game setting.


[[SKIL]], Skill increase pace definition.
[[MGEF]], Magic effect description.


[[MGEF]], Magic effect description.
[[MISC]], Misc item definition.


[[SCPT]], Script.
[[RACE]], Race definition.


[[REGN]], Region information. Sound, weather...
[[REGN]], Region information. Sound, weather...


[[BSGN]], Birth Sign.
[[SCPT]], Script.


[[STAT]], Static.
[[SKIL]], Skill increase pace definition.


[[DOOR]], Door definition.
[[SOUN]], Sound reference.


[[MISC]], Misc item definition.
[[SPEL]], Spell description.


[[WEAP]], Weapon definition.
[[STAT]], Static.


[[CONT]], Container definition.
[[TES3]], Main header.


[[SPEL]], Spell description.
[[WEAP]], Weapon definition.
 
[[CREA]], Creature description.


== See also ==
== See also ==
[http://www.uesp.net/text.shtml?morrow/tech/mw_esm.txt Original ESx description] from Dave Humphrey.
[http://www.uesp.net/text.shtml?morrow/tech/mw_esm.txt Original ESx description] from Dave Humphrey.

Revision as of 20:16, 25 February 2013

Wiki letter w.png

This article is not complete yet, work in progress


Format of Morrowind's ESM Plug-In File

Basic Overall Format:

The ESM/ESP/ESS files are composed entirely of Records with this format.

Record

4 bytes, char[4]. Name.
    -- 4-byte record name string. all CAPS, not null-terminated.
4 bytes, integer. Record size.
    -- Size of the record not including the 16 bytes of header data.
4 bytes, integer. Unknown.
    -- Unknown value, usually 0 (deleted/ignored flag?).
4 bytes, integer. Record flags.
    --   0x00002000 = Blocked
    --   0x00000400 = Persistant
Record size bytes, SubRecords[]. 
    -- All records are composed of a variable number of sub-records. There
    -- is no sub-record count, just use the record Size value to determine
    -- when to stop reading a record.

Sub-Record

The sub-record is the tail of the record and it contains data specific to the record type.

4 bytes, char[4]. Name.
    -- 4-byte sub-record name string, all CAPS, not null-terminated
4 bytes, long. Size of sub-record.
    -- Size of the sub-record not including the 8 bytes of header data.
Size of sub-record bytes, various format. Sub-Record data.
    -- Format depends on the sub-record type.

Sub-record types

BSGN, Birth Sign.

CLAS, Character class definition.

CONT, Container definition.

CREA, Creature description.

DOOR, Door definition.

FACT, Faction definition.

GLOB, Global variable.

GMST, Game setting.

MGEF, Magic effect description.

MISC, Misc item definition.

RACE, Race definition.

REGN, Region information. Sound, weather...

SCPT, Script.

SKIL, Skill increase pace definition.

SOUN, Sound reference.

SPEL, Spell description.

STAT, Static.

TES3, Main header.

WEAP, Weapon definition.

See also

Original ESx description from Dave Humphrey.