UI Events
UI event handlers, UIWindow messages, UIListBox/Button/Scrollbar/Tab/Tree/EditBox events, callbacks
| Address | Size | Name | Description |
|---|---|---|---|
| 0x0077EF40 | 26 | UIWindow__InvokeVfuncHandler | Invokes the first virtual function on the object with forwarded parameters and some zeroed defaults. |
| 0x0077EF70 | 42 | ui_callback_create_skill_effect_a | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect handler callback. |
| 0x0077EFA0 | 36 | ui_callback_remove_effect_0x99c_a | UI callback that removes effect 0x99C from the actor's effect manager at offset +0x110 via CEffectMgr__find_effect_by_type_and_id. Guard checks param_2 is non-null. |
| 0x0077F600 | 36 | ui_callback_remove_effect_0x99c_b | UI callback that removes effect 0x99C from the actor's effect manager at offset +0x110 via CEffectMgr__find_effect_by_type_and_id. Duplicate of ui_callback_remove_effect_0x99c_a. |
| 0x0077FD60 | 42 | ui_callback_create_skill_effect_b | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. Duplicate of ui_callback_create_skill_effect_a at a different address. |
| 0x00780840 | 42 | ui_callback_create_skill_effect_c | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. |
| 0x00780DB0 | 42 | ui_callback_create_skill_effect_d | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. |
| 0x007812F0 | 36 | ui_callback_remove_effect_0x99d | UI callback that removes effect 0x99D from the actor's effect manager at offset +0x110 via CEffectManager__remove_effect_by_id_and_type. Guard checks param_2 is non-null. |
| 0x00781B50 | 42 | ui_callback_create_skill_effect_e | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. |
| 0x00781C30 | 42 | ui_callback_create_skill_effect_f | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. |
| 0x00781DB0 | 77 | ui_callback_create_effect_0x51e | UI callback that creates effect 0x51E on the actor's effect manager at offset +0x110 via CEffectManager__create_effect with default position/params. Guard checks param_2 is non-null. |
| 0x00781E00 | 77 | ui_callback_create_effect_0x963 | UI callback that creates effect 0x963 on the actor's effect manager at offset +0x110 via CEffectManager__create_effect with default position/params. Guard checks param_2 is non-null. |
| 0x00781E50 | 36 | ui_callback_remove_effect_0x963 | UI callback that removes effect 0x963 from the actor's effect manager at offset +0x110 via CEffectManager__remove_effect_by_id_and_type. Guard checks param_2 is non-null. |
| 0x00781E80 | 26 | UIWindow__InvokeVfuncHandler_b | Invokes the first virtual function on the object with forwarded parameters and some zeroed defaults. Duplicate of UIWindow__InvokeVfuncHandler. |
| 0x00781EA0 | 42 | ui_callback_create_skill_effect_g | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. |
| 0x007820B0 | 77 | ui_callback_create_effect_0x4e8 | UI callback that creates effect 0x4E8 on the actor's effect manager at offset +0x110 via CEffectManager__create_effect with default position/params. Guard checks param_2 is non-null. |
| 0x00782270 | 285 | ui_callback_remove_groggy_effect | UI callback that removes the "groggy_on_loop" effect from the actor's effect manager at offset +0x110. Looks up the effect ID by name string via CEffectDataMgr, then calls CEffectManager__remove_effect_by_id_and_type. |
| 0x00782390 | 26 | UIWindow__InvokeVfuncHandler_c | Invokes the first virtual function on the object with forwarded parameters and zeroed defaults. |
| 0x007823B0 | 180 | ui_callback_npc_reset_effect | UI callback that sends message 0x96a and plays the "NPC_RESET_EFST" sound effect. Calculates relative position from player to play 3D positional audio. |
| 0x00782700 | 303 | ui_callback_stop_target_marker_effect | UI callback that stops the "target_marker_loop" effect. Looks up the effect ID by name from CEffectDataMgr and sends stop command to the object at param_2+0x110. |
| 0x00782830 | 26 | UIWindow__InvokeVfuncHandler_d | Invokes the first virtual function on the object with forwarded parameters and zeroed defaults. |
| 0x00782860 | 42 | ui_callback_close_window_h | UI callback that closes/destroys a window if param_2 is non-null. |
| 0x00782890 | 180 | ui_callback_aimed_shower_effect | UI callback that sends message 0x4f4 and plays the "NPC_AIMED_SHOWER" sound effect. Calculates relative position from player for 3D positional audio. |
| 0x00782950 | 77 | ui_callback_send_msg_0x965 | UI callback that sends extended message 0x965 with default params to the object at param_2+0x110. |
| 0x007829A0 | 42 | ui_callback_close_window_i | UI callback that closes/destroys a window if param_2 is non-null. |
| 0x00782B20 | 42 | ui_callback_close_window_j | UI callback that closes/destroys a window if param_2 is non-null. |
| 0x00782F20 | 565 | ui_callback_stop_block_seal_effects | UI callback that stops the "npc_block_seal_loop_bottom" and "npc_block_seal_loop" effects. Sends message 0x960 first, then stops both effect IDs looked up from CEffectDataMgr. |
| 0x00783160 | 26 | UIWindow__InvokeVfuncHandler_e | Invokes the first virtual function on the object with forwarded parameters and zeroed defaults. |
| 0x007832F0 | 42 | ui_callback_close_window_k | UI callback that closes/destroys a window if param_2 is non-null. |
| 0x007834A0 | 62 | ui_callback_exit_game | UI callback that exits the game. Calls FUN_00cadd60 with mode 0x49 (game exit). Does not return. |
| 0x007836A0 | 42 | ui_callback_close_window_l | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. |
| 0x00783860 | 42 | ui_callback_close_window_m | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. |
| 0x00783CA0 | 42 | ui_callback_close_window_n | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. |
| 0x00784130 | 42 | ui_callback_close_window_o | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. |
| 0x00784160 | 75 | ui_callback_return_to_select_char | UI callback that returns to character select screen. Calls FUN_00cadd60 with mode 0xc if both params are non-null. Does not return. |
| 0x007842D0 | 72 | ui_callback_send_emoticon | UI callback that sends an emoticon. Calculates emoticon index from param_1 / 0x18, then sends message 0x5a8 with the emoticon index. |
| 0x00784960 | 42 | ui_callback_close_window_p | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. |
| 0x00784E60 | 51 | ui_callback_close_two_windows | UI callback that closes two windows. Calculates window group index from param_1 (signed divide by 16), then closes windows with IDs 9 and 12 for that group. |
| 0x00785370 | 581 | ui_callback_play_gravitation_effects | UI callback that plays 2 ground gravitation effects: "ground_gravitation_bottom_loop" and "ground_gravitation_loop". Each effect is looked up by name, played on the object, and if a previous effect instance exists, it is stopped via vfunc +0x7c. |
| 0x007855D0 | 42 | ui_callback_close_window_q | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. |
| 0x00785790 | 42 | ui_callback_close_window_r | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. |
| 0x00785AB0 | 303 | ui_callback_stop_breakinglimit_buff | UI callback that stops the "breakinglimit_buff" effect. Looks up the effect ID by name from CEffectDataMgr and sends stop command. |
| 0x00785BE0 | 26 | UIWindow__InvokeVfuncHandler_f | Invokes the first virtual function on the object with forwarded parameters and zeroed defaults: (param_2, param_3, 0, 0, param_6, 0). |
| 0x00785C10 | 42 | ui_callback_close_window_s | UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. |
| 0x00785F10 | 285 | ui_callback_stop_rulebreak_buff | UI callback that stops the "rulebreak_buff" effect. Looks up the effect ID by name from CEffectDataMgr and sends stop command. |
| 0x00786030 | 26 | UIWindow__InvokeVfuncHandler_g | Invokes a UI window virtual function handler through a vtable dispatch. |
| 0x008160C0 | 99 | UIListBox_008160c0__scalar_deleting_dtor | Scalar deleting destructor; sets vtable 0112c344, size 0x88, calls base dtor 00a79e90 |
| 0x00816130 | 112 | UIListBoxDerived_00816130__scalar_deleting_dtor | Scalar deleting destructor; sets vtable 0112c41c then 0112c344, size 0x88 |
| 0x00816400 | 99 | UIButton_00816400__scalar_deleting_dtor | Scalar deleting destructor; sets vtable 0112c854, size 0x80, calls base dtor 00a79e90 |
| 0x008267C0 | 28 | UIWindow__get_flag_by_index | Returns byte flag at +0x84+index if index less than 5, else returns 0 |
| 0x0084DA30 | 9 | thunk_to_UIWindow__prepare_render_context_0084da30 | Thunk to UIWindow__draw_header_area at 008ba1e0. Simple JMP forwarder. |
| 0x0084EA20 | 139 | UIScrollbarWidget__ctor | UIScrollbarWidget constructor. Calls UIBaseTextRender base ctor (on_resize_handler), sets vtable to UIScrollbarWidget, initializes string buffer (0x2d-0x32), sets default height 0x14 at offset 6. |
| 0x00850120 | 171 | UIDropdownWidget__ctor_base | Constructor for UITextLabelWidget (also UIDropdownWidget base). Calls base UIWidget ctor, sets vtable to PTR_UIDropdownWidget__scalar_deleting_dtor_01132e80. Initializes one SSO string field, font size (0x27), alignment (0x28), style (0x29), and two color values to 0xFFFF00FF (magenta with full alpha). |
| 0x00850910 | 160 | UIDropdownWidget__ctor | Constructor for UIDropdownWidget. Calls UIWindowBase__ctor (not the standard UIWidget base), sets vtable to PTR_UIDropdownWidget__scalar_del_dtor2_01133390. Initializes one SSO string field at offset 0x2f, clears it, and sets widget size to 24x24 pixels via CEffect__set_size_and_reload. |
| 0x00850A50 | 78 | UIDropdownWidget__delete_child_node | Deletes a child node for UIDropdownWidget. Checks if offset 4 pointer is non-null, deletes 0xC byte allocation. Similar to UIWidget__delete_child_node_12byte but called from dropdown context. |
| 0x00851120 | 138 | UIScrollbarWidget__dtor | Destructor for UIScrollbarWidget. Sets vtable to PTR_UIScrollbarWidget__scalar_deleting_dtor_0113251c, destroys one string field. Then sets vtable to PTR_UITextDisplayWidget (011321ac), destroys two more string fields, and calls CEffect__dtor for final base cleanup. |
| 0x00851FC0 | 95 | UIDropdownWidget__dtor | Destructor for UIDropdownWidget. Sets vtable, destroys one std::string member (selected item text), then calls UIWindowBase__dtor for base cleanup. |
| 0x00852170 | 162 | UIScrollbarWidget__scalar_deleting_dtor | Scalar deleting destructor for UIScrollbarWidget. Destroys 1 string at own level, switches to parent vtable, destroys 2 more strings, then calls base dtor. Frees 0xD0 bytes if param_2 & 1. |
| 0x00852D70 | 110 | UIDropdownWidget__scalar_deleting_dtor | Scalar deleting destructor for UIDropdownWidget. Destroys 1 string, calls base widget dtor. Frees 0xB0 bytes if param_2 & 1. |
| 0x00853330 | 119 | UIDropdownWidget__scalar_del_dtor2 | Scalar deleting destructor variant for UIDropdownWidget. Sets vtable, destroys string, calls UIWindowBase dtor. Frees 0xD8 bytes if param_2 & 1. |
| 0x008572F0 | 289 | UIButtonWidget__render_texture | Renders a button widget's texture. Selects texture based on button state (0=normal/hover, 1=pressed, 2=disabled) from std::string filenames at offsets 0xBC/0xD4/0xEC. Loads texture via stub_005717a0, gets dimensions, and renders at widget position using render_textured_rect_from_texture with full white tint. |
| 0x00858890 | 739 | UIButtonWidget__calculate_text_height | Calculates the total text height for a button widget's label. Builds the display string by appending charset hex to the label text at offset 0xD8, then splits it into lines using CEffect__split_text_into_lines_by_width based on the available widget width. Returns (number of lines) * line spacing from offset 0x138. Cleans up all temporary string and vector allocations. |
| 0x00858F00 | 44 | UIButtonWidget__get_texture_info | Gets button texture rendering info. Copies 7 dwords (28 bytes) from offset 0xA0 into param_2: texture coordinates, dimensions, and rendering parameters. Returns 1 (success). |
| 0x0085A590 | 56 | UIEditBox__OnFocusLost | Handles focus lost event for edit box. If this is the active focused control, calls FUN_00acf590 to clear focus. Otherwise, resets caret state (0x7C=0) and restores text position from 0xE8 to 0x80. |
| 0x0085A870 | 413 | UIEditBox__create_formatted_content | Creates formatted text content for the edit box. Creates or reuses UIListDetailWidgetA at 0x144. If fewer than 3 entries and text fits within bounds (0xF0+0xE8 <= 0x88), creates a formatted entry with color 0x7F00E4, concatenates it with existing text from 0xD8, clears and reinserts combined text via CInputMgr, and updates the display buffer. |
| 0x0085AA10 | 40 | UIEditBox__OnMove | Handles the move event for the edit box. Delegates position setting to CEffect__set_position, then saves the current absolute position (offsets 0x1C and 0x20) to the cached position fields at 0xA0 and 0xA4. |
| 0x0085AB80 | 187 | UIEditBox__create_text_widget_0085ab80 | Creates and initializes the editable text input widget for the edit box. Allocates a UIEditableTextWidget (0xD8 bytes), sets its size, position, font size (0xC), and text alignment, then adds it as a child widget at offset 0x7C. |
| 0x0085AC40 | 141 | UIEditBox__create_scrollbar | Creates and initializes a vertical scrollbar widget for the edit box. Allocates a UIWidget (0xB4 bytes), initializes it as a scrollbar with vertical orientation, and adds it as a child at offset 0x130. |
| 0x0085ACE0 | 187 | UIEditBox__create_alt_text_widget | Creates and initializes an alternate/secondary text widget for the edit box. Same structure as create_text_widget but stored at a different offset. Allocates UIEditableTextWidget (0xD8 bytes), configures size, position, font, and adds as child at offset 0x7C. |
| 0x0085ADA0 | 528 | UIEditBox__create_dialog_box | Creates a UIDialogBox child widget when flag at 0xB8 is set. Allocates a 0x120-byte dialog, loads three background/button resources via CMessageStringTable, adjusts dialog size to fit the largest resource dimensions, centers it relative to the parent widget, and adds it as a child at offset 0xBC. |
| 0x0085B010 | 295 | UIEditBox__draw_centered_multiline_text | Draws centered multiline text entries. Iterates the vector of 0x18-byte text entries at offset 0x84, measures total height, calculates vertical centering offset, then draws each line centered horizontally with shadow using CEffect__draw_text_with_shadow. Uses font from 0xCC and size from 0x80. |
| 0x0085B140 | 225 | UIEditBox__draw_text_lines | Draws text lines from the entry vector at offset 0x84 vertically stacked. For each entry, draws text at x=6 with incrementing y position (starting at 4), measuring each line's height to calculate the next y offset. Uses font size from offset 0x80 and color from 0x90. |
| 0x0085B230 | 2136 | UIEditBox__OnDraw | Draws the edit box with state-dependent background and centered text. Draws a 3-part horizontal border (left cap, tiled middle in 6px segments, right cap) using different sprite sets based on state: 0xAC=1 (active), 0x30=0 (default), 0x30=1 (hover), 0x30=2 (pressed). Measures text at 0xB4 to center it, draws with appropriate shadow color per state (gray/green/white/shadow). Optionally triggers child repaint if 0xCC flag is set. |
| 0x0085BA90 | 198 | UIEditBox__draw_background_sprite | Draws the background sprite for the widget based on its current state (offset 0x30). State 0 uses sprite at 0xBC, state 1 at 0xD4, state 2 at 0xEC. If overlay flag (0xAC) is set and overlay string (0x104) exists, draws an additional overlay sprite. Optionally triggers parent repaint. |
| 0x0085BBC0 | 294 | UIEditBox__draw_tab_sprites | Draws tab-like sprites by iterating through 0x1C-byte entries between offsets 0x7C and 0x80. For each entry, formats a sprite name with state suffix ('a' or 'b' based on active tab at 0x30), loads and draws the sprite vertically stacked. Tracks cumulative y position from sprite heights. |
| 0x0085BCF0 | 235 | UIEditBox__draw_background_with_labels | Draws the widget background with labels. If overlay (0xAC) is set, forces state to 3. Otherwise draws state-based sprite (0xBC/0xD4/0xEC). Optionally draws overlay sprite from 0x104. Renders the sprite at (0,0), triggers parent repaint if 0x11C is set, then calls UIFormWidget__render_labels. |
| 0x0085CBA0 | 67 | UIEditBox__DrawLabel | Draws the label text for an edit box. Renders the string at offset 0x84 with white color (0xFFFFFF) at position (6,4), font size 0xC. |
| 0x0085E3B0 | 25 | UIEditBox__RefreshAndRedraw | Calls the edit box's refresh handler (vtable+0xE0) followed by redraw (vtable+0x98). |
| 0x0085E3D0 | 46 | UIEditBox__RefreshRedrawNotify | Calls refresh, redraw, and then sends a notification message (vtable+0x94) with all zero params. |
| 0x0085E400 | 32 | UIEditBox__ClearRefreshRedraw | Clears the edit box content via FUN_0086a060, then refreshes and redraws. |
| 0x0085E420 | 1049 | UIEditBox__ProcessInput | Main input processing for UIEditBox. Handles key events via a switch on param_2 (key code): Backspace (8) - deletes character if editable and cursor at valid position; End (0x23) - moves cursor to end of current line; Home (0x24) - moves cursor to start of current line; Left arrow (0x25) - moves cursor left if editable; Right arrow (0x27) - moves cursor right, double-stepping over line boundaries; Other keys (Delete/0x2D, Ctrl+A/C/V/X) - forwarded to CInputMgr__handle_key_down. Uses a vector of 0x18-byte string entries at field 0x168 for multi-line text. |
| 0x0085E8B0 | 9 | UIEditBox__ForwardMouseDown | Forwards mouse down to the edit box by calling vtable+0x64. Tiny thunk function (9 bytes). |
| 0x0085E8C0 | 95 | UIEditBox__on_confirm_input | Handles Enter/confirm on the edit box. Checks input mode (0xB0): mode 0 creates a new window (type 0x1D) and sends message 0x2F; mode 3 sends message 0x2D to the current mode-1 window. Other modes send to the existing window's vtable+0x18. |
| 0x0085E920 | 91 | UIEditBox__send_input_to_parent | Sends the edit box's current input value to the parent system. Checks global flags (DAT_01457a98/DAT_01457988) and the input mode (0x88). Sends message 0x54 (normal mode) or 0x110 (alternate mode) with the value from field 0x80. |
| 0x0085E9B0 | 51 | UIEditBox__forward_mouse_down_to_child | Forwards mouse down event (vtable+0x64) to self, then propagates adjusted coordinates (adding widget offset 0x1C/0x20) to the child widget at field 0x114 via vtable+0x68, if child exists. |
| 0x0085E9F0 | 50 | UIEditBox__forward_mouse_down_to_root | Forwards mouse down event (vtable+0x64) to self, then propagates adjusted coordinates to the root parent widget via vtable+0x68. |
| 0x0085EA30 | 33 | UIEditBox__forward_mouse_move_to_parent | Forwards mouse move event to the parent widget (field 0x10) via vtable+0x68, adjusting coordinates by adding the widget's position offset (0x1C, 0x20). |
| 0x0085EA60 | 33 | UIEditBox__forward_mouse_move_to_parent_alt | Forwards mouse move event to the parent widget (field 0x10) via vtable+0x68 with adjusted coordinates. Identical to forward_mouse_move_to_parent, used as alternate vtable slot. |
| 0x0085EB20 | 44 | UIButtonWidget__on_mouse_enter | Mouse enter handler for a button widget. If the button is not disabled (field 0x2B == 0), plays a hover sound via FUN_00aa9b30, sets state to 2 (hover), and invalidates the widget. |
| 0x0085EB90 | 132 | UIButton__toggle_state | Toggles button pressed state (field 0xc). Refreshes self and parent window. Notifies parent with message type 6 (button action) including button ID and new state. Also sends secondary message (type 2) if field 0x3C is set. |
| 0x0085ECE0 | 80 | UIButton__begin_drag | Begin drag handler for UIButton. Sets hover state, stores initial mouse position (param_2, param_3) at fields 0x94/0x98. If parent widget exists (field 0x10), copies parent scroll offsets (0x14/0x18) to fields 0xA0/0xA4. Accumulates parent offsets for coordinate transformation. |
| 0x0085ED30 | 60 | UIButton__notify_parent_selection | Notifies parent of button selection. Sends two messages to parent (field 0x10): first message 0x0D with field 0xC0 value, then message 6 (button action) with button ID from field 0x2C. |
| 0x0085ED70 | 77 | UIButton__on_click_release | Click release handler for UIButton. If not disabled (field 0x2B), sets hover state and changes button state to 2 (hover). Redraws via vtable+0x98. If child widget exists at field 0x114, forwards adjusted mouse coordinates to child via vtable+0x64. |
| 0x0085EDC0 | 76 | UIButton__on_click_release_alt | Alternate click release handler for UIButton. Same as on_click_release but forwards to root parent widget instead of optional child. Sets hover state if not disabled, then forwards adjusted coordinates to root parent via vtable+0x64. |
| 0x00861AB0 | 145 | UIScrollbarWidget__update_scroll_state | Updates scrollbar state based on content size. Calculates visible rows (height / row_height), determines if scrollbar should be visible based on total items vs visible count. Calls FUN_0089c220 to configure the scrollbar range and invalidates the associated widget. |
| 0x008651A0 | 87 | UIButtonWidget__handle_event | Event handler for button widget. Event 6 with param_4==0xCB: notifies parent with callback event 6 and value from 0xC0. Event 0xD: sets button state at offset 0x30. Other events delegate to FUN_00a83660. |
| 0x008653B0 | 149 | UIButtonWidget__auto_resize_to_content | Auto-resizes button widget to fit its content. Measures text label width, loads the current state's icon texture (normal at 0x26 or pressed at 0x20), gets icon width, adds 3px padding, and calls resize virtual if the calculated width differs from current. |
| 0x00865450 | 311 | UIButtonWidget__set_textures_and_label | Sets button texture paths and text label. Assigns param_2 to normal texture (0x20), param_3 to hover texture (0x26), param_4 to text label (0x2C, empty string if null). Pre-loads the hover texture via CResourceMgr. If auto-size is enabled (0x30 != 0), measures text width plus icon width and resizes the button to fit. |
| 0x008657A0 | 287 | UIButtonWidget__set_texture_resolved | Sets a button texture with texture file resolution. Resolves the file via FUN_00af1620/FUN_00b01200/FUN_00aee770, tracks max width/height, optionally forces exact size (param_4 != 0). Assigns path to state-specific string (0-3 for normal/pressed/hover/disabled). Returns 1 on success, 0 if texture not found. |
| 0x00867EC0 | 91 | UIDropdownWidget__set_items_from_string | Sets dropdown items from a delimited string. Clears existing items in the vector at 0x84 (destroys 0x18-byte string entries), then calls FUN_009b4220 to parse param_2 with delimiter param_3 and populate the items vector. |
| 0x00867F20 | 156 | UIDropdownWidget__set_items_parsed | Sets dropdown items by parsing a delimited string. Clears existing items, uses FUN_009b4220 or FUN_009b4730 depending on flag at 0x9C. If items were added, recalculates layout via UIListWidget__recalc_layout. |
| 0x008695B0 | 146 | UIButtonWidget__set_texture_for_state | Sets a button texture for a specific state (0=normal, 1=pressed, 2=hover, 3=disabled). Loads the texture, tracks max width/height at 0xB4/0xB8 across all state textures. Returns 1 on success, 0 if texture loading is disabled (DAT_016d3b10). |
| 0x0086CEA0 | 150 | UIDropdown__ctor | Constructs dropdown widget with linked list sentinel (0x18 byte nodes), ID 0x2739 |
| 0x0086D530 | 91 | UITreeViewWidget__ctor | Constructs tree view widget inheriting UITreeBase, zeroes bool flag at offset 0x31 |
| 0x0086FEF0 | 71 | UIWindow__base_dtor | Destructor for UI window base: resets vtable, calls base cleanup FUN_00a79e90 |
| 0x00870800 | 164 | UIDropdown__dtor | Destructor for dropdown: destroys tree, clears RB-tree, frees sentinel, base cleanup |
| 0x00870C40 | 152 | UITreeViewWidget__dtor | Destructor for tree view: resets 3 vtables, clears RB-tree, frees sentinel, base cleanup |
| 0x008752F0 | 555 | UIListBox__add_text_entry | Adds a text entry to UIListBox. Handles auto-scrolling, trims excess entries if over max, stores param_3 in data vector. Checks for link delimiters in text - dispatches to column-based or grid-based or plain text insertion depending on content type. Updates scrollbar position. |
| 0x00875520 | 831 | UIListBox__add_text_entry_with_title | Adds a text entry with optional title to UIListBox. Same auto-scroll and trim logic as add_text_entry. If param_4 title is non-null, creates title string. Dispatches to appropriate insertion method based on text content (links, columns, plain). Updates scrollbar. |
| 0x00875860 | 517 | UIListBox__add_item_with_data | Adds an item with associated data pointer to UIListBox. Stores param_3 in item vector, creates string from param_2, emplaces into map, calculates max text width, calls virtual layout method. If param_4 is non-null, inserts into secondary map keyed by list position. |
| 0x00875A70 | 356 | UIListBox__push_back_string_item | Pushes a string item to UIListBox. Creates SSO string from param_2, appends to string vector at this+0x8C. If vector is full, calls realloc helper. Updates max text width and calls virtual layout method. |
| 0x00875BE0 | 485 | UIListBox__insert_string_with_data | Inserts a string with associated data into UIListBox's map. Creates string from param_2 with param_3 data, uses lower_bound to find insert position, allocates 0x30-byte map node if key not found, updates max text width and calls layout. |
| 0x00875DD0 | 325 | UIListBox__emplace_string_with_data | Emplaces a string with data into UIListBox map. Creates string from param_2, uses STL_map_emplace_int_key to insert, updates max text width and calls virtual layout method. |
| 0x00875F20 | 405 | UIListBox__push_back_string_with_extra | Pushes a string item with extra integer data to UIListBox. Appends string to vector at this+0x8C and appends 0 to secondary int vector at this+0xDC. Updates max text width and calls layout. |
| 0x008760C0 | 9 | thunk_to_UIListBox__push_back_string_item_008760c0 | Wrapper that calls FUN_00875a70 and returns |
| 0x00876D50 | 631 | UIListBox__add_dual_column_entry | Adds a dual-column entry to UIListBox. If over max items, halves vectors. Creates string from param_2, appends to text vector. Stores param_3 in data vector. Creates second string from param_4, appends to second text vector. |
| 0x00876FD0 | 79 | UIListBox__set_item_data_at_index | Sets item data at a specific index in UIListBox. Calculates absolute index from param_2 + this+0xE4 offset. Validates index is in range, stores param_3 at data_vector[index], then calls virtual refresh. |
| 0x00877650 | 1191 | UIListBox__split_and_add_column_items | Splits a comma-delimited text string and adds each part as a separate column item to UIListBox. Copies input string, finds comma separators using memchr, extracts substrings between commas, pushes each as a string item to the text vector at this+0xF0. Handles SSO string allocation and cleanup. |
| 0x00877B00 | 3149 | UIListBox__build_and_add_column_widgets | Builds and adds column-based text widgets to UIListBox. Processes formatted chat text (sender name, formatting, item links, tag stripping), word-wraps by character width, creates UIWidget sub-items for each text segment, splits by columns, configures text display and layout for each widget. |
| 0x00878750 | 1693 | UIListBox__build_and_add_column_widgets_v2 | Variant 2 of column widget builder for UIListBox. Similar to v1 but uses different formatting helpers (strip_default_color_markers/strip_item_link_markers). Creates UI widgets per text entry with word-wrap, item link processing, column splitting, and layout configuration. |
| 0x00878DF0 | 1001 | UIDropdownList__init_with_button_textures | Initializes a UIDropdownList with button textures. Calls FUN_00a82eb0 for base setup, creates CDialogWnd (0x120 bytes) at this+0x7C. Loads 3 button state textures (_out.bmp, _over.bmp, _press.bmp) from name prefix. Creates UITreeBase (0xC4 bytes) and editable text widget. Configures sizes and positions. |
| 0x00879E80 | 133 | UIListBox__clear_all_columns_and_items | Clears all columns and items from UIListBox. Destroys strings in two column vectors (at offsets 0x100/0x104 and 0x118/0x11C), resets their end pointers, calls virtual clear and item cleanup methods. |
| 0x00879F10 | 110 | UIListBox__clear_and_trim_vectors | Clears UIListBox and trims vectors. Calls clear_items_and_reset, resets data vector end to begin, moves remaining strings in secondary vector to compact it. |
| 0x00879F80 | 130 | UIListBox__clear_items_and_reset | Clears all items from UIListBox and resets state. Sets selected index to -1, clears max width and scroll fields, destroys all strings in item vector, resets end pointer, calls virtual layout and refresh methods. |
| 0x0087A0F0 | 143 | UIListBox__clear_items_and_reset_extra | Clears UIListBox items and resets extra data. Like clear_items_and_reset but also resets extra data vector (this+0xDC=this+0xD8) and sets anchor index to -1 (this+0xE4). |
| 0x0087A180 | 81 | UIListBox__clear_secondary_strings | Clears secondary string vector in UIListBox. Destroys all strings at offsets 0xA4-0xA8, resets end pointer, zeroes count at 0xA0. |
| 0x0087A1E0 | 171 | UIListBox__destroy_all_child_widgets_and_reset | Destroys all child widgets in UIListBox and resets. Calls FUN_00a82e50 (widget destroy) on each pointer in two widget pointer vectors (this+0xEC-0xF0 and this+0xD4-0xD8). Destroys 0xC-byte entries. Clears items via clear_items_and_reset, double-refreshes display. |
| 0x0087A390 | 41 | UIListBox__zero_all_data_values | Zeroes all data values in UIListBox's data pointer vector (this+0xD8-0xDC). Sets each entry to 0, then calls virtual refresh. |
| 0x0087AAF0 | 189 | UIListBox__copy_data_from_source | Copies data from another UIListBox source. Assigns 3 parallel vectors: string vector at +0x100, data vector at +0x10C (memcpy), and secondary string vector at +0x118. Calls rebuild_all_items to reconstruct the display. |
| 0x0087BAA0 | 92 | UIScrollbar__init_with_orientation | Initializes a scrollbar widget with orientation. Stores orientation mode at this+0x88. Swaps width/height based on mode (0=horizontal uses param_5/param_4+0xA4, 1=vertical uses param_4+0xA4/param_5). Calls base init, position, size via virtuals. |
| 0x0087BB00 | 105 | UIScrollbar__init_with_range | Initializes a scrollbar with range parameters. Stores orientation at this+0x88, plus values at this+0xA0 and this+0xA4. Computes width/height based on orientation (0=horizontal, 1=vertical), calls base init with computed dimensions. |
| 0x0087C2A0 | 329 | UIEditBox__on_text_input | UIEditBox text input handler. Checks if input is newline (executes submit). Otherwise copies text, updates internal string, calls virtual layout methods. |
| 0x0087C3F0 | 414 | UIEditBox__initialize_properties | Initializes UIEditBox properties: position, colors (default 0xffffff/0xc3c3c3), font size=12, clears string list and counters. Creates child sprite object at +0x98 for button visuals. |
| 0x0087C590 | 329 | UIEditBox__set_text_and_layout | Sets editbox text and layout. Copies text string, assigns to two internal string fields (+0x1f, +0x35), sets dimensions and scroll params, calculates pixel size and calls resize/layout virtuals. |
| 0x0087C6E0 | 217 | UIEditBox__resize_and_create_child | Resizes editbox and creates child widget. Calls resize on base, parent, and scroll area, then allocates a 0x194-byte child widget (linked list node) and initializes its properties. |
| 0x0087C7C0 | 678 | UIEditBox__create_button_and_tree | Creates button with 4 states (normal/mouseon/pressed/disabled) and a tree widget. Loads sprite textures for each state, positions button, creates UITreeBase child at +0x9c. |
| 0x0087CA70 | 433 | UIListBox__clear_all_items | Clears all items from linked list at +0xd4. Iterates list, hides each item widget, removes nodes, frees memory. Resets list to empty and count to 0. |
| 0x0087CC30 | 320 | UIListBox__halve_string_and_int_vectors | Halves multiple vectors by copying second half to first half. Operates on 24-byte string vectors at +0x100/+0x118, and int vector at +0x10c. Used to truncate history/log buffers. |
| 0x0087CD70 | 323 | UIListBox__halve_vectors_variant | Variant of halve_vectors operating on offsets +0x22/+0x39/+0x3d. Same pattern: copies second half to first, resizes. Calls virtual method +0xe0 at end. |
| 0x0087CEC0 | 440 | UIListBox__decrement_item_lifetimes | Decrements lifetime counters on list items at +0xd4. Subtracts half the string vector size from field+500 of each item. Removes items whose lifetime drops below 0. |
| 0x0087D080 | 441 | UIListBox__decrement_overlay_lifetimes | Decrements overlay lifetimes in list at +0xdc. Filters by type 0x1b6, subtracts half-vector-size from field +0x114. Removes expired overlays from linked list. |
| 0x0087D240 | 3136 | UIListBox__process_chat_line_entry | Processes a chat line entry in the listbox. Searches for delimiter patterns in text, splits lines by delimiter, handles special chat formatting. Removes processed entries, calls CSVParser for parsing. |
| 0x0087DE90 | 112 | UIListBox__scroll_to_ensure_visible | Scrolls listbox to ensure current item is visible. Compares item position range against viewport, scrolls up or down as needed if item is partially out of view. |
| 0x0087DF00 | 377 | UIListBox__on_item_clicked | Handles click on listbox item. Validates item type matches filter (0x15=weapon, 0x16=armor, 0x17=accessory or exact match). If valid, triggers action via parent or child virtual call. Fires event 0x12. |
| 0x0087E080 | 262 | UIListBox__on_skill_item_clicked | Handles click on skill item in listbox. Validates item has skill flag (+0x80), looks up skill entry, checks skill levels are valid. Sets skill ID/type at +0x1f/+0x20. Fires event 0x12. |
| 0x0087E190 | 60 | UIListBox__forward_mouse_event | Forwards mouse event. Checks if AA5F70 returns 0x271b (specific UI mode). If so, forwards to child widget's virtual +0x28. Otherwise calls A7BB00. |
| 0x0087E1D0 | 20 | UIListBox__forward_to_child_widget | Forwards to child widget at +0x10. If child exists, calls virtual method +0x28 on it. Simple delegation pattern. |
| 0x0087E1F0 | 1344 | UIEditBox__draw_text_with_cursor | Draws editbox text with cursor. Handles password mask mode, text alignment (left/right/center), selection highlight, blinking cursor via timeGetTime(). Measures text width for positioning. |
| 0x0087E730 | 634 | UIListBox__draw_item_with_number_overlay | Draws listbox item with optional number overlay. Converts item ID string to int via atoi, loads sprite, renders at position. If item has count (+0xb0), draws count text with shadow/outline effect. |
| 0x0087E9B0 | 1292 | UIListBox__render_items_recursive | Recursively renders listbox items. Iterates linked list, positions each item widget, handles tree node expansion (type 0=leaf, 1=branch). Updates row height and manages visibility based on scroll position. |
| 0x0087EEC0 | 105 | UIListBox__draw_background_sprite | Draws listbox background sprite. Checks item ID via atoi; if positive and has extra field +0xa4, uses sprite at +0x4d8 else uses +0x4a8 default. Loads and renders sprite. |
| 0x0087EF30 | 223 | UIListBox__position_child_widgets | Positions child widgets in the listbox. Iterates linked list at +0xd4, for each widget checks if its row index is in visible range. Positions visible items, hides out-of-range ones at (-100,-100). |
| 0x0087F430 | 233 | UIListBox__position_overlay_widgets | Positions overlay widgets from list at +0xdc. Same pattern as position_child_widgets but filters by type 0x1b6. Sets visible items to correct row position, hides others. |
| 0x0087F520 | 237 | UIEditBox__draw_text_with_shadow | Draws text with optional shadow color. If shadow color is -1, uses simple text draw. Otherwise acquires GDI DC, sets font size 12, draws text twice (shadow offset by -1, then foreground) using color codes. |
| 0x008805F0 | 109 | UIListBox__hit_test_row_from_point | Hit tests a point (x,y) against listbox rows. Returns row index from y coordinate divided by row height, offset by scroll position. Returns -1 if out of bounds or not clickable. |
| 0x00880FF0 | 136 | UIListBox__hide_all_item_widgets_recursive | Recursively hides all item widgets in listbox. For each linked list node, hides expand icon (+0x178), collapse icon (+0x174), and content widget (+0x17c) by positioning at (-100,-100). Recurses into child lists at +0x180. |
| 0x00881110 | 929 | UIListBox__create_expand_collapse_icons | Creates expand/collapse icon buttons for tree list items. Loads "battle_option_b.bmp" and "wnd_mini_b.bmp" sprites for each button state (normal/pressed/hover). Sets parent reference and updates max row height. |
| 0x008814C0 | 493 | UIListBox__create_text_item_widget | Creates a text item widget (0xf8 bytes) for listbox. Sets vtable to 011366d0, initializes font size=12, colors=0xffffff. Auto-sizes to text content, positions off-screen initially. Stores in tree node at +0x17c. |
| 0x008816E0 | 1222 | UIListBox__resolve_item_link_or_tooltip | Resolves item link or tooltip from text. Checks for "0000T0" marker (item link format). If found, parses item ID and gets formatted tooltip via CTreeMap. Otherwise parses format string for regular item tooltips. |
| 0x00881BB0 | 2132 | UIListBox__build_display_text_with_links | Builds display text with embedded item links for listbox. Iterates linked list items, finds embedded markers (0x245 format codes), resolves item tooltips, measures text positions for link hotspots. Updates widget text and sizes. |
| 0x00882460 | 4093 | UIListBox__add_formatted_chat_line | Adds a formatted chat line to listbox with embedded item link support. Parses format tags, creates item link widgets (0x200 bytes each), handles text wrapping, manages linked list insertion. Supports both item ID links and regular formatted text. |
| 0x00883460 | 4085 | UIListBox__add_overlay_with_item_links | Adds overlay items with item links to listbox overlay list (+0xdc). Parses text for embedded markers, creates overlay widgets (0x118 bytes, vtable 0113787c), handles item link formatting. Inserts into overlay linked list. |
| 0x00884460 | 664 | UIListBox__wrap_text_in_angle_brackets | Wraps text in angle brackets '<' and '>'. Builds string by appending '<', word-wrapped text (via A837D0 with half-width), then '>'. Used for item link display formatting. |
| 0x00884720 | 329 | UIListBox__move_to_entity_position | Moves view to entity position. Gets current entity's sprite height via +0xb4, then calls virtual +0x10 to reposition. If *param_3 is 0, measures text width first via 853810. Otherwise uses direct position value. |
| 0x00884870 | 970 | UIListBox__position_tooltip_at_text | Positions tooltip widget at text location in listbox. Iterates text segments from +0x15c, measures cumulative text widths to find target position. Accounts for scroll offset and entity dimensions. Hides tooltip if outside visible range. |
| 0x00884C40 | 388 | UIListBox__position_npc_dialog_tooltip | Positions tooltip for NPC dialog (entity type 0x1ec). Measures text width via 8CED00, calculates tooltip X position relative to entity sprite. Hides tooltip at (1000,y) if past sprite boundary. |
| 0x00884DE0 | 351 | UIScrollbar__create_scroll_arrows_v1 | Creates two scroll arrow sprites (0xb4 bytes each). First at +0xac (vtable default, type=10, vertical), second at +0xb0 (vtable 01133bf0, type=10, horizontal). Positions at edges of parent bounds. |
| 0x00884F40 | 375 | UIScrollbar__create_scroll_arrows_v2 | Creates two scroll arrow sprites (0xb4 bytes each, vtable 01133ccc, type=9). First at +0xac (vertical), second at +0xb0 (horizontal). Similar to v1 but with different vtable and type. |
| 0x008850C0 | 375 | UIScrollbar__create_scroll_arrows_v3 | Creates two scroll arrow sprites (0xb4 bytes each, vtable 01133bf0, type=10). Same pattern as v1 but both arrows use same vtable. |
| 0x00885EE0 | 371 | UIScrollbar__create_small_scroll_arrows | Creates two small scroll arrows (7x7 pixel, vtable 01137be8). First at +0xa8, second at +0xac. Sets row height +0xb4 to 18. |
| 0x00886060 | 9 | thunk_to_UIScrollbar__create_scroll_arrows_standard_00886060 | Thunk to UIScrollbar__create_scroll_arrows_standard. Single JMP forwarder. |
| 0x00886070 | 327 | UIScrollbar__create_default_scroll_arrows | Creates two default scroll arrows (13px offset). First at +0xa8 (vertical), second at +0xac (horizontal). Uses default UISpriteWidget vtable. |
| 0x008861E0 | 32 | UIScrollbar__create_arrows_and_set_row_height | Wrapper: calls create_scroll_arrows_standard then sets row height +0xb4 to 15. |
| 0x00886990 | 327 | UIScrollbar__create_scroll_arrows_standard | Creates standard scroll arrows (0xb4 bytes, 13px offset). First at +0xa8 (vertical), second at +0xac (horizontal). Default UISpriteWidget construction. |
| 0x00886AE0 | 327 | UIScrollbar__create_scroll_arrows_standard_v2 | Same as create_scroll_arrows_standard - creates two 0xb4-byte sprite widgets at +0xa8 and +0xac with 13px offsets. Duplicate implementation. |
| 0x00888C10 | 122 | UIListBox__draw_preview_sprite_with_overlay | Draws preview sprite with number overlay. Sets tint color to 0xffff00ff, loads background sprite by item ID, renders at (0,0), then draws item number overlay at position (4,0). |
| 0x00888EA0 | 1528 | UIButtonWidget__render_text_with_effects | Renders button text with shadow/outline effects based on button state. Selects texture path from 4 states: 0xf8=pressed, 0x30==1=hover, 0xdc=disabled, default=normal (offsets 0xc4/0xac/0x94/0x7c). Iterates through text effect entries (7 ints each) to draw text with shadows. Different states use different shadow colors (gray, white, tan, etc). |
| 0x008894B0 | 324 | UIListBox__render_items_with_color | Renders list box items with per-item color from color array at offset 0xe4. Iterates visible items (from scroll offset 0x98), draws text at x=2, spaced by row height (0xb8). Special handling for language mode 0x13 (Korean?) with right-alignment offset. Calls position_overlay_widgets and position_child_widgets for each item. |
| 0x00889600 | 262 | UIListBox__render_items_basic | Renders list box items with basic styling. If offset 0xb4 is nonzero, uses transparent background and calls parent render; otherwise fills with background color (0x7c/0x80/0x84). Items drawn at x=2 with font size from 0x134. Calls position_overlay_widgets and position_child_widgets per item. |
| 0x00889710 | 493 | UIListBox__render_items_with_shadow | Renders list box items with shadow text effect. Draws each item twice: first in black (shadow) at offset (+1,+1), then in per-item color. Has parent widget rendering call at start. Special Korean mode right-alignment handling. Calls position_overlay_widgets and position_child_widgets per item. |
| 0x00889900 | 685 | UIListBox__render_bordered_with_corners | Renders a bordered list box with corner textures. Uses CColorPicker for border/background colors, loads 4 corner BMP textures, draws items with selection highlight (color from pixel 6,2). Has optional scrollbar area (offset 0xa4 nonzero draws 16px wide). Calls parent widget render at end. |
| 0x00889BB0 | 432 | UIDropdown__update_text_position | Updates dropdown text widget position when mode is 1 (offset 0xac). Calculates centered x position using half-width minus half-text-width. If position changed from cached value (0xb4), repositions the editable text widget and triggers re-render. |
| 0x00889E50 | 1295 | UIListBox__render_map_items_bordered | Renders a bordered list box using std::map for item data (keyed by index). Supports two column modes (0xc4==0 or 1): mode 0 is left-aligned, mode 1 is center-aligned with text width calculation. Uses map insert-or-find for lazy item creation. Draws brown border (0xc59582), selection highlight, and scrollbar area. |
| 0x0088A360 | 1124 | UIListBox__render_map_items_with_corners | Renders bordered list box with corner textures and std::map-based item storage. Uses CColorPicker for colors, loads 4 corner BMP textures, draws items from map with per-item color stored in map node at offset 0x2c. Selection highlight from color picker pixel (6,2). Optional scrollbar area at right side. |
| 0x0088A7D0 | 915 | UIListBox__render_map_items_simple | Renders bordered list box with corner textures and simpler std::map item storage. Similar to render_map_items_with_corners but uses different map structure (lower_bound variant). Items stored in map nodes with string at offset 0x18. Selection highlight, scrollbar area, parent widget render call. |
| 0x0088ACF0 | 16 | UIEditBox__draw_border_and_content | Simple composite render: calls UIEditBox__draw_background_sprite to draw the background, then CUITreeView__build_display_list to render the inner content/text. |
| 0x0088B120 | 880 | UIListBox__render_map_items_with_selection | Renders list box with map-based items and selection BMP overlay. When selected item is in view, loads selection overlay texture formatted with index (two format variants based on flag 0x31). Uses std::map for item text and color storage. Draws items with per-item color, calls parent render at end. |
| 0x0088B5A0 | 450 | UIListBox__render_items_advanced | Advanced list box renderer with selection highlight, vertical text centering option (0xcc), and extended text rendering via FUN_00a84b80. Supports background color or transparent mode (0xb4). Selection draws colored rect at selected row. Text can be vertically centered within row height. Uses extended text params including font style flags (0xd4/0xd8/0xdc/0xdd). |
| 0x0088B770 | 419 | UIListBox__render_items_extended_text | Renders list items with extended text rendering (FUN_00a84e30). Supports selection highlight, vertical centering, and configurable x offset (0xd0 - 0x9c). Uses per-item string data with embedded color at item+0x10. Background color or transparent mode supported. |
| 0x0088B920 | 935 | UIListBox__render_map_items_extended | Renders map-based list items with extended text. Uses 3 map lookups per item for text, color, and style data. Selection highlight via colored rect. Items stored in std::map keyed by index, with lazy creation on first access. |
| 0x0088BCD0 | 732 | UIListBox__render_map_items_extended_v2 | Variant of render_map_items_extended using different map structure (lower_bound variant with different node offsets). Selection highlight, map-based item storage with lazy creation. Extended text rendering with color from map node offset 0x28. |
| 0x0088BFB0 | 348 | UIListBox__render_items_with_highlight | Renders list items with per-row conditional highlight. Checks highlight array (0xd8) per item - if value is 1, temporarily sets highlight color (0xd4) for that row. Selection rect drawn for selected item. Extended text rendering with embedded color data. |
| 0x0088C110 | 1050 | UIListBox__render_map_items_with_filter | Renders map-based list with filter matching. Uses global filter list (DAT_017387a4/a8) to check if item ID matches any filter entry - if so, draws alternate highlight color (0xc0). Normal selection highlight for selected item. Map-based item storage with 3 lookups per item for text, color, and data. |
| 0x0088C530 | 245 | UIListBox__render_items_with_yellow_select | Renders list box items with yellow (0xc8c832) selection highlight. Background fill from RGB at offsets 0x124/0x128/0x12c. Items drawn at x=2 with per-item color from array at 0xe4. Selection highlight is full-width row. |
| 0x0088D750 | 1177 | UIScrollbar__render_vertical | Renders a vertical scrollbar using basic_interface skin. If scrollbar is visible (offset 0x80 != 0) and mode is 1 (0x88): draws track background (0xafaaa5), up arrow button (dialscr_up.bmp) with 3 states (normal/hover/pressed), down arrow button (dialscr_down.bmp) with 3 states. Track area between arrows, size from vtable call 0xd4. |
| 0x0088DBF0 | 1214 | UIScrollbar__render_vertical_v2 | Variant vertical scrollbar renderer using dialscr_up1/down1 textures and lighter colors (0xf1f1f1 track, 0xe9e9e9 thumb area). Similar structure to render_vertical but with different visual style. Resets flag at offset 0xa8 to 0 after rendering. |
| 0x0088E0B0 | 598 | UIScrollbar__render_horizontal | Renders a horizontal scrollbar using basic_interface skin. If visible (0x80 != 0) and mode is 0 (0x88): draws scrollbar.bmp track background tiled, then scroll_bar.bmp thumb at calculated position. Resets flag 0xa8 to 0 after rendering. |
| 0x0088E310 | 1046 | UIScrollbar__render_textured | Renders a textured scrollbar with distinct textures for track, thumb, and end caps. Mode 0 = horizontal, mode 1 = vertical. Track is tiled with 13px segments, thumb has top/mid/bottom (or left/mid/right) pieces tiled to size. Position calculated from scroll offset (0x84) / total (0x80). Uses 8+ different texture resources. |
| 0x0088E730 | 500 | UIScrollbar__render_custom_textured | Renders a vertical scrollbar using custom pre-loaded texture objects at offsets 0xb4-0xd0. Track uses top (0xb4), mid (0xb8) tiled, and bottom (0xbc) textures. Button textures at 0xc0/0xc4. Thumb uses top (0xc8), mid (0xcc) tiled, and bottom (0xd0) textures. Position from scroll ratio. |
| 0x0088E930 | 564 | UIScrollbar__render_skinned_vertical | Renders a skinned vertical scrollbar with 3-part track and 3-part thumb. Track loaded from texture paths, tiled vertically. Thumb positioned by scroll ratio and tiled. Resets flag 0xa8, calls parent render at end. |
| 0x0088FBB0 | 528 | UIListBox__render_formatted_text_items | Renders list items with embedded text formatting. Pre-parses hidden items above viewport for color state. Visible items rendered with either extended text (0xe9==0), styled text with background color (0xe9!=0), or HTML-style text (0xbc flag). Uses FUN_00a7ca20/FUN_00a81ba0 for color code parsing. |
| 0x0088FE20 | 387 | UIScrollbar__render_bordered_vertical | Renders a bordered vertical scrollbar with brown border (0xd9c8b8) and white background. Uses up/down arrow textures and 3-part thumb (top/mid/bottom pieces tiled). Position calculated from scroll offset/total ratio. |
| 0x00890080 | 66 | UIListBox__clear_selection_and_redraw | Clears current selection by setting +0x1f to -1, then redraws via virtual +0x98. If parent wrapper exists, forwards redraw to parent and calls A81C50. |
| 0x008902A0 | 51 | UIEditBox__on_mouse_down_notify_parent | Handles mouse down on editbox. Forwards to UIEditBox base handler, then notifies parent with event (type=6, code=0xb8). |
| 0x008902E0 | 69 | UIListBox__on_item_double_click | Handles double-click on listbox item. If not disabled (+0x2b byte is 0), sets click flag +0xc=1, sends event (type=0x61) with item data to parent, then redraws. |
| 0x00890430 | 28 | UIListBox__set_hover_row_from_point | Sets hover row from mouse point. Hit tests (x,y) to find row index, stores in +0x94. |
| 0x008904C0 | 172 | UIListBox__on_mouse_up | Handles mouse up on listbox item. If type is 0x205, triggers item link event. Otherwise sets click flag based on bounds check, fires event 0x62 with item data to parent, redraws. |
| 0x00890570 | 38 | UIListBox__on_mouse_move_update_hover | Mouse move handler that updates hover row. Hit tests point to find row, stores at +0x25, then redraws. |
| 0x00890640 | 74 | UIListBox__on_mouse_down_select_row | Mouse down handler that selects row. Hit tests point, stores at +0x25. If valid row (!=-1) and not locked by global 016f7144, fires event type 6 to parent. Redraws. |
| 0x00890690 | 38 | UIListBox__on_mouse_move_update_hover_v2 | Mouse move handler. Hit tests point, stores hover row at +0x25, redraws. Same as on_mouse_move_update_hover. |
| 0x008906D0 | 65 | UIListBox__on_mouse_down_select_and_notify | Mouse down that selects row and notifies parent. Hit tests, stores at +0x25, fires event with code from +0xb to parent via +0x94. Redraws. |
| 0x00890720 | 341 | UIScrollbar__on_mouse_down | Scrollbar mouse down handler. Hit tests against 5 regions (before/header/content-header/content/after). Fires scroll events: type 7/8 for page up/down, type 9-12 for arrow buttons. Region 2 starts drag mode (+0x1f=6). |
| 0x008908A0 | 71 | UIButton__on_mouse_enter_notify_parent | Button mouse enter handler. Calls base UIButtonWidget handler, then sends events type 0xd and type 6 (with code from +0x2c) to parent. |
| 0x008908F0 | 68 | UIListBox__on_right_click | Right-click handler on listbox item. If not disabled, sets click state to 2, redraws, fires event 0x6b with item data to parent, sets flag +0xb6. |
| 0x00890A30 | 121 | UIListBox__on_drag_end | Handles drag end on listbox. Checks if this widget is the drag source. Sets click state based on bounds check, fires event 100 with item code to parent, redraws, clears drag. |
| 0x00890AC0 | 134 | UIListBox__on_right_click_select_and_notify | Right-click on listbox: selects row, sends event 0x27 to target window (from +0xd4) or parent. Plays sound 0x1a. |
| 0x00890C20 | 369 | UIListBox__handle_click_select_item | Handles click event on a list box to select an item. Calculates clicked row from y coordinate / row height + scroll offset. Validates bounds. Looks up item in map, sends selection notification (0x27) to parent with item data. Updates sound effect (0x1a). |
| 0x00890E90 | 71 | UIScrollbar__on_mouse_up_or_release_drag | Scrollbar mouse up handler. If mode +0x80 is 0, forwards to parent's virtual +0x7c with adjusted coordinates. If dragging, checks if still captured and releases drag. |
| 0x00890EE0 | 362 | UIListBox__show_item_info_or_tooltip | Shows item info or tooltip based on mode +0x94. If mode 0 and has string +0xac, copies it to local buffer, sends event 0x18 to window 0xc. If mode 1, sends event 0x3e with string from +0x84 to window 0xc9, positions tooltip relative to screen. |
| 0x00891050 | 124 | UIListBox__on_drag_end_with_tree_id | Drag end handler using tree item ID at +0x48. Checks if this is drag source, bounds-checks point, fires event 100 with tree ID to parent. Redraws and clears drag state. |
| 0x008910D0 | 88 | UIListBox__on_mouse_up_send_event | Mouse up handler that sends either event 0x6d (if +0xb6 flag not set, with zeroed coords) or 0x62 (if flag set). Clears +0xb6 flag after. Redraws. |
| 0x00891140 | 138 | UIListBox__on_drag_end_with_item_type | Drag end handler with item type. Checks drag source, bounds-checks, fires event 0x62 with item code and type +0x34 to parent. Clears drag. |
| 0x008911D0 | 108 | UIScrollbar__on_mouse_up_reset_state | Scrollbar mouse up: resets hover state +0x22=0 if point is in bounds, clears positions +0x23/+0x24, resets disabled flag +0x2b. Forwards to parent's +0x7c handler. |
| 0x00891BC0 | 249 | UIListBox__show_overflow_tooltip | Shows overflow tooltip for list items. If hovered item text is wider than widget width (minus column padding * 15), creates a tooltip positioned at the item row showing the full text via FUN_00ad6510. |
| 0x00891CC0 | 381 | UIListBox__handle_hover_show_hyperlink | Handles mouse hover on list items to show hyperlink popup. If hovered item has hyperlink data (item[4] != 0), creates a UIHyperlinkText widget positioned near cursor, parses item text for links. Destroys previous popup if hovering different item. |
| 0x00892060 | 50 | UIListBox__on_mouse_move_conditional_redraw | Mouse move that only redraws on row change. Hit tests point, updates +0x25 hover row. Only triggers redraw if hover row actually changed from previous value. |
| 0x008921D0 | 301 | UIScrollbar__handle_mouse_move | Handles mouse move for scrollbar. Hit tests regions (up arrow=0, track=2, down arrow=4) and updates visual state (0x7c). If being dragged, calculates new scroll position from mouse offset relative to content area. Sends scroll command (7=vertical, 8=horizontal) to parent. |
| 0x00892340 | 131 | UIButton__handle_mouse_hover | Handles mouse hover for a button widget. If not locked (0xac==0): sets hover state (0x30=1) when mouse enters bounds, clears it when leaving. Sends hover notification (0x6c) to parent with button ID (0xf4). Updates cursor style (0xb4). |
| 0x00892450 | 198 | UIButton__update_visual_state | Updates button visual state based on mouse position and capture state. If not locked: captured+inside=pressed (state 2, cursor 0xbc), not captured+inside=hover (state 1), outside=normal (state 0, cursor 0xb8). Triggers re-render on state change. |
| 0x00892600 | 783 | UIEditBox__format_number_with_commas | Formats number in edit box with comma separators. Strips non-digit characters from text, converts to int64, re-formats with thousand separators, updates caret position accounting for added commas. Triggers re-render. |
| 0x00892940 | 77 | UIListBox__send_item_info_event | Sends item info event to chat window. Parses item ID from string at +0xcc via atoi, if positive sends event 0x18 with string from +0xa0 to window 0xc (chat). |
| 0x00892A10 | 53 | UIListBox__on_mouse_leave | Mouse leave handler. If not disabled, fires event 0x65 with item code to parent, redraws. |
| 0x00892A50 | 38 | UIListBox__on_mouse_move_update_hover_v3 | Mouse move handler. Hit tests point, stores hover row at +0x25, redraws. Third variant of the pattern. |
| 0x00892AE0 | 56 | UIListBox__on_mouse_leave_with_tree_id | Mouse leave handler using tree item ID at +0x48. If not disabled, fires event 0x65 to parent, redraws. |
| 0x00892B20 | 62 | UIListBox__on_mouse_down_send_event_99 | Mouse down handler. Fires event 99 (0x63) with item data +0x3d and mouse coords to parent. |
| 0x00892B60 | 57 | UIListBox__on_mouse_leave_send_event_99 | Mouse leave handler. Fires event 99 (0x63) with item code +0xb and type +0x34 to parent. |
| 0x00892BA0 | 121 | UIListBox__on_drag_end_send_event_0x65 | Drag end handler. Checks if this is drag source, sets click state, fires event 0x65 with item code to parent. Redraws and clears drag state. |
| 0x00892C70 | 45 | UIScrollbar__forward_right_click_to_parent | Scrollbar right-click forward. Only forwards to parent's +0x84 if mode +0x80 is 0 (not in drag mode). |
| 0x008A6C20 | 406 | UIWindow__compute_adjusted_value | Computes an adjusted 64-bit value by reading a string from FUN_00858d20, converting it via virtual call at vt+0xd4 on object at this+0xb4, then parsing the result with _atoi64 and adding param_2. Clamps result to [0, 0x7fffffff]. Used for UI value calculations (e.g., experience, zeny adjustments). |
| 0x008A6DC0 | 87 | UIWindow__animate_idle_sprites | Animates idle sprites for a UI window. Iterates 4 sprite objects at offset 0xd4, calling virtual method at vt+0x10 with position (-100,-100) to reset each. Then picks one of 4 sprites based on (timeGetTime() % 1000) / 250 and calls its position method with (6,5). |
| 0x008A6E20 | 1319 | UIWindow__compute_adjusted_value_ex | Extended version of UIWindow__compute_adjusted_value. Gets text from FUN_00858d20 and FUN_00b00f00, compares them. If equal, computes adjustment using global values at DAT_01733d28/DAT_01738258/DAT_0173825c with overflow/underflow clamping. If different, parses text as int64 via _atoi64, validates range, and stores result. Handles display formatting via SimpleString::operator=. Returns clamped 64-bit value. |
| 0x008A8EE0 | 145 | UIWindow__draw_item_sprite | Draws an item sprite at given position. Checks the identified flag at offset 0x5c and param_4 to determine sprite variant (0 or 1). Gets sprite name from string at offset 0x2c of param_3, converts via FUN_00ddd280 to 128-byte buffer, loads texture via FUN_00b01200 and FUN_00aee770, then renders with FUN_00a7bb60. |
| 0x008A8F80 | 117 | UIWindow__draw_sprite_direct | Draws a sprite directly at given position. Takes sprite name, converts via FUN_00ddd280 with param_4 variant flag, loads texture via FUN_00b01200 and FUN_00aee770, then renders with FUN_00a7bb60. |
| 0x008A9000 | 57 | UIWindow__draw_static_sprite | Draws a static sprite from DAT_011384a8 at given position. Loads texture, then renders with FUN_00a7bb60 with flag=0 (no flip/rotation). |
| 0x008A9040 | 414 | UIWindow__draw_item_sprite_with_count | Draws an item sprite at given position and overlays the item count text. Uses FUN_00ddd280 for sprite variant, loads and renders texture. If item count at offset 0x10 is valid (!= -1 and != 0), formats it as text and draws with outline effect (4 offset copies in white 0xffffff, then final in black). Uses smaller font size (0xb) and adjusts position based on whether count < 1000. |
| 0x008A91E0 | 669 | UIWindow__draw_bordered_background | Draws a bordered background for a UI window using 8 edge/corner sprites and a filled rectangle. Renders top/bottom edges (repeating 0xe-pixel tiles), left/right edges, 4 corners, and fills the interior with CColorPicker color. Uses sprites from DAT_0113398c/39ac/39cc/39ec/3a0c/3a2c/9d4c/9d6c. param_2/param_3 are x/y position, param_4/param_5 are width/height (default to this->width/height if 0). |
| 0x008A9480 | 2238 | UIWindow__draw_skinned_background | Draws a skinned/themed window background using named sprite parts. Constructs sprite names by concatenating a base skin name with suffixes (lu_bmp, ru_bmp, ld_bmp, rd_bmp for corners and edge pieces). Tiles edge sprites in 0xe-pixel increments along width and height. Fills interior with a pixel color from CSprite__GetPixelAt, optionally overridden by param_7 or CColorPicker color. param_2 is skin name, param_3/4 are x/y, param_5/6 are w/h. |
| 0x008A9D40 | 3215 | UIWindow__draw_skinned_background_ex | Extended skinned background drawing with optional tiled fill mode. Similar to draw_skinned_background but supports param_6=1 for tiled background fill instead of solid color fill. When tiled, fills interior with repeating texture pattern. Uses same sprite naming convention (lu_bmp, ru_bmp, ld_bmp, rd_bmp suffixes). Falls back to CColorPicker solid fill when not tiled. |
| 0x008AA9D0 | 57 | UIWindow__draw_default_sprite | Draws a default/placeholder sprite from DAT_01139cc8 at given x,y position with no flags. |
| 0x008AAA10 | 221 | UIWindow__draw_labeled_button | Draws a labeled button at x,y. Formats label as "%s %d" from param_3 and param_4 using wsprintfA. Draws a 0x46 x 0x10 background rect with param_5 color, inner rect with param_6 color, then centers the formatted text using CColorPicker pixel color for text, font size 0xc. |
| 0x008AAAF0 | 1372 | UIWindow__serialize_widget_data | Serializes UI window widget data into a byte vector (param_2). Inserts multiple data blocks using CItemInfoMgr__rbtree_insert_with_hint with type IDs 0x5014-0x501f. Serializes: base data (0x5014), formatted text at offset 0x120 (0x5016), strings at offsets 0xb4 and 0xcc (0x5017/0x5018), integers at offsets 0xe4-0xf0 (0x5019-0x501c), and tree-based data entries with types 0x501e (flag=0) and 0x501f (flag=1). Finishes with terminator 0x5015. |
| 0x008AB070 | 3238 | UIWindow__init_transparent_buttons | Initializes 2 transparent buttons for a UI window. Uses XOR-encrypted TLS-stored sprite name strings (decrypted at first access). For each button, constructs 3 sprite variant names (normal/hover/pressed) by concatenating the decrypted base name with "win_transbtn" suffixes. Creates UIButton objects via FUN_0084eab0, loads sprite states via FUN_008657a0, positions buttons using coordinate table at local_24, and sets button IDs 0x167/0x168. |
| 0x008ABD20 | 144 | UIWindow__read_registry_dword | Reads a DWORD value from the Windows registry at HKLM under the path from PTR_DAT_01348f80. Sets default value from DAT_016d3b10, then queries the registry for param_2 value name, storing result at this+0xd4. |
| 0x008ABDB0 | 1631 | UIWindow__load_registry_settings | Loads multiple settings from the Windows registry under HKLM. Uses XOR-encrypted TLS-stored registry key names (decrypted on first access). Reads: enable flag (stored at this+0xc8), a byte value, a 0x33-byte string, and a 3-byte value. If enable flag is set, compares the string against known values to determine settings mode and calls FUN_00868570 to configure. Updates virtual call results at this+0xb4 and this+0xb8. |
| 0x008AC490 | 3223 | UIWindow__init_button_panel | Initializes a button panel for a UI window. Creates buttons in a loop (2 iterations for main buttons with IDs 0xb8/0xb9), each with 3 sprite states (normal/hover/pressed) from sprite name suffixes. Also creates additional UI elements: two more buttons at offsets 0x2c4/0x2c8 with IDs 0xe3/0xe2, two UISpriteWidgets at offsets 0x2cc/0x2d0, and configures sprite animations and tooltips. |
| 0x008AD770 | 1288 | UIWindow__init_text_and_button | Initializes a UI window with a text widget at offset 0xb8 (editable, font 6, light gray) and an editable text widget at offset 0xbc, plus a cancel button (3 sprite states) positioned at bottom-right. Sets widget ID to 0xb8. |
| 0x008AF190 | 6597 | UIWindow__init_complex_layout | Large UI window initialization function (6597 bytes). Creates a complex layout with multiple child widgets. Too large to fully decompile; likely initializes a major game window with many controls. |
| 0x008B0B60 | 314 | UIWindow__init_scroll_controls | Initializes scroll-related controls for a UI window (314 bytes). Sets up scrollbar and list widgets. |
| 0x008B0CA0 | 1425 | UIWindow__init_tabbed_layout | Initializes a tabbed layout for a UI window (1425 bytes). Creates tab buttons and associated panel content. |
| 0x008B1240 | 1309 | UIWindow__init_list_layout | Initializes a list-style layout for a UI window (1309 bytes). Creates list widgets with scroll support. |
| 0x008B2820 | 2510 | UIWindow__init_detail_view_layout | Initializes a detail view layout for a UI window (2510 bytes). Creates detail display with text labels and action buttons. |
| 0x008B84B0 | 349 | UIWindow__draw_decorated_background | Draws a decorated background for a UI window (349 bytes). Renders background with decorative elements. |
| 0x008B8E60 | 48 | UIWindow__draw_title_background | Draws the title background for a UI window. Gets title string from offset 0x100 (with SSO check at 0x114), calls FUN_008d2ce0 with flag=1 and FUN_008d03e0 to render the title bar. |
| 0x008B8E90 | 49 | UIWindow__draw_background_sprite_b | Draws a background sprite from DAT_01139db4 at position (0,0) with no flags. |
| 0x008B8ED0 | 1718 | UIWindow__draw_achievement_background | Draws the achievement window background (1718 bytes). Renders background elements specific to achievement display. |
| 0x008B9790 | 424 | UIWindow__draw_pet_background | Draws the pet window background (424 bytes). Renders background elements for pet info display. |
| 0x008B9940 | 92 | UIWindow__draw_title_with_image | Draws the title background and an optional image. Gets title string from offset 0x100, calls FUN_008d2ce0/008d03e0 for title bar, FUN_008d0920 with flag 2 for additional rendering. If image handle at offset 0x120 is non-zero, renders it at position (0x9e,0x1b) with size (0x38,0x4b) via FUN_00a7bb20. |
| 0x008B9E90 | 49 | UIWindow__draw_background_sprite_c | Draws a background sprite from DAT_0113a20c at position (0,0) with no flags. |
| 0x008BA1E0 | 152 | UIWindow__prepare_render_context | Prepares the render context for a UI window before drawing. Reorders the window in the global window list if needed (via CGameObject__reorder_window_in_list_18), sets hover focus, accumulates parent offsets to compute absolute screen coordinates (stored at this+0x7c/0x80/0x84/0x88), sets render flag 0x80, timestamps via timeGetTime(), and refreshes dependent navigator windows. |
| 0x008BA280 | 61 | UIWindow__on_mouse_over_list_row | Handles mouse hover over list row. Hit-tests the row from coordinates, stores result in field 0x94, calls virtual refresh and sends msg 0x50. |
| 0x008BA2C0 | 68 | UIWindow__on_window_focus_reset | Resets window focus state. If this is the active window (field 0x19c match), resets selection to -1, sets alpha to 0xFF, records timestamp, clears hover, and rebuilds navigator children. |
| 0x008BA310 | 171 | UIWindow__on_mouse_click_dispatch | Dispatches mouse click. If this is active window and click is within bounds, sets click flag and sends virtual messages. Otherwise clears click flag. Calls virtual refresh and clears hover. |
| 0x008BA3D0 | 289 | UIWindow__show_tooltip_for_long_text | Shows tooltip for text that exceeds 100 pixels width. Accumulates parent offsets, measures text width at font size 12, and if >100px, shows tooltip via CToolTipMgr at the computed position. |
| 0x008BA510 | 335 | UIWindow__update_position_with_snap | Updates window position with snap offsets. Accumulates parent offsets, computes snap offsets, selects the larger offset between navigator snap and computed snap, then applies the combined position and registers in grid. |
| 0x008BA670 | 426 | UIWindow__update_elapsed_time_display | Updates an elapsed time display. Gets current time, converts to minutes:seconds, formats via XOR-decrypted format string, sets text widget, and calls virtual refresh. Uses TLS for encrypted string storage. |
| 0x008BA820 | 1413 | UIWindow__update_input_fields_with_placeholder | Manages two input text fields with placeholder text and IME control. Compares current text against XOR-encrypted placeholder strings. Sets grey (0x9C) color for placeholder, black for user input. Handles IME conversion status toggling. Fields at offsets 0xB4 and 0xB8. |
| 0x008BADC0 | 301 | UIWindow__update_countdown_display | Updates countdown timer display. Compares current time against deadline at offset 0xC4. When expired, sets DAT_01457af4=0xBB and clears active flag. Otherwise computes remaining seconds, formats via lua_util_sprintf with format string at offset 0xD0, and updates text widget. |
| 0x008BAEF0 | 378 | UIWindow__update_countdown_with_progress | Updates countdown timer with progress bar. Similar to update_countdown_display but also computes progress percentage from elapsed/total duration and sets it on a progress control via CUIControl__set_field_0x1f_and_invalidate. |
| 0x008BB070 | 51 | UIWindow__send_scroll_indicator_msg | Sends a scroll indicator message to a child widget. If param is negative, sends offset +6; otherwise sends -6 (0xFFFFFFFA). Uses virtual call at vtable+0x94 with the widget at field 0x170. |
| 0x008BB0B0 | 30 | UIWindow__open_url_via_shell | Opens a URL via Windows ShellExecuteA. Uses the main window handle (DAT_0173ad68), the 'open' verb (DAT_010d9804), and a URL from PTR_DAT_01348f6c. |
| 0x008BB0D0 | 537 | UIWindow__load_and_display_text_file | Loads a text file and displays its contents in a paged text view. Reads file from path at field 0x110, parses lines delimited by newlines, handles '^' as section markers, supports scrolling with up to 19 visible lines, sets each line as a text widget entry. |
| 0x008BB2F0 | 76 | UIWindow__setup_child_scrollbars | Sets up scroll ranges for two child scrollbar widgets at offsets 0x2CC and 0x2D0. First scrollbar: range 0-22 with page size 1. Second scrollbar: range 0-8 with page size 1. Calls virtual refresh on each. |
| 0x008BB340 | 58 | UIWindow__apply_snap_offset | Applies window snap offset. Computes snap offsets via CGameObject__compute_window_snap_offsets, adds them to position fields (0x1C, 0x20), then registers the window in the UI grid. |
| 0x008BB380 | 110 | UIWindow__save_setting_to_registry | Saves a setting value to the Windows registry. Copies a value from the child widget's field 0x94 into field 0xD4, then writes it as a DWORD to HKLM under the game's registry key using the provided registry value name. |
| 0x008BB410 | 471 | UIWindow__process_trade_input | Handles trade window input events. Msg 6+0xB8/0xB9: confirm/cancel trade (sends command 0x78). Msg 0x4A: updates trade item info by combining item name with message table text 0x189, sets text on child widget. |
| 0x008BB5F0 | 213 | UIWindow__process_bank_input | Handles bank/zeny input. Processes deposit (0x1CE) and withdraw (0x1CF) with overflow and trade-busy checks. Amount buttons: 10M (0x186), 1M (0x187), 100K (0x188). Input fields at 0xB4/0xB8. Uses compute_adjusted_value_ex for 64-bit zeny math. Sends packets 0x9A7/0x9A9. |
| 0x008BB9E0 | 170 | UIWindow__chat_window_proc | Main chat window message handler. Extremely large proc handling: Msg 6+0xB8: send chat with link delimiter check, ASCII validation, report system, and whisper target detection. Msg 0x0E: window resize with min 280x120. Msg 0x22: update chat data (name, message, map info, town search). Msg 0x25: search results display. Msg 0x2B-0x2E: settings tree iteration. Msg 0x30: context menu actions (whisper, party, block, friend request, pet evolution). Msg 0x31: friend list population. Msg 0x35: position restore. Msg 0x7B: network sync data (multiple sub-packets 0x5015-0x501F). |
| 0x008BDB00 | 94 | UIWindow__generic_input_window_proc | Generic input window proc. Msg 6+0xB8: reads text input, converts to int, sends command with stored ID. Msg 0x1D: sets text widget. Msg 0x50: stores list selection index. Msg 0x51: converts int to string and sets on text widget. Default: delegates to button click handler. |
| 0x008BDC90 | 125 | UIWindow__handle_button_click | Handles a button click event in a UI window (125 bytes). |
| 0x008BDD10 | 1255 | UIWindow__search_window_proc | Search/friend list window proc. Msg 6+0xB8: validates search text (length < 24, no URL patterns), performs town search or sends friend request (0xB9). Msg 6+0xC9: closes. Msg 6+0xD5: save data sync. Msg 6+0x121-0x123: manage friend windows (create, delete confirm, character delete). Msg 6+0x1E8: dialog result handling. Msg 0x22: reposition with validation. |
| 0x008BE200 | 647 | UIWindow__pincode_window_proc | PIN code window proc. Msg 6+0xB9: disconnect confirm dialog (msg 0x11). Msg 6+0x17E: plays sound, validates PIN is exactly 8 digits, sends via command 0x2728 + 0x27, closes window 0xB4. Shows error dialog (msg 0xCB1) if wrong length. Msg 0x3C: clears text field. |
| 0x008BE490 | 776 | UIWindow__account_service_window_proc | Account service window proc. Handles account creation, URL launch, and quit flow. Msg 6+0xB9: disconnect. Msg 6+0xBA: password change with min 4/6 char validation, sends 0x2735/0x2717/0x2718/0x2736. Msg 6+0xD5: toggle display mode. Msg 6+0xDD: quit with disconnect confirm. Msg 6+0xE5: creates pet selection popup (window 0x1A). Msg 6+0x10B: quit to website or game mode on quit. Msg 0x27: decrypts TLS strings for button labels. |
| 0x008BF720 | 166 | UIWindow__enchant_window_proc | Enchant window message handler. Msg 0: default button handler. Msg 6: network packet forwarding + sub-msg handling (0xB8=refresh, 0xC9=close enchant, 0x15D=create enchant window 0x7E, 0x15E=confirm with dialog). Msg 0x22: reposition window. |
| 0x008BF950 | 67 | UIWindow__service_info_window_proc | Service info window message handler. Msg 6: close on 0xB8/0xBB/0xBC. Msg 0x39: refresh child and send msg 0x1D. Msg 0x43: copy string. Msg 0x62: open URL from message table entry 0xD75 via ShellExecuteA. Msg 0x9C/0x9D/0x9E: get/set enable state at offset 0x118/0x11C. |
| 0x008BFB70 | 34 | UIWindow__simple_command_window_proc | Simple command window proc. Msg 6: stores param in DAT_01457af4 and returns 0. All other messages: delegates to UIWindow__handle_button_click. |
| 0x008BFBA0 | 113 | UIWindow__charselect_data_window_proc | Character select data window message handler. Msg 6+0xB8: unregister window. Msg 0x4F: copies 7 int + 1 bool (32 bytes) of char data from param into member fields at offset 0xB4-0xD0, then calls virtual refresh (vtable+0x98). |
| 0x008BFC20 | 63 | UIWindow__notice_window_proc | Notice/patch notes window message handler. Msg 0: self-close. Msg 6+0xB8: write read-state to notice_read.txt and close. Msg 6+0xDA/0xF6: page navigation (next/prev). Msg 7/9/10: vertical scrolling with bounds clamping. Draws equipped items section after scroll. |
| 0x008BFE80 | 154 | UIWindow__search_navigation_window_proc | Search/navigation window message handler. Msg 6+0xB8: text search with town name validation, shows dialog on incomplete search. Msg 6+0xC9: close. Msg 6+0x10C: creates multi-option selection window (0x104) with 4 message table entries + pet item list from save data. Msg 6+0x1E8: confirm dialog for guild-related action. Msg 0x22: reposition. Msg 0x27: handles submenu selections (0x1D3-0x1D7) for guild/pet actions. |
| 0x008C0B20 | 65 | UIWindow__graphics_options_window_proc | Graphics options window message handler. Msg 6: dispatches session commands 0x191-0x196 (graphics presets), 0x194 closes window. Msg 0x23: toggles between two display modes by swapping child widget positions. Msg 0x3C: touch input. Msg 0xFB: no-op. |
| 0x008C0DF0 | 1266 | UIWindow__recording_settings_window_proc | Recording/macro settings window proc. Msg 6+0xD5: handles 10+ checkbox toggles for recording categories via radio buttons, syncs to EffectMap config. Msg 6+0x1A4-0x1A9: mode transitions (start recording, stop, search filename with URL validation, manage states). Msg 0x22: reposition. Msg 0x3C: refresh display. Msg 0x57: saves resolution to EffectMap. Msg 0x74: updates animation display. |
| 0x008C14F0 | 63 | UIWindow__replay_window_proc | Replay window message handler. Msg 6+0xB8: opens replay file, checks effect type match, starts playback or shows error dialog. Msg 6+0xB9/400: starts playback and closes. Msg 6+0xDD: disconnect confirmation. Msg 0x12/0x13/0x28: forward to child. Msg 0x50: process mouse. Msg 0x59: resize child widget. |
| 0x008C18C0 | 67 | UIWindow__settings_registry_window_proc | Settings window with registry persistence. Msg 6+0xB8: saves selection to Windows registry (HKLM) and sends session command. Msg 6+0xB9: closes and sends 0x2716. Msg 6+0xDD: disconnect confirm. Msg 6+0x190: configures effect map settings and starts. Msg 0x50: reads saved value from registry. Msg 0x12/0x13/0x28: forward to child. Msg 0x59: resize. |
| 0x008C1DB0 | 276 | UIWindow__color_picker_window_proc | Color picker window proc. Msg 6+0xB8: confirms selection - gathers 4 color values from fields 0xB4-0xC0 plus text input, sends via mode1 command 0x83. Msg 6+0xB9: cancel, closes window. Msg 0x44: receives 4-value color data into fields 0xB4-0xC0. |
| 0x008C1ED0 | 44 | UIWindow__set_string_from_cstr | Copies a null-terminated C string into an STL string by computing strlen then calling STL_string_assign_buffer. |
| 0x008C1F00 | 1372 | UIWindow__arrange_child_widgets_by_mode | Arranges child widget positions based on mode (0-3). Mode 0: shows file browser and checkboxes. Mode 1: shows recording controls with timestamp. Mode 2: shows playback controls with speed/navigation. Mode 3: shows password input with focus. Each mode hides irrelevant widgets by moving offscreen (-100,-100). Triggers touch input refresh at end. |
| 0x008C2460 | 813 | UIWindow__display_replay_file_info | Displays replay file metadata. Checks if a replay entry is selected, opens the file, reads header. On success: shows type (Primary/Siege/Local/InstantEvent/PK), header fields (IP, version, dates), duration. On failure: shows error message 0x7B1. Uses EffectMap instance for replay data. |
| 0x008C2E30 | 732 | UIWindow__update_pet_intimacy_label | Updates pet intimacy/closeness label based on DAT_01733684 value ranges. Ranges: <0 (invalid), 0-100 (with special Homunculus sub-ranges at 21/41), 101-250, 251-750, 751-900, 901-1000. Assigns corresponding message table text (0x2A0-0x2A4, 0x3FD-0x3FE). Also updates a float progress indicator. Refreshes display only if label text changed. |
| 0x008C3110 | 815 | UIWindow__display_replay_status | Displays replay playback status. Shows elapsed time (h:m:s) and total duration, playback speed (messages 0x7A3-0x7AB for speeds 1-7+), and current map/location name from CEntity. Updates display and invalidates rendering. |
| 0x008C3440 | 349 | UIWindow__update_timer_display | Updates a running timer display with blinking dots. Cycles through 4 dot positions based on timeGetTime()%1000/250. Only updates the time text if >200ms has passed since last update. Formats elapsed time as HH:MM:SS. Adjusts timer widget width at 100h and 1000h marks. |
| 0x008C35A0 | 56 | UIWindow__copy_rect_to_field_0x120 | Copies window rect fields (0x14, 0x18, 0x1C, 0x20) into the structure pointed to by field 0x120. Layout: [0]=pos.x, [4]=pos.y, [8]=origin.x, [12]=origin.y. |
| 0x008C35E0 | 56 | UIWindow__copy_rect_to_field_0xcc | Copies window rect fields (0x1C, 0x20, 0x14, 0x18) into the structure pointed to by field 0xCC. Layout: [0]=pos.x, [4]=pos.y, [8]=origin.x, [12]=origin.y. |
| 0x008C3630 | 56 | UIWindow__copy_rect_to_field_0xc4 | Copies window rect fields (0x1C, 0x20, 0x14, 0x18) into the structure pointed to by field 0xC4. |
| 0x008C3670 | 56 | UIWindow__copy_rect_to_field_0xb8 | Copies window rect fields (0x1C, 0x20, 0x14, 0x18) into the structure pointed to by field 0xB8. |
| 0x008C36B0 | 56 | UIWindow__copy_rect_to_field_0x138 | Copies window rect fields (0x14, 0x18, 0x1C, 0x20) into the structure pointed to by field 0x138. |
| 0x008C36F0 | 750 | UIWindow__export_chat_to_file | Exports chat log to a text file. Creates Chat/ directory under game path if needed. Sanitizes the chat partner name (replaces \\/:*?\"<>\| with underscore). Generates unique filename with incrementing suffix to avoid overwrite. Calls CUIControl__export_strings_to_file. Displays success message in green (0xFF00) in chat. |
| 0x008C39E0 | 747 | UIWindow__save_account_settings_to_registry | Saves account settings to Windows registry (HKLM). Writes three XOR-encrypted registry values: (1) account ID string from text input or empty, (2) a DWORD flag indicating if account ID was present, (3) a DWORD with value 1 (always). Uses TLS for XOR-decrypted registry key names. |
| 0x008C3E20 | 16 | UIWindow__init_vtable | Initializes the vtable pointer for a UIWindow-derived class. Sets param_1[0] to point to the vtable at PTR_UIWindow__thunk_vfunc_0_0113a55c. |
| 0x008C3E30 | 16 | UIWindow__thunk_vfunc_1 | Sets vtable pointer to 0x0113A4EC on the object. Part of a multi-inheritance UIWindow class hierarchy vtable initialization chain. |
| 0x008C3E50 | 16 | UIWindow__thunk_vfunc_2 | Sets vtable pointer to 0x0113A508 on the object. Part of UIWindow multi-inheritance vtable initialization chain. |
| 0x008C3E60 | 16 | UIWindow__thunk_vfunc_3 | Sets vtable pointer to 0x0113A594 on the object. Part of UIWindow multi-inheritance vtable initialization chain. |
| 0x008C3E70 | 16 | UIWindow__thunk_vfunc_4 | Sets vtable pointer to 0x0113A524 on the object. Part of UIWindow multi-inheritance vtable initialization chain. |
| 0x008C3E80 | 16 | UIWindow__thunk_vfunc_5 | Sets vtable pointer to 0x0113A5B0 on the object. Part of UIWindow multi-inheritance vtable initialization chain. |
| 0x008C3E90 | 16 | UIWindow__thunk_vfunc_6 | Sets vtable pointer to 0x0113A540 on the object. Part of UIWindow multi-inheritance vtable initialization chain. |
| 0x008C3EA0 | 68 | UIWindow__scalar_deleting_dtor_a | Scalar deleting destructor for UIWindow base class A. Calls operator_delete(this, 8) if param_2 is nonzero. |
| 0x008C3EF0 | 68 | UIWindow__scalar_deleting_dtor_b | Scalar deleting destructor for UIWindow base class B. Calls operator_delete(this, 8) if param_2 is nonzero. |
| 0x008C3F40 | 68 | UIWindow__scalar_deleting_dtor_c | Scalar deleting destructor for UIWindow base class C. Calls operator_delete(this, 8) if param_2 is nonzero. |
| 0x008C3F90 | 68 | UIWindow__scalar_deleting_dtor_d | Scalar deleting destructor for UIWindow base class D. Calls operator_delete(this, 8) if param_2 is nonzero. |
| 0x008C3FE0 | 68 | UIWindow__scalar_deleting_dtor_e | Scalar deleting destructor for UIWindow base class E. Calls operator_delete(this, 8) if param_2 is nonzero. |
| 0x008C4030 | 68 | UIWindow__scalar_deleting_dtor_f | Scalar deleting destructor for UIWindow base class F. Calls operator_delete(this, 8) if param_2 is nonzero. |
| 0x008C4080 | 68 | UIWindow__scalar_deleting_dtor_g | Scalar deleting destructor for UIWindow base class G. Calls operator_delete(this, 8) if param_2 is nonzero. |
| 0x008C40D0 | 68 | UIWindow__scalar_deleting_dtor_h | Scalar deleting destructor for UIWindow base class H. Calls operator_delete(this, 8) if param_2 is nonzero. |
| 0x008C47D0 | 16 | UIWindow__thunk_vfunc_7 | Sets vtable pointer to 0x0113A55C on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_7). |
| 0x008C47E0 | 16 | UIWindow__thunk_vfunc_8 | Sets vtable pointer to 0x0113A4EC on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_8). Same vtable as thunk_vfunc_1. |
| 0x008C47F0 | 16 | UIWindow__thunk_vfunc_9 | Sets vtable pointer to 0x0113A578 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_9). |
| 0x008C4800 | 16 | UIWindow__thunk_vfunc_10 | Sets vtable pointer to 0x0113A508 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_10). |
| 0x008C4810 | 16 | UIWindow__thunk_vfunc_11 | Sets vtable pointer to 0x0113A594 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_11). |
| 0x008C4820 | 16 | UIWindow__thunk_vfunc_12 | Sets vtable pointer to 0x0113A524 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_12). |
| 0x008C4830 | 16 | UIWindow__thunk_vfunc_13 | Sets vtable pointer to 0x0113A5B0 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_13). |
| 0x008C4840 | 16 | UIWindow__thunk_vfunc_14 | Sets vtable pointer to 0x0113A540 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_14). |
| 0x008C99F0 | 67 | UIWindow__free_node_8c99f0 | Frees 0xC-byte linked list node at this+4 if non-null |
| 0x008C9A40 | 67 | UIWindow__free_node_0x34_8c9a40 | Frees 0x34-byte allocation at this+4 if non-null |
| 0x008C9A90 | 67 | UIWindow__free_node_0x18_8c9a90 | Frees 0x18-byte allocation at this+4 if non-null |
| 0x008C9AE0 | 67 | UIWindow__free_node_0x1c_8c9ae0 | Frees 0x1C-byte allocation at this+4 if non-null |
| 0x008C9B30 | 78 | UIWindow__free_node_0xc_8c9b30 | Frees 0xC-byte allocation at this+4 if non-null |
| 0x008C9B80 | 144 | UIWindow__cleanup_and_free_8c9b80 | Cleanup: if this+4 non-null, destroys string via 008c4930 then frees 0x34-byte block |
| 0x008C9C30 | 111 | UIWindow__destroy_tree_nodes_8c9c30 | Iterates linked list, calls cleanup on each node key, frees 0x18-byte nodes, then frees sentinel |
| 0x008C9CB0 | 76 | UIWindow__destroy_tree_0x1c_8c9cb0 | Destroys tree via 008c5f50, then frees 0x1C-byte root node |
| 0x008C9D10 | 78 | UIWindow__free_node_0x18_8c9d10 | Frees 0x18-byte allocation at this+4 if non-null |
| 0x008C9D60 | 116 | UIWindow__cleanup_and_free_0x1c_8c9d60 | Cleanup: calls helper on this+4 if non-null, then frees 0x1C-byte block |
| 0x008C9DE0 | 78 | UIWindow__free_node_0x18_8c9de0 | Frees 0x18-byte allocation at this+4 if non-null |
| 0x008C9E30 | 78 | UIWindow__free_node_0x1c_8c9e30 | Frees 0x1C-byte allocation at this+4 if non-null |
| 0x008C9E80 | 91 | UIWindow__destroy_string_vector_8c9e80 | Iterates vector of 0x1C-byte elements, destroys std::string in each entry |
| 0x008C9F10 | 103 | UIWindow__destroy_slist_0xc_8c9f10 | Walks singly-linked list, frees each 0xC-byte node, then frees head node |
| 0x008C9F80 | 65 | UIWindow__destroy_tree_wrapper_8c9f80 | Wrapper: calls destroy_tree_nodes_8c9c30 to free all tree nodes |
| 0x008C9FD0 | 87 | UIWindow__destroy_tree_0x1c_8c9fd0 | Destroys tree via 008c5f50, then frees 0x1C-byte root node |
| 0x008CA030 | 109 | UIWindow__cleanup_strings_8ca030 | Calls 008c4930 cleanup then destroys std::string |
| 0x008CA0A0 | 68 | UIWindow__cleanup_helper_8ca0a0 | Calls helper_005c2a80 cleanup function |
| 0x008CA2E0 | 99 | UIWindow__destroy_3_strings_8ca2e0 | Destroys 3 std::string members sequentially |
| 0x008CA350 | 68 | UIWindow__destroy_string_8ca350 | Destroys single std::string member |
| 0x008CA3A0 | 71 | UIWindow__dtor_8ca3a0 | Destructor: sets vtable 0x0113e0cc, calls base UIWindow dtor 008a4e90 |
| 0x008CA3F0 | 97 | UIWindow__dtor_8ca3f0 | Destructor: unwinds 3 vtables (c92c->c344->c194), calls base UIWindow dtor 008a4e90 |
| 0x008CA460 | 97 | UIWindow__dtor_8ca460 | Destructor: unwinds 3 vtables (c854->c344->c194), calls base UIWindow dtor 008a4e90 |
| 0x008CA4D0 | 95 | UIWindow__dtor_8ca4d0 | Destructor: sets vtable 0x0113dd6c, calls CFmt cleanup, then base UIWindow dtor |
| 0x008CA530 | 110 | UIWindow__dtor_8ca530 | Destructor: sets vtable 0x0113bad4, destroys 2 strings, calls base UIWindow dtor |
| 0x008CA5A0 | 71 | UIWindow__dtor_8ca5a0 | Destructor: sets vtable 0x0113cc8c, delegates to dtor at 008ca5f0 |
| 0x008CA5F0 | 155 | UIWindow__dtor_8ca5f0 | Destructor: sets vtable 0x0113cbb4, destroys 2 json objs, 2 CFmt objs, 1 string, base dtor |
| 0x008CA690 | 71 | UIWindow__dtor_8ca690 | Destructor: sets vtable 0x0113c194, calls base UIWindow dtor 008a4e90 |
| 0x008CA6E0 | 95 | UIWindow__dtor_8ca6e0 | Destructor: sets vtable 0x0113be34, calls CFmt cleanup, then base UIWindow dtor |
| 0x008CA740 | 104 | UIWindow__dtor_8ca740 | Destructor: sets vtable 0x0113bd5c, copies field +0x2e to +0x2f, destroys json obj, base dtor |
| 0x008CA7B0 | 99 | UIWindow__dtor_8ca7b0 | Destructor: sets vtable 0x0113b774, calls destroy notify 0xfa, delegates to dtor 008cac40 |
| 0x008CA820 | 71 | UIWindow__dtor_8ca820 | Destructor: sets vtable 0x0113b924, delegates to dtor 008cac40 |
| 0x008CA870 | 71 | UIWindow__dtor_8ca870 | Destructor: sets vtable 0x0113d85c, calls base UIWindow dtor 008a4e90 |
| 0x008CA8C0 | 71 | UIWindow__dtor_8ca8c0 | Destructor: sets vtable 0x0113d784, calls base UIWindow dtor 008a4e90 |
| 0x008CA910 | 97 | UIWindow__dtor_8ca910 | Destructor: unwinds 3 vtables (c4f4->c344->c194), calls base UIWindow dtor |
| 0x008CA980 | 71 | UIWindow__dtor_8ca980 | Destructor: sets vtable 0x0113c26c, calls base UIWindow dtor 008a4e90 |
| 0x008CA9D0 | 71 | UIWindow__dtor_8ca9d0 | Destructor: sets vtable 0x0113b18c, calls base UIWindow dtor 008a4e90 |
| 0x008CAA20 | 192 | UIWindow__dtor_8caa20 | Destructor: sets vtable 0x0113ae2c, destroys 2 string vectors and 2 CFmt objs, base dtor |
| 0x008CAAE0 | 84 | UIWindow__dtor_8caae0 | Destructor: unwinds 2 vtables (c344->c194), calls base UIWindow dtor |
| 0x008CAB40 | 175 | UIWindow__dtor_8cab40 | Destructor: sets vtable 0x0113aacc, destroys 2 strings and 2 linked lists (0x100-byte), base dtor |
| 0x008CABF0 | 71 | UIWindow__dtor_8cabf0 | Destructor: sets vtable 0x0113dbbc, calls base UIWindow dtor 008a4e90 |
| 0x008CAC40 | 212 | UIWindow__dtor_8cac40 | Destructor: sets vtable 0x0113b69c, calls notify 0x114, destroys tree/4 strings, base dtor |
| 0x008CAD20 | 71 | UIWindow__dtor_8cad20 | Destructor: sets vtable 0x0113b84c, delegates to dtor 008cac40 |
| 0x008CAD70 | 143 | UIWindow__dtor_8cad70 | Destructor: unwinds vtables d274->cfec, destroys string and linked list, base dtor |
| 0x008CAE00 | 130 | UIWindow__dtor_8cae00 | Destructor: sets vtable 0x0113cfec, destroys string and linked list at +0x33, base dtor |
| 0x008CAE90 | 95 | UIWindow__dtor_8cae90 | Destructor: sets vtable 0x0113afdc, destroys 1 string, calls base UIWindow dtor |
| 0x008CAEF0 | 97 | UIWindow__dtor_8caef0 | Destructor: unwinds 3 vtables (de44->c344->c194), calls base UIWindow dtor |
| 0x008CAF60 | 97 | UIWindow__dtor_8caf60 | Destructor: unwinds 3 vtables (ca04->c344->c194), calls base UIWindow dtor |
| 0x008CAFD0 | 97 | UIWindow__dtor_8cafd0 | Destructor: unwinds 3 vtables (c41c->c344->c194), calls base UIWindow dtor |
| 0x008CB040 | 71 | UIWindow__dtor_8cb040 | Destructor: sets vtable 0x0113ac7c, calls base UIWindow dtor 008a4e90 |
| 0x008CB090 | 143 | UIWindow__dtor_8cb090 | Destructor: unwinds vtables d19c->cfec, destroys string and linked list, base dtor |
| 0x008CB120 | 110 | UIWindow__dtor_8cb120 | Destructor: sets vtable 0x0113d6ac, frees vector and CFmt obj, base dtor |
| 0x008CB190 | 119 | UIWindow__dtor_8cb190 | Destructor: sets vtable 0x0113d34c, frees vector and tree nodes, base dtor |
| 0x008CB210 | 97 | UIWindow__dtor_8cb210 | Destructor: unwinds 3 vtables (c6a4->c344->c194), calls base UIWindow dtor |
| 0x008CB280 | 110 | UIWindow__dtor_8cb280 | Destructor: sets vtable 0x0113bbac, destroys 2 strings, base dtor |
| 0x008CB2F0 | 71 | UIWindow__dtor_8cb2f0 | Destructor: sets vtable 0x0113c0bc, calls base UIWindow dtor 008a4e90 |
| 0x008CB340 | 151 | UIWindow__dtor_8cb340 | Destructor: sets vtable 0x0113b33c, destroys 4 strings, base dtor |
| 0x008CB3E0 | 71 | UIWindow__dtor_8cb3e0 | Destructor: sets vtable 0x0113d424, calls base UIWindow dtor 008a4e90 |
| 0x008CB430 | 71 | UIWindow__dtor_8cb430 | Destructor: sets vtable 0x0113d4fc, calls base UIWindow dtor 008a4e90 |
| 0x008CB480 | 71 | UIWindow__dtor_8cb480 | Destructor: sets vtable 0x0113b414, calls base UIWindow dtor 008a4e90 |
| 0x00900A2E | 32 | UIWindow__epilog_return_zero_00900a2e | UIWindow: epilog return zero 00900a2e |
| 0x00901370 | 116 | UIWindow__msg_handler_scroll_keypad | Window message handler for a scroll/keypad UI element. On msg 6: handles key codes 0xB9 (scrolls with 0x30), 0xDC (sends vtable call with 0x19, value 1), 0xDD (sends vtable call with 0x58, value 0). Falls through to FUN_008bdc90 for other message types. |
| 0x009013F0 | 91 | UIWindow__msg_handler_scroll_extended | Window message handler with extended scroll functionality. On msg 6: handles 0xDC (vtable call 0x19), 0xB9 (scroll 0x13), 0xFB (scroll 0x13 + vtable 0x58), 0xFC (vtable 0x19 with value 1 + scroll 0x13 + 0x10d). Falls through to default handler for other messages. |
| 0x00909CD0 | 13 | UIWindow__set_field_0x28 | Setter: stores param_2 at this+0x28 |
| 0x00913CF0 | 114 | UIWindow__dtor_913cf0 | Destructor: sets vtable to 01140d20, destroys 2 STL strings, calls std__vector_3c__clear_and_free to clean up vector of 0x3C-byte elements. |
| 0x00918940 | 121 | UIWindow__draw_item_with_quantity | Draws an item sprite with quantity overlay. First calls UIWindow__draw_item_sprite for the base sprite rendering. If the item has a non-zero quantity at offset 0x10, formats it with lua_util_sprintf and draws the number text at position (x+0x1B, y+0x11) in white (0xFFFFFF). |
| 0x0091A7D0 | 397 | UIWindow__render_highlights_91a7d0 | Renders highlight rectangles for entries matching the current selection. Gets the current map name via virtual method 0x18 on the mode-1 field. Iterates the linked list at offset 0xB4, and for entries matching DAT_013899bc, compares the entry name string against the current map name. If equal, draws a green border (0x23AEE8); otherwise draws a light pink border (0x7EE2F7). Uses CEffect__draw_3d_border for the rect outline. |
| 0x00930CD0 | 111 | UIWindow__toggle_child_visibility | Toggles visibility of a child window found by ID at offset 0xE4. Looks up window via FUN_00aa5f70 or FUN_00a978d0, toggles show/hide, and sends msg 0x10F to parent. |
| 0x009312E0 | 80 | UIWindow__on_click_send_parent_msg_c1 | Click handler that sends notification msg 0xC1 to parent window ID 0x84 with the value at offset 0xF4. Only active when DAT_01732d84 is set. Also handles header draw. |
| 0x00931390 | 68 | UIWindow__on_click_check_center_area | Click handler that checks if click is in the center area (x: 8-0x86, y: 0x27-0xA5). If click is within bounds, sends msg 0x1AD to parent via vtable 0x94. Always delegates to UIWindow__on_window_focus_reset for focus handling. |
| 0x009313E0 | 9 | thunk_to_UIWindow__on_window_focus_reset_009313e0 | Thunk that jumps to UIWindow__on_window_focus_reset (at 0x008ba2c0). Simple pass-through with no additional logic. |
| 0x009316F0 | 29 | UIWindow__on_mouse_up_focus_reset_and_refresh | Mouse up handler. Resets window focus state via UIWindow__on_window_focus_reset, then calls virtual function at vtable offset 0x2C to trigger a refresh/update pass. |
| 0x00931710 | 142 | UIWindow__on_mouse_up_notify_parent_at_cursor | Mouse up handler: draws footer bar, then checks if cursor is within parent window (ID 1) bounds. If so, sends msg 0x76 to the parent via vtable offset 0x94. |
| 0x009328F0 | 47 | UIWindow__on_mouse_up_update_position_if_active | Conditional mouse-up handler. Only updates window position (via UIWindow__update_position_with_snap) if this window matches the active window from get_field_0x19c and DAT_01732d84 is exactly 1 (drag mode active). |
| 0x00932920 | 536 | UIWindow__update_cell_position_and_tooltip | Updates UI cell position based on x,y coordinates. Checks if target differs from self, searches linked list for matching cells within bounds, sets active cell pointer at offset 0x2f, and creates/copies tooltip info struct (0x54 bytes) from map data including position and bounding rect. |
| 0x00932B40 | 37 | UIWindow__on_mouse_move_show_tooltip_and_update | Mouse move handler wrapper. First shows item tooltip at position (via UITooltipWnd__show_item_tooltip_at_pos with filter=-1), then updates window position with snap. Combines tooltip display with position tracking. |
| 0x00932B70 | 38 | UIWindow__on_mouse_move_update_position_if_self | Conditional mouse move handler. Only updates window position (via UIWindow__update_position_with_snap) if this window instance matches the active window returned by get_field_0x19c. Acts as a self-check guard for position updates. |
| 0x00932C80 | 409 | UIWindow__update_tooltip_from_map_entry | Updates tooltip content from a map entry at offset 0xC0. Compares entry name with current tooltip name, and if different, copies new name string and initializes tooltip entry from string and bounds. Accumulates display time with delta and caps at 1.0. |
| 0x00932E20 | 89 | UIWindow__check_loading_timeout_and_close | Checks if loading is complete (field 0x30 == field 0x31). If complete, starts a 2-second timeout timer using timeGetTime. After 2 seconds, calls FUN_00a8cf20(0xc4) to close/hide the loading window. |
| 0x00933D20 | 49 | UIWindow__on_resize_update_scroll_area | Handles window resize by calling base resize handler and updating scroll area dimensions. Sets scroll width to window width - 6 and scroll height to window height minus header height (field 0x11C). |
| 0x00933D60 | 174 | UIWindow__on_resize_layout_children | Handles window resize with child layout. Calls base resize, repositions scrollbar (field 0xBC) flush to edges, positions close button (field 0xE4) at x offset, and updates scroll/content area dimensions. Stores width/height in std::map entries at offsets 0x3C and 0x40. |
| 0x00933E10 | 42 | UIWindow__set_child_width_fixed_338 | Sets the width field of the child control at offset 0x124. Clamps the input to a minimum of 0x152 (338px) and also caps at 0x152, effectively always setting width to exactly 0x152. Stores in child+0xC and calls UIWorldMapWnd__layout_all_controls to refresh layout. |
| 0x00934740 | 62 | UIWindow__set_timer_params | Sets timer parameters for a UI window when command is 0x50. If param_4 is 0, sets timer target (field 0xB8). Otherwise sets timer callback (field 0xC4), resets counter (field 0xC0), and sets interval to 200ms (field 0xB4). |
| 0x0093CAB0 | 28 | UIWindow__open_child_on_command6 | Simple handler that opens a child window via FUN_00a978d0 when receiving command 6. The child window type is specified by param_3. Returns 0 always. |
| 0x0093D220 | 78 | UIWindow__set_visible_with_refresh | Sets window visibility with display refresh. If showing (non-zero), sends vtable 0x94 with command 0x17 to refresh data, calls vtable 0x98 to redraw, and FUN_00aab0d0 to notify. If hiding, calls FUN_00a8cd70. Stores visibility in field 0x28 (offset 10). |
| 0x0093D270 | 75 | UIWindow__toggle_child_panel_visibility | Toggles visibility of child panel at offset 0x13C. When showing, calls FUN_00a82e50 to bring to front, checks if panel has been registered (FUN_00a81a30), and adds to manager (FUN_00a7a080) if not. Passes visibility flag to child's vtable 0x38. |
| 0x00940B80 | 381 | UIWindow__set_tooltip_from_coords | Sets tooltip info from given x,y coordinates. Frees existing tooltip struct (0x54 bytes) if present, then looks up the map cell at the given position via handler_00613ab0. If found, allocates a new tooltip struct, copies cell name string, bounding rect (5 floats at +0x38), and parent map position data (4 floats at +0xC). Triggers redraw via vtable 0x98. |
| 0x00940D00 | 122 | UIWindow__find_cell_at_position | Finds the cell at given x,y position by iterating the linked list at field 0x2D. Matches cells where the current map ID equals DAT_013899bc and the position is within the cell's bounding box (fields 0x10-0x13). Sets field 0x2F to the matched cell pointer+2, or 0 if no match. Triggers redraw. |
| 0x00940DE0 | 56 | UIWindow__sync_position_to_config | Syncs window position and size to its associated config structure at offset 0xEC. Copies x (field 0x14) to config+8, y (field 0x18) to config+0xC, width (field 0x1C) to config+0, height (field 0x20) to config+4. Only writes if config pointer is non-null. |
| 0x00940EE0 | 56 | UIWindow__sync_pos_to_config_0xb8 | Syncs window size and position to config struct at offset 0xB8. Width/height stored at config+0/+4, x/y position at config+8/+0xC. |
| 0x00940F20 | 56 | UIWindow__sync_pos_to_config_0x1d0 | Syncs window position/size to config struct at offset 0x1D0. Position x,y to config+8/+0xC, width/height to config+0/+4. |
| 0x00940F60 | 56 | UIWindow__sync_pos_to_config_0x17c | Syncs window position/size to config struct at offset 0x17C. Position x,y to config+8/+0xC, width/height to config+0/+4. |
| 0x00940FA0 | 56 | UIWindow__sync_pos_to_config_0x1e8 | Syncs window position/size to config struct at offset 0x1E8. Position x,y to config+8/+0xC, width/height to config+0/+4. |
| 0x00940FE0 | 56 | UIWindow__sync_size_pos_to_config_0xb8 | Syncs window size and position to config struct at offset 0xB8. Width/height at config+0/+4, position x/y at config+8/+0xC. Same as UIWindow__sync_pos_to_config_0xb8 but for a different window class. |
| 0x00941020 | 56 | UIWindow__sync_pos_size_to_config_0xb8 | Syncs window position and size to config at offset 0xB8. Position x,y saved to config+8/+0xC, width/height saved to config+0/+4. |
| 0x00941120 | 108 | UIWindow__toggle_linked_window_visibility | Toggles visibility of a linked window identified by field 0x39. If window exists and is visible, hides it; if not visible or doesn't exist, creates/shows it. Sends command 0x10F with the visibility state. Refreshes parent display via vtable 0x98. |
| 0x0094C230 | 152 | UIWindow__set_title_from_message_id | Sets window title from a message ID. Formats title string using FUN_00b00f00(0xA3B) with a count parameter of 300, concatenates via FUN_00af62d0, and copies to the title string field at offset 0xC4. |
| 0x00950400 | 80 | UIWindow__handle_button_0xb8_send_packet | Handles button click for a UI window. On event type 6 with button ID 0xb8, sends packet 0xc2a to the server via FUN_00c7ce30. Otherwise delegates to UIWindow__handle_button_click. |
| 0x00950A60 | 249 | UIWindow__handle_close_button_check_blocking | Handles close button (0xc0) for a UI window, but first checks if blocking windows are open. Checks windows 0x127, 0x157, 0x2716, 0x169 via FUN_00aa5f70 and shows appropriate error messages (0xbb0, 0xe83, 0xf03, 0xfd6). If no blocking window, plays sound 0x107 or opens window 0x107. |
| 0x00950B60 | 91 | UIWindow__handle_close_send_0xa19 | Handles close button (0xc0) for a UI window. If DAT_01457ae4 == 0, sends packet 0xa19 to the server. Returns 0 for button events, otherwise delegates to FUN_00a83660. |
| 0x00951440 | 38 | UIWindow__suppress_event_0x30 | Suppresses event 0x30 (returns 0 without handling). For all other events, delegates to FUN_00a83660. |
| 0x00954700 | 78 | UIWindow__free_member_0x20 | Frees a member pointer at offset +4 if non-null, deallocating 0x20 bytes via operator delete. |
| 0x00954750 | 78 | UIWindow__free_member_0x18 | Frees a member pointer at offset +4 if non-null, deallocating 0x18 bytes via operator delete. |
| 0x009547A0 | 170 | UIWindow__destroy_linked_list_0x80_with_strings | Destroys a singly-linked list of 0x80-byte nodes. Each node contains 3 STL strings that are destructed before freeing the node. Clears the list head pointer. |
| 0x00954850 | 134 | UIWindow__destroy_linked_list_0x38 | Destroys a singly-linked list of 0x38-byte nodes. Each node has one STL string destructed before freeing. Clears the list head pointer. |
| 0x009548E0 | 87 | UIWindow__cleanup_tree_and_free_0x44 | Cleans up a red-black tree with 0x44-byte nodes by calling std__tree_0x44__recursive_destroy to remove all child nodes, then frees the root/sentinel node. |
| 0x00954940 | 65 | UIWindow__cleanup_wrapper_a | Wrapper that delegates to std__tree_destroy_0x20_all_nodes for cleanup of a 0x20-byte tree on a UI window member. |
| 0x00954990 | 65 | UIWindow__cleanup_wrapper_b | Wrapper that delegates to std__tree_destroy_0x18_all_nodes for cleanup of a 0x18-byte tree on a UI window member. |
| 0x009549E0 | 83 | UIWindow__destroy_string_member | Destructs an STL string member at offset +4 of the object. |
| 0x00954A40 | 174 | UIWindow__clear_and_free_vector_0xc | Clears and frees a std::vector of 0xC-byte elements. Iterates calling CFmt__func_0058c230 on each element, then frees the backing buffer. Resets begin/end/capacity pointers to 0. |
| 0x00954B00 | 99 | UIWindow__destroy_three_strings_a | Destructs three consecutive STL string members in sequence. |
| 0x00954B70 | 68 | UIWindow__destroy_single_string | Destructs a single STL string member passed as parameter. |
| 0x00954BC0 | 99 | UIWindow__destroy_three_strings_b | Destructs three consecutive STL string members in sequence (variant b). |
| 0x00954C30 | 68 | UIWindow__destroy_single_string_b | Destructs a single STL string member passed as parameter (variant b). |
| 0x0096DFA0 | 9 | thunk_to_UIWindow__handle_button_click | Simple thunk that jumps to UIWindow__handle_button_click (at 0x008bdc90). |
| 0x00972120 | 156 | UIWindow__on_drop_item_handle_sell | Handles item drop onto sell window. If window 0x271B exists, delegates to standard drop handler. Otherwise checks drop type: type 3 with specific sub-types (4,5,8-15) sends msg 0x26, others open NPC shop dialog (msg 0xD, param 1). Non-type-3 sends msg 0x12. |
| 0x009721F0 | 173 | UIWindow__on_drop_item_handle_store | Handles item drop onto storage window. If window 0x271B exists, delegates to standard handler. Type 3: if equipped (param_4[4]==1) or DAT_014576e4 set, sends msg 0x26; otherwise opens storage dialog (msg 0xD, param 0x10). Non-type-3 sends msg 0x12. |
| 0x009722A0 | 173 | UIWindow__on_drop_item_handle_cart | Handles item drop onto cart window. If window 0x271B exists, delegates to standard handler. Type 3: if equipped or DAT_014576e4 set, sends msg 0x26; otherwise opens cart dialog (msg 0xD, param 2). Non-type-3 sends msg 0x12. |
| 0x00972350 | 189 | UIWindow__on_drop_item_handle_guild_storage | Handles item drop onto guild storage window. Accepts type 4/5 items. If member offset 0xF8 is set and item is not equipped, opens guild storage dialog (msg 0xD, param 0xF). Equipped items send msg 0x26. |
| 0x00972410 | 259 | UIWindow__on_drop_item_handle_equip_swap | Handles item drop for equipment swap window. Type 4 (equip): if member 0xF8 is 0, equipped items send msg 0x26, unequipped open dialog (msg 0xD, param 3). Type 5 (storage): if member 0xF8 set, equipped/DAT_014576e4 sends msg 0x26, else dialog (msg 0xD, param 4). |
| 0x00972520 | 78 | UIWindow__on_drop_item_reject_all | Drop handler that rejects all items. If window 0x271B exists, delegates to standard handler. Otherwise always sends msg 0x12 (reject drop). |
| 0x00972570 | 188 | UIWindow__on_drop_item_handle_trade | Handles item drop onto trade window. Accepts type 1/9 items. Checks trade status via CGame__check_and_show_disconnect_dialog. Equipped items (param_4[4]==1) send msg 0x26, unequipped open trade dialog (msg 0xD, param 7). Non-type-1/9 sends msg 0x12 (reject). |
| 0x00972630 | 446 | UIWindow__on_drop_item_handle_vending | Handles item drop onto vending setup window. Checks vending state: if DAT_01738270==1 shows 'cannot add' message, if DAT_0173826c==0 && state==0 shows error. Accepts type 1/9, checks trade state, equipped items msg 0x26, unequipped open dialog (msg 0xD, param 7). |
| 0x009727F0 | 114 | UIWindow__on_drop_item_handle_equipment | Handles item drop onto equipment window. Complex multi-type handler: type 1 checks equipment slot match and sends equip packet (0x907). Types 2,6,9,0xF,0x11,0x12,0x18 send msg 0x26. Type 0xE forwards to DAT_014579f8 (card insert). Type 0x1C resets card list, 0x21 resets refine window. |
| 0x009729C0 | 256 | UIWindow__on_drop_item_handle_skill_target | Handles item drop for skill target window. Type 0xC with sub-types 4,5,8-15 checks if item is identified (FUN_00ddf0f0) and shows error if not. Type 0x16 checks equipped state. Other sub-types open skill target dialog (msg 0xD, param 0xC). |
| 0x00972B50 | 164 | UIWindow__on_drop_item_handle_mail | Handles item drop onto mail compose window. Accepts type 0xD items only. Equipped items send msg 0x26, unequipped open mail attach dialog (msg 0xD, param 0xB). |
| 0x00972C00 | 216 | UIWindow__on_drop_item_handle_auction | Handles item drop onto auction window. If window 0x271B exists or DAT_01457870/DAT_01457878 are set, delegates to standard handler. Accepts type 1/6, checks trade state. Equipped items msg 0x26, unequipped open dialog (msg 0xD, param 8). |
| 0x00972CE0 | 204 | UIWindow__on_drop_item_handle_pet_or_ammo | Handles item drop for pet/ammo equip window. Accepts types 10,0x13,0x15. Equipped items or type 0x13 send msg 0x26. Unequipped: if member 0xF4==2, opens dialog (msg 0xD, param 0x12), else dialog (msg 0xD, param 10). |
| 0x00972DB0 | 171 | UIWindow__on_drop_item_handle_skill_use | Handles item drop for skill use window. Accepts type 0xB items (equipped items msg 0x26, unequipped open dialog msg 0xD param 9). Type 0x14 items always send msg 0x26. |
| 0x009A51D0 | 62 | UIWindow__validate_position_generic_009a51d0 | Window position validator. Checks width/height > 0 and position fits within screen bounds. |
| 0x009A5210 | 66 | UIWindow__validate_position_min_280x120_009a5210 | Window position validator requiring minimum size 280x120 (0x118 x 0x78) and within screen bounds. |
| 0x009A5260 | 68 | UIWindow__validate_position_fixed_280x120_009a5260 | Window position validator requiring exact size 280x120 (0x118 x 0x78) and within screen bounds. |
| 0x009A52B0 | 73 | UIWindow__validate_position_fixed_400x317_009a52b0 | Window position validator requiring exact size 400x317 (0x190 x 0x13D) and within screen bounds. |
| 0x009A5300 | 77 | UIWindow__validate_position_280_variableH_009a5300 | Window position validator requiring width=280 (0x118) and height between 120-450 (0x78-0x1C2), within screen bounds. |
| 0x009A53A0 | 62 | UIWindow__validate_position_generic_009a53a0 | Window position validator. Checks width/height > 0 and position fits within screen bounds. |
| 0x009A53E0 | 127 | UIWindow__validate_position_280_multiH_009a53e0 | Window position validator for 280-wide window with multiple valid heights (0xA7, 0x11, 0xBB, or 0xBB+0x9E if chat mode). Also validates min height param at offset 0x10. |
| 0x009A54B0 | 68 | UIWindow__validate_position_fixed_280x120_009a54b0 | Window position validator requiring exact size 280x120 (0x118 x 0x78) and within screen bounds. |
| 0x009A5500 | 62 | UIWindow__validate_position_generic_009a5500 | Window position validator. Checks width/height > 0 and position fits within screen bounds. |
| 0x009A5540 | 79 | UIWindow__validate_position_with_style_009a5540 | Window position validator with style check. Width/height must match config values at DAT_01345b4c/DAT_01345b50, position within bounds, and style param (offset 0x10) < 7. |
| 0x009A5590 | 62 | UIWindow__validate_position_generic_009a5590 | Window position validator. Checks width/height > 0 and position fits within screen bounds. |
| 0x009A55D0 | 77 | UIWindow__validate_position_280_variableH_009a55d0 | Window position validator requiring width=280, height in range 120-450, within screen bounds. |
| 0x009A56C0 | 73 | UIWindow__validate_position_fixed_200x200_009a56c0 | Window position validator requiring exact size 200x200, within screen bounds. |
| 0x009A5710 | 68 | UIWindow__validate_position_fixed_280x34_009a5710 | Window position validator requiring exact size 280x34 (0x118 x 0x22), within screen bounds. |
| 0x009A5760 | 66 | UIWindow__validate_position_min_280x120_009a5760 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A57B0 | 66 | UIWindow__validate_position_min_280x120_009a57b0 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A5800 | 66 | UIWindow__validate_position_min_280x120_009a5800 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A5850 | 66 | UIWindow__validate_position_min_280x120_009a5850 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A58F0 | 75 | UIWindow__validate_position_with_extra_fields_009a58f0 | Window position validator. Checks position within screen bounds plus extra field constraints: field[5] < 4, field[6] < 4, field[7] < 4, field[8] < 5. |
| 0x009A5940 | 62 | UIWindow__validate_position_generic_009a5940 | Window position validator. Checks width/height > 0 and position fits within screen bounds. |
| 0x009A5980 | 64 | UIWindow__validate_position_generic_009a5980 | Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. Uses struct offset-based field access (offset +8/+0xC/+0x10/+0x14). |
| 0x009A59C0 | 62 | UIWindow__validate_position_generic_009a59c0 | Window position validator. Checks width/height > 0 and position fits within screen bounds. |
| 0x009A5A00 | 66 | UIWindow__validate_position_min_280x120_009a5a00 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A5A50 | 66 | UIWindow__validate_position_min_280x120_009a5a50 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A5AA0 | 93 | UIWindow__validate_position_min_280or350x120_009a5aa0 | Window position validator with conditional min width. If param2==0, min width 280 (0x118); else min width 350 (0x15E). Min height always 120 (0x78). Within screen bounds. |
| 0x009A5B00 | 66 | UIWindow__validate_position_min_280x120_009a5b00 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A5B50 | 66 | UIWindow__validate_position_min_280x120_009a5b50 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A5BA0 | 73 | UIWindow__validate_position_fixed_280x220_009a5ba0 | Window position validator requiring exact size 280x220 (0x118 x 0xDC), within screen bounds. |
| 0x009A5BF0 | 87 | UIWindow__validate_position_min_243x166_with_flags_009a5bf0 | Window position validator requiring min size 243x166 (0xF3 x 0xA6), field[6] < 3, field[5] must be 0 or 1. Within screen bounds. |
| 0x009A5C50 | 62 | UIWindow__validate_position_generic_009a5c50 | Window position validator. Checks position fits within screen bounds. |
| 0x009A5D10 | 69 | UIWindow__validate_position_min_152x199_009a5d10 | Window position validator requiring minimum size 152x199 (0x98 x 0xC7), within screen bounds. |
| 0x009A5DB0 | 69 | UIWindow__validate_position_min_360x350_009a5db0 | Window position validator requiring minimum size 360x350 (0x168 x 0x15E), within screen bounds. |
| 0x009A5E00 | 69 | UIWindow__validate_position_min_152x199_009a5e00 | Window position validator requiring minimum size 152x199 (0x98 x 0xC7), within screen bounds. |
| 0x009A5E50 | 73 | UIWindow__validate_position_fixed_280x180_009a5e50 | Window position validator requiring exact size 280x180 (0x118 x 0xB4), within screen bounds. |
| 0x009A5EA0 | 62 | UIWindow__validate_position_generic_009a5ea0 | Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. |
| 0x009A5F30 | 62 | UIWindow__validate_position_generic_009a5f30 | Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. |
| 0x009A5F70 | 62 | UIWindow__validate_position_generic_009a5f70 | Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. |
| 0x009A5FB0 | 73 | UIWindow__validate_position_fixed_280x180_009a5fb0 | Window position validator requiring exact size 280x180 (0x118 x 0xB4), within screen bounds. |
| 0x009A6000 | 111 | UIWindow__validate_position_290_stepped_009a6000 | Window position validator for 290-wide (0x122) window. Height must be between 43-175 (0x2B-0xAF), stepped by 33 pixels ((h-10)%33==0). Height 0xAF only valid if DAT_0173a765 flag set. |
| 0x009A6110 | 66 | UIWindow__validate_position_min_280x120_009a6110 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A6160 | 62 | UIWindow__validate_position_fixed_width_280_009a6160 | Window position validator requiring exact width 280 (0x118). Does not check height minimum. Within screen bounds. |
| 0x009A61A0 | 62 | UIWindow__validate_position_generic_009a61a0 | Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. |
| 0x009A6220 | 62 | UIWindow__validate_position_generic_009a6220 | Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. |
| 0x009A6260 | 62 | UIWindow__validate_position_generic_009a6260 | Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. |
| 0x009A62A0 | 66 | UIWindow__validate_position_min_280x120_009a62a0 | Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. |
| 0x009A62F0 | 48 | UIWindow__validate_position_positive_size_009a62f0 | Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. Returns 1 if valid, 0 otherwise. |
| 0x009A6320 | 52 | UIWindow__validate_position_fixed_280x260_009a6320 | Window position validator for fixed size 280x260 (0x118 x 0x104). Checks x >= 0, y >= 0, and fits within screen bounds. |
| 0x009A6390 | 37 | UIWindow__set_default_position_right_center | Sets default window position: x = screenWidth - 350, y = (screenHeight - 150) / 2. Right-aligned, vertically centered. |
| 0x009A63C0 | 108 | UIWindow__init_costume_preview_rect | Initializes costume preview window rect. x=0, y=0, w=220, h varies by job class: 4th class gets 149 (or 71 without flag), others get 55 (or 134 with flag). Calls CItem__remap_job_class_for_costume and is_valid_4th_class_id. |
| 0x009A6430 | 28 | UIWindow__set_default_rect_200_150_298x380 | Sets default window rect: x=200, y=150, w=298 (0x12A), h=380 (0x17C). |
| 0x009A6450 | 28 | UIWindow__set_default_position_009a6450 | Sets default window rect: x=500, y=180 (0xB4), w=280 (0x118), h=120 (0x78). |
| 0x009A6470 | 28 | UIWindow__set_default_position_009a6470 | Sets default window rect: x=200, y=300, w=280 (0x118), h=120 (0x78). |
| 0x009A6490 | 28 | UIWindow__set_default_position_009a6490 | Sets default window rect: x=0, y=34 (0x22), w=400, h=317 (0x13D). |
| 0x009A64B0 | 28 | UIWindow__set_default_position_009a64b0 | Sets default window rect: x=280 (0x118), y=278 (0x116), w=280 (0x118), h=120 (0x78). |
| 0x009A64F0 | 28 | UIWindow__set_default_position_009a64f0 | Sets default window rect: x=200, y=150 (0x96), w=375 (0x177), h=280 (0x118). |
| 0x009A6510 | 42 | UIWindow__set_default_position_185x300_009a6510 | Sets default window position: x=185, y=300, w=280, h=167, minH=167, flags=0. |
| 0x009A6560 | 28 | UIWindow__set_default_position_009a6560 | Sets default window rect: x=200, y=120 (0x78), w=280 (0x118), h=120 (0x78). |
| 0x009A6580 | 28 | UIWindow__set_default_position_009a6580 | Sets default window rect: x=230 (0xE6), y=0, w=200, h=150 (0x96). |
| 0x009A65A0 | 37 | UIWindow__set_default_position_009a65a0 | Sets default window rect: x=0, y=34 (0x22), w and h from global variables DAT_01345b4c and DAT_01345b50, field[4]=0. |
| 0x009A65D0 | 28 | UIWindow__set_default_position_009a65d0 | Sets default window rect: x=150 (0x96), y=100, w=280 (0x118), h=180 (0xB4). |
| 0x009A65F0 | 28 | UIWindow__set_default_position_009a65f0 | Sets default window rect: x=280 (0x118), y=126 (0x7E), w=280 (0x118), h=120 (0x78). |
| 0x009A6680 | 78 | UIWindow__set_default_position_centered_009a6680 | Sets centered default window position. X is centered on screen offset by 200, Y is proportional to screen height (200/480), size is 200x200. |
| 0x009A66D0 | 28 | UIWindow__set_default_position_009a66d0 | Sets default window position: x=280, y=246, w=280, h=34 |
| 0x009A66F0 | 28 | UIWindow__set_default_position_009a66f0 | Sets default window position: x=280, y=280, w=280, h=152 |
| 0x009A6710 | 28 | UIWindow__set_default_position_009a6710 | Sets default window position: x=280, y=280, w=280, h=152 |
| 0x009A6730 | 28 | UIWindow__set_default_position_009a6730 | Sets default window position: x=0, y=120, w=280, h=312 |
| 0x009A6750 | 35 | UIWindow__set_default_position_009a6750 | Sets default window position: x=360, y=200, w=280, h=458, plus extra field[4]=0 |
| 0x009A6780 | 115 | UIWindow__set_default_position_by_index_009a6780 | Sets default position from a lookup table based on param index. Size is fixed 140x145 (0x8C x 0x91). Uses 4 predefined position pairs from ROM data at 01147CD0-01147D0C. |
| 0x009A6800 | 70 | UIWindow__set_default_position_009a6800 | Sets default window position: x=0, y=120, w=280, h=120. Also sets additional config fields: field[4]=120, field[5]=0, field[6]=3, field[7]=3, field[8]=4, field[9]=0 |
| 0x009A6850 | 28 | UIWindow__set_default_position_009a6850 | Sets default window position: x=350, y=150, w=280, h=360 |
| 0x009A6870 | 68 | UIWindow__set_default_position_009a6870 | Sets default window position with screen-relative width. x=screenWidth-536, y=190, w=screenWidth-536, h=190. Also sets field[4]=516, field[5]=559, field[8]=1, field[6]=1, field[7]=1 |
| 0x009A68C0 | 28 | UIWindow__set_default_position_009a68c0 | Sets default window position: x=150, y=100, w=280, h=180 |
| 0x009A68E0 | 28 | UIWindow__set_default_position_009a68e0 | Sets default window position: x=200, y=120, w=280, h=120 |
| 0x009A6900 | 28 | UIWindow__set_default_position_009a6900 | Sets default window position: x=280, y=280, w=280, h=152 |
| 0x009A6920 | 47 | UIWindow__set_default_position_009a6920 | Sets default window position: x=0, y=120, h=312. Width is conditional: 350 if param_2 is nonzero, 280 if zero. |
| 0x009A6950 | 28 | UIWindow__set_default_position_009a6950 | Sets default window position: x=200, y=120, w=280, h=120 |
| 0x009A6970 | 28 | UIWindow__set_default_position_009a6970 | Sets default window position: x=0, y=120, w=280, h=120 |
| 0x009A6990 | 28 | UIWindow__set_default_position_009a6990 | Sets default window position: x=0, y=240, w=280, h=220 |
| 0x009A69B0 | 49 | UIWindow__set_default_position_009a69b0 | Sets default window position: x=300, y=200, w=273, h=326. Also sets field[4]=0, field[5]=1, field[6]=0 |
| 0x009A69F0 | 28 | UIWindow__set_default_position_009a69f0 | Sets default window position: x=0, y=30, w=640, h=508 (full-screen-like) |
| 0x009A6AA0 | 28 | UIWindow__set_default_position_009a6aa0 | Sets default window position: x=510, y=360, w=152, h=199 |
| 0x009A6AE0 | 28 | UIWindow__set_default_position_009a6ae0 | Sets default window position: x=510, y=360, w=360, h=350 |
| 0x009A6B00 | 28 | UIWindow__set_default_position_009a6b00 | Sets default window position: x=510, y=360, w=152, h=199 |
| 0x009A6B20 | 28 | UIWindow__set_default_position_009a6b20 | Sets default window position: x=280, y=246, w=280, h=180 |
| 0x009A6B40 | 28 | UIWindow__set_default_position_009a6b40 | Sets default window position: x=150, y=100, w=280, h=200 |
| 0x009A6BB0 | 35 | UIWindow__set_default_position_009a6bb0 | Sets default window position: x=screenWidth-124, y=0, w=77, h=34. Position is relative to right edge of screen. |
| 0x009A6BE0 | 28 | UIWindow__set_default_position_009a6be0 | Sets default window position: x=259, y=230, w=194, h=34 |
| 0x009A6C00 | 28 | UIWindow__set_default_position_009a6c00 | Sets default window position: x=200, y=100, w=280, h=180 |
| 0x009A6C20 | 35 | UIWindow__set_default_position_009a6c20 | Sets default window position: x=230, y=0, w=290, h=76. Also sets field[4]=1 (snap to top). |
| 0x009A6CA0 | 28 | UIWindow__set_default_position_009a6ca0 | Sets default window position: x=360, y=200, w=280, h=240 |
| 0x009A6CC0 | 49 | UIWindow__set_default_position_009a6cc0 | Sets default window position: x=185, y=300, w=280, h=141. Also sets field[4]=141, field[5]=0, field[6]=1 |
| 0x009A6D00 | 62 | UIWindow__set_default_position_009a6d00 | Sets default window position with conditional x based on param_2. If param_2==0: x=0, if param_2==1: x=300. y=screenHeight-119, w=300, h=95. |
| 0x009A6D60 | 28 | UIWindow__set_default_position_009a6d60 | Sets default window position: x=200, y=200, w=220, h=190 |
| 0x009A6D80 | 28 | UIWindow__set_default_position_009a6d80 | Sets default window position: x=200, y=200, w=220, h=197 |
| 0x009A6DA0 | 28 | UIWindow__set_default_position_009a6da0 | Sets default window position: x=0, y=347, w=280, h=120 |
| 0x009A6DC0 | 51 | UIWindow__set_default_position_009a6dc0 | Sets default window position: x=249, y=308, w=screenWidth-299, h=(screenHeight-308)/2. Screen-relative sizing. |
| 0x009A6E00 | 70 | UIWindow__set_default_position_009a6e00 | Sets default window position using float scaling. x=float(screenWidth-280)*scale, y=float(screenHeight-260)*scale. Position is scaled by a global float factor. |
| 0x009B7A10 | 9 | thunk_to_UIListBox__push_back_string_item | Thunk to UIListBox__push_back_string_item at 0x00875a70. Simple jmp wrapper. |
| 0x009D26D0 | 603 | UIListBox__rebuild_items_009d26d0 | Rebuilds list box items when dimensions change. Clears existing child items, calculates row count from height/item_height, allocates UIListBox items via UIListBox__ctor_009d9150, sets up each with position/size and two sub-components, stores in items vector. Resets selection to -1. Calls FUN_009f2b70/FUN_009f2e80 for scrollbar layout. |
| 0x009D2930 | 603 | UIListBox__rebuild_items_009d2930 | Identical to 009d26d0: rebuilds list box items based on height/item_height. |
| 0x009D2B90 | 603 | UIListBox__rebuild_items_009d2b90 | Identical to 009d26d0: rebuilds list box items based on height/item_height. |
| 0x009D2DF0 | 603 | UIListBox__rebuild_items_009d2df0 | Identical to 009d26d0: rebuilds list box items based on height/item_height. |
| 0x009D3FD0 | 109 | UIListBox__add_item_and_update_scroll_009d3fd0 | Adds item via FUN_00a82eb0, resizes scrollbar child, calculates total height from linked list items, updates scrollbar max/visible range/value. |
| 0x009D4040 | 109 | UIListBox__add_item_and_update_scroll_009d4040 | Identical to 009d3fd0: adds item, updates scrollbar. |
| 0x009D40B0 | 115 | UIListBox__add_item_rebuild_scroll_009d40b0 | Adds item via FUN_00a82eb0, rebuilds list items, resizes scrollbar, calculates max from item_count * item_height + offset, updates scrollbar, sets dirty flag at 0xe1. |
| 0x009D4130 | 115 | UIListBox__add_item_rebuild_scroll_009d4130 | Identical to 009d40b0: adds item, rebuilds, updates scrollbar. |
| 0x009D41B0 | 115 | UIListBox__add_item_rebuild_scroll_009d41b0 | Identical to 009d40b0: adds item, rebuilds, updates scrollbar. |
| 0x009D4230 | 115 | UIListBox__add_item_rebuild_scroll_009d4230 | Identical to 009d40b0: adds item, rebuilds, updates scrollbar. |
| 0x009D42B0 | 134 | UIListBox__scroll_update_visibility_009d42b0 | Updates item visibility based on scroll position. Iterates linked list, hides items outside visible area, shows+repositions visible ones. |
| 0x009D4340 | 134 | UIListBox__scroll_update_visibility_009d4340 | Identical to 009d42b0: updates item visibility based on scroll offset. |
| 0x009D43D0 | 498 | UIListBox__layout_items_from_scroll | Layouts visible list items based on scroll pixel offset. Computes start row from param_2/item_height, rotates item array to align with new start, iterates visible items: binds data from linked list at 0xd4 via callback at 0x134, sets selection highlight via vtable+0xd8, positions with vtable+0x10, shows with vtable+0x38. Hides items outside visible range. Sets dirty flag at 0xe1. |
| 0x009D45D0 | 498 | UIListBox__layout_items_from_scroll_009d45d0 | Variant of 009d43d0: layouts visible list items based on scroll pixel offset. Rotates item array, binds data, positions and shows visible items, hides others. |
| 0x009D47D0 | 498 | UIListBox__layout_items_from_scroll_009d47d0 | Variant of 009d43d0: layouts visible list items based on scroll pixel offset. Rotates item array, binds data, positions and shows visible items, hides others. |
| 0x009D49D0 | 498 | UIListBox__layout_items_from_scroll_009d49d0 | Variant of 009d43d0: layouts visible list items based on scroll pixel offset. Rotates item array, binds data, positions and shows visible items, hides others. |
| 0x009D4BD0 | 218 | UIListBox__on_item_click_with_rtti_009d4bd0 | Click handler with RTTI cast: deselects all children, selects clicked item, performs __RTDynamicCast to get item index at +0x94, updates selection index at parent+0xdc, invokes click callback at parent+0x10c with selected data. |
| 0x009D4CB0 | 218 | UIListBox__on_item_click_with_rtti_009d4cb0 | Identical to 009d4bd0: click handler with RTTI. |
| 0x009D4D90 | 218 | UIListBox__on_item_click_with_rtti_009d4d90 | Identical to 009d4bd0: click handler with RTTI. |
| 0x009D4E70 | 218 | UIListBox__on_item_click_with_rtti_009d4e70 | Identical to 009d4bd0: click handler with RTTI. |
| 0x009D54A0 | 22 | UICallback__init_vtable_009d54a0 | Initializes callback object: sets vtable to PTR_FUN_01149510 and copies parent pointer from this+4. |
| 0x009D54C0 | 22 | UICallback__init_vtable_009d54c0 | Initializes callback object: sets vtable to PTR_FUN_011494a0 and copies parent pointer from this+4. |
| 0x009D54E0 | 22 | UICallback__init_vtable_009d54e0 | Initializes callback: sets vtable PTR_FUN_0114944c, copies parent ptr from this+4. |
| 0x009D5500 | 22 | UICallback__init_vtable_009d5500 | Initializes callback: sets vtable PTR_FUN_011493dc, copies parent ptr from this+4. |
| 0x009D5520 | 22 | UICallback__init_vtable_009d5520 | Callback vtable initializer, 22-byte pattern: sets vtable + copies parent pointer. |
| 0x009D5540 | 22 | UICallback__init_vtable_009d5540 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5560 | 22 | UICallback__init_vtable_009d5560 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5580 | 22 | UICallback__init_vtable_009d5580 | Callback vtable initializer, 22-byte pattern. |
| 0x009D55A0 | 22 | UICallback__init_vtable_009d55a0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D55C0 | 22 | UICallback__init_vtable_009d55c0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D55E0 | 22 | UICallback__init_vtable_009d55e0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5600 | 22 | UICallback__init_vtable_009d5600 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5620 | 22 | UICallback__init_vtable_009d5620 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5640 | 22 | UICallback__init_vtable_009d5640 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5660 | 22 | UICallback__init_vtable_009d5660 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5680 | 22 | UICallback__init_vtable_009d5680 | Callback vtable initializer, 22-byte pattern. |
| 0x009D56A0 | 22 | UICallback__init_vtable_009d56a0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D56C0 | 22 | UICallback__init_vtable_009d56c0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D56E0 | 22 | UICallback__init_vtable_009d56e0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5700 | 22 | UICallback__init_vtable_009d5700 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5720 | 22 | UICallback__init_vtable_009d5720 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5740 | 22 | UICallback__init_vtable_009d5740 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5760 | 22 | UICallback__init_vtable_009d5760 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5780 | 22 | UICallback__init_vtable_009d5780 | Callback vtable initializer, 22-byte pattern. |
| 0x009D57A0 | 22 | UICallback__init_vtable_009d57a0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D57C0 | 22 | UICallback__init_vtable_009d57c0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D57E0 | 22 | UICallback__init_vtable_009d57e0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5800 | 22 | UICallback__init_vtable_009d5800 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5820 | 22 | UICallback__init_vtable_009d5820 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5840 | 22 | UICallback__init_vtable_009d5840 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5860 | 22 | UICallback__init_vtable_009d5860 | Callback vtable initializer, 22-byte pattern. |
| 0x009D5880 | 68 | UICallback__scalar_deleting_dtor_009d5880 | Callback scalar deleting destructor: frees 8-byte callback object if param_2 is non-zero. |
| 0x009D58D0 | 68 | UICallback__scalar_deleting_dtor_009d58d0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5920 | 68 | UICallback__scalar_deleting_dtor_009d5920 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5970 | 68 | UICallback__scalar_deleting_dtor_009d5970 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D59C0 | 68 | UICallback__scalar_deleting_dtor_009d59c0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5A10 | 68 | UICallback__scalar_deleting_dtor_009d5a10 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5A60 | 68 | UICallback__scalar_deleting_dtor_009d5a60 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5AB0 | 68 | UICallback__scalar_deleting_dtor_009d5ab0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5B00 | 68 | UICallback__scalar_deleting_dtor_009d5b00 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5B50 | 68 | UICallback__scalar_deleting_dtor_009d5b50 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5BA0 | 68 | UICallback__scalar_deleting_dtor_009d5ba0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5BF0 | 68 | UICallback__scalar_deleting_dtor_009d5bf0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5C40 | 68 | UICallback__scalar_deleting_dtor_009d5c40 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5C90 | 68 | UICallback__scalar_deleting_dtor_009d5c90 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5CE0 | 68 | UICallback__scalar_deleting_dtor_009d5ce0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5D30 | 68 | UICallback__scalar_deleting_dtor_009d5d30 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5D80 | 68 | UICallback__scalar_deleting_dtor_009d5d80 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5DD0 | 68 | UICallback__scalar_deleting_dtor_009d5dd0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5E20 | 68 | UICallback__scalar_deleting_dtor_009d5e20 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5E70 | 68 | UICallback__scalar_deleting_dtor_009d5e70 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5EC0 | 68 | UICallback__scalar_deleting_dtor_009d5ec0 | Callback scalar deleting destructor: frees 8-byte callback object if param_2 is non-zero. |
| 0x009D5F10 | 68 | UICallback__scalar_deleting_dtor_009d5f10 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5F60 | 68 | UICallback__scalar_deleting_dtor_009d5f60 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D5FB0 | 68 | UICallback__scalar_deleting_dtor_009d5fb0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D6000 | 68 | UICallback__scalar_deleting_dtor_009d6000 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D6050 | 68 | UICallback__scalar_deleting_dtor_009d6050 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D60A0 | 68 | UICallback__scalar_deleting_dtor_009d60a0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D60F0 | 68 | UICallback__scalar_deleting_dtor_009d60f0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D6140 | 68 | UICallback__scalar_deleting_dtor_009d6140 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D6190 | 68 | UICallback__scalar_deleting_dtor_009d6190 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D61E0 | 68 | UICallback__scalar_deleting_dtor_009d61e0 | Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. |
| 0x009D6410 | 140 | UIListBox__scroll_update_visibility_009d6410 | Updates list item visibility based on scroll position. Iterates linked list of items, hides items outside visible range, shows and repositions items within range. Scroll offset from param_2, parent reference at this+4. |
| 0x009D64A0 | 140 | UIListBox__scroll_update_visibility_009d64a0 | Identical to 009d6410: updates list item visibility based on scroll position. |
| 0x009D6610 | 216 | UIListBox__on_item_click_009d6610 | Handles item click in list box. If not disabled (flag at parent+0xc4), iterates children to deselect all except clicked item (vtable+0xd8). Then selects clicked item, updates selection index from RTTI-cast to get item index at +0x94, and if a click handler exists at parent+0x10c, invokes it with selected data from linked list. |
| 0x009D66F0 | 216 | UIListBox__on_item_click_009d66f0 | Identical to 009d6610: handles list box item click, deselects others, selects clicked, invokes handler. |
| 0x009D67D0 | 216 | UIListBox__on_item_click_009d67d0 | Identical to 009d6610: handles list box item click. |
| 0x009D68B0 | 216 | UIListBox__on_item_click_009d68b0 | Identical to 009d6610: handles list box item click. |
| 0x009D7090 | 22 | UICallback__init_vtable_009d7090 | Callback vtable initializer, 22-byte pattern. |
| 0x009D70B0 | 22 | UICallback__init_vtable_009d70b0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D70D0 | 22 | UICallback__init_vtable_009d70d0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D70F0 | 22 | UICallback__init_vtable_009d70f0 | Callback vtable initializer, 22-byte pattern. |
| 0x009D7110 | 22 | UICallback__init_vtable_009d7110 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7130 | 22 | UICallback__init_vtable_009d7130 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7150 | 22 | UICallback__init_vtable_009d7150 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7170 | 22 | UICallback__init_vtable_009d7170 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7190 | 22 | UICallback__init_vtable_009d7190 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D71B0 | 22 | UICallback__init_vtable_009d71b0 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D71D0 | 22 | UICallback__init_vtable_009d71d0 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D71F0 | 22 | UICallback__init_vtable_009d71f0 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7210 | 22 | UICallback__init_vtable_009d7210 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7230 | 22 | UICallback__init_vtable_009d7230 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7250 | 22 | UICallback__init_vtable_009d7250 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7270 | 22 | UICallback__init_vtable_009d7270 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7290 | 22 | UICallback__init_vtable_009d7290 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D72B0 | 22 | UICallback__init_vtable_009d72b0 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D72D0 | 22 | UICallback__init_vtable_009d72d0 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D72F0 | 22 | UICallback__init_vtable_009d72f0 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7310 | 22 | UICallback__init_vtable_009d7310 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7330 | 22 | UICallback__init_vtable_009d7330 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D7350 | 22 | UICallback__init_vtable_009d7350 | UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. |
| 0x009D9080 | 197 | UIEditBox__ctor_009d9080 | Constructor for a UIEditBox-like control. Calls base at 00a79a90, sets vtable to 0114b954. Initializes SSO string buffer (capacity 0xf), caret position (-1), and 4 zero state fields. |
| 0x009D9150 | 201 | UIListBox__ctor_009d9150 | Constructor for a UIListBox-like control. Calls larger base ctor at 009efc30, sets vtable to 0114b86c. Initializes scroll state, selection index (-1), item height (0x15), SSO string buffer (capacity 0xf). |
| 0x009D92D0 | 134 | UIDropDownList__ctor | Constructor for UIDropDownList. Calls base ctor at 009efc30, sets vtable to 0114b6a4. Initializes 5 zero state fields at offsets 0x3a-0x3e. |
| 0x009DA240 | 108 | UIEditBox__dtor_009da240 | Destructor for UIEditBox (vtable 0114b954). Destroys embedded string, reverts to UIBase vtable, calls base dtor. |
| 0x009DA2B0 | 95 | UIListBox__dtor_009da2b0 | Destructor for UIListBox (vtable 0114b86c). Destroys embedded string, then calls base destructor chain via 009da310. |
| 0x009DA8E0 | 132 | UIEditBox__scalar_deleting_dtor_009da8e0 | Scalar deleting destructor for UIEditBox (0xa8 bytes, vtable 0114b954). Destroys string, calls base dtor, optionally frees memory. |
| 0x009DA970 | 119 | UIListBox__scalar_deleting_dtor_009da970 | Scalar deleting destructor for UIListBox (0x120 bytes, vtable 0114b86c). Destroys string, calls UIControlBase dtor, optionally frees memory. |
| 0x009DAE00 | 271 | UIListBox__add_item_009dae00 | Adds an item to a UIListBox's doubly-linked list. Allocates 0x40-byte node via packet_node copy ctor. Checks max size (0x3ffffff). If param_3 is true, updates scroll/layout. Returns new item index (count-1). |
| 0x009DAF10 | 303 | UIListBox__add_item_with_string_009daf10 | Adds an item to a UIListBox's doubly-linked list. Allocates 0x2c-byte node with STL string + CPacketQueue copy. Checks max size (0x5d1745d). Updates scroll/layout if param_3 is true. Returns new item index. |
| 0x009DB040 | 271 | UIListBox__add_item_large_009db040 | Adds a large item to a UIListBox's doubly-linked list. Allocates 0x5c-byte node via packet_node copy ctor (2 strings variant). Updates scroll/layout if param_3 is true. Returns new item index. |
| 0x009DB150 | 303 | UIListBox__add_item_two_strings_009db150 | Adds an item with two strings to a UIListBox's doubly-linked list. Allocates 0x38-byte node copying two STL strings. Checks max size (0x4924924). Updates scroll/layout if param_3 is true. Returns new item index. |
| 0x009DB280 | 556 | UIListBox__create_button_control_009db280 | Creates a new button UIControl (0xf8 bytes, vtable 0114ba34) for a UIListBox. Initializes with base button ctor, sets state textures from parent, creates two event handlers, adds to child list, updates layout. |
| 0x009DB4B0 | 607 | UIListBox__create_button_with_string_009db4b0 | Creates a new button UIControl (0x118 bytes, vtable 0114bb1c) with embedded string for a UIListBox. Initializes with button ctor, state textures, two event handlers, adds to child list, updates layout. |
| 0x009DBE20 | 123 | UIListBox__clear_items_009dbe20 | Clears all items from a UIListBox with single-string nodes. Destroys linked list, resets head/tail pointers, sets count to 0, selection to -1, updates scroll/layout, marks dirty. |
| 0x009DBEA0 | 123 | UIListBox__clear_items_two_strings_009dbea0 | Clears all items from a UIListBox with two-string nodes. Destroys linked list, resets head/tail pointers, sets count to 0, selection to -1, updates scroll/layout, marks dirty. |
| 0x009DD8D0 | 54 | UITabControl__highlight_selected_009dd8d0 | Iterates child controls in the tab control's list at offset 0xc4. For each child, calls virtual method +0xdc with a bool indicating whether it matches param_2 (the selected tab). |
| 0x009DD910 | 54 | UITabControl__highlight_selected_009dd910 | Iterates child controls in the tab control's list at offset 0xc4. For each child, calls virtual method +0xdc with a bool indicating whether it matches param_2 (the selected tab). Same as 009dd8d0. |
| 0x009DD950 | 74 | UIListBox__update_scrollbar_009dd950 | Updates the scrollbar for a UIListBox. Computes max value from item count * item height + offset, sets visible range from height, restores scroll position from stored value. Marks control as dirty. |
| 0x009DD9A0 | 76 | UIListBox__update_scrollbar_from_children_009dd9a0 | Updates scrollbar by summing heights of all child controls in list at 0xc4. Each child's height is at offset +0x18. Sets scrollbar max, visible range, and restores position. |
| 0x009DD9F0 | 76 | UIListBox__update_scrollbar_from_children_009dd9f0 | Updates scrollbar by summing heights of all child controls in list at 0xc4. Same as 009dd9a0, different instance. |
| 0x009DE4C0 | 146 | UITabControl__select_tab | Selects a tab: deactivates all others, activates selected, notifies callback via RTTI dynamic cast |
| 0x009DE560 | 146 | UITabControl__select_tab_009de560 | Selects a tab in a tab control. If not locked (offset 0xd0), iterates all children at 0xc4 deselecting via +0xd8(0), then selects param_2 via +0xd8(1). RTDynamicCast validates, sets selected at 0xcc, notifies callback at 0xfc if set. |
| 0x009DE600 | 56 | UITabControl__select_first_tab_009de600 | Selects the first tab in a tab control. Returns 0 if no tabs (count at 0xc8 is 0). Gets first child's data at +8, calls UITabControl__select_tab. Returns 1 if selection changed, 0 otherwise. |
| 0x009DE640 | 56 | UITabControl__select_first_tab_alt_009de640 | Selects the first tab, same logic as 009de600 but calls FUN_009de560 variant. Returns 1 if changed, 0 otherwise. |
| 0x009E1E20 | 361 | UIButton__draw_text_label | Draws button text label with color based on state. Normal(0)=gray D7D7D7, Pressed(1)=white with shadow, Hover(2)=golden C7A796. Disabled state uses gray text 6F6F6F with lighter shadow E2E2E2. Uses font size 0xC. |
| 0x009E20B0 | 3109 | UIButton__load_all_state_textures | Loads all button state textures: out_left, press_left, over_left, disable_left (keys 0-3 and disabled at 0x1A0), out_mid, press_mid, over_mid, disable_mid (keys 0-2 and 0x1AC). Uses basic_interface_btn_*.bmp filenames. |
| 0x009E2D10 | 119 | UIButton__set_text_and_resize | Sets button text and auto-resizes. If text is empty, reverts to default size. If text set, measures text width (font 0xC) and expands width if text+8 exceeds current. Updates visibility and text position. |
| 0x009E31B0 | 128 | UIButton__render_background_sprite | Renders button background sprite based on state. If a custom override sprite is active, renders it. Otherwise looks up state sprite from map (checked=1 override) and draws at (0,0). |
| 0x009E3230 | 88 | UIButton__toggle_checked_state | Toggles checkbox checked state if not disabled. Plays click sound, toggles bool at offset 0x48, calls virtual update method, and notifies callback if registered. |
| 0x009E3290 | 31 | UIButton__check_and_close_dialog | Checks if this button is the active dialog close button. Gets field 0x19C from UI manager; if it matches param_1, triggers dialog close. |
| 0x009ED4B0 | 71 | UIEditBox__dtor_009ed4b0 | UIEditBox destructor. Sets vtable, then delegates to UIComplexDialog destructor for cleanup. |
| 0x009ED500 | 99 | UIEditBox__scalar_deleting_dtor | UIEditBox scalar deleting destructor. Sets vtable, calls UIComplexDialog destructor, optionally frees 0x188-byte object. |
| 0x009ED570 | 35 | UIEditBox__render_cursor_if_focused | Renders cursor blink in edit box only if this control has keyboard focus (checks against UI manager's focused field 0x1A0). |
| 0x009ED5C0 | 180 | UIEditBox__create_text_widget | Creates the internal text widget for a UIEditBox. Allocates 0x188-byte object, constructs it, sets vtable, configures as single-line with cursor enabled. Sets size and adds as child control. |
| 0x009ED6F0 | 88 | UIEditBox__on_resize | Handles UIEditBox resize. Repositions the parent, then resizes and repositions the internal text widget using computed inner dimensions. |
| 0x009ED840 | 52 | UIEditBox__set_max_length | Sets max text length on the internal text widget (offset 0x88 of child at 0x9C). Then invalidates by getting display text and calling virtual update. |
| 0x009ED8C0 | 23 | UIEditBox__set_password_mode | Sets password mode on the internal text widget. Stores char value at widget's offset 0x84 (0 = normal, non-zero = mask character). |
| 0x009ED8E0 | 34 | UIEditBox__invalidate_text_widget | Invalidates the internal text widget of a UIEditBox by calling its virtual method at vtable+0xD4. |
| 0x009EDBE0 | 923 | UIScrollbar__create_child_controls | Creates 3 child controls for UIScrollbar: up button (offset 0x80), down button (offset 0x84), and thumb/track image (offset 0x88). Each is allocated as 0x120-byte UIImageControl, initialized with callbacks, and added as child. |
| 0x009EE1B0 | 45 | UIScrollbar__on_click_track | Handles click on scrollbar track. If click position is above thumb, scrolls backward. If below thumb+height, scrolls forward. |
| 0x009EE230 | 62 | UIScrollbar__on_value_changed_009ee230 | Handles scrollbar value change. Checks if this is the active scrollbar (via get_field_0x19c), then if value differs from field 0x90, computes delta and calls callback at field 0x11c vtable offset 8. |
| 0x009EE270 | 27 | UIScrollbar__scroll_by_direction | Scrolls the scrollbar by direction. If param > 0, scrolls forward; otherwise scrolls backward. Delegates to UIScrollbar__scroll_forward/backward. |
| 0x009EE290 | 234 | UIScrollbar__update_thumb_position_009ee290 | Updates scrollbar thumb (slider) position. Two modes based on field 0x20 flag: proportional mode calculates thumb size from ratio, standard mode computes position from value/range ratio. Calls vtable methods to set size and position. |
| 0x009EE380 | 69 | UIScrollbar__on_resize_009ee380 | Handles scrollbar resize. Repositions track element via vtable offset 0x10, recalculates available track area (total height minus top/bottom button heights) and stores in field 0xa4. |
| 0x009EE3D0 | 310 | UIScrollbar__set_button_textures_009ee3d0 | Sets textures for scrollbar up/down buttons. Loads string resources for each button (fields 0x20/0x21), validates them, calls FUN_009efb00 to update display, and triggers layout recalc via vtable 0x98. |
| 0x009EE510 | 171 | UIScrollbar__set_thumb_texture_009ee510 | Sets the scrollbar thumb/slider texture. Computes available track area, calculates thumb size proportionally, sets thumb size/position/visibility via vtable, then calls set_data and triggers layout. |
| 0x009EE5C0 | 215 | UIScrollbar__set_thumb_and_update_009ee5c0 | Sets scrollbar thumb texture from string resource. Computes track area, loads texture string, validates it, updates thumb element (field 0x22) size/position/visibility, then triggers layout. |
| 0x009EF860 | 152 | UIButton__draw_background_009ef860 | Draws button background. Sets magenta clear color, then resolves texture from map (field 0x80) based on button state. If field 0x84 (use direct texture) is set, uses field 0xf8 directly. Renders texture via FUN_00a7bb60 or FUN_00a7be30 depending on field 0xfc flag. |
| 0x009EF900 | 503 | UIButton__load_state_textures_009ef900 | Loads textures for all button states (normal=0, hover=1, pressed=2) from a map using param_2 as key. Also loads a 4th texture from field 0x108. Each texture reference is stored via FUN_009e1aa0, with old references released via FUN_00af0be0. |
| 0x009EFB00 | 216 | UIButton__set_text_labels_009efb00 | Sets text labels for button states. Params 2-4 are strings for states 0, 1, 2 (normal/hover/pressed). Param 5 is a string for the control itself (field 0x42). Each string is assigned via STL_lib_func_004fa8f0, then triggers visual update via vtable 0xd4 and layout via vtable 0x98. |
| 0x009EFC30 | 728 | UIButton__ctor_009efc30 | UIButton constructor. Calls base UIControl ctor (FUN_00a79a90), sets vtable to PTR_FUN_0114af94, initializes state fields (0x20-0x25), creates internal map with 3 entries (keys 0,1,2) for button state textures, sets field 0x79 flag. Allocates 0x18 byte tree nodes for each map entry. |
| 0x009F00E0 | 41 | UIButton__set_state_009f00e0 | Sets button state field 0x22. If changed and field 0x24 (locked) is false, triggers layout via vtable 0x98. |
| 0x009F0110 | 148 | UIButton__draw_background_map_009f0110 | Draws button background from state texture map. Sets magenta clear, checks direct mode (0x90), resolves texture from map via STL_map_insert_or_find. Falls back to colored rectangles (white/gray) if texture is 0. Otherwise renders via FUN_00a7bb60. |
| 0x009F01B0 | 56 | UIButton__on_click_009f01b0 | Button click handler. If not locked (field 0x90 == 0), calls focus handler FUN_00aa9b30, then invokes click callback at field 0xe4 if present (vtable offset 8). |
| 0x009F01F0 | 31 | UIButton__on_release_check_focus_009f01f0 | Checks if this button is the active/focused control and calls FUN_00aa66c0 (release focus) if so. |
| 0x009F0210 | 32 | UIButton__invoke_callback_009f0210 | Invokes the button callback at field 0xbc if not null. Passes this pointer via vtable offset 8. |
| 0x009F0250 | 51 | UIScrollbar__set_orientation_doubled | Sets scrollbar orientation at offset 0x22 to param*2 (doubling for internal encoding). Skips if already in fixed mode (1). Refreshes if not locked (offset 0x24). |
| 0x009F0290 | 42 | UIScrollbar__set_orientation | Sets scrollbar orientation at offset 0x22. Skips if already set to same value. Refreshes if not locked. |
| 0x009F02C0 | 24 | UIButton__set_locked_009f02c0 | Sets button locked/disabled state (field 0x24) and triggers layout refresh via vtable 0x98. |
| 0x009F02E0 | 644 | UIButton__set_state_textures_direct_009f02e0 | Sets button textures directly for all 3 states. Clears existing map entries, inserts new entries for keys 0/1/2 (normal/hover/pressed) with texture values from params. Sets field 0x23 to param_5 and triggers layout. |
| 0x009F0EA0 | 44 | UIListBox__find_item_by_id_009f0ea0 | Searches linked list at field 0x50 for an item whose field 0x2c matches param_2 (item ID). Returns item pointer or 0 if not found. |
| 0x009F0ED0 | 47 | UIListBox__find_item_by_data_009f0ed0 | Searches linked list at field 0x50 for an item whose field 0x1c0 matches param_2 (user data). Returns item pointer or 0 if not found. |
| 0x009F0F10 | 209 | UIListBox__select_item_009f0f10 | Selects a list box item. If param_2 is 0, deselects all items. Otherwise checks disabled flag (field 0x84), invokes selection filter callback at field 0xd4 if present, sets selection in field 0x80, updates all items' selected state via UIListItem__set_selected_state, and notifies via callback at field 0xac. |
| 0x009F0FF0 | 244 | UIListBox__select_item_by_data_009f0ff0 | Selects a list box item by searching for one with matching field 0x1c0 data value. If found, performs same selection logic as select_item (deselect others, notify callback). If not found, selects null. |
| 0x009F10F0 | 277 | UIListBox__select_item_by_index_009f10f0 | Selects a list box item by index. Returns 0 if index >= item count (field 0x54). Traverses linked list to find nth item, then performs standard selection logic. Returns 1 on success. |
| 0x009F1600 | 40 | UIListBox__on_item_click_009f1600 | Handles click on a list box item. If not disabled (field 0x84 == 0), calls focus handler and then select_item if field 0x10 (parent) is set. |
| 0x009F1630 | 31 | UIListBox__on_item_release_009f1630 | Handles item release in list box. Checks if this is active control and releases focus via FUN_00aa66c0. |
| 0x009F1980 | 95 | UIListBox__resize_content_area_009f1980 | Resizes the list box content/scrollable area. Gets child container from field 0x10, adjusts height to match control or saved value (field 0xd8). Sets size via vtable, calls FUN_00aab0d0 and FUN_00a976c0 to update, then propagates offset delta to children via SpriteLayer__propagate_offset_to_children. |
| 0x009F1D40 | 19 | UIScrollbar__scroll_backward_009f1d40 | Scrolls backward (decrements). Calls FUN_009f2530 with current value (0x9c) minus step size (0x98). |
| 0x009F1D60 | 19 | UIScrollbar__scroll_forward_009f1d60 | Scrolls forward (increments). Calls FUN_009f2530 with current value (0x9c) plus step size (0x98). |
| 0x009F1D80 | 89 | UIScrollbar__pixel_to_value_009f1d80 | Converts pixel position to scrollbar value. Returns ceil(max_value * pixel_pos / track_area). Returns 0 if track area (field 0xa4) is 0. |
| 0x009F1DE0 | 913 | UIScrollbar__create_child_controls_009f1de0 | Creates scrollbar child controls if not already created. Creates 3 child controls at fields 0x80 (up button), 0x84 (down button), 0x88 (thumb/slider). Each is allocated (0x120 bytes), constructed via FUN_009bdf40 or FUN_00a79a90, given a callback, and parented. Thumb uses PTR_FUN_0114c95c vtable with extensive string fields init. |
| 0x009F23B0 | 71 | UIScrollbar__on_track_click_009f23b0 | Handles click on scrollbar track area. If clicked above thumb position, scrolls backward by step size. If clicked below thumb (position + height), scrolls forward by step size. |
| 0x009F2400 | 31 | UIScrollbar__on_thumb_drag_start_009f2400 | Handles thumb drag start. Grabs focus and stores initial Y position (param_3) in field 0x90. |
| 0x009F2420 | 44 | UIScrollbar__on_thumb_drag_end_009f2420 | Handles thumb drag end. Releases focus if this is active control, stores final Y position in field 0x90. |
| 0x009F2450 | 93 | UIScrollbar__draw_tooltip_009f2450 | Draws scrollbar tooltip text. If field 0xa8 (has tooltip) is nonzero, renders text from field 0x98 string at offset (0, -20) via FUN_00ad6510. |
| 0x009F24B0 | 62 | UIScrollbar__on_thumb_drag_move_009f24b0 | Handles thumb drag movement. If this is active scrollbar and Y changed from stored position (field 0x90), computes delta and invokes scroll callback at field 0x11c. |
| 0x009F2500 | 39 | UIScrollbar__on_wheel_scroll_009f2500 | Handles mouse wheel scroll. If param_2 < 1 (scroll down), adds step size to current value. Otherwise subtracts step size. Calls FUN_009f2530 to apply. |
| 0x009F2530 | 135 | UIScrollbar__set_value_009f2530 | Sets scrollbar value, clamped to [0, max_value (field 0x28)]. If not locked (field 0x2a==0), stores in field 0x27. Calls vtable 0x38 with enabled state, vtable 0xd8 to update thumb position, notifies value change callback at field 0x3b, triggers layout. |
| 0x009F25C0 | 234 | UIScrollbar__update_horizontal_thumb_009f25c0 | Updates horizontal scrollbar thumb position. Similar to vertical version but uses width fields and positions along X axis. Two modes: proportional calculates thumb width from ratio, standard computes position from value. |
| 0x009F26B0 | 335 | UIScrollbar__load_track_textures_009f26b0 | Loads scrollbar track textures. Loads middle texture from field 0xc8 into field 0x88. If 3-part mode (field 0x80), also loads top texture from field 0xb0 into field 0x84, bottom texture from field 0xe0 into field 0x8c. |
| 0x009F2800 | 145 | UIScrollbar__load_thumb_texture_009f2800 | Loads scrollbar thumb/grip texture from field 0xac into field 0x8c. Releases old texture reference. |
| 0x009F28A0 | 69 | UIScrollbar__on_resize_update_layout | Handles scrollbar resize. Moves parent, repositions down button to bottom, calculates available track area as total height minus both button heights. |
| 0x009F28F0 | 310 | UIScrollbar__set_button_labels | Sets text labels on scrollbar up/down buttons. Loads textures from provided string params, resizes buttons, sets text labels, and triggers visibility refresh. |
| 0x009F2A30 | 17 | UIScrollbar__disable_and_hide_009f2a30 | Disables scrollbar by setting flag 0xa9=1 and calling vtable 0x38 with 0 (hide/disable). |
| 0x009F2A50 | 52 | UIScrollbar__set_smooth_scroll_009f2a50 | Sets smooth scrolling flag (field 0xaa) on scrollbar and propagates to all 3 child controls: up button (0x80+0xfc), down button (0x84+0xfc), thumb (0x88+0x94). |
| 0x009F2A90 | 133 | UIScrollbar__set_3part_track_textures_009f2a90 | Enables 3-part track mode (field 0x20=1) and sets 3 texture names for track: top (field 0x2c), middle (field 0x32), bottom (field 0x38). Triggers visual update and layout. |
| 0x009F2B20 | 71 | UIScrollbar__set_single_track_texture_009f2b20 | Sets single track texture mode (field 0x20=0) with texture name in field 0x32. Triggers visual update and layout. |
| 0x009F2B70 | 68 | UIScrollbar__set_max_value_009f2b70 | Sets scrollbar maximum value (field 0x24, min 1). Clamps visible range (field 0x25) to not exceed max. Computes scrollable range (field 0x28 = max - visible). Triggers layout. |
| 0x009F2BC0 | 24 | UIScrollbar__set_max_clamped_009f2bc0 | Sets scrollbar maximum value, but forces to 0 if disabled flag (field 0xa9) is set. Stores in field 0x28. |
| 0x009F2BE0 | 279 | UIScrollbar__setup_horizontal_thumb_009f2be0 | Sets up horizontal scrollbar thumb. Computes track area (width minus button widths), calculates thumb size from visible/total ratio, positions and sizes thumb control. Sets 3-part texture mode on thumb with params 2-4 as textures. Triggers layout. |
| 0x009F2D00 | 267 | UIScrollbar__setup_horizontal_thumb_single_009f2d00 | Sets up horizontal scrollbar thumb with single texture. Computes track area, validates texture string, sizes/positions thumb control, sets single texture mode with param_2. Triggers layout. |
| 0x009F2E10 | 44 | UIScrollbar__set_thumb_tooltip_text_009f2e10 | Sets tooltip text on the scrollbar thumb control. Assigns string to thumb's field 0x98 from field 0x88. |
| 0x009F2E40 | 64 | UIScrollbar__set_background_texture_009f2e40 | Sets scrollbar background texture name (field 0x2b). Triggers visual update and layout. |
| 0x009F2E80 | 50 | UIScrollbar__set_visible_range_009f2e80 | Sets scrollbar visible range (field 0x25), clamped to not exceed max value (field 0x24). Recomputes scrollable range (field 0x28 = max - visible). Triggers layout. |
| 0x009F2EC0 | 45 | UIScrollbar__snap_to_step_009f2ec0 | Snaps scrollbar value to nearest step boundary. If adjusted value (param_2 - remainder + current) differs from current value, calls set_value. |
| 0x009F2EF0 | 22 | UIScrollbar__create_callback_up_009f2ef0 | Creates callback for scrollbar up button with vtable PTR_FUN_0114cb68. |
| 0x009F2F10 | 22 | UIScrollbar__create_callback_down_009f2f10 | Creates callback for scrollbar down button with vtable PTR_FUN_0114cb84. |
| 0x009F2F30 | 22 | UIScrollbar__create_callback_thumb_009f2f30 | Creates callback for scrollbar thumb with vtable PTR_FUN_0114cba0. |
| 0x009F2F50 | 68 | UIScrollbar__scalar_deleting_dtor_up_009f2f50 | Scalar deleting destructor for scrollbar up-button callback. Frees 8 bytes if flag set. |
| 0x009F2FA0 | 68 | UIScrollbar__scalar_deleting_dtor_down_009f2fa0 | Scalar deleting destructor for scrollbar down-button callback. Frees 8 bytes if flag set. |
| 0x009F2FF0 | 68 | UIScrollbar__scalar_deleting_dtor_thumb_009f2ff0 | Scalar deleting destructor for scrollbar thumb callback. Frees 8 bytes if flag set. |
| 0x009F3080 | 23 | UIScrollbar__forward_set_color_009f3080 | Forwards set_color to the scrollbar's parent control at field+4 via vtable 0xdc. |
| 0x009F30D0 | 22 | UIScrollbar__create_callback_up2_009f30d0 | Creates callback with vtable PTR_FUN_0114cb68 for scrollbar up button. Variant 2. |
| 0x009F30F0 | 22 | UIScrollbar__create_callback_down2_009f30f0 | Creates callback with vtable PTR_FUN_0114cb84 for scrollbar down button. Variant 2. |
| 0x009F3110 | 22 | UIScrollbar__create_callback_thumb2_009f3110 | Creates callback with vtable PTR_FUN_0114cba0 for scrollbar thumb. Variant 2. |
| 0x009F3160 | 66 | UIWindow__reset_to_default_size_009f3160 | Resets UI window to default size (690x470) at position (0,0). Clears fields 0x2d (2 bytes) and sets field 0x35 flag. Calls resize and reposition via vtable methods 0x3c and 0x40. |
| 0x009F31B0 | 13770 | UIWindow__ctor_009f31b0 | UIWindow: ctor 009f31b0 |
| 0x009F6780 | 38 | UIWindow__scalar_deleting_dtor_009f6780 | UIWindow scalar deleting destructor. Calls base class destructor, then frees 0x108 bytes if deletion flag (bit 1) is set. Returns this pointer. |
| 0x009F71F0 | 250 | UIEditBox__ctor_009f71f0 | UIEditBox constructor. Calls base ctor, sets vtable PTR_FUN_0114cc98. Initializes text fields, cursor position, max length (100), various editing flags. Calls CItemInfoMgr__clear_tree_and_free_alt for internal tree setup. |
| 0x009F7420 | 191 | UITabControl__ctor_009f7420 | UITabControl constructor. Extends CUITabControl__ctor, sets vtable PTR_FUN_0114cd78. Initializes colors (0xffffff normal, 0xffffff selected, 0xcecece disabled), layout params, tab count/state fields. |
| 0x009F7E60 | 71 | UITabControl__dtor_009f7e60 | UITabControl destructor. Sets vtable, delegates to UIControlBase::dtor. |
| 0x009F81E0 | 71 | UITreeView__dtor | UITreeView destructor. Sets vtable, delegates to UIListView::dtor. |
| 0x009F8440 | 84 | UIWindow__dtor | UIWindow destructor. Sets 2-level vtable chain (Window->UIBase), calls CEffect::dtor. |
| 0x009F8560 | 71 | UITabControlWindow__dtor | UITabControlWindow destructor. Sets vtable, delegates to CUITabControl::dtor. |
| 0x009F8A50 | 99 | UITabControl__scalar_deleting_dtor | UITabControl scalar deleting destructor. Sets vtable, calls UIControlBase dtor, optionally frees 0xF0-byte object. |
| 0x009F8CF0 | 99 | UITreeView__scalar_deleting_dtor | UITreeView scalar deleting destructor. Sets vtable, calls UIListView::dtor, optionally frees 0xB8-byte object. |
| 0x009F8FD0 | 112 | UIWindow__scalar_deleting_dtor_009f8fd0 | Scalar deleting destructor for a UIWindow subclass. Sets 2 vtable pointers (hierarchy teardown), calls base destructor FUN_00a79e90, and optionally frees 0x8c bytes of memory. |
| 0x009F9120 | 99 | UITabControlWindow__scalar_deleting_dtor | UITabControlWindow scalar deleting destructor. Sets vtable, calls CUITabControl::dtor, optionally frees object memory. |
| 0x009F93D0 | 405 | UIWindow__create_child_window_009f93d0 | Factory function that allocates a 0xf0-byte UITabControl child window. Calls UIButton__ctor base constructor, sets UITabControl vtable, initializes fields 0x3a-0x3b to 0, sets size from parent offsets 0xb4/0xb8, configures button state textures from parent 0x80-0x8c, creates two child components via UIComponent__create_from_stream, and adds to parent's child list. |
| 0x009F9570 | 415 | UIWindow__create_child_window_009f9570 | Factory function that allocates a 0xf8-byte UIWindow subclass. Calls UIButton__ctor base constructor, sets vtable, initializes 3 extra fields (0x3a-0x3c to 0), sets size from parent 0xb4/0xb8, configures button state textures, creates two child components via UIComponent__create_from_stream, and adds to parent child list. |
| 0x009F9710 | 355 | UIEditBox__factory_create_009f9710 | Factory function that allocates a 0x108-byte UIEditBox-like window. Calls UIWindowBase__ctor, sets initial vtable, initializes text color (0xffffff), background color (0xcecece), alignment fields, flags, then sets final vtable and zeroes out 11 extra fields (0x36-0x40). Returns new object or NULL. |
| 0x009F9950 | 36 | UIWindow__set_size_and_position_009f9950 | Sets window position (params 4,5 stored at offsets 0xb4, 0xb8) and calls CEffect__set_size_and_reload with size parameters (params 2,3). |
| 0x009F9980 | 36 | UIWindow__set_size_and_position_009f9980 | Sets window position (params 4,5 stored at offsets 0xb4, 0xb8) and calls CEffect__set_size_and_reload with size parameters (params 2,3). |
| 0x009F9B40 | 193 | UIWindow__create_embedded_child_009f9b40 | Creates and attaches an embedded child window (0xf0 bytes) to parent at offset 0xb0. Calls UIInterfaceDialog__ctor, sets visibility via vtable, creates stream component via UIComponent__swap_callback, finalizes with CEffect__add_child_to_list_end. |
| 0x009F9C10 | 193 | UIWindow__create_embedded_child_009f9c10 | Creates and attaches an embedded child window (0xf0 bytes) to parent at offset 0xb0. Calls UIInterfaceDialog__ctor, sets visibility via vtable, creates stream component via UIComponent__swap_callback, finalizes with CEffect__add_child_to_list_end. |
| 0x009F9CE0 | 767 | UIWindow__init_editbox_and_label_009f9ce0 | Initializes a text edit box (0x1d8 bytes via UIEditBox__ctor) stored at param+0xe8 with max length 100 and line mode, plus a text label (0xfc bytes) at param+0xec. Sets font size 12, bold, color 0xc89682, white text. Decrypts XOR-encrypted resource strings for setup. |
| 0x009F9FE0 | 6172 | UIWindow__create_widgets_from_resource | Creates UI widgets from decrypted resource data. 6.1K bytes. Called by UIWindow__setup_with_decrypted_resource variants. Builds combo boxes, edit boxes, text labels, scrollbars, buttons, list items, item slots. Configures font, color, text properties for each widget. |
| 0x009FB800 | 2175 | UIWindow__init_buttons_editbox_labels_009fb800 | Complex UI initialization: creates two button controls (0xb8 each at offsets 0x80, 0x84) with XOR-decrypted BMP resources, a text edit box (0x1d8 at offset 0x88) with 100 char limit, and two text labels (0xfc each at offsets 0x8c, 0x90) with font size 12, bold, grey/brown colors. Uses xor_decrypt_buffer for all string resources. |
| 0x009FC080 | 3411 | UIWindow__init_complex_panel_009fc080 | Complex panel initialization: creates two image windows (0xb8 each at offsets 0x80, 0x84) sized 0x1d6x0x179, a button (0xd8 at offset 0x88) sized 0x4c x 0x14, two scrollable text windows (0x1f0 each). Decrypts multiple XOR-encrypted resource strings for BMP paths. Sets up 4 text streams via FUN_009e8350. Links image windows to scroll windows. |
| 0x009FCDE0 | 451 | UIWindow__setup_with_decrypted_resource_009fcde0 | Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x29 bytes) and loads it as a BMP via UIControl__load_bmp_resource. |
| 0x009FCFB0 | 451 | UIWindow__setup_with_decrypted_resource_009fcfb0 | Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x29 bytes) and loads it as a BMP via UIControl__load_bmp_resource. |
| 0x009FD180 | 435 | UIWindow__setup_with_decrypted_resource_009fd180 | Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x28 bytes) and loads it as a BMP via UIControl__load_bmp_resource. |
| 0x00A00880 | 1218 | UIWindow__init_editbox_button_label_00a00880 | Creates a text edit box (0x1d8 at offset 0xe8) with 100 char limit, a small image button (0xb8 at offset 0xec) sized 12x12 with XOR-decrypted BMP, and a text label (0xfc at offset 0xf0) sized 152x12 with font 12 bold grey (0x959595) colors. Decrypts resource strings for both BMP and font setup. |
| 0x00A01AD0 | 451 | UIWindow__setup_with_decrypted_resource_00a01ad0 | Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x29 bytes) and loads it as a BMP via UIControl__load_bmp_resource. |
| 0x00A01CA0 | 451 | UIWindow__setup_with_decrypted_resource_00a01ca0 | Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x29 bytes) and loads it as a BMP via UIControl__load_bmp_resource. |
| 0x00A01E90 | 63 | UIWindow__delegate_action_to_child_00a01e90 | Checks child window at offset 0xb0: if not locked (flag 0x2a==0) and has pending items (0x25 < 0x24), calls vtable method 0x8c on child. Otherwise delegates to parent at offset 0x10 via vtable 0x8c. |
| 0x00A01ED0 | 63 | UIWindow__delegate_action_to_child_00a01ed0 | Checks child window at offset 0xb0: if not locked (flag 0x2a==0) and has pending items (0x25 < 0x24), calls vtable method 0x8c on child. Otherwise delegates to parent at offset 0x10 via vtable 0x8c. |
| 0x00A021D0 | 196 | UIWindow__bind_callback_and_notify_00a021d0 | Binds a callback object from the stack parameter, clones it via vtable call, passes to swap_polymorphic_child at this+0x150 for event registration, then releases the clone and original callback objects via their Release vtable methods. |
| 0x00A022A0 | 522 | UIButton__load_textures_from_map_00a022a0 | Loads 4 button state textures (normal=0, hover=1, pressed=2, disabled from offset 0x98) from a string map using std__map_int_string__subscript and UIControl__load_texture_resource. Stores texture handles at offsets 0x80, 0x84, 0x88, 0x8c. Releases old textures. Updates all child items with new textures via FUN_009f02e0. |
| 0x00A024B0 | 522 | UIButton__load_textures_from_map_00a024b0 | Loads 4 button state textures (normal=0, hover=1, pressed=2, disabled from offset 0x98) from a string map. Same pattern as 00a022a0 - stores at offsets 0x80-0x8c, releases old textures, updates children. |
| 0x00A02D80 | 16 | UIWindow__set_child_ptr_00a02d80 | Simple setter: stores param_2 at this+0xb0 (child window pointer). |
| 0x00A02D90 | 216 | UIButton__set_state_strings_and_reload_00a02d90 | Sets 4 button state BMP strings (normal=0, hover=1, pressed=2, disabled at this+0x98) into the internal string map via std__map_int_string__subscript. Calls vtable 0xd4(0) to reload textures and vtable 0x98 to refresh display. |
| 0x00A02E70 | 216 | UIButton__set_state_strings_and_reload_00a02e70 | Sets 4 button state BMP strings (normal=0, hover=1, pressed=2, disabled at this+0x98) into the internal string map. Calls vtable 0xd4(0) to reload and 0x98 to refresh. Same as 00a02d90. |
| 0x00A05190 | 73 | UIWindow__forward_to_parent_views_00a05190 | Dynamic casts parent (offset 0x10) to a specific UI type, then calls vtable method 0xec on both child windows at offsets 0x80 and 0x84 of the cast result, passing param_2. |
| 0x00A0F840 | 447 | UITreeCtrl__ctor_00a0f840 | Constructor for UITreeCtrl. Calls base FUN_00a79a90, sets vtable chain PTR_FUN_0114875c -> PTR_FUN_0114f7d8. Initializes 4 texture slots (0x80-0x8C=0), allocates 0x2C-byte tree root node (self-referencing linked list), STL string, vector fields, secondary 0x108-byte node, selected index=-1, and two delegate slots. |
| 0x00A0FA00 | 348 | UITreeCtrl__dtor_00a0fa00 | Destructor for UITreeCtrl. Sets vtable to PTR_FUN_0114f7d8, releases two delegates (fields 0x4D and 0x43), cleans up tree data structures, destroys STL string, frees tree root node (0x2C bytes), releases 4 textures at offsets 0x80-0x8C, chains to base destructor FUN_00a79e90. |
| 0x00A0FB60 | 33 | UITreeCtrl__release_delegate_00a0fb60 | Releases the delegate object at field[9] by calling its Release virtual method (vtable+0x10), then nulls the pointer. No SEH, simpler variant. |
| 0x00A0FB90 | 92 | UITreeCtrl__release_inner_delegate_00a0fb90 | Releases the delegate object at field[9] by calling its Release virtual method (vtable+0x10), then nulls the pointer. With SEH frame, same logic as 00a0fb60. |
| 0x00A0FBF0 | 168 | UITreeCtrl__destroy_tree_nodes_00a0fbf0 | Destroys all tree nodes in the linked list. Nulls the tail pointer, iterates nodes from head, destroying two STL strings per node and freeing each 0x108-byte node, then frees the sentinel node. |
| 0x00A0FCA0 | 129 | UITreeCtrl__free_vector_buffer_00a0fca0 | Frees the underlying heap buffer of the tree item pointer vector (fields 0/1/2). Same STL vector cleanup pattern as UIListCtrl variant. |
| 0x00A0FD30 | 164 | UITreeCtrl__clone_from_source_00a0fd30 | Creates a clone from a source object. If source has a factory at offset 0x24, calls its virtual clone method, then forwards result to FUN_00a16540 for initialization. |
| 0x00A0FDE0 | 164 | UITreeCtrl__clone_from_source_B_00a0fde0 | Creates a clone from a source object. If source has a factory at offset 0x24, calls its virtual clone method, then forwards to GameSettings__swap_callback_objects. |
| 0x00A0FE90 | 38 | UITreeCtrl__scalar_deleting_dtor_00a0fe90 | Scalar deleting destructor for UITreeCtrl (size 0x138). Calls UITreeCtrl__dtor, then conditionally frees the 0x138-byte allocation. |
| 0x00A0FEC0 | 353 | UITreeCtrl__create_and_init_item_00a0fec0 | Allocates and initializes a new 0xF8-byte tree item. Calls FUN_00a16e10 constructor, sets dimensions from offsets 0xB4/0xB8, visibility=false, state textures, and registers two delegate callbacks (PTR_FUN_0114f9cc and PTR_FUN_0114f9e8). Finalizes via FUN_00a7a080. |
| 0x00A10030 | 115 | UITreeCtrl__alloc_and_init_item_00a10030 | Allocates a 0x14C-byte block and constructs a tree item via FUN_00a16c50. Returns null if allocation fails. |
| 0x00A100B0 | 85 | UITreeCtrl__clear_all_items_00a100b0 | Clears all tree items from the vector (0xC8-0xCC), calling FUN_00a82e50 on each to destroy them, resets end pointer to begin and sets selected index (0xDC) to -1. |
| 0x00A10110 | 36 | UITreeCtrl__set_item_dimensions_00a10110 | Sets item width (param_4) and height (param_5) at offsets 0xB4/0xB8. Same pattern as UIListCtrl variant. |
| 0x00A10140 | 66 | UITreeCtrl__init_display | Initializes tree control display. Clears flags at 0xB4/0xD4, sets enabled flag, sets size to 0x230 x 0x179, position to (0,0), then calls layout and refresh virtual methods. |
| 0x00A10190 | 69 | UITreeCtrl__get_selected_item_00a10190 | Returns the currently selected tree item from the linked list at offset 0xD4. Uses selected index (0xDC) to traverse, returning pointer to item data (node+8). Sets success flag in output param. |
| 0x00A101E0 | 525 | UITreeCtrl__create_scrollbar_item_00a101e0 | Creates and initializes a scrollbar item for the tree control. Allocates 0xF0-byte item, sets vtable chain, initializes fields, registers callback delegate (PTR_FUN_0114f9b0), links to item vector, finalizes layout. |
| 0x00A103F0 | 17842 | UITreeCtrl__static_layout_init | Static layout initialization for UITreeCtrl widget. 17K bytes. Sets up text labels, scrollbars, list items, buttons, progress bars, and delegates. Creates tree control with full visual configuration. No callers (likely registered as callback/vtable). |
| 0x00A149B0 | 1949 | UITreeCtrl__init_child_controls_00a149b0 | Initializes tree control child elements. Creates: (1) expand icon button (0xB8 bytes, 0x20x0x20, at position 9,0 with encrypted texture name), (2) item slot control (0x1D8 bytes, CItemInfoMgr-based, scale=100, at position 0xD,1), (3) name label (0xFC bytes at position 100,0xD with font/color setup), (4) description label (0xFC bytes at position 0xD7,0x1E). Uses XOR-encrypted strings for resource paths. |
| 0x00A15160 | 63 | UITreeCtrl__scroll_next_page_00a15160 | Scrolls to the next page. Checks if tree is not fully scrolled and items remain, then calls virtual scroll method on main control or parent. |
| 0x00A151A0 | 65 | UITreeCtrl__notify_items_selected_00a151a0 | Iterates all items in the vector (0xC8-0xCC) and calls each item's virtual method at vtable+0xDC with boolean indicating whether that item matches param_2. |
| 0x00A151F0 | 603 | UITreeCtrl__rebuild_items_00a151f0 | Rebuilds the tree items when dimensions change. Clears existing items, calculates required count, allocates 0xF8-byte items via FUN_00a16e10 constructor, sets textures and registers delegates (PTR_FUN_0114f9cc, PTR_FUN_0114f9e8), refreshes scrollbar. |
| 0x00A15450 | 111 | UITreeCtrl__clone_wrapper_A_00a15450 | Clone wrapper: calls UITreeCtrl__clone_from_source with stack params, releases temp delegate on cleanup. |
| 0x00A154C0 | 111 | UITreeCtrl__clone_wrapper_B_00a154c0 | Clone wrapper variant B: calls UITreeCtrl__clone_from_source with stack params, releases temp delegate on cleanup. |
| 0x00A15530 | 522 | UITreeCtrl__load_textures_00a15530 | Loads 4 textures for the tree control from map subscript indices 0,1,2 and string at 0x98. Stores at offsets 0x80-0x8C, releases old textures. Then sets button state textures on all child items via UIButton__set_state_textures_direct. |
| 0x00A15740 | 115 | UITreeCtrl__resize_and_rebuild | Resizes the tree control surface, rebuilds all items via UITreeCtrl__rebuild_items, repositions scrollbar to match new height, recalculates scroll range based on item count * item height + padding, and marks dirty flag (0xE1). |
| 0x00A157C0 | 498 | UITreeCtrl__layout_visible_items_00a157c0 | Lays out visible items in a UITreeCtrl. Rotates the item pointer array to align with the scroll offset, then iterates visible items setting their index, binding data via delegate callback, updating selection state, and positioning them vertically. |
| 0x00A159C0 | 218 | UITreeCtrl__on_item_selected_00a159c0 | Handles item selection in UITreeCtrl. Deselects all other items, selects the clicked item, updates the selected index, and invokes the selection changed callback delegate if one is registered. |
| 0x00A15AA0 | 216 | UITreeCtrl__set_textures_and_refresh_00a15aa0 | Sets texture strings for UITreeCtrl (3 textures by index 0/1/2 plus a name string), then triggers a virtual refresh and layout recalculation. |
| 0x00A15B80 | 22 | UITreeCtrl__make_delegate_f87c_00a15b80 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15BA0 | 22 | UITreeCtrl__make_delegate_f898_00a15ba0 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15BC0 | 22 | UITreeCtrl__make_delegate_f8b4_00a15bc0 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15BE0 | 22 | UITreeCtrl__make_delegate_f9cc_00a15be0 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15C00 | 22 | UITreeCtrl__make_delegate_f9b0_00a15c00 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15C20 | 22 | UITreeCtrl__make_delegate_f8d0_00a15c20 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15C40 | 22 | UITreeCtrl__make_delegate_f8ec_00a15c40 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15C60 | 22 | UITreeCtrl__make_delegate_f908_00a15c60 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15C80 | 22 | UITreeCtrl__make_delegate_f9e8_00a15c80 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15CA0 | 22 | UITreeCtrl__make_delegate_f924_00a15ca0 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15CC0 | 22 | UITreeCtrl__make_delegate_f940_00a15cc0 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A15CE0 | 22 | UITreeCtrl__make_delegate_f95c_00a15ce0 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A160C0 | 65 | UITreeCtrl__delegate_notify_items_00a160c0 | Delegate callback: iterates all tree items in parent (this+4) and calls each item's vtable+0xDC with boolean (param_2 == item). Used for selection notification. |
| 0x00A16110 | 20 | UITreeCtrl__delegate_layout_00a16110 | Delegate callback thunk: dereferences first param and forwards to UITreeCtrl__layout_visible_items. |
| 0x00A16140 | 23 | UITreeCtrl__delegate_null_stub_00a16140 | Delegate callback thunk: dereferences first param and calls null_stub_00a176a0 (a no-op). |
| 0x00A16160 | 23 | UITreeCtrl__delegate_forward_00a16160 | Delegate callback thunk: dereferences first param and forwards to thunk_to_00a18660. |
| 0x00A16180 | 216 | UITreeCtrl__delegate_on_item_selected_00a16180 | Delegate callback for tree item selection. Deselects all other items, selects clicked item, uses RTDynamicCast to verify type (PTR_PTR_01365c18), stores selected index, notifies selection callback at 0x10C. |
| 0x00A162B0 | 23 | UITreeCtrl__make_delegate_f87c_copy_00a162b0 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A162D0 | 23 | UITreeCtrl__make_delegate_f898_copy_00a162d0 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A163C0 | 22 | UITreeCtrl__make_delegate_f8b4_copy_00a163c0 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A163E0 | 22 | UITreeCtrl__make_delegate_f9cc_copy_00a163e0 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A16400 | 22 | UITreeCtrl__make_delegate_f9b0_copy_00a16400 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A16420 | 22 | UITreeCtrl__make_delegate_f8d0_copy_00a16420 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A16440 | 22 | UITreeCtrl__make_delegate_f8ec_copy_00a16440 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A16460 | 22 | UITreeCtrl__make_delegate_f908_copy_00a16460 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A16480 | 22 | UITreeCtrl__make_delegate_f9e8_copy_00a16480 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A164A0 | 22 | UITreeCtrl__make_delegate_f924_copy_00a164a0 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A164C0 | 22 | UITreeCtrl__make_delegate_f940_copy_00a164c0 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A164E0 | 22 | UITreeCtrl__make_delegate_f95c_copy_00a164e0 | Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. |
| 0x00A16500 | 22 | UITreeCtrl__make_delegate_f978_00a16500 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A16520 | 22 | UITreeCtrl__make_delegate_f994_00a16520 | Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. |
| 0x00A16930 | 142 | UITreeCtrl__clear_node_list | Clears a linked list of UITreeCtrl nodes (0x108 bytes each). Nulls the tail pointer, iterates from head destroying two STL strings per node and freeing each node. Does NOT free the sentinel node. |
| 0x00A3C7E0 | 300 | UIListBox__ctor_00a3c7e0 | Constructor for UIListBox derived from UIBase. Sets vtable to PTR_FUN_01152a0c. Initializes two embedded string objects (offsets 0x5b-0x60 and 0x64-0x69), zeroes scroll/selection state, and initializes 4 members at offsets 0x20-0x23. Contains two sub-object initializations via FUN_00a3d0a0. |
| 0x00A3CD30 | 136 | UIButton__ctor_00a3cd30 | Constructor for UIButton derived from UIBase. Sets vtable to PTR_FUN_01152af0. Zeroes 2 members at offsets 0x20-0x21 (state, sprite handle). |
| 0x00A3CE50 | 166 | UIDropdown__ctor_00a3ce50 | Constructor for UIDropdown derived from UIBase. Sets vtable to PTR_FUN_01152d9c. Zeroes 5 members at offsets 0x20-0x24 (selected index, items list, expanded state, etc). |
| 0x00A3D890 | 221 | UIListBox__dtor_00a3d890 | Destructor for UIListBox (vtable PTR_FUN_01152a0c). Destroys 6 embedded STL strings in sequence, resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3DBB0 | 84 | UIButton__dtor_00a3dbb0 | Destructor for UIButton (vtable PTR_FUN_01152af0). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3DC70 | 84 | UIDropdown__dtor_00a3dc70 | Destructor for UIDropdown (vtable PTR_FUN_01152d9c). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3E160 | 245 | UIListBox__scalar_deleting_dtor_00a3e160 | Scalar deleting destructor for UIListBox. Destroys 6 STL strings, calls UIBase dtor, then conditionally frees 0x1A8-byte allocation. |
| 0x00A3E500 | 112 | UIButton__scalar_deleting_dtor_00a3e500 | Scalar deleting destructor for UIButton. Calls UIBase dtor, then conditionally frees 0x88-byte allocation. |
| 0x00A3E5E0 | 112 | UIDropdown__scalar_deleting_dtor_00a3e5e0 | Scalar deleting destructor for UIDropdown. Calls UIBase dtor, then conditionally frees 0x94-byte allocation. |
| 0x00A3E7A0 | 223 | UIListBoxProxy__add_item_full_00a3e7a0 | Adds a full UIListItem (0x70-byte node with 2 strings + data) to the listbox's internal linked list. Accessed via this->offset_0x8C. If param_3 is true, calls FUN_00a41fe0 to update scrollbar. Returns new item index (count-1). Throws _Xlength_error if list is full. |
| 0x00A3E880 | 249 | UIListBoxProxy__add_item_small_00a3e880 | Adds a small item (0x2c-byte node with 3 ints + 1 string) to the listbox's internal linked list. Accessed via this->offset_0x8C. If param_3 is true, calls FUN_00a42060 to update scrollbar. Returns new item index. |
| 0x00A3E980 | 241 | UIListBoxProxy__add_item_medium_00a3e980 | Adds a medium item (0x24-byte node with 1 int + 1 string) to the listbox's internal linked list. If param_3 is true, calls FUN_00a420e0 to update scrollbar. Returns new item index. |
| 0x00A3EA80 | 223 | UIListBoxProxy__add_item_string_00a3ea80 | Adds a string-only item (0x20-byte node with 1 string) to the listbox's internal linked list. If param_3 is true, calls FUN_00a42160 to update scrollbar. Returns new item index. |
| 0x00A3EB60 | 271 | UIListBox__add_item_full_00a3eb60 | Adds a full UIListItem (0x70-byte node) to the listbox's linked list at offset 0xD4. If param_3 is true, recalculates scrollbar max value (item_count * item_height + padding) and sets dirty flag. Returns new item index. |
| 0x00A3EC70 | 297 | UIListBox__add_item_small_00a3ec70 | Adds a small item (0x2c-byte node: 3 ints + 1 string) to the listbox's linked list. If param_3 is true, updates scrollbar max value and sets dirty flag. Returns new item index. |
| 0x00A3EDA0 | 288 | UIListBox__add_item_medium | Adds a medium item (0x24-byte node: 1 int + 1 string) to the listbox's linked list. If param_3 is true, updates scrollbar max value and sets dirty flag. Returns new item index. |
| 0x00A3EED0 | 271 | UIListBox__add_item_string | Adds a string-only item (0x20-byte node) to the listbox's linked list. If param_3 is true, updates scrollbar max value and sets dirty flag. Returns new item index. |
| 0x00A3EFE0 | 262 | UIListBox__add_item_int | Adds an int-only item (0xC-byte node with 1 int) to the listbox's linked list. If param_3 is true, updates scrollbar max value and sets dirty flag. Returns new item index. |
| 0x00A3F7C0 | 123 | UIListBox__clear_full_items | Clears all full items (0x70-byte nodes with 2 strings) from the listbox's linked list at offset 0xD4. Resets list to empty sentinel, count=0, selection=-1, updates scrollbar, and sets dirty flag. |
| 0x00A3F840 | 123 | UIListBox__clear_small_items | Clears all small items (0x2c-byte nodes with 1 string) from the listbox's linked list. Resets list to empty, count=0, selection=-1, updates scrollbar, and sets dirty flag. |
| 0x00A3F8C0 | 123 | UIListBox__clear_medium_items | Clears all medium items (0x24-byte nodes with 1 string) from the listbox's linked list. Resets list to empty, count=0, selection=-1, updates scrollbar, and sets dirty flag. |
| 0x00A3F9B0 | 41 | UIListBox__render_item_text_at_offset8 | Renders list item text by extracting the STL string at node offset+8 (with SSO check) and assigning it to a UITextLabel. |
| 0x00A3FA90 | 41 | UIListBox__render_item_text_at_offset0xc | Renders list item text by extracting the STL string at node offset+0xC (with SSO check) and assigning it to a UITextLabel. |
| 0x00A3FB20 | 41 | UIListBox__render_item_text_at_offset4 | Renders list item text by extracting the STL string at node offset+4 (with SSO check) and assigning it to a UITextLabel. |
| 0x00A3FBA0 | 38 | UIListBox__render_item_string_only | Renders a string-only list item. Extracts the STL string at the node start (with SSO check) and assigns it to a UITextLabel. |
| 0x00A3FBE0 | 68 | UIListBox__get_item_by_index | Gets a list item by index. Traverses the linked list at offset 0xD4 to the given index. Returns result struct: pointer to item data (at node+2) and found=1, or found=0 if index out of range. |
| 0x00A3FC30 | 68 | UIListBox__get_item_by_index_alt | Gets a list item by index (alternate variant, same implementation). Traverses linked list to given index. Returns result struct: pointer to item data and found flag. |
| 0x00A4F630 | 444 | UITreeView__ctor_00a4f630 | Constructor for UITreeView (0x138 bytes). Inherits from UIWindowBase. Sets vtable to PTR_FUN_01153c44. Creates linked list sentinel (0x2C bytes) and node list (0x10 bytes). Initializes STL string at +0x26, selection=-1, various widget ptrs to null. |
| 0x00A4F7F0 | 393 | UITreeView__dtor_00a4f7f0 | Destructor for UITreeView. Releases child widgets at +0x4D and +0x43 via vtable+0x10. Destroys node list, frees vector, destroys STL string, destroys texture map, releases 4 texture resources. Calls base UIWindowBase dtor. |
| 0x00A4F980 | 33 | UITreeView__release_child_widget_00a4f980 | Releases child widget at field +9. If non-null, calls vtable+0x10 and nulls pointer. |
| 0x00A4F9B0 | 92 | UITreeView__release_child_seh_00a4f9b0 | SEH-wrapped version of release_child_widget for UITreeView. Same logic as 00a4f980. |
| 0x00A4FA10 | 103 | UITreeView__destroy_node_list_00a4fa10 | Destroys a singly-linked node list. Walks from head, frees each 0x10-byte node, then frees head. SEH-wrapped. |
| 0x00A4FA80 | 129 | UITreeView__free_item_vector_00a4fa80 | Frees a vector buffer. Handles aligned allocation (checks -4 offset for large buffers). Zeroes begin/end/capacity pointers. SEH-wrapped. |
| 0x00A4FB10 | 164 | UITreeView__create_from_descriptor_00a4fb10 | Creates a UITreeView from a descriptor. Optionally clones a UI stream from param_2+0x24, then calls std__any_swap_00a54a20 for initialization. |
| 0x00A4FBC0 | 38 | UITreeView__scalar_deleting_dtor_00a4fbc0 | Scalar deleting destructor for UITreeView (0x138 bytes). Calls UITreeView__dtor then frees if param_2 & 1. |
| 0x00A4FBF0 | 353 | UITreeView__create_item_widget_00a4fbf0 | Creates a single item widget for the tree view. Allocates 0xF8-byte UITextBoxC via ctor. Sets size, visibility=0, colors. Registers two UI callbacks. Adds to layout via FUN_00a7a080. |
| 0x00A4FDE0 | 85 | UITreeView__clear_all_items_00a4fde0 | Clears all items from the tree view. Iterates item vector +0xC8, calls FUN_00a82e50 on each. Resets vector end=begin, selected=-1. |
| 0x00A599F0 | 444 | UIDropdownList__ctor_00a599f0 | Constructor for UIDropdownList. Calls base UIBase ctor, sets vtable to PTR_FUN_01154614. Initializes 4 sprite pointers (0x20-0x23), linked list at +0x24 (0x2c-byte nodes), string at +0x26, item list at +0x35, selection index at +0x37 to -1. Object size ~0x138. |
| 0x00A59C80 | 393 | UIDropdownList__dtor_00a59c80 | Destructor for UIDropdownList. Destroys popup and dialog child objects, frees linked list nodes, clears item vector, destroys string, frees tree structure at +0x24, releases 4 sprite resources (0x20-0x23 via FUN_00af0be0), then calls base dtor. |
| 0x00A5BF50 | 38 | UIDropdownList__scalar_deleting_dtor_00a5bf50 | Scalar deleting destructor for UIDropdownList. Calls dtor, frees 0x138 bytes if param_2 & 1. |
| 0x00A5BF80 | 353 | UIDropdownList__create_tab_control_00a5bf80 | Creates a UITabControl for the dropdown list. Allocates 0x110 bytes, constructs via UITabControl__ctor, sets size from +0xb4/+0xb8, configures button textures from +0x80-0x8c, registers two callback functors (PTR_FUN_01154958, PTR_FUN_01154974), adds as child. |
| 0x00A5C0F0 | 115 | UIDropdownList__create_textbox_00a5c0f0 | Factory: allocates 0x128 bytes, constructs UITextBox via UITextBox__ctor_00a65af0. Returns null if allocation fails. |
| 0x00A5C170 | 85 | UIDropdownList__clear_items_00a5c170 | Clears all items from the dropdown list. Iterates the item vector at +0xc8, calls CEffect__remove_child_from_list on each to destroy, resets end pointer to begin, sets selected index at +0xdc to -1. |
| 0x00A5C1D0 | 36 | UIDropdownList__set_sizes_00a5c1d0 | Sets dropdown list dimensions. Stores param_4/param_5 (tab button width/height) at +0xb4/+0xb8, then calls CEffect__set_size_and_reload with param_2/param_3 to set the base control size. |
| 0x00A5C200 | 100 | UIDropdownList__reset_layout_00a5c200 | Resets dropdown list window layout. Sets flags, close button visible, resizes to 0x17d x 0x1d2, centers on screen based on global screen dimensions, then auto-sizes. |
| 0x00A5C270 | 189 | UIDropdownList__add_tab_page_00a5c270 | Adds a new tab page to the dropdown list. Allocates 0x88 bytes, constructs UITabPage (00a65a70), sizes to 0x157 x 0x18a, adds as child, pushes to tab page vector at +0xf0. |
| 0x00A5C330 | 69 | UIDropdownList__get_selected_item_00a5c330 | Gets the currently selected item from the dropdown list. Traverses linked list at +0xd4 by index (+0xdc). Returns item data pointer in param_2[0] with success flag in param_2[1]. Returns false if index is -1 or out of range. |
| 0x00A5C380 | 525 | UIDropdownList__init_interface_dialog_00a5c380 | Initializes the interface dialog child for the dropdown list. Allocates 0xf0 bytes, constructs UIInterfaceDialog with default settings (page counts, visibility flags), registers a callback functor (PTR_FUN_0115493c) via std::any swap, adds as child at +0xb0. |
| 0x00A5C590 | 4794 | UIDropdownList__init_controls_00a5c590 | Initializes all child controls for the dropdown list UI. Large init function (4794 bytes) that creates buttons, text labels, scrollbars, and tab pages. |
| 0x00A5D850 | 4205 | UIDropdownList__init_child_dropdown | Initializes a child UIDropdownList control at member offset +0x80. Creates the dropdown, sets dimensions (0x14a x 0x2e tab size, 0x157 x 0x18a overall), registers selection/tab change callback functors, configures 3 string map entries for tab labels, sets up scrollbar button/thumb/background textures from encrypted TLS strings, then calls rebuild_tab_controls and adds as child. |
| 0x00A5E8C0 | 20424 | UIDropdownList__render_00a5e8c0 | UIDropdownList: render 00a5e8c0 |
| 0x00A638A0 | 63 | UIDropdownList__on_tab_changed_00a638a0 | Handles tab change event for dropdown list. If interface dialog (+0xb0) is not locked and current page < total pages, calls virtual navigate method. Otherwise delegates to parent control's navigate. |
| 0x00A638E0 | 65 | UIDropdownList__set_item_selected_00a638e0 | Sets selection state on dropdown items. Iterates all items in vector at +0xc8, calls virtual method at vtable+0xdc on each, passing true if the item matches param_2, false otherwise. |
| 0x00A63930 | 603 | UIDropdownList__rebuild_tab_controls_00a63930 | Rebuilds all tab controls for the dropdown list based on current item height and visible area. Destroys existing tab controls, calculates how many fit (height/item_height + 1), creates new UITabControl instances with button textures and callbacks, then sets scrollbar range. |
| 0x00A63B90 | 111 | UITreeCtrl__clone_wrapper | Wrapper for cloning a UITreeCtrl. Calls UITreeCtrl__clone_from_source_B to perform the clone, then conditionally destroys the source object via virtual function at vtable+0x10 if a separate copy was made. |
| 0x00A63C00 | 196 | UITreeCtrl__swap_delegate | Swaps the delegate/callback associated with a UITreeCtrl. If the source object exists, clones it into a local buffer. Calls delegate_swap_inner_objects to swap the callback at offset +0x88. Destroys both temporary and source objects if they were separately allocated. |
| 0x00A63CD0 | 522 | UITreeCtrl__load_state_textures | Loads texture resources for a UITreeCtrl's different states (normal, hover, pressed, disabled). Uses std::map subscript to get texture names for indices 0-3 and the label texture at +0x98. For each texture, calls UIControl__load_texture_resource, increments ref count, swaps old texture pointer, and releases old one. Finally iterates visible child items and applies the textures via UIButton__set_state_textures_direct. |
| 0x00A63EE0 | 115 | UIDropdownList__resize_and_update_scroll_00a63ee0 | Resizes the dropdown list and updates the scrollbar. Calls FUN_00a82eb0 to set control size, rebuilds tab controls, repositions the interface dialog child, then recalculates scrollbar max/visible range/value and marks dirty. |
| 0x00A63F60 | 498 | UIDropdownList__update_visible_items_00a63f60 | Updates which items are visible in the dropdown list based on scroll position (param_2). Rotates the tab control pool to reuse controls, binds visible items to their data via the item formatter callback (+0x134), highlights the selected item, positions controls, and hides out-of-view controls. |
| 0x00A64160 | 218 | UIDropdownList__on_item_clicked_00a64160 | Handles item click in the dropdown list. If not locked (+0xc4), deselects all other items, selects the clicked one. If selection changed or double-click mode disabled, stores new selection index at +0xdc, looks up the item data in the linked list, and calls the selection callback (+0x10c). |
| 0x00A64240 | 216 | UIDropdownList__set_button_textures_00a64240 | Sets button textures for the dropdown list. Assigns 3 texture strings to map slots 0/1/2 via subscript, copies a label string to +0x26 member, then calls virtual refresh and show methods. |
| 0x00A64DE0 | 65 | UITabControl__notify_tab_selection | Iterates through all tab children (vtable offsets 0xC8-0xCC), calling virtual method at vtable+0xDC with a bool indicating whether each tab matches the selected one from param_2. |
| 0x00A64E80 | 216 | UITabControl__on_tab_selected | Tab selection handler. Deselects all tabs via vtable+0xD8, selects the clicked one, then uses RTDynamicCast to get extended tab info. If valid, looks up linked list node by tab index and invokes callback at offset 0x10C with the node data. |
| 0x00A659B0 | 181 | UITabControl__ctor_00a659b0 | Constructor for a UI tab control class. Calls parent constructor FUN_009efc30, sets vtable, then initializes member fields: zero-initializes offsets 0x3A-0x3D, sets 0x3E and 0x3F defaults (enable flags), clears remaining state. |
| 0x00A65A70 | 123 | UITabPage__ctor_00a65a70 | Constructor for a UITabPage. Calls FUN_00a79a90 (UIBase-derived ctor), sets intermediate vtable, sets visibility flag at +0x1F to true, then sets final vtable and initializes page-specific fields (offset 0x20=0, 0x21=1). |
| 0x00A65D00 | 71 | UITabControl__dtor | Destructor for UITabControl. Sets vtable to UITabControl__scalar_deleting_dtor, then calls UIControlBase__dtor to destroy the base class. |
| 0x00A65D50 | 84 | UITabPage__dtor | Destructor for UITabPage. Sets vtable to UITabPage then UIBase, then calls CEffect__dtor to destroy the base class. |
| 0x00A65E40 | 99 | UITabControl__scalar_deleting_dtor_00a65e40 | Scalar deleting destructor for UITabControl (size 0x110). Sets vtable, calls parent dtor FUN_009da310, conditionally frees memory. |
| 0x00A65EB0 | 112 | UITabPage__scalar_deleting_dtor_00a65eb0 | Scalar deleting destructor for UITabPage (size 0x88). Sets intermediate and base vtable, calls FUN_00a79e90 parent dtor, conditionally frees memory. |
| 0x00A684E0 | 447 | UIListBoxA__ctor_00a684e0 | Constructor for a UI list box class (variant A). Calls UIBase-derived ctor, allocates sentinel node (0x2C bytes) for doubly-linked list, allocates hash table node (0x100 bytes), initializes embedded SSO string, zero-initializes member fields, sets selected index to -1. |
| 0x00A686A0 | 444 | UIListBoxB__ctor_00a686a0 | Constructor for a UI list box class (variant B). Same pattern as UIListBoxA but with different vtable and smaller hash node (0x28 bytes). |
| 0x00A68860 | 348 | UIListBoxA__dtor_00a68860 | Destructor for UIListBoxA. Sets vtable, destroys functors at offsets 0x4D and 0x43, destroys hash table, destroys list data, destroys SSO string, cleans up doubly-linked list sentinel, frees sprite pointers (offsets 0x20-0x23), then calls parent dtor. |
| 0x00A689C0 | 348 | UIListBoxB__dtor_00a689c0 | Destructor for UIListBoxB. Same pattern as UIListBoxA dtor but with different vtable and different sub-destructors (FUN_00a68c40, FUN_00a68d60). |
| 0x00A68C40 | 134 | UIListBoxB__destroy_linked_list_00a68c40 | Destroys UIListBoxB's doubly-linked list. Walks forward chain, destroys string in each 0x28-byte node, frees node, then frees sentinel. |
| 0x00A68DF0 | 71 | UIListBoxScrollbar__dtor_00a68df0 | Destructor for a list box scrollbar. Sets vtable, then calls FUN_009f7f70 (scrollbar base dtor). |
| 0x00A68E40 | 164 | UIListBoxA__copy_functor_00a68e40 | Copies a functor from another UIListBoxA. If source has functor at offset 0x24, clones it via vtable method. Then calls FUN_00a6ef40 to complete copy. Cleans up temp functor storage. |
| 0x00A68EF0 | 164 | UIListBoxB__copy_functor_00a68ef0 | Copies a functor from another UIListBoxB. Same pattern as UIListBoxA__copy_functor but calls FUN_00a6f0a0. |
| 0x00A68FA0 | 38 | UIListBoxA__scalar_deleting_dtor_00a68fa0 | Scalar deleting destructor for UIListBoxA (size 0x138). Calls UIListBoxA__dtor, conditionally frees memory. |
| 0x00A68FD0 | 38 | UIListBoxB__scalar_deleting_dtor_00a68fd0 | Scalar deleting destructor for UIListBoxB (size 0x138). Calls UIListBoxB__dtor, conditionally frees memory. |
| 0x00A691E0 | 353 | UIListBox__create_item_widget_00a691e0 | Creates a UI widget for a list box item. Allocates 0xF0 bytes, calls FUN_00a6f580 to initialize, sets position and button textures from source, registers two delegate callbacks via UIComponent__create_from_stream, and finishes setup via FUN_00a7a080. |
| 0x00A69350 | 115 | UIListBox__create_item_widget_b_00a69350 | Creates a UI list box item widget (variant B). Allocates 0xF4 bytes, calls FUN_00a6f470 to construct. Returns pointer or 0 on failure. |
| 0x00A693D0 | 85 | UIListBox__clear_child_items_00a693d0 | Clears all child items from the list box. Iterates child pointer array (0xC8..0xCC), calls FUN_00a82e50 to destroy each child with flag 1, resets end pointer to begin, and sets selected index to -1. |
| 0x00A69430 | 85 | UIListBox__clear_child_items_00a69430 | Clears all child items from the list box. Same as 00a693d0 - different instantiation. |
| 0x00A69490 | 36 | UIListBox__set_item_dimensions_00a69490 | Sets list box item dimensions. Stores param_4 and param_5 at offsets 0xB4 and 0xB8, then calls FUN_00a7b470 with param_2 and param_3. |
| 0x00A694C0 | 36 | UIListBox__set_item_dimensions_00a694c0 | Sets list box item dimensions. Same as 00a69490 - different instantiation. |
| 0x00A69550 | 69 | UIListBox__get_selected_data_00a69550 | Gets data for the currently selected list entry. Walks the linked list to the selected index (offset 0xDC), returns pointer to node data (+2) with success flag. Returns failure flag if index is invalid. |
| 0x00A695A0 | 69 | UIListBox__get_selected_data_00a695a0 | Gets data for the currently selected list entry. Same as 00a69550 - different instantiation. |
| 0x00A695F0 | 193 | UIListBox__create_scrollbar_00a695f0 | Creates the scrollbar for the list box. Allocates 0xF0 bytes, constructs a scrollbar widget via FUN_009be480, stores at offset 0xB0, hides it initially, registers a scroll callback delegate, then finishes setup via FUN_00a7a080. |
| 0x00A696C0 | 193 | UIListBox__create_scrollbar_b_00a696c0 | Creates the scrollbar for the list box (variant B). Same pattern as 00a695f0 but with different delegate vtable. |
| 0x00A69790 | 1565 | UIListBox__create_child_widgets_00a69790 | Creates child widgets for the list box: string dialog (0xB8 bytes with SSO strings), item slot (0x1D8 bytes with CItemInfoMgr), and text label (0xFC bytes). Configures text label with XOR-decrypted font name, line spacing, colors, and outline settings. Each widget is registered via FUN_00a7a080. |
| 0x00A69DB0 | 12328 | UIListBox__handle_input_event_00a69db0 | Large input event handler for UIListBox (12328 bytes). Handles mouse/keyboard input for list selection, scrolling, and interaction. SKIPPED detailed analysis due to size. |
| 0x00A6CDE0 | 636 | UIListBox__create_text_label_00a6cde0 | Creates a text label widget (0xFC bytes) for the list box at offset 0xE8. Sets size 148x34, position 11,0, truncate off, XOR-decrypted font name, line spacing 12, bold off, color 0, no outline/shadow. Finishes via FUN_00a7a080. |
| 0x00A6D080 | 63 | UIListBox__scroll_page_down_00a6d080 | Scrolls the list box down by one page. Checks if scrollbar is enabled and has room to scroll. Calls virtual method at vtable+0x8C on scrollbar or parent. |
| 0x00A6D0C0 | 63 | UIListBox__scroll_page_down_00a6d0c0 | Scrolls the list box down by one page. Same as 00a6d080 - different instantiation. |
| 0x00A6D100 | 65 | UIListBox__notify_selection_changed_00a6d100 | Notifies all child items of a selection change. Iterates items (0xC8..0xCC), calls virtual method at vtable+0xDC on each with bool indicating if it matches the selected item. |
| 0x00A6D150 | 65 | UIListBox__notify_selection_changed_00a6d150 | Notifies all child items of a selection change. Same as 00a6d100 - different instantiation. |
| 0x00A6D1A0 | 603 | UIListBoxA__rebuild_child_items_00a6d1a0 | Rebuilds all child item widgets for UIListBoxA. Destroys existing children, calculates how many fit (height/itemHeight+1), allocates/creates new item widgets (0xF8 bytes each) with button textures and delegate callbacks, then updates scrollbar max value. |
| 0x00A6D400 | 603 | UIListBoxB__rebuild_child_items_00a6d400 | Rebuilds all child item widgets for UIListBoxB. Same as UIListBoxA but creates 0xF0-byte items via FUN_00a6f580. |
| 0x00A6D660 | 522 | UIListBox__load_button_textures_00a6d660 | Loads button state textures from a resource map. Loads 4 states (normal, hover, pressed, disabled) from map indices 0-2 plus one direct path. Each old texture is released via FUN_00af0be0. Updates all existing child items with the new textures. |
| 0x00A6D870 | 522 | UIListBox__load_button_textures_b_00a6d870 | Loads button state textures (variant B). Same as 00a6d660. |
| 0x00A6DA80 | 115 | UIListBoxA__on_resize_00a6da80 | Handles resize for UIListBoxA. Calls FUN_00a82eb0 to resize base, rebuilds child items, updates scrollbar range and position, marks dirty. |
| 0x00A6DB00 | 115 | UIListBoxB__on_resize_00a6db00 | Handles resize for UIListBoxB. Same as UIListBoxA__on_resize but rebuilds B-type items. |
| 0x00A6DB80 | 498 | UIListBoxA__update_visible_items_00a6db80 | Updates visible items after scroll. Calculates first visible index from scroll position, rotates the child item array to reuse widgets, then iterates visible items: sets data index, calls update callback, applies selection state, positions item, shows it. Hides items past the visible range. |
| 0x00A6DD80 | 498 | UIListBoxB__update_visible_items_00a6dd80 | Updates visible items after scroll for UIListBoxB. Same logic as UIListBoxA variant. |
| 0x00A6DF80 | 218 | UIListBoxA__on_item_clicked_00a6df80 | Handles click on a list item. Deselects all other items, selects clicked one. Uses RTDynamicCast to get extended item info, stores selected index, and calls selection callback at offset 0x10C with the linked list data for the selected entry. |
| 0x00A6E060 | 218 | UIListBoxB__on_item_clicked_00a6e060 | Handles click on a list item for UIListBoxB. Same as UIListBoxA variant but different dynamic cast target. |
| 0x00A6E140 | 216 | UIListBox__set_texture_names_00a6e140 | Sets texture names for the list box button states. Stores 4 string params (normal, hover, pressed, disabled) into map indices 0-2 plus the direct path. Calls virtual method to load textures and redraw. |
| 0x00A6E220 | 216 | UIListBox__set_texture_names_00a6e220 | Sets texture names for the list box (variant B). Same as 00a6e140. |
| 0x00A6EA10 | 20 | UIListBoxA__delegate_update_visible_items | Delegate wrapper: dereferences param_1 to get 'this' pointer, calls UIListBoxA__update_visible_items_00a6db80. |
| 0x00A6EA30 | 20 | UIListBoxB__delegate_update_visible_items | Delegate wrapper: dereferences param_1 to get 'this' pointer, calls UIListBoxB__update_visible_items_00a6dd80. |
| 0x00A78E90 | 103 | UICallback__ctor_00a78e90 | UI callback object constructor. Stores callback function pointer and context data. Sets vtable to PTR_FUN_01156a84, stores self-reference at offset 36. |
| 0x00A78F00 | 103 | UICallback__ctor_00a78f00 | UI callback object constructor variant. Sets vtable to PTR_FUN_01156aa0, stores callback and context similarly to 00a78e90. |
| 0x00A78F70 | 103 | UICallback__ctor_00a78f70 | UI callback object constructor variant. Sets vtable to PTR_FUN_01156abc, stores callback and context. |
| 0x00A78FE0 | 103 | UICallback__ctor_00a78fe0 | UI callback object constructor variant. Sets vtable to PTR_FUN_01156ad8, stores callback and context. |
| 0x00A86A80 | 32 | UICallback__copy_from_source | UICallback copy constructor. Sets vtable to PTR_FUN_01156a84, copies callback data from source at offsets 4-12. |
| 0x00A86AA0 | 32 | UICallback__copy_from_source_00a86aa0 | UICallback copy constructor variant. Sets vtable pointer, copies callback data from source at offsets 4-12. |
| 0x00A86AC0 | 32 | UICallback__copy_from_source_00a86ac0 | UICallback copy constructor variant. Sets vtable pointer, copies callback data from source at offsets 4-12. |
| 0x00A86AE0 | 32 | UICallback__copy_from_source_00a86ae0 | UICallback copy constructor variant. Sets vtable pointer, copies callback data from source at offsets 4-12. |
| 0x00A86B00 | 68 | UICallback__conditional_free_16 | UICallback conditional destructor. Frees 16-byte object if param_2 bit 0 is set. |
| 0x00A86B50 | 68 | UICallback__conditional_free_16_00a86b50 | UICallback conditional destructor variant. Frees 16-byte object if param_2 bit 0 is set. |
| 0x00A86BA0 | 68 | UICallback__conditional_free_16_00a86ba0 | UICallback conditional destructor variant. Frees 16-byte object if param_2 bit 0 is set. |
| 0x00A86BF0 | 68 | UICallback__conditional_free_16_00a86bf0 | UICallback conditional destructor variant. Frees 16-byte object if param_2 bit 0 is set. |
| 0x00A86C80 | 74 | UICallback__move_to_left_of_target | UICallback that moves an effect to the left of a target. Calculates position by accumulating parent offsets, subtracting effect width, and setting via virtual move at vtable+0x10. |
| 0x00A86CD0 | 62 | UICallback__move_to_right_of_target | UICallback that moves an effect to the right of a target. Calculates position from target's right edge + parent offsets, calls virtual move. |
| 0x00A86DD0 | 32 | UICallback__copy_ctor_move_to_left | Copy constructor for UICallback that positions to the left. Sets vtable to move_to_left_of_target vtable, copies callback data from source. |
| 0x00A86DF0 | 32 | UICallback__copy_ctor_move_to_right | Copy constructor for UICallback that positions to the right. Sets vtable to move_to_right_of_target vtable, copies callback data from source. |
| 0x00A86E10 | 32 | UICallback__copy_ctor_move_left_of | Copy constructor for UICallback that positions left-of. Sets vtable to move_left_of vtable, copies callback data from source. |
| 0x00A86E30 | 32 | UICallback__copy_ctor_move_right_of | Copy constructor for UICallback that positions right-of. Sets vtable to move_right_of vtable, copies callback data from source. |
No function here matches that. Search all 47,061 functions instead.