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 |