Groups
Groups are collections of records, and are used to improve scanning of files to make it easier to skip over records that the reading program is not interested in. In addition to this, subgroups for WRLD and CELL provide some useful structural information (e.g., the division of cell data into persistent and non-persistent references).
Group Format
Name | Type | Description |
---|---|---|
type | char[4] | Always “GRUP”. |
groupSize | uint32 | Size of the group, including the 24 bytes before the data. |
label | byte[4] | Format depends on the group type. |
groupType | int32 | The group type. See the section below for details. |
stamp | uint16 | A date stamp. The first byte is the day of the month, and the second byte is the number of months since some unknown point in time (perhaps July 2004, when Bethesda began development of Fallout 3). |
Unknown | byte[6] | |
data | byte[groupSize - 24] | The records and subgroups contained within the group. |
Group Types
Group Type | Label Type | Group Type Name | Label Info | Group Info |
---|---|---|---|---|
0 | char[4] | Top Level | A record type. | Contains records of the given type. |
1 | formid | World Children | A WRLD record FormID. | Contains ROAD and/or CELL records that are children of the given WRLD record. |
2 | int32 | Interior Cell Block | A cell block number. | |
3 | int32 | Interior Cell Sub-Block | A cell sub-block number. | |
4 | int16 | Exterior Cell Block | Cell block grid (Y, X) coordinates, stored as int8 values. | |
5 | int16 | Exterior Cell Sub-Block | Cell sub-block grid (Y, X) coordinates, stored as int8 values. | |
6 | formid | Cell Children | A CELL record FormID. | Contains only REFR, ACRE, PGRE, PMIS or ACHR records that are children of the given CELL record. |
7 | formid | Topic Children | A DIAL record FormID. | Contains INFO records that are children of the given DIAL record. |
8 | formid | Cell Persistent Children | A CELL record FormID. | The group must contain only REFR, ACRE, PGRE, PMIS or ACHR records that are children of the given CELL record. |
9 | formid | Cell Temporary Children | A CELL record FormID. | The group must contain only REFR, ACRE, PGRE, PMIS or ACHR records that are children of the given CELL record. |
10 | formid | Cell Visible Distant Children | A CELL record FormID. | The group must contain only REFR records that are children of the given CELL record. |
Top-Level Groups
The top level groups are stored in the following order in Fallout3.esm
. It is unknown if this order is required, but it would be best to follow it just in case.
GMST, TXST, MICN, GLOB, CLAS, FACT, HDPT, HAIR, EYES, RACE, SOUN, ASPC, MGEF, SCPT, LTEX, ENCH, SPEL, ACTI, TACT, TERM, ARMO, BOOK, CONT, DOOR, INGR, LIGH, MISC, STAT, SCOL, MSTT, PWAT, GRAS, TREE, FURN, WEAP, AMMO, NPC_, CREA, LVLC, LVLN, KEYM, ALCH, IDLM, NOTE, PROJ, LVLI, WTHR, CLMT, COBJ, REGN, NAVI, CELL, WRLD, DIAL, QUST, IDLE, PACK, CSTY, LSCR, ANIO, WATR, EFSH, EXPL, DEBR, IMGS, IMAD, FLST, PERK, BPTD, ADDN, AVIF, RADS, CAMS, CPTH, VTYP, IPCT, IPDS, ARMA, ECZN, MESG, RGDL, DOBJ, LGTM, MUSC