Esx

From OpenMW Wiki
Jump to navigation Jump to search
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.

CELL, Cell definition.

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.