UI Structures

uiColumn

Offset

Size (Total: 24)

Type

Field

0x0

8

uiVariant*

width

0x8

8

uiItem*

items

0x10

8

uiColumn*

next


uiItem

Offset

Size (Total: 856)

Type

Field

0x0

4

uiItemType

type

4

<padding>

0x8

8

uiMenu*

menu

0x10

8

const char*

name

0x18

4

int

instanceId

4

<padding>

0x20

8

const char*

templateName

0x28

24

Marker

areaSrc

0x40

16

SDL_Rect

area

0x50

16

SDL_Rect

pad

0x60

4

int

enabled

0x64

4

int

ignoreEvents

0x68

4

int

ha

0x6C

4

int

va

0x70

8

uiVariant*

alpha

0x78

8

uiVariant*

fill

0x80

4

int

useOverlayTint

0x84

12

Array<int,3>

overlayTint

0x90

64

uiItem::text_t

text

0xD0

8

uiItem::uiTemplate_t

uiTemplate

0xD8

56

uiItem::bam_t

bam

0x110

32

uiItem::bmp_t

bmp

0x130

80

uiItem::list_t

list

0x180

56

uiItem::scrollbar_t

scrollbar

0x1B8

40

uiItem::slider_t

slider

0x1E0

40

uiItem::edit_t

edit

0x208

16

uiItem::mosaic_t

mosaic

0x218

48

uiItem::movie_t

movie

0x248

80

uiItem::button_t

button

0x298

4

uiItem::map_t

map

4

<padding>

0x2A0

24

uiItem::progressBar_t

progressBar

0x2B8

40

uiItem::slot_t

slot

0x2E0

16

uiItem::rectangle_t

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

uiItem::tooltip_t

tooltip

0x340

8

uiVariant*

glow

0x348

8

uiVariant*

pulse

0x350

8

uiItem*

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

uiVariant*

resref

0x8

8

uiVariant*

sequence

0x10

8

uiVariant*

sequenceonce

0x18

8

uiVariant*

frame

0x20

8

uiVariant*

greyscale

0x28

8

uiVariant*

usealpha

0x30

4

int

scaletoclip

4

<padding>


uiItem::bmp

Offset

Size (Total: 32)

Type

Field

0x0

4

int

resname

4

<padding>

0x8

8

uiVariant*

resref

0x10

16

SDL_Rect

area


uiItem::button

Offset

Size (Total: 80)

Type

Field

0x0

8

uiVariant*

portrait

0x8

8

uiVariant*

paperdoll

0x10

4

int

encumbrance

0x14

4

int

colorDisplay

0x18

4

int

frameTimes

4

<padding>

0x20

8

const char*

toggle

0x28

8

const char*

on

0x30

8

const char*

highlightGroup

0x38

8

uiVariant*

clickable

0x40

8

uiVariant*

actionBar

0x48

8

const char*

sound


uiItem::edit

Offset

Size (Total: 40)

Type

Field

0x0

8

const char*

var

0x8

4

int

maxlines

0xC

4

int

maxchars

0x10

8

uiVariant*

placeholder

0x18

4

int

cursor

0x1C

4

int

selectStart

0x20

4

int

selectEnd

4

<padding>


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

uiVariant*

rowbackground

0x18

4

int

dynamicHeight

4

<padding>

0x20

8

uiColumn*

columns

0x28

4

int

category

0x2C

4

int

showHighlight

0x30

4

int

seperator

0x34

4

int

selected

0x38

4

int

height

4

<padding>

0x40

8

uiVariant*

color

0x48

4

int

currentRow

4

<padding>


uiItem::map

Offset

Size (Total: 4)

Type

Field

0x0

4

int

type


uiItem::mosaic

Offset

Size (Total: 16)

Type

Field

0x0

8

uiVariant*

resref

0x8

4

int

respectClipping

4

<padding>


uiItem::movie

Offset

Size (Total: 48)

Type

Field

0x0

8

void*

res

0x8

16

SDL_Rect

subtitle

0x18

4

int

transparent

0x1C

4

unsigned int

background

0x20

4

int

loop

4

<padding>

0x28

8

uiVariant*

queuedMovie


uiItem::progressBar

Offset

Size (Total: 24)

Type

Field

0x0

8

uiVariant*

percent

0x8

8

uiVariant*

color

0x10

8

uiVariant*

fullColor


uiItem::rectangle

Offset

Size (Total: 16)

Type

Field

0x0

4

int

number

4

<padding>

0x8

8

uiVariant*

opacity


uiItem::scrollbar

Offset

Size (Total: 56)

Type

Field

0x0

8

const char*

bam

0x8

8

const char*

function

0x10

8

uiVariant*

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

<padding>


uiItem::slider

Offset

Size (Total: 40)

Type

Field

0x0

8

const char*

position

0x8

8

uiVariant*

settings

0x10

4

int

palette

4

<padding>

0x18

8

const char*

background

0x20

4

int

right

4

<padding>


uiItem::slot

Offset

Size (Total: 40)

Type

Field

0x0

8

uiVariant*

icon

0x8

8

uiVariant*

count

0x10

8

uiVariant*

usages

0x18

8

uiVariant*

highlight

0x20

8

uiVariant*

tint


uiItem::text

Offset

Size (Total: 64)

Type

Field

0x0

8

const char*

originalText

0x8

8

uiVariant*

text

0x10

8

const char*

font

0x18

4

int

point

0x1C

4

int

useFontZoom

0x20

8

uiVariant*

color

0x28

4

int

upper

0x2C

4

int

lower

0x30

8

uiVariant*

shadow

0x38

8

uiVariant*

showhighlight


uiItem::tooltip

Offset

Size (Total: 32)

Type

Field

0x0

8

const char*

originalText

0x8

8

uiVariant*

text

0x10

8

uiVariant*

force

0x18

4

int

position

0x1C

4

int

forceTop


uiItem::uiTemplate

Offset

Size (Total: 8)

Type

Field

0x0

8

uiItem*

item


uiMenu

Offset

Size (Total: 112)

Type

Field

0x0

24

Marker

menuSrc

0x18

8

const char*

name

0x20

4

int

panel

0x24

4

int

state

0x28

8

uiItem*

items

0x30

8

uiVariant*

modal

0x38

8

uiVariant*

opacity

0x40

8

uiVariant*

greyscale

0x48

4

int

onOpen

0x4C

4

int

onClose

0x50

8

SDL_Point

offset

0x58

4

int

ha

0x5C

4

int

va

0x60

4

int

width

0x64

4

int

height

0x68

4

int

enabled

0x6C

4

int

ignoreEsc


uiVariant

Offset

Size (Total: 16)

Type

Field

0x0

4

uiVariantType

type

4

<padding>

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_Button_st

Offset

Size (Total: 32)

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

1

unsigned __int8

nSequence

0x17

1

unsigned __int8

bFlags

0x18

1

unsigned __int8

nFrameUp

0x19

1

unsigned __int8

refPtXLower

0x1A

1

unsigned __int8

nFrameDown

0x1B

1

unsigned __int8

refPtXHigher

0x1C

1

unsigned __int8

nFrameFocus

0x1D

1

unsigned __int8

refPtYLower

0x1E

1

unsigned __int8

nFrameDisabled

0x1F

1

unsigned __int8

refPtYHigher


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