Game Core
CGameMode, CGameObject, CInputMgr, CStoveSDK, initialization, settings, hotkeys, timers, crash handling, services, utilities
| Address | Size | Name | Description |
|---|---|---|---|
| 0x007C64D0 | 9 | SearchShopGridWnd__virtual_init_call | Dispatches to virtual method +0x3C (create items callback) |
| 0x007C64E0 | 49 | SearchShopGridWnd__find_item_by_id | Searches linked list for item with matching ID at +0xA8; returns item pointer or 0 |
| 0x007C6AA0 | 13 | SearchShopGridWnd__default_init | Default init: calls virtual +0xD8 with param 0 |
| 0x007C6AC0 | 134 | SearchShopGridWnd__process_select_message | Handles item select (0xAB): notifies parent and highlights selected item in grid |
| 0x007C6B50 | 71 | SearchShopGridWnd__set_item_display_mode | Finds item in vector by ID and calls virtual +0xD8 to set display mode |
| 0x007C6BF0 | 103 | RBTree__destroy_nodes_recursive_0x18 | Recursively destroys red-black tree nodes: traverses right subtree then frees 0x18-byte nodes |
| 0x007C6C60 | 75 | RBTree__lower_bound_char_key | Finds lower bound in red-black tree using char key comparison at node+0x10 |
| 0x007C6DC0 | 67 | RBTree__free_node_0x18 | Frees a 0x18-byte RB tree node if field +4 is non-null |
| 0x007C6E10 | 111 | RBTree__destroy_all_nodes_and_sentinel | Destroys all RB tree nodes recursively then frees 0x18-byte sentinel |
| 0x007C6E90 | 78 | RBTree__free_sentinel_only_0x6e90 | Frees 0x18-byte sentinel node if field +4 is non-null; no child cleanup |
| 0x007C6EE0 | 78 | RBTree__free_sentinel_only_0x6ee0 | Frees 0x18-byte sentinel node if field +4 is non-null; no child cleanup (variant) |
| 0x007C6F30 | 65 | RBTree__destroy_and_free_wrapper | Wrapper that calls RBTree destroy-all-nodes-and-sentinel |
| 0x007C6F80 | 71 | EmotionShopTabWnd__destructor | Destructor: sets vtable PTR_FUN_0112487c then calls tab window base destructor |
| 0x007C7060 | 99 | EmotionShopTabWnd__scalar_deleting_destructor | Scalar deleting destructor: calls tab window destructor then optionally frees 0x124-byte object |
| 0x007C8E30 | 25 | memset_zero_dwords | Zeroes param_2 dwords (param_2*4 bytes) at param_1 using memset |
| 0x007C8E70 | 264 | EmotionItemCtrl__constructor | Constructs emotion item control: inits base, sets vtable 01124C94, creates scroll observer, zeros item data |
| 0x007C8F80 | 72 | EmotionItemCtrl__observer_destructor | Destructor for scroll observer: resets vtable chain |
| 0x007C8FD0 | 110 | EmotionItemCtrl__destructor | Destructor: sets vtable, destroys observer, calls base control destructor |
| 0x007C9040 | 97 | EmotionItemCtrl__observer_scalar_dtor | Scalar deleting destructor for observer: resets vtable then optionally frees 4-byte object |
| 0x007C90B0 | 134 | EmotionItemCtrl__scalar_deleting_dtor | EmotionItemCtrl scalar deleting destructor. Sets vtable to 01124c94, destroys scroll observer at +0x25, calls base CEffect dtor, frees 0xA0 bytes if param_2 & 1. |
| 0x007C9140 | 121 | UIPartyMatchWnd__on_item_selected | Handles item selection in the party match window. Checks if the selected player ID matches the local player (DAT_013896c4+0xC) or passes a validity check (CFmt__func_0059c490). If valid, updates the detail view at DAT_01457848+0xBC and calls FUN_0093d270. Otherwise, invokes vtable method +4 on child widget at +0x94. |
| 0x007C91C0 | 55 | UIPartyMatchWnd__request_player_info | Requests detailed info for the currently selected player in the party match window. Checks if +0x7C is set, then calls CFmt__func_00592420 to get player ID from +0x9C and CFmt__func_00599d00 to send the request. |
| 0x007C9200 | 139 | UIPartyMatchWnd__set_data_source | Sets the data source for the party match window. Stores param_2 at +0x7C, resets selection indices at +0x98 and +0x9C to 0, updates the party member display via FUN_007c92b0(0), refreshes child controls at +0x8C and +0x90 via vtable +0xD4, conditionally hiding the scroll control based on data count. |
| 0x007C9290 | 1 | stub_nop_007c9290 | Single-byte stub function (size=1) |
| 0x007C92B0 | 345 | UIPartyMatchWnd__update_member_slots | Updates the 3 party member display slots (at offsets +0x80, +0x84, +0x88). For each slot that exists, looks up the player character ID via CFmt__func_00592420, checks if it's the local player or a friend (CFmt__func_0059c490), then calls FUN_007cbb30 to update the slot display. If no data source is set (+0x7C == 0), passes -1 as the ID. Refreshes the control via vtable +0x98. |
| 0x007C9410 | 139 | UIPartyMatchWnd__update_single_slot | Updates a single party member slot in the match window. Gets the character ID via CFmt__func_00592420, checks if it's the local player or friend, then calls FUN_007cbb30 to refresh the slot display with appropriate coloring/state. If no data source (+0x7C == 0), uses -1 as placeholders. |
| 0x007C94A0 | 561 | UIPartyMatchWnd__create_member_slots | Creates 3 party member slots (at +0x80 to +0x88) and 2 navigation buttons (at +0x8C and +0x90). Each slot is a 0x8C-byte widget (FUN_007cb9f0) positioned vertically with 0x31 pixel spacing. The left and right nav buttons are 0x120-byte image buttons (FUN_0084eab0) with 3 button state images each. |
| 0x007C9790 | 1 | stub_nop_007c9790 | Single-byte stub function (size=1) |
| 0x007C97C0 | 210 | UIPartyMatchWnd__set_selection_index | Sets the current selection index in the party match list. Updates navigation button visibility (prev at +0x23, next at +0x24) based on whether there are more items to scroll. Adjusts the scroll offset at +0x26 to keep the selection visible (3 items per page). Refreshes member slot display via UIPartyMatchWnd__update_member_slots. |
| 0x007C98A0 | 74 | UIPartyMatchWnd__on_message | Message handler for the party match window. Handles: msg 6 (navigation buttons - prev/next), msg 0x3C (refresh), msg 0xAE (player info request), msg 0xB0 (keyboard - Enter=request info, Left=scroll up, Right=scroll down). On Enter or player info, looks up the character and either shows detail panel or sends friend/whisper request. |
| 0x007C9AF0 | 26 | UIPartyMatchWnd__hide_left_nav | Hides/shows the left navigation button at +0x8C via vtable +0xD4 call. |
| 0x007C9B10 | 26 | UIPartyMatchWnd__hide_right_nav | Hides/shows the right navigation button at +0x90 via vtable +0xD4 call. |
| 0x007C9B40 | 254 | build_party_search_filter_packet | Builds a party search filter packet with 5 filter parameters. Creates 5 pairs of (value, param_1) from the 5 input pointer params, then calls CFmt__func_00591270 with flag 0x11111 to send the packet. Used for filtering party match results. |
| 0x007C9C40 | 277 | UIPartyBookingWnd__ctor | Constructor for the Party Booking window. Calls base class ctor FUN_00a79a90(0), sets vtable to PTR_FUN_01124efc. Initializes member variables: data pointers (+0x1F to +0x24), strings at +0x28/+0x2F/+0x35 (with SSO buffers of 0xF capacity), selection index at +0x2A to -1, and various flags to 0. |
| 0x007C9D60 | 152 | UIPartyBookingWnd__dtor | Destructor for the Party Booking window. Sets vtable, saves current state (+0x20 = +0x1F), destroys 3 internal strings, clears a vector of pointers, then calls base class dtor FUN_00a79e90. |
| 0x007C9E00 | 176 | UIPartyBookingWnd__scalar_dtor | Scalar deleting destructor for the Party Booking window. Calls UIPartyBookingWnd__dtor logic, then conditionally frees 0xE0 bytes if param_2 & 1. |
| 0x007C9EB0 | 294 | UIPartyBookingWnd__apply_search_filters | Applies search filters in the Party Booking window. Reads filter values (FUN_00ae8310/8300/82f0/8320/83b0), builds a party search filter packet with the window's string at +0xAC and selection at +0xBC, then updates the display via FUN_00868880. Calls FUN_00ae8180/ae81a0 as pre/post processing. |
| 0x007C9FE0 | 274 | UIPartyBookingWnd__refresh_search | Refreshes the party search with current filter values. Similar to apply_search_filters but requires param_2 != 0 and doesn't call the pre/post processing functions. Builds and sends the filter packet, then updates the display. |
| 0x007CA100 | 438 | format_purchase_price_string | Formats a purchase price value into a display string. Calls CFmt__func_0059a110 to get the price. If price == 0, uses "EMSG_PURCHASE_FREE_PRICE" string. If price > 0, formats with "EMSG_PURCHASE_PRICE" template via CFmt__func_00591270. If price < 0 and no format string available, falls back to raw integer-to-string conversion. |
| 0x007CA2C0 | 653 | ItemShopGridWnd__populate_items | Populates item shop grid with item widgets. Iterates category item IDs, looks up item data in hash table, creates CItemSlotWidget for each valid item, arranges in 5-column grid layout. Returns 0x9F. |
| 0x007CA550 | 306 | UIPartyBookingWnd__create_header_controls | Creates header controls for the Party Booking window. Creates two text label widgets (0xD8 alloc, FUN_00850550): one at +0x88 positioned at (0x21, 0xE) with alignment=1, and one at +0x8C positioned at (0xA, 0x2A) with color 0xD60x180x10 and font size 0xB. |
| 0x007CA690 | 195 | UIPartyBookingWnd__draw_background | Draws the background images for the Party Booking window. Renders up to 3 images: main background from +0x90 string (stretched to window size), a smaller image from +0xC4 string at position (0xAB, 0xC), and a conditional overlay from a fixed DAT path if +0xDC flag is set. |
| 0x007CA7C0 | 23 | ItemShopGridWnd__notify_parent_repaint | Notifies parent window to repaint by calling parent's vtable +0x8C method (invalidate/redraw). Called when grid content changes. |
| 0x007CA7E0 | 136 | ItemShopGridWnd__on_command_timer_and_scroll | Message handler for ItemShopGridWnd. Handles msg 0x3C (timer tick, refreshes display and forwards to parent), msg 0xAE (item selection, forwards to parent). Other messages delegated to base class. |
| 0x007CA870 | 126 | ItemShopGridWnd__set_texture_by_type | Sets background texture path based on shop type. Type 1 loads path from message table entry at 01125010, type 2 from 0112503c. Other types clear the string to empty. |
| 0x007CA8F0 | 108 | ItemShopGridWnd__set_title_text | Sets title text for ItemShopGridWnd. If param is null, clears string at +0xAC and resets +0xBC to 0. Otherwise assigns the string. Refreshes text display via child control at +0x8C. |
| 0x007CA9C0 | 1 | stub_nop_007ca9c0 | Single-byte stub function (size=1) |
| 0x007CA9D0 | 197 | ItemShopGridWnd__vector_reallocate_aligned | Reallocates the item widget pointer vector with aligned allocation. Copies existing data, frees old buffer (with aligned-delete for >0xFFF byte allocations), updates begin/end/capacity pointers. |
| 0x007CAAC0 | 240 | ItemShopGridWnd__ctor | Constructor for ItemShopGridWnd. Calls base UIPartyBookingWnd ctor, sets vtable to 0112509c. Creates a 0xC-byte timer object at +0x38 and a 4-byte observer at +0x39. Loads default texture path from message table. |
| 0x007CABB0 | 136 | ItemShopGridWnd__dtor | Destructor for ItemShopGridWnd. Sets vtable, destroys timer object at +0x38 and observer at +0x39, then calls base UIPartyBookingWnd destructor. |
| 0x007CAC40 | 160 | ItemShopGridWnd__scalar_deleting_dtor | Scalar deleting destructor for ItemShopGridWnd. Destroys timer and observer objects, calls base UIPartyBookingWnd dtor, frees 0xE8 bytes if param_2 & 1. |
| 0x007CACE0 | 400 | ItemShopGridWnd__update_timer_display | Updates the countdown timer display for item shop. Gets elapsed server time, calculates remaining time. If less than 61 seconds, shows "last time" message. Otherwise formats days/hours/minutes string using EMSG format template. Triggers 0x3C timer refresh event. |
| 0x007CAE70 | 42 | ItemShopGridWnd__forward_selection_to_parent | Forwards item selection to parent. If param_2 is non-null and the grid has valid data (+0x23 and +0x2F non-zero), calls vtable +0xDC with the selected item ID. |
| 0x007CAEA0 | 9 | thunk_to_ItemShopGridWnd__populate_items | Simple thunk that jumps to ItemShopGridWnd__populate_items (007ca2c0). |
| 0x007CAEC0 | 147 | UIPartyBookingWnd__on_message | Message handler for the Party Booking window. Handles: msg 0x3C (timer/refresh - redraws and forwards to parent at +4), msg 0xAE (calls handler at +0x39 vtable +4), msg 0xAF (calls handler at +0x38 vtable +4). All other messages delegate to FUN_00a83660 (base handler). |
| 0x007CAF60 | 505 | UIPartyBookingWnd__populate_member_grid | Populates the party member grid in the booking window. If +0x22 is set, updates the title text from param_2. Clears existing member widgets (calling FUN_00a82e50 to remove each), then creates new 0x8C-byte member slot widgets (FUN_007cb9f0) from the data pairs in param_3 vector. Arranges in a 5-column grid with 0x2F pixel spacing both horizontally and vertically. Returns the total height used. |
| 0x007CB1A0 | 146 | UIPartyBookingSearchWnd__ctor | Constructor for the Party Booking Search window. Calls UIPartyBookingWnd__ctor as base, sets intermediate vtable to SaleShopGridWnd vtable, then final vtable to PTR_FUN_011251fc. Creates a callback object (0xC bytes) at +0x38 via CFmt__func_00591ca0. |
| 0x007CB240 | 123 | UIPartyBookingSearchWnd__dtor | Destructor for the Party Booking Search window. Sets vtable, destroys callback at +0x38 (calling its first virtual method with 1), sets intermediate vtable, then calls UIPartyBookingWnd__dtor. |
| 0x007CB2C0 | 147 | UIPartyBookingSearchWnd__scalar_dtor | Scalar deleting destructor for the Party Booking Search window. Calls UIPartyBookingSearchWnd__dtor logic, then conditionally frees 0xE4 bytes if param_2 & 1. |
| 0x007CB360 | 49 | UIPartyBookingSearchWnd__on_message_v2 | Message handler for Party Booking Search window variant. Handles msg 0xAF (calls handler at +0xE0 vtable +4). All other messages delegate to ItemShopGridWnd__on_command_timer_and_scroll. |
| 0x007CB3A0 | 159 | UIPartyBookingObserverWnd__ctor | Constructor for Party Booking Observer window. Calls UIPartyBookingWnd__ctor, sets intermediate vtable, then final vtable to PTR_FUN_011252e0. Creates a 4-byte observer object at +0x38 with EmotionItemCtrl observer vtable. |
| 0x007CB440 | 123 | UIPartyBookingObserverWnd__dtor | Destructor for Party Booking Observer window. Sets vtable, destroys observer at +0x38, sets intermediate vtable, then calls UIPartyBookingWnd__dtor. |
| 0x007CB4C0 | 147 | UIPartyBookingObserverWnd__scalar_dtor | Scalar deleting destructor for Party Booking Observer window. Calls dtor logic and frees 0xE4 bytes if param_2 & 1. |
| 0x007CB560 | 120 | UIPartyBookingObserverWnd__on_message | Message handler for the Party Booking Observer window. Handles: msg 0x3C (timer/refresh - redraws and forwards to parent), msg 0xAE (calls handler at +0x38 vtable +4). Other messages delegate to ItemShopGridWnd__on_command_timer_and_scroll. |
| 0x007CB5E0 | 193 | UIPartyBookingDetailWnd__ctor | Constructor for Party Booking Detail window. Calls UIPartyBookingWnd__ctor as base, sets vtable to PTR_FUN_011253c4. Initializes a flag at +0x38 to 0, a string at +0x39 (with initial content from FUN_00b01200 lookup of DAT_011254d4), and redraws via vtable +0x98. |
| 0x007CB6B0 | 95 | UIPartyBookingDetailWnd__dtor | Destructor for Party Booking Detail window. Sets vtable, destroys the internal string, then calls UIPartyBookingWnd__dtor. |
| 0x007CB710 | 119 | UIPartyBookingDetailWnd__scalar_deleting_dtor | Scalar deleting destructor for UIPartyBookingDetailWnd. Sets vtable, destroys internal string at +0x39, calls UIPartyBookingWnd__dtor, then frees 0xFC bytes if param_2 & 1. |
| 0x007CB790 | 191 | UIPartyBookingDetailWnd__populate_and_set_price | UIPartyBookingDetailWnd method. Populates items via ItemShopGridWnd__populate_items, then formats the purchase price string and stores it at +0xE4 (an STL string member). |
| 0x007CB850 | 64 | UIPartyBookingDetailWnd__render_price_label | UIPartyBookingDetailWnd render method. Draws the base background, then if a price string exists at +0xE4, renders it right-aligned in gold color (0xE68C5A) at position (0xE9, 0x2A). |
| 0x007CB8F0 | 127 | UIPartyBookingDetailWnd__set_sold_out_state | UIPartyBookingDetailWnd method. Sets the sold-out state flag at +0x38. When sold out (param_2 != 0), loads the sold-out message string; otherwise loads the normal title. Updates internal string at +0x39 and redraws. |
| 0x007CB970 | 72 | ItemShopGridWnd__on_item_click | Message handler for ItemShopGridWnd. On msg 0xAE (item click): if not disabled (+0xE0) and parent exists, forwards item data (+0xA8) to parent as msg 0xAB. Other messages delegate to base handler. |
| 0x007CB9F0 | 122 | CItemSlotWidget__ctor | Constructor for CItemSlotWidget. Calls CEffect__ctor as base, sets vtable. Initializes item ID pair at +0x1F/+0x20 to 0, child widget pointer at +0x21 to null, and flag at +0x22 to 0. |
| 0x007CBA70 | 71 | CItemSlotWidget__dtor | Destructor for CItemSlotWidget. Sets vtable and calls CEffect__dtor. |
| 0x007CBAC0 | 99 | CItemSlotWidget__scalar_deleting_dtor | Scalar deleting destructor for CItemSlotWidget. Calls CEffect__dtor, then frees 0x8C bytes if param_2 & 1. |
| 0x007CBB30 | 313 | CItemSlotWidget__set_item | Sets item data for a slot widget. Looks up item info by ID pair, loads sprite/action data, sets quantity limits (BC/C0). If param_4 is true, loads item name string. Updates visibility and refresh flags. |
| 0x007CBC70 | 177 | CItemSlotWidget__create_child_button | Creates a child CUISmallWidget button (0x11C bytes) for the item slot. Sets it at +0x84, configures size, position (0,0), and button ID 0xBD, then adds to child list. |
| 0x007CBD30 | 108 | CItemSlotWidget__render_highlight | Renders the item slot highlight. Calls parent notify, then if both flags at +0x88 and +0x89 are set, draws a colored 3D border around the widget using CColorPicker pixel (14,6). |
| 0x007CBE50 | 23 | CItemSlotWidget__on_refresh | On-refresh handler for CItemSlotWidget. If a parent widget exists at +0x10, calls its virtual method at vtable offset 0x8C. |
| 0x007CBE70 | 136 | CItemSlotWidget__on_command | Handles commands for an item slot widget. Processes item slot interactions like click, drag, and tooltip display. |
| 0x007CBF00 | 23 | CItemSlotWidget__refresh_child_button | Refreshes the child button widget at +0x84 by calling CUIWidget__set_flag_and_refresh on it, if it exists. |
| 0x007CBF20 | 121 | CUIScrollPanel__ctor | Constructor for CUIScrollPanel. Calls UISpriteWidget__ctor as base, sets vtable. Initializes: flag at +0x2D to 0, scroll IDs at +0x2B/+0x2C to 0x87, and style at +0x29 to 0xB. |
| 0x007CBFA0 | 71 | CUIScrollPanel__dtor | Destructor for CUIScrollPanel. Sets vtable and calls UIBaseWidgetA__dtor. |
| 0x007CBFF0 | 99 | CUIScrollPanel__scalar_deleting_dtor | Scalar deleting destructor for CUIScrollPanel. Calls UIBaseWidgetA__dtor, then frees 0xB8 bytes if param_2 & 1. |
| 0x007CC060 | 548 | CUIScrollPanel__render_frame | Renders scroll panel frame. Draws background fill, top/bottom border sprites based on enabled/disabled state and scroll direction mode (1=vertical, 4=horizontal). Draws scrollbar track with repeating middle segment. |
| 0x007CC290 | 32 | CUIScrollPanel__set_disabled_state | Sets disabled state for CUIScrollPanel. Updates flag at +0x2D and triggers redraw if the value changed. |
| 0x007CC2B0 | 155 | ItemShopGridWnd__ctor_with_params | Constructor for ItemShopGridWnd with parameters. Calls UIScrollPanel__ctor_009ac040 with params, sets vtable. Removes existing scrollbar entries at +0x23/+0x24, resets them to 0, sets style at +0x25 to 0xB. |
| 0x007CC440 | 376 | CUIScrollPanel__add_child_and_update_tree | Adds a child widget to the scroll panel and updates the tree layout. Recalculates scroll bounds and positions child elements. |
| 0x007CC5C0 | 9 | thunk_to_virtual_method_offset_0x3c_007cc5c0 | Calls virtual method at offset 0x3c from vtable |
| 0x007CC5D0 | 65 | CUIScrollPanel__reset_scrollbar_refs | Resets scrollbar references for CUIScrollPanel. Removes entries at +0x8C and +0x90, nulls them out, and resets style at +0x94 to 0xB. |
| 0x007CC620 | 52 | CUIScrollPanel__update_scrollbar_visibility | Updates scrollbar visibility for CUIScrollPanel. Recalculates layout, then if scrollbar at +0x90 exists, shows it and sets disabled state based on flag at +0xA5. |
| 0x007CC870 | 96 | CUISmallWidget__ctor_with_parent | Constructor for a small UI widget with parent. Calls UISmallWidget__constructor with parent param, sets vtable to 011258FC, initializes flag at +0x46 to 0. |
| 0x007CC8D0 | 71 | CUIWidget__dtor_base_007cc8d0 | Destructor base for a UI widget class. Sets vtable to PTR_FUN_011258fc and calls cleanup at 0x851c10. |
| 0x007CC920 | 99 | CUIWidget__scalar_deleting_dtor_007cc920 | Scalar deleting destructor for UI widget (vtable PTR_FUN_011258fc). Calls base dtor then optionally frees 0x11c bytes. |
| 0x007CC9C0 | 971 | CUIWidget__render_sprite_frames | Renders sprite animation frames for a UI widget. Iterates through frame list, calculates source/dest rectangles with clipping, and calls the render surface's blit function. Handles animation frame advancement and looping. |
| 0x007CCD90 | 119 | CUIWidget__draw_title_and_dispatch | Draws title text with offset (-20) if title flag is set, then dispatches to virtual function 0x6c for rendering if not hidden. |
| 0x007CCE10 | 32 | CUIWidget__set_flag_and_refresh | Sets a boolean flag at offset 0x118 and triggers a refresh via virtual function 0x98 if the value changed. |
| 0x007CD560 | 131 | CHashTable__destroy_all_entries | Destroys all entries in a hash table by walking the linked list, destroying two strings per 0x100-byte entry, then freeing each entry. |
| 0x007CD5F0 | 351 | CCashShopWnd__ctor | Constructor for CCashShopWnd. Initializes vtable (PTR_FUN_01125d38), allocates hash table (0x100 bytes) and map sentinel node (0x18 bytes). Sets default values: tab count=9, columns=3. Initializes all widget pointers to null. |
| 0x007CD750 | 173 | CCashShopTabWidget__ctor | Constructor for CCashShopTabWidget. Initializes vtable (PTR_FUN_011259d8), clears widget fields, records current timeGetTime() timestamp. |
| 0x007CD800 | 181 | CCashShopItemWidget__ctor | Constructor for CCashShopItemWidget. Initializes vtable (PTR_FUN_01125b88), clears widget fields, sets display mode=6. |
| 0x007CD8C0 | 97 | CCashShopItemInfoWidget__ctor | Constructor for CCashShopItemInfoWidget. Initializes vtable (PTR_FUN_01125ab0), calls CItemInfoMgr cleanup. |
| 0x007CD930 | 125 | CCashShopSlotWidget__ctor | Constructor for CCashShopSlotWidget. Initializes vtable (PTR_FUN_01125c60), clears info field, calls CItemInfoMgr cleanup. Sets flag at 0x178=0 and 0x17c=0. |
| 0x007CDB20 | 76 | CHashTable__dtor | Hash table destructor. Calls CHashTable__destroy_all_entries then frees the 0x100-byte bucket array. |
| 0x007CDE30 | 154 | CCashShopWnd__dtor | CCashShopWnd destructor. Sets vtable, deallocates vectors, clears map nodes, destroys hash table entries, and calls base class destructor. |
| 0x007CDED0 | 107 | CCashShopTabWidget__dtor | CCashShopTabWidget destructor. Sets vtable (PTR_FUN_011259d8), deallocates vector and destroys 0x30-element vector, calls base dtor. |
| 0x007CDF40 | 107 | CCashShopItemWidget__dtor | CCashShopItemWidget destructor. Sets vtable (PTR_FUN_01125b88), calls stub cleanup and vector deallocation, then base dtor. |
| 0x007CDFB0 | 121 | CCashShopItemInfoWidget__dtor | CCashShopItemInfoWidget destructor. Sets vtable (PTR_FUN_01125ab0), destroys two STL strings, calls base dtor. |
| 0x007CE030 | 121 | CCashShopSlotWidget__dtor | CCashShopSlotWidget destructor. Sets vtable (PTR_FUN_01125c60), destroys two STL strings, calls base dtor. |
| 0x007CE210 | 178 | CCashShopWnd__scalar_deleting_dtor | CCashShopWnd scalar deleting destructor. Calls full destructor then optionally frees 0x108 bytes. |
| 0x007CE2D0 | 131 | CCashShopTabWidget__scalar_deleting_dtor | CCashShopTabWidget scalar deleting destructor. Calls full destructor then optionally frees 0x9c bytes. |
| 0x007CE360 | 131 | CCashShopItemWidget__scalar_deleting_dtor | CCashShopItemWidget scalar deleting destructor. Calls full destructor then optionally frees 0xa0 bytes. |
| 0x007CE3F0 | 145 | CCashShopItemInfoWidget__scalar_deleting_dtor | CCashShopItemInfoWidget scalar deleting destructor. Calls full destructor then optionally frees 0x178 bytes. |
| 0x007CE490 | 145 | CCashShopSlotWidget__scalar_deleting_dtor | CCashShopSlotWidget scalar deleting destructor. Calls full destructor then optionally frees 0x180 bytes. |
| 0x007CE530 | 62 | CUIWidget__update_scroll_and_refresh | Updates scroll position by calling stub_005dea30, then sends notification message (type=7) and triggers refresh via vfunc 0x98. |
| 0x007CE570 | 177 | CCashShopWnd__on_mouse_event | Cash shop window mouse event handler. Checks if job ID is 0x271b (special job), if so delegates to base handler. Otherwise checks mouse state and sends UI notifications for item selection/purchase. |
| 0x007CE630 | 139 | CCashShopWnd__on_mouse_event_alt | Cash shop window alternative mouse handler. Similar to 007ce570 but for different mouse action (state==6 triggers purchase mode 0xf with notification 0x13). |
| 0x007CE6C0 | 20 | CUIWidget__call_child_vfunc_0x28 | Calls virtual function 0x28 on the child widget at offset 0x10 if it exists. |
| 0x007CE6E0 | 20 | CUIWidget__call_child_vfunc_0x28_alt | Calls virtual function 0x28 on the child widget at offset 0x10 if it exists. Duplicate of 007ce6c0. |
| 0x007CE740 | 4112 | CCashShopWnd__create_ui_widgets | Creates all UI widgets for the cash shop window. Creates tab widgets for 11 categories (skipping indices 8,10), category buttons with sprite resources, search/filter input fields, item info panels, slot grid (rows*columns), scroll bar widget, and navigation buttons. |
| 0x007CF760 | 959 | CCashShopWnd__create_scrollbar_and_slots | Creates scrollbar (up/down/bar sprites from cashshop_shop_scroll_*.bmp) and item slot widgets for the cash shop. Creates sprite widget for scrollbar, then allocates CCashShopItemInfoWidget slots based on config count. |
| 0x007CFB20 | 505 | CCashShopWnd__create_tab_buttons | Creates three tab button widgets for the cash shop using UIButtonWidget. Each tab has normal/hover/pressed sprite states and unique button IDs (0xd3, 0x117, 0x118). |
| 0x007CFD20 | 500 | CCashShopSlotWidget__create_ui_elements | Creates UI elements for a cash shop slot widget: a text button with item name (ID 0x6f3) and an item slot widget for item icon display. |
| 0x007CFF20 | 1475 | CCashShopWnd__render_info_panel | Renders the cash shop info panel. Draws background sprite, item name, price info, category labels. Handles Stove shop vs normal mode with XOR-encrypted label strings. Displays current cash/point balance. |
| 0x007D04F0 | 255 | CCashShopWnd__load_selected_item_sprite | Loads sprite for the currently selected item. Constructs resource path from selected item data (at offset 0x94*0x30 in item list), loads and displays sprite. |
| 0x007D05F0 | 188 | CCashShopWnd__update_item_slots | Updates all visible item slots in the cash shop. Loads background sprite, then iterates through visible slots, updating each with item data from the item array at offset 0x88. Hides slots that exceed the item count. |
| 0x007D06B0 | 495 | CCashShopItemWidget__render | Renders a single cash shop item widget. Draws item name, loads item sprite via resource ID, renders item count and price text. |
| 0x007D08A0 | 1908 | CCashShopSlotWidget__render | Renders a cash shop slot widget. Two modes based on flag 0x178: mode 1 shows item name/price/sprite with sale dates (start/end timestamps at 0xfc/0x100); mode 0 shows compact item display with name, sprite and price. Formats dates using localtime. |
| 0x007D1040 | 50 | CCashShopSlotWidget__show_item_tooltip | Shows item tooltip for the currently selected cash shop slot. Calls tooltip display (type 4) with item data from offset 0x80. |
| 0x007D1080 | 46 | CCashShopSlotWidget__show_item_tooltip_alt | Shows alternative item tooltip (type 6, quantity 1) for cash shop slot if item data exists at offset 0x84. |
| 0x007D10B0 | 164 | CCashShopWnd__open_url_from_item | Opens a URL from the selected item's string data at offset 0x18 within the item entry. Uses ShellExecuteA with "open" verb. |
| 0x007D1160 | 101 | CCashShopItemWidget__show_tooltip_on_hover | Shows tooltip when mouse hovers within item widget bounds (x: 0x30-0xa0, y: 0x0c-0x17). Displays item name string with offset (-20). |
| 0x007D11D0 | 88 | CCashShopItemWidget__show_tooltip_on_hover_alt | Shows tooltip when mouse y position < 0x18. Displays item name string with offset (-20). |
| 0x007D1240 | 634 | CCashShopWnd__update_search_text | Updates search/filter text in the cash shop. Gets current text, compares with default placeholder text (ID 0xce6). If empty, resets text color to gray. Updates tab scrollbar visibility. |
| 0x007D14C0 | 113 | CCashShopTabWidget__auto_scroll_timer | Auto-scroll timer for tab widget. After 5 second timeout, auto-scrolls to next item in the list and sends notification (type 6, ID 0xd7). |
| 0x007D1540 | 65 | CCashShopItemWidget__on_right_click | Right-click handler for item widget. If click x is within bounds (4-0x29), opens item context menu (type 0xc, notification 0x18). |
| 0x007D1590 | 76 | CCashShopItemWidget__on_right_click_area | Right-click area handler for item widget. If click is within bounds (x: 5-0x50, y: 0x17-0x7b), opens context menu (type 0xc, notification 0x18). |
| 0x007D15E0 | 51 | CCashShopTabWidget__on_mouse_wheel | Mouse wheel handler for tab widget. Scrolls up (+1) or down (-1) based on wheel delta direction, sending notification type 7. |
| 0x007D1620 | 23 | CUIWidget__call_child_vfunc_0x8c | Calls virtual function 0x8c on child widget at offset 0x10 if it exists. |
| 0x007D1640 | 350 | CCashShopTabWidget__populate_item_list | Populates the item list in the tab widget. Creates UIMultiStringWidget entries for each item in the data range [0x1f, 0x20), positions them vertically, and highlights the selected item at index 0x25. |
| 0x007D17A0 | 139 | CCashShopWnd__process_notification | Main notification processor for the cash shop window. Handles category switching (0xd7), purchase (0xe0), URL open (0x11c), page navigation (0x13c/0x13d), search (0x141), cart operations (0x182-0x184), banner setup (0x22), item add to cart (0x26), window open/close (0x78/0x7a). Reads NeoCash registry key for category persistence. Supports both normal and Stove shop modes. |
| 0x007D2C00 | 170 | CCashShopTabWidget__on_child_notification | Child notification handler for tab widget. On category change (type 6, ID 0xd7), highlights the selected child widget and resets auto-scroll timer via timeGetTime(). |
| 0x007D2CB0 | 163 | CCashShopItemWidget__process_notification | Notification processor for cash shop item list widget (cart). Handles scrolling (type 7/9/10), item add/remove (type 0x1f with quantity), item delete (type 0x68). Manages item quantities with max 100 limit, updates total price via notification 0x9b. Supports Stove shop confirmation dialog with XOR-encrypted strings. |
| 0x007D3430 | 272 | UIInputAmountWnd__OnMessage | Message handler for input amount window. Handles button clicks (msg 6): confirm (0xD3) parses amount string via atoi, up/down arrows (0x117/0x118) adjust value. Also handles item desc copy (msg 0x17). |
| 0x007D3540 | 628 | UICharRenameWnd__OnMessage | Message handler for character rename window. Handles button click (msg 6, 0xE0) and item desc (msg 0x17). On msg 0x17, updates char slot display and handles rename confirmation vs regular mode. |
| 0x007D37C0 | 364 | UICharSelectWnd__update_slot_display | Updates the visual display of character slots on the current page. Iterates through slot UI elements, hides them initially, then positions and populates each with character data from the linked list. Handles grid layout with different row heights depending on mode (0x33==9). Calls virtual method 0x94 to set slot content and 0x98 to refresh. |
| 0x007D3B70 | 32 | CShopItemList__clear | Clears a shop item linked list. Calls destroy helper, resets sentinel node links and size to 0. |
| 0x007D3B90 | 24 | CShopItemList__erase_to_end | Erases shop items from begin to end of list, then resets the end pointer to begin. Effectively clears a subrange by destroying the item entries and unlinking nodes. |
| 0x007D3C70 | 173 | CShopItemList__push_back | Pushes a new CShopItem to the back of the linked list. Allocates 0x100 byte node, copy-constructs the item data, links into doubly-linked list. Throws length_error if list is at max capacity (0xFFFFFF). |
| 0x007D4190 | 902 | UICharSelectWnd__constructor | UICharSelectWnd constructor. Initializes base class, vtable, slot arrays, page counters. Allocates CCharSlotEntry array (0x15C bytes each) via eh_vector_constructor. Sets up visibility flags, column/row layout, retrieves slot counts from server. Calls timeGetTime for animation timing. |
| 0x007D4520 | 245 | CCharSlotEntry__constructor | CCharSlotEntry constructor. Initializes 5 STL string pairs (offsets 0x8 and 0x80) for character name fields. Zeroes out status/ID/string fields at 0xF8, 0x118, 0x130. |
| 0x007D4840 | 192 | CCharSlotEntry__scalar_dtor | CCharSlotEntry scalar destructor. Sets vtable, destroys report tree, destroys two strings, then destroys map tree and frees sentinel node. |
| 0x007D4900 | 244 | UICharSelectWnd__destructor | UICharSelectWnd destructor. Resets vtable, destroys CCharSlotEntry array via eh_vector_destructor, frees slot data buffer and visibility/flags buffers. Deallocates three internal vectors, destroys report tree, and calls base destructor. |
| 0x007D4A00 | 155 | CCharSlotEntry__destructor | CCharSlotEntry destructor. Destroys 3 STL strings and 2 arrays of 5 STL strings each (at offsets 0x80 and 0x8). |
| 0x007D4AA0 | 163 | CCharSlotEntry__vector_deleting_dtor | Vector deleting destructor for CCharSlotEntry. Destroys and frees array or single object. |
| 0x007D4B50 | 38 | CCharSlotEntry__scalar_dtor_small | Scalar deleting destructor for CCharSlotEntry. |
| 0x007D4B80 | 268 | UICharSelectWnd__scalar_deleting_dtor | Scalar deleting destructor for UICharSelectWnd. Cleans up character selection UI resources. |
| 0x007D4C90 | 171 | UICharSelectWnd__update_pincode_button | Updates the pincode/2nd password button visibility for the selected character slot. Queries char data for selected slot (DAT_017304da), checks if pincode (field 0x9e) exists, and shows/hides the confirmation button accordingly. Calls refresh (virtual 0x98). |
| 0x007D4D40 | 227 | UICharSelectWnd__create_sprite_for_slot | Creates a character sprite preview for a specific slot. Gets character data and appearance info (job, head, body, etc.), builds a SpriteLayerNode with all visual parameters, then calls render function. Destroys the temporary entry afterward. |
| 0x007D4E30 | 145 | UICharSelectWnd__update_slot_selection | Updates the slot selection state. Given a slot index, calculates page position, shows the slot UI element, checks visibility flags and deletion marks. If slot is selectable, enables visual selection highlight (sets field 0x2b=1) and refreshes. |
| 0x007D4ED0 | 297 | UICharSelectWnd__update_slot_deletion_mark | Updates the deletion time marker for a character slot. If char has a pending delete reservation (field 0x9e > 0), opens the delete timer resource and sets countdown icon dimensions (0x10 x 0x10). Otherwise clears the marker. Returns 1 on success, 0 if slot out of range. |
| 0x007D5010 | 190 | UICharSelectWnd__draw_slot_type_labels | Draws "Premium" or "Billing" service type labels on character slots. Checks slot index against Premium/Billing slot ranges (DAT_01737ff8/01737ffc/01738000) and renders the appropriate label text plus a "Service" subtitle. |
| 0x007D50D0 | 91 | UICharSelectWnd__set_char_name | Sets the character name string for display. Copies source string into the field at offset 0xA8 of the object. |
| 0x007D5130 | 66 | UICharSelectWnd__handle_page_button_click | Handles page navigation button clicks. Message 0x1A0 = previous page button, 0x1A1 = next page button. Dispatches to respective button show/hide virtual calls (0xD4). |
| 0x007D5180 | 201 | UICharSelectWnd__load_slot_from_registry | Loads the last selected character slot from Windows Registry. Reads CURSLOT value from HKEY_LOCAL_MACHINE, divides by slots_per_page to get page index and slot offset. Validates page index against max pages. Sets fields 0x11C (current page) and 0x120 (selected slot on page). |
| 0x007D5250 | 84 | UICharSelectWnd__has_pending_actions | Checks if there are pending actions in the action queue (deque). Returns 1 if the last entry in the deque is non-null, 0 otherwise. Used to prevent user input during pending operations. |
| 0x007D52B0 | 8317 | UICharSelectWnd__OnCreate | UICharSelectWnd::OnCreate - Main initialization for the character select screen. Too large to decompile (>5000 bytes). Sets up UI elements, slot grid, buttons, character sprites. |
| 0x007D7330 | 1035 | UICharSelectWnd__refresh_all_slots | Refreshes all character slots on the current page. Sets background color, iterates slots_per_page times. For each slot: queries character data from session, draws Premium/Billing labels, creates sprite preview if character exists and slot is visible, updates slot selection state and deletion markers. Also updates pincode button state for selected char. |
| 0x007D77D0 | 207 | UICharSelectWnd__OnMessage | UICharSelectWnd message handler. Handles: 0xB8=enter game (with blocked char check, anticheat sweep), 0xB9=back to login (with hotkey save), 0xCB=slot click, 0xCC=slot select (with move/delete checks), 0xD3=make character, 0x11C/0x11E=error display, 0x13C=page prev, 0x13D=page next, 0x15F/0x160=char info popup, 0x197=rename char, 0x198=move slot, 0x1A0-1A2=page buttons, 0x1B0-1B4=slot operations. Also handles keyboard nav (0x12-0x15 arrow keys). |
| 0x007D9090 | 66 | UICharSelectWnd__handle_page_button_click2 | Handles page button click messages (duplicate handler). 0x1A0 = show previous page button, 0x1A1 = show next page button. Dispatches to button visibility virtual call (0xD4). |
| 0x007D90E0 | 373 | UICharSelectWnd__update_button_states | Updates button visibility states based on selected slot. Checks if selected slot has a character, and whether it has a deletion reservation. Shows/hides the enter button (0xC0), pincode button (0x100), and delete confirm button (0xC4) accordingly. Queries pincode service state for unlock decisions. |
| 0x007D9310 | 1179 | UICharSelectWnd__update_char_info_display | Updates the character info display panel for the selected slot. Shows character portrait, job name, base/job levels, STR/AGI/VIT/INT/DEX/LUK stats, and map name. Updates slot availability visual indicator (available vs locked). Calls update_button_states at the end. |
| 0x007D97B0 | 118 | UICharSelectWnd__save_slot_to_registry | Saves the currently selected character slot index to Windows Registry. Writes CURSLOT value (page * slots_per_page + offset) to HKEY_LOCAL_MACHINE under the RO client registry path. |
| 0x007D9960 | 84 | UICharSlotWnd__ctor | UICharSlotWnd constructor. Calls base dialog window constructor, then sets vtable to UICharSlotWnd vtable. Object size is 0x120 bytes. |
| 0x007D99C0 | 131 | UICharSlotWnd2__ctor | UICharSlotWnd2 constructor. Takes two parameters (slot index and sex). Calls base dialog constructor, sets vtable to UICharSlotWnd2 vtable. Stores params at +0x48 (slot index) and +0x49 (sex). Zeroes +0x4A, +0x4B, +0x4C. Object size is 0x134 bytes. |
| 0x007D9A50 | 1498 | UICharMakeWnd__init_appearance | UICharMakeWnd appearance initialization. Sets vtable. Constructs 5+5 STL string arrays for sprite resource paths (head palette, body palette, weapon, body, shield, IMF). Reads server appearance config (hair colors, cloth colors, head styles, sex). Sets default stat multipliers (100), slot index from DAT_017304da. Builds initial sprite resource paths for job 0 / default sex. Initializes animation timing (timeGetTime) and movement state fields. Object size 0x36C. |
| 0x007DA030 | 71 | UICharSlotWnd__dtor | UICharSlotWnd destructor. Resets vtable, calls base dialog destructor. |
| 0x007DA080 | 71 | UICharSlotWnd2__dtor | UICharSlotWnd2 destructor. Resets vtable, calls base dialog destructor. |
| 0x007DA0D0 | 95 | UICharMakeWnd__dtor | UICharMakeWnd destructor. Sets vtable, destroys char slot entry arrays, calls base window destructor. |
| 0x007DA130 | 99 | UICharSlotWnd__scalar_deleting_dtor | Scalar deleting destructor for UICharSlotWnd. 0x120 bytes. Calls base UI window destructor. |
| 0x007DA1A0 | 99 | UICharSlotWnd2__scalar_deleting_dtor | Scalar deleting destructor for UICharSlotWnd2. 0x134 bytes. Calls base UI window destructor. |
| 0x007DA210 | 119 | UICharMakeWnd__scalar_deleting_dtor | UICharMakeWnd scalar deleting destructor. Object size 0x36C bytes. Destroys char slot entries and base window, optionally frees memory. |
| 0x007DA290 | 176 | UICharMakeWnd__CreateSlotPanel | Creates the character slot panel widget (0x120 bytes) within UICharMakeWnd. Allocates UICharSlotWnd, sets size 0x24x0x25, adds as child, sends init message 0x28. |
| 0x007DA340 | 3304 | UICharMakeWnd__OnCreate | UICharMakeWnd OnCreate - initializes character creation UI. Creates: back button (msg 0xB9), confirm button with name validation (msg 0xB8), cancel button (msg 0xB9), name text input field, job class scroll widget (msg 0xE3/0xE2 for arrows), 24 character slot preview widgets (4x6 grid, msg 0x20C), sex toggle buttons (msg 0x20D), 9 hair style buttons (msg 0x1EF), appearance label text. Sets default message ID to 0xB8. |
| 0x007DB030 | 718 | UICharMakeWnd__OnDraw | UICharMakeWnd OnDraw handler - renders the character creation preview. Draws background sprite, server name label, and two sprite layers for character preview (body + accessory). Loads IMF, head, body, and accessory sprite resources. Uses sprite frame data and tile cache for rendering at calculated offsets. |
| 0x007DB300 | 20 | UICharMakeWnd__thunk_Show | Thunk - delegates Show call to internal panel at +0x10, vtable offset 0x68. |
| 0x007DB320 | 20 | UICharMakeWnd__thunk_Hide | Thunk - delegates Hide call to internal panel at +0x10, vtable offset 0x64. |
| 0x007DB340 | 20 | UICharMakeWnd__thunk_Refresh | Thunk - delegates Refresh call to internal panel at +0x10, vtable offset 0x7C. |
| 0x007DB360 | 20 | UICharMakeWnd__thunk_Enable | Thunk - delegates Enable call to internal panel at +0x10, vtable offset 0x70. |
| 0x007DB380 | 20 | UICharMakeWnd__thunk_Disable | Thunk - delegates Disable call to internal panel at +0x10, vtable offset 0x6C. |
| 0x007DB3A0 | 20 | UICharMakeWnd__thunk_SetFocus | Thunk - delegates SetFocus call to internal panel at +0x10, vtable offset 0x74. |
| 0x007DB3C0 | 20 | UICharMakeWnd__thunk_SetPosition | Thunk - delegates SetPosition call to internal panel at +0x10, vtable offset 0x78. |
| 0x007DB400 | 553 | UICharMakeWnd__OnMessage_slot | UICharMakeWnd slot message handler for UICharSlotWnd2 child widgets. Handles message 0xD (selection state toggle - updates button textures for selected/deselected state), and message 0x28 (load sprite preview - builds job/sex-dependent bitmap path and loads textures into slot panel widget at +0x4B). Falls through to base handler for other messages. |
| 0x007DB630 | 828 | UICharMakeWnd__ProcessMessage | UICharMakeWnd ProcessMessage - handles character creation UI interactions. Message 0: copy name from text input to char data. Message 6/0xB8: validate character name (min 4 chars, no banned strings, no gravity/GM markers, ASCII-only check, no control chars, no leading/trailing spaces, max 23 chars), then send create packet 0x2721 with appearance data. 0xB9: cancel and unregister window. 0xCC: job class tab selection (updates slot widgets). 0xD7/0x1EF: hair style picker. 0xE2/0xE3: appearance prev/next arrows. 0x20C: slot grid click (updates weapon/equip display). 0x20D: sex toggle (male/female). |
| 0x007DBFD0 | 762 | UICharMakeWnd__UpdateSpritePaths | UICharMakeWnd UpdateSpritePaths - rebuilds all sprite resource paths for the character creation preview. Updates head palette, body palette, weapon sprite (type0 + type1), body sprite, shield sprite, and IMF resource paths from current job ID (+0x264), sex (+0x2BE), weapon ID (+0x266), shield ID (+0x278), and equip ID (+0x27A). Called when appearance changes (job selection, sex toggle, equipment). |
| 0x007DC2D0 | 104 | CCharSlotList__destroy_range | Destroys a range of char slot entries (0x38 bytes each). Destroys two strings per entry. |
| 0x007DC340 | 588 | CCharSlotList__reserve_and_copy | Reserves memory and copies char slot entries. STL vector-like reserve+copy for 0x38-byte entries. |
| 0x007DC5A0 | 137 | CCharSlotList__move_range | Moves a range of char slot entries from source to dest (0x38 byte stride). Copies entries and destroys remainder. |
| 0x007DC630 | 113 | CCharSlotEntry__copy_construct | Copy constructor for CCharSlotEntry. Copies two std::strings and two additional fields at +0x30 and +0x34. |
| 0x007DC6B0 | 147 | UICharListWnd__ctor | Constructor for UICharListWnd. Calls base class constructor with mode=0, sets vtable, initializes character list fields. Reads slot count from global config. |
| 0x007DC750 | 173 | UICharListWnd__OnCreate | OnCreate handler for UICharListWnd. Initializes the character list UI widget. |
| 0x007DC800 | 200 | CCharSlotEntry__move_construct | Move constructor for CCharSlotEntry (0x38 bytes). Moves two strings and copies two trailing fields. |
| 0x007DC8F0 | 174 | UICharSlotDetailWnd__destroy_content | Destroys internal content of UICharSlotDetailWnd. |
| 0x007DC9B0 | 71 | UICharListWnd__dtor | Destructor for UICharListWnd. Sets vtable, calls base class destructor. |
| 0x007DCA00 | 107 | UICharSlotDetailWnd__dtor | Destructor for UICharSlotDetailWnd. Sets vtable, destroys sub-components, calls base destructor. |
| 0x007DCA70 | 86 | CCharSlotEntry__destroy_strings | Destroys the two std::strings in a CCharSlotEntry (name and description). |
| 0x007DCAD0 | 99 | UICharListWnd__scalar_deleting_dtor | Scalar deleting destructor for UICharListWnd. 0xD0 bytes total size. |
| 0x007DCB40 | 131 | UICharSlotDetailWnd__scalar_deleting_dtor | Scalar deleting destructor for UICharSlotDetailWnd. Sets vtable to UICharSlotDetailWnd vtable, deallocates vector, destroys content, calls CEffect base dtor, optionally frees 0x9C bytes if param_2 & 1. |
| 0x007DCBD0 | 263 | UICharListWnd__AddCharSlot | Adds a character slot entry to UICharListWnd. Constructs slot entry and appends to internal vector. |
| 0x007DCCE0 | 371 | UICharListWnd__OnDraw | OnDraw handler for UICharListWnd. Renders the character list with slot entries. |
| 0x007DCE60 | 190 | UICharListWnd__HitTestSlot | Hit tests mouse position against character slots. Returns slot index if hit, -1 otherwise. |
| 0x007DCF50 | 899 | UICharListWnd__init_children | Initializes UICharListWnd child widgets. Calculates remaining days from date at DAT_0138cf38+0xc. Creates a dialog widget (0x144 bytes) with button textures and message text (ID 0xBE5). Sets up 3 form text entries with color 0x313131. Creates a UICharSlotDetailWnd child (0x9C bytes) as the slot detail panel, positioned centered horizontally at y=0x55. |
| 0x007DD2E0 | 1966 | UICharListWnd__OnDraw_content | Draws the content area of UICharListWnd. Loads background sprite, draws server name text centered at top. Draws date ranges (start/end dates from DAT_0138cf38 offsets 8 and 0xC). If countdown days > 0, draws countdown text. Draws status text at bottom. If selection is active (offset 0xB8 == 1), draws selection indicator sprite at the selected slot position. Finally iterates attendance reward items (1..N), drawing each item sprite with count label in a 5-column grid layout. |
| 0x007DDA90 | 280 | UICharListWnd__draw_slot_background | Draws the background sprite for the currently selected slot entry. If the slot vector is non-empty, loads the background image resource by concatenating a path prefix with the selected slot entry's string (at offset 0x94 * 0x38 in the vector). Draws the loaded sprite at position (0,0). |
| 0x007DDBB0 | 50 | UICharListWnd__OnMouseOver | Mouse over handler for char list. Checks if hovered slot matches current selection, sets blink state to 2 and triggers redraw. |
| 0x007DDBF0 | 54 | UICharListWnd__OnMouseClick | Mouse click handler for char list. Checks if clicked slot matches current, sends message (6, 0xB8) to parent with slot index. |
| 0x007DDC30 | 315 | UICharListWnd__on_slot_activate | Handles activation of a character list slot. Gets the URL string from the selected slot entry (offset 0x18 of 0x38-byte entry). If URL is non-empty (string length != 0), opens it via ShellExecuteA with "open" verb. Otherwise looks up the window type from the slot entry (offset 0x30): if type is 0x13E, sends a special message (0x143), else creates a game window by type via CGameObject. |
| 0x007DDD70 | 371 | UICharListWnd__show_item_tooltip | Shows tooltip for an attendance reward item at the mouse position. Hit tests against grid slots; if valid item index, constructs a CItemDesc, looks up the item config by key (index+1), formats the item name string, and displays it via CToolTipMgr at the adjusted mouse position (accounting for parent offsets). |
| 0x007DDF00 | 67 | UICharListWnd__UpdateBlinkState | Updates blink state for selected character slot. Toggles between 0 and 1 based on time (100ms intervals). Uses timeGetTime() for animation timing. |
| 0x007DDF50 | 104 | UICharListWnd__AutoScrollTimeout | Auto-scrolls the character list after 5000ms timeout. Advances to next slot and sends message (6, 0xD7) to parent. |
| 0x007DDFC0 | 250 | UICharListWnd__on_item_right_click | Handles right-click on an attendance reward item. Hit tests against grid slots; if valid, creates a detail info window (type 0xC) via CGameObject, constructs a CItemDesc from the item config, and sends the item data (message 0x18) to the newly created window for display. |
| 0x007DE0C0 | 386 | UIAttendanceWnd__create_list_items | Creates multi-string widget items for the attendance window list. Iterates through 0x38-byte entries, allocates UIMultiStringWidget (0x124 bytes) for each, sets up button/text properties, marks current selected entry, and adds widgets to the child list vector. |
| 0x007DE250 | 524 | UIAttendanceWnd__OnMessage_handler | Message handler for the attendance window. Handles message 6 (button clicks): 0xB8 opens attendance reward dialog, 0xC9 opens URL 0x148. Handles message 0x22 (data update): executes Lua "set_checkAttendance_banner", refreshes list items, resizes window based on item count, repositions child elements. Tracks current page and arrow button visibility. |
| 0x007DE460 | 170 | UIAttendanceWnd__OnChildNotify | Child notification handler for attendance window. On message 6 with param 0xD7 (list item click): iterates child widgets, sets selected state on clicked item and deselects others. Records selection index and timestamp (timeGetTime). Calls parent OnChildNotify. |
| 0x007DE510 | 22 | UIAttendanceWnd__show_reward_thunk | Thunk that forwards to FUN_007dc2d0 with reordered parameters (param_2, param_3, this). Used as a callback in the UIAttendanceWnd context. |
| 0x007E09D0 | 244 | CSkinManager__ctor | Constructor for the skin manager. Sets vtable to PTR_FUN_01127ef8, initializes string field with SSO (small string optimization, buffer 0xF), zeroes out data fields (0x8-0x13). Copies default skin name from global DAT_01334680. |
| 0x007E0AD0 | 219 | CSkinManager__dtor | Destructor for the skin manager. Sets vtable, checks for temporary skin directory (sprintf "%s/_tmpskin_"), deletes it if it exists (via FUN_00af45e0/_access), unregisters from managers, destroys string data. |
| 0x007E0BB0 | 35 | CSkinManager__scalar_deleting_dtor | Scalar deleting destructor for skin manager. Calls destructor, optionally frees this (0x50 bytes) if param_2 & 1. |
| 0x007E0BE0 | 92 | CSkinManager__cleanup_temp_skin | Cleans up temporary skin directory. Formats path as "%s/_tmpskin_" using base directory (DAT_0173ad78), checks if it exists via _access, and deletes it via FUN_00af45e0 if found. |
| 0x007E0C40 | 765 | CSkinManager__extract_skin_archive | Extracts a selected skin archive. Checks if skin is valid (not -1), has data, and hasn't been extracted yet. Builds path from skin name (element from 0x18-byte string vector at offset 0x20), creates directory structure via _mkdir if needed, and spawns "runzip.exe" to extract the skin archive. Marks skin as extracted in the status array at offset 0x38. |
| 0x007E0F40 | 118 | CSkinManager__get_color_from_sprite | Gets a color value from a sprite at a given coordinate. Loads a sprite resource (different path based on param_2 flag), samples pixel at (x*4+2, y*4+2), and returns the color in BGR format with channel swapping (R,G,B reordered). Returns 0 if sprite not found. |
| 0x007E1020 | 49 | CStringTable__GetCurrentName | Gets the current name string from the string table. Uses index at +0x1C, returns from array at +0x20 (0x18 byte stride). Returns global default if index is -1. |
| 0x007E1060 | 49 | CStringTable__GetCurrentDesc | Gets the current description string from the string table. Uses index at +0x1C, returns from array at +0x2C (0x18 byte stride). Returns global default if index is -1. |
| 0x007E10A0 | 58 | CStringTable__GetDescByIndex | Gets description string by explicit index from array at +0x2C (0x18 byte stride). Returns global default if index is -1. |
| 0x007E10E0 | 58 | CStringTable__GetNameByIndex | Gets name string by explicit index from array at +0x20 (0x18 byte stride). Returns global default if index is -1. |
| 0x007E1120 | 4111 | CSkinSelector__scan_skin_directory | Scans the skin directory (\\skin\\*) for available skins. Finds directories and .zip files, builds display name lists. For zip files, extracts preview path to tmpskin dir. Compares each skin name against currently selected skin to find the selected index. Populates skin name and zip-flag vectors. |
| 0x007E2130 | 8 | CSkinSelector__has_valid_selection | Returns true if the skin selector has a valid selection (index at +0x1C is non-negative, i.e. not -1/0xFFFFFFFF). Used to gate skin operations that require a selection. |
| 0x007E2140 | 40 | CSkinSelector__set_selected_index | Sets the currently selected skin index. If the index changed, triggers a resource reload. |
| 0x007E21A0 | 37 | CLinkedList__ctor | Constructs a linked list with a self-referencing sentinel node (0xc bytes). Used for navigator window items. |
| 0x007E22C0 | 67 | CLinkedList__free_sentinel_0xc | Frees a linked list sentinel node (0xc bytes) if it was allocated. |
| 0x007E2310 | 78 | CLinkedList__free_sentinel_0xc_alt | Frees a linked list sentinel node (0xc bytes) if allocated. Similar to 007e22c0. |
| 0x007E2360 | 103 | CLinkedList__clear_and_free_all | Clears all nodes from a linked list, then frees the sentinel node. Walks the linked list, freeing each 0xc-byte node. |
| 0x007E2C90 | 97 | SpriteLayer__search_dependency_tree | Searches 4 dependency lists of a sprite layer node for a target, returns 1 if found |
| 0x007E2D00 | 26 | SpriteLayer__check_parent_id | Returns true if this layer node's parent ID matches the given ID |
| 0x007E2D20 | 29 | SpriteLayer__check_grandparent_id | Returns true if this layer node's grandparent ID matches the given ID |
| 0x007E2D40 | 62 | check_circular_range_overlap | Tests if two ranges overlap considering circular/wrapping boundaries |
| 0x007E2D80 | 44 | SpriteLayer__find_child_by_id | Searches child list for a node with matching parent ID, returns true if found |
| 0x007E2DB0 | 70 | SpriteLayer__is_ancestor_recursive | Recursively checks if target is an ancestor of this node via children list at offset 0x10 |
| 0x007E2E00 | 106 | SpriteLayer__is_sibling_or_descendant | Checks if target is a sibling child or descendant of this node's parent |
| 0x007E2E70 | 101 | SpriteLayer__is_child_or_descendant | Checks if target is a direct child or recursive descendant of this node |
| 0x007E2EE0 | 58 | SpriteLayer__check_total_offset_match | Checks if parent's offset minus param equals a global offset value at DAT_01389638+0x2c |
| 0x007E2F20 | 50 | SpriteLayer__check_combined_offset | Returns true if parent's offset_0x20 + offset_0x18 equals the computed layer offset |
| 0x007E2F60 | 108 | SpriteLayer__validate_child_dependency | Validates if a child with given ID exists and passes dependency tree search |
| 0x007E2FD0 | 481 | SpriteLayer__propagate_offset_to_children | Propagates position offset changes through sprite layer tree with direction and validation |
| 0x007E31C0 | 109 | SpriteLayer__apply_offset_recursive | Recursively applies x/y offset to sprite layer node and its children in given direction |
| 0x007E3230 | 338 | SpriteLayer__apply_offset_with_validation | Applies offset to sprite layer node with ancestor validation and direction reversal logic |
| 0x007E3390 | 88 | SpriteLayer__notify_children_position | Notifies all valid children of parent ID change by calling vtable+0x34 with new position |
| 0x007E33F0 | 205 | SpriteLayer__update_parent_position | Updates parent sprite position accounting for maximum child offset and notifies children |
| 0x007E34C0 | 310 | SpriteLayer__rebuild_child_links | Removes old links and rebuilds child dependency links between sprite layer nodes |
| 0x007E3600 | 100 | SpriteLayer__clear_all_children | Destroys all child nodes, frees list memory, and resets parent and count to zero |
| 0x007E3670 | 137 | SpriteLayer__remove_child_by_id | Removes a child node by ID from the layer's child list and clears parent if it was active |
| 0x007E3700 | 165 | SpriteLayer__list_push_back | Pushes a new node to the back of a linked list with max size check (0x15555555) |
| 0x007E37B0 | 166 | SpriteLayer__list_insert_before | Inserts a new node before the specified position in a linked list |
| 0x007E3860 | 1151 | CCharSlotEntry__ctor | Constructor for CCharSlotEntry (sprite layer rendering entry). Sets vtable to CCharSlotEntry__scalar_dtor_small. Initializes 20+ fields including body part types, sprite indices, and priority data. Calls Lua "IsHelmRobe" and "TB_Layer_Priority" scripts. Builds priority map via STL red-black tree with keys for equipment slots (3=weapon, 4=shield, 5=head). Also inserts sprite part index via CEntity__map_insert_or_get_sprite_part. |
| 0x007E3CE0 | 234 | SpriteLayer__map_find_or_insert | Finds or inserts a key into the layer priority map, returns pointer to value at offset+0x14 |
| 0x007E3DD0 | 132 | SpriteLayer__map_decrement_iterator | Decrements a red-black tree iterator to the previous node in order |
| 0x007E3E60 | 2058 | CSpriteRenderer__render_sprite_layers | Main sprite layer rendering function. Iterates through sprite layer linked list, resolves sprite resources, calculates frame positions with offsets (including Doram offset from OffsetItemPos), and blits sprites to the render surface. Handles both normal and mirrored rendering modes. |
| 0x007E4680 | 1687 | CSpriteRenderer__build_layer_priority_map | Builds a priority-ordered map of sprite layers for rendering. Creates two maps with direction-dependent layer ordering (keys 3-6 for body parts). Handles Doram special case and GetLayerPriority Lua script override. Returns sorted linked list for render order. |
| 0x007E4D40 | 316 | CSpriteRenderer__get_frame_data | Gets sprite frame data for a specific layer, resolving the sprite resource and returning frame position/size information. |
| 0x007E4E80 | 296 | CSpriteRenderer__get_frame_data_alt | Alternative frame data getter. Similar to 007e4d40 but with different parameter handling for secondary sprite layers. |
| 0x007E4FB0 | 357 | CSpriteRenderer__check_draw_on_top | Checks whether the sprite should be drawn on top via Lua script. Calls "DrawOnTop" or "New_DrawOnTop" (when DAT_0173353c flag is set, uses extended version with job ID remapping). Returns 1 (draw on top) or 0 (normal draw order). Handles Doram special case with job ID conversion. |
| 0x007E5120 | 104 | CSpriteRenderer__get_layer_sprite_info | Gets sprite info (resource pointer and action data) for a specific layer index in the render pipeline. |
| 0x007E5190 | 375 | CSpriteRenderer__resolve_sprite_position | Resolves sprite position by looking up anchor points and computing offset from reference frame. Used for positioning accessory sprites relative to body. |
| 0x007E5310 | 415 | CSpriteRenderer__calculate_garment_offset | Calculates garment (robe) sprite offset relative to the body sprite. Handles directional offsets and special cases for different garment types. |
| 0x007E54B0 | 390 | CSpriteRenderer__compute_head_offset | Computes head sprite offset relative to body. Looks up head anchor points from body frame data to properly position the head sprite. |
| 0x007E5640 | 196 | CSpriteRenderer__get_sprite_resource | Gets the loaded sprite resource for a given layer. Constructs resource path and looks it up in the resource manager. |
| 0x007E5710 | 100 | CSpriteRenderer__lookup_sprite_action | Looks up the action index for a sprite by checking the action array bounds in the loaded sprite resource. |
| 0x007E5780 | 231 | CSpriteRenderer__validate_action_frame | Validates that a given action/frame index is within bounds for the sprite resource. Returns clamped values if out of range. |
| 0x007E5870 | 377 | CSpriteRenderer__initialize_layer_state | Initializes sprite layer state for rendering. Resets position offsets (0x88/0x8c/0x90 to 0), calls Lua "IsHelmRobe" and "TB_Layer_Priority" scripts, invokes check_draw_on_top to determine draw order. Stores draw-on-top result at offset 0x45. Sets head/body/weapon/shield type fields (offsets 0x1c-0x24) from layer data. |
| 0x007E59F0 | 27 | CSpriteRenderer__get_layer_count | Returns the number of sprite layers for the current render configuration. |
| 0x007E5A30 | 2874 | CSpriteRenderer__build_render_list | Builds the complete render list for sprite layers. Processes all visible layers, resolves resources, and creates the ordered draw list. Size: 2874 bytes. |
| 0x007E6A60 | 84 | CRefineItemSlotView__ctor | Constructor for CRefineItemSlotView. Inherits from CDialogWnd (via full_ctor). Sets vtable to CRefineItemSlotView__scalar_dtor. |
| 0x007E6AC0 | 101 | CRefineMaterialView__ctor | Constructor for CRefineMaterialView. Inherits from CDialogWnd (via full_ctor). Sets vtable to CRefineMaterialView__scalar_dtor. Initializes two extra fields at offsets 0x48 and 0x49 to zero. |
| 0x007E6B30 | 84 | CRefineResultView__ctor | Constructor for CRefineResultView. Inherits from CDialogWnd (via full_ctor). Sets vtable to PTR_CRefineResultView__scalar_dtor. |
| 0x007E6B90 | 152 | CRefineItemListView__free_item_vector | Frees the item vector (element size 0x11/17 bytes). Deallocates memory and zeroes pointers. |
| 0x007E6D60 | 71 | CRefineItemSlotView__dtor | Destructor for CRefineItemSlotView. Sets vtable and destroys base UIWindow. |
| 0x007E6DB0 | 71 | CRefineMaterialView__dtor | Destructor for CRefineMaterialView. Sets vtable and destroys base UIWindow. |
| 0x007E6E00 | 71 | CRefineResultView__dtor | Destructor for CRefineResultView. Sets vtable and destroys base UIWindow. |
| 0x007E6F00 | 99 | CRefineItemSlotView__scalar_dtor | Scalar deleting destructor for CRefineItemSlotView (size 0x120). Calls dtor and conditionally frees memory. |
| 0x007E6F70 | 99 | CRefineMaterialView__scalar_dtor | Scalar deleting destructor for CRefineMaterialView (size 0x128). Calls dtor and conditionally frees memory. |
| 0x007E6FE0 | 99 | CRefineResultView__scalar_dtor | Scalar deleting destructor for CRefineResultView (size 0x120). Calls dtor and conditionally frees memory. |
| 0x007E9910 | 56 | CRefineItemSlotView__set_enabled | Sets enabled state of the refine item slot view. When disabled (param=0), clears hover window. Toggles visibility flag and updates internal enabled state. |
| 0x007E9950 | 56 | CRefineMaterialView__set_enabled | Sets enabled state of the refine material view. When disabled (param=0), clears hover window. Toggles visibility flag and updates internal enabled state. |
| 0x007E9990 | 56 | CRefineResultView__set_enabled | Sets enabled state of the refine result view. When disabled (param=0), clears hover window. Toggles visibility flag and updates internal enabled state. |
| 0x007E9C00 | 59 | CDirectDraw__enumerate_devices | Enumerates DirectDraw devices using DirectDrawEnumerateExA with flags=7 (all devices). Stores callback function pointer, returns error 0x81000002 if no devices found, 0x81000003 if no valid device. |
| 0x007E9C40 | 601 | ddraw_device_enum_callback | DirectDraw device enumeration callback. Copies device capabilities (DDCAPS), display mode info, and enumerates supported display modes. Filters modes by bit depth (32/24/16 bpp) and records matching modes. Stores device GUID and monitor info. Uses qsort to sort display modes. |
| 0x007E9EA0 | 487 | ddraw_enum_ex_callback | DirectDrawEnumerateEx callback. Compares device GUID with target, gets monitor info via GetMonitorInfoA, creates DirectDraw device via DirectDrawCreateEx, queries IDirect3D7, enumerates display modes via callback ddraw_device_enum_callback. Sorts collected modes with qsort. |
| 0x007EA090 | 6 | get_ddraw_device_name | Returns pointer to the DirectDraw device name string at global DAT_01450dc8. |
| 0x007EA0A0 | 6 | get_ddraw_valid_device_count | Returns the count of valid DirectDraw devices (with supported display modes). |
| 0x007EA0B0 | 6 | get_ddraw_total_device_count | Returns the total count of enumerated DirectDraw devices. |
| 0x007EA0C0 | 117 | ddraw_add_display_mode | DirectDraw display mode enumeration callback. Reallocates mode array, copies new mode entry (0x7C bytes), increments mode count. |
| 0x007EA140 | 61 | ddraw_compare_display_modes | qsort comparator for display modes. Sorts by height (offset +0xC) descending, then width (offset +8) descending, then refresh rate (offset +0x54) descending. |
| 0x007EA180 | 60 | ddraw_free_device_mode_lists | Frees display mode lists for all enumerated DirectDraw devices. Iterates through device entries (0x134*4 bytes each) and frees allocated mode arrays. |
| 0x007EA1C0 | 197 | CVideoConfigWnd__ctor | Constructor for CVideoConfigWnd. Sets vtable PTR_FUN_011287c4, initializes fields: child window pointers, string buffer, flags to zero. Size 0xE8 bytes. |
| 0x007EA290 | 128 | CVideoConfigWnd__dtor | Destructor for CVideoConfigWnd. Frees display mode data (+0x38), destroys string, destroys base UIWindow. |
| 0x007EA310 | 152 | CVideoConfigWnd__scalar_dtor | Scalar deleting destructor for CVideoConfigWnd (size 0xE8). Calls dtor and conditionally frees memory. |
| 0x007EA3B0 | 1301 | CVideoConfigWnd__create_child_windows | Creates child windows for the video configuration dialog. Creates: listbox (+0xB4), checkbox (+0xBC), 3D render preview (+0xB8, UIRenderWidget with RGB 100,100,100 and ambient 0xE8), scrollbar (+0xC0 with page size 16), and button panel (+0xC4). Populates resolution listbox from enumerated display modes. |
| 0x007EA8D0 | 58 | CVideoConfigWnd__render_background | Renders the video config window background. Draws background at full window size, renders texture, and draws a bordered region at (0x22, 0x50, 0xDE, 0x5C). |
| 0x007EA910 | 1150 | CEmblemEditorWnd__on_command | Emblem editor window command handler. Handles button clicks: 0xc9 = close, 0x159 = submit emblem. Validates image (220x90 pixels), compresses with zlib, sends packet 0xa52 to server. Also handles file selection (param_3==0x27) for loading BMP images from disk. |
| 0x007EAD90 | 44 | CEmblemEditorWnd__set_child_flag_and_refresh | Sets a flag byte on a child window object (at offset 0x2b of the child at this[0x31]) and triggers virtual refresh via vtable call 0x98 on both the child and this window. |
| 0x007EB0A0 | 193 | CEmblemEditorWnd__ctor | Constructor for CEmblemEditorWnd. Inherits UIWindowBase. Sets vtable to 01128904. Initializes all member fields to zero: child window pointers (0x2d-0x34), image buffers (0x35-0x38), flags (0x39-0x42), memsets offset 0x42 area. |
| 0x007EB170 | 71 | CEmblemEditorWnd__dtor | Destructor for CEmblemEditorWnd. Restores vtable and calls UIWindowBase__dtor. |
| 0x007EB1C0 | 99 | CEmblemEditorWnd__scalar_deleting_dtor | Scalar deleting destructor for CEmblemEditorWnd. Calls dtor, then optionally frees memory (0x15c bytes) if param_2 bit 0 is set. |
| 0x007EB230 | 4002 | CSecurityKeypadWnd__init_ui | Initializes the security keypad UI. Creates a 10-digit randomized PIN entry keypad: shuffles digits 0-9 using MT19937 RNG, creates 10 CDialogWnd children with button textures (normal/hover/pressed), positions them in a grid layout, plus a reset button. Each button gets 3 texture states. Size: 4002 bytes. |
| 0x007EC1E0 | 1409 | CSecurityKeypadWnd__render | Renders the security keypad window. Draws background, labels from message string table, PIN digit dots, and a countdown timer. Timer checks timeGetTime() against stored deadline. Shows time in MM:SS format when less than 60 seconds remain. |
| 0x007EC7B0 | 344 | CSecurityKeypadWnd__shuffle_buttons | Reshuffles the keypad button positions. Creates a random permutation of indices 0-9 using MT19937 and reassigns each child window's position via vtable call 0x10 using the shuffled order. Called to randomize button layout after each use. |
| 0x007EC910 | 118 | CSecurityKeypadWnd__on_command | Security keypad command handler. Handles digit button presses (0x125-0x12f = digits 0-9) by appending to password buffer (max 8 chars), 0x12d/0x12e = additional digits 8/9, 0x12f = clear. On 0xb8 (submit), validates length >= 4 and sends packet 0xbdc with the entered PIN. |
| 0x007ECD00 | 369 | CSecurityKeypadWnd__set_password_and_mode | Sets the password entry mode and copies the provided password string into the internal buffer at offset 0xfd (max 9 chars). Sets mode byte at offset 0xe4 and resets the input counter at 0x150 to 0. |
| 0x007ECE80 | 51 | CSecurityKeypadWnd__set_timer_and_refresh | Stores a timer value and refresh flag. Records current timeGetTime() at offset 0x56, stores param_3 at offset 0x55, sets byte flag at 0x39, then triggers virtual refresh via vtable 0x98. |
| 0x007ECEC0 | 136 | CEmblemViewWnd__ctor | Constructor for CEmblemViewWnd. Inherits UIWindowBase. Sets vtable to 01128b94. Initializes member pointers 0x2d-0x31 to zero. Small class (size ~0xc8). |
| 0x007ECF50 | 322 | CPasswordInputWnd__ctor | Constructor for CPasswordInputWnd. Inherits UIWindowBase. Sets vtable to 01128c6c. Initializes: pointers 0x2d-0x37, flag byte at 0x34, two STL strings at offsets 0x38 and 0x3e, timer field 0x45 = 3000ms, counter 0x30 = 0. Registers two TLS field callbacks (0x9b and 0x27). Object size = 0x118. |
| 0x007ED0A0 | 113 | CEmblemViewWnd__dtor | Destructor for CEmblemViewWnd. Restores vtable to 01128b94, frees dynamically allocated image buffer at offset 0x2f if non-null, calls UIWindowBase__dtor. |
| 0x007ED120 | 143 | CPasswordInputWnd__dtor | Destructor for CPasswordInputWnd. Restores vtable to 01128c6c, frees buffer at offset 0x31, destroys two STL strings, calls UIWindowBase__dtor. |
| 0x007ED1B0 | 137 | CEmblemViewWnd__scalar_deleting_dtor | Scalar deleting destructor for CEmblemViewWnd. Calls dtor, optionally frees memory (200 bytes) if param_2 bit 0 is set. |
| 0x007ED240 | 167 | CPasswordInputWnd__scalar_deleting_dtor | Scalar deleting destructor for CPasswordInputWnd. Calls dtor, optionally frees memory (0x118 bytes) if param_2 bit 0 is set. |
| 0x007ED2F0 | 270 | CEmblemViewWnd__receive_image_data_chunk | Receives a chunk of compressed emblem image data. Appends data to buffer at (this[0x2f] + this[0x31]) with bounds checking (max 0x400 per chunk). When total received (this[0x31]) matches expected (this[0x30]), decompresses with zlib into 0x9ab0-byte buffer and calls CSprite__LoadImageData. |
| 0x007ED400 | 334 | CEmblemEditorWnd__receive_image_data_chunk | Receives compressed emblem data for the editor window. Similar to CEmblemViewWnd variant but uses different buffer offsets (this[0x31]/this[0x33]). On completion, decompresses via zlib, loads image, refreshes parent window, and sends acknowledgment packet 0xa5a. |
| 0x007ED550 | 123 | CEmblemViewWnd__decompress_and_load_image | Decompresses and loads emblem image for the view window. Allocates 0x9ab0-byte buffer, calls zlib_uncompress on data at (this[0x2f], this[0x31]), loads result via CSprite__LoadImageData, frees temp buffer, triggers refresh. |
| 0x007ED5D0 | 138 | CEmblemEditorWnd__decompress_and_load_image | Decompresses and loads emblem image for the editor window. Uses buffer pair (this[0x31], this[0x33]). Allocates 0x9ab0-byte temp buffer, decompresses, loads via CSprite__LoadImageData, frees buffer, refreshes child and parent windows. |
| 0x007ED660 | 163 | CEmblemViewWnd__create_child_widgets | Creates child widgets for CEmblemViewWnd. Allocates a UIComplexWidget (0x1b8 bytes) as an image display area (220x90 pixels), positions it at (0,0), adds it as a child. Also creates a close button. |
| 0x007ED710 | 568 | CPasswordInputWnd__create_child_widgets | Creates child widgets for CPasswordInputWnd. Sets window size to 0xbb x 0xbb. Creates: UIComplexWidget (image area, 220x90, at 0x3c,0x9f), UITextWidget (text input field, 200x16, at 0x2d,0x106 with white text), CDialogWnd (submit button with 3 texture states at 0xfd,0x105). Sets focus to text input. |
| 0x007ED960 | 661 | CPasswordInputWnd__render | Renders the CPasswordInputWnd. Draws background with border, labels from message table (0xb43-0xb46), an input text field in blue, a progress/timer bar, and countdown timer in MM:SS format. Also displays attempt count. |
| 0x007EDC30 | 54 | CPasswordInputWnd__check_timeout_and_clear | Checks if the password input timer has expired. Compares current timeGetTime() against (this[0x45] + this[0x37]). If expired, clears the display text. Calls virtual refresh. |
| 0x007EDC70 | 64 | CPasswordInputWnd__cleanup_buffer | Cleans up a dynamically allocated buffer for the password window. Frees memory at offset 0xbc if non-null, zeros out fields at 0xbc, 0xc0, 0xc4, 0xb8. |
| 0x007EDCB0 | 64 | CPasswordInputWnd__cleanup_buffer_b | Cleans up a second dynamically allocated buffer. Frees memory at offset 0xc4 if non-null, zeros fields at 0xc4, 0xc8, 0xcc, 0xc0. |
| 0x007EDCF0 | 66 | CPasswordInputWnd__on_close_button | Handles close button click for CPasswordInputWnd. If button ID is 6 and control ID is 0xc9, calls tls_clear_field (0x120) to close the window. Delegates to parent notify handler. |
| 0x007EDD40 | 387 | CPasswordInputWnd__on_command | Command handler for CPasswordInputWnd. On button click (param_3==0): auto-triggers submit. On submit (0x159): compares entered text against stored password string, and if different, sends packet 0xa5c with the new password and updates the stored string. On close (0xc9): calls tls_clear_field 0x11c. |
| 0x007EDED0 | 227 | CPasswordInputWnd__set_status_message | Sets a status message on the password input window. Formats a message string from CMessageStringTable using the provided param_2 byte. Records the message timestamp via timeGetTime() at offsets 0x37 and 0x44, and stores display duration at 0x35/0x36. Triggers virtual refresh. |
| 0x007EDFC0 | 76 | CEmblemViewWnd__allocate_receive_buffer | Allocates a receive buffer for compressed emblem image data (CEmblemViewWnd). Frees existing buffer at 0xbc if present, allocates param_2 bytes, stores pointer at 0xbc, zeroes the new buffer. |
| 0x007EE010 | 86 | CEmblemEditorWnd__allocate_receive_buffer | Allocates a receive buffer for compressed emblem image data (CEmblemEditorWnd). Frees existing buffer at 0xc4 if present, sets expected size at 0xc8, resets received count at 0xcc, allocates param_2 bytes, stores pointer at 0xc4, zeroes the new buffer. |
| 0x007EEA00 | 442 | CChannelListWnd__ctor | Constructor for CChannelListWnd. Inherits UIWindowBase. Sets vtable to 01128e88. Initializes: channel list with 10 entries (0x18 bytes each, constructed as strings via _eh_vector_constructor_iterator_), status flags, counters, an STL string at offset 0x8d, and a short+int at 0x93-0x94. |
| 0x007EEBC0 | 164 | CChannelChatWnd__ctor | Constructor for CChannelChatWnd. Inherits UIWindowBase. Sets vtable to 01128db0. Initializes two STL strings at offsets 0x2d and 0x33, plus a pointer at 0x2d (initially null). |
| 0x007EEF10 | 65 | UIEquipCustomizeWnd__destroy_string_member | Destroys a string member during UIEquipCustomizeWnd cleanup. SEH-protected wrapper around STL_string_dtor. |
| 0x007EEF60 | 277 | UIEquipCustomizeWnd__dtor | Destructor for UIEquipCustomizeWnd (equipment customization window, size 0x254). Sets vtable, clears child widget pairs at +0x2D/+0x2E, clears single child list at +0x44/+0x45, destroys 0x20-stride string vector, destroys array of 10 strings at +0x51, then calls base UIWindowBase dtor. |
| 0x007EF080 | 110 | UIEquipNameWnd__dtor | Destructor for UIEquipNameWnd (equipment name display window, size 0xE4). Sets vtable, destroys two string members, calls base UIWindowBase dtor. |
| 0x007EF0F0 | 316 | UIEquipCustomizeWnd__scalar_dtor | Scalar deleting destructor for UIEquipCustomizeWnd. Runs UIEquipCustomizeWnd__dtor logic, optionally frees 0x254 bytes if bit 0 of param_2 is set. |
| 0x007EF230 | 134 | UIEquipNameWnd__scalar_dtor | Scalar deleting destructor for UIEquipNameWnd. Runs UIEquipNameWnd__dtor logic, optionally frees 0xE4 bytes if bit 0 of param_2 is set. |
| 0x007EF2C0 | 22 | UIEquipCustomizeWnd__notify_parent_update | Notifies the parent window (at +0x18) to update by calling CCharRenderInfo__build_palette_path on it. Only acts when param_1 is non-null. |
| 0x007EF2E0 | 332 | UIEquipCustomizeWnd__add_customize_entry | Adds a customization entry to UIEquipCustomizeWnd. Looks up the entry by param_2 in the item list at +0x100. If not found, gets the job ID and creates a new 0x20-byte entry (name + palette info) and pushes it to the vector. Updates scrollbar state afterward. |
| 0x007EF430 | 581 | UIEquipCustomizeWnd__add_named_entry | Adds a named entry to UIEquipCustomizeWnd. Searches for existing entry by ID (param_2) in the vector at +0xB4. If not found, creates a new dialog button + text label pair, positions them, and appends the pair to the vector. Uses param_3 as the display name string. |
| 0x007EF680 | 1955 | UIEquipCustomizeWnd__truncate_text_to_fit | Truncates a text string to fit within a maximum pixel width (param_2). Converts to wide chars, strips trailing characters (respecting multi-byte boundaries), appends an ellipsis suffix, and returns the result. If text already fits, returns it unchanged. |
| 0x007EFE30 | 867 | UIEquipCustomizeWnd__validate_headgear_names | Validates headgear name entries in UIEquipCustomizeWnd. Iterates over headgear items at +0x144 (up to +0xD0 count), compares each name against the message string table. Returns 1 if any mismatch found and no exact match exists (invalid name detected). If param_2 is 1, displays error messages to chat. |
| 0x007F01A0 | 724 | UIEquipCustomizeWnd__validate_garment_code | Validates the garment code string in UIEquipCustomizeWnd. Copies the string from +0x234, checks if it's all zeros (valid empty), if atoi is 0 but string isn't zeros (invalid), or if the numeric code with power-of-10 prefix matches (valid). Returns 1 for valid, 0 for invalid. Shows error message 0xFAB on invalid when param_2 is 1. |
| 0x007F0490 | 2636 | UIEquipCustomizeWnd__OnCreate | OnCreate handler for UIEquipCustomizeWnd. Creates the main UI layout: sprite preview widget (+0xC0), checkbox (+0xD4), toggle button (+0xD8), tab widgets for 4 categories (headgear top/mid/low + garment at +0xDC), text input fields for item names (+0x11C array), and a numeric counter display (+0xF0). Loads label strings from message table (0xB47-0xB4B, 0xFA6-0xFAC). |
| 0x007F0EE0 | 15 | UIEquipCustomizeWnd__on_close | Close handler for UIEquipCustomizeWnd. Sends empty string to CUIEquipWindow__create_close_button to dismiss the window. |
| 0x007F0EF0 | 509 | UIEquipCustomizeWnd__on_draw | Draw handler for UIEquipCustomizeWnd. Manages visibility of the toggle button at +0xD8 based on current tab (0/1 vs 2/3) and costume flags (+0x24C/+0x24D). Draws background (3D border, slot rows, bottom border), fills item slot backgrounds, and positions visible entry widgets based on scroll offset (+0xCC) and item count (+0xD0). |
| 0x007F1160 | 142 | UIEquipCustomizeWnd__on_lbutton_down | Mouse button down handler for UIEquipCustomizeWnd. Reorders window to front if needed, sets hover state, accumulates parent offsets to compute absolute position, and stores mouse coordinates at +0x7C/+0x80. Refreshes dependent windows. |
| 0x007F11F0 | 52 | UIEquipCustomizeWnd__on_mouse_leave | Mouse leave handler for UIEquipCustomizeWnd. If the leaving window matches the tracked hover window, clears the global hover state and rebuilds all child windows. |
| 0x007F1230 | 110 | UIEquipCustomizeWnd__remove_hidden_children | Removes hidden children from UIEquipCustomizeWnd's child list at +0x44. Iterates the list, and for any child with +0xAC flag set, removes it via CEffect__remove_child_from_list and compacts the array with memcpy. Then calls refresh via vtable +0x98. |
| 0x007F12A0 | 60 | UIEquipCustomizeWnd__on_scroll | Scroll event handler for UIEquipCustomizeWnd. Sends scroll up (+3) or scroll down (-3) command through vtable +0x94 based on param_2 sign. Only active when +0x31 flag (scrollable) is set. |
| 0x007F12E0 | 215 | UIGridWnd__update_scrollbar_state | Updates the scrollbar state for a grid/list window. Calculates total items from vector at +0x2D, subtracts visible items count from +0x34. Sets scroll enabled flag at +0x31, updates scroll position at +0x33 (clamped to valid range), and calls FUN_0089c220/0089c210 to update the scrollbar widget. Refreshes both the scrollbar (+0x30) and the main window via vtable +0x98. |
| 0x007F13C0 | 81 | send_packet_0xa6c | Sends a network packet with header 0xA6C. Builds a packet structure with param_1, param_2, and param_3, then sends it via FUN_00c7ce30. Calls FUN_00c7d7d0 twice for packet preparation. |
| 0x007F1420 | 162 | UIEquipCustomizeWnd__on_message | Main message handler for UIEquipCustomizeWnd. Handles: msg 0 (text input for grid cells and name fields), msg 6 (button clicks: 0xC9=close, 0xD3=delete entry, 0xD5=toggle checkbox, 0xD7=tab switch, 0x159=submit/confirm), msg 7/9/10 (scroll events), msg 0x22 (data refresh from server), msg 0x62 (item lookup with preview). Manages 4 tabs (headgear top/mid/low + garment), validates names before submit, sends packet 0xBDA for confirmation. |
| 0x007F25C0 | 66 | UIEquipCustomizeWnd__on_close_message | Close message handler for UIEquipCustomizeWnd. On button click (msg 6) with ID 0xC9, closes window type 0x11F. Falls through to base UIWindow handler for all messages. |
| 0x007F2610 | 163 | UIEquipCustomizeWnd__set_title_text | Sets the title text of UIEquipCustomizeWnd. Copies input string to internal title buffer at +0x2D, appends equip name suffix, then refreshes display via vtable +0x98. |
| 0x007F26C0 | 485 | UIEquipCustomizeWnd__sync_data_to_target | Syncs UIEquipCustomizeWnd data to a target object at +0xFC. Copies window dimensions (+0x14-+0x20), display mode flag (+0x10C), and synchronizes the 0x20-byte entry vector (resize + copy string data and numeric fields). Used to persist customization state. |
| 0x007F2970 | 3 | identity_return_param | Identity function that returns param_1 unchanged. 3-byte function (mov eax, ecx; ret). |
| 0x007F2A10 | 44 | copy_8byte_pairs | Copy 8byte pairs, small utility function |
| 0x007F2A40 | 45 | relocate_8byte_pairs | Relocates pairs of 4-byte values (8 bytes per pair) from [param_1, param_2) to offset param_3. Used for vector element relocation during reallocation. |
| 0x007F2F90 | 136 | UICardIllustWnd__ctor | Constructor for UICardIllustWnd (card illustration window). Sets vtable to PTR_FUN_01129034. Initializes 5 member pointers (0x2d-0x31) to 0. |
| 0x007F3020 | 100 | UICardIllustWnd__dtor | Destructor for UICardIllustWnd. Restores vtable, destroys child widget at offset 0x2e if non-null via scalar dtor, calls base dtor. |
| 0x007F3090 | 124 | UICardIllustWnd__scalar_dtor | Scalar deleting destructor for UICardIllustWnd. Destroys child widget, calls base dtor, optionally frees 200 bytes. |
| 0x007F3110 | 1139 | UICardIllustWnd__OnCreate | OnCreate handler for UICardIllustWnd. Creates the character preview model (0xC4 bytes), sets up left/right arrow buttons (IDs 0x180/0x181), creates tab control (3 tabs), and a close button (ID 0x16B). Uses string ID 0xB90 and 0xB9F for labels. |
| 0x007F3590 | 770 | UICardIllustWnd__RenderCharPreview | Renders the character preview in the card illustration window. Builds rotation matrices from X/Y angles, computes camera lookat, projects 3D to 2D screen coordinates, and creates a sprite layer node for rendering. |
| 0x007F38A0 | 1069 | UICardIllustWnd__RebuildPreview | Rebuilds the card illustration preview with new dimensions (param_2, param_3). Creates fresh character model, arrow buttons, tab controls, and close button. Similar to OnCreate but called when switching views. |
| 0x007F3CD0 | 216 | UICardIllustWnd__LoadMountingBackground | Loads the mounting background BMP (equip_preview_bg_mounting2.bmp) for the card illustration window. Calls sprite initialization and renders character preview. |
| 0x007F3DC0 | 297 | UICardIllustWnd__SetupCharacterModel | Sets up the character model for the card illustration preview. Reads equipment data from the local player character (job, hair style, hair color, head, body equipment) and populates the preview model at offset 0x2E. Sets camera offsets (Y=-5.0, Z=136.0). |
| 0x007F3EF0 | 948 | UICardIllustWnd__OnMessage | Message handler for UICardIllustWnd. Handles: msg 6 with params 0xC9 (close), 0x16B (reload model), 0x180/0x181 (cycle through 8 directions). msg 0x22 (selection). msg 0x17 (equipment change events) - updates head/body/accessory equipment states with combination flags (0x100-0x301). |
| 0x007F43E0 | 1101 | UICardIllustWnd__ResolveEquipSlots | Resolves equipment slot conflicts for the card illustration preview. Checks head (slot 0/8), body (slot 8), and garment (slot 9) equipment against item database lookups. Sets flags at offsets 0x34/0x38/0x3C to track which slots are in use (0x100=head, 0x200=body, 0x300=garment, 0x301=garment+head). |
| 0x007F4A70 | 94 | UICardListTabWnd1__ctor | Constructor for UICardListTabWnd1. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_01129454. Initializes tab index at offset 0x48 to 0. |
| 0x007F4AD0 | 94 | UICardListTabWnd2__ctor | Constructor for UICardListTabWnd2. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_0112929c. Initializes tab index at offset 0x48 to 0. |
| 0x007F4B30 | 91 | UICardListTabWnd3__ctor | Constructor for UICardListTabWnd3. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_01129378. Initializes enabled flag at offset 0x48 to 1. |
| 0x007F4B90 | 149 | UICardListDetailWnd__ctor | Constructor for UICardListDetailWnd. Inherits from FUN_00850550. Sets vtable to PTR_FUN_01129530. Initializes std::string at offset 0x3A (capacity 0xF), flag at 0x3C, and counters at 0x3D/0x3E. |
| 0x007F4C30 | 65 | UICardListDetailWnd__DestroyString | Destroys a std::string member in the card list detail window. |
| 0x007F4DE0 | 71 | UICardListTabWnd1__dtor | Destructor for UICardListTabWnd1. Restores vtable, calls base dtor FUN_008511b0. |
| 0x007F4E30 | 71 | UICardListTabWnd2__dtor | Destructor for UICardListTabWnd2. Restores vtable, calls base dtor FUN_008511b0. |
| 0x007F4E80 | 71 | UICardListTabWnd3__dtor | Destructor for UICardListTabWnd3. Restores vtable, calls base dtor FUN_008511b0. |
| 0x007F4ED0 | 104 | UICardListDetailWnd__dtor | Destructor for UICardListDetailWnd. Restores vtable, destroys std::string, calls base dtor FUN_00851e10. |
| 0x007F5020 | 99 | UICardListTabWnd1__scalar_dtor | Scalar deleting destructor for UICardListTabWnd1. Calls base dtor, optionally frees 0x128 bytes. |
| 0x007F5090 | 99 | UICardListTabWnd2__scalar_dtor | Scalar deleting destructor for UICardListTabWnd2. Calls base dtor, optionally frees 0x124 bytes. |
| 0x007F5100 | 99 | UICardListTabWnd3__scalar_dtor | Scalar deleting destructor for UICardListTabWnd3. Calls base dtor, optionally frees 0x124 bytes. |
| 0x007F5170 | 128 | UICardListDetailWnd__scalar_dtor | Scalar deleting destructor for UICardListDetailWnd. Destroys string, calls base dtor, optionally frees 0xFC bytes. |
| 0x007F8C40 | 56 | UIWnd__set_visible_and_state | Sets visibility and state for a UI window. If param_2 is 0 (hiding), calls FUN_00aa66c0. Toggles hidden flag at +0x2B (XOR 1), refreshes via vtable +0x98, and stores visibility state at +0x28 (field 10). |
| 0x007F8C80 | 56 | UIWnd__set_visible_and_state_v2 | Sets visibility and state for a UI window. Identical to UIWnd__set_visible_and_state. If param_2 is 0, calls FUN_00aa66c0; toggles hidden flag, refreshes, stores state. |
| 0x007F8E60 | 21 | UICardListTabWnd3__SetHighlightAndRefresh | Sets the highlight flag at offset +0x124 and refreshes tab button textures via SetTabButtonTextures_A. The highlight flag controls text color in DrawCompletionStatus (red when highlighted, normal otherwise). |
| 0x007F8E80 | 21 | UIWnd__set_flag_120_and_refresh | Sets a flag at offset +0x120 on the object, then calls FUN_007f8210 to refresh. |
| 0x007F8EA0 | 163 | UIWnd__set_text_with_timeout | Sets text on a UI window with an optional timeout. Copies param_2 string to internal buffer. If param_3 (timeout) is 0, sets the text immediately and stores param_4 flag. If timeout > 0, calculates expiry time using timeGetTime() + param_3 and sets auto-show flag at +0x3E. Refreshes the window and parent via vtable +0x98. |
| 0x007F9070 | 189 | CWorldMap__ctor | Constructor for CWorldMap. Inherits from base class via FUN_00a79a90. Sets vtable to PTR_FUN_01129b84. Initializes string member at offset 0x1f (SSO with capacity 0xf). Zeroes fields at offsets 0x25-0x28. |
| 0x007F9130 | 116 | CWorldMap__dtor | Destructor for CWorldMap. Sets vtable, clears embedded string at offset 0x1f, destroys STL string, then calls base class destructor FUN_00a79e90. |
| 0x007F91B0 | 140 | CWorldMap__scalar_deleting_dtor | Scalar deleting destructor for CWorldMap. Calls destructor logic (vtable reset, string cleanup, base dtor), then conditionally frees memory (0xa4 bytes) if param_2 bit 0 is set. |
| 0x007F9240 | 902 | CWorldMap__LoadMapData | Loads world map data from packet stream. Reads two string resources (map name at offset 0x94, table at offset 0x98) using CPacketStream. Iterates map entries to find first valid one (non -1 index), extracts coordinates from short pairs, calls FUN_00a7b470 with coordinates. |
| 0x007F95D0 | 414 | CWorldMap__RenderMapMarkers | Renders world map markers/icons. Sets color to 0xffff00ff, iterates through map entries from FUN_00747170. For each valid entry (index != -1), resolves coordinates from lookup tables, handles map cell position calculation, and renders via virtual draw call at child object offset 0x9. |
| 0x007F9770 | 127 | CWorldMap__SendNavigateRequest | Sends a navigation request packet if map data is loaded (offset 0x8c != 0). Builds a structure with packet type 0x3ea, coordinates from offsets 0x9c/0xa0, mode=5, copies map name string, then calls FUN_00b99030 to send. |
| 0x007F9800 | 32 | UIWnd__forward_to_base_handler | Forwards all messages to FUN_00a83660 (base message handler) and always returns 0. |
| 0x007F9820 | 122 | CWorldMap__SetMapName | Sets the map name string and coordinate data on the world map object. Copies string param to offset 0x7c using STL string assign, stores two additional params at offsets 0x9c and 0xa0 (coordinates). |
| 0x007F9A70 | 194 | CQuestListWnd__ctor | Constructor for CQuestListWnd (quest list window). Inherits from UI window via FUN_009ac040. Sets vtable to PTR_FUN_01129c6c. Initializes vector at 0x2c-0x2e, scroll offset 0x30=0x12. Sets UI state to 9 if virtual method matches default. |
| 0x007F9B40 | 95 | CQuestListWnd__dtor | Destructor for CQuestListWnd. Sets vtable to PTR_CQuestListWnd__scalar_deleting_dtor_01129c6c, deallocates internal vector of child widget pointers, then calls UIScrollPanel base destructor. |
| 0x007F9BA0 | 119 | CQuestListWnd__scalar_deleting_dtor | Scalar deleting destructor for CQuestListWnd. Sets vtable, deallocates vector via std__vector_deallocate, calls base destructor FUN_009ac2b0. Frees 0xc4 bytes if bit 0 of param is set. |
| 0x007F9C20 | 9 | UIWnd__call_vtable_0x3c | Thunk that calls vtable method at offset +0x3C on param_1. 9-byte function. |
| 0x007F9C40 | 13 | UIWnd__set_state_9 | Sets field at offset +0x94 to 9. Used to set a UI state/mode value. |
| 0x007F9C70 | 60 | UIWnd__handle_mouse_scroll | Handles mouse scroll events for a UI window. If +0xA5 flag is set, sends message 7 with scroll direction: 0xF (15 = scroll down) for negative scroll, -0xF (-15 = scroll up) for positive scroll, using the parent widget at +0x24. |
| 0x007F9CB0 | 1089 | CQuestListWnd__UpdateQuestEntries | Updates quest list entry labels. Acquires GDI context, iterates quest entries (count at iVar5+0xd2). For each entry, formats quest name with level info (e.g. "%s Lv.%d/Lv.%d"), checks for max level condition (msg 0x7ee). Measures text width, resizes child widgets, renders text via FUN_008681c0. Handles special case where quest index is 31999. |
| 0x007FA100 | 80 | CQuestListWnd__OnMessage | Message handler for CQuestListWnd. On message 6 with param 0xc9, calls FUN_00a8cf20(0x142) to close/toggle window. On message 0x17, updates quest entries. Falls through to UIScrollPanel__handle_scroll_message. |
| 0x007FA150 | 3615 | CQuestListWnd__BuildLayout | Builds the full quest detail layout. Creates multiple UI widgets: item slot icons, editable text labels for quest info, a CWorldMap for map display. Populates quest objectives, level requirements, item rewards with icons/names/quantities. Creates scrollbar and sprite widgets. Very large layout builder (~3600 bytes). |
| 0x007FAF70 | 124 | CQuestInfoWnd__ctor | Constructor for CQuestInfoWnd. Inherits from UI window via FUN_009ac040. Sets vtable to PTR_FUN_01129e04. Initializes fields: offset 0x2c=0, 0x2d=0xe (scroll step), state=9. |
| 0x007FAFF0 | 71 | CQuestInfoWnd__dtor | Destructor for CQuestInfoWnd. Sets vtable, calls base class destructor FUN_009ac2b0. |
| 0x007FB040 | 99 | CQuestInfoWnd__scalar_deleting_dtor | Scalar deleting destructor for CQuestInfoWnd. Sets vtable, calls base dtor, frees 0xb8 bytes if bit 0 set. |
| 0x007FB0B0 | 9 | UIWnd__call_vtable_0x3c_007fb0b0 | Thunk that dispatches to virtual method at vtable offset +0x3C. Identical pattern to UIWnd__call_vtable_0x3c. Used by CQuestInfoWnd. |
| 0x007FB100 | 60 | CQuestInfoWnd__HandleMouseWheel | Handles mouse wheel scrolling for quest info window. If scrolling enabled (flag at offset 0xa5), sends scroll message with delta 0xf (down) or -0xf (up) to child widget at offset 0x24. |
| 0x007FB140 | 66 | CQuestInfoWnd__OnMessage | Message handler for CQuestInfoWnd. On message 6 with param 0xc9, calls FUN_00a8cf20(0x142) to toggle window visibility. Falls through to UIScrollPanel__handle_scroll_message for other messages. |
| 0x007FB190 | 822 | CQuestInfoWnd__BuildLayout | Builds quest info window layout. Creates 3 text widgets for different objective categories, populates them from quest data. If quest has map data, creates CWorldMap widget. Iterates objective entries per category and adds them via virtual calls. |
| 0x007FB4D0 | 227 | CQuestWnd__ctor | Constructor for CQuestWnd (main quest window). Inherits from FUN_008a3700. Sets vtable to PTR_FUN_01129ee0. Initializes two SSO strings at offsets 0x31 and 0x37 (capacity 0xf each). Zeroes flags at 0x2d-0x30, 0x3d. |
| 0x007FB5C0 | 110 | CQuestWnd__dtor | Destructor for CQuestWnd. Sets vtable, destroys two STL strings, calls base destructor FUN_008a4e90. |
| 0x007FB630 | 134 | CQuestWnd__scalar_deleting_dtor | Scalar deleting destructor for CQuestWnd. Destroys strings, calls base dtor, frees 0xf8 bytes if bit 0 set. |
| 0x007FB6C0 | 409 | CQuestWnd__CreateChildWindows | Creates child windows for the quest UI. Allocates and initializes CQuestListWnd (0xc4 bytes) at offset 0xb4, CQuestInfoWnd (0xb8 bytes) at offset 0xb8, and a third panel (0x120 bytes) at 0xbc. Positions them, sets up tab-like button labels, and adds them as children. |
| 0x007FB860 | 610 | CQuestWnd__Render | Renders the quest window. Two modes based on flag at 0xf4: active quest view (shows quest name, description, sprite images) vs completed quest view (shows quest name, additional text). Draws title text, NPC sprites, and a bottom status line (msg 0xd48). |
| 0x007FBAD0 | 24 | CQuestWnd__OnKeyDown | Key down handler for quest window. If key code < 0x11, delegates to FUN_008ba1e0. |
| 0x007FBAF0 | 117 | CQuestWnd__OnMessage | Message handler for CQuestWnd. Message 6 with param 0xc9 toggles visibility (0x142). Message 0x17 dispatches to either quest info or quest list child window depending on active mode flag at 0xf4. Other messages forwarded to FUN_008bdc90. |
| 0x007FBB70 | 652 | CQuestWnd__SelectQuest | Selects and displays a quest by ID. If quest info not found, shows error MessageBox. For active quests (param_3=0): builds quest list layout, formats time string with date/time. For completed quests: builds info layout, copies description string, appends suffix. Updates window title string at offset 0x31. |
| 0x007FBF60 | 104 | CQuestScrollbarWidget__ctor | Constructor for quest scrollbar widget (inherits UISpriteWidget). Sets vtable to PTR_FUN_0112a0cc, initial position fields 0x28=3, 0x29=7. |
| 0x007FBFD0 | 253 | CQuestHubWnd__ctor | Constructor for CQuestHubWnd (quest hub/main panel). Inherits from FUN_008a3700. Sets vtable to PTR_FUN_0112a1a8. Zeroes child pointers 0x2d-0x30, flags 0x4c-0x50. Constructs 4 vectors (size 0xc each) at offset 0x51. Clears 0x6c bytes of data at 0x31. |
| 0x007FC0D0 | 71 | CQuestScrollbarWidget__dtor | Destructor for CQuestScrollbarWidget. Sets vtable, calls base sprite widget destructor FUN_00871830. |
| 0x007FC120 | 124 | CQuestHubWnd__dtor | Destructor for CQuestHubWnd. Sets vtable, closes quest window (0x142), destroys 4 vectors, calls base destructor FUN_008a4e90. |
| 0x007FC1A0 | 282 | CQuestManager__FindOrCreateQuestData | Finds or creates a CQuestData entry in a red-black tree map keyed by quest ID. Searches tree using BST traversal, allocates new node (0x104 bytes) if not found via CQuestData__ctor. Returns pointer to data portion (offset +5 dwords from node). |
| 0x007FC320 | 99 | CQuestScrollbarWidget__scalar_deleting_dtor | Scalar deleting destructor for CQuestScrollbarWidget. Sets vtable, calls base dtor, frees 0xb4 bytes if bit 0 set. |
| 0x007FC390 | 148 | CQuestHubWnd__scalar_deleting_dtor | Scalar deleting destructor for CQuestHubWnd. Calls dtor (close window, destroy vectors, base dtor), frees 0x174 bytes if bit 0 set. |
| 0x007FC430 | 106 | CQuestHubWnd__HitTestQuestSlot | Hit-tests mouse position against quest list slots. Checks if click is within valid bounds (x: 0x26-0x170, y: 0x18-0x1b7). Calculates slot index from Y position (step 0x2e), adds scroll offset. Returns 1 if valid slot found, stores index in param_4. |
| 0x007FC4A0 | 964 | CQuestHubWnd__CreateChildWidgets | Creates all child widgets for quest hub window. Creates editable text widget (0x2d), a checkbox/button (0x2f), tab panel (0x30) with 3 tabs, scrollbar sprite widget (0x2e). Then creates 9 quest slots in a loop, each with: label button, detail button, and item icon widget. Triggers initial update via message 0x17. |
| 0x007FC870 | 307 | CQuestHubWnd__RenderScrollbar | Renders the quest hub scrollbar if visible (offset 0x20 != 0). Sets color 0xffff00ff. Loads and draws top/bottom scrollbar caps and middle repeat segments from sprite resources at DAT_0112a2xx addresses. Calculates scrollbar track length dynamically. |
| 0x007FC9B0 | 721 | CQuestHubWnd__RenderQuestList | Renders the quest list entries in the hub window. Draws page header, iterates visible quest slots (up to 9), draws selection highlight for active quest vs normal state. For each quest, renders title text (color 0xe47b2e selected, 0x955322 normal) and description text (color 0x38302e). Handles scroll offset at 0x134. |
| 0x007FCC90 | 236 | CQuestHubWnd__OnMouseDown | Mouse down handler for quest hub. If y < 0x11, delegates to FUN_008ba1e0. Otherwise hit-tests quest slots, sets selection (0x4e=index, 0x50=pressed flag), triggers redraw. If quest window (0x142) is open, calls CQuestWnd__SelectQuest with selected quest ID and active/completed mode. |
| 0x007FCD80 | 42 | CQuestHubWnd__OnMouseUp | Mouse up handler for quest hub. Clears pressed state (0x50=0), triggers redraw, forwards to base FUN_008ba2c0. |
| 0x007FCDB0 | 60 | CQuestHubWnd__HandleMouseWheel | Mouse wheel handler for quest hub. If scrolling enabled (flag at 0x4f), sends scroll message with delta +/-3 to scrollbar widget at 0x2e. |
| 0x007FCDF0 | 1579 | CQuestUI__render_quest_entries | Renders quest entries in the quest UI. Iterates through quest list entries, calls CPacketSystem processor to get quest data, loads quest icon BMP (renew_questui_ico_nq.bmp), renders sprite layers for each entry. Handles both single-quest mode (mode 1) and multi-quest mode with different processors. |
| 0x007FD420 | 216 | CQuestHubWnd__UpdateScrollbar | Updates scrollbar state for quest hub. Calculates max scroll from total entries minus visible slots (9). Enables/disables scrollbar visibility. Clamps scroll position within valid range. Calls FUN_0089c220/FUN_0089c210 to configure scrollbar parameters, then triggers FUN_007fcdf0 to refresh display. |
| 0x007FD500 | 745 | CQuestWnd__populate_tab_lists | Populates quest tab lists by iterating quest tree, sorting into active/inactive/complete categories by tab index |
| 0x007FD7F0 | 174 | CQuestWnd__on_event | Main event handler for quest window: tab switching, quest selection, scroll, item slot clicks |
| 0x007FDDE9 | 1 | stub_nop_007fdde9 | Single-byte stub function (size=1) |
| 0x007FE5E0 | 464 | CQuestSystem__GetInstance | Singleton accessor for CQuestSystem (DAT_01456e6c). On first call, allocates 0x38 bytes, creates 3 red-black tree maps (node size 0x1b0) at offsets 0x20/0x28/0x30, initializes all tracking fields to zero, sets initialized flag. Returns 1 on success, 0 on failure. Destroys on allocation failure. |
| 0x007FE7B0 | 28 | CQuestSystem__DestroyInstance | Destroys the CQuestSystem singleton. If DAT_01456e6c is not null, calls CQuestData__dtor(1) to free it and sets pointer to null. |
| 0x007FE7D0 | 128 | CQuestSystem__ClearAllData | Clears all quest data from the 3 tree maps at offsets 0x20/0x28/0x30. Recursively destroys tree nodes, resets sentinel pointers, zeros size counters and tracking fields at offsets 0x8-0x18. |
| 0x007FE850 | 506 | CQuestSystem__PurgeDeletedEntries | Iterates all 3 quest tree maps and removes entries marked for deletion (flag at offset 0x1a8 == 1). For each marked entry, extracts the node using FUN_007fea50, destroys 3 strings, then frees the 0x1b0-byte node. |
| 0x007FEF20 | 84 | CAchievementTabWidget__ctor | Constructor for CAchievementTabWidget. Inherits from FUN_0084f570. Sets vtable to PTR_FUN_0112a65c. |
| 0x007FEF80 | 94 | CAchievementScrollWidget__ctor | Constructor for achievement scrollbar sprite widget. Inherits from UISpriteWidget. Sets vtable to PTR_FUN_0112a580, initial position field 0x28=5. |
| 0x007FF1A0 | 93 | CAchievementDetailWnd__scalar_deleting_dtor | Scalar deleting destructor for achievement detail dialog. Calls UIComplexDialog destructor, frees 0x188 bytes if bit 0 set. |
| 0x007FF200 | 93 | CAchievementScrollWidget__scalar_deleting_dtor | Scalar deleting destructor for achievement scroll sprite widget. Calls base sprite dtor FUN_00871830, frees 0xb4 bytes if bit 0 set. |
| 0x007FF4A0 | 125 | parse_account_id_as_int64 | Parses account ID string as 64-bit integer. Gets string from FUN_00858d20, copies to 260-byte buffer, processes via FUN_00ddb4d0 (likely strips formatting), converts via _atoi64. Returns result as longlong. |
| 0x007FF5F0 | 287 | validate_numeric_string | Validates that a string contains only digits and spaces. Copies input to STL string, iterates each character checking if it's '0'-'9' or space. Returns 1 if all valid, 0 if any invalid character found. |
| 0x00801CE0 | 324 | UIRefineWnd__ctor | Constructor for UIRefineWnd (item refinement window). Inherits from FUN_008a3700. Sets vtable PTR_UIRefineWnd__OnCreate. Initializes two SSO strings at offsets 0x2e and 0x34, hash table (0x100 bytes) at offset 0x3c, zeroes fields 0x3a-0x43. |
| 0x00801E30 | 145 | UIRefineWnd__dtor | Destructor for UIRefineWnd. Destroys sub-components, strings, and base class. |
| 0x00801ED0 | 169 | UIRefineWnd__scalar_deleting_dtor_00801ed0 | Scalar deleting destructor for UIRefineWnd. Sets vtable, destroys hash table at 0x3c (frees all entries + 0x100 byte root), destroys two SSO strings, calls UIWindowBase dtor. Frees 0x110 bytes if bit 0 of param set. |
| 0x00801F80 | 208 | UIRefineWnd__OnItemSlotClick | Handles click on item slot within the refine window. Hit-tests click bounds (x: 0x1e-0xbe, y: 0x135-0x14d). Iterates linked list of items, calculates slot from x position (step 0x22). On hit, copies shop item data. Otherwise clears selection. |
| 0x00802050 | 30 | UIRefineWnd__HideLeftPanel | Hides the left panel child window and triggers redraw. |
| 0x00802070 | 50 | UIRefineWnd__HideRightPanel | Hides the right panel child window, resets material data, and triggers redraw. |
| 0x008020B0 | 820 | UIRefineWnd__OnOpen | UIRefineWnd OnOpen handler. Switches on refine mode (0/1/2 at DAT_01456e6c+0x10) to set up the appropriate item display. Creates confirm/refine dialog buttons, sets up child windows. For mode 0, also creates a tooltip dialog if item has no pending operations. |
| 0x008023F0 | 747 | UIRefineWnd__OnDraw | UIRefineWnd OnDraw. Renders the refine window background, item name/description text, material slots with item sprites and counts, and the zeny cost display at the bottom. |
| 0x008026E0 | 24 | UIRefineWnd__OnSlotValidate | Validates item slot index for refine window. Only allows indices < 0x11. |
| 0x00802700 | 525 | UIRefineWnd__ShowItemTooltip | Shows item tooltip for a material slot in UIRefineWnd. Retrieves item data via OnItemSlotClick, calculates tooltip position based on slot index, builds tooltip string with color code and optional count, and displays via CToolTipMgr. |
| 0x00802910 | 206 | UIRefineWnd__ShowMaterialItemInfo | Shows the item info popup window for a material slot in UIRefineWnd. Retrieves item data via OnItemSlotClick, then opens a window type 0xC via CGameObject with the item data passed as message parameter 0x18. |
| 0x008029E0 | 444 | UIRefineWnd__OnMessage | UIRefineWnd message handler. Processes button events (0xBD=refine equip via packet 0x9F3, 0xBE=refine material via packet 0x9F1, 0xC9=close/reset, 0xD3=confirm refine with dialog, 0x131=send item name, 0x136=send packet 0xB98). Also handles item list refresh (msg 0x17) and close confirmation (msg 0x6A). |
| 0x00802C8E | 187 | CUIEquipWnd__handle_unequip_item_request | CUIEquipWnd: handle unequip item request |
| 0x008030A0 | 1722 | UIRefineWnd__OnCreate | UIRefineWnd OnCreate. Copies item name/description strings, strips color delimiters, creates the main text widget with skin colors, creates left/right panel buttons with textures, creates optional tooltip button, and adds all child widgets to the window hierarchy. |
| 0x00803760 | 44 | UIRefineWnd__SetLeftPanelVisible | Sets left panel visibility flag and triggers redraw of both panel and main window. |
| 0x00803790 | 44 | UIRefineWnd__SetRightPanelVisible | Sets right panel visibility flag and triggers redraw of both panel and main window. |
| 0x008037C0 | 180 | UIRefineWnd__CreateRefineButton | Creates a refine button widget for UIRefineWnd. Allocates a CDialogWnd (0xD0 bytes), sets message text 0xDDC, positions at (0xE0, 0x1D), assigns button ID 0x136, initially hidden, and adds to child list. |
| 0x00803880 | 104 | CQuestSystem__rbtree_lower_bound | Red-black tree lower_bound for CQuestSystem item map. Walks the tree comparing 64-bit keys (lo at offset +0x10, hi at +0x14) to find the first node >= the given key. |
| 0x00804CA0 | 167 | CQuestSystem__rbtree_erase_node | Erases a node from the CQuestSystem red-black tree. Advances iterator, extracts the node, destroys its 3 internal strings, frees the 0x1B0-byte node block, and returns the new iterator position. |
| 0x00804D50 | 660 | UIGradeEnchantWnd__ctor | UIGradeEnchantWnd constructor. Initializes the base UIItemListWnd, sets vtable, zeroes all slot/item fields, clears 4x24-byte string buffers, resets grade enchant state, and sends packet 0xAC0 to request grade enchant data from server. |
| 0x00804FF0 | 68 | UIGradeEnchantWnd__dtor_string_A | SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup. |
| 0x00805040 | 68 | UIGradeEnchantWnd__dtor_string_B | SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot B). |
| 0x00805090 | 68 | UIGradeEnchantWnd__dtor_string_C | SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot C). |
| 0x008050E0 | 68 | UIGradeEnchantWnd__dtor_string_D | SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot D). |
| 0x00805130 | 68 | UIGradeEnchantWnd__dtor_string_E | SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot E). |
| 0x00805180 | 68 | UIGradeEnchantWnd__dtor_string_F | SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot F). |
| 0x00805260 | 140 | UIGradeEnchantWnd__dtor | UIGradeEnchantWnd destructor. Resets vtable, clears 4 internal 16-byte vectors via STL_vector_16byte_clear_and_free, then destroys the base UIClass_6060. |
| 0x008052F0 | 82 | CQuestSystem__rbtree_iterator_next | Red-black tree iterator increment (operator++). Navigates to the next in-order node: if right child exists, go to leftmost descendant of right child; otherwise walk up to first right-parent ancestor. |
| 0x00805350 | 196 | CQuestSystem__compare_grade_enchant_entries | Comparator for grade enchant entries. Looks up both entries by type (0/1/2) in the CQuestSystem tree maps, then compares: first by type flag at +0x18 (type 1 > type 0), then by priority at +0x34 (higher = earlier). Returns true if param_1 should sort before param_2. |
| 0x00805420 | 164 | UIGradeEnchantWnd__scalar_deleting_dtor | UIGradeEnchantWnd scalar deleting destructor. Destroys vtable, clears 4 internal vectors via STL_vector_16byte_clear_and_free, destroys base UIClass_6060, and optionally frees the 0x208-byte block if flag bit 0 is set. |
| 0x008054D0 | 152 | UIGradeEnchantResultWnd__send_refine_packet_for_item | Sends a grade enchant refine packet (0xC4) for a single item. Looks up the item by type (0/1/2) in the CQuestSystem tree, checks status flags (bits 1+2 at +0x19), and sends the refine request via virtual call. Clears TLS field 0x109 if DAT_01457adc is set. |
| 0x00805570 | 471 | UIGradeEnchantResultWnd__send_refine_packets_all | Sends grade enchant refine packets for all eligible items. In multi-select mode (+0x1D4), iterates the selection vector and sends packet 0xC4 for each valid item. In single mode, iterates all items in the current tree map. Counts sent vs skipped (locked) items, displays error for locked items via message 0xA34. |
| 0x00805750 | 340 | UIGradeEnchantResultWnd__DrawItemSlotRow | Draws a single item slot row in the UIGradeEnchantResultWnd. Renders background sprite based on enchant type, draws item icon, and overlays status badges (locked/equipped/etc) using flag bits from the item status byte at +0x19. |
| 0x008058C0 | 5239 | UIGradeEnchantResultWnd__ShowResult | Creates the UIGradeEnchantResultWnd UI. Builds 3 tab-style multi-string widgets (msgs 0xDDC/0xDDA/0xDDB), 2 action buttons (Enchant/Close), 6 item slot rows with checkboxes/name labels/count labels/enchant buttons, a status text widget, a scroll button, and a result tab widget. Configures all positions, text colors, and message handlers. |
| 0x00806D40 | 2301 | UIGradeEnchantResultWnd__PlayAnimation | Draws the grade enchant result display. In pre-result state, shows background and description text. In result state, iterates 6 item slots: draws each item row via DrawItemSlotRow, displays countdown timers via DrawCountdownTimer, handles slot removal for cleared items, shows item name/description for valid selections. Also renders page count and navigation label at bottom. |
| 0x00807640 | 24 | UIGradeEnchantResultWnd__OnSlotValidate | Validates item slot index for grade enchant result window. Only allows indices < 0x11. |
| 0x00807690 | 294 | UIGradeEnchantResultWnd__SendRefinePacketsForItem | Sends refine packets (0x9F3 for equipment, 0x9F1 for material) for a single item based on status flag bits. Checks trade window state first. Looks up item in CQuestSystem tree, reads status byte at +0x19, sends appropriate packet for bit 2 (equip) and/or bit 1 (material). |
| 0x008077C0 | 285 | UIReformWnd__SendRefinePacketsForVisible | Sends refine packets for all visible/selected items in UIReformWnd. In multi-select mode (+0x1D4=1), iterates the selection vector and sends 0xC4 packets. In single mode, iterates the current tree map and sends for items with pending count > 0 at +0x1AC. |
| 0x008078E0 | 437 | UIReformWnd__ResetLabels | Resets UIReformWnd labels and slot states. Clears page counter (+0x67), resets all 6 radio buttons and slot EC flags, updates status label texts (messages 0xE05 and 0xE08) with button IDs 0x222 and 0x224, triggers redraw. |
| 0x00807AA0 | 214 | UIReformWnd__OnMessage | UIReformWnd OnMessage handler. Massive switch handling: slot text clicks (msg 0), button events (msg 6: 0x222=enchant all, 0x223=send selected, 0x224=cancel all), data refresh (msg 0x17), redraw (msg 0x3C), item clicks (msg 0x62: 0x142=view item, 0x143=select for enchant). Contains the main reform/enchant workflow logic. |
| 0x00807FCE | 1 | stub_nop_00807fce | Single-byte stub function (size=1) |
| 0x0080803F | 29 | UIGradeEnchantWnd__cleanup_and_return | UIGradeEnchantWnd: cleanup and return |
| 0x0080805C | 5 | thunk_UIGradeEnchantWnd__epilog_return_zero | thunk_UIGradeEnchantWnd: epilog return zero |
| 0x00808191 | 1 | stub_nop_00808191 | Single-byte stub function (size=1) |
| 0x008081A1 | 1 | stub_nop_008081a1 | Single-byte stub function (size=1) |
| 0x008081C3 | 1 | stub_nop_008081c3 | Single-byte stub function (size=1) |
| 0x0080851E | 31 | UIGradeEnchantWnd__epilog_return_zero | UIGradeEnchantWnd: epilog return zero |
| 0x00808646 | 1560 | UIGradeEnchantWnd__show_refine_confirmation_dialog | UIGradeEnchantWnd: show refine confirmation dialog |
| 0x00808FD0 | 230 | UIReformWnd__SetButtonsVisible | Sets visibility of multiple buttons in UIReformWnd. Toggles visible/hidden state for buttons at offsets 0x65, 0x66, 0x4F, 99, 0x50, 100, and triggers redraw on each. Used to show/hide the reform action buttons panel. |
| 0x008090C0 | 1452 | UIReformWnd__UpdateSlotDisplay | Updates a single slot display in UIReformWnd. Takes slot index and item data, strips color delimiters from name/description strings, sets item name text with appropriate colors (gray for locked, normal otherwise), updates radio button state and item ID reference. |
| 0x00809670 | 603 | UIReformWnd__DrawCountdownTimer | Draws the countdown timer for a grade enchant slot in UIReformWnd. Calculates remaining time from start/end timestamps, formats as minutes/hours/days using messages 0xB22-0xB24, and renders centered text with appropriate color (gold=locked, green=available). |
| 0x008098D0 | 64 | UIReformWnd__ResetSlots | Resets all 6 item slots in UIReformWnd. Increments counter at +0x67, clears slot data and EC flags, triggers redraw. |
| 0x00809910 | 117 | UIRefineWnd__SetTitleString | Sets the title string at offset 0x2d on the refine window. Copies input string (handles SSO), triggers redraw via virtual method 0x98, then destroys temporary string. |
| 0x00809990 | 452 | UIGradeEnchantResultWnd__RefreshItemLists | Refreshes the grade enchant item lists from CQuestSystem tree maps. Resets 3 vectors (at +0x1E4, +0x1F0, +0x1FC for types 0/1/2), iterates each tree map (offsets 0x20, 0x28, 0x30 from DAT_01456e6c), copies entries into vectors, then sorts each vector via STL_sort_16byte_gradeenchant. |
| 0x00809B60 | 110 | UIGradeEnchantResultWnd__RemoveEntryById | Removes an entry from the type-0 item vector (at +0x1E4) by matching the 64-bit item ID (low at element[2], high at element[3] via sign extension). Shifts remaining 16-byte elements down and decrements the end pointer. |
| 0x00809BD0 | 36 | copy_16byte_elements_forward | Copy 16byte elements forward |
| 0x00809C00 | 36 | relocate_16byte_elements | Relocates 16-byte elements by a fixed offset (param_3 - param_1). Copies each element (4 dwords) to its new position. Used for vector reallocation. |
| 0x0080ACC0 | 254 | UIRouletteWnd__submit_render_quad | Submits a render quad to the render pipeline for the roulette wheel highlight. Grows circular buffer if needed, allocates 0x28 byte entry, classifies mesh with flag 0x201, then calls animate_spin_step. |
| 0x0080ADC0 | 641 | UIRouletteWnd__animate_spin_step | Animates one step of the roulette spin. Copies target vertex positions from buffer, decrements float values per frame step. Handles two phases: acceleration (<7 steps) and deceleration (>=7). When final position reached, triggers completion with prize display. |
| 0x0080B050 | 370 | UIRouletteWnd__animate_spin_final | Animates the final roulette spin. Handles deceleration, settling on a winning slot, and triggering the result display. |
| 0x0080B1D0 | 157 | UIRouletteWnd__select_item_by_index | Selects a roulette item by absolute index. If -1, resets selection. Otherwise searches the red-black tree for the matching index and copies item description data via CItemDesc__copy_from. |
| 0x0080B270 | 542 | UIRouletteWnd__start_spin_animation | Starts the roulette spin animation. Sets up vertex positions, calculates target positions with shrink offset, records start time (timeGetTime), sets 35ms frame interval, enables animation flag and disables UI interaction during spin. |
| 0x0080B490 | 484 | UIRouletteWnd__set_quad_vertices | Sets up the 6 quad vertices (24 floats) for the roulette highlight rectangle. Handles 800x600 resolution offset (+3). Sets position, UV coords, normal, and color (0x44ffffff white) for each vertex. |
| 0x0080B680 | 158 | UIRouletteWnd__set_item_from_tree | Sets roulette item data from the RB-tree. Stores the target index (param_2) at offset 0x264, flags at 0x278/0x279. Iterates the tree at offset 0x27c to find matching row/column, copies item description via CItemDesc__copy_from. |
| 0x0080B930 | 277 | UIRouletteWnd__ctor | UIRouletteWnd constructor. Initializes base class, vtable (PTR_FUN_0112b7d4), item tree, linked list with 0x100 sentinel. Sets up display flags, page counters, item manager state. |
| 0x0080BA50 | 154 | UIRouletteWnd__dtor | UIRouletteWnd destructor. Sets vtable, destroys linked list at offset 0x72 (frees 0x100-byte sentinel), destroys 2 embedded strings, then calls UIWindowBase__dtor. |
| 0x0080BAF0 | 178 | UIRouletteWnd__scalar_deleting_dtor | UIRouletteWnd scalar deleting destructor. Runs full destructor (vtable, list, strings, base), then frees 0x1E8-byte allocation if bit 0 of param_2 is set. |
| 0x0080BBB0 | 338 | UIRouletteWnd__hit_test_grid | Hit tests the roulette grid for mouse position (param_3=x, param_4=y). Determines row (0-7, spaced 0x28 apart from 0x158 down) and column (0-8, spaced 0x24 apart). Stores hit row/col at offsets 0x1D4/0x1D0. On match, searches the item tree for the corresponding item and copies its description. |
| 0x0080BD10 | 1284 | UIRouletteWnd__OnCreate | UIRouletteWnd::OnCreate. Creates UI sprite elements: buttons, roulette_Start_spr/act, roulette_GetWinPrize_spr/act, roulette_stageArrow_spr/act. Sets up three text display areas for currency values. Mode 2 (DAT_0173a8e0==2) creates extra animated sprites. |
| 0x0080C220 | 614 | UIRouletteWnd__draw_items | Draws the roulette item icons in their grid positions. Iterates slots and renders item sprites with highlight effects for the winning slot. |
| 0x0080C4A0 | 653 | UIRouletteWnd__OnDraw | Main roulette window draw handler. Renders the wheel background, spinning animation, item grid, highlight overlay, and spin button state. |
| 0x0080CB90 | 331 | UIRouletteWnd__OnMessage | UIRouletteWnd message handler. Handles: 0xC9=spin button (checks spinning state, shows error if active), 0x199=claim reward button (sends packet 0xA1F), 0x19A=confirm prize (sends packet 0xA21 if spinning). Case 0x3C=refresh display. |
| 0x0080CCE0 | 350 | UIRouletteWnd__draw_grid_background | Draws the roulette grid background. Manages visibility of animated sprite widgets (start button, prize button, stage arrow) based on game state: spin active, prize claimed, stage level. Handles mode 2 (DAT_0173a8e0==2) extra sprites. |
| 0x0080CE40 | 83 | UIRouletteWnd__get_spin_state | Returns the current roulette spin state. 0=idle, 1=spinning (phase<7 and prize not claimed), 2=gold coins exceeded limit, 4=silver coins exceeded limit. |
| 0x0080CF10 | 321 | CRouletteItemMgr__insert_item | Inserts a roulette item into the red-black tree map. Key is the item index (param_3[0]). Node is 0x4C bytes containing item data (copies 52 bytes from param_3). Uses Insert_node for tree insertion. |
| 0x0080D2A0 | 423 | CRouletteItemMgr__ctor | CRouletteItemMgr constructor. Sets vtable, initializes display parameters (float values for positioning/scaling), allocation flags, creates 0x18-byte RB-tree sentinel for item storage. Accepts two params stored at offsets 0x1A and 0x1B. |
| 0x00811FC0 | 1259 | CRenderQueue__submit_sprite_entry | Creates a sprite render entry in the render queue. Sets up 4-vertex textured quad with position, UV coordinates (from tile cache or texture), perspective correction, rotation support, and color/alpha. Manages render deque allocation with growth. Returns pointer to the new render entry. |
| 0x00812780 | 118 | CRenderBatchList__ctor | Constructor for CRenderBatchList. Sets vtable to CRenderBatchList vftable, initializes empty linked list (sentinel node), zeroes count and child pointer fields. |
| 0x00812800 | 209 | CRenderBatchList__dtor | Destructor for CRenderBatchList. Destroys child object at offset 3 via virtual call if present. Walks and frees all 0xC-byte linked list nodes twice (clears and then destroys), frees sentinel node. |
| 0x008128E0 | 230 | CRenderBatchList__scalar_deleting_dtor | Scalar deleting destructor for CRenderBatchList. Sets vtable, destroys child object at offset 3 if present. Walks linked list at offset 1, frees all 0xc-byte nodes. Frees sentinel node. Frees 0x10 bytes if bit 0 set. |
| 0x008129D0 | 1270 | CRenderQueue__DrawTexturedQuad | Draws a textured quad to the render queue. Creates a mesh entry with 4 vertices, calculates UV coordinates from texture dimensions. Two modes: param_7=1 uses normalized coords with texture virtual methods, param_7=0 allows custom width/height with clamping. Sets z-depth, w and color (param_4) for all 4 vertices. Pushes to list via std__list_push_back_12byte. |
| 0x00812ED0 | 453 | CRenderQueue__DrawTexturedQuadSubrect | Draws a textured quad with custom UV subrect specified by pixel coordinates (param_4-7). Calculates UV coords from texture dimensions. Sets z/w/color for all 4 vertices. Pushes to render list. |
| 0x008130A0 | 750 | CRenderQueue__DrawTexturedQuadNormalized | Draws a textured quad with fully normalized UV coordinates from texture's virtual width/height methods. Position at (param_1, param_2) with size (param_5, param_6). Null check on texture. Pushes to render list. |
| 0x00813390 | 286 | CRenderQueue__DrawColoredQuad | Draws a solid colored quad (no texture, texture ptr = 0). Position at (param_1, param_2) with size (param_3, param_4). Color from param_5. All UV coords set to 0. Pushes to render list. |
| 0x008134B0 | 644 | CRenderQueue__DrawTexturedQuadByName | Draws a textured quad by loading texture from name string via stub_005717a0. Handles optional width/height params (0 = use texture size). Calculates UV with clamping. Pushes to render list. |
| 0x00813740 | 694 | CRenderQueue__DrawTexturedQuadScaled | Draws a textured quad with scaling factor (in_stack_00000030). Loads texture by name, calculates UV coordinates with scale applied (DAT_01114b8c / scale). Supports offset parameters for UV origin. Pushes to render list. |
| 0x00813A00 | 455 | CRenderQueue__ClearAndDrawBackground | Clears the render batch list (frees all 0xc-byte list nodes, resets to empty) and adds a single background quad covering (0,0)-(param_2, param_3) with solid color param_4. No texture. |
| 0x00813BD0 | 79 | CRenderTarget__dtor | Destructor for CRenderTarget. Sets vtable to PTR_FUN_0112bb90, destroys child object at offset 1 via virtual call if present. |
| 0x00813C30 | 100 | CRenderTarget__scalar_deleting_dtor | Scalar deleting destructor for CRenderTarget. Destroys child, frees 8 bytes if bit 0 set. |
| 0x00813CA0 | 982 | CRenderQueue__FlushToTexture | Flushes render queue contents to an offscreen texture. Creates render target surface if needed (stub_00571660). Sets up D3D device state (render target, depth stencil, viewport), iterates render list drawing each textured mesh via CRenderPipeline__set_texture_by_stage + stub_00569470. Blits result to output texture. Restores original render state. |
| 0x00814330 | 157 | UIRuneEntry__copy_ctor | Copy constructor for UIRuneEntry (0x24 bytes). Initializes SSO string (capacity 0xf), copies string content, then copies additional fields at offsets 0x18 (dword), 0x1c (byte), 0x20 (dword). |
| 0x008143D0 | 103 | UIRuneEntry__default_ctor | Default constructor for UIRuneEntry. Initializes SSO string to empty (capacity 0xf), zeroes flag byte at 0x1c and dword at 0x18. |
| 0x00814440 | 147 | UIRuneSlotWidget__ctor | Constructor for UIRuneSlotWidget. Inherits UISpriteWidget, sets vtable to PTR_UIRuneSlotWidget_0112c0b4. Initializes slot dimensions 0x2d, icon type 6. |
| 0x008144E0 | 86 | UIRuneTabWidget__ctor | Constructor for UIRuneTabWidget. Inherits from base UI widget via CEffect__ctor. Sets vtable to PTR_UIRuneTabWidget_0112bd4c. |
| 0x008148A0 | 147 | UIRuneListBox__ctor | Constructor for UIRuneListBox. Inherits UISpriteWidget. Sets vtable to PTR_UIRuneListBox. Initializes slot dimensions 0x2d=0x2f, icon type 0x28=6. |
| 0x00814940 | 124 | UIRuneListBoxDerived__ctor | Constructor for UIRuneListBoxDerived. Base sprite widget with vtable PTR_UIRuneListBoxDerived_0112befc. Initializes dimensions 0x44 x 0x28, selected index -1, icon type 6. |
| 0x008149C0 | 130 | UIRuneContainerWnd__ctor | Constructor for UIRuneContainerWnd. Inherits dialog window, sets vtable PTR_UIRuneContainerWnd_0112bb98. Zeroes child pointers 0x48-0x49, constructs 3 string entries (0x18 bytes each) at offset 0x4a via _eh_vector_constructor_iterator_. |
| 0x00814A50 | 163 | UIRuneTextBox__ctor | Constructor for UIRuneTextBox. Inherits base UI via CEffect__ctor. Sets vtable PTR_UIRuneTextBox_0112c5cc. Zeroes fields 0x1f-0x30 (text content, scroll state, etc). |
| 0x00814B00 | 181 | UIRuneDetailSlotWidget__ctor | Constructor for a rune detail slot widget. Extends UISpriteWidget with vtable chain (0112befc -> 0112c190). Initializes slot dimensions (0x44 x 0x28), type 6, clears data fields 0x30-0x32, sets final dimension 0x2d=0xf. |
| 0x00814BC0 | 378 | UIRuneInputBox__ctor | Constructor for rune input box widget. Sets vtable PTR_UIRuneInputBox_0112bc74, initializes tab type to 4, allocates and copies default tab bitmap path string 'runesystem/runesystam_tab_%d.bm*' (0x2F bytes with SSO reallocation). Sets counter field to 0. |
| 0x00814DE0 | 113 | UIRuneListBox__constructor | Constructor for rune list box widget. Sets vtable PTR_UIListBox_0112c344, type 4, display mode 2, selected index -1. |
| 0x00814E60 | 126 | UIRuneListBoxDerived__constructor | Constructor for derived rune list box. Sets base vtable then overrides to PTR_UIListBoxDerived_0112c41c. Same initialization as UIRuneListBox (type 4, mode 2, index -1). |
| 0x00814EE0 | 308 | UIRuneContainerWnd__constructor | Constructor for rune container window. Sets vtable PTR_UIContainer_0112c92c, creates a button widget (0x120 bytes) with 4 sprite states, positions it centered, assigns button ID 0xB8, zeroes 0x40 bytes of rune data fields. |
| 0x00815020 | 121 | UIRuneTextBox__constructor | Constructor for rune text box widget. Calls base text widget constructor (UITabWidget__default_ctor), sets vtable PTR_UITextBox_0112c4f4, initializes SSO string field at 0x3C. |
| 0x008150A0 | 525 | UIRunePageNavWidget__constructor | Constructor for rune page navigation widget. Creates two button widgets (next/prev page) with 4 sprite states each, assigns IDs 0x13D and 0x13C. Queries CRuneSystemMgr for page count; disables both buttons if below max pages (9). Initializes page tracking fields. |
| 0x008152B0 | 227 | UIRuneInputBox__constructor | Constructor for rune input box. Sets vtable PTR_UIInputBox_..._0112c77c, initializes two string fields (0x1F and 0x25) with SSO buffers, clears them to empty, and zeros control fields (0x2B-0x2F). |
| 0x008153A0 | 93 | UIRuneCheckBox__constructor | Constructor for rune checkbox widget. Sets vtable PTR_UICheckBox_..._0112c6a4, initializes checked state to 0. |
| 0x00815400 | 86 | UIRuneButton__constructor | Constructor for rune button widget. Sets vtable PTR_UIButton_..._0112c854. |
| 0x008155E0 | 84 | UIRuneSlotWidget__destructor | Destructor for rune slot widget. Sets vtable chain (0112c0b4 then 0112befc), calls sprite widget destructor. |
| 0x00815640 | 71 | UIRuneTabWidget__destructor | Destructor for rune tab widget. Sets vtable, calls base widget destructor (FUN_00a79e90). |
| 0x00815690 | 84 | UIRuneSlotEnhanced__destructor | Destructor for an enhanced rune slot widget variant. Sets vtable chain (0112bfd8 then 0112befc), calls sprite widget destructor. |
| 0x008156F0 | 71 | UIRuneBaseSlot__destructor | Destructor for a base rune slot widget. Sets vtable 0112befc, calls sprite widget destructor (FUN_00871830). |
| 0x008157B0 | 71 | UIRuneTextBox__destructor | Destructor for rune text box widget. Sets vtable 0112c5cc, calls base widget destructor (FUN_00a79e90). |
| 0x00815800 | 108 | UIRuneSlotWidget__full_destructor | Full destructor for rune slot widget. Sets vtable 0112c190, clears 36-byte vector, then sets vtable 0112befc and calls sprite destructor. |
| 0x00815900 | 71 | UIRuneListBox__destructor | Destructor for rune list box. Sets vtable, calls base widget destructor. |
| 0x00815950 | 84 | UIRuneListBoxDerived__destructor | Destructor for derived rune list box. Sets vtable chain, calls base widget destructor. |
| 0x008159B0 | 71 | UIRuneContainerWnd__destructor | Destructor for rune container window. Sets vtable, calls base window destructor. |
| 0x00815A00 | 95 | UIRuneTextBox__full_destructor | Full destructor for rune text box. Sets vtable, destroys string field, calls base text widget destructor. |
| 0x00815A60 | 71 | UIRunePageNavWidget__destructor | Destructor for rune page navigation widget. Sets vtable, calls base widget destructor. |
| 0x00815AB0 | 107 | UIRuneInputBox__destructor | Destructor for rune input box. Sets vtable, destroys two string fields, calls base widget destructor. |
| 0x00815B20 | 71 | UIRuneCheckBox__destructor | Destructor for rune checkbox. Sets vtable, calls base widget destructor. |
| 0x00815B70 | 71 | UIRuneButton__destructor | Destructor for rune button. Sets vtable, calls base widget destructor. |
| 0x00815BC0 | 112 | UIRuneSlotWidget__scalar_del_dtor | Scalar deleting destructor for rune slot widget. |
| 0x00815C30 | 96 | UIRuneTabWidget__scalar_del_dtor | Scalar deleting destructor for rune tab widget. |
| 0x00815D20 | 112 | UIRuneListBox__scalar_del_dtor | Scalar deleting destructor for rune list box. |
| 0x00815D90 | 99 | UIRuneListBoxDerived__scalar_del_dtor | Scalar deleting destructor for derived rune list box. |
| 0x00815E00 | 129 | UIRuneContainerWnd__scalar_del_dtor | Scalar deleting destructor for rune container window. |
| 0x00815E90 | 99 | UIRuneTextBox__scalar_del_dtor | Scalar deleting destructor for rune text box. |
| 0x00815F00 | 132 | UIRunePageNavWidget__scalar_del_dtor | Scalar deleting destructor for rune page navigation widget. |
| 0x00815F90 | 113 | UIRuneInputBox__scalar_del_dtor | Scalar deleting destructor for rune input box. |
| 0x00816010 | 161 | UIWindow_00816010__scalar_deleting_dtor | Scalar deleting destructor; sets vtable 0112ca04, size 0xe8, calls base dtor 008a4e90 |
| 0x008161A0 | 99 | UIContainer_008161a0__scalar_deleting_dtor | Scalar deleting destructor; sets vtable 0112c92c, size 0xf8, calls base dtor 008a4e90 |
| 0x00816210 | 119 | UITextBox_00816210__scalar_deleting_dtor | Scalar deleting destructor; sets vtable 0112c4f4, size 0x108, destroys STL string member |
| 0x00816300 | 131 | UIInputBox_00816300__scalar_deleting_dtor | Scalar deleting destructor; sets vtable 0112c77c, size 0xc8, destroys two STL strings |
| 0x00816390 | 99 | UICheckBox_00816390__scalar_deleting_dtor | Scalar deleting destructor; sets vtable 0112c6a4, size 0x88, calls base dtor 00a79e90 |
| 0x0081FBD0 | 91 | CSignBoardEntry__merge_defaults | Merges default values from param_1 into param_2 based on type field at offset 0x10. For type 1: sets type to 1. For type 2: sets type to 2, merges field 0x14 and 0x1C if zero. For type 3: sets type to 3, merges fields 0x14 and 0x1C if zero. Always merges field 0x18 if zero. |
| 0x0081FC30 | 179 | CSignBoardMgr__try_acquire_singleton | Tries to acquire or create the CSignBoardMgr singleton (DAT_01456ecc). If null, allocates 0x10 bytes and initializes with flag=1. If already exists and flag is set, returns 1. If flag is clear, calls destroy (toggle_window_visibility) and clears pointer, returns 0. |
| 0x0081FE30 | 28 | CSignBoardMgr__destroy_if_exists | Destroys the CSignBoardMgr singleton if it exists (DAT_01456ecc != 0). Calls the destructor and clears the global pointer. |
| 0x0081FE50 | 16 | CSignBoardMgr__init | Initializes sign board system by calling load_signboard_table (Lua data) followed by create_signboard_objects (3D object creation). |
| 0x0081FE60 | 3436 | CSignBoardMgr__create_signboard_objects | Creates 3D signboard objects from the loaded sign board table. Iterates entries, matches RSW resource filename, then for each entry: type 1/3 creates UIHomunculus2Wnd with texture, type 2 creates UIHomunculus2SubWnd. Converts cell coordinates to world position, gets terrain height, and pushes to a linked list. |
| 0x00820BD0 | 637 | CSignBoardMgr__load_signboard_table | Loads SignBoardList table via Lua; iterates rows parsing type, coords, and strings into vector |
| 0x00821040 | 94 | UIHomunculus2Wnd__constructor | Constructor for homunculus2 window. Calls base window constructor, sets vtable PTR_FUN_0112e1d8, initializes field at 0x50 to 0. |
| 0x008210A0 | 117 | UIHomunculus2Label__constructor | Constructor for homunculus2 label widget. Sets vtable PTR_FUN_0112e028, initializes a string field (0x1F-0x24) with SSO buffer. |
| 0x00821120 | 84 | UIHomunculus2SubWnd__constructor | Constructor for homunculus2 sub-window. Sets vtable PTR_FUN_0112dfe8. |
| 0x00821180 | 205 | UIHomunculus2InputPanel__constructor | Constructor for homunculus2 input panel. Sets vtable PTR_FUN_0112e100, initializes three string fields (0x20, 0x26, 0x2C) each with SSO buffers (capacity 0xF). |
| 0x00821250 | 71 | UIHomunculus2Wnd__destructor | Destructor for homunculus2 window. Sets vtable, calls base window destructor. |
| 0x008212A0 | 92 | UIHomunculus2Label__destructor | Destructor for homunculus2 label. Sets vtable, destroys string, calls base widget destructor. |
| 0x00821300 | 71 | UIHomunculus2SubWnd__destructor | Destructor for homunculus2 sub-window. Sets vtable, calls base window destructor. |
| 0x00821350 | 125 | UIHomunculus2InputPanel__destructor | Destructor for homunculus2 input panel. Sets vtable, destroys three string fields, calls base widget destructor. |
| 0x008213D0 | 99 | UIHomunculus2Wnd__scalar_del_dtor | Scalar deleting destructor for homunculus2 window. Optionally frees this (0x148 bytes). |
| 0x00821440 | 116 | UIHomunculus2Label__scalar_del_dtor | Scalar deleting destructor for homunculus2 label. Optionally frees this (0x94 bytes). |
| 0x008214C0 | 99 | UIHomunculus2SubWnd__scalar_del_dtor | Scalar deleting destructor for homunculus2 sub-window. |
| 0x00822040 | 25 | UIHomunculus2Label__render | Renders the homunculus2 label by calling CEntity__render_sprite_full at position (0,0). |
| 0x00822120 | 30 | UIHomunculus2Label__rebuild_and_update_text | Rebuilds the UIHomunculus2Label texture from current name, then updates the word-wrapped text display from the string at offset 0x80. |
| 0x00822440 | 126 | format_skill_tooltip_type1 | Formats skill tooltip string variant 1: "%s %s Use Lv.%d, Sp : %d" or with trailing markers depending on param_2 flag. |
| 0x008224C0 | 140 | format_skill_tooltip_type2 | Formats skill tooltip string variant 2: with optional "Ap : %d" suffix when param_6 != 0. |
| 0x00822550 | 140 | format_skill_tooltip_type3 | Formats skill tooltip string variant 3: with optional "Ap : %d" suffix when param_6 != 0, alternate format string. |
| 0x008225E0 | 123 | format_skill_tooltip_type4 | Formats skill tooltip string variant 4: "%s Use Lv.%d, Sp : %d" or with trailing markers depending on param_2 flag. |
| 0x00822660 | 134 | format_skill_tooltip_type5 | Formats skill tooltip string variant 5: "%s Use Lv.%d, Sp : %d" with optional "Ap : %d" suffix when param_5 != 0. |
| 0x008226F0 | 134 | format_skill_tooltip_type6 | Formats skill tooltip string variant 6: "%s Use Lv.%d, Sp : %d" with optional "Ap : %d" suffix when param_5 != 0, alternate format. |
| 0x0082F560 | 155 | CNavigationWnd__ctor | Constructor for CNavigationWnd. Sets vtable PTR_FUN_0112fe98, initializes fields to 0/default, records timeGetTime, sets waypoint indices to -1. Size 0x124 bytes. |
| 0x0082F600 | 71 | CNavigationWnd__dtor | Destructor for CNavigationWnd. Sets vtable and destroys base UIWindow. |
| 0x0082F650 | 93 | CNavigationWnd__scalar_dtor | Scalar deleting destructor for CNavigationWnd (size 0x124). Destroys base and conditionally frees memory. |
| 0x0082F6B0 | 99 | CNavigationWnd__scalar_dtor_base | Scalar deleting destructor for CNavigationWnd base class (size 0xE0). Sets vtable, destroys base UIWindow, conditionally frees memory. |
| 0x00832000 | 1278 | CItemLink__validate_and_parse_link | Validates and parses an item link string. Searches for link delimiters in the input string, extracts tokens iteratively, parses item IDs via base62 decode, validates against item database. If item ID is "0000T0" (placeholder), skips. Checks item existence via FUN_00ddd4e0 and validates with FUN_00dfbe40/FUN_00dfa3c0. Shows error 0xE8D if invalid. |
| 0x00832500 | 306 | CItemLink__contains_link_delimiter | Checks if a string contains any item link delimiters. Searches for 4 different delimiter strings (stored at globals DAT_01338ea8, DAT_01338ec0, DAT_01338dd0, DAT_01338de8) using std::_Traits_find. Returns 1 if any delimiter found, 0 otherwise. |
| 0x00832640 | 2832 | UIChat__parse_color_delimited_string | Parses string with delimiter tokens, extracts substrings and optional color/numeric values via atoi |
| 0x00833160 | 257 | base62_decode_string | Decodes a base-62 encoded string to an integer. Uses character set "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" (62 chars). Processes each character positionally with powers of 62 to reconstruct the integer value. Used for item link ID decoding. |
| 0x00833270 | 723 | base62_encode_int | Encodes an integer to a base-62 string. Uses character set "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ". Repeatedly divides by 62 and maps remainders to characters, then reverses the result. Output stored in param_1 as std::string. |
| 0x00833550 | 1032 | CItemLink__strip_link_tags | Strips item link tags from a string, returning plain text. Searches for link start/end delimiters, extracts the display text between them. Also processes embedded link data via FUN_00835600. Modifies the string in-place by removing link markup while preserving visible content. |
| 0x00833960 | 156 | check_item_link_system_init | Checks if the item link system is initialized. Uses a singleton pattern with DAT_01456ef0 as flag pointer. On first call, allocates a 1-byte flag set to 1 and returns 1 (initialized). Returns 0 if initialization fails. Frees flag on failure. |
| 0x00833A00 | 31 | release_item_link_system | Releases the item link system singleton. Frees the 1-byte flag at DAT_01456ef0 and sets it to NULL. Counterpart to check_item_link_system_init. |
| 0x00833A20 | 1841 | CItemLink__extract_next_token | Extracts the next token from an item link string. Searches for delimiter pairs (start/end markers), strips prefix content, and returns the token between delimiters. Updates param_3 (offset) to track position. Handles nested delimiters by iterating. Returns 1 on success, 0 when no more tokens found. |
| 0x00834160 | 1167 | split_comma_separated_string | Splits a comma-separated string into a vector of std::string. Scans for ',' (0x2C) characters using memchr, extracts each substring, and appends to the output vector (param_2). Each element is a 24-byte std::string. Handles the trailing segment after the last comma. |
| 0x008345F0 | 903 | CItemLink__parse_item_id_from_link | Parses an item ID from a link token string. Skips the first 6 characters (link prefix), then scans for delimiter characters from a set of 14 chars (DAT_01130138). Accumulates digit characters into a buffer, then calls base62_decode_string to convert the accumulated string to an integer item ID. Returns -1 if no valid ID found. |
| 0x00834980 | 671 | CItemLink__extract_display_text | Extracts display text from an item link string. Finds the link start delimiter, extracts text before it, then finds the end delimiter and extracts text after it (removing the link markup). Returns the resulting display string without link tags. |
| 0x00834C30 | 2498 | CItemLink__format_link_with_params | Formats an item link with parameter substitution. Splits the parameter string by commas, then for each parameter, finds '%' markers in the format string and substitutes values. Handles %s (string), %d (integer via atoi), and %f (float via atof) format specifiers. Also handles MsgStr() references by looking up message IDs via FUN_00b00f00. Uses lua_util_sprintf for formatting. |
| 0x00835600 | 648 | CItemLink__build_formatted_string | Builds a formatted string from item link data. Copies input string, calls parse_link_metadata to extract metadata, formats with lua_util_sprintf, and returns the result as a new std::string. Used as a helper in the link processing pipeline. |
| 0x00835890 | 560 | CItemLink__parse_link_metadata | Parses metadata from an item link string. Finds the end-link delimiter, extracts base62-encoded values for two output parameters (2 chars each starting at offset 0 and 2), then extracts the remaining text after the start-link delimiter as display text. Returns 1 if all parts found, 0 if metadata is incomplete. |
| 0x00835B00 | 435 | CItemLink__split_at_delimiter | Splits a string at a link delimiter (DAT_01338e78). Returns a struct with: flag (0=not found, 1=found), the prefix before the delimiter, and the suffix after the delimiter. Used to separate link content from surrounding text. |
| 0x00835CC0 | 204 | CItemLink__create_link_entry | Creates an item link entry structure. Initializes a 49-byte structure containing two std::strings (display text at offset 0 and link data at offset 24) plus a flag byte at offset 48. Used to store parsed link information for rendering. |
| 0x00836780 | 106 | CTextLine__pair_ctor | Constructs a text line pair by copy-constructing two std::strings from param_2 and param_3. Returns param_1. Used as a pair<string,string> constructor for text layout elements. |
| 0x008367F0 | 219 | CTextLineData__copy_ctor | Copy constructor for CTextLineData. Copies the vtable pointer, then copies the inner DWORD vector (allocating and memcpy-ing the buffer), and copies the trailing int field at offset 0x10. Structure is 20 bytes total. |
| 0x008368D0 | 154 | CTextLineData__default_ctor | Default constructor for CTextLineData. Zeroes out all 56 bytes (14 DWORDs) of the structure. Sets all fields including vtable pointer, vectors, and counters to zero. |
| 0x00836970 | 783 | CTextLayout__ctor | Constructor for CTextLayout. Initializes text layout with vtable, parent window, text content, dimensions (width/height), alignment flags, colors, and scroll settings. Parses the text into lines, handles alignment modes (0=left, 1=right, 2=center), calculates line heights, and positions text elements. Stores total height at offset 0x7C. |
| 0x00836D40 | 169 | CTextElement__ctor_with_sprites | Constructs a CTextElement with custom sprite resources. Calls base constructor, sets vtable, initializes counters, loads two sprite resources from the provided params. Stores current timeGetTime value for animation timing. |
| 0x00836DF0 | 171 | CTextElement__ctor_default_sprites | Constructs a CTextElement with default sprite resources from DAT_011303d8 and DAT_011303ec. Same as ctor_with_sprites but uses hardcoded sprite paths. Records creation time via timeGetTime. |
| 0x00836EA0 | 139 | CTextElement__ctor_with_string | Constructs a CTextElement with an embedded string. Sets vtable to PTR_FUN_011302fc, initializes an empty std::string at offset 0x7C, and sets a flag byte at offset 0x79 to 1 (enabled). |
| 0x00836F30 | 183 | CTextElement__ctor_with_font | Constructs a CTextElement with font settings. Sets vtable to PTR_FUN_0113014c, font size to 12 (offset 0x80), default color to 0xFFFFFF white (offsets 0x8C and 0x94), and initializes an empty std::string at offset 0x98. |
| 0x00836FF0 | 161 | CTextLine__move_ctor | Move constructor for CTextLine (48-byte struct). Moves the std::string from source to destination (stealing the internal buffer), then copies the remaining 24 bytes of data (offsets 0x18-0x2F) directly. |
| 0x00837100 | 77 | CTextLine__dtor_wrapper | Wrapper destructor for a CTextLine element. Calls STL_string_dtor to destroy the embedded string. Simple forwarding function. |
| 0x00837150 | 105 | CTextLine__pair_dtor_0 | Destructor for a text line pair (variant 0). Destroys two embedded std::strings in sequence. |
| 0x008371C0 | 105 | CTextLine__pair_dtor_1 | Destructor for a text line pair (variant 1). Destroys two embedded std::strings in sequence. Nearly identical to pair_dtor_0 but with different local_8 state tracking. |
| 0x00837390 | 187 | CTextLayout__dtor | Destructor for CTextLayout. Sets vtable, swaps line data back to global pool (DAT_01456f04/08/0C), destroys child elements, clears line vector, destroys embedded string, and frees the 8-byte vector. |
| 0x00837450 | 65 | CTextLineData__dtor_wrapper | Wrapper destructor for CTextLineData. Calls stub_005feb20 to destroy the internal data. |
| 0x008374A0 | 71 | CTextElement__sprite_dtor | Destructor for sprite-type CTextElement. Sets vtable to PTR_FUN_01130224 and calls base destructor FUN_00a79e90. |
| 0x008374F0 | 92 | CTextElement__string_dtor | Destructor for string-type CTextElement. Sets vtable to PTR_FUN_011302fc, destroys the embedded std::string at offset 0x7C, then calls base destructor FUN_00a79e90. |
| 0x00837550 | 95 | CTextElement__font_dtor | Destructor for font-type CTextElement. Sets vtable to PTR_FUN_0113014c, destroys the embedded std::string at offset 0x98, then calls base destructor FUN_00a79e90. |
| 0x008375B0 | 65 | CTextLine__string_dtor_wrapper | Wrapper destructor for a CTextLine string. Calls STL_string_dtor to destroy the embedded string. |
| 0x00837600 | 171 | CTextElement__get_text_content | Gets the text content from a CTextElement. If flag at offset 8 is set, returns a copy of the internal buffer range [begin, end) as a new std::string. Otherwise returns an empty string. |
| 0x008376B0 | 92 | bitfield_iterator__advance | Advances a bitfield iterator by param_2 positions. Handles both forward (positive) and backward (negative) movement. Uses 32-bit word boundaries (offset 0 = word pointer, offset 4 = bit index within word). Advances the word pointer and wraps the bit index at 32. |
| 0x00837710 | 211 | CTextLayout__scalar_deleting_dtor | Scalar deleting destructor for CTextLayout. Performs full CTextLayout cleanup (same as CTextLayout__dtor), then frees the 0x80-byte allocation if flag bit 0 is set in param_2. |
| 0x008377F0 | 99 | CTextElement__sprite_scalar_dtor | Scalar deleting destructor for sprite-type CTextElement (0x98 bytes). Calls base destructor, then frees memory if flag bit 0 is set. |
| 0x00837860 | 116 | CTextElement__string_scalar_dtor | Scalar deleting destructor for string-type CTextElement (0x94 bytes). Destroys embedded string, calls base destructor, then frees memory if flag bit 0 is set. |
| 0x008378E0 | 119 | CTextElement__font_scalar_dtor | Scalar deleting destructor for font-type CTextElement (0xB0 bytes). Destroys embedded string, calls base destructor, then frees memory if flag bit 0 is set. |
| 0x00837960 | 103 | parse_hex_color_string | Parses a 6-digit hex color string (e.g. "FF0000") to RGB. Uses strtol with base 16. Swaps byte order from RRGGBB to 0x00BBGGRR format. Sets flag byte at output+0 to 1 on success, 0 on failure. Output color stored at output+4. |
| 0x008379D0 | 353 | string_compare_with_options | Compares two std::strings with configurable options. If case-insensitive flag is clear, converts both strings to uppercase via toupper before comparison. Supports exact match mode (flag 1) using full length comparison, or prefix match mode using min-length comparison. Returns true if strings match. |
| 0x00837B40 | 56 | CTextLayout__append_hyperlink | Appends a hyperlink to the text layout. If the line vector is full (offset 0x64 == 0x68), grows it by 600 entries via SetItemEntry. Then appends the hyperlink string content to the current layout. |
| 0x00837B80 | 61 | CTextLayout__add_element_to_line | Adds a text element to the current line in the layout. If the element vector at offset 0x70 is full, grows it. Appends the element pointer to the last line's element list. |
| 0x00837BC0 | 1377 | CTextLayout__process_emoji_tag | Processes emoji/emoticon tags in text layout. Uses regex to match patterns like [e](\\d{1,3}) or [e](\\d{1,3})\\s(\\s)(\\d{1,3}). Parses emoji ID, looks up emoji sprite resources via CFmt functions, creates a CTextElement with the emoji sprite, and adds it to the layout. Also handles frame index for animated emojis. |
| 0x00838130 | 1604 | CTextLayout__process_text_segment | Processes a text segment for the text layout. Word-wraps the text, measures its width, and either adds it as inline text or creates a new line if it exceeds the available width. Handles hyperlink URLs by searching/highlighting them. Creates CTextElement instances for text blocks and positions them within the layout grid. |
| 0x00838780 | 542 | CTextLayout__process_image_tag | Processes image tags [i](\\d{1,7}) in text layout. Uses regex to extract image ID, creates a string-type CTextElement (0x94 bytes) with the image path, sizes it to 25x25 pixels, and adds it to the layout. Handles line overflow by creating new lines as needed. |
| 0x008389A0 | 916 | CTextLayout__layout_rich_text_block | Lays out a rich text block within the text layout. Measures the text width, and if it exceeds the available area, splits it into multiple lines using FormatRichText and SearchAndHighlight. Creates CTextElement instances via BuildPageIndex for each fragment and adds them to the layout's element list. |
| 0x00838D40 | 1233 | CTextLayout__dispatch_layout_elements | Main dispatch loop for laying out text elements. Iterates through parsed elements (48-byte entries) and dispatches by type: 600=plain text (with newline check), 0x1B5/0x1B6/0x1D0/0x205/0x21B=rich text segments, 0x233=color-formatted text, 0x236=emoji tags, 0x241=image tags. Each case creates appropriate layout elements. |
| 0x00839310 | 266 | string_find_case_insensitive | Searches for a substring within a string with optional case-insensitive mode. If case-insensitive (flag=0), converts both strings to uppercase using toupper before searching. Returns position or -1 if not found. |
| 0x00839D30 | 45 | get_lua_callback_pair | Gets a pair of Lua callback function pointers based on param_2. Special case for 0x1B5 returns different callback pair. |
| 0x0083BC80 | 253 | UIChat__parse_embedded_color_code | Parses ^RRGGBB color code from string; converts hex to RGB with byte-swap, stores at +0x20/+0x24 |
| 0x0083CFE0 | 174 | get_next_char_multibyte | Gets the next multibyte character from a string using CharNextExA with the current code page (DAT_016d3a78). Returns a new std::string containing just that character, or empty if at end. |
| 0x0083DB40 | 93 | CTextLayout__position_elements_centered | Positions text elements with center alignment. Calculates total width of all elements, then centers them by starting at (containerWidth - totalWidth) / 2. Calls each element's virtual SetPosition (vtable+0x10) with computed x,y coordinates. |
| 0x0083DBA0 | 72 | CTextLayout__position_elements_left | Positions text elements with left alignment. Places elements sequentially from x=0, incrementing x by each element's width (offset 0x14). Calls each element's virtual SetPosition. |
| 0x0083DBF0 | 59 | CTextLayout__position_elements_right | Positions text elements with right alignment. Iterates elements in reverse order, starting from containerWidth and decrementing by each element's width. Calls each element's virtual SetPosition. |
| 0x0083DCF0 | 44 | copy_8byte_elements_range | Copy 8byte elements range |
| 0x0083DD20 | 45 | relocate_8byte_elements_range | Relocates a range of 8-byte elements using offset-based addressing. Copies each pair of DWORDs from source [param_1, param_2) to destination at (source_addr + param_3 - param_1). |
| 0x0083DEF0 | 101 | safe_strtol_from_string | Safe wrapper around strtol for std::string input. Clears errno, calls strtol with the specified base, validates the result. Throws std::invalid_argument if no digits parsed, std::out_of_range if ERANGE. Optionally returns the number of characters consumed via param_2. |
| 0x0083DF60 | 103 | rbtree__destroy_subtree_recursive | Recursively destroys all nodes in a red-black tree subtree. Traverses left children, recursively destroys right subtrees, then frees each 0x1C-byte node. Stops when reaching a sentinel node (flag at offset 0xD is non-zero). |
| 0x0083E110 | 155 | CRBTreeMap__base_ctor | Base constructor for CRBTreeMap. Sets vtable to PTR_FUN_01130508, initializes counters to 0, allocates a 0x1C-byte sentinel node (self-referencing with flag 0x0101 at offset 0xC). |
| 0x0083E1B0 | 325 | CListBox__ctor | Constructor for CListBox UI widget. Extends CRBTreeMap with list box properties: default color 0xFFFFFF, column count 6, row count 3, font size 12, alignment settings, and scroll parameters. Sets vtable to PTR_FUN_011305e0. |
| 0x0083E300 | 67 | rbtree__free_sentinel_node | Frees the sentinel node of a red-black tree. If the node pointer at offset+4 is non-null, frees the 0x1C-byte allocation. |
| 0x0083E350 | 111 | rbtree__clear_all_nodes | Clears all nodes from a red-black tree. Iterates through nodes starting from the first child of the root, recursively destroys subtrees, frees each node, then frees the sentinel node. |
| 0x0083E3D0 | 78 | rbtree__free_sentinel_wrapper_a | Wrapper to free the sentinel node of a red-black tree. Frees the 0x1C-byte sentinel allocation at offset+4 if non-null. Used in destructor context A. |
| 0x0083E420 | 78 | rbtree__free_sentinel_wrapper_b | Wrapper to free the sentinel node of a red-black tree (variant B). Same as wrapper_a but used in different destructor contexts. |
| 0x0083E470 | 65 | rbtree__clear_nodes_wrapper | Wrapper that calls rbtree__clear_all_nodes to clear and free all tree nodes. |
| 0x0083E4C0 | 104 | CRBTreeMap__dtor | Destructor for CRBTreeMap. Sets vtable to PTR_FUN_01130508, clears all tree nodes, then calls base destructor FUN_00a79e90. |
| 0x0083E530 | 135 | CListBox__dtor | Destructor for CListBox. Sets vtable to PTR_FUN_011305e0, clears list data, resets to base vtable PTR_FUN_01130508, clears tree nodes, then calls base destructor. |
| 0x0083E620 | 128 | CRBTreeMap__scalar_deleting_dtor | Scalar deleting destructor for CRBTreeMap (0x8C bytes). Clears tree nodes and calls base destructor. Frees memory if flag bit 0 set. |
| 0x0083E6A0 | 159 | CListBox__scalar_deleting_dtor | Scalar deleting destructor for CListBox (0xCC bytes). Calls full CListBox destructor chain, then frees memory if flag bit 0 set. |
| 0x0083E740 | 295 | CListBox__insert_or_update_entry | Inserts or updates an entry in the CListBox red-black tree. Searches tree for matching key (param_2). If not found, allocates a new 0x1C-byte node and inserts it. Updates the node's float position values from offsets 0x1C and 0x20 of the source data. |
| 0x0083E870 | 1137 | CListBox__add_text_entry | Adds a text entry to CListBox. Stores the string in the entry vector (offset 0xC0), creates a CTextLayout for text measurement and line breaking, positions child text elements with alignment and scroll offset, adds them to the child list and rbtree, then updates scroll layout. Handles vertical alignment modes (center=4, bottom=5). |
| 0x0083ECF0 | 228 | CListBox__clear_all_entries | Clears all entries from the CListBox. Iterates all tree nodes calling FUN_00a82e50 to hide each entry, then destroys the tree. Resets scroll position, clears hyperlink strings, and calls FUN_0083f030 to update layout. |
| 0x0083EDE0 | 86 | CListBox__calc_total_content_height | Calculates the total content height of the CListBox. Iterates all tree entries, tracking the maximum of (entry height + y offset). Returns the largest bottom edge value. |
| 0x0083EE40 | 161 | CListBox__create_scrollbar | Creates a scrollbar sprite widget for the CListBox. Allocates a UISpriteWidget (0xB4 bytes), positions it at (param_2-13, 0), registers with parent, hides it initially, then calls FUN_0083f030 to update layout. |
| 0x0083EEF0 | 44 | CListBox__apply_background_color | Applies the CListBox background color. Reads the color from offset 0x8C and notifies the parent. If the color equals 0xFF00FF (magenta = transparent), triggers a parent refresh via vtable+0x98. |
| 0x0083EF50 | 49 | CListBox__notify_scroll_direction | Sends scroll direction message for the CListBox. If param_2 < 0, sends message 10 (scroll up); otherwise sends message 9 (scroll down). Uses the parent window's msg handler at vtable+0x94. |
| 0x0083EF90 | 147 | CListBox__resize_to_fit_content | Resizes the CListBox to fit its content. Calculates required height from entry positions plus padding. Clamps to minimum param_2. If height changed, calls virtual SetSize and updates layout. Returns 1 if resized, 0 if no change needed. |
| 0x0083F030 | 270 | CListBox__update_scroll_layout | Updates the CListBox scroll layout. Calculates total content height from all entries, shows/hides scrollbar based on overflow, clamps scroll position, updates scrollbar range, and repositions all entries based on current scroll offset. Triggers parent refresh. |
| 0x0083F140 | 114 | CListBox__on_resize | Handles CListBox resize. Updates scroll offset based on new position, moves the scrollbar, repositions it, and sends a refresh message (0x3C) to the parent. |
| 0x0083F1C0 | 64 | CRBTreeMap__on_message | Message handler for CRBTreeMap. Handles scroll messages (7=delta, 9=up by 10, 10=down by 10) by adjusting scroll position and updating layout. Messages 0x12/0x13 forward scroll direction to parent. Falls through to base handler FUN_00a83660. |
| 0x0083F280 | 150 | CListBox__on_message | Extended message handler for CListBox. Adds handling for: msg 0x1D (set text content), msg 0x3C (refresh layout via FUN_0083f5e0), msg 0x62 (hyperlink click dispatch: 0x1B5=URL, 0x1B6=scroll, 0x1D0=click target, 0x205=item info, 0x21B=NPC navigation). Scroll uses 30-pixel steps instead of 10. |
| 0x0083F590 | 41 | CListBox__set_alignment_mode | Sets alignment mode for CListBox text. Values 0-2 set horizontal alignment at offset 0xB4 (0=left, 1=right, 2=center). Values 3-5 set vertical alignment at offset 0xB5. |
| 0x0083F5E0 | 1562 | CListBox__rebuild_layout | Rebuilds the CListBox layout from stored text entries. Concatenates adjacent text strings with separator, creates a new CTextLayout, positions child elements with alignment offsets (left/right/center vertical modes 3-5), adds them to the child list and rbtree, then updates scroll layout. Called on msg 0x3C (refresh). |
| 0x0083FE10 | 129 | rbtree__lower_bound_by_string | Finds the lower bound in a red-black tree by string comparison. Traverses the tree comparing node keys (std::string at offset 16) with param_3. Returns iterator struct with node pointer, comparison result, and parent. |
| 0x00840010 | 234 | rbtree__copy_construct | Copy-constructs a red-black tree. Allocates a 0x18-byte sentinel node (self-referencing with flag 0x0101 at offset 0xC), then deep-copies the tree structure from the source via CEnchantRBTree__deep_copy_recursive. Sets up min/max node pointers by traversing leftmost and rightmost paths. Copies the node count from the source. |
| 0x00840100 | 84 | CNavigationWnd__ctor_a | Constructor variant A for CNavigationWnd. Calls FUN_0096e7b0 for base initialization, sets vtable to PTR_FUN_01130870. |
| 0x00840160 | 84 | CNavigationWnd__ctor_b | Constructor variant B for CNavigationWnd. Calls FUN_0096e9d0 for base initialization, sets vtable to PTR_FUN_011306bc. |
| 0x00840220 | 112 | CLinkedList__clear_all_nodes | Clears all nodes from a linked list. Traverses the list freeing each 0x50-byte node, calling FUN_00ae7510 for cleanup before deallocation. Nulls out head and tail pointers. |
| 0x00846FB0 | 734 | CInfoWnd__init_child_widgets | Initializes CInfoWnd child widgets: creates UITextLabel (0xB0 bytes, field 0x2f) with close checkbox texture, UISpriteWidget scrollbar (0xB4 bytes, field 0x30), and two CShopCategoryList button widgets (fields 0x35, 0x36) with texture paths. Calculates visible rows from height and triggers refresh message 0x17. |
| 0x00847290 | 340 | CInfoWnd__init_child_widgets_simple | Simplified CInfoWnd child widget init: creates UITextLabel (field 0x2f) with close checkbox and UISpriteWidget scrollbar (field 0x30). No category list buttons (unlike full init). Calculates visible rows and sends refresh message 0x17. |
| 0x008473F0 | 1708 | CInfoWnd__build_info_page | Renders the CInfoWnd buy-tab item page. Draws grid background with tiled borders, iterates visible categories from the linked list, renders item sprites with names/prices, shows selection highlight on selected row, draws sub-item slots with quantity labels, and right-aligns total price per category. Uses msgstringtable entry 0xE69 for the header title. |
| 0x00847AA0 | 1850 | CInfoWnd__layout_info_content | Renders the CInfoWnd sell-tab item page. Similar to build_info_page but uses msgstringtable entry 0xBA for header, handles three item rendering modes based on piVar8[0xe] flag and piVar8[3]: (1) weapon/special items drawn as plain sprites, (2) stackable items with count=0 drawn via UIWidget__draw_item_with_count, (3) normal items drawn via UIWindow__draw_item_sprite_with_count. Sub-item prices are per-unit (no multiplication by quantity). |
| 0x0084A850 | 46 | toggle_window_visibility | Toggles window visibility by type ID. If window exists, closes it (via tls_clear_field). If not, creates it via CGameObject__create_window_by_type. Returns true if window was created. |
| 0x0084E8D0 | 151 | UIHyperlinkTextWidget__ctor_0084e8d0 | UIHyperlinkTextWidget constructor. Calls UIBaseTextRender base ctor, sets vtable to UIHyperlinkTextWidget, initializes fields 0x2f-0x33 (default color 0x5c5c5c gray). |
| 0x0084E970 | 168 | UIBaseTextRender__ctor | UIBaseTextRender constructor. Sets vtable to UIBaseTextRender, initializes text rendering fields: font size 0xc, color 0xffffff (white), various flags to 0. |
| 0x0084EBD0 | 222 | UICheckboxWidget__ctor_0084ebd0 | UICheckboxWidget constructor. Calls CEffect base ctor, sets vtable to UICheckboxWidget, initializes item list (0x1f-0x23), allocates red-black tree sentinel node (0x18 bytes) at offset 0x22. |
| 0x0084ECB0 | 114 | UITooltipWidget__ctor | UITooltipWidget constructor. Calls UIDialogBox base ctor, sets vtable to UITooltipWidget, initializes vector fields at offsets 0x48-0x4a to empty. |
| 0x0084ED30 | 155 | UIInputBoxWidget__ctor | UIInputBoxWidget constructor. Calls UIDialogBox base ctor, sets vtable to UIInputBoxWidget, initializes string buffer (0x48-0x4d) and vector fields (0x4e-0x50) to empty. |
| 0x0084EDD0 | 186 | UITextDisplayWidget__ctor | Constructor for UITextDisplayWidget. Calls base UIWidget ctor, sets vtable to PTR_UITextDisplayWidget__scalar_deleting_dtor_011321ac. Initializes two SSO string fields, a boolean flag at offset 0x2b, and a counter at offset 0xc. |
| 0x0084EE90 | 223 | UISkillInfoDialog__ctor | Constructor for UISkillInfoDialog. Extends UITextWidget (calls UITextWidget__default_ctor), sets vtable to PTR_UISkillInfoDialog__scalar_deleting_dtor_011319cc. Initializes a vector of 0x18-byte elements, pre-allocates 30 entries. Stores list count and selection index. |
| 0x0084F010 | 371 | UITabWidget__ctor_0084f010 | Constructor for UITabWidget variant. Calls base UIWidget ctor, sets vtable to PTR_UITabWidget__scalar_deleting_dtor. Initializes 5 SSO string fields, active tab index, selection state, tab count (12), layout flags, and a boolean at offset 0x38. |
| 0x0084F190 | 192 | UIRichTextWidget__ctor_with_colors | Constructor for UIRichTextWidget with color initialization. Extends UITextDisplayWidget (calls its ctor), sets vtable to PTR_UIRichTextWidget__scalar_deleting_dtor. Reads two RGB color triplets from CColorPicker (palette indices 6 and 18, both row 2) and stores them at offsets 0x2d-0x32. |
| 0x0084F250 | 84 | UISimpleDialogWidget__ctor | Constructor for UISimpleDialogWidget. Extends UITextWidget (calls UITextWidget__default_ctor), sets vtable to PTR_UISimpleDialogWidget__scalar_deleting_dtor_01131614. Minimal derived class with no additional fields. |
| 0x0084F2B0 | 703 | UIListDialogWidget__copy_ctor | Copy constructor for UIListDialogWidget. Extends UISimpleDialogWidget, then sets vtable to PTR_UIListDialogWidget__scalar_deleting_dtor_011318d8. Copies text content via UITextWidget__copy_ctor, allocates a circular linked list sentinel (0x14 bytes), a scrollbar child widget, and copies list configuration fields (item count, selection, scroll state, column widths, header strings) from the source object. |
| 0x0084F570 | 408 | UIListDialogWidget__default_ctor | Default constructor for UIListDialogWidget. Extends UISimpleDialogWidget (calls UITextWidget__default_ctor), sets vtable to PTR_UIListDialogWidget__scalar_deleting_dtor. Allocates a circular linked list sentinel, initializes all list fields to zero/default: item count, selection, scroll state, column widths, header strings. No scrollbar child created. |
| 0x0084F710 | 153 | UIScrollableText__ctor_base | Base constructor for UIScrollableText. Extends UITextWidget, sets vtable to PTR_UIScrollableText__scalar_deleting_dtor_01131700. Initializes scroll index to -1, allocates SSO string buffer at offset 0x48, and clears boolean flag at offset 0x4e. This is the base-level ctor; the full ctor at 0084f7b0 also sets a second vtable pointer. |
| 0x0084F7B0 | 166 | UIScrollableText__ctor | Constructor for UIScrollableText widget. Calls parent FUN_0084fae0 (base UI text widget ctor), sets vtable to PTR_UIScrollableText__scalar_deleting_dtor, initializes scroll index to -1, allocates a std::string at offset 0x48 (scroll text buffer), and sets a boolean flag at offset 0x4e. |
| 0x0084FCC0 | 179 | UIEditableTextWidget__ctor | Constructor for UIEditableTextWidget. Extends UITextWidget (calls UITextWidget__ctor), sets own vtable, initializes edit buffer (std::string at offset 0x47), cursor/selection fields, and sets a mode value of 3 at offset 0x2d. Initializes caret position to -1. |
| 0x0084FD80 | 117 | UICheckboxWidget__ctor | Constructor for UICheckboxWidget. Calls base UIWidget ctor, sets vtable, initializes checked state and group ID to 0, then sets checkbox dimensions to 24x24 pixels via FUN_00a7b470. |
| 0x0084FE00 | 84 | UIEquipSlotWidget__ctor | Constructor for UIEquipSlotWidget. Extends UIItemSlotWidget (calls UIItemSlotWidget__constructor), sets own vtable. Simple derived class for equipment slot display in the equipment window. |
| 0x0084FED0 | 171 | UIHyperlinkTextWidget__ctor | Constructor for UIHyperlinkTextWidget. Extends base text widget (FUN_0084e970), sets vtable, initializes hyperlink URL string (std::string at offset 0x28), link color to 0xFFFFFF (white), hover state, and click flags. |
| 0x0084FF80 | 84 | UIRichTextWidget__ctor | Constructor for UIRichTextWidget. Extends a base text display widget (FUN_0084edd0), sets own vtable. Simple derived class for rich text rendering with formatting support. |
| 0x0084FFE0 | 308 | UITabWidget__default_ctor | Constructor for UITabWidget. Calls base UIWidget ctor, sets vtable, initializes 4 std::string members (tab labels), active tab index, click counter, widget type ID to 0xD7, tab count to 12, and layout flags. |
| 0x008501D0 | 112 | UILabelWidget__ctor_008501d0 | Constructor for UILabelWidget. Extends UIItemSlotWidget (calls its scalar_del_dtor as base ctor), sets vtable to PTR_UILabelWidget__scalar_deleting_dtor_01132cd0. Stores a parameter value at offset 0x30, initializes boolean at 0x2e and counter at 0x2f to zero. |
| 0x00850240 | 114 | UILabelWidget__ctor_with_params | Constructor variant for UILabelWidget with additional parameters. Extends UIItemSlotWidget, sets vtable to PTR_UILabelWidget__scalar_deleting_dtor_01132cd0. Takes a value parameter stored at offset 0x30, a boolean flag at 0x2e, and clears counter at 0x2f. |
| 0x008502C0 | 95 | UIItemInfoWidget__ctor | Constructor for UIItemInfoWidget. Extends UIItemSlotWidget (calls UIItemSlotWidget__constructor), sets vtable to PTR_UIItemInfoWidget__scalar_deleting_dtor_01132a44. Stores a parameter at offset 0x45 (info type or display mode). |
| 0x00850320 | 267 | UIItemSlotWidget__constructor | Constructor for an item slot widget. Extends base item widget (FUN_0084edd0), sets vtable PTR_FUN_0113288c, initializes three SSO string fields, item data fields (quantity, refine, etc.), and sets enabled flag to 1. |
| 0x00850430 | 192 | UISimpleTextWidget__ctor | Constructor for UISimpleTextWidget. Calls base UIWidget ctor, sets vtable to PTR_UISimpleTextWidget__scalar_deleting_dtor_01132bf8. Initializes two SSO string fields, a counter at offset 0x2d, and positioning values (0x2b=0, 0x2c=0xFFFFFFEC which is -20). |
| 0x008504F0 | 94 | UIEditableTextWidget__ctor_variant | Constructor variant for UIEditableTextWidget. Calls UIEditableTextWidget__constructor (the full ctor at 00850550), then sets vtable to PTR_UIEditableTextWidget__scalar_del_dtor2_01131d68. Initializes a value at offset 0x36. Acts as a thin wrapper around the base editable text ctor. |
| 0x00850550 | 303 | UIEditableTextWidget__constructor | Constructor for editable text widget. Sets vtable PTR_FUN_01131c90, initializes two SSO string fields, font size 0xC, text color 0xFFFF00FF, disabled color 0x969696, clears text content and editing state fields. |
| 0x00850680 | 110 | UIBaseWidget__ctor | Constructor for UIBaseWidget. Calls base UIWidget ctor, sets vtable to PTR_UIBaseWidget__scalar_deleting_dtor_01132f58. Initializes counter at offset 0xc to 0, mode field at 0x1f to 3, and state field at 0x20 to 0. |
| 0x008506F0 | 277 | UIFormattedTextWidget__ctor | Constructor for UIFormattedTextWidget. Extends UITextDisplayWidget (calls its ctor), sets vtable to PTR_UIFormattedTextWidget__scalar_deleting_dtor_011327b0. Initializes 4 SSO string fields at offsets 0x2f, 0x35, 0x3b, 0x41. Also initializes positioning fields at 0x2d-0x2e and a flags field at offset 0x47. |
| 0x00850810 | 128 | UIHyperlinkTextWidget__ctor_variant | Constructor variant for UIHyperlinkTextWidget. Extends UIBaseTextRender (calls UIBaseTextRender__ctor), sets vtable to PTR_UIHyperlinkTextWidget__scalar_del_dtor3_01131ffc. Initializes link state fields at 0x2f-0x31 and sets a gray color value (0x5C5C5C) at offset 0x32. |
| 0x00850890 | 128 | UITooltipWidget__ctor_00850890 | Constructor for UITooltipWidget. Extends UITextWidget (calls UITextWidget__default_ctor), sets vtable to PTR_UITooltipWidget__scalar_del_dtor2_01131ab8. Initializes 4 fields at offsets 0x47-0x4a to zero (tooltip position, visibility state, content pointer). |
| 0x00850BE0 | 103 | UILinkedList__destroy_nodes_12byte | Destroys a singly-linked list of 0xC (12) byte nodes. Sets the sentinel's count to 0, then walks the linked list starting from the first node, calling operator_delete(0xC) on each. Finally deletes the sentinel node itself. |
| 0x00850C50 | 121 | UILinkedList__destroy_nodes_20byte | Destroys a singly-linked list of 0x14 (20) byte nodes. Sets the sentinel's count to 0, walks the list calling std__vector_free_aligned + operator_delete(0x14) on each node. Finally deletes the sentinel. For nodes that contain both vector data and a link pointer. |
| 0x00851030 | 139 | UIHyperlinkTextWidget__dtor_00851030 | Destructor for UIHyperlinkTextWidget. Sets vtable chain: first UIHyperlinkTextWidget vtable (011320d4), then 01131ffc. Frees a vector, destroys a vector of structs, sets UIBaseTextRender vtable (01131e40), then calls CEffect__dtor for final base cleanup. |
| 0x008510C0 | 95 | UIBaseTextRender__dtor | Destructor for UIBaseTextRender. Sets vtable to PTR_UIBaseTextRender__scalar_deleting_dtor_01131e40, destroys a vector of structs via CFmt__vector_of_structs_dtor, then calls CEffect__dtor for base widget cleanup. |
| 0x00851270 | 95 | UIComplexDialog__destructor_base | Base destructor for complex dialog. |
| 0x008512D0 | 110 | UIComplexDialog__scalar_del_dtor | Scalar deleting destructor for complex dialog. |
| 0x00851340 | 107 | UIBaseDialog__destructor_2 | Destructor variant 2 for base dialog. |
| 0x008513B0 | 130 | UIBaseDialog__scalar_del_dtor | Scalar deleting destructor for base dialog. |
| 0x00851440 | 120 | UIBaseDialog__scalar_del_dtor_2 | Scalar deleting destructor variant 2 for base dialog. |
| 0x008514C0 | 155 | UIComplexDialog__scalar_del_dtor_2 | Scalar deleting destructor variant 2 for complex dialog. |
| 0x008515E0 | 71 | UISmallWidget__destructor | Destructor for small widget. Sets vtable, calls base widget destructor. |
| 0x00851630 | 222 | UIComplexDialog__destructor | Destructor for complex dialog. Sets vtable 011318d8, cleans up child elements (FUN_00853f20), destroys string vector elements, deallocates vectors, destroys formatting objects, then chains to base dialog destructor (FUN_008517e0). |
| 0x00851710 | 95 | UISmallWidget__scalar_del_dtor | Scalar deleting destructor for small widget. |
| 0x00851770 | 108 | UIComplexDialog__destructor_2 | Destructor variant 2 for complex dialog. |
| 0x008517E0 | 192 | UIBaseDialog__destructor | Destructor for base dialog. Sets vtable 01131528, destroys a string field, frees a linked list of 0xC-byte nodes at offset 0x3F, destroys two more strings, and calls base widget destructor. |
| 0x008518A0 | 110 | UIBaseDialog__destructor_3 | Destructor variant 3 for base dialog. |
| 0x00851910 | 71 | UIBaseDialog__scalar_del_dtor_3 | Scalar deleting destructor variant 3 for base dialog. |
| 0x00851960 | 71 | UIComplexDialog__scalar_del_dtor_3 | Scalar deleting destructor variant 3 for complex dialog. |
| 0x00851A00 | 126 | UIItemDisplayWidget__scalar_del_dtor | Scalar deleting destructor for item display widget. |
| 0x00851A80 | 120 | UIItemDisplayWidget__scalar_del_dtor_2 | Scalar deleting destructor variant 2 for item display widget. |
| 0x00851B00 | 137 | UIItemDisplayWidget__destructor | Destructor for item display widget. Sets vtable 01132da8, destroys four string fields, calls base widget destructor. |
| 0x00851B90 | 120 | UILabelWidget__base_dtor | Destructor for UILabelWidget. Sets vtable chain, destroys 2 std::string members, then calls base widget destructor FUN_00a79e90. |
| 0x00851C10 | 88 | UIItemInfoWidget__dtor | Destructor for UIItemInfoWidget. Sets vtable, clears field at offset 0x45, then calls parent destructor FUN_00851c70 to clean up text and string resources. |
| 0x00851C70 | 168 | UIMultiStringWidget__base_dtor | Destructor for UIMultiStringWidget. Destroys 3 std::string members at current vtable level, then switches to parent vtable and destroys 2 more std::string members before calling base widget destructor FUN_00a79e90. |
| 0x00851D20 | 107 | UISimpleTextWidget__dtor | Destructor for UISimpleTextWidget. Sets vtable, destroys 2 std::string members, then calls base widget destructor FUN_00a79e90. |
| 0x00851D90 | 123 | UIEditableTextWidget__dtor | Destructor for UIEditableTextWidget. Sets vtable chain (derived then base), destroys 2 std::string members (edit buffer and display text), then calls base widget destructor FUN_00a79e90. |
| 0x00851E10 | 110 | UIBasicTextWidget__dtor | Destructor for UIBasicTextWidget. Sets vtable, destroys 2 std::string members, then calls base widget destructor FUN_00a79e90. |
| 0x00851E80 | 183 | UIFormattedTextWidget__dtor | Destructor for UIFormattedTextWidget. Destroys 4 std::string members at current level, switches to parent vtable and destroys 2 more std::strings, then calls base widget destructor FUN_00a79e90. |
| 0x00851F40 | 126 | UIHyperlinkTextWidget__dtor | Destructor for UIHyperlinkTextWidget. Sets vtable, frees vector data, then calls parent destructor chain (CFmt__func cleanup) and base widget destructor FUN_00a79e90. |
| 0x00852040 | 163 | UIHyperlinkTextWidget__scalar_deleting_dtor | Scalar deleting destructor for UIHyperlinkTextWidget. Sets vtable chain, frees vector, calls CFmt cleanup and base widget dtor. Frees 0xD0 bytes if param_2 & 1. |
| 0x008520F0 | 119 | UIBaseTextRender__scalar_deleting_dtor | Scalar deleting destructor for base text render widget. Sets vtable, calls CFmt cleanup and base widget dtor. Frees 0xA0 bytes if param_2 & 1. |
| 0x00852250 | 134 | UICheckboxWidget__scalar_deleting_dtor | Scalar deleting destructor for UICheckboxWidget. Destroys a std::map, calls base dialog box constructor chain for cleanup, then base widget dtor. Frees 0x90 bytes if param_2 & 1. |
| 0x008522E0 | 119 | UITooltipWidget__scalar_deleting_dtor | Scalar deleting destructor for UITooltipWidget. Sets vtable, calls dialog box scalar del dtor, then dialog box destructor. Frees 300 bytes if param_2 & 1. |
| 0x00852360 | 134 | UIInputBoxWidget__scalar_deleting_dtor | Scalar deleting destructor for UIInputBoxWidget. Sets vtable, calls dialog box cleanup and string destructor, then UIDialogBoxBase destructor. Frees 0x144 bytes if param_2 & 1. |
| 0x008523F0 | 131 | UITextDisplayWidget__scalar_deleting_dtor | Scalar deleting destructor for UITextDisplayWidget. Sets vtable, destroys 2 std::string members, then calls base widget destructor. Frees 0xB4 bytes if param_2 & 1. |
| 0x00852480 | 154 | UISkillInfoDialog__scalar_deleting_dtor | Scalar deleting destructor for UISkillInfoDialog. Calls virtual destructor on child widget at offset 0x51 if present, destroys string and CFmt, then calls UIBaseDialog destructor. Frees 0x14C bytes if param_2 & 1. |
| 0x008525B0 | 179 | UITabWidget__scalar_deleting_dtor | Scalar deleting destructor for UITabWidget. Destroys 5 std::string members (4 tab labels + 1 other), then calls base widget dtor. Frees 0x10C bytes if param_2 & 1. |
| 0x00852670 | 144 | UIRichTextWidget__scalar_deleting_dtor | Scalar deleting destructor for UIRichTextWidget. Sets vtable chain, destroys 2 std::string members, calls base widget dtor. Frees 0xCC bytes if param_2 & 1. |
| 0x00852700 | 99 | UISimpleDialogWidget__scalar_deleting_dtor | Scalar deleting destructor for UISimpleDialogWidget. Sets vtable, calls UIBaseDialog destructor. Frees 0x11C bytes if param_2 & 1. |
| 0x00852770 | 246 | UIListDialogWidget__scalar_deleting_dtor | Scalar deleting destructor for UIListDialogWidget. Cleans up list items (iterates vector of 0x18-byte string entries destroying each), frees vectors, calls CFmt cleanup twice, then dialog box and base dialog destructors. Frees 0x188 bytes if param_2 & 1. |
| 0x00852870 | 119 | UIScrollableText__scalar_deleting_dtor | Scalar deleting destructor; sets vtable 01131700, size 0x13c, destroys string and calls base dtor |
| 0x008528F0 | 132 | UIScrollableText__scalar_del_dtor2 | Scalar deleting destructor for UIScrollableText. Sets vtable chain, destroys scroll text string, then calls UIBaseDialog destructor. Frees 0x13C bytes if param_2 & 1. |
| 0x00852980 | 38 | UIEquipSlotWidget__scalar_deleting_dtor | Scalar deleting destructor for UIEquipSlotWidget. Simply calls UIBaseDialog destructor. Frees 0x11C bytes if param_2 & 1. |
| 0x008529B0 | 134 | UIEditableTextWidget__scalar_deleting_dtor | Scalar deleting destructor for UIEditableTextWidget. Sets vtable, calls CFmt cleanup and string dtor, then UIBaseDialog destructor. Frees 0x144 bytes if param_2 & 1. |
| 0x00852A40 | 99 | UICheckboxWidget__scalar_del_dtor2 | Scalar deleting destructor variant for UICheckboxWidget (alternate vtable). Sets vtable, calls base widget dtor. Frees 0x8C bytes if param_2 & 1. |
| 0x00852AB0 | 99 | UIEquipSlotWidget__scalar_del_dtor2 | Scalar deleting destructor variant for UIEquipSlotWidget. Sets vtable, calls UIMultiStringWidget base dtor. Frees 0x114 bytes if param_2 & 1. |
| 0x00852B90 | 150 | UIHyperlinkTextWidget__scalar_del_dtor2 | Scalar deleting destructor for UIHyperlinkTextWidget (alternate vtable path). Destroys URL string, switches to base text render vtable, calls CFmt cleanup and base widget dtor. Frees 0xC0 bytes if param_2 & 1. |
| 0x00852C30 | 144 | UIRichTextWidget__scalar_del_dtor2 | Scalar deleting destructor variant for UIRichTextWidget. Sets vtable chain, destroys 2 strings, calls base widget dtor. Frees 0xB4 bytes if param_2 & 1. |
| 0x00852CC0 | 161 | UITabWidget__scalar_del_dtor2 | Scalar deleting destructor for UITabWidget (alternate vtable). Destroys 4 std::string members, then calls base widget dtor. Frees 0xF0 bytes if param_2 & 1. |
| 0x00852DE0 | 144 | UILabelWidget__scalar_deleting_dtor | Scalar deleting destructor for UILabelWidget. Sets vtable chain, destroys 2 strings, calls base widget dtor. Frees 0xC4 bytes if param_2 & 1. |
| 0x00852E70 | 116 | UIItemInfoWidget__scalar_deleting_dtor | Scalar deleting destructor for UIItemInfoWidget. Sets vtable, clears field at offset 0x45, calls UIMultiStringWidget base dtor. Frees 0x118 bytes if param_2 & 1. |
| 0x00852EF0 | 38 | UIMultiStringWidget__scalar_deleting_dtor | Scalar deleting destructor for UIMultiStringWidget. Calls UIMultiStringWidget base dtor. Frees 0x114 bytes if param_2 & 1. |
| 0x00852F20 | 131 | UISimpleTextWidget__scalar_deleting_dtor | Scalar deleting destructor for UISimpleTextWidget. Sets vtable, destroys 2 strings, calls base widget dtor. Frees 0xB8 bytes if param_2 & 1. |
| 0x00852FB0 | 147 | UIEditableTextWidget__scalar_del_dtor2 | Scalar deleting destructor variant for UIEditableTextWidget. Sets vtable chain, destroys 2 strings, calls base widget dtor. Frees 0xDC bytes if param_2 & 1. |
| 0x00853050 | 134 | UIBasicTextWidget__scalar_deleting_dtor | Scalar deleting destructor for UIBasicTextWidget. Sets vtable, destroys 2 strings, calls base widget dtor. Frees 0xD8 bytes if param_2 & 1. |
| 0x008530E0 | 93 | UIBaseWidget__scalar_deleting_dtor | Scalar deleting destructor for a base UI widget. Calls base widget dtor FUN_00a79e90. Frees 0x84 bytes if param_2 & 1. |
| 0x00853140 | 207 | UIFormattedTextWidget__scalar_deleting_dtor | Scalar deleting destructor for UIFormattedTextWidget. Destroys 4 strings at own level, switches to parent vtable and destroys 2 more. Calls base widget dtor. Frees 0x120 bytes if param_2 & 1. |
| 0x00853210 | 150 | UIHyperlinkTextWidget__scalar_del_dtor3 | Scalar deleting destructor variant 3 for UIHyperlinkTextWidget. Frees vector, calls CFmt cleanup and base widget dtor. Frees 0xCC bytes if param_2 & 1. |
| 0x008532B0 | 113 | UITooltipWidget__scalar_del_dtor2 | Scalar deleting destructor variant for UITooltipWidget. Calls CFmt cleanup and UIBaseDialog destructor. Frees 300 bytes if param_2 & 1. |
| 0x008533B0 | 315 | UIListWidget__add_item_string | Adds a string item to a UIListWidget. Copies param_2 (char*) into a local std::string, then pushes it into the vector at offset 0x88 (item list). Each entry is 0x18 bytes (std::string). After adding, calls FUN_00853530 to recalculate layout. |
| 0x008534F0 | 62 | UIListWidget__add_item_with_data | Adds an item to a UIListWidget with both a string label and associated data value. Calls UIListWidget__add_item_string for the text, then pushes the data value (param_3) into the secondary vector at offset 0xC0. |
| 0x00853530 | 555 | UIListWidget__recalc_layout | Recalculates the layout of a UIListWidget based on its items. Iterates through all string items in the vector at offset 0x21, measures each text width (via FUN_00a80580) and height (via FUN_00a80170) using the font specified at offset 0x9a. Supports multiple font sizes (0x14-0x1c). Tracks max width and total height, then resizes the widget via virtual calls. |
| 0x00853760 | 171 | UIListWidget__navigate_selection | Navigates the selected item in a UIListWidget by offset param_2. Wraps around from end to start and vice versa. Retrieves the string of the newly selected item and calls virtual functions to update display (0xD4=set text, 0x5C=refresh, 0x98=invalidate). |
| 0x00853EA0 | 113 | UIListWidget__set_item_text | Sets the text of a list item at given index. If param_3 is -1, targets the last item. Updates the string at the specified index in the items vector and calls virtual invalidate (0x98). |
| 0x00853F20 | 405 | UIListDialogWidget__clear_all_items | Clears all items from a UIListDialogWidget. Removes duplicate entries from the string vector at offset 0x168 (compact + destroy), destroys remaining strings, clears a bool vector at 0x174-0x180, frees two auxiliary buffers at 0x160 and 0x164. |
| 0x00854130 | 257 | decode_base62_string | Decodes a base-62 encoded string to an integer. Uses charset "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" (62 chars). Processes each character positionally with powers of 0x3E (62). Used for decoding item link IDs in chat messages. |
| 0x008551B0 | 4632 | UITextBox__render_text_content | Main text rendering: word-wraps lines, positions cursor, draws text with colors, handles scrolling and IME |
| 0x008563D0 | 1442 | UIEditableTextWidget__render | Renders an editable text widget. Handles both focused (local player) and unfocused states. For focused: builds display string with cursor positions, renders text with optional shadow color, draws selection highlight via FUN_00857040, and blinks the cursor using timeGetTime at 500ms intervals. For unfocused: renders static text or password mask. Supports both single-color and gradient text rendering (FUN_00a84360 vs FUN_00a869c0). |
| 0x00856980 | 1314 | UIEditableTextWidget__render_alt | Alternative render method for UIEditableTextWidget. Nearly identical to UIEditableTextWidget__render but without the password/empty-text special case checks. Same cursor blink, selection highlight, and text rendering logic. |
| 0x00856FB0 | 140 | UITextBox__draw_selection_highlight | Draws text selection highlight rectangle with computed color from style palette |
| 0x008570D0 | 527 | UIFormWidget__render_labels | Renders label entries in a form-style widget. Iterates the vector of 0x34-byte label entries at offset 0x120. For each entry with text (offset 0x10 != 0): calculates position (auto-centers if x=-1000 or y=-1000), applies shadow/style based on form style (0=light shadow, 1=warm shadow, 2=bright, 3=disabled), then renders text with FUN_00a84360. |
| 0x00858B80 | 91 | UIEditableTextWidget__get_hint_text | Gets the hint/placeholder text from an editable text widget. Copy-constructs the std::string at offset 0xF8 into the output parameter. Returns param_2 unchanged. |
| 0x00858BE0 | 107 | UISkillWidget__get_skill_level | Gets the current skill level for a skill widget. Loads two skill tree paths from std::strings at offsets 0xCC and 0xE4, resolves them via FUN_00aee770, finds the skill tree node via UISkillWnd__get_skill_tree_node, then reads the skill level (short) at offset +2 in the skill data array. |
| 0x00858C50 | 106 | UISkillWidget__get_skill_id | Gets the skill ID for a skill widget. Same lookup pattern as get_skill_level but reads the skill ID (short) at offset +0 instead of +2 in the skill data array. |
| 0x00858CC0 | 81 | UIFormWidget__get_entry_index_at_y | Gets the index of the form entry at a given Y position (param_3). Iterates the vector of 0x1C-byte entries at offset 0x7C, accumulating heights. Returns the index when the cumulative height exceeds param_3, or -1 if not found. |
| 0x00858D20 | 46 | UIEditableTextWidget__get_display_text | Gets the current display text from an editable text widget. If the widget belongs to the local player, first calls virtual function 0xE0 (refresh text). Returns pointer to the std::string at offset 0x36 (handles SSO). |
| 0x00858D50 | 35 | UIEditableTextWidget__get_text_length | Gets the length of the text in an editable text widget. For the local player, returns the global text length from DAT_016d3b0c+0x44; otherwise returns the cached length from offset 0xE8. |
| 0x00858D80 | 91 | UIEditableTextWidget__get_alt_text | Gets the alternate/secondary text from an editable text widget. Copy-constructs the std::string at offset 0x104 into the output parameter. Returns param_2 unchanged. |
| 0x00858DE0 | 286 | UIFormWidget__get_entry_info | Gets detailed info about a form entry by index. Copies the string from the 0x34-byte entry at the specified index in the vector at 0x120. Also copies: font size (0x24), color (0x2C), shadow flag (0x28), bold flag (0x30), x position (0x1C), y position (0x20) into output params. |
| 0x00858F30 | 281 | UIFormWidget__flush_pending_entries | Flushes pending form entries. Initializes output string, iterates the vector of 0x18-byte entries at offset 0x124, appends each entry's string data to the output, then destroys all entries and resets the vector size. |
| 0x00859200 | 29 | UIEditableTextWidget__should_show_cursor | Determines if the cursor should be shown. Returns 0 (don't show) if the input field has focus (FUN_00ab1120) and a global flag (DAT_014576a4) is not set. Returns 1 otherwise. |
| 0x0085CF90 | 435 | UISkillWidget__draw_skill_sprite_tile | Draws a skill sprite tile for a skill tree widget. Loads sprite atlas and model resources, gets a skill tree node via UISkillWnd, finds the correct sprite frame via CTileCache (find or acquire), and renders it through the DirectX draw call at vtable offset 0x28. Handles sprite offset, clipping, and frame indexing. |
| 0x0085D6C0 | 961 | UISkillWidget__draw_skill_sprite_composition | Draws a composed skill sprite with multiple layers. Loads sprite atlas (0xE4) and model (0xCC) resources, optionally loads an RSM model (0xFC) for 3D sprites. Gets skill tree nodes via UISkillWnd and iterates sprite layers (0x24-byte entries). For each layer, finds/acquires tile from CTileCache, computes position relative to center with clipping, and renders through DirectX at vtable offset 0x28. Handles animation frame cycling via 0xBC/0xC0/0xC4. |
| 0x0085DAF0 | 421 | UITextRenderer__draw_text_with_shadow | Renders text with optional shadow; calls draw function multiple times with different offsets for shadow/outline effect |
| 0x0085DCA0 | 459 | UITextRenderer__draw_text_with_shadow_and_offset | Draws text with shadow/outline effects and an x-offset from member 0xD8. Similar to draw_text_with_shadow but adds horizontal offset to all draw positions. If shadow flag (0x88) is set, draws white shadow at (offset+2, 2). If outline flag (0x8C) is set, draws 4-directional outline. Final text drawn at (offset+1, 1) using RGB from 0x7C/0x80/0x84. |
| 0x0085DE70 | 325 | UITextRenderer__draw_text_with_outline | Draws text with outline effect at (0,0). If shadow flag (0x88) is set, draws white shadow at (1,1). If outline flag (0x8C) is set, draws 3-directional outline at (-1,0), (1,0), (0,1). Final text at (0,0) using RGB from 0x7C/0x80/0x84. Uses font/bold settings from 0xA0/0xA1. |
| 0x0085EA90 | 131 | UITabWidget__handle_click | Handles click events on a tab widget. Iterates the vector of 0x1C-byte tab entries at offset 0x1F, accumulating widths to find which tab was clicked at Y position param_3. If a different tab is selected, updates the active tab index at 0xC and notifies the parent via virtual callback (0x94) with event type 0x16. |
| 0x0085EE70 | 90 | UISlider__on_scroll_position_change | UISlider scroll position change handler. Calculates new position based on mouse Y divided by per-item height. Clamps to valid range [0, max_items-1]. If changed, updates state and notifies parent with message 0x16. |
| 0x00860080 | 846 | CItemLink__parse_item_data | Parses item link data from a vector of integers. Looks up item info by ID, checks for "unknown item" string pattern, extracts item type, slot count, card IDs, refine level, and random options. Populates the output structure (param_2) with parsed item fields. Returns 1 on success, 0 if empty or unknown item. |
| 0x008603D0 | 944 | CItemLink__parse_base62_delimited_fields | Parses base62-encoded fields from a delimited string. Iterates characters starting at *param_3, accumulating digit characters into a string buffer. When a delimiter (*param_5 or *param_6) is encountered, decodes the accumulated buffer via decode_base62_string and appends the result to the output vector at param_1. Used for parsing item link encoded data. |
| 0x00860790 | 1221 | parse_item_link_fields | Parses item link field values from a delimited string. Iterates characters from param_2 starting at *param_3, accumulating base-62 encoded segments separated by a delimiter character (*param_4). Decodes each segment via decode_base62_string and stores results into the output array at param_1. Returns the count of fields parsed. |
| 0x00860C60 | 3656 | CItemLink__build_display_text | Builds a formatted display string for an item link. Resolves item name, card slot names, and enchant info. Constructs the full colored/formatted link text for display in chat messages. |
| 0x00861B50 | 2396 | UIScrollableTextWidget__handle_scroll_event | Handles scroll-related events for a scrollable text widget. Manages scroll position updates, content navigation, and viewport calculation. |
| 0x008624B0 | 2803 | UIEditableTextWidget__handle_input_event | Handles text input events for an editable text widget. Processes keyboard input, cursor movement, text selection, copy/paste, and character insertion. |
| 0x00862FB0 | 718 | UIEditableTextWidget__update_cursor_scroll | Updates cursor position and horizontal scroll offset for an editable text widget. Refreshes text content, clamps cursor positions within max text length, measures text width to determine if horizontal scrolling is needed. Uses CharNextExA for multi-byte character handling (Korean text). Adjusts the scroll offset (field 0x2C) to keep the cursor visible within the widget bounds. |
| 0x00863280 | 69 | UIComboBoxWidget__on_resize | Handles resize events for a combo box widget. Calls base resize handler FUN_00a82eb0, resizes the child dropdown widget at offset 0x4C to (width-10, 0), updates its height, and calls virtual function 0xE8. |
| 0x00863300 | 110 | UIFormWidget__handle_event | Handles events for a form widget. Event 0xD: sets active index and invalidates. Event 0xE: iterates entries, resolves texture paths via FUN_00af62d0/FUN_00b01200/FUN_00aee770, accumulates heights, resizes widget. Event 0x4B: clears all string entries. Event 0x4E: adds a new entry with texture name and height. |
| 0x008633D3 | 1 | stub_nop_008633d3 | Single-byte stub function (size=1) |
| 0x008633E1 | 1 | stub_nop_008633e1 | Single-byte stub function (size=1) |
| 0x0086344D | 1 | stub_nop_0086344d | Single-byte stub function (size=1) |
| 0x008634AC | 1 | stub_nop_008634ac | Single-byte stub function (size=1) |
| 0x00863640 | 344 | UIComboBoxWidget__handle_key_event | Handles keyboard events for a combo box widget. Key 0x12 (Up): navigates to previous item in the dropdown list. Key 0x13 (Down): navigates to next item. Other keys: delegates to FUN_008641c0. Updates the displayed text via virtual function 0xD4 and refreshes via 0x5C. |
| 0x008637A0 | 930 | UIComboBoxWidget__handle_input_event | Handles input events for a combo box widget. Processes text input, handles Enter key to submit/send chat, manages input history, and delegates to parent handlers. |
| 0x00863C70 | 1226 | UIComboBoxWidget__handle_widget_event | Handles widget-level events for a combo box. Processes focus changes, text updates, and delegates to parent event handlers. |
| 0x00864CE0 | 54 | UICheckboxWidget__on_click_notify_parent | Click handler for checkbox widget. On left click (param_3 == 0), notifies parent via virtual callback 0x94 with event type 6 and checkbox value from 0x2C. Other clicks delegate to FUN_008641c0. |
| 0x00864D20 | 59 | UIListWidget__handle_key_event | Keyboard handler for list widget. Key 0x12 (Up): navigate selection by -1. Key 0x13 (Down): navigate by +1. Other keys: delegate to FUN_008641c0. |
| 0x00865220 | 314 | UIComboBoxWidget__handle_key_navigate | Keyboard navigation for combo box using history entries at offset 0x47. Key 0x12 (Up): decrements history index (0x4A), clamps to 0. Key 0x13 (Down): increments, wraps to empty string at end. Updates display text via virtual 0xD4 and refreshes via 0x5C. Other keys delegate to FUN_008641c0. |
| 0x00865590 | 97 | UIImageWidget__set_texture_path | Sets the texture path for an image widget. Copies the path string to offset 0x11C, resolves the texture via CResourceMgr, and sets widget width/height from the texture dimensions (0x114/0x118). |
| 0x00865600 | 163 | UIMapView__set_map_textures | Sets the map view texture paths. Stores two texture path strings at offsets 0x80 and 0x98, resolves both textures via CResourceMgr, and sets the widget dimensions from the primary texture size (0x114=width, 0x118=height). |
| 0x008656E0 | 94 | UICheckboxWidget__set_texture_path | Sets the texture path for a checkbox widget. Copies path to string at 0x7C, resolves texture, gets dimensions from texture info (0x114/0x118), sets widget size. |
| 0x00865740 | 94 | UICheckboxWidget__set_texture_path_alt | Sets an alternate texture path for a checkbox widget. Same pattern as UICheckboxWidget__set_texture_path - copies path, resolves texture, updates size. Likely for checked/unchecked state texture. |
| 0x008658D0 | 87 | UIRadioButton__set_selected | Sets the selected state of a radio button. If not disabled (field 0x1F == 0): sets active index to param_2, invalidates self and parent window (via FUN_00a7d6d0), notifies parent with event type 6 including widget ID (0xB) and selected index (0xC). |
| 0x00865930 | 59 | UIRadioButton__set_selected_no_notify | Sets the selected state of a radio button without notifying parent. Same as UIRadioButton__set_selected but omits the parent callback. Invalidates self and parent window. |
| 0x00865C40 | 113 | UILabelWidget__set_label_text | Sets the label text on a label widget. Assigns the C-string if non-null and non-empty, resizes the widget if the label has content (min width 24px), height = field 0x30 + 25, then invalidates. |
| 0x00865CC0 | 21 | UIListWidget__set_font_and_recalc | Sets the font at offset 0x80 and recalculates the list widget's layout by calling UIListWidget__recalc_layout. |
| 0x00867960 | 136 | UIScrollableText__set_scroll_text | Sets the scrollable text content. Assigns param_2 to the text string at offset 0x48, calls virtual layout (0xE4). If this is the local player's widget, clears and re-inserts text into the input manager. Then calls virtual 0xD8 and invalidates parent widget. |
| 0x00867A00 | 145 | UIComboBoxWidget__push_history_entry | Pushes the current text into the combo box history list. If history has more than 4 entries, removes the oldest. Copies the string from offset 0xD8 into the history vector (0x134-0x138). Resets history navigation index to 0. |
| 0x00867FC0 | 270 | UIEditableTextWidget__set_text_and_configure_button | Sets editable text at offset 0x36, calls virtual layout (0xE4), syncs with input manager if local player. Then searches text for URL-like patterns (two global pattern strings) and calls UIButtonWidget__configure_from_params if found. Invalidates parent widget. |
| 0x008680D0 | 136 | UIEditableTextWidget__set_input_text | Sets the input text of an editable text widget. Assigns text to string at offset 0x36, calls virtual layout (0xE4). If this is the local player's widget, clears and re-inserts text into the input manager. Then calls virtual 0xD8 and invalidates parent widget. |
| 0x00868160 | 29 | UIFormWidget__add_entry_and_invalidate | Adds a form entry via FUN_008680d0 and then invalidates the widget for redraw. |
| 0x00868230 | 71 | UIFormWidget__add_entry_or_set_count | Adds a form entry via FUN_008680d0. If param_2 is an empty string, sets the entry count (0x128) to the current number of entries in the vector (0x11C-0x120, 0x18 bytes each). |
| 0x00868280 | 128 | UIListWidget__clear_and_add_item | Clears all existing list items and adds a single new item with data. Destroys all string entries in the vector at 0x84, resets secondary vector at 0xBC/0xC0, then calls UIListWidget__add_item_string with param_2 and pushes param_3 as associated data. |
| 0x00868300 | 333 | UIEditableTextWidget__truncate_text_to_fit_width | Truncates the editable text field (0xD8) to fit within the maximum display width. Compares text length (0xE8) against the item display area (0x88 - 0xF0). Uses CharNextExA/CharPrevExA for multibyte-safe character navigation. Updates the input manager with the truncated text and pads with spaces if needed. |
| 0x00868450 | 281 | UIEditableTextWidget__pad_text_to_fill_width | Pads the editable text field (0xD8) to fill the display width when the item count (0x88) exceeds text length (0xE8). Truncates text to fit using multibyte-safe CharNextExA/CharPrevExA, then appends space characters until text length meets the item display width. |
| 0x008685E0 | 353 | UIFormWidget__add_text_entry | Adds a text entry to a form widget. Takes text ID, font params, position, and flags. Auto-centers horizontally (x=-1000) and vertically (y=-1000) by measuring text. Checks for duplicate entries by ID. Stores as a 0x1C-byte struct in the vector at 0x138. |
| 0x0086A670 | 162 | UIFormWidget__update_entry_text | Updates the text of a form entry at a specified index. Validates index against the vector bounds (0x48-0x49 range with 0x34-byte entries). If valid and not the same pointer, copies the string data. Then invalidates and cleans up temporary string. |
| 0x0086B020 | 15 | UIContainer__is_empty | Returns true if the container's child count at offset 0x24 is zero (container is empty). |
| 0x0086BF00 | 47 | int64_min_compare | Returns the smaller of two 64-bit integer values via signed comparison |
| 0x0086BF30 | 141 | map_node_init_with_string_move | Initializes map tree node by copying key fields and move-constructing embedded string |
| 0x0086BFC0 | 147 | map_node_init_with_string_move_0086bfc0 | Initializes map tree node variant, copies fields and move-constructs embedded string at offset 1 |
| 0x0086C190 | 176 | UIColorButton__ctor | Constructs UI color button widget, sets RGB color constants (0x8E,0x2A,0x4B,0x8F) |
| 0x0086C310 | 124 | UIPanel__ctor_0086c310 | Constructs UI panel with vtable 0x01134200, zeroes fields at offsets 0x29 and 0x33 |
| 0x0086C390 | 124 | UIPanel__ctor_0086c390 | Constructs UI panel with vtable 0x01134128, zeroes fields at offsets 0x29 and 0x33 |
| 0x0086C410 | 175 | UITextInput__ctor | Constructs UI text input widget with embedded string buffer (SSO), initial cursor pos -1 |
| 0x0086C590 | 388 | UIMultiStringWidget__ctor | Constructs UI widget with 6 embedded SSO strings and vector fields, sprite ID 0xD7 |
| 0x0086C720 | 135 | UITokenizerWidget__ctor | Constructs UITokenizerWidget with base CEffect ctor, embedded sprite via CSprite__constructor_inline, and SSO string buffer at offset 0x68 |
| 0x0086C8D0 | 619 | UIListBase__ctor | Constructs list base widget with 2 sentinel nodes, reserves 0xF0 capacity in 6 vectors |
| 0x0086CB40 | 94 | UIListWidget__ctor_0086cb40 | Constructs list widget calling base 0x0086d940, sets ID field to 0x2739 |
| 0x0086CBA0 | 124 | UIScrollableWidget__ctor | Constructs scrollable widget calling base 0x0086cc20, zeroes 4 scroll state fields |
| 0x0086CC20 | 192 | UIRenderWidget__ctor | Constructs render widget with RGB color (0xFF each), zeroes transform fields, spacing=0x28 |
| 0x0086CCE0 | 94 | UITreeWidget__ctor | Constructs tree widget inheriting from 0x0086cd40, zeroes extra field |
| 0x0086CD40 | 340 | UITreeBase__ctor | Constructs tree base with RB-tree sentinel node, RGB color 0xFF, line height 0x10, ID 0x2739 |
| 0x0086CF40 | 151 | UILabelWidget__ctor | Constructs label widget with SSO string buffer, initial index -1, zeroes extra fields |
| 0x0086CFE0 | 121 | UIRenderWidgetEx__ctor | Constructs extended render widget inheriting UIRenderWidget, adds string buffer at offset 0x2A |
| 0x0086D060 | 321 | UIChatWindow__ctor | Constructs chat window with 2 arrays of 5 strings each, 3 SSO strings, timestamp via timeGetTime |
| 0x0086D1B0 | 154 | UIToggleWidget__ctor | Constructs toggle widget, calls base 0x0084f250, sets toggle state=1 and zeroes fields |
| 0x0086D250 | 121 | UISimpleDialogWidgetDerived__ctor | Constructs a derived UISimpleDialogWidget. Calls UISimpleDialogWidget__ctor base, sets vtable 0x0113741C, zeroes 3 state fields and a bool flag |
| 0x0086D2D0 | 163 | UIThemeColors__ctor | Constructs theme color widget with 8 hardcoded color values for UI theme palette |
| 0x0086D380 | 126 | UIContainer__ctor_0086d380 | Constructs UI container widget, zeroes 4 layout/position fields |
| 0x0086D400 | 205 | UISelectWidget__ctor | Constructs select widget with 2 SSO strings, ID 0x2739, selection index -1 |
| 0x0086D4D0 | 95 | UIFmtDialog__ctor_0086d4d0 | Constructs UIFmtDialog widget. Calls UIWidget__ctor_0086eeb0 base, then CItemDesc__ctor_alt sub-init, sets vtable to UIFmtDialog (0x01136D9C) |
| 0x0086D590 | 91 | UIRenderWidgetSimple__ctor | Constructs simple render widget inheriting UIRenderWidget, zeroes bool at offset 0x2A |
| 0x0086D5F0 | 119 | UIFmtDialogEx__ctor | Constructs extended UIFmtDialog (0x200-size variant). Calls UIWidget__ctor_0086eeb0 base + CItemDesc__ctor_alt, sets enabled=1 and state=0, vtable 0x01137268 |
| 0x0086D670 | 258 | UIListDetailWidget__ctor | Constructs list detail widget with 0x1D0 byte sentinel node and 2 SSO string buffers |
| 0x0086D780 | 84 | UIListDetailWidgetA__ctor | Constructs list detail variant A inheriting UIListDetailWidget, overrides vtable |
| 0x0086D7E0 | 114 | UIListDetailWidgetB__ctor | Constructs list detail variant B inheriting UIListDetailWidget, adds 3 extra fields |
| 0x0086D860 | 84 | UIListDetailWidgetC__ctor | Constructs list detail variant C inheriting UIListDetailWidget, overrides vtable only |
| 0x0086D8C0 | 113 | UIGridWidget__ctor | Constructs grid widget from base 0x0086d940, sets column count=0xC and zeroes flags |
| 0x0086D940 | 331 | UIScrollListBase__ctor | Constructs scroll list base with vectors, RGB 0xFF, line height 16, scroll mode 3 |
| 0x0086DA90 | 317 | UITreeBase__ctor_variant | Constructs tree base variant with RB-tree sentinel (0x30 bytes), RGB 0xFF, line height 16 |
| 0x0086DBD0 | 317 | UITreeBase__ctor_scrollmode3 | Constructs tree base with scroll mode 3, RB-tree sentinel, RGB 0xFF, line height 16 |
| 0x0086DD10 | 138 | UIScrollListHighlight__ctor | Constructs highlighted scroll list from base, highlight color 0xD2D2D2, selection index -1 |
| 0x0086DDA0 | 104 | UITreeHighlight__ctor | Constructs highlighted tree widget, line height 15, highlight color 0x92C0FA |
| 0x0086DE10 | 127 | UIListEx__ctor | Constructs extended list widget inheriting UIListBase, sets RGB to 0xFF |
| 0x0086DE90 | 204 | UIColoredLabel__ctor | Constructs colored label from UIThemeColors, custom palette, line spacing 0x19, enabled flag |
| 0x0086DF60 | 121 | UISearchDialog__ctor | Constructs UISearchDialog widget from base 0x0086eeb0, adds SSO string buffer at offset 0x3E for search text, vtable 0x0113787C |
| 0x0086DFE0 | 212 | UICanvasWidget__ctor | Constructs canvas widget with RGB 0xFF, zeroes 12 transform/state fields |
| 0x0086E0C0 | 84 | UIScrollList__ctor_0086e0c0 | Constructs scroll list inheriting UIScrollListBase, overrides vtable only |
| 0x0086E120 | 134 | UIThemedWidget__ctor | Constructs themed widget from UIThemeColors, zeroes 5 state/layout fields |
| 0x0086E1B0 | 93 | UISimpleWidget__ctor | Constructor for UISimpleWidget. Calls CEffect__ctor base, sets UISimpleWidget80 vtable, zeroes single state field at offset 0x1f. |
| 0x0086E210 | 252 | UIMultiColumnWidget__ctor | Constructs multi-column themed widget, zeroes 9 column state fields at 10-dword intervals |
| 0x0086E310 | 130 | UINamedWidget__ctor | Constructs named widget with string copy for name parameter and extra state field |
| 0x0086E410 | 94 | UIBaseWidgetA__ctor | Constructor for UIBaseWidgetA. Inherits UISpriteWidget, overrides vtable, sets spacing field to 10. |
| 0x0086E470 | 94 | UIBaseWidgetA2__ctor | Constructor for UIBaseWidgetA2. Inherits UISpriteWidget, overrides vtable, sets spacing field to 9. |
| 0x0086E4D0 | 114 | UIBaseWidgetA_B8__ctor | Constructor for UIBaseWidgetA_B8. Inherits UISpriteWidget, sets column count=6, spacing=0, row height=12. |
| 0x0086E550 | 223 | UISpriteWidget__ctor | Constructs sprite widget with default spacing 13, enabled flag, zeroes 9 state fields |
| 0x0086E630 | 164 | UISpriteWidgetEx__ctor | Constructs extended sprite widget, zeroes 8 additional layout/state fields |
| 0x0086E6E0 | 104 | UISmallSpriteWidget__ctor | Constructs small sprite widget with spacing=7 in both dimensions |
| 0x0086E750 | 128 | UIScrollListEx__ctor | Constructs extended scroll list from UIScrollListBase, adds 4 zeroed state fields |
| 0x0086E840 | 142 | UISliderWidget__ctor | Constructs slider widget with parameter value, index -1, range 0x50000 |
| 0x0086E8D0 | 149 | UISliderWidgetEx__ctor | Constructs extended slider widget with param value, index -1, range 0x50000, extra bool flag |
| 0x0086E970 | 97 | UITwoStringWidget__ctor | Constructor for UITwoStringWidget. Calls CEffect__ctor base then CItemDesc__ctor_alt for sub-object initialization. Sets UITwoStringWidget178 vtable. |
| 0x0086E9E0 | 110 | UITwoStringWidgetDerived__ctor | Constructor for UITwoStringWidgetDerived. Same as UITwoStringWidget__ctor but overrides vtable a second time to UITwoStringWidgetDerived vtable at 0x011377A4. |
| 0x0086EA50 | 342 | UIFormWidget__ctor | Constructs form widget with 4 SSO string buffers and state fields, enabled by default |
| 0x0086ECF0 | 305 | UITabWidget__ctor | Constructs tab widget with 18 zeroed state fields, tab height=12, selection index -1 |
| 0x0086EE30 | 113 | UIVectorIntWidget__ctor | Constructor for UIVectorIntWidget. Calls CEffect__ctor base, sets UIVectorIntWidget vtable, zeroes 3 state fields at offsets 0x1f-0x21. |
| 0x0086EEB0 | 179 | UIFmtStringDialog__ctor | Constructor for UIFmtStringDialog. Inherits UITextDisplayWidget, sets vtable, initializes SSO string buffer, text color 0xFFFFFF (white), and 3 extra state fields. |
| 0x0086EF70 | 300 | UIColoredScrollList__ctor | Constructs colored scroll list, line height 18, computes font color via RGB lookup, adds 6 extra fields |
| 0x0086F0A0 | 223 | UIColoredScrollListBase__ctor | Constructs colored scroll list base, line height 18, computes font color via RGB lookup |
| 0x0086F180 | 190 | UIIconWidget__ctor | Constructs icon widget with icon size 5x20, zeroes 10 state fields |
| 0x0086F240 | 104 | UISprite12x9__ctor | Constructs sprite widget variant with cell size 12x9 |
| 0x0086F600 | 104 | cleanup_and_free_0x14_node | Runs cleanup on 0x14 byte node via FUN_0089f2d0 then frees it |
| 0x0086F690 | 76 | rbtree_clear_and_free_sentinel | Clears all RB-tree nodes then frees 0x30 byte sentinel |
| 0x0086F6F0 | 126 | destroy_string_and_free_0x30_node | Destroys embedded string then frees 0x30 byte node at offset 4 |
| 0x0086F770 | 123 | destroy_string_and_free_0x30_node_0086f770 | Destroys embedded string then frees 0x30 byte node at offset 4 |
| 0x0086FA90 | 87 | rbtree_clear_and_free_sentinel_0086fa90 | Clears all RB-tree nodes then frees 0x30 byte sentinel |
| 0x0086FF40 | 84 | UIColorButton__dtor | Destructor for UI color button: resets 2 vtables then calls base cleanup |
| 0x00870040 | 172 | UIPanel__dtor_00870040 | Destructor for UI panel: releases 2 child widgets at offsets 0x33 and 0x29 then base cleanup |
| 0x008700F0 | 172 | UIPanel__dtor_008700f0 | Destructor for UI panel variant: releases 2 child widgets then base cleanup |
| 0x008701A0 | 136 | UITextInput__dtor | Destructor for UI text input: destroys 3 embedded strings then base cleanup |
| 0x008702D0 | 182 | UIMultiStringWidget__dtor | Destructor: destroys 5 embedded strings, one 0x1C vector, then base cleanup |
| 0x00870390 | 130 | UITokenizerWidget__dtor | Destructor for UITokenizerWidget: calls sub-object dtor via vtable, destroys embedded CTokenizer string, resets CTokenizer vtable, then base cleanup. |
| 0x008704D0 | 216 | UIListBase__dtor | Destructor for list base: destroys 3 format objects, 2 vectors, linked list, then base cleanup |
| 0x008705B0 | 108 | UIListWidget__dtor | Destructor for list widget: destroys format object then base cleanup |
| 0x00870620 | 84 | UIScrollableWidget__dtor | Destructor for scrollable widget: resets 2 vtables then base cleanup |
| 0x00870680 | 71 | UIRenderWidget__dtor | Destructor for render widget: resets vtable then base cleanup |
| 0x008706D0 | 152 | UITreeWidget__dtor | Destructor for tree widget: resets 3 vtables, clears RB-tree, frees sentinel, base cleanup |
| 0x00870770 | 139 | UITreeBase__dtor_00870770 | Destructor for tree base: resets 2 vtables, clears RB-tree, frees sentinel, base cleanup |
| 0x008708B0 | 92 | UILabelWidget__dtor | Destructor for label widget: destroys embedded string, base cleanup |
| 0x00870910 | 108 | UIRenderWidgetEx__dtor | Destructor for extended render widget: destroys string, resets parent vtable, base cleanup |
| 0x00870980 | 95 | UIChatWindow__dtor | Destructor for chat window: calls string array cleanup, then base cleanup |
| 0x008709E0 | 71 | UIBaseDialog__dtor | Destructor for UIBaseDialog: resets vtable to UIBaseDialog (0x0113403C), then calls UIBaseDialog__destructor for cleanup. |
| 0x00870A30 | 71 | UISmallWidget12C__dtor | Destructor for UISmallWidget12C: resets vtable to 0x0113741C, then calls UISmallWidget__destructor for cleanup. |
| 0x00870A80 | 71 | UIThemeColors__dtor | Destructor for theme colors widget: resets vtable, base cleanup |
| 0x00870AD0 | 71 | UIContainer__dtor | Destructor for container widget: resets vtable, base cleanup |
| 0x00870B20 | 110 | UISelectWidget__dtor | Destructor for select widget: destroys 2 embedded strings, base cleanup |
| 0x00870B90 | 167 | UIFmtDialog__dtor | Destructor for UIFmtDialog: destroys 2 embedded strings, sets UIFmtStringDialog vtable, destroys CFmt vector and another string, then calls UIBaseDialog__destructor_2. |
| 0x00870CE0 | 84 | UIRenderWidgetSimple__dtor | Destructor for simple render widget: resets 2 vtables, base cleanup |
| 0x00870D40 | 167 | UIFmtDialog200__dtor | Destructor for UIFmtDialog200: destroys 2 embedded strings, sets UIFmtStringDialog vtable, destroys CFmt vector and another string, then calls UIBaseDialog__destructor_2. |
| 0x00870DF0 | 187 | UIListDialog__dtor | Destructor for UIListDialog. Sets vtable, destroys two string members and additional data via FUN_0087a2f0, walks and frees linked list of 0x1D0-byte dialog item nodes, then calls UIBaseDialog destructor. |
| 0x00870EB0 | 71 | UIListDialogDerived__dtor | Destructor for a class derived from UIListDialog. Sets its own vtable pointer, then delegates to UIListDialog__dtor for cleanup. |
| 0x00870F00 | 104 | UIListDialogDerived2__dtor | Destructor for second UIListDialog-derived class. Sets vtable, destroys additional data via FUN_0087a2f0, calls CFmt destructor, then UIListDialog__dtor. |
| 0x00870F70 | 89 | UIListDialogDerived3__dtor | Destructor for third UIListDialog-derived class. Sets vtable, destroys extra data via FUN_0087a2f0, then calls UIListDialog__dtor. |
| 0x00870FD0 | 108 | UIFormattedWidget__dtor | Destructor for UIFormattedWidget. Sets two vtable pointers (dual inheritance), calls CFmt destructor, then base class destructor at FUN_00a79e90. |
| 0x00871040 | 95 | UIFormattedWidgetBase__dtor | Destructor for UIFormattedWidgetBase. Sets vtable, calls CFmt destructor (0058c230), then base destructor at FUN_00a79e90. |
| 0x008710A0 | 126 | UIMapWidget__dtor | Destructor for UIMapWidget. Sets vtable, recursively destroys map tree nodes at this+0x88, frees map sentinel node, then calls base UI destructor FUN_00a79e90. |
| 0x00871120 | 126 | UIPacketWidget__dtor | Destructor for UIPacketWidget. Sets vtable, destroys tree nodes at this+0x88 via CPacketBuffer__construct_006720c0 (recursive node cleanup), frees sentinel, calls base destructor. |
| 0x008711A0 | 135 | UIJsonWidget__dtor | Destructor for UIJsonWidget. Sets vtable, resets vector end=begin at this+0xDC/0xD8, destroys JSON data via json__internal_0051dab0, sets base vtable, calls CFmt dtor and base UI dtor. |
| 0x00871230 | 139 | UIPacketWidgetDerived__dtor | Destructor for UIPacketWidgetDerived. Sets two vtable pointers (derived then base), destroys tree nodes at this+0x88 via CPacketBuffer cleanup, frees sentinel, calls base destructor. |
| 0x008712C0 | 84 | UIListDerived__dtor | Destructor for UIListDerived. Sets two vtable pointers, then delegates to UIListBase__dtor for full cleanup. |
| 0x00871320 | 97 | UITripleInheritWidget__dtor | Destructor for a widget with triple inheritance (3 vtable pointer sets). Cascades through three vtable assignments before calling base destructor CEffect__dtor. |
| 0x00871390 | 141 | UISearchDialog__dtor | Destructor for UISearchDialog. Sets vtable, destroys a string member, sets base vtable, calls CFmt dtor, destroys another string, then calls UIBaseDialog__destructor_2. |
| 0x00871420 | 95 | UIFmtWidget__dtor | Destructor for UIFmtWidget. Sets vtable, calls CFmt__vector_of_structs_dtor destructor, then calls base UI destructor CEffect__dtor. |
| 0x00871480 | 108 | UIFmtWidgetDerived__dtor | Destructor for UIFmtWidgetDerived. Sets two vtables (derived then base), calls CFmt__vector_of_structs_dtor, then base UI destructor CEffect__dtor. |
| 0x008714F0 | 84 | UIDualInheritWidget__dtor | Destructor for UIDualInheritWidget. Sets two vtable pointers, then calls base UI destructor CEffect__dtor. No additional member cleanup needed. |
| 0x00871550 | 71 | UISimpleWidget__dtor | Destructor for a simple UI widget. Sets vtable pointer, then calls base UI destructor CEffect__dtor. No member cleanup needed. |
| 0x008715A0 | 449 | UIMultiChildWidget__dtor | Destructor for a UI widget with 8 child widget pointers (at offsets 0x31-0x77, each 0xA apart in DWORD indices). For each non-null child, calls virtual destructor at vtable+0x10 if child is separately allocated, then nulls the pointer. Calls base UI dtor last. |
| 0x00871770 | 92 | UIStringWidget__dtor | Destructor for UIStringWidget. Sets vtable, destroys one string member, then calls base UI destructor. |
| 0x008717D0 | 84 | UIDualInheritWidget2__dtor | Destructor for second dual-inheritance UI widget. Sets two vtable pointers, then calls base UI destructor CEffect__dtor. No member cleanup. |
| 0x00871830 | 71 | UIBaseWidgetA__dtor | Simple destructor for UIBaseWidgetA. Sets vtable, calls base UI destructor CEffect__dtor. |
| 0x00871880 | 84 | UIBaseWidgetADerived__dtor | Destructor for class derived from UIBaseWidgetA. Sets two vtable pointers (derived then base), calls base UI destructor. |
| 0x008718E0 | 126 | UIDualFmtWidget__dtor | Destructor for UI widget with dual CFmt formatters. Sets vtable, calls CFmt destructor twice (for two formatter members), then calls base UI destructor. |
| 0x00871A00 | 121 | UITwoStringWidget__dtor | Destructor for UI widget with two string members. Sets vtable, destroys both strings via STL_string_dtor, then calls base UI destructor CEffect__dtor. |
| 0x00871A80 | 134 | UITwoStringWidgetDerived__dtor | Destructor for UITwoStringWidgetDerived. Sets two vtable pointers, destroys two string members, then calls base UI destructor. |
| 0x00871B10 | 140 | UIFourStringWidget__dtor | Destructor for a UI widget with 4 string members. Sets vtable, destroys all 4 strings sequentially, then calls base UI destructor. |
| 0x00871BF0 | 95 | UIStringDialog__dtor | Destructor for UIStringDialog. Sets vtable, destroys one string member, then calls UIBaseDialog__destructor_2. |
| 0x00871C50 | 164 | UIComplexDataWidget__dtor | Destructor for a complex UI widget. Destroys: vector of 4-byte elements, CFmt formatter, JSON data, another vector, second CFmt, then calls base UI destructor. 5-phase cleanup with SEH. |
| 0x00871D00 | 92 | UIVectorIntWidget__dtor | Destructor for UIVectorIntWidget. Sets vtable, destroys an integer vector member, then calls base UI destructor. |
| 0x00871D60 | 110 | UIFmtStringDialog__dtor | Destructor for UIFmtStringDialog. Sets vtable, destroys CFmt formatter, destroys string member, then calls UIBaseDialog__destructor_2. |
| 0x00871DD0 | 172 | UIMultiLayerWidget__dtor | Destructor for UIMultiLayerWidget with 3 inheritance levels. Sets 3 different vtables during cleanup, destroys 12-byte element vector, calls cleanup functions, CFmt destructor, then base UI destructor. |
| 0x00871E80 | 126 | UILayerFmtWidget__dtor | Destructor for UILayerFmtWidget. Sets vtable, calls CUIChatLog__destroy_single_entry_b for layer cleanup, sets base vtable to UIFormattedWidgetBase, calls CFmt__vector_of_structs_dtor, then base UI destructor CEffect__dtor. |
| 0x00871F00 | 112 | UIResourceWidget__dtor | Destructor for UIResourceWidget. Sets vtable, calls cleanup on resource at this+0x84 (via CUIChatWindow__process_hyperlink_data). If resource pointer is non-null, calls UILinkedListWidget__scalar_deleting_dtor to release it. Then calls base UI destructor CEffect__dtor. |
| 0x00871F70 | 84 | UIBaseWidgetADerived2__dtor | Destructor for second class derived from UIBaseWidgetA. Sets two vtable pointers, calls base UI destructor. |
| 0x00871FD0 | 155 | UIStringArrayData__dtor | Destructor for UIStringArrayData. Destroys 3 individual string members, then uses _eh_vector_destructor_iterator_ to destroy two arrays of 5 strings each (at offsets +8 and +0x80, each string 0x18 bytes). |
| 0x00872520 | 196 | UITwoChildWidget__scalar_deleting_dtor | Scalar deleting destructor for widget with 2 child widget pointers (0xD0 bytes). Destroys children via virtual dtors if separately allocated, calls base dtor, optionally frees self. |
| 0x008725F0 | 38 | UIPanel__scalar_deleting_dtor | Scalar deleting destructor for UIPanel (0xD0 bytes). Calls UIPanel__dtor_008700f0, optionally frees memory. |
| 0x00872620 | 160 | UIThreeStringWidget__scalar_deleting_dtor | Scalar deleting destructor for widget with 3 string members (0x198 bytes). Destroys all 3 strings, calls base dtor, optionally frees. |
| 0x008727A0 | 38 | UIMultiStringWidget2__scalar_deleting_dtor | Scalar deleting destructor for UIMultiStringWidget (0x124 bytes). Calls UIMultiStringWidget__dtor, optionally frees. |
| 0x008727D0 | 154 | UITokenizerWidget__scalar_deleting_dtor | Scalar deleting destructor for tokenizer-based widget (0x1B8 bytes). Calls virtual dtor on tokenizer at this+0x7C, destroys string, resets tokenizer vtable to CTokenizer, calls base dtor, optionally frees. |
| 0x00872870 | 99 | UIListWidget__scalar_deleting_dtor | Scalar deleting destructor for UIListWidget (0x130 bytes). Sets vtable, calls UIListBase__dtor, optionally frees. |
| 0x00872950 | 38 | UIListWidgetSmall__scalar_deleting_dtor | Scalar deleting destructor for small UIListWidget (0x124 bytes). Calls UIListBase__dtor, optionally frees. |
| 0x00872980 | 93 | UIHyperlinkText__scalar_deleting_dtor | Scalar deleting destructor for hyperlink text widget (0xCC bytes). Calls UIHyperlinkTextWidget__dtor, optionally frees. |
| 0x008729E0 | 132 | UIFmtWidgetDerived__scalar_deleting_dtor | Scalar deleting destructor for CFmt-derived widget (0xD8 bytes, dual inheritance). Sets vtables, calls CFmt dtor, base dtor, optionally frees. |
| 0x00872B50 | 176 | UIMapWidget3__scalar_deleting_dtor | Scalar deleting destructor for map-based widget (0xC8 bytes, triple inheritance). Sets 3 vtables, destroys map tree nodes at this+0x88, frees sentinel, calls base dtor, optionally frees. |
| 0x00872C00 | 163 | UIMapWidget2__scalar_deleting_dtor | Scalar deleting destructor for map-based widget (0xC4 bytes, dual inheritance). Sets 2 vtables, destroys map tree, frees sentinel, calls base dtor, optionally frees. |
| 0x00872CB0 | 188 | UIReportWidget__scalar_deleting_dtor | Scalar deleting destructor for report widget (0xCC bytes). Destroys report storage tree, sets packet buffer vtable, destroys packet tree, frees sentinel, calls base dtor, optionally frees. |
| 0x00872D70 | 116 | UIStringWidgetA0__scalar_deleting_dtor | Scalar deleting destructor for string widget (0xA0 bytes). Sets vtable, destroys string member, calls base dtor, optionally frees. |
| 0x00872DF0 | 132 | UIStringWidgetC0__scalar_deleting_dtor | Scalar deleting destructor for string widget (0xC0 bytes). Sets vtable, destroys string, sets base vtable, calls base dtor, optionally frees. |
| 0x00872E80 | 119 | UIStringArrayDialog__scalar_deleting_dtor | Scalar deleting destructor for dialog with string array data (0x28C bytes). Sets vtable, calls UIStringArrayData__dtor then UIDialogBoxBase__destructor, optionally frees. |
| 0x00872F00 | 99 | UIBaseDialog__scalar_deleting_dtor | Scalar deleting destructor for UIBaseDialog (0x11C bytes). Sets vtable, calls UIBaseDialog__destructor, optionally frees. |
| 0x00872F70 | 106 | UISmallWidget130__scalar_deleting_dtor | Scalar deleting destructor for small widget (0x130 bytes). Sets vtable, calls UISmallWidget__destructor, optionally frees. |
| 0x00872FE0 | 99 | UISmallWidget12C__scalar_deleting_dtor | Scalar deleting destructor for small widget variant (300 bytes). Sets same vtable as UISmallWidget130, calls UISmallWidget__destructor, optionally frees. |
| 0x00873130 | 134 | UITwoStringWidgetCC__scalar_deleting_dtor | Scalar deleting destructor for two-string widget (0xCC bytes). Sets vtable, destroys 2 strings, calls base dtor, optionally frees. |
| 0x008731C0 | 191 | UIFmtDialog__scalar_deleting_dtor | Scalar deleting destructor for formatted dialog (0x1F8 bytes). Destroys 2 strings, sets base dialog vtable, calls CFmt dtor, destroys another string, calls UIBaseDialog__destructor_2, optionally frees. |
| 0x00873280 | 176 | UIMapWidget4__scalar_deleting_dtor | Scalar deleting destructor for map-based widget (0xC8 bytes, triple inheritance). Sets 3 vtables, destroys map tree, frees sentinel, calls base dtor, optionally frees. |
| 0x008733A0 | 191 | UIFmtDialog200__scalar_deleting_dtor | Scalar deleting destructor for formatted dialog (0x200 bytes). Destroys 2 strings, sets base dialog vtable, calls CFmt dtor, destroys string, calls UIBaseDialog__destructor_2, optionally frees. |
| 0x00873460 | 38 | UIListDialog__scalar_deleting_dtor | Scalar deleting destructor for UIListDialog (0x15C bytes). Calls UIListDialog__dtor, optionally frees. |
| 0x00873490 | 99 | UIListDialogDerived__scalar_deleting_dtor | Scalar deleting destructor for UIListDialogDerived (0x15C bytes). Sets vtable, calls UIListDialog__dtor, optionally frees. |
| 0x00873500 | 128 | UIListDialogDerived2__scalar_deleting_dtor | Scalar deleting destructor for UIListDialogDerived2 (0x168 bytes). Sets vtable, destroys extra data, calls CFmt dtor, calls UIListDialog__dtor, optionally frees. |
| 0x00873580 | 113 | UIListDialogDerived3__scalar_deleting_dtor | Scalar deleting destructor for UIListDialogDerived3 (0x160 bytes). Sets vtable, destroys extra data, calls UIListDialog__dtor, optionally frees. |
| 0x00873600 | 132 | UIFormattedWidget__scalar_deleting_dtor | Scalar deleting destructor for UIFormattedWidget (0xE0 bytes, dual inheritance). Sets vtables, calls CFmt dtor, base dtor, optionally frees. |
| 0x00873690 | 119 | UIFormattedWidgetBase__scalar_deleting_dtor | Scalar deleting destructor for UIFormattedWidgetBase (0xD4 bytes). Sets vtable, calls CFmt dtor, base dtor, optionally frees. |
| 0x00873710 | 150 | UIMapWidgetC0__scalar_deleting_dtor | Scalar deleting destructor for map-based widget (0xC0 bytes). Destroys map tree nodes, frees sentinel, calls base dtor, optionally frees. |
| 0x008737B0 | 150 | UIPacketWidget__scalar_deleting_dtor | Scalar deleting destructor for UIPacketWidget (0xC0 bytes). Destroys packet tree nodes, frees sentinel, calls base dtor, optionally frees. |
| 0x00873850 | 159 | UIJsonWidget__scalar_deleting_dtor | Scalar deleting destructor for UIJsonWidget (0xE8 bytes). Resets vector, destroys JSON data, sets base vtable, calls CFmt dtor, base dtor, optionally frees. |
| 0x008738F0 | 163 | UIPacketWidgetDerived__scalar_deleting_dtor | Scalar deleting destructor for UIPacketWidgetDerived (0xC4 bytes, dual inheritance). Sets 2 vtables, destroys packet tree, frees sentinel, calls base dtor, optionally frees. |
| 0x008739A0 | 112 | UIListDerived__scalar_deleting_dtor | Scalar deleting destructor for UIListDerived (0x130 bytes, dual inheritance). Sets 2 vtables, calls UIListBase__dtor, optionally frees. |
| 0x00873A10 | 125 | UITripleInheritWidget__scalar_deleting_dtor | Scalar deleting destructor for triple-inheritance widget (0xB4 bytes). Sets 3 vtables, calls base dtor, optionally frees. |
| 0x00873A90 | 165 | UISearchDialog__scalar_deleting_dtor | Scalar deleting destructor for UISearchDialog (0x118 bytes). Destroys string, sets base vtable, calls CFmt dtor, destroys string, calls UIBaseDialog__destructor_2, optionally frees. |
| 0x00873B40 | 119 | UIFmtWidget__scalar_deleting_dtor | Scalar deleting destructor for UIFmtWidget (0xB0 bytes). Sets vtable, calls CFmt dtor, base dtor, optionally frees. |
| 0x00873BC0 | 132 | UIFmtWidgetDerived2__scalar_deleting_dtor | Scalar deleting destructor for CFmt-derived widget (0xD4 bytes, dual inheritance). Sets 2 vtables, calls CFmt dtor, base dtor, optionally frees. |
| 0x00873C50 | 112 | UIDualInheritWidgetB0__scalar_deleting_dtor | Scalar deleting destructor for dual-inheritance widget (0xB0 bytes). Sets 2 vtables, calls base dtor, optionally frees. |
| 0x00873CC0 | 99 | UISimpleWidget80__scalar_deleting_dtor | Scalar deleting destructor for simple widget (0x80 bytes). Sets vtable, calls base dtor, optionally frees. |
| 0x00873D30 | 38 | UIMultiChildWidget__scalar_deleting_dtor | Scalar deleting destructor for UIMultiChildWidget (0x1E0 bytes). Calls UIMultiChildWidget__dtor, optionally frees. |
| 0x00873D60 | 116 | UIStringWidget98__scalar_deleting_dtor | Scalar deleting destructor for string widget (0x98 bytes). Sets vtable, destroys string, calls base dtor, optionally frees. |
| 0x00873DE0 | 112 | UIDualInheritWidgetA4__scalar_deleting_dtor | Scalar deleting destructor for dual-inheritance widget (0xA4 bytes). Sets 2 vtables, calls base dtor, optionally frees. |
| 0x00873E50 | 106 | UIBaseWidgetA__scalar_deleting_dtor | Scalar deleting destructor for UIBaseWidgetA (0xB4 bytes). Sets vtable, calls base dtor, optionally frees. |
| 0x00873EC0 | 106 | UIBaseWidgetA2__scalar_deleting_dtor | Scalar deleting destructor for UIBaseWidgetA variant (0xB4 bytes). Sets vtable, calls base dtor, optionally frees. |
| 0x00873F30 | 106 | UIBaseWidgetA_B8__scalar_deleting_dtor | Scalar deleting destructor for UIBaseWidgetA variant (0xB8 bytes). Sets vtable, calls base dtor, optionally frees. |
| 0x00873FA0 | 99 | UIBaseWidgetA3__scalar_deleting_dtor | Scalar deleting destructor for UIBaseWidgetA variant (0xB4 bytes). Same vtable as A2 variant, calls base dtor, optionally frees. |
| 0x00874010 | 112 | UIBaseWidgetADerived__scalar_deleting_dtor | Scalar deleting destructor for UIBaseWidgetADerived (0xD4 bytes, dual inheritance). Sets 2 vtables, calls base dtor, optionally frees. |
| 0x00874080 | 106 | UIBaseWidgetA4__scalar_deleting_dtor | Scalar deleting destructor for UIBaseWidgetA variant (0xB4 bytes). Sets vtable, calls base dtor, optionally frees. |
| 0x008740F0 | 150 | UIDualFmtWidget__scalar_deleting_dtor | Scalar deleting destructor for UIDualFmtWidget (0xE4 bytes). Calls 2 CFmt destructors, sets base vtable, calls base dtor, optionally frees. |
| 0x00874270 | 145 | UITwoStringWidget178__scalar_deleting_dtor | Scalar deleting destructor for two-string widget (0x178 bytes). Destroys 2 strings, calls base dtor, optionally frees. |
| 0x00874310 | 158 | UITwoStringWidgetDerived__scalar_deleting_dtor | Scalar deleting destructor for derived two-string widget (0x178 bytes, dual inheritance). Sets 2 vtables, destroys 2 strings, calls base dtor, optionally frees. |
| 0x008743B0 | 164 | UIFourStringWidget__scalar_deleting_dtor | Scalar deleting destructor for 4-string widget (0xF4 bytes). Destroys 4 strings, calls base dtor, optionally frees. |
| 0x008744D0 | 119 | UIStringDialog__scalar_deleting_dtor | Scalar deleting destructor for UIStringDialog (0xF8 bytes). Destroys string, calls UIBaseDialog__destructor_2, optionally frees. |
| 0x00874550 | 188 | UIComplexDataWidget__scalar_deleting_dtor | Scalar deleting destructor for UIComplexDataWidget (0xFC bytes). Destroys vector, CFmt, JSON data, vector, CFmt in sequence, calls base dtor, optionally frees. |
| 0x00874610 | 116 | UIVectorIntWidget__scalar_deleting_dtor | Scalar deleting destructor for UIVectorIntWidget (0x90 bytes). Destroys int vector, calls base dtor, optionally frees. |
| 0x00874690 | 134 | UIFmtStringDialog__scalar_deleting_dtor | Scalar deleting destructor for UIFmtStringDialog (0xF8 bytes). Calls CFmt dtor, destroys string, calls UIBaseDialog__destructor_2, optionally frees. |
| 0x00874720 | 196 | UIMultiLayerWidget__scalar_deleting_dtor | Scalar deleting destructor for UIMultiLayerWidget (0x104 bytes, 3 inheritance levels). Destroys 12-byte element vector, calls chat log cleanup functions, CFmt dtor, base dtor, optionally frees. |
| 0x008747F0 | 150 | UILayerFmtWidget__scalar_deleting_dtor | Scalar deleting destructor for UILayerFmtWidget (0xEC bytes). Calls chat log cleanup, CFmt dtor, base dtor, optionally frees. |
| 0x00874890 | 136 | UIResourceWidget__scalar_deleting_dtor | Scalar deleting destructor for UIResourceWidget (0xB4 bytes). Cleans up hyperlink data at this+0x84, releases resource if non-null, calls base dtor, optionally frees. |
| 0x00874920 | 112 | UIBaseWidgetADerived2__scalar_deleting_dtor | Scalar deleting destructor for UIBaseWidgetADerived2 (0xB4 bytes, dual inheritance). Sets 2 vtables, calls base dtor, optionally frees. |
| 0x00874990 | 164 | UILinkedListWidget__scalar_deleting_dtor | Scalar deleting destructor for UILinkedListWidget (0x194 bytes). Calls CFmt dtor, walks and frees linked list of 0xC-byte nodes at this+0x180, frees sentinel, optionally frees self. |
| 0x00874DF0 | 29 | ui_conditional_refresh_a | Conditional UI refresh. Checks field at 0x1A0 via get_field_0x1a0_00a916f0; if non-zero, calls CEffect__add_child_to_list_end to trigger refresh. |
| 0x00874E10 | 23 | ui_conditional_refresh_b | Conditional UI refresh using global DAT_01457ad8. If non-zero, calls CEffect__add_child_to_list_end to trigger refresh. |
| 0x00874E30 | 23 | ui_conditional_refresh_c | Conditional UI refresh using global DAT_01457998. If non-zero, calls CEffect__add_child_to_list_end to trigger refresh. |
| 0x008760D0 | 1568 | ui_build_chat_message_text | Builds a complete chat message text string. Chains multiple string operations: gets sender name, applies formatting, processes item links if enabled, strips link tags, applies final formatting, and invokes chat display callback. |
| 0x00876700 | 1613 | ui_build_chat_message_text_v2 | Builds chat message text variant 2. Similar to ui_build_chat_message_text but uses different formatting functions (strip_item_link_markers instead of strip_default_color_markers, strip_url_link_markers extra step, parse_text_with_default_color_codes instead of parse_text_with_color_codes). Same item link processing and tag stripping. |
| 0x00877020 | 1568 | ui_build_chat_message_text_v3 | Builds chat message text variant 3. Nearly identical to ui_build_chat_message_text - uses same helper functions (strip_chat_markers, strip_default_color_markers, CItemLink__strip_link_tags). Builds formatted string with sender name, item links, and tag stripping. |
| 0x008791E0 | 283 | ui_replace_escape_sequences_in_string | Replaces escape sequences in a string. Copies input, then iteratively finds and replaces two different 2-char escape sequences (at DAT_010dbde8 and DAT_010db5fc) with their 1-char replacements (at DAT_010d97dc and DAT_01121c28). Returns modified string. |
| 0x00879830 | 474 | UITooltipBox__check_and_show_tooltip | Checks if a tooltip should be shown and displays it. Verifies game state allows tooltips (checks map type 0x1EA/0x1EE or override flag). If tooltip count < 3, builds tooltip text from item data via CEffect__draw_multiline_text_with_links, appends separator, appends character name, compares string length against max display size. Returns true if tooltip fits. |
| 0x00879A10 | 418 | UITooltipBox__check_and_show_tooltip_v2 | Variant 2 of tooltip check and display. Similar to v1 but reads character data from DAT_01457ad8 instead of game state function. Builds tooltip text, checks size limit, returns fit result. |
| 0x00879BC0 | 450 | UITooltipBox__check_and_show_tooltip_v3 | Variant 3 of tooltip check and display. Reads from DAT_01457998, calls CUIEquipWindow__render_slot_text to get equipment slot text, stores result at this+0x15C. Uses equipment-specific data source for tooltip content. |
| 0x00879D90 | 229 | UIListDialog__reset_and_reinit | Resets and reinitializes UIListDialog. Hides all item widgets recursively from linked list at this+0x84+0x180. Clears 4 tracking fields. Allocates new 0x194-byte widget with linked list, resets head pointers, copies config data, calls virtual reset method. |
| 0x0087A290 | 69 | UIScrollList__clear_and_remove_children | Calls parent clear, removes all child widgets from vector, triggers redraw via vtable |
| 0x0087A2F0 | 148 | UIListDialog__clear_all_dialog_items | Clears all items from UIListDialog's linked list. Iterates through doubly-linked list at this+0x120, calls virtual cleanup (vtable+0xF0) on each item's data, unlinks nodes, frees 0x1D0-byte nodes. Then clears and re-initializes the free list. Resets item count to 0. |
| 0x0087A5A0 | 345 | UITooltipBox__build_tooltip_text | Builds the tooltip display text string. Calls FUN_00a837d0 to get item description, appends separator character, appends character name from this+0x128. Returns the concatenated tooltip string. |
| 0x0087A700 | 257 | base62_decode_string_to_int | Decodes a base-62 encoded string to an integer. Uses charset '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/'. Each character position has weight 62^(len-1-pos). Copies input string, looks up each char in charset, multiplies by positional value, sums result. |
| 0x0087A810 | 723 | base62_encode_int_to_string | Encodes an integer to a base-62 string. Repeatedly divides by 62 (0x3E), maps remainders to charset characters, builds string in reverse order (LSB first into vector, then reverses when copying to output SSO string). Used for item link encoding. |
| 0x0087ABB0 | 2302 | UIListDialog__parse_and_rebuild_items | Parses stored text and rebuilds UIListDialog items. Copies stored string from this+0x128, splits on separator chars to extract item entries. For each entry, searches for delimiter, extracts key/value pairs, builds tooltip text via FUN_00a837d0, matches against linked list items, copies matching 0x1D0-byte nodes to new list. Swaps old list with new one at end. |
| 0x0087B7D0 | 51 | UICheckboxWidget__init | Initializes a checkbox widget. Sets checked state from param_2 at this+0x84. Uses fixed size 36x32 (0x24x0x20). Calls base init and virtual size/position methods. |
| 0x0087BBA0 | 199 | UIItemIcon__load_and_display_item | Loads and displays an item icon. Copies item description from param_2 via CItemDesc__copy_from. Builds resource path from item name string at this+0xAC, calls FUN_00ddd280 for path generation. Loads texture via FUN_00af1620/FUN_00b01200/FUN_00aee770; falls back to default texture at DAT_0112ce70. Sets widget size from loaded texture dimensions. |
| 0x0087BC70 | 205 | CItemUI__load_item_sprite_by_class | Loads item sprite by class/level. Gets class+level from CItemDesc, builds resource path, loads sprite via resource manager. Falls back to default sprite if not found. |
| 0x0087BD40 | 675 | CItemUI__load_sprite_from_item_desc | Loads item sprite from CItemDesc. Copies item desc, gets sprite resource ID, constructs resource path string, loads sprite. Falls back to default sprite path on failure. |
| 0x0087BFF0 | 681 | CItemUI__load_sprite_by_class_and_level | Similar to load_sprite_from_item_desc but uses class+level. Gets class/level, stores level byte at +0xdc, builds sprite path, loads via resource manager with fallback. |
| 0x00885250 | 1737 | UIAdventurerAgency__create_dropdown_widgets | Creates dropdown UI widgets for the Adventurer Agency window. Builds a CDialogWnd with btn_dropdown textures (out/over/press states), creates a UITreeBase list widget (UIMapWidget3), and a UIEditableTextWidget for text input. Layout depends on param_1+0xa8 mode and param_1+0xac type flags. |
| 0x00885920 | 1469 | UIBasicInterface__create_dropdown_simple | Creates a simple dropdown for the basic_interface skin. Builds CDialogWnd with 3 button states, a UITreeBase list widget, and UIEditableTextWidget with "NO_SELECT" default text. Uses basic_interface texture path prefix. |
| 0x00886200 | 1584 | UIBasicInterface__create_combo_button | Creates a combo button widget using basic_interface skin. Supports normal and pink variants (combo_btn_a/b/c vs combo_btn_pink_b/c) based on param_1+0xa8 flag. Creates CDialogWnd, UITreeBase (UIMapWidget4), and UIEditableTextWidget with "NO_SELECT" default. |
| 0x00886C30 | 850 | UIBasicInterface__create_textbox_button | Creates a textbox button widget using basic_interface_txtbox_btn skin. Builds CDialogWnd with a/b/c.bmp textures for 3 button states, creates UIEditableTextWidget with "No Select" default text. |
| 0x00886F90 | 277 | UIBaseDialog__create_text_labels | Creates 2 text label widgets (UITextWidget) in a loop. Each label is 20x18 pixels, colored light gray (0xe8,0xe8,0xe8), with text alignment set (0x88=2, 0x8c=0). Labels are spaced 38 pixels apart horizontally. Uses UIBaseDialog vtable. |
| 0x008870B0 | 454 | UIRenewalParty__create_job_icon | Creates a job icon sprite for the renewal party UI. Formats path as "renewalparty/icon_jobs_%d.bmp" with job ID=0, creates UIItemSlotWidget, sets texture, sizes to widget dimensions, and positions at (0x76, 0xe). |
| 0x008872B0 | 306 | UIBaseWidgetA2__create_sprite_and_dialog | Creates a sprite widget (UISpriteWidget) and a text dialog widget for UIBaseWidgetA2. Sets sprite type to 9, configures animation, and positions it. Also creates a CDialogWnd at offset 0x98 sized 100x19 with position offset (-100,-100). |
| 0x00888C90 | 520 | UISkillSlot__render_icon_with_count | Renders a skill icon slot. If skill ID (offset 0x7c) is valid, loads skill icon via CSkillEntry, draws it, and optionally shows item count text with shadow effect (white text on black outline). Falls back to empty slot texture if no valid skill. |
| 0x00889D60 | 237 | UIPanel__render_bordered_background | Renders a panel with bordered background. If flag 0x88 is false, draws outer border rect (full size) with border color (0x98/0x9c/0xa0) and inner fill rect (inset by 1) with fill color (0x8c/0x90/0x94). If flag is true, just fills with the inner color. |
| 0x0088AB70 | 271 | UITabWidget__render_with_text | Renders a tab widget with text. If tab has content (0x8c != 0), loads and draws background texture from path at offset 0x7c. Gets selected tab text via UITabCtrl__get_selected_tab_text and draws it at position (2,3) in black, size 12. |
| 0x0088AEC0 | 418 | UIGridWidget__render_indexed_cell | Renders a grid cell with indexed BMP texture. Draws gray background (0x99a8ac), loads base texture from offset 0x98, then if index (0x7c) >= 0, formats "%d.bmp" path, appends to base path, and draws the indexed texture at a grid position calculated from row/column multipliers (0x84/0x88) with orientation flags (0x90/0x94). |
| 0x0088EBC0 | 1329 | UIItemSlot__render_with_details | Renders an item slot with border, item icon, buy/sell indicators, card slot info, and enchant data. Draws border via UIEditBox__DrawBorder. Shows item sprite based on mode (0x128). If not equipped (0x120==0), shows empty slot texture with description text. Shows refine/enchant info with centered text and color coding (red for failed). Card slot indicator texture varies by enchant state. |
| 0x0088F1C0 | 656 | UIItemSlot__render_item_sprite | Renders an item sprite by getting sprite resource ID from CItemDesc, constructing full texture path via string concatenation with prefix, and drawing it. Falls back to default texture DAT_011385a0 if item texture not found. |
| 0x0088F8D0 | 735 | UITooltip__render_content_rows | Renders tooltip content rows. Iterates through row groups (3 ints each: children array ptr, end ptr, unused). For rows above fold line (offset 0x98), hides children. For visible rows, copies children vector, checks for newline breaks, positions each child widget with x/y offsets. Handles indentation for wrapped text. Calls vtable 0xe0 at end for final rendering. |
| 0x008905A0 | 71 | UIGrid__on_mouse_move_update_cell | Grid mouse move handler. Calculates cell index from y / cellHeight + scrollOffset, stores at +0x24. Returns -1 if out of bounds. |
| 0x008905F0 | 71 | UIGrid__on_mouse_move_update_cell_v2 | Same as UIGrid__on_mouse_move_update_cell - duplicate implementation for grid cell hover tracking. |
| 0x00890B70 | 173 | UIGrid__on_right_click_select_cell | Right-click on grid cell: calculates cell from y/cellHeight, stores at +0x90, sends event 0x27 to target window (from +0xc0) or parent. Plays sound 0x1a. |
| 0x00890DC0 | 98 | UIGrid__on_double_click_cell | Double-click on grid cell. Calculates tab index from coordinates, stores at +0x7c. If cell is not disabled (checked via +0x94 array), sends event 0x30 to target window. Plays sound 0x7a. |
| 0x00890E30 | 91 | UIGrid__on_mouse_move_notify_parent | Grid mouse move: calculates cell index from y/cellHeight, stores at +0x90, notifies parent with event 0x27. |
| 0x008915E0 | 558 | UISkillSlot__render_skill_tooltip | Renders a skill tooltip. Gets skill info via CSkillEntry, retrieves SP/AP costs, skill name, and formats tooltip using either format_skill_tooltip_type5 (active) or type6 (passive) based on FUN_00e1dfd0 flag. Draws tooltip text via FUN_00ad6510. |
| 0x008920A0 | 83 | UIGrid__on_mouse_move_conditional_redraw | Grid mouse move with conditional redraw. Calculates cell index from point, stores at +0x24. Only triggers redraw if cell changed. |
| 0x00892100 | 83 | UIGrid__on_mouse_move_conditional_redraw_v2 | Duplicate of UIGrid__on_mouse_move_conditional_redraw. Identical cell hover logic with conditional redraw. |
| 0x00892160 | 9 | thunk_to_virtual_method_offset_0x70_00892160 | Calls virtual function pointer at offset 0x70 from param_1 |
| 0x00892170 | 83 | UIGrid__on_mouse_move_conditional_redraw_v3 | Duplicate of UIGrid__on_mouse_move_conditional_redraw. Third identical copy of grid hover logic. |
| 0x00892990 | 116 | UIGrid__show_right_click_menu | Shows right-click context menu for grid. If selection +0x7c is valid, sends event 0x3d to window 0x2e, positions menu at cursor offset (+24,0). |
| 0x00893720 | 944 | CSVParser__tokenize_delimited_string | Tokenizes a delimited string. Iterates through characters in buffer (param_2) from index *param_3 to *param_4. Collects chars >= '0' into token string. When delimiter (param_5 or param_6) or char < '0' found, converts token via FUN_0087a700 and appends to output vector (param_1). Handles string buffer reallocation. |
| 0x00893AE0 | 1221 | CSVParser__parse_multi_value_field | Parses a multi-value field from a delimited string. Scans characters from param_2 buffer starting at *param_3 index. Builds tokens delimited by param_4 char. Converts each token via FUN_0087a700 and stores into output array at param_1[param_6*4]. Returns count of values parsed. Handles string growth and buffer management. |
| 0x00893FB0 | 223 | CUIListBox__set_item_text_at_index | Sets text for a listbox item at the given index (param_2). Validates index is within bounds of items array (fields 0x29/0x2a, stride 0x18). Copies string data, calls FUN_008681c0 to process text, then invalidates the control and its parent via vtable+0x98. |
| 0x00894090 | 3370 | CSVParser__merge_and_process_entries | Large CSV parsing function that merges and processes entries in a string vector (param_1). Iterates through entries, calls process_item_data_entry for each. Handles XML-like tag parsing with '<' and '>' delimiters. Extracts tag content, processes nested entries, and reassigns string entries. Uses CSVParser__move_assign_string_entry for string management. |
| 0x00894DC0 | 3317 | CSVParser__process_string_delimiters | Processes string entries in a vector, handling multiple delimiter types. Searches for DAT_0133a300 and DAT_0133a2e8 delimiters within each entry. Extracts substrings between delimiters, reassigns entries, and processes next-entry lookups. Complex string manipulation with STL string operations and reallocation. |
| 0x00895AC0 | 354 | CUIListBox__update_vertical_scrollbar_rows | Updates vertical scrollbar parameters for a listbox with row-based items. Calculates visible rows from height/row_height (fields 0x18/0xb8). Computes max scroll from item count ((0x8c-0x88)/0x18). Configures scrollbar at field 0xac with total items, visible count, and scroll position. Clamps scroll position to valid range. |
| 0x00895C30 | 326 | CUIListBox__update_horizontal_scrollbar_a | Updates horizontal scrollbar for a listbox variant. Calculates visible columns from width/column_width (fields 0x18/0xb4). Sets scrollbar at field 0xa8 with total columns (field 0x8c), visible count, and clamped scroll position (field 0x94). Also invalidates parent if FUN_00a7d6d0 returns non-null. |
| 0x00895D80 | 326 | CUIListBox__update_horizontal_scrollbar_b | Identical to update_horizontal_scrollbar_a. Updates horizontal scrollbar for a listbox variant. Likely from a different UI class that shares the same scrollbar update logic. |
| 0x00895ED0 | 230 | CUIListBox__update_vertical_scrollbar_compact | Compact version of vertical scrollbar update for a listbox. Calculates visible rows from height/row_height, computes max scroll from item list ((0x8c-0x88)/0x18). Sets scrollbar total, visible, and range at field 0xac without clamping scroll position. Simpler than the full version. |
| 0x00895FC0 | 157 | CUIListBox__update_horizontal_scrollbar_compact_a | Compact horizontal scrollbar update. Calculates visible columns from width/column_width. Sets scrollbar at field 0xa8 with total (field 0x8c), visible count, and scroll position. Simplified without parent invalidation. |
| 0x00896060 | 157 | CUIListBox__update_horizontal_scrollbar_compact_b | Identical to update_horizontal_scrollbar_compact_a. Compact horizontal scrollbar update for a different UI class variant. |
| 0x00896100 | 227 | CUIListBox__update_vertical_scrollbar_12byte_items | Updates vertical scrollbar for a listbox with 12-byte (0xc) items. Calculates visible rows from height/row_height. Item count from (0xfc-0xf8)/0xc. Sets scrollbar at field 0xac. Similar to other scrollbar updates but for smaller item structures. |
| 0x008962C0 | 2279 | CUITextInput__build_display_text | Builds the display text for a text input control. Clears display string (field 0x50). Iterates through linked list of text segments (field 0x48/0x49). For each segment, measures text width, looks up item/entity IDs, handles color tags via delimiter processing. Applies text width limits and calls formatting callback (vtable+0xf4). Manages cursor position and text wrapping. |
| 0x00896BC0 | 750 | CUITextInput__update_cursor_and_scroll | Updates cursor position and text scroll offset for a text input control. Saves old cursor pos (field 0x20). Calls text measurement functions (FUN_00ace3c0/FUN_00ace420) and vtable+0xe4. Clamps cursor/selection to max length (field 0x3a). Recalculates scroll offset (field 0x2c) using CharNextExA for proper multibyte character handling. Adjusts scroll to keep cursor visible within control width. |
| 0x00896EB0 | 33 | send_text_to_active_window | Sends text (param_1) to the active window if one exists. Gets active window via get_field_0x1a0_00a916f0, then calls FUN_00a82e50 with the text and flag=1. |
| 0x00896EE0 | 126 | send_text_to_matching_window | Sends text to a window that contains matching item (param_1). First checks global trading window (DAT_01457848) child list, then active window list. Walks linked list of child controls checking if param_1 matches item ID (field+8). Calls FUN_00a82e50 to send text when match found. |
| 0x00896F60 | 27 | send_text_to_dialog_window | Sends text to the dialog window (DAT_01457ad8) if it exists. Calls FUN_00a82e50 with the text and flag=1. |
| 0x00896F80 | 27 | send_text_to_chat_window | Sends text to the chat window (DAT_01457998) if it exists. Calls FUN_00a82e50 with the text and flag=1. |
| 0x00896FA0 | 329 | CUIListBox__calculate_max_column_width | Calculates maximum column width for a listbox control. If field 0x8c flag is set, iterates through all items in the list (stride 0x18), measures text width using FUN_00a80230 (horizontal) or FUN_00a80580 (vertical) based on orientation (field 0x80). Sets all column widths in array (field 0xcc) to the max found. Calls FUN_00897a50 to finalize. |
| 0x00897120 | 261 | CUITextInput__set_text_and_resize | Sets text on a text input and resizes it. Compares current text (field 0x7c) against DAT_010d4ee8 (empty string). If not empty, copies text to display field (0xdc). Measures text width using FUN_00a829d0 or FUN_00a80580, adds padding for scrollbar if field 0xb7 is set. Calls FUN_00a82eb0 to apply new size. |
| 0x00897230 | 318 | CUITextInput__update_text_display_width | Updates text display width measurement for a text input. Compares text (field 0x7c) twice against DAT_010d4ee8, copies to display field (0xd4). Measures full text width via FUN_00a80580 and calls FUN_00a82eb0 twice - once for full width, once for the truncated/wrapped position. Uses font parameters from fields 0xcc/0xc8/0xc4. |
| 0x008973E0 | 183 | CUIListBox__resize_and_scroll_to_bottom | Resizes a listbox and scrolls to bottom. Calls FUN_008976e0 for base resize. If vertical scrollbar exists (field 0xa4), calculates max scroll position from item count and visible rows, positions scrollbar (field 0xac) to bottom, repositions it at x=param_2-0xd. Invalidates scrollbar. |
| 0x008974A0 | 102 | CUIListBox__resize_and_scroll_to_top | Resizes a listbox and scrolls to top. Calls FUN_008976e0 for base resize, sets scroll position to 0 (field 0x98), syncs scrollbar position. If vertical scrollbar exists, repositions it. Invalidates scrollbar. |
| 0x00897580 | 175 | CUIListBox__resize_with_dual_scrollbars_a | Resizes a listbox with dual scrollbars (vertical at 0x2a, horizontal at 0x2b). Sets scrollbar sizes to (0xc, param_3) and (param_2-0xd, 0xc). Resets scroll position (field 0x25) to 0. Syncs scrollbar position. Updates via vtable+0xe0. |
| 0x00897630 | 175 | CUIListBox__resize_with_dual_scrollbars_b | Identical to resize_with_dual_scrollbars_a. Resizes listbox with dual scrollbars, resets scroll position to 0. Variant for a different UI class. |
| 0x008976E0 | 110 | CUIListBox__resize_with_scrollbars_reset | Resizes listbox with scrollbars at fields 0x2b and 0x2c. Sets vertical scrollbar to (0xc, param_3) at x=param_2-0xd. Sets horizontal scrollbar to (param_2-0xd, 0xc) at y=param_3-0xd. Calls vtable+0xe0 and resets scroll offset (field 0x26) to 0. |
| 0x008978A0 | 192 | CUITextInput__auto_resize_to_text | Auto-resizes a text input control to fit its text content. Compares text (field 0x7c) against empty string. If not empty, copies text to display field (0xdc), measures text width via FUN_00a80580 with font params (fields 0xd8/0xd4/0xd0). Adds padding (4 if multiline flag 0xb7 set, else 2). Resizes via FUN_00a82eb0. |
| 0x00897960 | 167 | CUITextInput__auto_resize_to_text_simple | Simpler version of auto-resize for text input. Compares text (field 0x7c) against empty string, copies to display field (0xd4). Measures text width via FUN_00a80580 with font params (0xcc/0xc8/0xc4). Resizes to (width+2, height+2) via FUN_00a82eb0. |
| 0x00897A50 | 222 | CUIListBox__auto_resize_to_content | Auto-resizes a listbox to fit its content. Sums up column widths from array at field 0x33 for all items (count from (0x2e-0x2d)/0x18). If orientation is horizontal (field 0x20 is 0 or 2), sets size to (total_width+1, field_0x21+1). Otherwise sets to (field_0x21+1, total_width+1). Invalidates via vtable+0x98. |
| 0x00897B30 | 173 | CUIListBox__select_item_at_index | Selects an item at the given index (param_2) in a listbox. Clears flag at offset 0x85. Validates index within item array bounds (fields 0x29/0x2a, stride 0x18). Calls FUN_008681c0 with item text. Sets selected index (field 0x28), sends event 0x27 to parent, invalidates control and parent. |
| 0x00897C10 | 9 | thunk_to_UIGridView__handle_scroll_command_00897c10 | Wrapper function that calls FUN_00898b00 and returns |
| 0x00898050 | 60 | CUISimpleList__handle_event | Event handler for a simple list control. Similar to grid list but uses field 0x23 for item count directly. Handles events: 0=confirm, 0x12=up, 0x13=down, 0x1f=call vtable+0xd8 with two params, 0x28=set selection, 0x53=set linked ID. Default delegates to FUN_00898eb0. |
| 0x00898280 | 62 | CUITreeList__handle_event | Event handler for a tree-list control. On confirm (event 0), gets selected item via FUN_008a13d0 and FUN_00872120, sends item data to linked control. Handles scroll up/down (0x12/0x13), item update (0x1f) via FUN_00875860, selection set (0x28), linked ID (0x53). Default delegates to UIScrollList__handle_scroll_event. |
| 0x008984E0 | 230 | CUITabControl__handle_event | Event handler for a tab control. On event 6 with param 0x111, calculates tab height from two child controls (fields 0x26/0x27) and resizes. On event 0x27, checks permission via FUN_00a970e0 before forwarding selection event to parent. Plays sound 0x1a if enabled. Default delegates to FUN_00a83660. |
| 0x008985D0 | 124 | CUICheckBox__handle_toggle_event | Handles checkbox toggle event (event 0xd). Checks field 0x120 mode and DAT_0173a5ac flag. If param_4 (checked), sets flag 0x280=1 and displays checked text (DAT_0112723c or DAT_011272e4 for mode 1). If unchecked, sets flag=0 and displays unchecked text. Calls FUN_008657a0 for text display. |
| 0x00898650 | 210 | CUITextInput__handle_backspace_delete | Handles backspace (0x8) and delete (0x2e) key events for a comma-separated text input. On backspace, checks if preceding char is comma; if so, adjusts cursor to skip it. On delete, checks if following char is comma. Updates cursor position and delegates to FUN_00863bf0 for standard key handling. |
| 0x00898940 | 448 | CUIDropdownList__handle_event | Event handler for a dropdown list control. Event 6/0x111: toggles dropdown open/close state (field 0x89). When opening, shows child (field 0x20) and resizes to include its height. When closing, hides child and shrinks. Event 0x27: selection changed - gets item text, closes dropdown, forwards selection to parent. |
| 0x00898B00 | 813 | UIGridView__handle_scroll_command | Handles scroll commands for a grid view widget. Commands: 7=vertical scroll, 8=horizontal scroll, 9=page up, 10=page down, 0xb=scroll left, 0xc=scroll right, 0x12=select prev, 0x13=select next, 0x28=set selection, 0x62=forward to child. Clamps scroll/selection to valid range, updates scrollbar position, triggers re-render. |
| 0x00898EB0 | 704 | UIGridView__handle_scroll_command_v2 | Variant of handle_scroll_command for grid view v2. Same command handling (7-0x62) but with different field offsets and additional tooltip re-render via FUN_00a7d6d0. Also triggers parent re-render when linked widget (0x2c) is present. |
| 0x008991B0 | 704 | UIScrollList__handle_scroll_event | Handles scroll events: vertical/horizontal scroll, page up/down, cursor movement, direct index set |
| 0x008994B0 | 501 | CUIComboBox__handle_event | Event handler for a combobox control. Event 6/0x111: toggles dropdown, plays sound 0x1a if enabled. When opening, populates a dropdown window (FUN_00a978d0(0x1a)) with all items from list, resizes and positions it. Event 0x27: selects item, forwards to parent, invalidates. Uses CUIWindow__set_child_window_0xb8_alt. |
| 0x008996B0 | 202 | CUITimerControl__handle_update_event | Handles timer update event (event 6 with param 0xb8). Iterates through 2 child controls (fields 0x7c+). For each matching child, reads text value, clamps to max 60, formats with FUN_00af62d0 using format DAT_010dbe28, and calls child's vtable+0xd4 to update display. |
| 0x00899780 | 657 | CUIShopButton__handle_event | Event handler for a shop button. Event 0xd: sets pressed state (field 0x124). Event 0x1af: updates button textures based on slot state (param_4) and buy/sell mode (field 0x138). Generates button image paths with '_normal.bmp', '_over.bmp', '_press.bmp' suffixes using format strings. Calls FUN_008657a0 to set textures. |
| 0x00899A30 | 423 | CUITabList__handle_confirm_event | Handles confirm event (event 0) for a tab list control. When confirmed on the add button (field 0x36), reads input text, measures width, checks if adding a new tab would exceed parent width limit. If within limits, adds new tab via CFmt__buf_00696770 and sends event 0x74 to parent. If too wide, shows error dialog (FUN_00b00f00). Closes and clears focus after. |
| 0x00899BF0 | 129 | CUIChatLogList__handle_event | Event handler for a chat log list control. Events 7/9/10: scroll handling with bounds clamping (uses field 0x2e as item height). Events 0x12/0x13: up/down navigation. Event 0x1d: reloads chat log - clears message vectors (fields 0x3b-0x3f), calls FUN_0089f610 to rebuild. Default delegates to FUN_00898b00. |
| 0x00899E90 | 89 | CUIChatWindow__handle_event | Large event handler for the chat window. Handles scroll events (7-0xc) with child widget visibility updates. Events 0x12/0x13: up/down in chat. Event 0x1d: processes chat input - handles item links, URLs, whisper targets, and various formatting. Event 0x62: handles hyperlink actions (0x1b5=open URL, 0x1b6=item link, 0x1d0=party invite, 0x205/0x21b=other actions). |
| 0x0089ADD0 | 87 | CUITreeView__handle_event | Event handler for a tree view control. Events 7/9/10: scroll with child widget visibility (UIListBox__hide_all_item_widgets_recursive). Events 0x12/0x13: up/down navigation. Events 0x61-0x6e: complex tree operations including node selection (0x62/0x63/0x64), expand/collapse (0x6b), drag start (0x6c), drag end (0x6d), and node operations (0x6e) with text editing and repositioning. |
| 0x0089B640 | 259 | CUIButton__load_bitmap_state | Loads a bitmap for a button state. Calls FUN_00af1620 for resource init, FUN_00b01200 to create resource from path, FUN_00aee770 to get texture. If texture found, updates button min size from texture dimensions (0x114/0x118), calls vtable+4 to resize. Copies bitmap path to appropriate state string field based on param_3 (0-3: normal, hover, press, disabled). Returns 1 on success, 0 if texture not found. |
| 0x0089BE60 | 196 | CUIItemSlot__set_item_by_id | Sets item in a slot by item ID. Creates item descriptor via FUN_00ddd4e0, copies it with CItemDesc__copy_from. Sets display flag (field 0x3f) from param_3. If field 0x29 is 0, gets item class/level info. Invalidates the control. |
| 0x0089BF30 | 169 | CUIItemSlot__set_item_by_index | Sets item in a slot by index. Creates item descriptor via FUN_00ddd5a0 (different from set_item_by_id), copies it. Sets display flag (field 0x3f) from param_3. Invalidates. Similar to set_item_by_id but uses different item lookup function. |
| 0x0089C080 | 304 | CUIListBox__rebuild_all_items | Rebuilds all items in a listbox. Calls vtable+0xdc to prepare, clears items, then iterates through data entries (field 0x40/0x41, stride 0x18). For each entry, checks for delimiter (DAT_0133a2e8). If no delimiter found, calls FUN_008750d0 for plain text. If delimiter found, calls vtable+0xe4 for formatted text. Uses column widths from field 0x43. Calls vtable+0xe0 to finalize. |
| 0x0089C1B0 | 94 | CUIListBox__set_item_enabled_flag | Sets or clears an enabled flag for a specific item in a listbox bitfield array. param_2 is the item index, param_3 is the flag value. Uses bitfield at field 0xec with 32 items per uint. Validates index is within item count ((0xb8-0xb4)/0x18). |
| 0x0089C220 | 66 | CUIScrollBar__set_range_and_position | Sets scrollbar range (field 0x20=max, 0x27=visible, 0x26=total) and invalidates. If max position is less than current thumb position (field 0x21), clamps thumb to max. |
| 0x0089C270 | 39 | CUIListBox__set_scroll_position | Sets the scroll position of a listbox. If vertical scrollbar exists (field 0x29), updates scrollbar thumb position (field 0x2b+0x84). Calls vtable+0xe0 to update display. |
| 0x0089C440 | 1204 | CUITreeView__init_from_config | Initializes a tree view widget from config data. Parses column definitions, row heights, expand/collapse icons, and scroll settings from configuration. |
| 0x0089C900 | 357 | CUIChatLogList__find_entry_at_pixel_offset | Finds the chat log entry and pixel X offset at a given total pixel position. Iterates entries in reverse (from end minus param_4), measuring text width with color codes stripped. Returns entry index in param_2[0] and pixel X offset in param_2[1]. Used for click-to-position in chat log. |
| 0x0089CA70 | 111 | CUITextInput__set_text_and_auto_resize | Sets text on a text input (field 0x7c) from string param_2, then auto-resizes the control to fit the text. Copies string if not same instance, then calls CUITextInput__auto_resize_to_text. |
| 0x0089CAE0 | 327 | CUITextInput__truncate_text_to_max_length | Truncates text input content to fit within max length (field 0x88). Uses CharNextExA/CharPrevExA for multibyte character boundary handling. Trims from the start of the string, then pads with spaces if needed to reach min length (field 0x88). Calls CInputMgr to update the input field. |
| 0x0089CC30 | 377 | CUITextInput__add_text_layout_entry | Adds or updates a text layout entry in the vector at fields 0x100-0x108 (stride 0x1c = 28 bytes). Each entry contains: ID, x, y, font_size, font_style, flag, and an extra param. If x or y is -1000, auto-calculates position from text dimensions. Searches for existing entry by ID before appending. |
| 0x0089CF10 | 185 | CUITabControl__set_tab_labels | Replaces all tab label strings. Clears the existing labels vector (fields 0x15c-0x164, stride 0x18) by destroying strings, then copies all entries from the source vector param_2. |
| 0x0089CFE0 | 3139 | CUIChatWindow__build_item_link_dialog | Builds and displays an item link dialog for the chat window. Creates a UIFmtStringDialog (0x200 bytes), populates it with item tooltip text, then encodes item properties (ID, slots, enchants, refinement, option data) as a base62-encoded link string. Handles card slots (up to 4), enchant options (type+grade+id triplets). Pushes the dialog to the chat window's child list. |
| 0x0089DC30 | 1215 | CUIListBox__init_with_columns_from_config | Initializes a list box with columns from config. Parses column widths, headers, alignment, and row settings from configuration data. |
| 0x0089E480 | 30 | CUIChatWindow__get_hyperlink_count | Returns count of hyperlinks in the chat window. Calculates (field_0xf0 - field_0xec) / 0x18, representing items in the hyperlink vector. |
| 0x0089E4A0 | 193 | CUIChatWindow__draw_hyperlink_text_shadow | Draws hyperlink text with shadow effect. Acquires GDI context, configures font style, then draws the same text twice at offset positions (shadow then foreground) with different colors. Uses CTextVertex for rendering with color code support. |
| 0x0089E570 | 384 | CUIChatWindow__process_hyperlink_data | Recursively destroys hyperlink data for a tree node and its children. For each child in the linked list (field 0x180), recursively processes sub-children, then destroys widgets at offsets 0x178, 0x174, 0x17c. After all children are processed, frees the linked list nodes and resets count (field 0x184) to 0. |
| 0x0089E6F0 | 322 | CUITreeView__remove_node_by_id | Removes a tree view node by its ID (param_3) from the parent node's child list (param_2, defaults to root at offset 0x84). Iterates the linked list at offset 0x180 of the parent, finds the node matching param_3. If param_4 is 0, also destroys hyperlink data and hides sub-widgets (offsets 0x5d, 0x5e). Unlinks from linked list, decrements child count (offset 0x184), deletes the node. If parent becomes empty, hides parent's sub-widgets too. Returns 1 on success, 0 if not found. |
| 0x0089E840 | 26 | CUITreeNode__remove_child_by_id | Forwards a remove-by-id call to the parent's tree view. Calls CUITreeView__remove_node_by_id with the parent's list (field 0x5c), root node (field 0), and target node ID (param_2). |
| 0x0089E860 | 85 | CUITreeView__find_child_node | Finds a child node in a tree view by ID and type. If param_2 is 0, uses field 0x84 as parent. Iterates through child node linked list (field 0x180) checking if node ID matches param_3 and field 0x5b matches param_4. Returns matching node or null. |
| 0x0089E8C0 | 379 | CUITreeView__insert_node | Inserts a node into the tree view. If the node's parent (field 0x5c) is null, inserts at the root level (field 0x84). Otherwise inserts under the parent. First checks for duplicate nodes by ID+type. Creates expand/collapse icons and text widget for the node. If param_3 is 0, appends at end; otherwise inserts at front of list. |
| 0x0089F610 | 3681 | CUIChatLog__rebuild_message_list | Rebuilds the chat log message list. Re-processes all stored messages, applies filters, word-wraps text, and updates the display buffer. |
| 0x008A0480 | 1405 | CUIChatLog__layout_wrapped_messages | Performs word-wrap layout on chat messages. Measures text widths, splits lines at word boundaries, and computes vertical positions for wrapped lines. |
| 0x008A0B10 | 2121 | CUISkillTreePreview__render | Renders the skill tree preview window. Handles two states (field 0x120): state 0 shows "no skills" message (msg 0xbc8), state 1 shows loading/preview message (msg 0xbca) with word-wrapped description (msg 0xbcd). Loads head/body palette sprites, weapon sprites, and IMF resources. Draws skill tree nodes with prerequisite connections. Uses timeGetTime for animation cycling. |
| 0x008A15A0 | 149 | CUITreeView__get_root_node_display_text | Gets the display text from the root tree node. Reads the STL string at field 0xc0 of the root node (field 0x84) and copies it to the output param_2 string. |
| 0x008A1640 | 523 | CUIListBox__collect_items_into_line_group | Collects UI items from a range [param_2, param_3) into a new vector, then pushes that vector as a line group into the parent's vector-of-vectors at field 0xf8. Used for word-wrapping layout: each line group represents one visual row of items. |
| 0x008A1880 | 2567 | CUIRichText__parse_markup_tags | Parses HTML-like rich text markup tags from a string. Handles tags: image (sets field 0xac), color (parses hex RGB into fields 0x9c-0xa4), link (sets field 0x84 with URL), font (sets field 0xc4), bold, size (sets field 0xa8). Strips color codes and quotes from tag values. Remaining text after tags goes to field 0xdc. |
| 0x008A2480 | 359 | CUIListBox__layout_word_wrapped_items | Lays out items in a listbox with word wrapping. Iterates through items (fields 0x3b-0x3c), accumulates widths. When cumulative width + 15 exceeds control width, or a newline char is found, starts a new line. Uses std__list_sort_recursive to sort items within each line. Calls vtable+0xe0 to finalize layout. |
| 0x008A2980 | 1652 | CUIHotkeyWindow__init_shortcut_slots | Initializes the hotkey/shortcut window with 10 label+edit pairs. Creates UISimpleDialogWidget labels (0x11c bytes) with column headers from global string array at DAT_01733630, and UIEditableTextWidget edit fields (0xd8 bytes) labeled "Alt + N". Sets up a view button with 3 texture states (btn_view, btn_view_a, btn_view_b). Loads hotkey config from lua_get_hotkey_config and populates the edit fields. Calls CUIWindowMgr__set_focus_window on first column. |
| 0x008A3040 | 24 | CUIWindow__draw_header_if_small | Draws window header area if param_2 < 17. Calls UIWindow__draw_header_area only for small windows. |
| 0x008A3060 | 168 | CUIWindow__handle_header_command | Handles header-area commands for a CUIWindow. Dispatches on param_3: 0x22 = update position from param_4 pointer via validate+set_default fallback; 6 = button commands (0xC9 -> type 0x56, 0x11B -> type 0x57 or create window if DAT_01457a04 is 0); other values delegate to UIWindow__handle_button_click. |
| 0x008A3110 | 194 | CUIWindow__dispatch_command_to_tab_child | Dispatches a command to a specific tab/child window. If param_3 is -1, resolves the tab index (0-9) by comparing get_field_0x1a0 against child window pointers at offsets 0xDC through 0x100. Then calls vtable+0xD4 on the resolved child with param_2. |
| 0x008A31E0 | 359 | CUIWindow__save_hotkey_texts_to_config | Iterates 10 hotkey edit text widgets, reads their display text via UIEditableTextWidget__get_display_text, and saves non-empty values to the global hotkey string array at DAT_01733630 (0x18 bytes per entry). Calls HotkeyConfig__save_all_to_registry at the end. |
| 0x008A34B0 | 84 | CUIScrollWindowN__ctor | Constructor for a scroll window subclass (vtable 011391c0). Calls CUIScrollWindow__ctor_base and sets its own vtable pointer. |
| 0x008A3510 | 137 | CUIWindowA__ctor_with_string | Constructor for a small UI window subclass (vtable 01139bf4). Calls UIWindowBase__ctor, initializes an SSO string at offset 0x2e and a field at 0x2d. |
| 0x008A35A0 | 251 | CUIItemListWindow__ctor | Constructor for CUIItemListWindow (vtable 01139298). Calls UIWindowBase__ctor, initializes two SSO strings at offsets 0x2d and 0x33, allocates a 0x2c-byte RB-tree sentinel node at offset 0x43, and zeroes vector pointers at 0x45-0x48. |
| 0x008A36A0 | 86 | UIWindowC__ctor | Constructor for UIWindowC subclass. Calls FUN_008a3700 for base init, then sets vtable pointer to PTR_UIWindowC__scalar_deleting_dtor_011390e8. |
| 0x008A3700 | 236 | UIWindowBase__ctor | Base constructor for UIWindowBase (vtable 01138a28). Calls CEffect__ctor, sets vtable, initializes default window size 600x600, allocates a 0x34-byte linked list header node (self-referencing), zeroes scroll/state fields, sets default layout values (0x2b=7, 0x2c=8), scale factor 1.0f, and calls UIWindow__render_overlay to initialize the child list. |
| 0x008A37F0 | 106 | UIWindowWithTexture__ctor | Constructor for UIWindowWithTexture subclass (vtable 011395f8). Calls UIWindowBase__ctor, sets vtable, zeroes texture-related fields at offsets 0x34 and 0x35. |
| 0x008A3860 | 126 | UIWindowD__ctor | Constructor for UIWindowD subclass (vtable 01138e60). Calls UIWindowBase__ctor, sets vtable, zeroes fields at offsets 0x2d-0x30. |
| 0x008A38E0 | 220 | UIFmtWindow__ctor | Constructor for UIFmtWindow subclass (vtable 01138d88). Calls UIWindowBase__ctor, sets vtable pointer and secondary vtable at offset 0x3b. Zeroes many state fields (0x2d-0x3a). Sets param_1[0x33]=1 as default. |
| 0x008A39C0 | 1428 | UICharSlotWindow__ctor | Constructor for UICharSlotWindow (vtable 01139010). Calls UIWindowBase__ctor, initializes 5+5 SSO string arrays for head/body palette paths, 3 more SSO strings for weapon/shield/imf paths, allocates character slot data via game object query (job 0x2720). Builds sprite resource paths for head palette, body palette, weapon sprite, shield sprite, and IMF. Sets render alpha to 0x80 and color to 0xFF. |
| 0x008A3F60 | 86 | UIWindowE__ctor | Constructor for UIWindowE subclass. Calls FUN_008a3700 for base init, then sets vtable pointer to PTR_UIWindowE__scalar_deleting_dtor_011396d0. |
| 0x008A3FC0 | 226 | UIWindowWithStrings__ctor | Constructor for UIWindowWithStrings subclass (vtable 01138b00). Calls UIWindowBase__ctor, initializes 3 SSO strings at offsets 0x34, 0x3a, 0x40. Zeroes field at 0x2f and byte at offset 0x47*4+3. |
| 0x008A40B0 | 178 | UIWindowF__ctor | Constructor for UIWindowF subclass (vtable 01138bd8). Calls UIWindowBase__ctor, initializes 2 SSO strings at offsets 0x34 and 0x3a. Zeroes field at 0x2f. |
| 0x008A4170 | 172 | UIWindowG__ctor | Constructor for UIWindowG subclass (vtable 01139370). Calls UIWindowBase__ctor, initializes SSO string at offset 0x36, zeroes fields at 0x2d-0x35 including boolean and pointer fields. |
| 0x008A4220 | 219 | UIWindowH__ctor | Constructor for UIWindowH subclass (vtable 01138f38). Calls UIWindowBase__ctor, allocates 0x13 (19) UIEditableTextWidget children into array at offsets 0x2d+, stores notice_patch_txt filename at offset 0x44, sets field counts and zeros state fields. Calls CUIWindowMgr__set_focus_window on self. |
| 0x008A4300 | 215 | UIWindowWithTextureAndString__ctor | Constructor for UIWindowWithTextureAndString subclass (vtable 01139520). Calls UIWindowBase__ctor, initializes SSO string at offset 0x33, zeroes texture/state fields at 0x32, 0x39, 0x3a, 0x2d-0x31. |
| 0x008A4440 | 93 | UIWindowI__ctor | Constructor for UIWindowI subclass (vtable 01139884). Calls UIWindowBase__ctor, sets vtable, zeroes byte at offset 0x2f*4. |
| 0x008A44A0 | 84 | UIWindowJ__ctor | Constructor for UIWindowJ subclass (vtable 0113995c). Calls UIScrollListBase__ctor, sets vtable. |
| 0x008A4500 | 146 | UIWindowWithFields__ctor | Constructor for UIWindowWithFields subclass (vtable 01139b1c). Calls UIWindowBase__ctor, stores param_2 at offset 0x2d, zeroes 10 pointer fields at 0x3d+ and 10 boolean flags at 0x11c+. Field 0x3c also zeroed. |
| 0x008A45A0 | 146 | UIWindowK__ctor | Constructor for UIWindowK subclass (vtable 01139a44). Calls UIWindowBase__ctor, zeroes 6 fields at offsets 0x2d-0x32. |
| 0x008A4640 | 147 | UIWindowL__ctor | Constructor for UIWindowL subclass (vtable 01138cb0). Calls UIWindowBase__ctor, initializes SSO string at offset 0x2f, zeroes fields at 0x2d and 0x2e. |
| 0x008A46E0 | 86 | UIWindowM__ctor | Constructor for UIWindowM subclass (vtable 01139448). Calls UIWindowBase__ctor, sets vtable. Minimal subclass with no additional fields. |
| 0x008A4790 | 87 | UIWindowBase__cleanup_members | Cleanup helper for UIWindowBase. Calls STL_vector_int__clear_and_free then STL_linked_list__destroy_all_nodes to release base window data members. Used from dtors. |
| 0x008A4B60 | 87 | UIWindowBase__dtor_cleanup | UIWindowBase destructor cleanup helper. Calls STL_vector_int__clear_and_free then STL_linked_list__destroy_all_nodes to clean up the base window's vector and linked list members. |
| 0x008A4BD0 | 71 | CUIScrollWindowN__dtor | Destructor for CUIScrollWindowN. Sets vtable to PTR_UIWindowN__scalar_deleting_dtor_011391c0, then calls UIWindow__dtor_8caae0 for base cleanup. |
| 0x008A4C20 | 152 | UIWindowA__dtor | Destructor for UIWindowA (vtable 01139bf4). Destroys embedded STL string, then delegates to UIWindowBase base dtor chain: STL_vector_int__clear_and_free, STL_linked_list__destroy_all_nodes, and CEffect__dtor. |
| 0x008A4CC0 | 71 | UIWindowB__dtor | Destructor for a UI window subclass (vtable PTR_FUN_01138950). Delegates to UIWidget__dtor_0086ffa0 for cleanup. |
| 0x008A4D10 | 230 | UIItemListWindow__dtor | Destructor for CUIItemListWindow (vtable 01139298). Clears the item entry vector, destroys the red-black tree with CUIControl__destroy_tree_nodes_recursive and frees sentinel, destroys 2 SSO strings, then calls UIWindowBase base dtor chain. |
| 0x008A4E00 | 134 | UIWindowC__dtor | Destructor for a UI window subclass (vtable PTR_FUN_011390e8). Simple destructor that sets vtable then calls base class destructor chain. |
| 0x008A4E90 | 121 | UIWindowBase__dtor | Destructor for UIWindowBase (vtable 01138a28). Calls STL_vector_int__clear_and_free, STL_linked_list__destroy_all_nodes, then CEffect__dtor for final cleanup. |
| 0x008A4F10 | 162 | UIWindowWithTexture__dtor | Destructor for a UI window with texture resource (vtable PTR_FUN_011395f8). Frees texture handle at offset 0x34 via FUN_00aa2c90 if non-null, then calls base destructor chain. |
| 0x008A4FC0 | 134 | UIWindowD__dtor | Destructor for a UI window subclass (vtable PTR_FUN_01138e60). Simple destructor that sets vtable then calls base class destructor chain. |
| 0x008A5050 | 152 | UIFmtWindow__dtor | Destructor for a UI window with CFmt formatting support (vtable PTR_FUN_01138d88). Calls CFmt__func_0058c230 to clean up formatter, then base destructor chain. |
| 0x008A50F0 | 152 | UICharSlotWindow__dtor | Destructor for a UI character slot window (vtable PTR_FUN_01139010). Calls CCharSlotEntry__destructor to clean up character slot data, then base destructor chain. |
| 0x008A5190 | 134 | UIWindowE__dtor | Destructor for a UI window subclass (vtable PTR_FUN_011396d0). Simple destructor that calls base class destructor chain. |
| 0x008A5220 | 182 | UIWindowWithStrings__dtor | Destructor for a UI window with multiple string members (vtable PTR_FUN_01138b00). Destroys 3 STL strings then calls base destructor chain. |
| 0x008A52E0 | 167 | UIWindowF__dtor | Destructor for a UI window subclass (vtable PTR_FUN_01138bd8). Destroys 2 STL strings then calls base destructor chain. |
| 0x008A5390 | 152 | UIWindowG__dtor | Destructor for a UI window subclass (vtable PTR_FUN_01139370). Destroys 1 STL string then calls base destructor chain. |
| 0x008A5430 | 134 | UIWindowH__dtor | Destructor for a UI window subclass (vtable PTR_FUN_01138f38). Simple destructor that calls base class destructor chain. |
| 0x008A54C0 | 177 | UIWindowWithTextureAndString__dtor | Destructor for a UI window with texture and string (vtable PTR_FUN_01139520). Frees texture at offset 0x31 via FUN_00aa2c90 if non-null, destroys STL string, then calls base destructor chain. |
| 0x008A55D0 | 134 | UIWindowI__dtor | Destructor for a UI window subclass (vtable PTR_FUN_01139884). Simple destructor that calls base class destructor chain. |
| 0x008A5660 | 71 | UIWindowJ__dtor | Destructor for a UI window subclass (vtable PTR_FUN_0113995c). Delegates to FUN_00871040 for cleanup. |
| 0x008A56B0 | 161 | UIWindowWithFields__dtor | Destructor for a UI window with fields (vtable PTR_FUN_01139b1c). Zeros fields at offsets 0x3c and 0x2d, then calls base class destructor chain. |
| 0x008A5760 | 134 | UIWindowK__dtor | Destructor for a UI window subclass (vtable PTR_FUN_01139a44). Simple destructor that calls base class destructor chain. |
| 0x008A57F0 | 152 | UIWindowL__dtor | Destructor for a UI window subclass (vtable PTR_FUN_01138cb0). Destroys 1 STL string then calls base destructor chain. |
| 0x008A5890 | 134 | UIWindowM__dtor | Destructor for a UI window subclass (vtable PTR_FUN_01139448). Simple destructor that calls base class destructor chain. |
| 0x008A5920 | 184 | UIMapEntry__move_ctor | Move constructor for a UI map entry containing 2 integer fields and 2 STL string members. Copies integer fields directly, then move-constructs strings by stealing buffers and resetting source strings to empty state (size=0, capacity=0xf). |
| 0x008A59E0 | 331 | UIStringMap__find_or_insert | Finds or inserts an entry in a string-keyed map/tree. Calls FUN_008a3400 to find the insertion point, compares keys using std::_Traits_compare. If key not found, allocates a new 0x2c-byte node, moves the key string into it, initializes fields, and inserts via Insert_node. Returns pointer to the value portion (offset 0x28) of the found/inserted node. |
| 0x008A5B30 | 294 | UIStringMap__find_or_insert_copy | Finds or inserts an entry in a string-keyed map/tree (copy version). Similar to UIStringMap__find_or_insert but copy-constructs the key string instead of moving it. Allocates a 0x2c-byte node, copies key via STL_string_copy_construct, initializes node fields, and inserts via Insert_node. Returns pointer to value at offset 0x28. |
| 0x008A5CC0 | 236 | UIWindowMgr__get_tls_guid_table | Returns pointer to a thread-local GUID/identifier table at TLS offset 0x25d8. On first access (flag at offset 0x262c), copies 0x50 bytes of initialization data from 5 static GUID structs at 0x0113a980-0x0113aa7c into the TLS block, sets initialized flag, and registers cleanup via FUN_00e6343b (atexit). |
| 0x008A5DB0 | 99 | UIWindowN__scalar_deleting_dtor | Scalar deleting destructor for a UI window subclass (vtable PTR_FUN_011391c0). Calls UIWindow__dtor_8caae0 for cleanup, then frees 0xc0 bytes if param_2 bit 0 is set. |
| 0x008A5E20 | 176 | UIWindowA__scalar_deleting_dtor | Scalar deleting destructor for UIWindowA (vtable PTR_FUN_01139bf4). Destroys STL string, calls base destructor chain, then frees 0xd0 bytes if param_2 bit 0 is set. |
| 0x008A5ED0 | 99 | UIWindowB__scalar_deleting_dtor | Scalar deleting destructor for UIWindowB (vtable PTR_FUN_01138950). Delegates to UIWidget__dtor_0086ffa0, then frees 0x88 bytes if param_2 bit 0 is set. |
| 0x008A5F40 | 254 | UIItemListWindow__scalar_deleting_dtor | Scalar deleting destructor for UIItemListWindow (vtable PTR_FUN_01139298). Clears item entry vector, destroys strings, calls base destructor chain, then frees 0x124 bytes if param_2 bit 0 is set. |
| 0x008A6040 | 158 | UIWindowC__scalar_deleting_dtor | Scalar deleting destructor for UIWindowC (vtable PTR_FUN_011390e8). Frees 0xc0 bytes if param_2 bit 0 is set. |
| 0x008A60E0 | 145 | UIWindowBase__scalar_deleting_dtor | Scalar deleting destructor for UIWindowBase (vtable PTR_FUN_01138a28). Frees 0xb4 bytes if param_2 bit 0 is set. |
| 0x008A6180 | 186 | UIWindowWithTexture__scalar_deleting_dtor | Scalar deleting destructor for UIWindowWithTexture (vtable PTR_FUN_011395f8). Frees texture handle at offset 0x34, then frees 0xd8 bytes if param_2 bit 0 is set. |
| 0x008A6240 | 158 | UIWindowD__scalar_deleting_dtor | Scalar deleting destructor for UIWindowD (vtable PTR_FUN_01138e60). Frees 0xc4 bytes if param_2 bit 0 is set. |
| 0x008A62E0 | 176 | UIFmtWindow__scalar_deleting_dtor | Scalar deleting destructor for UIFmtWindow (vtable PTR_FUN_01138d88). Cleans up CFmt, frees 0xf0 bytes if param_2 bit 0 is set. |
| 0x008A6390 | 176 | UICharSlotWindow__scalar_deleting_dtor | Scalar deleting destructor for UICharSlotWindow (vtable PTR_FUN_01139010). Destroys char slot entry, frees 0x2dc bytes if param_2 bit 0 is set. |
| 0x008A6440 | 158 | UIWindowE__scalar_deleting_dtor | Scalar deleting destructor for UIWindowE (vtable PTR_FUN_011396d0). Frees 0xc8 bytes if param_2 bit 0 is set. |
| 0x008A64E0 | 38 | UIWindowWithStrings__scalar_deleting_dtor | Scalar deleting destructor for UIWindowWithStrings. Calls UIWindowWithStrings__dtor, frees 0x120 bytes if param_2 bit 0 is set. |
| 0x008A6510 | 191 | UIWindowF__scalar_deleting_dtor | Scalar deleting destructor for UIWindowF (vtable PTR_FUN_01138bd8). Destroys 2 STL strings, frees 0x100 bytes if param_2 bit 0 is set. |
| 0x008A65D0 | 176 | UIWindowG__scalar_deleting_dtor | Scalar deleting destructor for UIWindowG (vtable PTR_FUN_01139370). Destroys 1 STL string, frees 0xf0 bytes if param_2 bit 0 is set. |
| 0x008A6680 | 158 | UIWindowH__scalar_deleting_dtor | Scalar deleting destructor for UIWindowH (vtable PTR_FUN_01138f38). Frees 0x174 bytes if param_2 bit 0 is set. |
| 0x008A6720 | 201 | UIWindowWithTextureAndString__scalar_deleting_dtor | Scalar deleting destructor for UIWindowWithTextureAndString (vtable PTR_FUN_01139520). Frees texture at offset 0x31, destroys string, frees 0xec bytes if param_2 bit 0 is set. |
| 0x008A6860 | 158 | UIWindowI__scalar_deleting_dtor | Scalar deleting destructor for UIWindowI (vtable PTR_FUN_01139884). Frees 0xe4 bytes if param_2 bit 0 is set. |
| 0x008A6900 | 99 | UIWindowJ__scalar_deleting_dtor | Scalar deleting destructor for UIWindowJ (vtable PTR_FUN_0113995c). Delegates to UIFormattedWidgetBase__dtor, frees 0xd4 bytes if param_2 bit 0 is set. |
| 0x008A6970 | 185 | UIWindowWithFields__scalar_deleting_dtor | Scalar deleting destructor for UIWindowWithFields (vtable PTR_FUN_01139b1c). Zeros fields at offsets 0x3c and 0x2d, frees 0x13c bytes if param_2 bit 0 is set. |
| 0x008A6A30 | 158 | UIWindowK__scalar_deleting_dtor | Scalar deleting destructor for UIWindowK (vtable PTR_FUN_01139a44). Frees 0xd0 bytes if param_2 bit 0 is set. |
| 0x008A6AD0 | 176 | UIWindowL__scalar_deleting_dtor | Scalar deleting destructor for UIWindowL (vtable PTR_FUN_01138cb0). Destroys 1 STL string, frees 0xdc bytes if param_2 bit 0 is set. |
| 0x008A6B80 | 158 | UIWindowM__scalar_deleting_dtor | Scalar deleting destructor for UIWindowM (vtable PTR_FUN_01139448). Frees 0xc8 bytes if param_2 bit 0 is set. |
| 0x008AD190 | 557 | UIBankWindow__init_controls | Initializes bank window UI controls. Creates deposit (0x1ce), withdraw (0x1cf), up (0x117), down (0x118) buttons and amount preset buttons (100K=0x188, 1M=0x187, 10M=0x186, max=0x185) using FUN_008cf390 with sprite names like bank_btn_deposit/withdraw/upper/buttom. Creates a UITextWidget at offset 0xb4 sized 99x17, positioned at (0x4e,0x5a), with white text and editable input for amount entry. |
| 0x008AD3C0 | 929 | UISearchWindow__init_controls | Initializes search window UI controls. Creates: text label (0xb0 bytes) at offset 0xf4, editable text widget (0x14c bytes) at offset 0xf8 with ID 0x1ee and font 0x46, two list widgets at offsets 0xfc/0x100 with proportional widths, a scrollbar at 0x104, and an editable text widget at 0x108 for search input. Sets default font size and button ID 0xb8. |
| 0x008ADC80 | 3096 | UIPetWindow__init_controls | Initializes pet window controls. Creates: a text label at offset 0xb4 with pet name from DAT_01737bb4, multiple buttons using sprite names (btn_skill, btn_feed, btn_rewrite), two panel containers at offsets 0xbc/0xc0 with functor callbacks, a container widget at offset 0xc4, a base widget at offset 0xc8, and a map view widget at offset 0xd4 with map names from DAT_010e1a50/010e1a70. Sets pet info display ID to 0xc9. |
| 0x008AE8A0 | 2276 | UIAchievementWindow__init_controls | Initializes achievement window controls. Uses XOR-encrypted TLS strings for sprite names. Creates: text widget at offset 0xb4, editable text label at offset 0xbc, multiple static text labels for headers, a large button widget (0x144 bytes) with 3 XOR-encrypted sprite state names, and configures text styles (font size 0xc, color 0x313131). Sets button ID to 0x17e. |
| 0x008B1760 | 4287 | UINoticeWindow__init_controls | Initializes the notice/announcement window. Creates 3 navigation buttons (back/next/close with IDs 0xb8/0xf6/0xda) using cancel-style sprites. Then reads notice content from the file at this+0x110, comparing it against notice_check.txt to detect changes. Parses lines (splitting on newline, stripping CR) and sections (delimited by '^'). Stores up to 20 lines of text in widgets at offsets 0xb4-0x16c, creates a scrollbar at 0x170, and copies notice content to notice_check.txt. If content is unchanged and fully read (0xff marker), unregisters the window. |
| 0x008B31F0 | 4306 | UIReplayWindow__init_controls | Initializes the replay control window. Uses 'replay_interface_' sprite prefix. Creates 4 transport control buttons (stop=0x191, end, speedadd, speedmin) in a loop with 3-state sprites (normal/a_bmp/b_bmp). Also creates start (0x191) and pause (0x192) buttons as UIDialogBoxSubclass. Retrieves hotkey configs via lua_get_hotkey_config for keys 0x27/0x28/0x29. Creates a progress bar widget at offset 0xd0 and 4 editable text widgets at offsets 0xd4+ for time display. Calls UIWindow__process_touch_input for touch support. |
| 0x008B42D0 | 6002 | UIReplayRecordWindow__init_controls | Initializes the replay recording window (6002 bytes). Uses 'replay_interface_' sprite prefix. Creates 8 UIDialogBoxSubclass action buttons (start/stop/save/setup/close + IDs 0x1a8/0x1a9) with message strings 0x7b9-0x7bf. Creates 4 additional buttons with recrun sprites, 5 status indicator widgets (replay_recrun_1 through replay_recrun_5), 2 editable text fields for time display, 10 tab widgets for category selection (Basicinfo/Equip/Item/Skill/Guild/Party/Chat/Shortcut/Status/Quest), 2 more tabs for user-defined/repeat-check, a text input widget for user-defined filename, and configures keyboard input handling. |
| 0x008B5A50 | 2760 | UIServerSelectWindow__init_controls | Initializes the server selection window. Creates a UIScrollListBase widget at offset 0xb4 with configurable size from params, sets RGB colors to 0xf0. Creates 4 buttons: cancel (0xb8), exit (login_interface_btn_exit), and select-server (replay_interface_btn_selectserve) with button ID 0xdd stored at offset 0xb8 when matched. Also creates 5 editable text widgets at offsets 0xbc+ for server info display, positioned vertically from y=0x23 in 0xf-pixel increments. |
| 0x008B6520 | 2847 | UIReplaySelectWindow__init_controls | Initializes the replay file selection window. Creates a UIScrollListEx widget at offset 0xb4 with configurable size from params, sets RGB colors to 0xf0. Creates up to 4 buttons: cancel (0xb8), exit (login_interface_btn_exit), replay (replay_interface_btn_replay) with button ID 0xdd stored at offset 0xb8. Checks DAT_01737f4a flag and game mode field4==0x1e to adjust button layout. Conditionally skips button creation if button ID is 400 (0x190) and flag is clear. |
| 0x008B7040 | 2584 | UIActionWindow__init_controls | Initializes an action window with a text display and two buttons. Creates a UITextWidget at offset 0xc4 (240x16, font 0x4e, light gray text at 0x16,0x32). Creates 2 cancel-style buttons in a loop with IDs 0xb8/0xb9, using btn_cancel sprites with 3 states. Sets default action ID to 0xb8. |
| 0x008B7AD0 | 533 | UIBankWindow__draw_balance_info | Draws bank balance information in the bank window. Renders a background sprite from DAT_0113a4c0, then displays two text lines: bank balance (using FUN_00af60e0 to format DAT_01738258/0173825c as currency string) and wallet amount (using FUN_00af6140 to format DAT_01733d28). Formats with "%s" pattern. If this+0xc8 is set, also renders a string from offset 0xb8 with center-aligned positioning. |
| 0x008B7CF0 | 165 | UISearchWindow__draw_separator_line | Draws a separator line in a search window. Calls FUN_008d2ce0/008d03e0 for background, gets a color via CColorPicker__GetPixelRGB, draws a vertical colored line using FUN_00a7bd60, and calls FUN_008d0920 to finalize drawing. |
| 0x008B7DB0 | 1790 | UIPetStatusWindow__draw_background | Draws the pet status window background with stat labels and values. Renders background sprite from DAT_0113a138, draws a 3D bordered header, and title via message 0x3a8. Displays stat labels (messages 0x197/0x198/0x3fb/0x249/0x24a) with corresponding values from pet globals DAT_01737bd4-01737bf8. Stat values include hunger (2000-based scale /10), loyalty, and various pet attributes. Also renders intimacy text (0x29b-0x2a4 range based on thresholds). For advanced pets, shows additional combat stats, HP ratio, and a descriptive multi-line text block (messages 0xccf/0xcd4). |
| 0x008B8620 | 718 | UISkillTreeWindow__draw_skill_sprites | Draws skill tree sprites for a skill window. Renders background from DAT_01139f70, title via message 0x940, and iterates through 2 skill sprite layers. For each layer: loads base texture from offset 0x260, skill sprite from offsets 0x170/0x188 (per-layer stride 0x18), and overlay texture from offsets 0x1e8/0x1fc. Checks skill tree prerequisite data via CSkillTreeData__get_prereq_data and skill tree node positions via UISkillWnd__get_skill_tree_node. Uses tile caching (CTileCache__find_cached_tile/acquire_tile) for sprite sheet rendering via vtable+0x28 draw call. |
| 0x008B88F0 | 1390 | UIHomunculusStatusWindow__draw_background | Draws the homunculus status window background with stat labels and values. Renders background sprite, then selects title message based on homunculus type (0x49d for IDs 0x1781-0x178a, 0x49e for 0x1795-0x179e, 0x49f/0x557 otherwise). Displays stat labels (messages 0x197/0x198/0x4a0-0x4a3) with values from globals DAT_01737c84-01737ca0. Stats include ATK, DEF, hunger (2000-based /10). Shows class name from DAT_01737c64, level from DAT_01737cb0. When homunculus is valid (ID != -1), renders HP/SP ratios, creation time via localtime/strftime with message 0x4ec, and kill/death/assist counts. |
| 0x008B99A0 | 1264 | UIPetInfoDialog__draw_background | Draws the pet info dialog background. Renders colored fill, title bar with message 0x248, and bottom sprites from DAT_0113a084/0113a0a4 (corner decorations). Displays stat labels (messages 0x197/0x198/0x249/0x24a) with pet intimacy level text (0x29b-0x29f range: shy/awkward/neutral/cordial/loyal/unknown). Shows loyalty number, class name from offset 0xcc, and level from DAT_01733678. For valid pets (ID in 1000-3999 or 20021-32011 range), renders pet illustration via lua_get_pet_illust_name_v3, '< Command >' label centered in a filled rect, feeding type text (message 0x255-0x258), and optional auto-feed label (0xa11) if this+0xe4 is set. |
| 0x008BB79E | 1 | stub_nop_008bb79e | Single-byte stub function (size=1) |
| 0x008BB905 | 112 | UIInputWnd__apply_computed_value_to_edit_field | UIInputWnd: apply computed value to edit field |
| 0x008C3E40 | 16 | vtable_set_0113a578 | Sets vtable pointer to 0x0113A578 on the object. Part of UIWindow multi-inheritance vtable initialization chain. |
| 0x008C60D0 | 243 | random_shuffle_buffer | Fisher-Yates shuffle on a byte buffer using a linear congruential RNG. Iterates from index 1 to end, generating random indices and swapping bytes. param_3 points to RNG state struct. |
| 0x008C6B10 | 292 | random_shuffle_buffer_with_rng_state | Fisher-Yates shuffle on a byte buffer using an external RNG state at param_3. Similar to random_shuffle_buffer but reads/writes RNG state fields at offsets 0x4, 0x8, 0xC, 0x10 directly. |
| 0x008C6E20 | 86 | CUIWindow__ctor_basic | Basic CUIWindow constructor. Calls base class init FUN_008a3700 and sets vtable to PTR_FUN_0113e0cc. |
| 0x008C6E80 | 132 | CUIScrollableWindow__ctor | CUIScrollableWindow constructor. Calls base init, sets vtable through 3 stages (0113c194 -> 0113c344 -> 0113c92c), initializes scroll flags at offsets 0x2d and 0x2f to 0. |
| 0x008C6F10 | 132 | CUIScrollableWindow__ctor_variant | Variant CUIScrollableWindow constructor. Same as CUIScrollableWindow__ctor but final vtable is PTR_FUN_0113c854 instead of 0113c92c. |
| 0x008C6FA0 | 194 | CUIAnimatedWindow__ctor | CUIAnimatedWindow constructor. Sets vtable to 0113dd6c. Initializes animation state: vectors at 0x51-0x53, timing fields, scale=1 at 0x4a, index=-1 at 0x4b, and visibility flag at 0x4d. |
| 0x008C7070 | 164 | CUIWindowWithStrings__ctor | CUIWindowWithStrings constructor. Sets vtable to 0113bad4. Initializes two std::string members at offsets 0x2d and 0x33 to empty SSO state (length=0, capacity=0xF). |
| 0x008C7120 | 338 | CUINamedWindow__ctor_two_strings | CUINamedWindow constructor with two resource strings. Sets vtable to 0113cbb4/0113cc8c. Initializes string member at 0x2d, 12 dword fields to 0 at 0x3e-0x49, then loads two string resources via FUN_00b00f00(0x7d/0x7e). |
| 0x008C7280 | 305 | CUINamedWindow__ctor_one_string | CUINamedWindow constructor with one resource string. Like CUINamedWindow__ctor_two_strings but only loads one string resource (0x7d) and keeps first vtable (0113cbb4). |
| 0x008C73C0 | 96 | CUIBaseWindow__ctor_with_flag | CUIBaseWindow constructor with a single flag field. Sets vtable to 0113c194, initializes flag at offset 0x2d to 0. |
| 0x008C7420 | 154 | CUIWindowWithSlots__ctor | CUIWindowWithSlots constructor. Sets vtable to 0113be34. Initializes a vector of 0x18-byte slot entries at offsets 0x2f-0x31. Ensures minimum 6 slots via reallocation. |
| 0x008C74C0 | 170 | CUITrackedWindow__ctor | CUITrackedWindow constructor. Sets vtable to 0113bd5c. Initializes tracking state: 4 vectors at 0x2e-0x31 and 0x34-0x35 to 0, index at 0x2d to -1, counter at 0x33 to 0. |
| 0x008C7570 | 94 | CUIComplexWindow__ctor | CUIComplexWindow constructor. Calls CUIItemWindow__ctor (008c7cb0) as base, sets vtable to 0113b774, initializes flag at offset 0x94 to 0. |
| 0x008C75D0 | 84 | CUIComplexWindow__ctor_variant | CUIComplexWindow constructor variant. Calls CUIItemWindow__ctor (008c7cb0) as base, sets vtable to 0113b924. |
| 0x008C7630 | 106 | CUIWindowWithCounter__ctor | CUIWindowWithCounter constructor. Sets vtable to 0113d85c. Initializes two counter fields at offsets 0x2d and 0x2e to 0. |
| 0x008C76A0 | 106 | CUIWindowWithCounter__ctor_v2 | CUIWindowWithCounter constructor v2. Sets vtable to 0113d784. Initializes two counter fields at offsets 0x2d and 0x2e to 0. |
| 0x008C7710 | 132 | CUIMultiScrollWindow__ctor | CUIMultiScrollWindow constructor. Chains base vtable through 0113c194 -> 0113c344 -> final 0113c4f4. Initializes scroll state flags at offsets 0x2d and 0x2f. |
| 0x008C77A0 | 96 | CUIBaseWindow__ctor_v2 | CUIBaseWindow constructor v2. Sets vtable to 0113c26c. Initializes flag at offset 0x2d to 0. |
| 0x008C7800 | 86 | CUIMinimalWindow__ctor | CUIMinimalWindow constructor. Sets vtable to 0113b18c with no additional member initialization beyond the base class. |
| 0x008C7860 | 570 | CUITimedWindow__ctor | CUITimedWindow constructor. Sets vtable to 0113ae2c. Calls timeGetTime() for initial timestamp. Initializes extensive timing/animation state including vectors, slot arrays (from global DAT_0173a700/a6fc/a704), and numerous control fields. |
| 0x008C7AA0 | 119 | CUIScrollWindow__ctor_base | CUIScrollWindow base constructor. Chains vtable through 0113c194 -> 0113c344. Initializes flags at offsets 0x2d and 0x2f to 0. |
| 0x008C7B20 | 302 | CUIListWindow__ctor | CUIListWindow constructor. Sets vtable to 0113aacc. Allocates two 0x100-byte circular linked lists for list data at offsets 0x38 and 0x3a. Initializes string at offset 0x3c (SSO), row height to 0x1e, and resets list filter string at offset 0x49. |
| 0x008C7C50 | 86 | CUISimpleWindow__ctor | CUISimpleWindow constructor. Sets vtable to 0113dbbc with no additional state beyond the base class. |
| 0x008C7CB0 | 385 | CUIItemWindow__ctor | CUIItemWindow constructor. Sets vtable to 0113b69c. Initializes item display state: two std::strings at 0x71/0x77, tree/RB-tree node at 0x90, item descriptor reset, equipment slot fields set to 0xFFFF, and various counters/flags zeroed. |
| 0x008C7E40 | 84 | CUIItemWindow__ctor_variant | CUIItemWindow constructor variant. Calls CUIItemWindow__ctor as base, then sets vtable to 0113b84c. |
| 0x008C7EA0 | 94 | CUIFilteredListWindow__ctor | CUIFilteredListWindow constructor. Calls CUILinkedListWindow__ctor as base, sets vtable to 0113d274, initializes filter flag at offset 0x3c to 0. |
| 0x008C7F00 | 185 | CUILinkedListWindow__ctor | CUILinkedListWindow constructor. Sets vtable to 0113cfec. Allocates a 0x100-byte circular linked list sentinel node at offset 0x33. Initializes string at 0x35 (SSO) and counter at 0x3b to 0. |
| 0x008C8120 | 132 | CUIScrollPanelWindow__ctor | CUIScrollPanelWindow constructor. Chains vtable through 0113c194 -> 0113c344 -> final 0113de44. Initializes scroll state flags. |
| 0x008C81B0 | 132 | CUIScrollContentWindow__ctor | CUIScrollContentWindow constructor. Chains vtable through 0113c194 -> 0113c344 -> final 0113ca04. Initializes scroll state flags. |
| 0x008C8240 | 132 | CUIScrollViewWindow__ctor | CUIScrollViewWindow constructor. Chains vtable through 0113c194 -> 0113c344 -> final 0113c41c. Initializes scroll state flags. |
| 0x008C82D0 | 96 | CUITabWindow__ctor | CUITabWindow constructor. Sets vtable to 0113ac7c. Initializes tab count/state at offset 0x2e to 0. |
| 0x008C8330 | 84 | CUILinkedListWindow__ctor_subclass | CUILinkedListWindow subclass constructor. Calls CUILinkedListWindow__ctor as base, sets vtable to 0113d19c. |
| 0x008C8390 | 201 | CUIVectorWindow__ctor | CUIVectorWindow constructor. Sets vtable to 0x0113d6ac. Initializes widget ID 0x2739, index -1, type 0xE, and zeroes 9 state fields at offsets 0x30-0x37. |
| 0x008C8460 | 172 | CUITreeWindow__ctor | CUITreeWindow constructor. Sets vtable to 0x0113d34c. Allocates 0x18-byte sentinel node for a red-black tree at offset +0x2d, initializes linked list pointers and sets flag 0x101. |
| 0x008C8510 | 132 | CUIScrollExtWindow__ctor | CUIScrollExtWindow constructor. Chains 3 vtables: CUIBaseWindow (0x0113c194) -> CUIScrollWindow (0x0113c344) -> CUIScrollExtWindow (0x0113c6a4). Initializes scroll fields at +0x2d and +0x2f. |
| 0x008C85A0 | 164 | CUIWindowWithStrings__ctor_008c85a0 | CUIWindowWithStrings constructor variant. Sets vtable to 0x0113bbac. Initializes 2 std::string fields (SSO buffers) at offsets +0x2d and +0x33 with capacity 0xF. |
| 0x008C8650 | 96 | CUIDialogWindow__ctor | CUIDialogWindow constructor. Sets vtable to 0x0113c0bc. Initializes dialog type/mode field at +0x2e to 0x1c. |
| 0x008C86B0 | 190 | CUIMultiStringWindow__ctor | CUIMultiStringWindow constructor. Sets vtable to 0x0113b33c. Initializes 2 std::string fields with SSO capacity 0xF, then calls CItemDesc__ctor_alt to initialize item description data. Sets byte flag at +0x7a to 0. |
| 0x008C8770 | 86 | CUIPlainWindow__ctor | CUIPlainWindow constructor. Sets vtable to 0x0113d424. Minimal constructor with no additional field initialization beyond base UIWindowBase. |
| 0x008C87D0 | 86 | CUIPlainWindow__ctor_v2 | CUIPlainWindow constructor variant (v2). Sets vtable to 0x0113d4fc. Minimal constructor with no additional field initialization beyond base UIWindowBase. |
| 0x008C8830 | 86 | CUIFlagWindow__ctor | CUIFlagWindow constructor. Sets vtable to 0x0113b414. Minimal constructor with no additional field initialization beyond base UIWindowBase. |
| 0x008C8890 | 109 | CUIOwnerWindow__ctor | CUIOwnerWindow constructor. Chains vtables: CUIFlagWindow (0x0113b414) -> CUIOwnerWindow (0x0113b4ec). Initializes owner pointer field at +0x2f to 0. |
| 0x008C8900 | 119 | CUIDoubleVtableWindow__ctor | CUIDoubleVtableWindow constructor. Chains vtables: CUISubclassedWindow (0x0113cd64) -> CUIDoubleVtableWindow (0x0113ce3c). Zeroes state fields at +0x35 and +0x37. |
| 0x008C8980 | 106 | CUISubclassedWindow__ctor | CUISubclassedWindow constructor. Sets vtable to 0x0113cd64. Zeroes state fields at +0x35 and +0x37. |
| 0x008C89F0 | 84 | CUICustomWindow__ctor | CUICustomWindow constructor. Calls parent UIWindow_vt62e8__ctor, then sets vtable to 0x0113b0b4. |
| 0x008C8A50 | 84 | CUILinkedListWindow__ctor_v2 | CUILinkedListWindow constructor variant (v2). Calls parent CUILinkedListWindow__ctor, then sets vtable to 0x0113d0c4. |
| 0x008C8AB0 | 156 | CUIStateWindow__ctor | CUIStateWindow constructor. Sets vtable to 0x0113d934. Initializes range/state fields: enabled=1, current=0, mode=0, min=-1, max=10000, value=-1. |
| 0x008C8B50 | 96 | CUIFrameWindow__ctor | CUIFrameWindow constructor. Sets vtable to 0x0113dc94. Zeroes state field at +0x2d. |
| 0x008C8BB0 | 86 | CUIStaticWindow__ctor | CUIStaticWindow constructor. Sets vtable to 0x0113bfe4. Minimal constructor with no additional field initialization beyond base UIWindowBase. |
| 0x008C8C10 | 86 | CUIBasicWindow__ctor | CUIBasicWindow constructor. Sets vtable to 0x0113bf0c. Minimal constructor with no additional field initialization beyond base UIWindowBase. |
| 0x008C8C70 | 193 | CUILinkedNodeWindow__ctor | CUILinkedNodeWindow constructor. Sets vtable to 0x0113bc84. Allocates two 0xC-byte circular linked list sentinel nodes at offsets +0x2e and +0x30. Zeroes counter fields at +0x2d and +0x34. |
| 0x008C8D40 | 440 | CUIExtendedWindow__ctor | CUIExtendedWindow constructor. Chains vtables: CUIBaseExtWindow (0x0113df1c) -> CUIExtendedWindow (0x0113dff4). Initializes layout dimensions (0x28/0x50/0x77), conditional renewal mode branch adjusts layout to 0x50. Zeroes ~20 state fields for extended UI properties. |
| 0x008C8F00 | 126 | CUIVectorViewWindow__ctor | CUIVectorViewWindow constructor. Sets vtable to 0x0113da0c. Zeroes 4 state fields at offsets +0x2d through +0x30. |
| 0x008C8F80 | 219 | CUIThreeStringWindow__ctor | CUIThreeStringWindow constructor. Sets vtable to 0x0113b9fc. Initializes 3 std::string fields (SSO buffers) at offsets +0x2f, +0x35, and +0x3b, each with capacity 0xF. Also initializes counter field at +0x42. |
| 0x008C9060 | 123 | CUILabelWindow__ctor | CUILabelWindow constructor. Sets vtable to 0x0113b264. Initializes 1 std::string field (SSO buffer) at offset +0x2f with capacity 0xF. |
| 0x008C90E0 | 127 | CUILinkedListVectorWindow__ctor | CUILinkedListVectorWindow constructor. Calls parent CUILinkedListWindow__ctor, then sets vtable to 0x0113dae4. Zeroes 4 state fields at offsets +0x3c through +0x3f. |
| 0x008C9160 | 132 | CUIScrollExtWindow__ctor_v2 | CUIScrollExtWindow constructor variant (v2). Chains 3 vtables: CUIBaseWindow (0x0113c194) -> CUIScrollWindow (0x0113c344) -> CUIScrollExtWindow v2 (0x0113c5cc). Initializes scroll fields at +0x2d and +0x2f. |
| 0x008C91F0 | 133 | CUIDataWindow__ctor | CUIDataWindow constructor. Sets vtable to 0x0113b5c4. Initializes layout dimension fields: +0x35=0x11, +0x36=0xb, +0x37=0x10. Zeroes fields at +0xc and +0x34. |
| 0x008C9280 | 325 | CUIBaseExtWindow__ctor | CUIBaseExtWindow constructor. Sets vtable to 0x0113df1c. Initializes layout dimensions (0x28/0x50/0x77) with conditional renewal mode branch that adjusts layout. Similar to CUIExtendedWindow but stops at the base ext vtable. |
| 0x008C93D0 | 86 | CUIContainerWindow__ctor | CUIContainerWindow constructor. Sets vtable to 0x0113cadc. Minimal constructor with no additional field initialization beyond base UIWindowBase. |
| 0x008C9430 | 291 | CUIMultiVectorWindow__ctor | CUIMultiVectorWindow constructor. Sets vtable to 0x0113e1a4. Zeroes ~20 state fields at offsets +0x2d through +0x40 for multi-vector UI data storage. |
| 0x008C9560 | 86 | CUIDisplayWindow__ctor | CUIDisplayWindow constructor. Sets vtable to 0x0113ad54. Minimal constructor with no additional field initialization beyond base UIWindowBase. |
| 0x008C95C0 | 96 | CUIInfoWindow__ctor | CUIInfoWindow constructor. Sets vtable to 0x0113aba4. Zeroes state field at +0x2e. |
| 0x008C9620 | 453 | CUIItemListWindow__ctor_008c9620 | CUIItemListWindow constructor variant. Sets vtable to 0x0113cf14. Initializes 3 std::string fields (SSO buffers) at offsets +0x2d, +0x33, and +0x41. Also zeroes several state fields and performs string assignment with SSO buffer management. |
| 0x008C97F0 | 132 | CUIScrollPanelWindow__ctor_v2 | CUIScrollPanelWindow constructor variant (v2). Chains 3 vtables: CUIBaseWindow (0x0113c194) -> CUIScrollWindow (0x0113c344) -> CUIScrollPanelWindow v2 (0x0113c77c). Initializes scroll fields at +0x2d and +0x2f. |
| 0x008C9880 | 262 | CUIHashMapWindow__ctor | CUIHashMapWindow constructor. Calls parent UIItemListWnd__ctor, then sets vtable to 0x0113af04. Allocates 0x100-byte circular linked list buffer at +0x3e. Zeroes ~15 state fields and initializes layout dimensions (0x6a/0x38/0x20). |
| 0x008C9990 | 86 | CUIDialog__ctor_v2 | CUIDialog constructor variant (v2). Sets vtable to 0x0113d5d4. Minimal constructor with no additional field initialization beyond base UIWindowBase. |
| 0x008CB4D0 | 113 | CUIOwnerWindow__dtor | CUIOwnerWindow destructor. Sets vtable to CUIOwnerWindow (b4ec), destroys child window via vfunc if +0x2f is non-null, then resets vtable to CUIFlagWindow (b414) and calls UIWindowBase__dtor. |
| 0x008CB550 | 84 | CUIDoubleVtableWindow__dtor | CUIDoubleVtableWindow destructor. Unwinds 2 vtables (CUIDoubleVtableWindow ce3c -> CUISubclassedWindow cd64), then calls UIWindowBase__dtor. |
| 0x008CB5B0 | 71 | CUISubclassedWindow__dtor | CUISubclassedWindow destructor. Sets vtable to CUISubclassedWindow (cd64), then calls UIWindowBase__dtor. |
| 0x008CB600 | 71 | CUICustomWindow__dtor | CUICustomWindow destructor. Sets vtable to CUICustomWindow (b0b4), then calls UIWindow_vt62e8__dtor for cleanup. |
| 0x008CB650 | 143 | CUILinkedListWindow__dtor | CUILinkedListWindow destructor. Unwinds vtables (CUILinkedListWindow v2 d0c4 -> CUILinkedListWindow cfec). Destroys string member and hash table linked list at +0x33 (0x100-byte sentinel), then calls UIWindowBase__dtor. |
| 0x008CB6E0 | 71 | CUIStateWindow__dtor | CUIStateWindow destructor. Sets vtable to CUIStateWindow (d934), then calls UIWindowBase__dtor. |
| 0x008CB730 | 71 | CUIFrameWindow__dtor | CUIFrameWindow destructor. Sets vtable to CUIFrameWindow (dc94), then calls UIWindowBase__dtor. |
| 0x008CB780 | 71 | CUIStaticWindow__dtor | CUIStaticWindow destructor. Sets vtable to CUIStaticWindow (bfe4), then calls UIWindowBase__dtor. |
| 0x008CB7D0 | 71 | CUIBasicWindow__dtor | CUIBasicWindow destructor. Sets vtable to CUIBasicWindow (bf0c), then calls UIWindowBase__dtor. |
| 0x008CB820 | 230 | CUILinkedNodeWindow__dtor | CUILinkedNodeWindow destructor. Sets vtable to CUILinkedNodeWindow (bc84). Clears global flag at mode1+0x24c, destroys two linked lists at +0x30 and +0x2e (0xC-byte nodes), then calls UIWindowBase__dtor. |
| 0x008CB910 | 95 | CUIVectorViewWindow__dtor | CUIVectorViewWindow destructor. Sets vtable to CUIVectorViewWindow (da0c), destroys json vector object, then calls UIWindowBase__dtor. |
| 0x008CB970 | 125 | CUIThreeStringWindow__dtor | CUIThreeStringWindow destructor. Sets vtable to CUIThreeStringWindow (b9fc), destroys 3 std::string members, then calls UIWindowBase__dtor. |
| 0x008CB9F0 | 95 | CUILabelWindow__dtor | CUILabelWindow destructor. Sets vtable to CUILabelWindow (b264), destroys 1 std::string member, then calls UIWindowBase__dtor. |
| 0x008CBA50 | 170 | CUILinkedListVectorWindow__dtor | CUILinkedListVectorWindow destructor. Unwinds vtables (CUILinkedListVectorWindow dae4 -> CUILinkedListWindow cfec). Resets vector end pointer, destroys json vector, string, and hash table linked list at +0x33, then calls UIWindowBase__dtor. |
| 0x008CBB00 | 97 | CUIScrollExtWindow__dtor | CUIScrollExtWindow destructor. Unwinds 3 vtables (CUIScrollExtWindow c5cc -> CUIScrollWindow c344 -> CUIBaseWindow c194), then calls UIWindowBase__dtor. |
| 0x008CBB70 | 71 | CUIDataWindow__dtor | CUIDataWindow destructor. Sets vtable to CUIDataWindow (b5c4), then calls UIWindowBase__dtor. |
| 0x008CBBC0 | 71 | CUIBaseExtWindow__dtor | CUIBaseExtWindow destructor. Sets vtable to CUIBaseExtWindow (df1c), then calls UIWindowBase__dtor. |
| 0x008CBC10 | 71 | CUIContainerWindow__dtor | CUIContainerWindow destructor. Sets vtable to CUIContainerWindow (cadc), then calls UIWindowBase__dtor. |
| 0x008CBC60 | 110 | CUIMultiVectorWindow__dtor | CUIMultiVectorWindow destructor. Sets vtable to CUIMultiVectorWindow (e1a4), frees 0xC-element and 0x30-element vectors, then calls UIWindowBase__dtor. |
| 0x008CBCD0 | 71 | CUIDisplayWindow__dtor | CUIDisplayWindow destructor. Sets vtable to CUIDisplayWindow (ad54), then calls UIWindowBase__dtor. |
| 0x008CBD20 | 71 | CUIInfoWindow__dtor | CUIInfoWindow destructor. Sets vtable to CUIInfoWindow (aba4), then calls UIWindowBase__dtor. |
| 0x008CBD70 | 140 | CUIItemListWindow__dtor | CUIItemListWindow destructor. Sets vtable to CUIItemListWindow (cf14). Destroys 1 string, clears item entry vector via std__vector_ItemEntry__clear_and_free, destroys 2 more strings, then calls UIWindowBase__dtor. |
| 0x008CBE00 | 97 | CUIScrollPanelWindow__dtor | CUIScrollPanelWindow destructor. Unwinds 3 vtables (CUIScrollPanelWindow c77c -> CUIScrollWindow c344 -> CUIBaseWindow c194), then calls UIWindowBase__dtor. |
| 0x008CBE70 | 115 | CUIHashMapWindow__dtor | CUIHashMapWindow destructor. Sets vtable to CUIHashMapWindow (af04), destroys hash table linked list at +0x3e (0x100-byte sentinel), then calls UIItemListWnd__dtor for parent cleanup. |
| 0x008CBEF0 | 71 | CUIDialog__dtor | CUIDialog destructor. Sets vtable to 0113d5d4, then calls UIWindowBase__dtor to clean up base class. |
| 0x008CC0E0 | 36 | CException__scalar_deleting_dtor | Scalar deleting destructor for CException (0x14 bytes). Sets vtable to 0113fbf8 and conditionally frees memory. |
| 0x008CC110 | 99 | CUIWindow__scalar_deleting_dtor_basic | Scalar deleting destructor for basic CUIWindow (0xb8 bytes). Sets vtable to 0113e0cc, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC180 | 125 | CUIScrollableWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIScrollableWindow (0xc0 bytes). Chains vtable reset 0113c92c -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC200 | 125 | CUIScrollableWindow__scalar_deleting_dtor_v2 | Scalar deleting destructor for CUIScrollableWindow variant (0xc0 bytes, vtable 0113c854). Same pattern as CUIScrollableWindow__scalar_deleting_dtor. |
| 0x008CC280 | 119 | CUIAnimatedWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIAnimatedWindow (0x160 bytes). Sets vtable to 0113dd6c, calls CFmt cleanup, then UIWindowBase__dtor, conditionally frees. |
| 0x008CC300 | 134 | CUIWindowWithStrings__scalar_deleting_dtor | Scalar deleting destructor for CUIWindowWithStrings (0xe8 bytes). Sets vtable to 0113bad4, destroys two std::string members, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC390 | 99 | CUINamedWindow__scalar_deleting_dtor | Scalar deleting destructor for CUINamedWindow (0x128 bytes). Sets vtable to 0113cc8c, calls UIWindow__dtor_8ca5f0, conditionally frees. |
| 0x008CC400 | 38 | CUINamedWindow__scalar_deleting_dtor_v2 | Scalar deleting destructor for CUINamedWindow v2 (0x128 bytes). Calls UIWindow__dtor_8ca5f0, conditionally frees. No vtable reset needed. |
| 0x008CC430 | 99 | CUIBaseWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIBaseWindow (0xbc bytes). Sets vtable to 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC4A0 | 119 | CUIWindowWithSlots__scalar_deleting_dtor | Scalar deleting destructor for CUIWindowWithSlots (0xc8 bytes). Sets vtable to 0113be34, calls CFmt cleanup for slot vector, then UIWindowBase__dtor, conditionally frees. |
| 0x008CC520 | 128 | CUITrackedWindow__scalar_deleting_dtor | Scalar deleting destructor for CUITrackedWindow (0xd8 bytes). Sets vtable to 0113bd5c, clears tracking data, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC5A0 | 123 | CUIComplexWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIComplexWindow (600 bytes). Sets vtable to 0113b774, calls FUN_00a8cf20 cleanup, then UIWindow__dtor_8cac40, conditionally frees. |
| 0x008CC620 | 99 | CUIComplexWindow__scalar_deleting_dtor_v2 | Scalar deleting destructor for CUIComplexWindow v2 (0x250 bytes). Sets vtable to 0113b924, calls UIWindow__dtor_8cac40, conditionally frees. |
| 0x008CC690 | 99 | CUIWindowWithCounter__scalar_deleting_dtor | Scalar deleting destructor for CUIWindowWithCounter (0xbc bytes). Sets vtable to 0113d85c, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC700 | 99 | CUIWindowWithCounter__scalar_deleting_dtor_v2 | Scalar deleting destructor for CUIWindowWithCounter v2 (0xbc bytes). Sets vtable to 0113d784, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC770 | 125 | CUIMultiScrollWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIMultiScrollWindow (0xc0 bytes). Chains vtable reset 0113c4f4 -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC7F0 | 99 | CUIBaseWindow__scalar_deleting_dtor_v2 | Scalar deleting destructor for CUIBaseWindow v2 (0xb8 bytes). Sets vtable to 0113c26c, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC860 | 99 | CUIMinimalWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIMinimalWindow (0xb8 bytes). Sets vtable to 0113b18c, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CC8D0 | 226 | CUITimedWindow__scalar_deleting_dtor | Scalar deleting destructor for CUITimedWindow (0x17c bytes). Sets vtable to 0113ae2c. Destroys slot vector strings at offsets 0x58-0x5c, calls CFmt cleanup twice, then UIWindowBase__dtor, conditionally frees. |
| 0x008CC9C0 | 112 | CUIScrollWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIScrollWindow (0xc0 bytes). Chains vtable 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CCA30 | 199 | CUIListWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIListWindow (0x13c bytes). Sets vtable to 0113aacc, destroys two strings, destroys two hash table linked lists (0x100-byte sentinels), calls UIWindowBase__dtor, conditionally frees. |
| 0x008CCB00 | 99 | CUISimpleWindow__scalar_deleting_dtor | Scalar deleting destructor for CUISimpleWindow (0xc8 bytes). Sets vtable to 0113dbbc, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CCB70 | 38 | CUIItemWindow__scalar_deleting_dtor_base | Scalar deleting destructor for CUIItemWindow base (0x250 bytes). Calls UIWindow__dtor_8cac40, conditionally frees. No vtable reset. |
| 0x008CCBA0 | 99 | CUIItemWindow__scalar_deleting_dtor_variant | Scalar deleting destructor for CUIItemWindow variant (0x250 bytes). Sets vtable to 0113b84c, calls UIWindow__dtor_8cac40, conditionally frees. |
| 0x008CCC10 | 167 | CUIFilteredListWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIFilteredListWindow (0xf8 bytes). Chains vtable 0113d274 -> 0113cfec, destroys string, hash table, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CCCC0 | 154 | CUILinkedListWindow__scalar_deleting_dtor | Scalar deleting destructor for CUILinkedListWindow (0xf0 bytes). Sets vtable to 0113cfec, destroys string, hash table (0x100-byte sentinel), calls UIWindowBase__dtor, conditionally frees. |
| 0x008CCDE0 | 125 | CUIScrollPanelWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIScrollPanelWindow (0xc8 bytes). Chains vtable 0113de44 -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CCE60 | 125 | CUIScrollContentWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIScrollContentWindow (0xc0 bytes). Chains vtable 0113ca04 -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CCEE0 | 125 | CUIScrollViewWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIScrollViewWindow (0xc0 bytes). Chains vtable 0113c41c -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CCF60 | 99 | CUITabWindow__scalar_deleting_dtor | Scalar deleting destructor for CUITabWindow (0xbc bytes). Sets vtable to 0113ac7c, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CCFD0 | 167 | CUILinkedListWindow__scalar_deleting_dtor_sub | Scalar deleting destructor for CUILinkedListWindow subclass (0xf4 bytes). Chains vtable 0113d19c -> 0113cfec, destroys string/hash table, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD080 | 134 | CUIVectorWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIVectorWindow (0xe0 bytes). Sets vtable to 0113d6ac, frees vector, calls CFmt cleanup, UIWindowBase__dtor, conditionally frees. |
| 0x008CD110 | 143 | CUITreeWindow__scalar_deleting_dtor | Scalar deleting destructor for CUITreeWindow (0xc8 bytes). Sets vtable to 0113d34c, frees 4-byte vector, destroys tree nodes, UIWindowBase__dtor, conditionally frees. |
| 0x008CD1A0 | 125 | CUIScrollExtWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIScrollExtWindow (0xc4 bytes). Chains vtable 0113c6a4 -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD220 | 134 | CUIWindowWithStrings__scalar_deleting_dtor_v2 | Scalar deleting destructor for CUIWindowWithStrings v2 (0xe8 bytes). Sets vtable to 0113bbac, destroys two strings, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD2B0 | 99 | CUIDialogWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIDialogWindow (0xbc bytes). Sets vtable to 0113c0bc, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD320 | 175 | CUIMultiStringWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIMultiStringWindow (0x1f0 bytes). Sets vtable to 0113b33c, destroys 4 strings sequentially, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD3D0 | 99 | CUIPlainWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIPlainWindow (0xb4 bytes). Sets vtable to 0113d424, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD440 | 99 | CUIPlainWindow__scalar_deleting_dtor_v2 | Scalar deleting destructor for CUIPlainWindow v2 (0xb4 bytes). Sets vtable to 0113d4fc, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD4B0 | 99 | CUIFlagWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIFlagWindow (0xbc bytes). Sets vtable to 0113b414, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD520 | 137 | CUIOwnerWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIOwnerWindow (0xc0 bytes). Sets vtable to 0113b4ec, destroys owned child window via virtual call if non-null, chains to parent dtor at 0113b414, conditionally frees. |
| 0x008CD5B0 | 112 | CUIDoubleVtableWindow__scalar_deleting_dtor | Scalar deleting destructor for CUIDoubleVtableWindow (0xe4 bytes). Chains vtable reset 0113ce3c -> 0113cd64, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD620 | 99 | CUISubclassedWindow__scalar_deleting_dtor | Scalar deleting destructor for CUISubclassedWindow (0xe0 bytes). Sets vtable to 0113cd64, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD690 | 99 | CUICustomWindow__scalar_deleting_dtor | Scalar deleting destructor for CUICustomWindow (0xc0 bytes). Sets vtable to 0113b0b4, calls FUN_0096f740 for custom cleanup, conditionally frees. |
| 0x008CD700 | 167 | CUILinkedListWindow__scalar_deleting_dtor_v2 | Scalar deleting destructor for CUILinkedListWindow v2 (0xf0 bytes). Chains vtable 0113d0c4 -> 0113cfec, destroys string/hash table, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD7B0 | 99 | CUIStateWindow__scalar_deleting_dtor | Scalar deleting destructor (0xd4 bytes, vtable 0113d934). Calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD820 | 99 | CUIFrameWindow__scalar_deleting_dtor | Scalar deleting destructor (0xbc bytes, vtable 0113dc94). Calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD890 | 99 | CUIStaticWindow__scalar_deleting_dtor | Scalar deleting destructor (0xb4 bytes, vtable 0113bfe4). Calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD900 | 99 | CUIBasicWindow__scalar_deleting_dtor | Scalar deleting destructor (0xb8 bytes, vtable 0113bf0c). Calls UIWindowBase__dtor, conditionally frees. |
| 0x008CD970 | 254 | CUILinkedNodeWindow__scalar_deleting_dtor | Scalar deleting destructor (0xd8 bytes, vtable 0113bc84). Calls FUN_00ad6450 to clear parent reference, destroys two linked lists of 0xc-byte nodes at offsets 0x30 and 0x2e, UIWindowBase__dtor, conditionally frees. |
| 0x008CDA70 | 112 | CUIExtendedWindow__scalar_deleting_dtor | Scalar deleting destructor (0x168 bytes). Chains vtable 0113dff4 -> 0113df1c, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CDAE0 | 119 | CUIVectorViewWindow__scalar_deleting_dtor | Scalar deleting destructor (0xc4 bytes, vtable 0113da0c). Calls json__internal_0051dab0 to clear vector, UIWindowBase__dtor, conditionally frees. |
| 0x008CDB60 | 149 | CUIThreeStringWindow__scalar_deleting_dtor | Scalar deleting destructor (0x110 bytes, vtable 0113b9fc). Destroys 3 std::string members, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CDC00 | 119 | CUILabelWindow__scalar_deleting_dtor | Scalar deleting destructor (0xd4 bytes, vtable 0113b264). Destroys one string, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CDC80 | 194 | CUILinkedListVectorWindow__scalar_deleting_dtor | Scalar deleting destructor (0x100 bytes, vtable 0113dae4). Chains to 0113cfec, destroys vector data, string, hash table, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CDD50 | 125 | CUIScrollExtWindow__scalar_deleting_dtor_v2 | Scalar deleting destructor (0xc4 bytes, vtable 0113c5cc). Chains vtable -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CDDD0 | 99 | CUIDataWindow__scalar_deleting_dtor | Scalar deleting destructor (0x100 bytes, vtable 0113b5c4). Calls UIWindowBase__dtor, conditionally frees. |
| 0x008CDE40 | 99 | CUIBaseExtWindow__scalar_deleting_dtor | Scalar deleting destructor (0x10c bytes, vtable 0113df1c). Calls UIWindowBase__dtor, conditionally frees. |
| 0x008CDEB0 | 99 | CUIContainerWindow__scalar_deleting_dtor | Scalar deleting destructor (0xc0 bytes, vtable 0113cadc). Calls UIWindowBase__dtor, conditionally frees. |
| 0x008CDF20 | 134 | CUIMultiVectorWindow__scalar_deleting_dtor | Scalar deleting destructor (0x104 bytes, vtable 0113e1a4). Frees two vectors (0xc-byte and 0x30-byte elements), calls UIWindowBase__dtor, conditionally frees. |
| 0x008CDFB0 | 99 | CUIDisplayWindow__scalar_deleting_dtor | Scalar deleting destructor (0xb8 bytes, vtable 0113ad54). Calls UIWindowBase__dtor, conditionally frees. |
| 0x008CE020 | 99 | CUIInfoWindow__scalar_deleting_dtor | Scalar deleting destructor (0xbc bytes, vtable 0113aba4). Calls UIWindowBase__dtor, conditionally frees. |
| 0x008CE090 | 164 | CUIItemListWindow__scalar_deleting_dtor | Scalar deleting destructor (0x11c bytes, vtable 0113cf14). Destroys 3 strings, clears item entry vector, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CE140 | 125 | CUIScrollPanelWindow__scalar_deleting_dtor_v2 | Scalar deleting destructor v2 (0xc8 bytes, vtable 0113c77c). Chains vtable -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. |
| 0x008CE1C0 | 139 | CUIHashMapWindow__scalar_deleting_dtor | Scalar deleting destructor (0x188 bytes, vtable 0113af04). Destroys hash table at offset 0x3e, calls FUN_0096f6c0 for parent cleanup, conditionally frees. |
| 0x008CE250 | 99 | CUIDialog__scalar_deleting_dtor_v2 | Scalar deleting destructor for CUIDialog (0xb4 bytes). Sets vtable to 0113d5d4, calls UIWindowBase__dtor, conditionally frees. |
| 0x008D03E0 | 325 | CUIWindow__draw_border_or_texture | Draws a window border or texture background. If param_4 (name) is empty, draws colored rectangles with gradient using CColorPicker__GetPixelRGB. Otherwise loads a texture by name and draws it as the background. |
| 0x008D0530 | 323 | CUIWindow__draw_border_or_texture_ex | Extended version of draw_border_or_texture with additional x-offset (param_2) and height (param_4) parameters. Same logic: texture name takes priority, falls back to colored gradient border. |
| 0x008D0680 | 667 | CUIWindow__render_skill_sprite_frame | Renders a skill sprite animation frame. Loads .spr and .act resources via build_robe_sprite_path_type0/type1, looks up the skill tree node and detail entry, reads frame data from the sprite sheet. Renders normally or with scaling/effects based on param_6 flag using CEffect__render_sprite_quad. |
| 0x008D0920 | 702 | CUIWindow__draw_tiled_bottom_border | Draws a tiled bottom border using 3 texture pieces: left corner, right corner, and middle fill. Loads textures by param_2 ID (formatted string) or default names. Tiles vertically for param_4 rows from bottom of window. Returns tile height. |
| 0x008D0BE0 | 416 | CUIWindow__draw_tiled_bottom_border_v2 | Same as draw_tiled_bottom_border but uses CUIWindow__load_texture_by_id_or_name for texture lookup. Draws left/right corners + tiled middle section for param_5 rows, starting from bottom, at x-offset param_3 with width param_4. |
| 0x008D0D80 | 37 | CUIWindow__get_screen_position | Gets the window's screen position by calling CEffect__accumulate_parent_offsets with local x=0, y=0 to convert to absolute screen coordinates. |
| 0x008D0DB0 | 103 | CUIWindow__draw_default_background | Draws the default window background. Gets screen position, renders a semi-transparent black fill (0x66000000) for the body and a colored title bar (0x449eb6e4, 17px tall) at the top. |
| 0x008D2CA0 | 50 | CUIWindow__draw_skinned_background | Draws the skinned window background. Uses skin texture path from DAT_01139cf4 normally, or DAT_0113eeb4 if window type is 0xEA. Delegates to UIWindow__draw_skinned_background_ex with flag=1. |
| 0x008D36C0 | 85 | CUIWindow__validate_and_resize | Validates window position and resizes if needed. If validate fails, calls FUN_009a6cc0 for repositioning, reads target height from parent at offset 0x10, updates height field at 0x33, and resizes via virtual method unless type is 0x11. |
| 0x008D3A50 | 38 | snap_minimap_to_right_edge | Snaps the minimap window (ID 0x52) to the right edge of the screen. Gets window by ID, calculates right-aligned x position from viewport width minus window width. |
| 0x008D3A80 | 38 | snap_chatbox_to_right_edge | Snaps the chatbox window (ID 0xC) to the right edge of the screen. Gets window by ID, calculates right-aligned x position from viewport width minus window width. |
| 0x008D7570 | 230 | CUIWindow__load_texture_by_id_or_name | Loads a texture by formatted ID or fallback name. If param_1 > 0, formats param_2 with ID to build a resource path string; otherwise uses param_3 as a direct path. Loads via CResourceMgr and CMessageStringTable. Returns texture handle or 0 if both paths are null/empty. |
| 0x008D7660 | 73 | CUIWindow__calc_remaining_height | Calculates remaining height in a window by subtracting the heights of all child windows in the linked list at offset 0xb8 (excluding param_2). Each child contributes its 0xb4 height + 4px padding. |
| 0x008D8D90 | 334 | CItemListWnd__get_item_desc_from_pos | Gets an item description from screen coordinates. Converts x/y into a slot index using grid layout math (two columns of slots plus a center area), then delegates to build_item_desc_by_mode to construct the actual item description. Returns empty desc if coordinates are out of the valid area (this+0xF4 offsets). |
| 0x008D8EE0 | 1329 | CItemListWnd__parse_and_split_item_text | Parses item text string and splits it based on delimiters. When param_2==0, inserts directly into a vector. Otherwise, copies and deduplicates index arrays, searches for substrings, and splits text at pipe '\|' delimiters. Uses std::string find operations and calls FUN_0090c4f0 to process split segments. |
| 0x008D9420 | 1452 | CItemListWnd__parse_multibyte_text_lines | Parses multi-byte text (likely CP949/Korean) and splits into lines at newline characters. Handles multi-byte character sequences (high-bit bytes consumed in pairs). Each line's width is measured via FUN_00a80580 and compared against a threshold. Lines exceeding the threshold are further processed via stub_005f76a0. Returns 1 if text was split, 0 if it fits in one piece. |
| 0x008D99D0 | 109 | CItemListWnd__get_page_index_from_y | Calculates page/tab index from Y coordinate relative to control dimensions. Divides param_3 by half of this+0xBC to get raw index, then clamps to valid range [0, count-1] where count is derived from (this+0xC4 - this+0xC0) / 0x18. Returns -1 if coords are out of bounds. |
| 0x008D9A40 | 137 | CItemListWnd__count_non_empty_tabs | Counts the number of non-empty tab entries up to a given index. Iterates through tab array at this+0xC0, comparing each tab's string (at offset 0x0 within 0x18-sized elements) against PTR_DAT_0133a934. Returns count of tabs whose name differs from the empty/default string. |
| 0x008D9AD0 | 30 | CItemListWnd__get_item_count | Returns the number of items in the list. Computed as (this+0x8C - this+0x88) / 0x18, where the range represents the item array. |
| 0x008D9D00 | 303 | CItemListWnd__find_item_by_flag_mask | Searches through up to 8 item entries (via FUN_00ddc6f0) for one matching the given bitmask param_2. Checks that the entry is valid (field at +0x108 != 0), type field == 1, and flag field matches the mask. Returns found item via CShopItem copy construct. Returns empty/error if param_2 is -1 or no match found. |
| 0x008D9E30 | 70 | CItemListWnd__calc_equip_icon_offset | Calculates icon display position offsets for equipment slots based on slot index (param_1) and equip type (param_2). Uses a 5-column grid layout with rows of height 0x52 and columns of width 0x46. Applies type-specific pixel offsets for proper icon alignment in the equipment window. |
| 0x008D9F20 | 167 | is_game_idle_state | Checks if the game is in a fully idle state. Returns false if DAT_01738254 >= 1. Otherwise checks 8 bit flags on global DAT_0173354c (bits 4, 5, 7, 19, 21, 23, 24, 25). Returns true (1) only when all flags are clear. Not specific to CItemListWnd -- operates on global game state. |
| 0x008D9FE0 | 572 | CItemListWnd__init_detail_tabs | Initializes detail panel tabs for the item list window. Calls FUN_008f5af0 and FUN_008d3430 for setup, copies text from global DAT_01450cd0, queries tab data via FUN_009b4220 with limit 0x1E. Sets up 2+ tab controls at this+0xC0 with names and positions. Adjusts widget sizes based on tab count (1 vs 2+ tabs) and marks this+0xFC as initialized. |
| 0x008DA220 | 181 | CItemListWnd__update_tab_positions | Updates the positions of tab controls based on current tab state. Uses fixed x-positions [3, 0x104, 0x1FE] and calculates y-position from this+0x33 * 0x78. Adjusts y-offset based on tab visibility flags (this+0x33, this+0x34, this+0x36). Iterates 3 tab controls at this+0x2D calling their SetPosition virtual method, then calls a virtual refresh at this+0x98. |
| 0x008DA2E0 | 31 | CItemListWnd__clear_tooltip_timer | Clears/resets the tooltip display timer. If the tooltip widget at this+0x124 is non-null, calls its virtual method at offset 0x94 with parameters (0, 0x3C, 0, 0, 0, 0) to reset the timer state. |
| 0x008DA300 | 83 | CItemListWnd__is_tab_empty | Checks if a specific tab at index param_2 has an empty/default name. Accesses the tab array at this+0xC0 indexed by param_2 (each entry 0x18 bytes). Compares the tab's string against PTR_DAT_0133a934 using std::char_traits::equal. Returns true if the tab name matches the default (empty) string. |
| 0x008DA380 | 134 | CItemListWnd__compare_item_properties | Compares two item entries by multiple properties. First compares the name string at this+0xE4 with param_2+0x2C using std::char_traits::equal. Then checks 5 additional numeric fields match: +0x60 vs +0x118, +0x1C vs +0xD4, +0x20 vs +0xD8, +0x24 vs +0xDC, +0x28 vs +0xE0. Returns true only if all fields match. |
| 0x008DA460 | 552 | CItemListWnd__show_item_tooltip | Shows a tooltip for the selected item. Creates UIListDetailWidgetC if not yet allocated (0x160 bytes). Builds item tooltip string via CItemDB, sets detail widget content with the tooltip text, updates the display name via FUN_00858d20, and triggers a refresh via FUN_00855150. Calls FUN_0089cfe0 with callback 0x12b8a4. |
| 0x008DACF0 | 591 | CItemListWnd__show_item_detail_panel | Shows the item detail panel for a given item. Creates UIListDetailWidgetC if needed (0x160 bytes). Only displays if widget state < 3 and item fits within display bounds (checking offsets at +0xF0, +0x88). Builds item name with color code 0xD630A9 via FUN_00874a40, sets widget title, constructs display text via CPacketStream, then refreshes via FUN_00855150. |
| 0x008DAF40 | 63 | CItemListWnd__scroll_with_mount_offset | Scrolls the item list and additionally adjusts for mount/riding offset. Calls FUN_008ad150 with the base scroll parameters, then if DAT_014578a4 is set, looks up entity type 0x52 via FUN_00aa5f70 and applies an additional scroll offset based on the entity's size difference (+0x1C - +0x14). |
| 0x008DAF90 | 63 | CItemListWnd__scroll_with_cart_offset | Scrolls the item list and additionally adjusts for cart/falcon offset. Calls FUN_008ad150 with base scroll parameters, then if DAT_014578a0 is set, looks up entity type 0xC via FUN_00aa5f70 and applies an additional scroll offset from the entity's size difference. |
| 0x008DAFE0 | 76 | CItemListWnd__clamp_and_move_window | Clamps a window position to stay within screen bounds and moves it. Uses DAT_01389638 screen dimensions (+0x2C for height, +0x28 for width) minus the window's own dimensions (this+0x18, this+0x14) to ensure the window doesn't go off-screen. Then calls FUN_00a81d40 to apply the final position. |
| 0x008DB040 | 354 | CItemListWnd__update_smooth_scroll_animation | Updates smooth scrolling animation for list items. Iterates through animation entries (0x30 bytes each) in the array at this+0xDC. For each entry with mismatched current/target positions, interpolates position using time-based lerp (timeGetTime delta / duration). Snaps to target when elapsed time exceeds animation duration. |
| 0x008DB1B0 | 19 | CItemListWnd__set_anchor_position_a | Sets the anchor position fields at this+0x38 and this+0x3C to the given coordinates. |
| 0x008DB1D0 | 19 | CItemListWnd__set_anchor_position_b | Sets the anchor position fields at this+0x38 and this+0x3C to the given coordinates. Identical implementation to set_anchor_position_a but at a different vtable slot. |
| 0x008DB1F0 | 1360 | CItemListWnd__create_text_and_button_widgets | Creates and initializes a UITextWidget (0x11C bytes) for display and a button widget (0x120 bytes) with 3 sprite states (normal/hover/pressed). Positions the text widget, sets max length to 100, configures text color (0xE8E8E8), sets font from global DAT_01737CF4, and adds both as child widgets. Sets this+0x8C to 0xB8. |
| 0x008DB750 | 1447 | CItemListWnd__create_scroll_list_and_slots | Creates a UIColoredScrollListBase (0xEC bytes) for scrollable content and 4 UIItemSlotWidget instances (0x114 bytes each). Configures scroll list dimensions, creates slot widgets with sprite images from resource IDs 0x510-0x513, positions each slot in a grid layout, and adds all as child widgets at this+0x150. Sets this+0x8C to 0xB8. |
| 0x008DBD00 | 73 | CItemListWnd__reset_title_text | Resets the title/header text of the item list window. Clears the flag at this+0xE4, loads string resource 0x20F via FUN_00b00f00, sets it as the display text, and clears the display via FUN_008cf0c0 with empty parameters. |
| 0x008DBD50 | 5424 | CItemListWnd__process_large_layout_update | Large layout update function for the item list window (5424 bytes). Handles complex widget repositioning and content refresh operations. |
| 0x008DD290 | 1793 | UIShopSell__create_buttons_and_scroll_list | Creates the shop sell UI with 3 button widgets (sell, sell_a/b, cancel, cancel_a/b) with 3 sprite states each, a UIColoredScrollListBase (0xEC bytes) at this+0xB8 with CColorPicker(2,2) background color, and a timer callback with string resource 0x5C. Sets this+0x8C to 0xE0. Positions buttons using layout arrays for sell/cancel actions. |
| 0x008DD9A0 | 1848 | CItemListWnd__create_edit_and_scroll_widgets | Creates an editable text widget (UIEditableTextWidget, 0xD8 bytes) and a scroll list (UIScrollListBase, 0xD4 bytes) with 2 button widgets (0x120 bytes each with 3 sprite states). Configures scroll list colors (0xF0,0xF0,0xF0), sets min dimensions, positions buttons with cancel sprites, and adds all as child widgets. Uses string resources and sets this+0x8C to 0xB8. |
| 0x008DE0E0 | 628 | CItemListWnd__create_scroll_list_and_two_buttons | Creates a UIScrollListBase (0xD4 bytes) at this+0xC4 and two button widgets (0x120 bytes each) at this+0xD0 and this+0xD4. Configures scroll list with gray colors (0xF0), sets min size constraints, creates buttons with 3 sprite states each, positions them within the window, and adds all as child widgets. Sets this+0x8C to 0xB8. |
| 0x008DE360 | 32 | CItemListWnd__init_mount_type | Initializes the window with mount entity type. Calls FUN_008e1890 for base initialization, then sets this+0x1F8 to 0x52 (mount/riding entity type ID). |
| 0x008DE380 | 120 | CItemListWnd__init_costume_type | Initializes the window with costume entity type. Calls FUN_008e1890 for base initialization, hides a widget at this+0x208, sets this+0x1F8 to 0xFA (costume type ID). Retrieves skin color from CSkinManager using field type 7 and applies it with full opacity (OR 0xFF000000) to the widget at this+0x1B0, then triggers a visual refresh. |
| 0x008DE400 | 142 | CItemListWnd__create_dropdown_widget | Creates a UIDropdown widget (0xCC bytes) and stores it at this+0xB4. Initializes the dropdown with position (0,0) and given dimensions (param_2, param_3), with flag=1. Adds as child widget. |
| 0x008DE490 | 142 | CItemListWnd__create_list_widget | Creates a UIListWidget (0xD8 bytes) via UIListWidget__ctor_0086cb40 and stores it at this+0xB4. Initializes with position (0,0) and given dimensions, flag=1. Adds as child widget. |
| 0x008DE520 | 428 | CItemListWnd__create_button_and_colored_scroll | Creates a button widget (0x120 bytes) with 3 sprite states, positions it at (0xEA, 0x60), and creates a UIColoredScrollListBase (0xEC bytes) at this+0xB4. Picks background color via CColorPicker__GetPixelRGB(2,2), sets the scroll list's color, and configures a timer callback with string resource 2. Sets this+0x8C to 0xB8. |
| 0x008DE6D0 | 1399 | CItemListWnd__create_text_widget_and_close_button | Creates a UITextWidget (0x11C bytes) at this+0xB4 with max length 0x31 and text color (0xE8,0xE8,0xE8). Registers click callback 0x271D. Creates a button widget (0x120 bytes) with 3 sprite states for the close button. Positions relative to parent dimensions and sets this+0x8C to 0xB8. Also calls FUN_00aa9b40 to register the text widget. |
| 0x008DEC50 | 5715 | CItemListWnd__process_extended_layout | Extended layout processing function for the item list window (5715 bytes). Handles complex multi-widget layout calculations and content arrangement. |
| 0x008E30B0 | 629 | CLoadingScreen__init_background_image | Initializes the loading screen background image. Creates a UIColorButton widget at this+0xB8 with picked color. Selects loading image based on DAT_017387e4: airplane mode uses airplane JPG, random mode picks randomly from the loading image list, sequential mode cycles through. Falls back to loading00.jpg. Loads the image via FUN_00af1620/FUN_00b01200/FUN_00aee770. |
| 0x008E3340 | 2366 | CLoadingScreen__render_loading_progress | Renders the loading screen progress display (2366 bytes). Handles loading bar, progress text, and map loading animations. |
| 0x008E7CB0 | 1754 | CItemListWnd__render_item_grid_display | Renders an item grid display (1754 bytes). Draws items in a grid layout with icons, quantities, and selection highlights. |
| 0x008E8390 | 227 | CItemListWnd__create_color_preview_widget | Creates a color preview widget (0xCC bytes) via FUN_0083e1b0 at this+0xB4. Sets background color to 0xFF2F2F2 , configures max width at +0x90, positions at (10,10). Initializes this+0xCC and this+0xD4 to 0 and sets this+0x8C to 600 (timer interval). |
| 0x008E8480 | 317 | CItemListWnd__populate_quantity_dropdown | Populates a quantity selection dropdown. Clears the content, builds a list of quantities from 1-9 based on threshold values from layout arrays (0x113FE60, 0x113FEC0). Compares against DAT_01733C88 to determine max quantity. If quantity exceeds 100, adds special entry 0xD. Calls FUN_008ce2c0 to add each item, then resizes the widget based on item count (rows of 5, height 0x62 per row). |
| 0x008E85C0 | 661 | CItemListWnd__create_dual_scroll_with_expand | Creates a dual-panel scrollable item list with expand button. Loads title from resource 0x20E, sets this+0x104 to -1. Creates main UIColoredScrollListBase at this+0xB8, a child widget at this+0xB4, a secondary scroll list at this+0x108 (same color), and an expand button at this+0x10C with resource ID 0x157 and tooltip 0x109E. Both scroll lists use CColorPicker(2,2) for background color. |
| 0x008E8860 | 1369 | CItemListWnd__render_crafting_material_display | Renders the crafting material display (1369 bytes). Shows required materials, current counts, and craft button. |
| 0x008E8DC0 | 1431 | CItemListWnd__render_enchant_display | Renders the enchant/refine display (1431 bytes). Shows enchant options, success rates, and item slots. |
| 0x008E9370 | 2333 | CItemListWnd__render_card_insert_display | Renders the card insertion display (2333 bytes). Shows card slots, insertable cards, and the target equipment. |
| 0x008E9C90 | 2797 | CItemListWnd__render_vending_display | Renders the vending shop display (2797 bytes). Shows items for sale with prices and quantities. |
| 0x008EA780 | 1701 | CItemListWnd__render_trade_display | Renders the trade window display (1701 bytes). Shows items being traded between players with quantities and zeny amounts. |
| 0x008EAE30 | 472 | CItemListWnd__create_cancel_button_and_scroll | Creates a cancel button widget (0x120 bytes) at this+0xB8 with 3 sprite states, centered horizontally, with button ID 0xB9. Creates a UIColoredScrollListBase at this+0xB4 with CColorPicker(2,2) background color. Configures timer callback with string resource 0x79. |
| 0x008EB010 | 618 | CItemListWnd__create_label_input_and_list | Creates a text label (UITextLabelWidget) at this+0xE4, an editable text input (0x14C bytes) at this+0xE8 with max length 0x46 and purple text color (0xFF,0,0xFF), a list item widget (UIListItem, 0x130 bytes) at this+0xEC with button ID 0xB8 and purple highlight colors, and a child widget at this+0xF0. Sets this+0x8C to 0xB8. |
| 0x008EB280 | 5268 | CItemListWnd__create_full_inventory_layout | Large function (5268 bytes) that creates the full inventory window layout with multiple widgets, scroll lists, buttons, and item slots. |
| 0x008EC840 | 1497 | CItemListWnd__render_progress_with_timer | Renders a progress display with timer animation (1497 bytes). Handles countdown timer display and progress bar rendering. |
| 0x008ECE60 | 228 | CItemListWnd__render_progress_bar | Renders a progress bar with formatted text showing current/max values. Formats string as "%s : %d / %d" using this+0xBC text, this+0x128, and this+0x124. Draws the text centered horizontally, then calls FUN_00a7bd60 to render the progress bar fill using color from this+0x138/0x13C/0x140. Updates the scroll list background color to match. |
| 0x008ECF50 | 294 | CItemListWnd__render_titled_image_display | Renders a titled display with an image. Calls FUN_008d2ce0 for base rendering, loads and displays image from this+0xB4 string path if this+0xC4 is non-zero. Copies title string from this+0xCC and flag from this+0xE4, then calls FUN_008d13e0 with font parameters (10,3) to render the combined text content. |
| 0x008ED080 | 169 | CItemListWnd__render_titled_text_with_shadow | Renders text with a shadow effect. Loads two background images (from DAT_0113e940 and DAT_0113f708), then renders the text from this+0xB4 string twice: once with white color (0xFFFFFF) at position (9,4) for shadow, and once with black color (0) at position (8,3) for the main text. |
| 0x008ED130 | 49 | load_and_display_default_bg_a | Loads the default background image from DAT_01139db4 via FUN_00af1620/FUN_00b01200/FUN_00aee770 and displays it at position (0,0) with flag 0. |
| 0x008ED1B0 | 49 | load_and_display_default_bg_b | Loads the default background image from DAT_01139db4 via FUN_00af1620/FUN_00b01200/FUN_00aee770 and displays it at position (0,0) with flag 0. Identical to load_and_display_default_bg_a. |
| 0x008ED240 | 1299 | CItemListWnd__render_character_preview_panel | Renders a character preview panel with equipment display (1299 bytes). Loads background image, draws title header, shows character sprite via CCharSlotEntry with equipment info (hair/body colors, job, headgear). Displays equipped items with icons when in view mode 0, with card slot sprites. Manages visibility of scroll buttons based on equipment view state. |
| 0x008ED760 | 2752 | CItemListWnd__render_guild_info_panel | Renders the guild information panel (2752 bytes). Displays guild member list, positions, and related information. |
| 0x008EE2B0 | 1326 | CItemListWnd__render_item_detail_with_card_slots | Renders an item detail panel with card/enchant slots (1326 bytes). Shows skinned background, item description text, and iterates through enchant/card slot entries. For each slot, displays the card icon or an empty slot indicator (colored based on whether refinement level is met). Also positions the item detail tooltip panel via virtual call at the end. |
| 0x008EE7F0 | 467 | CItemListWnd__render_status_info_display | Renders a status information display panel (467 bytes). Shows status text with formatted values. |
Part 3 of Game Core: functions 3,428 to 4,923, 0x008EE9D0 to 0x00A55240
No function in this part matches that. Search all 47,061 functions instead.