Tes3Mod:File Format
The UESPWiki – Your source for The Elder Scrolls since 1995
Contents |
[edit] Summary
Morrowind mod and save files use the same basic format of records and subrecords.
- Dave Humphrey wrote a fairly detailed description of the file structure: Format of Morrowind's ESM Plug-In File.
- The most up to date encoding of the file structure can be found in ESTemplate.ini file for Enchanted Editor.
- Jim Adam has an older, but more readable version of the Morrowind File Format, but it does not address save game records.
[edit] Notes
Following is a collection of rough notes on file format records and subrecords.
- Organization is by Record, then subrecord, the subrecord notes.
[edit] CELL
- CNAM (Cell Name)
- Used after a MVRF
- MPDT (Map Data: x,y,z floats) [ESS]
- MPNT (Map Note, String) [ESS]
- MVRF (Move Reference) [ESS,ESP]
- Signifies that the reference has been moved to another cell.
- If moved to an interior cell is followed by CNAM. (And other times? I forget.)
- Found frequently in ESS files as creatures and NPCS move (or are moved) from their original.
- Can also be found (very rarely) in an esp if the esp moves a reference from a master file.
- NAM8 (Visibility Map) [ESS]
- NAM0 (Normal Objects Count, Long) [ESM,ESP]
- ESM/ESPs only.
- Corresponds to __TEMP_REFS___ line
- Count of non "reference persists" objects in cell
- Appears between "persistent" and non-"persistent" objects
- ZNAM (Disabled: 1 byte) [ESS?]
- Probably presence is enough.
- Byte always == 0?
[edit] INFO
- NAME: NOT zero terminated!
- BNAM: NOT zero terminated!
[edit] NPCC (NPC Contents)
- NPDT
- Bytes 0-1: Base disposition
- Bytes 2-3: Flag? values: {0,2,4,8,10,14}
- Bytes 4-8: Index number
- SLCS (script variable ?)
- WIDX (Wear index: index of items within the list that are worn)
- But why 8 bytes???
- XCHG (Charge? float)
- XIDX (Subindex of NPCO, precedes greater detail)
- XHLT (Health)
- Format (integer or float) depends on type of item.
- XSOL (Soul gem contained creature, zero terminated string creature id)
[edit] SCPT (Global Script)
- SCHD (Script Header)
- SLCS (?: 3 ints?)
- Always present?
- SLFD (Float Data: 4 bytes x num of floats)
- SLSD (Short Data 2 bytes x num of shorts)
- RNAM (Reference)
- Reference object for global script. Same format as CELL.FRMR.

![[Content is available under Attribution-ShareAlike]](http://www.uesp.net/w/images/Somerights.png)