EvilEngine/UIFT
A UI Font is a text element that is drawn to the screen, on top of everything else in the scene. It can accept user input.
UIFT | |
---|---|
UI Font | |
Type | Entity |
Base Type | 0x21 |
Games used | Night of 100 Frights Battle for Bikini Bottom |
Source code | zUIFont.h |
Format
UI Fonts are based on UI assets, which are based on entity assets. Some notes on the 0x54 byte header:
- The rotation, scale, and color are all ignored. By default, the rotation is (0,0,0), scale is (1,1,1), and color is (1,1,1,1).
- The position is measured in screen space. The XY coordinates are measured in pixels, (0,0) being the top left corner of the screen. The Z coordinate represents depth and is used to determine the draw order (a UI Font with a higher depth will be drawn behind one with a lower depth).
- The four asset IDs (0x0C, 0x10, 0x4C, 0x50) are always null. UI Fonts do not use models.
Notes on the UI data:
- All known possible values for uiFlags: 44, 48, 52, 54, 55, and 60.
Following the placeable header and the UI data:
Offset | Type | Variable | Description |
---|---|---|---|
0x80 | short | uiFontFlags | |
0x82 | byte | mode | |
0x83 | byte | fontID | maybe the same as Font in game_object:text_box? |
0x84 | AssetID (Text) | textAssetID | |
0x88 | Color | bcolor | |
0x8C | Color | color | |
0x90 | short[4] | inset | |
0x98 | short[2] | space | |
0x9C | short[2] | cdim | |
0xA0 | int | max_height | |
Events | |||
0xA4 | Event[numberOfEvents] | Events |
Events
- PadPressX
- PadPressSquare
- PadPressO
- PadPressTriangle
- PadPressL1
- PadPressL2
- PadPressR1
- PadPressR2
- PadPressStart
- PadPressSelect
- PadPressUp
- PadPressDown
- PadPressRight
- PadPressLeft
- FontBackdropOn
- FontBackdropOff
- UI Select
- UI Unselect
- UI Focus On
- UI Focus Off
- UI Focus On+Select
- UI Focus Off+Unselect