UI Structures¶
uiColumn¶
Offset |
Size (Total: 24) |
Type |
Field |
0x0 |
8 |
width |
|
0x8 |
8 |
items |
|
0x10 |
8 |
next |
uiItem¶
Offset |
Size (Total: 856) |
Type |
Field |
0x0 |
4 |
uiItemType |
type |
4 |
|
||
0x8 |
8 |
menu |
|
0x10 |
8 |
const char* |
name |
0x18 |
4 |
int |
instanceId |
4 |
|
||
0x20 |
8 |
const char* |
templateName |
0x28 |
24 |
areaSrc |
|
0x40 |
16 |
area |
|
0x50 |
16 |
pad |
|
0x60 |
4 |
int |
enabled |
0x64 |
4 |
int |
ignoreEvents |
0x68 |
4 |
int |
ha |
0x6C |
4 |
int |
va |
0x70 |
8 |
alpha |
|
0x78 |
8 |
fill |
|
0x80 |
4 |
int |
useOverlayTint |
0x84 |
12 |
Array<int,3> |
overlayTint |
0x90 |
64 |
text |
|
0xD0 |
8 |
uiTemplate |
|
0xD8 |
56 |
bam |
|
0x110 |
32 |
bmp |
|
0x130 |
80 |
list |
|
0x180 |
56 |
scrollbar |
|
0x1B8 |
40 |
slider |
|
0x1E0 |
40 |
edit |
|
0x208 |
16 |
mosaic |
|
0x218 |
48 |
movie |
|
0x248 |
80 |
button |
|
0x298 |
4 |
map |
|
4 |
|
||
0x2A0 |
24 |
progressBar |
|
0x2B8 |
40 |
slot |
|
0x2E0 |
16 |
rectangle |
|
0x2F0 |
4 |
int |
action |
0x2F4 |
4 |
int |
actionDbl |
0x2F8 |
4 |
int |
actionAlt |
0x2FC |
4 |
int |
actionDrag |
0x300 |
4 |
int |
actionEnter |
0x304 |
4 |
int |
actionExit |
0x308 |
4 |
int |
actionUpdate |
0x30C |
4 |
int |
actionSimpleDrag |
0x310 |
4 |
int |
actionSimpleDrop |
0x314 |
4 |
int |
actionHold |
0x318 |
4 |
int |
actionScroll |
0x31C |
4 |
int |
framesHeld |
0x320 |
32 |
tooltip |
|
0x340 |
8 |
glow |
|
0x348 |
8 |
pulse |
|
0x350 |
8 |
next |
Notes
enum uiItemType {
ITEM_NONE = 0
ITEM_TEXT = 1
ITEM_BUTTON = 2
ITEM_LIST = 3
ITEM_EDIT = 4
ITEM_MOVIE = 5
ITEM_SLIDER = 6
ITEM_HANDLE = 7
ITEM_DRAGGABLE = 8
ITEM_SLOT = 9
ITEM_MAP = 10
ITEM_TEMPLATE = 11
}
Note
UI elements defined and used in the UI.MENU
file, use this data structure. Some of the field names are exposed via lua and the UI system and are available to retrieve and/or set the field value.
Note
The fields beginning with action
are processed as events (when something occurs) and can be assigned to lua script actions to perform when the event happens. The lua scripts to assign to an action event are enclosed in double-quotes "
. For example:
actionDbl "Infinity_OnPortraitDblClick(0)"
calls the lua Infinity_OnPortraitDblClick function when the mouse double clicks the portrait.
uiItem::bam¶
Offset |
Size (Total: 56) |
Type |
Field |
0x0 |
8 |
resref |
|
0x8 |
8 |
sequence |
|
0x10 |
8 |
sequenceonce |
|
0x18 |
8 |
frame |
|
0x20 |
8 |
greyscale |
|
0x28 |
8 |
usealpha |
|
0x30 |
4 |
int |
scaletoclip |
4 |
|
uiItem::bmp¶
Offset |
Size (Total: 32) |
Type |
Field |
0x0 |
4 |
int |
resname |
4 |
|
||
0x8 |
8 |
resref |
|
0x10 |
16 |
area |
uiItem::edit¶
Offset |
Size (Total: 40) |
Type |
Field |
0x0 |
8 |
const char* |
var |
0x8 |
4 |
int |
maxlines |
0xC |
4 |
int |
maxchars |
0x10 |
8 |
placeholder |
|
0x18 |
4 |
int |
cursor |
0x1C |
4 |
int |
selectStart |
0x20 |
4 |
int |
selectEnd |
4 |
|
uiItem::list¶
Offset |
Size (Total: 80) |
Type |
Field |
0x0 |
4 |
int |
table |
0x4 |
4 |
int |
printrow |
0x8 |
4 |
int |
rowheight |
0xC |
4 |
int |
rowwidth |
0x10 |
8 |
rowbackground |
|
0x18 |
4 |
int |
dynamicHeight |
4 |
|
||
0x20 |
8 |
columns |
|
0x28 |
4 |
int |
category |
0x2C |
4 |
int |
showHighlight |
0x30 |
4 |
int |
seperator |
0x34 |
4 |
int |
selected |
0x38 |
4 |
int |
height |
4 |
|
||
0x40 |
8 |
color |
|
0x48 |
4 |
int |
currentRow |
4 |
|
uiItem::map¶
Offset |
Size (Total: 4) |
Type |
Field |
0x0 |
4 |
int |
type |
uiItem::mosaic¶
Offset |
Size (Total: 16) |
Type |
Field |
0x0 |
8 |
resref |
|
0x8 |
4 |
int |
respectClipping |
4 |
|
uiItem::movie¶
Offset |
Size (Total: 48) |
Type |
Field |
0x0 |
8 |
void* |
res |
0x8 |
16 |
subtitle |
|
0x18 |
4 |
int |
transparent |
0x1C |
4 |
unsigned int |
background |
0x20 |
4 |
int |
loop |
4 |
|
||
0x28 |
8 |
queuedMovie |
uiItem::progressBar¶
Offset |
Size (Total: 24) |
Type |
Field |
0x0 |
8 |
percent |
|
0x8 |
8 |
color |
|
0x10 |
8 |
fullColor |
uiItem::rectangle¶
Offset |
Size (Total: 16) |
Type |
Field |
0x0 |
4 |
int |
number |
4 |
|
||
0x8 |
8 |
opacity |
uiItem::scrollbar¶
Offset |
Size (Total: 56) |
Type |
Field |
0x0 |
8 |
const char* |
bam |
0x8 |
8 |
const char* |
function |
0x10 |
8 |
hide |
|
0x18 |
4 |
int |
top |
0x1C |
4 |
int |
held |
0x20 |
4 |
int |
dragging |
0x24 |
4 |
int |
contentHeight |
0x28 |
4 |
int |
respectConstraints |
0x2C |
4 |
int |
clunkyScroll |
0x30 |
4 |
int |
skipReset |
4 |
|
uiItem::slider¶
Offset |
Size (Total: 40) |
Type |
Field |
0x0 |
8 |
const char* |
position |
0x8 |
8 |
settings |
|
0x10 |
4 |
int |
palette |
4 |
|
||
0x18 |
8 |
const char* |
background |
0x20 |
4 |
int |
right |
4 |
|
uiItem::slot¶
Offset |
Size (Total: 40) |
Type |
Field |
0x0 |
8 |
icon |
|
0x8 |
8 |
count |
|
0x10 |
8 |
usages |
|
0x18 |
8 |
highlight |
|
0x20 |
8 |
tint |
uiItem::text¶
Offset |
Size (Total: 64) |
Type |
Field |
0x0 |
8 |
const char* |
originalText |
0x8 |
8 |
text |
|
0x10 |
8 |
const char* |
font |
0x18 |
4 |
int |
point |
0x1C |
4 |
int |
useFontZoom |
0x20 |
8 |
color |
|
0x28 |
4 |
int |
upper |
0x2C |
4 |
int |
lower |
0x30 |
8 |
shadow |
|
0x38 |
8 |
showhighlight |
uiItem::tooltip¶
Offset |
Size (Total: 32) |
Type |
Field |
0x0 |
8 |
const char* |
originalText |
0x8 |
8 |
text |
|
0x10 |
8 |
force |
|
0x18 |
4 |
int |
position |
0x1C |
4 |
int |
forceTop |
uiItem::uiTemplate¶
Offset |
Size (Total: 8) |
Type |
Field |
0x0 |
8 |
item |
uiVariant¶
Offset |
Size (Total: 16) |
Type |
Field |
0x0 |
4 |
uiVariantType |
type |
4 |
|
||
0x8 |
8 |
uiVariant::value_t |
value |
Notes
enum uiVariantType {
UIVAR_INT = 0
UIVAR_FUNCTION = 1
UIVAR_STRING = 2
UIVAR_FLOAT = 3
}
UI_ControlTableEntry_st¶
Offset |
Size (Total: 8) |
Type |
Field |
0x0 |
4 |
unsigned int |
nControlOffset |
0x4 |
4 |
unsigned int |
nControlSize |
UI_Control_Edit_st¶
Offset |
Size (Total: 106) |
Type |
Field |
0x0 |
4 |
unsigned int |
nID |
0x4 |
2 |
unsigned __int16 |
x |
0x6 |
2 |
unsigned __int16 |
y |
0x8 |
2 |
unsigned __int16 |
nWidth |
0xA |
2 |
unsigned __int16 |
nHeight |
0xC |
2 |
unsigned __int16 |
nType |
0xE |
8 |
Array<unsigned __int8,8> |
refEdit |
0x16 |
8 |
Array<unsigned __int8,8> |
refEditClientFocus |
0x1E |
8 |
Array<unsigned __int8,8> |
refEditClientNoFocus |
0x26 |
8 |
Array<unsigned __int8,8> |
refEditCaret |
0x2E |
2 |
unsigned __int16 |
nSequenceEditCaret |
0x30 |
2 |
unsigned __int16 |
nFrameEditCaret |
0x32 |
2 |
unsigned __int16 |
xEditClientOffset |
0x34 |
2 |
unsigned __int16 |
yEditClientOffset |
0x36 |
2 |
unsigned __int16 |
xEditCaretOffset |
0x38 |
2 |
unsigned __int16 |
yEditCaretOffset |
0x3A |
8 |
Array<unsigned __int8,8> |
refTextFont |
0x42 |
2 |
unsigned __int16 |
nSequenceText |
0x44 |
32 |
Array<unsigned __int8,32> |
defaultString |
0x64 |
2 |
unsigned __int16 |
maxChars |
0x66 |
2 |
unsigned __int16 |
caseFormat |
0x68 |
2 |
unsigned __int16 |
typeFormat |
UI_Control_Label_st¶
Offset |
Size (Total: 36) |
Type |
Field |
0x0 |
4 |
unsigned int |
nID |
0x4 |
2 |
unsigned __int16 |
x |
0x6 |
2 |
unsigned __int16 |
y |
0x8 |
2 |
unsigned __int16 |
nWidth |
0xA |
2 |
unsigned __int16 |
nHeight |
0xC |
2 |
unsigned __int16 |
nType |
0xE |
4 |
unsigned int |
textStrRef |
0x12 |
8 |
Array<unsigned __int8,8> |
refTextFont |
0x1A |
4 |
unsigned int |
rgbTextForeground |
0x1E |
4 |
unsigned int |
rgbBackground |
0x22 |
2 |
unsigned __int16 |
nLabelType |
UI_Control_ScrollBar_st¶
Offset |
Size (Total: 40) |
Type |
Field |
0x0 |
4 |
unsigned int |
nID |
0x4 |
2 |
unsigned __int16 |
x |
0x6 |
2 |
unsigned __int16 |
y |
0x8 |
2 |
unsigned __int16 |
nWidth |
0xA |
2 |
unsigned __int16 |
nHeight |
0xC |
2 |
unsigned __int16 |
nType |
0xE |
8 |
Array<unsigned __int8,8> |
refBam |
0x16 |
2 |
unsigned __int16 |
nSequence |
0x18 |
2 |
unsigned __int16 |
nTopFrameUp |
0x1A |
2 |
unsigned __int16 |
nTopFrameDown |
0x1C |
2 |
unsigned __int16 |
nBottomFrameUp |
0x1E |
2 |
unsigned __int16 |
nBottomFrameDown |
0x20 |
2 |
unsigned __int16 |
nBarFrame |
0x22 |
2 |
unsigned __int16 |
nThumbFrame |
0x24 |
4 |
unsigned int |
nControlWindowId |
UI_Control_Slider_st¶
Offset |
Size (Total: 52) |
Type |
Field |
0x0 |
4 |
unsigned int |
nID |
0x4 |
2 |
unsigned __int16 |
x |
0x6 |
2 |
unsigned __int16 |
y |
0x8 |
2 |
unsigned __int16 |
nWidth |
0xA |
2 |
unsigned __int16 |
nHeight |
0xC |
2 |
unsigned __int16 |
nType |
0xE |
8 |
Array<unsigned __int8,8> |
refSlider |
0x16 |
8 |
Array<unsigned __int8,8> |
refSliderThumb |
0x1E |
2 |
unsigned __int16 |
nSequenceThumb |
0x20 |
2 |
unsigned __int16 |
nFrameThumbNormal |
0x22 |
2 |
unsigned __int16 |
nFrameThumbSelected |
0x24 |
2 |
unsigned __int16 |
xThumbOffset |
0x26 |
2 |
unsigned __int16 |
yThumbOffset |
0x28 |
2 |
unsigned __int16 |
tickSize |
0x2A |
2 |
unsigned __int16 |
nTicks |
0x2C |
2 |
unsigned __int16 |
activeBarTop |
0x2E |
2 |
unsigned __int16 |
activeBarBottom |
0x30 |
2 |
unsigned __int16 |
activeBarLeft |
0x32 |
2 |
unsigned __int16 |
activeBarRight |
UI_Control_TextDisplay_st¶
Offset |
Size (Total: 46) |
Type |
Field |
0x0 |
4 |
unsigned int |
nID |
0x4 |
2 |
unsigned __int16 |
x |
0x6 |
2 |
unsigned __int16 |
y |
0x8 |
2 |
unsigned __int16 |
nWidth |
0xA |
2 |
unsigned __int16 |
nHeight |
0xC |
2 |
unsigned __int16 |
nType |
0xE |
8 |
Array<unsigned __int8,8> |
refTextFont |
0x16 |
8 |
Array<unsigned __int8,8> |
refNameFont |
0x1E |
4 |
unsigned int |
rgbTextForeground |
0x22 |
4 |
unsigned int |
rgbDefaultName |
0x26 |
4 |
unsigned int |
rgbBackground |
0x2A |
4 |
unsigned int |
nScrollBarId |
UI_Control_st¶
Offset |
Size (Total: 14) |
Type |
Field |
0x0 |
4 |
unsigned int |
nID |
0x4 |
2 |
unsigned __int16 |
x |
0x6 |
2 |
unsigned __int16 |
y |
0x8 |
2 |
unsigned __int16 |
nWidth |
0xA |
2 |
unsigned __int16 |
nHeight |
0xC |
2 |
unsigned __int16 |
nType |
UI_Header_st¶
Offset |
Size (Total: 20) |
Type |
Field |
0x0 |
4 |
unsigned int |
nFileType |
0x4 |
4 |
unsigned int |
nFileVersion |
0x8 |
4 |
unsigned int |
nPanels |
0xC |
4 |
unsigned int |
nOffsetToControlTable |
0x10 |
4 |
unsigned int |
nOffsetToPanelTable |
UI_PanelHeader_st¶
Offset |
Size (Total: 28) |
Type |
Field |
0x0 |
4 |
unsigned int |
nPanelID |
0x4 |
2 |
unsigned __int16 |
x |
0x6 |
2 |
unsigned __int16 |
y |
0x8 |
2 |
unsigned __int16 |
nWidth |
0xA |
2 |
unsigned __int16 |
nHeight |
0xC |
2 |
unsigned __int16 |
nType |
0xE |
2 |
unsigned __int16 |
nControls |
0x10 |
8 |
Array<unsigned __int8,8> |
refMosaic |
0x18 |
2 |
unsigned __int16 |
nFirstControl |
0x1A |
2 |
unsigned __int16 |
wFlags |