Esx: Difference between revisions
Jump to navigation
Jump to search
(Starting page) |
No edit summary |
||
Line 8: | Line 8: | ||
=== Record === | === Record === | ||
4 bytes: char Name[4] | |||
4-byte record name string (not null-terminated) | |||
4 bytes: long Size | |||
Size of the record not including the 16 bytes of header data. | |||
4 bytes: long Header1 | |||
Unknown value, usually 0 (deleted/ignored flag?). | |||
4 bytes: long Flags | |||
Record flags. | |||
0x00002000 = Blocked | |||
0x00000400 = Persistant | |||
? 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 ==== | ==== Sub-Record ==== | ||
The sub-record is the tail of the record and it contains data specific to the | The sub-record is the tail of the record and it contains data specific to the | ||
record type. | record type. | ||
4 bytes: char Name[4] | |||
4-byte sub-record name string (not null-terminated) | |||
4 bytes: long Size | |||
Size of the sub-record not including the 8 bytes of header data. | |||
? bytes: Sub-Record data. | |||
Format depends on the sub-record type. |
Revision as of 16:10, 20 February 2013
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 Name[4] 4-byte record name string (not null-terminated) 4 bytes: long Size Size of the record not including the 16 bytes of header data. 4 bytes: long Header1 Unknown value, usually 0 (deleted/ignored flag?). 4 bytes: long Flags Record flags. 0x00002000 = Blocked 0x00000400 = Persistant ? 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 Name[4] 4-byte sub-record name string (not null-terminated) 4 bytes: long Size Size of the sub-record not including the 8 bytes of header data. ? bytes: Sub-Record data. Format depends on the sub-record type.