FRME (File Format)
Jump to navigation
Jump to search
The FRME format is used to create frames for the GUI and HUD.
| This file format needs more research We don't know a lot of settings in a lot of the widgets. Also, a lot of the widget structures are incomplete. |
Format
The FRME format is composed of a short header and then a number of widgets.
Header
| Offset | Size | Description |
|---|---|---|
| 0x0 | 4 | Unknown |
| 0x4 | 4 | Unknown |
| 0x8 | 4 | Unknown |
| 0xC | 4 | Unknown |
| 0x10 | 4 | Widget count |
Widgets
Each widget has a fourCC denoting its type, a name, and usually a parent widget name. There are no IDs or indices used in the file; widgets reference each other by name. The following values are set on every widget:
| Type | Count | Description |
|---|---|---|
| char | 4 | Widget type fourCC |
| string | 1 | Widget name |
| string | 1 | Parent name |
Following this are a list of parameters; the number, type, and usage of the parameters is different for different widgets.
Head Widget (HWIG)
| Offset | Size | Description |
|---|---|---|
| 0x0 | 2 | Unknown |
| 0x2 | 2 | Unknown |
| 0x4 | 4 | R (float) |
| 0x8 | 4 | G (float) |
| 0xC | 4 | B (float) |
| 0x10 | 4 | A (float) |
| 0x14 | 4 | Unknown; doesn't seem to do anything |
| 0x18 | 1 | Unknown; tends to crash the game if modified |
| 0x19 | 4 | Unknown |
| 0x1D | 4 | Unknown |
| 0x21 | 4 | Unknown |
| 0x25 | 4 | X Scale |
| 0x29 | 4 | X Position |
| 0x2D | 4 | X Unknown (creates a skew effect) |
| 0x31 | 4 | X Unknown (creates a scale effect) |
| 0x35 | 4 | Y Scale |
| 0x39 | 4 | Y Position |
| 0x3D | 4 | Y Unknown (creates a skew effect) |
| 0x41 | 4 | Y Unknown (creates a scale effect) |
| 0x45 | 4 | Z Scale |
| 0x49 | 4 | Z Position |
| 0x4D | 4 | Z Unknown (creates a skew effect) |
| 0x51 | 4 | Z Unknown (creates a scale effect) |
| 0x55 | 4 | Unknown |
| 0x59 | 2 | Unknown |
| 0x5B | End of widget | |
Base Widget (BWIG)
Incomplete. This widget might have the same parameters as HWIG.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 2 | Unknown |
| 0x2 | 2 | Unknown |
Table Group (TBGP)
Camera (CAMR)
Incomplete.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 4 | R (float) (RGBA settings don't seem to do anything on cameras) |
| 0x4 | 4 | G (float) |
| 0x8 | 4 | B (float) |
| 0xC | 4 | A (float) |
| 0x10 | 4 | Unknown |
| 0x14 | 4 | Unknown |
| 0x18 | 4 | Something - Left |
| 0x1C | 4 | Something - Right |
| 0x20 | 4 | Something - Top |
| 0x24 | 4 | Something - Bottom |
Light (LITE)
Model (MODL)
Text Pane (TXPN)
| Offset | Size | Description |
|---|---|---|
| 0x0 | 2 | Unknown |
| 0x2 | 2 | Unknown |
| 0x4 | 4 | R (float) |
| 0x8 | 4 | G (float) |
| 0xC | 4 | B (float) |
| 0x10 | 4 | A (float) |
| 0x14 | 4 | Unknown |
| 0x18 | 4 | Width (float) |
| 0x1C | 4 | Height (float) |
| 0x20 | 4 | X Offset (float) |
| 0x24 | 4 | Unknown (float) |
| 0x28 | 4 | Y Offset (float) |
| 0x2C | 4 | Unknown (float) |
| 0x30 | 2 | Unknown |
| 0x32 | 4 | Unknown |
| 0x36 | 4 | Unknown |
| 0x3E | 4 | Unknown |
| 0x42 | 4 | Unknown |
| 0x46 | 4 | Unknown |
| 0x4A | 4 | Unknown |
| 0x4E | 4 | Unknown |
| 0x52 | 4 | Unknown |
| 0x56 | 4 | Unknown |
| 0x5A | 4 | Unknown |
| 0x5E | 4 | Unknown |
| 0x62 | 1 | Unknown |
| 0x63 | 4 | Unknown |
| 0x67 | 4 | Unknown |
| 0x6B | 4 | Unknown |
| 0x6F | 4 | Unknown |
| 0x73 | 4 | Unknown |
| 0x77 | 4 | Unknown |
| 0x7B | 4 | Unknown |
| 0x7F | 4 | Unknown |
| 0x83 | 4 | Unknown |
| 0x87 | 4 | Unknown |
| 0x8B | 4 | Unknown |
| 0x8F | 4 | Unknown |
| 0x93 | 4 | Unknown |
| 0x97 | 4 | Unknown |
| 0x9B | 4 | Unknown |
| 0x9F | 4 | Unknown |
| 0xA3 | 2 | Unknown |
| 0xA5 | End of widget | |