FRME (File Format)

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