Game Core
CGameMode, CGameObject, CInputMgr, CStoveSDK, initialization, settings, hotkeys, timers, crash handling, services, utilities
| Address | Size | Name | Description |
|---|---|---|---|
| 0x008EE9D0 | 762 | CItemListWnd__render_stat_comparison_display | Renders a stat comparison display with up/down arrows (762 bytes). Shows two stat values (message IDs 0x10D, 0x10E) with triangle indicators showing whether each stat increased (green), decreased (red), or stayed equal (gray). Draws colored triangles pointing up/down/flat based on comparison between current and previous values at offsets +0xB4/+0xB8 and +0xBC/+0xC0. |
| 0x008EECE0 | 29 | CItemListWnd__set_title_and_refresh | Sets a 4-character title string from DAT_0113f8c4 and calls FUN_008ee7f0 to refresh the display. |
| 0x008EED00 | 914 | CItemListWnd__render_npc_shop_display | Renders the NPC shop item display (914 bytes). Shows item icons, names, and prices for buying/selling. |
| 0x008EF0A0 | 242 | CItemListWnd__render_coordinate_display | Renders coordinate display showing current position. Sets magenta text color (0xFFFF00FF), gets current coordinates via FUN_00ad6450/FUN_00cd5510, formats them as "%d, %d", and renders the text twice (with shadow effect at positions 0x13/0x80 in white and 0x14/0x80 in black). |
| 0x008EF1A0 | 1002 | CItemListWnd__render_npc_sprite_animation | Renders an NPC sprite animation in the window (1002 bytes). Loads NPC sprite (.spr) and action (.act) files from the string at this+0xB4, builds the file paths as "npc\\%s.spr" and "npc\\%s.act". Uses skill tree node/detail entry APIs to get animation frame data, then renders each sprite layer at calculated positions with tile caching for performance. |
| 0x008EF590 | 49 | load_and_display_default_bg_c | Loads the default background image from DAT_01139db4 and displays at position (0,0). Same pattern as load_and_display_default_bg_a/b. |
| 0x008EF5D0 | 535 | CItemListWnd__render_quest_info_display | Renders the quest information display (535 bytes). Shows quest objectives, progress, and rewards. |
| 0x008EF850 | 327 | CItemListWnd__render_and_manage_popup_overlay | Renders the window background and manages popup overlay lifecycle (327 bytes). Draws bordered background, then if this+0xBC popup exists: gets text from the item's title field, sets it on the tab control, rebuilds display text. If the popup's visibility flag (+0x47) is 0, destroys it via virtual destructor and clears the reference. |
| 0x008EFA00 | 236 | CItemListWnd__render_shop_buy_labels | Renders shop/buy window labels. Selects title string resource based on this+0xDC (0x32 uses resource 0x806, otherwise 0x123). Renders header via FUN_008d2ce0 and FUN_008d03e0. Shows item count at row 2. For type 0x46 or 0x32, shows additional label (0x124 or 0x809). Renders price label (0x2E2) and confirm label (0x125) at calculated y-positions based on this+0xDC offset. |
| 0x008EFB40 | 423 | CItemListWnd__render_slot_machine_animation | Renders the slot machine animation using SlotMachine.act and SlotMachine.spr resources. Calculates current animation frame from this+0xBC / this+0xB4. Gets sprite data from skill tree nodes and renders each frame's sprite at centered positions. Advances the animation counter and cycles through animation nodes. |
| 0x008EFCF0 | 618 | CItemListWnd__render_account_info_display | Renders the account information display. Shows title (resource 0x2CA), loads corner images. Iterates through account entries (0x54 bytes each) from DAT_01732D8C, matching server name against DAT_01737B74. For matching entries, displays AID/character name, server name, and connection time/date info in formatted text rows. |
| 0x008EFF60 | 49 | load_and_display_default_bg_d | Loads default background image from DAT_01139db4 and displays it. Same pattern as other load_and_display_default_bg functions. |
| 0x008EFFA0 | 49 | load_and_display_default_bg_e | Loads default background image from DAT_01139db4 and displays it. Same pattern as other load_and_display_default_bg functions. |
| 0x008EFFF0 | 856 | CItemListWnd__render_pin_code_entry_ui | Renders the PIN code entry UI. Shows title (resource 0x76B), draws progress bars and text labels for up to 3 password entry fields. Handles display states based on DAT_01737D10 flag and this+0x108, showing input fields with colored backgrounds (0xE6E6E6 or active state). Draws dot characters for each entered PIN digit at positions this+0xD0/0xD9/0xE2 with y-offsets from this+0xFC/0x100/0x104. |
| 0x008F0350 | 171 | CItemListWnd__render_otp_entry_header | Renders the OTP entry window header. Shows title from resource 0x293, loads and displays corner decoration images positioned at bottom-left and bottom-right of the window. |
| 0x008F0400 | 169 | CItemListWnd__render_bordered_panel_bg | Renders a bordered panel background. Sets magenta clear color, picks background color via CColorPicker(2,2), fills the right portion of the panel. Draws a gray (0xC3C3C3) outer border and white (0xFFFFFF) inner border around the widget. |
| 0x008F04F0 | 607 | CItemListWnd__render_skill_list_page | Renders a paginated skill list. Shows title from resource 0x2B9, initializes skill entry, iterates through skills from this+0xF0 array. For visible skills (based on page offset this+0xB8 * this+0xC0), highlights selected row (this+0xBC) using CColorPicker, loads skill icons via FUN_00af1620 and displays them with names in a grid layout (0x20 pixel row height). |
| 0x008F0750 | 3284 | CItemListWnd__render_character_stats_panel | Renders a character stats panel with base stats and bonuses (3284 bytes). Shows title (resource 0x69), then if height differs from +0xD4 and not minimized: displays stat rows (6 stats) with base values and bonus values (green for positive, red for negative). Shows additional stats like ATK/DEF/HIT/FLEE ratios, crit rate, ASPD. Also handles an RB tree lookup for secondary stat display when in detailed mode (+0xFC). |
| 0x008F1430 | 4131 | CItemListWnd__render_pin_code_numpad | Renders the PIN code numpad entry UI (4131 bytes). Creates cancel/change buttons at the top, then builds 11 number buttons (0-9 plus reset 'R') with randomized positions for security. Buttons use basic_interface textures with btn_num0-btn_num9/btn_numR images. Also renders PIN entry fields (current/new/confirm) with dot masking and active field highlighting. Uses DAT_01737d10 flag to toggle between entry modes. |
| 0x008F2460 | 590 | CItemListWnd__render_bordered_scroll_area | Renders a bordered scrollable area with tiled border sprites. Loads title from resource 0xAE. Tiles left and right border images vertically (8px per tile). Fills the interior with CColorPicker(2,2) color in two areas. Draws static sprites for content rows (0x20px per row), then fills the remaining area with the picked color. |
| 0x008F26B0 | 967 | CItemListWnd__render_npc_portrait_display | Renders an NPC portrait/illustration display (967 bytes). Sets magenta clear color, draws header with resource 0xCA6 title. Loads NPC illustration image at position (0, 0x11). If the NPC data source (DAT_01450cd0) has type 1 at +0x28, shows a tip box icon overlay. Otherwise renders the NPC portrait using one of three modes: type 1 = sprite+act animation, type 2 = static image from DAT_0113f60c, type 0 = either DAT_01450cd0 texture or act/spr animation. Also renders animated sprite effects and bottom decorations. |
| 0x008F2A90 | 49 | load_and_display_default_bg_f | Loads default background image from DAT_01139db4 and displays it. Same pattern as other load_and_display_default_bg functions. |
| 0x008F2AD0 | 227 | CItemListWnd__render_trade_partner_header | Renders the trade partner header. Formats "With %s" or "With %s (%s)" text depending on whether this+0x114 has a guild name set (from this+0x104 string). Draws gray borders (0xC0C0C0) around the window and a separator line, then renders the partner name text in white. |
| 0x008F2BC0 | 534 | CItemListWnd__render_auction_price_display | Renders the auction/vending price display. Loads background image from DAT_0113EC74. Formats and displays date/time (this+0x164/0x160), current price (resource 0x741, this+0x178), bid increment (resource 0x742, this+0x16C), and total (this+0x170) using formatted currency strings via FUN_00af6140. Shows Zeny symbol (DAT_010D4F5C) and labels (resource 0x51A). |
| 0x008F2DF0 | 973 | CItemListWnd__render_animated_sprites_layer | Renders animated sprite layers. Iterates through sprite entries (0x30 bytes each) from this+0xDC array, builds image paths via FUN_00a95590 and json lookup, then renders visible sprites at their animated positions. Also renders particle effects from a secondary array (0xC bytes each) at this+0xE8 using DAT_0113f6A4 sprite. |
| 0x008F31C0 | 257 | CItemListWnd__on_mouse_click_item | Handles mouse click on an item in the list. If param_3 < 0x11, sets up timer callback 0xCA. If this+0x2D is 0, calls FUN_008d8580 to get item info, and if valid with positive count, calls FUN_00dd7e10 and dispatches event 0x14 with the item data and whether this+0x3C == 1. |
| 0x008F32D0 | 47 | CItemListWnd__on_click_delegate_and_timer | Delegates a click event to virtual method at vtable offset 0x64, then sets up a timer callback at vtable offset 0x94 with parameters (0, 6, 0xB8, 0, 0, 0). |
| 0x008F3300 | 35 | CItemListWnd__on_click_set_close_timer | Click handler that sets up a close timer (0xCA) via vtable offset 0x94 if param_3 < 0x11 (left mouse button click). |
| 0x008F3330 | 183 | CItemListWnd__copy_code_to_clipboard | Copies a code string to the Windows clipboard. If param_3 < 0x11 and this+0x114 (string length) is non-zero, allocates global memory, copies the string from this+0x104, opens the clipboard via OpenClipboard, sets CF_TEXT (1) data, and shows a notification "C Code copied to clipboard" in cyan color (0x64FFFF). |
| 0x008F33F0 | 569 | CItemListWnd__on_click_with_item_lookup | Click handler with item lookup and validation (569 bytes). Gets item data, validates it, and processes the click action. |
| 0x008F3630 | 24 | CItemListWnd__on_click_close_window_a | Click handler that closes the window via FUN_008ba1e0 if param_2 < 0x11 (left button). |
| 0x008F3660 | 498 | CItemListWnd__on_click_equip_action | Click handler for equipment actions (498 bytes). Handles equip/unequip operations on item slots. |
| 0x008F38E0 | 205 | CItemListWnd__on_click_select_list_row | Click handler for selecting a row in a scrollable list (205 bytes). If right-click (param_3 >= 0x11) and not in DAT_016f7144 locked state: calculates the clicked row index from mouse y-position relative to list start (0x22), accounting for row height (0x20 pixels) and the visible row count. Updates the selected row at this+0x2F and triggers a refresh if selection changed. |
| 0x008F39C0 | 24 | CItemListWnd__on_click_close_window_b | Click handler that closes the window via FUN_008ba1e0 if param_2 < 0x11. Same pattern as on_click_close_window_a. |
| 0x008F3A40 | 24 | CItemListWnd__on_click_close_window_c | Click handler that closes the window via FUN_008ba1e0 if param_2 < 0x11. Same pattern as on_click_close_window_a/b. |
| 0x008F3A60 | 27 | CItemListWnd__on_click_close_if_below_threshold | Click handler that closes the window via FUN_008ba1e0 only if param_3 < this+0xD4 threshold value. |
| 0x008F3A80 | 238 | CItemListWnd__on_click_navigate_to_item | Click handler that navigates to an item's location. Closes the window if param_3 < 0x11. Gets item info via FUN_008d88f0, then if valid, gets current position via FUN_00ad6450. Toggles a direction flag at this+0x15C or stores item ID at this+0x174, then calls FUN_00cfe140 to navigate. |
| 0x008F3BB0 | 111 | CItemListWnd__on_drag_select_slot | Drag handler that selects equipment slots in a grid. If this+0xF0 == 3 (grid mode), checks if the mouse position falls within one of the slot rectangles (0x44px wide, starting at x=6, y range 0x3A-0x96). Calculates the slot index from position and page offset (this+0x154), and updates selection at this+0x158 if changed. |
| 0x008F3C60 | 356 | CItemListWnd__on_mouse_move_equip_grid | Mouse move handler for equipment grid selection (356 bytes). Handles hover highlighting in the equipment slot grid. |
| 0x008F3DD0 | 1317 | CItemListWnd__on_hover_show_item_tooltip | Hover/tooltip handler that shows item tooltips at slot positions (1317 bytes). Gets slot info from mouse position, calculates tooltip anchor coordinates, then shows a tooltip with item name and count (resource 0xA28 for count >= 2, 0x9F7 for stacked items, or 0xB7 for simple items). Also tracks equipped item highlighting by checking game mode field 0x308 and updating highlight slot indices at this+0x2E/0x2F/0x30. |
| 0x008F4300 | 539 | CItemListWnd__on_click_equip_slot_tooltip | Click handler that shows tooltips for equipment slots (539 bytes). Gets the selected slot from click position, stores x-coordinate at this+0x114. Calculates tooltip anchor position based on whether click is in left (x < 0x117) or right column. Builds item tooltip string and shows it with count info (resource 0xA28 when item has quantity) or plain tooltip. Uses CItemDesc color code for tooltip text color. |
| 0x008F4520 | 340 | CItemListWnd__on_click_card_slot_tooltip | Click handler for card/enchant slot tooltips (340 bytes). Hit-tests click position against card slot rectangles. If a card slot is hit and this+0x20C detail mode is active: creates a temporary item descriptor, gets the card ID from the slot array at this+0xD4, builds a tooltip string with item name and count (resource 0xA28), and shows it at the slot position. Colors tooltip based on card rarity when slot index exceeds refinement level. |
| 0x008F4680 | 50 | CItemListWnd__on_hover_update_page_index | Hover handler that updates the highlighted page/tab index. Calls get_page_index_from_y to determine which tab the mouse is over, stores it at this+0x2E, and triggers a repaint via virtual method 0x98 if the index changed. |
| 0x008F46C0 | 945 | CItemListWnd__on_mouse_move_handler | Mouse move handler (945 bytes). Processes mouse movement for hover effects, tooltip display, and drag operations. |
| 0x008F4A80 | 35 | CItemListWnd__on_key_press_delegate | Key press delegate that first calls UIWindow__update_position_with_snap for base key handling, then forwards the key event to the virtual method at vtable offset 0x70 with the same parameters. |
| 0x008F4AB0 | 9 | thunk_to_virtual_method_offset_0x70_008f4ab0 | Calls virtual method at offset 0x70 from vtable pointer |
| 0x008F4AC0 | 628 | CItemListWnd__advance_auto_scroll_text | Auto-scrolling text display handler (628 bytes). If auto-scroll is enabled (this+0x134) and timer is set (this+0x130), advances to next text entry every 4 seconds. When end of text array (this+0x144) is reached, stops and unregisters text widget. Otherwise: dispatches chat clear (type 3), extracts colored text segments from current entry, displays via chat (type 1), creates/reuses a hyperlink text widget (0xCC bytes) for centered display, and updates the text index and timer. |
| 0x008F4D50 | 559 | CItemListWnd__on_input_change_validate_numeric | Monitors the text edit widget for changes (compares text length to cached value at this+0x120). If text changed, validates it as a numeric string. Invalid input shows error message 0x25A and restores previous text. Values exceeding 1,000,000,000 are clamped with message 0x9A3. Updates number display colors and scroll position after validation. |
| 0x008F4FC0 | 39 | CItemListWnd__check_idle_timeout | Checks if 5 seconds have elapsed since this+0xE4 timestamp. If so, calls FUN_00a8cf20(0x3A) to trigger an idle timeout event. |
| 0x008F4FF0 | 114 | CItemListWnd__update_scroll_and_check_completion | Updates scroll position and checks for completion. Triggers repaint via vtable 0x98. If the scroll position (this+0x31) matches the total items divided by stride (this+0x2F / this+0x2D) and the count (this+0x32) >= stride, starts a 2-second timer. When the timer expires, calls FUN_00a8cf20(0x5B) to signal completion. |
| 0x008F50E0 | 795 | CItemListWnd__on_update_render_effects | Per-frame update handler (795 bytes). Handles: (1) text wrapping and display when this+0x3F flag is set - wraps text from the global item list into lines via text_word_wrap_to_lines, sends each line as event 0x1D. (2) Tip box image refresh via CTipBox__has_images. (3) Animation frame cycling every 300ms - cycles through 0xC-byte entries toggling active flag. (4) Equip slot animated effects via CUIEquipWindow__draw_animated_slot_effects. |
| 0x008F5400 | 181 | CItemListWnd__on_right_click_show_item_info | Right-click handler that shows item information. Gets slot index from position via get_slot_index_from_pos. If valid, looks up the item widget via FUN_00a978d0(0xC) and dispatches event 0x18 with the item data. |
| 0x008F54C0 | 185 | CItemListWnd__on_right_click_show_item_info_alt | Alternative right-click handler for showing item info. Gets item data via FUN_008d86d0, then if valid, looks up the parent widget via FUN_00a978d0(0xC) and dispatches event 0x18 with the item data. Null-checks the parent widget pointer. |
| 0x008F5580 | 518 | CItemListWnd__on_click_show_card_slot_info | Click handler that shows card slot information (518 bytes). Hit-tests card slots via CUIEquipWindow__hit_test_card_slot. If a slot is hit, creates an item info window (type 0x52), sends card flag (event 0x4C) and item data (event 0x18) with refinement level comparison. Also checks for a secondary equipped item (DAT_014578A0) and opens a second info window (type 0xFA) for comparison display if the secondary has a valid card. |
| 0x008F5790 | 303 | CItemListWnd__on_click_show_card_slot_info_simple | Simplified click handler for card slot info (303 bytes). Hit-tests card slots via CUIEquipWindow__hit_test_card_slot. If a slot is hit, creates item info window (type 0x52), sends card flag (event 0x4C) and item data (event 0x18) with refinement level. No secondary item comparison (simpler variant of on_click_show_card_slot_info). |
| 0x008F58C0 | 194 | CItemListWnd__on_double_click_show_item_info | Double-click handler that shows item info window. Gets item desc from grid position via CUIEquipWindow__get_item_desc_from_grid_pos. If valid and this+0x15C >= 0, creates item info window (type 0xC) and sends event 0x18 with item data to display the item details popup. |
| 0x008F59C0 | 69 | CItemListWnd__on_mouse_wheel_page_scroll | Mouse wheel handler for page scrolling. Only active if DAT_0173A700 > 4 and this+0x3C == 3 (page mode). Scrolls up (1) or down (-1) via vtable 0x94 with event type 8 based on wheel direction (param_2). |
| 0x008F5A10 | 51 | CItemListWnd__on_mouse_wheel_scroll | Mouse wheel handler that scrolls the list. Scrolls up (1) or down (-1) via vtable 0x94 with event type 7 using this+0x31 as target, based on wheel direction. |
| 0x008F5A50 | 66 | CItemListWnd__on_mouse_wheel_multi_scroll | Mouse wheel handler with multi-step scrolling. If this+0x32 is non-zero, calculates scroll amount as min(this+0x31 - 1, 3), negates for down direction. Dispatches via vtable 0x94 event type 7. |
| 0x008F5AA0 | 67 | CItemListWnd__on_mouse_wheel_tab_switch | Mouse wheel handler for switching tabs. Only active if get_field_0x1724 > 3. Scrolls to next tab (event 10) on wheel up or previous tab (event 9) on wheel down. |
| 0x008F5AF0 | 1373 | CItemListWnd__update_page_counter_display | Updates the page counter display showing current page and total item count (1373 bytes). Formats "X" (page number) and "/Y" (total items / 0x18 stride) as strings, measures text widths to center-align the page number widget (this+0xC8) and separator widget (this+0xCC) at fixed Y=0x140. Uses format_int_to_string and CEffect__measure_text_width for layout calculations. |
| 0x008F6050 | 290 | CItemListWnd__cycle_animation_frame | Cycles through animation frames every 300ms. Iterates over an array of 0xC-byte entries (this+0xE8 to this+0xEC). Finds the first entry with flag byte[8]==0, sets it to 1, and returns. If all entries are active, resets all flags to 0 and starts over. Used for slot highlight animation cycling. |
| 0x008F6180 | 489 | CBookWnd__read_registry_bookmark_value | Reads a DWORD value from the Windows registry under the BookMark key path. Builds the registry path by concatenating a base path, "\\BookMark\\", a server-specific string, and a decrypted suffix. Opens HKEY_LOCAL_MACHINE, queries the named value (param_1), and returns the result (default 1 if key not found). Used to persist bookmark/page positions for the book window. |
| 0x008F6370 | 298 | CItemListWnd__calculate_shop_item_properties | Iterates over 8 shop item slots via CShop__get_item_by_index_or_special. For each valid item with fc==1, looks up item info by ID (from string). Accumulates bitwise OR of item flags (offset 0x2C) and adds stat values from a 2-element array (offset 0x34) into this+0xB4 and this+0xBC. Stops early if flag overlap detected. |
| 0x008F64B0 | 175 | CItemListWnd__update_scrollbar_range | Updates the scrollbar range and position based on item count. Calculates total rows from this+0xD0 / this+0xC0 (rounding up). If items fit in visible area (this+0xC4 rows), disables scrollbar and resets scroll position. Otherwise, enables scrollbar, clamps scroll position to valid range, and updates the scrollbar control. Triggers repaint. |
| 0x008F6560 | 219 | CItemListWnd__populate_dropdown_tab_items | Populates a dropdown/tab control with items (219 bytes). Clears the dropdown widget (this+0x120) via vtable 0xDC, adds default item from message 0xA7E, then iterates over the global item array (DAT_01738798 to DAT_0173879C) adding each item's title string via lua_get_title_string and the dropdown's vtable 0xD8 method. |
| 0x008F66B0 | 67 | CItemListWnd__resize_and_refresh_scroll_list_a | Resizes the main widget and refreshes the scroll list. Calls FUN_00a82eb0 for base resize, then updates the scroll list at this+0xB4 by setting its size (vtable 4), calling its layout method (vtable 0xE0), and triggering repaint (vtable 0x98). |
| 0x008F6700 | 67 | CItemListWnd__resize_and_refresh_scroll_list_b | Resizes the main widget and refreshes the scroll list. Identical implementation to resize_and_refresh_scroll_list_a. |
| 0x008F6750 | 181 | CItemListWnd__resize_and_update_children | Resizes the window and updates all child widget positions (181 bytes). Propagates size changes to child controls. |
| 0x008F6810 | 46 | CItemListWnd__resize_to_fit_items | Resizes the window to fit the given number of items (param_2). Calculates height as ((param_2 - 1) / 5 + 1) * 0x62 rows. Calls virtual method at vtable offset 4 with current width (this+0x5 * 4) and calculated height. |
| 0x008F6840 | 369 | CItemListWnd__resize_with_scroll_update | Resize handler that updates scroll area dimensions (369 bytes). |
| 0x008F69C0 | 102 | CItemListWnd__on_event_send_selection | Handles selection events. Searches the array at this+0xB8 for a value matching (param_2 - 9000). If found, sends command 0x9A with the value and stored data (this+0xB4) via the game mode interface, then clears via tls_clear_field. |
| 0x008F6A30 | 135 | CItemListWnd__on_event_copy_text_and_close | Event handler (135 bytes). If event is not type 6, delegates to UIWindow__handle_button_click. On button 0xB8: gets text from edit widget, copies it to string buffer, shows chat message 0x3AE in green (0x64FFFF), focuses window, and closes via tls_clear 0x74. |
| 0x008F6AC0 | 568 | CItemListWnd__on_event_confirm_with_text | Event handler for confirmation dialog with text display (568 bytes). Button 0xB8/0xB9 sends command 0xAD with stored value and accept/reject flag, then closes (0x6E). Event 0x5B stores param, sets display text from name + message 0xB95 via text widget. Event 0x7B parses packet 0x542E/0x542F protocol. Delegates to UIWindow__handle_button_click for other events. |
| 0x008F6D00 | 839 | CItemListWnd__on_event_confirm_with_book_text | Event handler for confirmation dialog with embedded book text (839 bytes). Button 0xB8 creates sub-dialog (type 0x6E) with event 0x5B/0xB8, sends to parent. Button 0xB9 sends command 0xAD with reject. Event 0x5B stores param, builds display text from name + message 0x31A. Event 0x7B parses packet 0x53FC/0x53FD/0x53FE - extracts embedded text and dispatches as event 0x5B. Delegates to UIWindow__handle_button_click for other events. |
| 0x008F7050 | 116 | CBookWnd__on_event_handler | Main event handler for the book window (large, complex). Button 0xC9 closes window (0x6A). Buttons 0x162/0x163 navigate pages (prev/next) with bounds checking. Button 0x164 saves current page to registry via CBookWnd__read_registry_bookmark_value (builds BookMark registry path, writes with RegSetValueEx). Events 0x14/0x15 forward as page nav buttons. Event 0x5C loads book page: clears text widget, populates lines with color-coded text, handles charset prefix encoding. Event 0x5D toggles auto-scroll mode with 4s timer. Event 0x5E opens a new book by item ID: reads book text file, parses color headers, splits into pages of 0x13 lines. |
| 0x008F79C0 | 324 | CItemListWnd__on_event_enchant_window_handler | Event handler for the enchant/enchantment window (324 bytes). Button 0xC9 closes window (0x2F). Event 0x3E: stores flag at this+0x39, looks up item by ID, checks if it's a valid enchant ID. If the item string changed, updates stored item string and title text (message 0xF238 + item name), triggers repaint and focus. Delegates other events to UIWindow__handle_button_click. |
| 0x008F7B10 | 445 | CItemListWnd__on_event_search_dual_panel_handler | Event handler for a dual-panel search window (445 bytes). Button 0xB8 (OK): validates search text (min length, ASCII check for locale 1, incomplete check), builds search request with two strings and dispatches command 0x2C. Buttons 0xB9/0xC9 close window (0x1E). Buttons 0xE4/0xE5 open dropdown lists (type 0x1A) for two separate categories with different string arrays. Event 0x22: handles tab selection, updates text widgets and radio-button tabs (0xD4-0xDC). Delegates to CItemListWnd__dtor for other events. |
| 0x008F80B0 | 1346 | CItemListWnd__on_event_search_window_handler | Event handler for a search-type item list window (1346 bytes). Handles: button 0xB8 (OK) - validates search text, checks for incomplete searches, ASCII-only checks for locale 1, minimum 4-char requirement, then dispatches search command 0x2B. Button 0xB9/0xC9 (cancel) - closes window. Button 0xD7 - tab selection with radio-button style toggling. Buttons 0xE4/0xE5 - opens dropdown list (type 0x1A) populated from two string arrays. Event 0x27 - selects from dropdown and sets display text. |
| 0x008F8640 | 541 | CItemListWnd__on_event_add_item_to_list | Event handler that adds items to the list display (541 bytes). On event 0x1B with non-null text: checks if text is the "empty" message (0x29A), otherwise parses nItemID tag to get item name. Adds text line to the display widget (this+0x31), increments item count (this+0x2D), and auto-resizes the window and child widgets if needed. Falls through to CItemListWnd__ctor for other events. |
| 0x008F8860 | 474 | CItemListWnd__on_event_deal_window_handler | Event handler for the deal/trade confirmation window (474 bytes). On button 6: logs button press. Button 0xB9 sends trade accept command (0x28) and closes window (0x19). Buttons 0xDF/0xE0 send trade modify commands (0x25/0x26) with item ID (this+0x2D). Clears deal/inventory lists after action. Event 0x1C stores item reference. Event 0x7B parses packet 0x5172/0x5173 for trade protocol, sets field 0x24C and clears related windows (0x16/0x17/0x18). |
| 0x008F8A40 | 138 | CItemListWnd__on_event_choice_dialog_handler | Event handler for a choice dialog window (138 bytes actual, handles many events). Button 0xB8 selects item at scroll index and sends command 0x4A with item string. Button 0xB9 sends "cancel" string. Events 0x12/0x13 forward to child list widget. Event 0x1B adds text lines - checks for "Random" or "cancel" strings for special display messages (0xD4, 0xDA), otherwise resolves item names. Event 0x3B stores selection index. Event 0x7B parses packet 0x55BE/0x55BF/0x55C1 protocol. |
| 0x008F8ED0 | 1220 | CItemListWnd__on_event_npc_shop_handler | Event handler for the NPC shop window (1220 bytes). If DAT_01457AD8 is set, shows "busy" message and returns. Button 0xB8 (OK) with debounce: validates selection, sends buy command 0x17 with item index and quantity. Button 0xB9 sends cancel command 0x28. Events 0x12/0x13 forward scrolling. Event 0x1B: adds item text lines, parses nItemID tags, auto-resizes window. Event 0x1C stores quantity. Event 0x22 validates/sets window position. Event 0x7B parses packet 0x558C/0x558D/0x558F. Event 0xA6 sends buy command with -1 (buy all). |
| 0x008F9460 | 178 | CItemListWnd__on_event_position_window | Event handler for window positioning (178 bytes). On event 0x22: stores position data at this+0x94, validates saved position via UIWindow__validate_position_280_variableH. If no saved position, centers window horizontally and scales Y position based on screen resolution. Otherwise restores saved position. Delegates other events to CItemListWnd__handle_complex_input_event. |
| 0x008F9520 | 80 | CItemListWnd__on_event_align_to_parent | Event handler that aligns this window relative to a parent window (80 bytes). On event 0x22: finds item info window (type 0x52) and positions this window at its right edge (parent right - parent width, parent top). Delegates other events to CItemListWnd__handle_complex_input_event. |
| 0x008F9570 | 55 | CItemListWnd__dispatch_event_to_child_widget | Dispatches events to the appropriate child widget. If this+0xB8 widget exists and event type is 0x27, forwards to that widget's vtable 0x94 handler. Otherwise forwards to the this+0xB4 widget's vtable 0x94 handler. |
| 0x008F95B0 | 55 | CItemListWnd__dispatch_event_to_child_widget_alt | Dispatches events to child widget (variant B). Same logic as dispatch_event_to_child_widget: if this+0xB8 exists and event type is 0x27, forwards there; otherwise forwards to this+0xB4 widget. |
| 0x008F95F0 | 474 | CItemListWnd__on_event_confirm_dialog_handler | Event handler for a confirmation dialog (474 bytes). Button 0xB8 (OK) sends command 0xA7 with stored value and result=1. Button 0xB9 (cancel) sends command 0xA7 with result=0. Both close the window via tls_clear 0x68. Event 0x5A: stores value at this+0xB4, builds display string from name + message 0x2E1, sends to text widget. Delegates other events to UIWindow__handle_button_click. |
| 0x008F97D0 | 65 | CItemListWnd__on_event_simple_confirm_handler | Simple event handler for single-button confirmation (65 bytes). On button 0xB8: sends command 0x8D via game mode interface. Delegates other events to UIWindow__handle_button_click. |
| 0x008F9820 | 83 | CItemListWnd__on_event_text_input_submit | Event handler for text input submission (83 bytes). Stores button ID in DAT_01457AF4. On button 0xB8: gets text from the edit widget and sends command 0x271C with the text string via the game mode interface. Delegates other events to UIWindow__handle_button_click. |
| 0x008F9880 | 85 | CItemListWnd__msg_handler_main | Main message handler for CItemListWnd. Handles: msg 6 (buttons: 0xC9 close, 0xCA expand/collapse, 0xD5 sell mode, 0xD7 tab selection, 0xF8 use item with link/flag checks, 0xF9 open crafting, 0x10F damage resource Lua call, 0x1E0/0x23F job sprite send, 0x246 window creation, 0x1FC navigation window toggle). msg 8: scroll with clamping. msg 0x16: display mode switch with child visibility management. msg 0x22: position init with validation. msg 0x30: class type determination. msg 0x3C: resize/layout update. msg 0x6A: card count check for equip/inventory. |
| 0x008F9E1B | 897 | CItemUseWnd__show_item_use_confirmation_window | CItemUseWnd: show item use confirmation window |
| 0x008FA1F9 | 67 | caseD_c9 | Cased c9, small utility function |
| 0x008FA8C0 | 160 | CItemListWnd__msg_handler_shop_display | Message handler for a shop display item list window. On msg 6: handles 0xB8 (buy with TLS clear 0x20), 0xB9 (sell with TLS clear 0x20). On msg 0x22: initializes position from data. On msg 0x32: builds display text with item name and formatted price using C_Code format. On msg 0x7B: binary packet parser for tags 0x5492-0x5494 (text field assignment). |
| 0x008FAF50 | 144 | CItemListWnd__msg_handler_shop_cart | Message handler for a shop cart/vending item list window. On msg 6: handles buy (0xB8 with amount validation/atoi64), sell (0xB9), toggle (0xD5), text input (0xE2), and confirm (0xE6 with formatted message). On msg 0x17: rebuilds cart and vending item lists from 10 slots. On msg 0x26: sends item selection. On msg 0x32: sets item text and metadata. On msg 0x33/0x34: hides text widget and updates tabs. On msg 0x7B: binary packet parser for tags 0x5078-0x5081. |
| 0x008FB850 | 272 | CItemListWnd__process_button_event | Processes a button event by routing to the appropriate handler (272 bytes). |
| 0x008FB960 | 7046 | CItemListWnd__handle_complex_input_event | Large input event handler (7046 bytes) for the item list window. Processes mouse clicks, drags, keyboard input, and various UI interactions. |
| 0x008FD5F0 | 80 | CItemListWnd__msg_handler_window_offset | Message handler that adjusts window offset. On msg 0x22: finds window type 0xC and adjusts its offset using width delta and current position. On other messages: delegates to CItemListWnd__handle_complex_input_event. |
| 0x008FD640 | 132 | CItemListWnd__set_scroll_position | Sets the scroll position and updates the display (132 bytes). |
| 0x008FDA10 | 866 | CItemListWnd__process_keyboard_input | Processes keyboard input for the item list window (866 bytes). Handles navigation keys, enter, escape, etc. |
| 0x008FDE10 | 711 | CItemListWnd__handle_window_message | Handles window messages for the item list window (711 bytes). Routes messages to appropriate handlers. |
| 0x008FE0E0 | 547 | CItemListWnd__handle_command_message | Handles command messages for the item list window (547 bytes). Processes menu and accelerator commands. |
| 0x008FE310 | 1123 | CItemListWnd__handle_notify_message | Handles notification messages for the item list window (1123 bytes). Processes child control notifications. |
| 0x008FE780 | 792 | CItemListWnd__process_update_event | Processes update events for the item list window (792 bytes). Handles data refresh and display updates. |
| 0x008FEAA0 | 93 | CItemListWnd__msg_handler_loading_progress | Handles loading progress display. On msg 0x11: formats "Loading %d %s" string and updates a progress indicator control. Returns 0 for all messages. |
| 0x008FEB00 | 118 | CItemListWnd__msg_handler_item_reform_select | Message handler for an item reform/selection window. On msg 6: handles buy (0xB8 with item reform or generic sell based on mode), cancel (0xB9). On msg 7/9/10: scrolling with page up/down. On msg 0x1F: adds item entry to shop list. On msg 0x22: sets display mode. On msg 0x3C: updates scrollbar range. On msg 0x4B: clears shop item list. On msg 0x7B: binary packet parser for tags 0x5654-0x5657. |
| 0x008FEF80 | 67 | CItemListWnd__msg_handler_dropdown_list | Message handler for a dropdown/popup list control. On msg 0x1E: auto-sizes window based on text measurement of all entries. On msg 0x1F: adds a slot entry with associated string data. On msg 0x48: resets data source pointer. On msg 0x4B: clears all entries and resets tail pointer. On msg 0x53: sets selection index and value. Falls through to parent handler for other messages. |
| 0x008FF130 | 948 | CItemListWnd__process_custom_event | Processes custom events for the item list window (948 bytes). Handles application-specific messages. |
| 0x008FF640 | 459 | CItemListWnd__update_item_data | Updates item data from server response (459 bytes). Refreshes the displayed items. |
| 0x008FF810 | 136 | CItemListWnd__set_selected_item | Sets the currently selected item in the list (136 bytes). |
| 0x008FF8A0 | 111 | CItemListWnd__msg_handler_confirm_action | Message handler for confirming an action. On msg 6 with 0xB8: sends the stored value at offset 0xB8 via vtable dispatch. On msg 6 with 0xB9: sends value 2 (cancel). On msg 0x50: stores the action parameter at offset 0xB8. Falls through to default handler for other messages. |
| 0x008FF910 | 650 | CItemListWnd__add_items_to_list | Adds items to the item list (650 bytes). Populates the list with item entries. |
| 0x008FFBA0 | 58 | CItemListWnd__msg_handler_open_detail_window | Message handler that opens a detail window (type 0x25) on button 0xC0 click and focuses it. Delegates to parent handler for non-msg-6 messages. |
| 0x008FFBE0 | 93 | CItemListWnd__msg_handler_open_inventory_window | Message handler that opens an inventory window (type 0xB) on button 0xC0 click. If the window's mode is 0x11, sends msg 0xCA to it. Focuses the opened window. Delegates to parent for non-msg-6 messages. |
| 0x008FFC40 | 65 | CItemListWnd__msg_handler_open_catalog_window | Message handler that opens a catalog window (type 0x2718) on button 0xC0 click and focuses it. Delegates to parent handler for non-msg-6 messages. |
| 0x008FFC90 | 223 | CItemListWnd__msg_handler_submit_quantity | Message handler for submitting a quantity/amount input. Checks global trade lock flag first (shows error 0xAAA if set). On msg 6 with 0xB8: reads text input as integer via atoi, sends vtable(99, stored_item_id, quantity). On msg 0x1C: stores item ID at offset 0xB8. Falls through to default handler for other messages. |
| 0x008FFD70 | 1368 | CItemListWnd__apply_filter | Applies a filter to the item list (1368 bytes). Filters items based on type, name, or other criteria. |
| 0x009002D0 | 439 | CItemListWnd__msg_handler_submit_search | Message handler for submitting a search/text query. On msg 6 with 0xB8: reads text input, validates it is non-empty (shows error 0x818 if empty), clears child display, and sends search text via vtable(0x3B, text). On msg 6 with 0xB9: closes window (TLS clear 0xD0). Falls through to default handler for other messages. |
| 0x00900490 | 370 | CItemListWnd__update_display_state | Updates the display state of the item list window (402 bytes). |
| 0x0090082D | 1 | stub_nop_0090082d | Single-byte stub function (size=1) |
| 0x00900B10 | 112 | CItemListWnd__set_display_mode | Sets the display mode for the item list window (112 bytes). |
| 0x00900D50 | 62 | CItemListWnd__set_display_parameters | Sets display parameters for the item list window. On msg 0x50 with param 0: sets field 0xC0 to the given value. On msg 0x50 with param != 0: sets field 0xC4, and also sets fields 0xB4 and 0xC8 to 7 (likely a display mode constant). |
| 0x00900D90 | 1503 | CItemListWnd__handle_item_action | Handles item actions like use, equip, drop (1503 bytes). Main action dispatch for item operations. |
| 0x00901520 | 198 | UIItemListWindow__msg_handler | Complex UI window message handler for an item list window with buttons. Handles: msg 6 (click with tick count throttling at 300ms for 0xDA, sends position via vtable), msg 0x12/0x13 (forwarded to parent), msg 0x19 (set button to btn_next), msg 0x1A (update position), msg 0x20 (set button to close with 600 timer), msg 0x22 (map entry creation), msg 0x3F (set button to btn_close), msg 0x4B (close parent), msg 0x50 (set state), msg 0x55 (create child window with BMP sprites for normal/a/b states), msg 0x56 (remove child by ID from linked list), msg 0x7B (binary packet parser for tags 0x57E4-0x57E8). |
| 0x00901D40 | 150 | UISecureLoginWindow__msg_handler | Message handler for the secure PIN login window (security keypad). Manages a multi-stage PIN entry flow with states 0-3. State 0: enter first PIN, state 1: intermediate (resets fields), state 2: enter password, state 3: confirm password with comparison. Handles numeric key input via messages 0x124-0x130 (digits 0-9 via FUN_0090c350), backspace 0x12F, confirm 0xB8/0xDA, and cancel 0xB9. Builds packet 0x8BA/0x8BC/0x8C3 upon successful completion. Uses error message 0x75F for invalid length and 0x3F8 for password mismatch. |
| 0x00903230 | 150 | UISecureLoginWindow__msg_handler_variant | Variant of the secure PIN login window message handler. Nearly identical to the handler at 00901d40 but with different packet IDs (0x8B8/0x8BE/0x8C3). Uses the same multi-stage PIN entry flow (states 0-3) with numeric key input handling (0x124-0x130), validation, and password confirmation. State 1 additionally validates PIN length. Builds different network packets for PIN change vs new PIN scenarios. |
| 0x00904810 | 328 | UISelectItemWindow__msg_handler | Window message handler for an item selection list. On msg 6: if param is 0xC9 closes window (0x5f), otherwise looks up param-9000 in a vector to find item index and sends vtable(0x9A, index, storeId). On msg 0x22: initializes display by clearing item list, loading byte array of item data into vector, populating item display entries via FUN_008ce2c0, and resizing window based on item count (5 items per row at 0x62 height each). |
| 0x00904960 | 2219 | UISkillInfoWindow__msg_handler | Message handler for the skill information/tooltip window. On msg 6: handles 0xC9 (close) and 0x157 (skill reset). On msg 0x3D: displays skill details - gets skill name, SP/AP cost, checks IsPassiveSkill, formats skill description using GetSkillDescript/GetSkillIdName, parses description lines with CFmt, displays them in child text areas with scroll support. Caps window height to screen height minus 50px. Uses CSkillEntry for temporary skill data storage. |
| 0x00905210 | 259 | UISkillSelectWindow__msg_handler | Window message handler for a skill selection UI. On msg 6 with 0xB8: if a valid skill is selected (offset 0xB8 != -1), looks up skill group via FUN_00858d50/FUN_00858d20 and sends vtable(0x62, skillSlot, groupId) then closes window (0x37). On msg 0x44: sets the selected skill ID, looks up skill name via CSkillManager__GetSkillNameById, updates the display text, and refreshes the window. |
| 0x00905320 | 107 | UIShopBuyWindow__msg_handler | Message handler for a shop buy window. On msg 6: handles 0xB8 (buy selected item - checks index bounds, sends vtable 0xA3 or 0x100 depending on shop type flag at 0x3F), 0xB9 (cancel/close). On msg 7/9/10: scrolling support with page up/down. On msg 0x1B: sets shop type flag. On msg 0x1F: adds item ID to vector, creates CShopItemList entry, triggers item display refresh. On msg 0x3C: rebuilds item list display. |
| 0x00905590 | 665 | UIChannelSelectWindow__msg_handler | Message handler for a channel/chat selection window. On msg 6 with 0xB8: sends vtable(0xBE, channelChar) and closes window (0x77). On msg 6 with 0xB9: just closes. On msg 0x5B: sets channel character at offset 0x30, displays appropriate label text (message 0x4EF for newline/0x0A, message 0x404 otherwise). On msg 0x7B: binary packet parser for tags 0x54C4-0x54C6, copies channel data and triggers 0x5B update. |
| 0x00905830 | 895 | UIStatusWindow__msg_handler | Message handler for the character status window. On msg 6: handles 0xC9 (close), 0xCA (expand/collapse toggle), 0xCD-0xD2 (stat point allocation for STR/AGI/VIT/INT/DEX/LUK with level checks), 0x226 (toggle extended view with button sprite changes), 0x227-0x22C (trait stat allocation with validation). On msg 0x22: initializes window from data, validates position, triggers stat display update. On msg 0x23: refreshes stat buttons visibility based on available stat points and trait points. |
| 0x00905F40 | 3371 | UIBankWindow__msg_handler | Message handler for the bank/zeny deposit window. Implements a multi-state numeric input flow (states 0-3) for entering amounts. State 0: enter amount directly and send packet 0xBC. States 1-3: multi-step PIN with password entry and confirmation. Handles numeric keypad input (0x125-0x12E for digits, 0x12F for backspace, 0x130 for confirm). Validates input length (4-8 digits), confirms passwords match, and builds large zeny values using 100M multiplier for overflow handling. Max 8 digits per field. Cancel (0xB9) closes window 0x73. |
| 0x00906DE0 | 286 | UITipOfDayWindow__msg_handler | Message handler for the Tip of the Day window. On msg 6: 0xC9 (close, window ID 0x26), 0xD5 (toggle "show tips at startup" checkbox, saves to registry SHOWTIPSATSTARTUP), 0xDA (next tip, wraps around to 0), 0xF6 (previous tip, wraps to end). On msg 0x1D: displays formatted tip content with title text and iterates through text array to display tip lines. |
| 0x00907050 | 779 | UITipBoxWindow__msg_handler | Message handler for the expanded tip box window (loading screen tips). On msg 6: 0xB8 (advance to next page, inserts into BST-based page set, updates CTipBox selection), 0xC9 (close, window ID 0x13B), 0xD5 (save tips toggle to registry), 0xDA (next page with last-page check), 0xF6 (previous page), 0x16D (update content from skill data string), 0x205 (show reward detail based on type 0x1EA-0x1EC), 0x21F (navigate). Uses CTipBox class for page management. Manages prev/next button enable states based on page position. |
| 0x00907610 | 52 | UISimpleOkCancelWindow__msg_handler | Simple window message handler that closes (destroys) the window on either OK (0xB8) or Cancel (0xB9) button press. Falls through to default handler for non-msg-6 messages. |
| 0x00907650 | 104 | UIConfirmationPopup__msg_handler | Message handler for a confirmation popup window. On msg 6 with 0xB9 (cancel): sends vtable message 0x2725 (generic cancel notification). On msg 0x58: repositions a child window (offset 0xB8) to center horizontally and anchor to bottom of the popup, with 5px bottom margin. |
| 0x009076C0 | 134 | UIChatWindow__msg_handler | Message handler for the chat input window. On msg 3/4: scroll up/down via child window. On msg 6 with 0xB8: processes chat send - validates language filter, processes slash commands via FUN_00e07fb0/FUN_00de1010, sends regular chat via vtable 0xB, handles whisper mode. On msg 6 with 0xC9: close. On msg 0xE (resize): constrains size to 280x120 min / 512x384 max, rounds to 32px grid, repositions child elements. On msg 0x22: initialize from data. On msg 0x25: processes incoming chat text with hyperlink detection and color coding. On msg 0x30: handles link clicks. On msg 0x31: builds right-click context menu with chat commands. On msg 0x9A: processes auto-complete. |
| 0x009080E8 | 257 | UISkillTreeWnd__show_delete_skill_confirmation | UISkillTreeWnd: show delete skill confirmation |
| 0x00908260 | 140 | UICashShopWindow__msg_handler | Message handler for the Cash Shop (NeoCash) window. Handles: msg 6 with 0xC9 (close + send packet 0x84A), 0xE0 (purchase validation - checks balance, quantity, builds purchase packet 0x848), 0x13C/0x13D (page prev/next), 0x16D (search by name), 0x182 (init shop items), 0x183-0x184 (first/last page), 0x185-0x18E (category tabs 0-10 with registry save to CASH_CATEGORY). Msg 7/9/10: scrolling. Msg 0x22: initialize from position data. Msg 0x26: handles buy/sell transactions with inventory updates, validates purchase limits. Msg 0x3C: populates item list by category. Msg 0x78: reads saved category from registry. Msg 0x79: calculates page count. Msg 0x7A: updates balance display. |
| 0x00909830 | 105 | UICharSelectAction__msg_handler | Message handler for a character select action button. On msg 6 with 0xC0: if flag DAT_01737f4a is set, sends vtable message 0x14B (rename character), otherwise sends 0x143 (enter game). Falls through to FUN_00a83660 for non-msg-6 messages. |
| 0x009098A0 | 245 | determine_character_class_type | Determines the character class type for display purposes. If param_1==0 and DAT_01738254>0, sends vtable(0x50, 6). Otherwise checks DAT_0173354c against 8 different class type validation functions (FUN_00df96e0 through FUN_00df9800) to classify the job into categories: 5 (first check), 4, 3, 1 (four middle checks share result 1), 0 (default/not found). Sends result via vtable(0x50, classType). |
| 0x009099A0 | 20 | CUIWindow__set_child_window_0xb8 | Sets the child window pointer at offset 0xB8 if the provided pointer is non-null. |
| 0x009099C0 | 20 | CUIWindow__set_child_window_0xb8_alt | Sets the child window pointer at offset 0xB8 if the provided pointer is non-null. Identical to CUIWindow__set_child_window_0xb8 - likely a different class's version of the same virtual method. |
| 0x009099E0 | 667 | CCharSelectWnd__init_character_stats | Initializes character stats for the character select screen. If offset 0xB4 is 0, reads live data from global sources (FUN_00dddfe0 for level, FUN_00e13b00, DAT_01733510 for class, DAT_01733524/28 for position, plus sprite ID from current actor). Otherwise reads cached data from DAT_01737fb0-DAT_01737fd4. Then loads equipment sprites for head, body, and accessory slots (via FUN_008d84a0 with indices 8, 9, 0, 2), storing sprite IDs at offsets 0x104-0x118. |
| 0x00909C90 | 52 | CUIWindow__update_child_text_display | Clears text on child window at offset 0xB4 (via vtable 0xDC) then sets new text via vtable message 0x1D with color 0x26. |
| 0x00909CF0 | 37 | get_tip_entry_count | Returns the number of tip entries by computing (end - begin) / 12 from the tip vector. If the initialization flag (offset 0) is zero, calls FUN_00ae7760 to load tips first. |
| 0x00909DF0 | 56 | CUIWindow__save_position_to_data_0xcc | Saves window position and size to the data structure at offset 0xCC. Stores width (0x14), height (0x18) at data+8/+C and x (0x1C), y (0x20) at data+0/+4. Only operates if the data pointer at 0xCC is non-null. |
| 0x00909E30 | 56 | CUIWindow__save_position_to_data_0x250 | Saves window position and size to the data structure at offset 0x250. Stores x/y (0x1C/0x20) at data+0/+4 and width/height (0x14/0x18) at data+8/+C. Only operates if the data pointer at 0x250 is non-null. |
| 0x00909E70 | 71 | CUIWindow__save_position_to_data_0xc8 | Saves window position, size, and an extra field (offset 0xC4) to data structure at offset 0xC8. Stores width/height at data+8/+C, x/y at data+0/+4, and extra value at data+0x10. Only operates if the data pointer at 0xC8 is non-null. |
| 0x00909EC0 | 56 | CUIWindow__save_position_to_data_0xbc | Saves window position and size to the data structure at offset 0xBC. Stores x/y at data+0/+4 and width/height at data+8/+C. Only operates if the data pointer at 0xBC is non-null. |
| 0x00909F00 | 56 | CUIWindow__save_position_to_data_0x200 | Saves window position (x/y at data+0/+4) and size (w/h at data+8/+C) to data structure at offset 0x200. |
| 0x00909F40 | 56 | CUIWindow__save_position_to_data_0xf0_v1 | Saves window position and size to data structure at offset 0xF0. Stores w/h at data+8/+C and x/y at data+0/+4. |
| 0x00909F80 | 56 | CUIWindow__save_position_to_data_0xec | Saves window position and size to data structure at offset 0xEC. Stores w/h at data+8/+C and x/y at data+0/+4. |
| 0x00909FC0 | 56 | CUIWindow__save_position_to_data_0xf0_v2 | Saves window position (x/y at data+0/+4) and size (w/h at data+8/+C) to data structure at offset 0xF0. |
| 0x0090A000 | 56 | CUIWindow__save_position_to_data_0xd4 | Saves window position (x/y at data+0/+4) and size (w/h at data+8/+C) to data structure at offset 0xD4. |
| 0x0090A040 | 56 | CUIWindow__save_position_to_data_0xd0_v1 | Saves window position and size to data structure at offset 0xD0. Stores w/h at data+8/+C and x/y at data+0/+4. |
| 0x0090A080 | 92 | CUIWindow__save_position_to_data_0xd0_extended | Saves window position, size, and extra fields to data structure at offset 0xD0. Stores w/h at data+8/+C, x/y at data+0/+4, plus offset 0xCC value at data+0x10 and a boolean (offset 0xFC == 1) at data+0x18. |
| 0x0090A0E0 | 149 | CUIWindow__save_position_and_close_0x100 | Saves window position/size to data structure at offset 0x100 (w/h at data+8/+C, x/y at data+0/+4), then copies the string at offset 0xB4 and calls FUN_00a8ce50 to close/destroy the window. |
| 0x0090A180 | 56 | CUIWindow__save_position_to_data_0x100 | Saves window position and size to data structure at offset 0x100. Stores w/h at data+8/+C and x/y at data+0/+4. |
| 0x0090A1C0 | 115 | CSecureKeypad__set_input_params | Sets input parameters for the secure keypad window. Stores 4 values at offsets 0xF4, 0xF8, 0xEC, 0xF0. Conditionally clears 3 separate input buffers (at 0xD0, 0xD9, 0xE2) based on the boolean flags param_6, param_7, param_8 respectively. Each buffer is 9 bytes (8 chars + null terminator). |
| 0x0090A240 | 156 | CSecureKeypad__toggle_button_visibility | Toggles visibility of two buttons on the secure keypad window. param_2=0 controls button at offset 0xD0, param_2=1 controls button at offset 0xD4. param_3=1 hides the button, otherwise shows it. Calls vtable 0x98 twice on each to refresh display. |
| 0x0090AED0 | 36 | scale_y_to_screen_height | Scales a Y coordinate to the current screen height. Returns (screenHeight * param_1) / 480, where 480 is the reference resolution height. |
| 0x0090AF00 | 375 | save_bookmark_to_registry | Saves a bookmark value to the Windows registry. Builds the registry key path by concatenating the base registry path, "_BookMark\\", the character name (from DAT_01737b74), and the account name (from FUN_00e08c70). Creates/opens the key under HKEY_LOCAL_MACHINE and writes the 4-byte integer value with the key name provided in param_1. |
| 0x0090B080 | 750 | save_whisper_log_to_file | Saves the current whisper chat log to a text file. Creates directory "{saveDir}/Whisper/" if needed, copies the chat partner name from offset 0xB4, sanitizes it by replacing invalid filename characters (\\/:*?\"<>\|) with underscores, then saves to "{saveDir}/Whisper/{name}.txt". If file already exists, appends a 3-digit counter suffix. Shows confirmation message "is Saved." via FUN_00aa9100. |
| 0x0090B370 | 99 | save_tips_at_startup_to_registry_v1 | Saves the SHOWTIPSATSTARTUP setting to the Windows registry. Reads the value from this->offset_0xBC and writes it as a 4-byte DWORD under HKLM with the base registry path. |
| 0x0090B3E0 | 99 | save_tips_at_startup_to_registry_v2 | Saves the SHOWTIPSATSTARTUP setting to the Windows registry. Reads the value from this->offset_0x100 and writes it as a 4-byte DWORD under HKLM with the base registry path. |
| 0x0090BF40 | 165 | check_mbcs_string_byte_length | Checks if an MBCS (multi-byte character set) string's byte length is under a specified limit. Sets code page to 949 (Korean), iterates through each byte position using _mbsbtype to count single-byte chars as 1 and double-byte chars as 2. Returns true if total byte count is less than the limit parameter. |
| 0x0090C020 | 460 | CUIWindowManager__create_sprite_button | Creates a sprite-based button window. Allocates 0x120-byte window (via FUN_0084eab0 ctor), loads BMP sprites for 3 states (normal/hover/pressed) via FUN_008657a0, sets size and position via FUN_00a7b470, applies tooltip text via FUN_00869730, and inserts into the parent's BST-based child window tree. Associates a data pointer (param_2 + 0xFA offset) with the button via vtable 0xB4. |
| 0x0090C350 | 38 | CSecureKeypad__find_digit_position | Finds the position of a digit value in the keypad's randomized digit array at offset 0x110. Iterates through 10 positions (0-9) comparing each byte against param_2. Returns the index where the digit is found, or -1 if not found. |
| 0x0090C380 | 81 | CSecureKeypad__hide_all_buttons | Hides all buttons on the secure keypad window. Iterates through 11 buttons starting at offset 0x124 and 5 buttons starting at offset 0x150, marking each as hidden (byte 0x2B = 1) and calling vtable 0x98 to refresh. |
| 0x0090C5A0 | 792 | CSecureKeypad__randomize_button_positions | Randomizes the positions of the 10 digit buttons on the secure keypad using a Mersenne Twister PRNG. Generates a Fisher-Yates shuffle of indices 0-9, then repositions each button (stored at offsets 0x124+) using pre-defined coordinate tables loaded from static data. Calls vtable 0x98 to refresh the window after repositioning. |
| 0x0090C8C0 | 162 | build_network_packet_from_vector | Builds a network packet by combining a 2-byte header (param_2), a 4-byte size field (vector data length), and the vector's raw data content. Allocates a byte vector to hold the packet, writes the header and size, then memcpys the vector data. Returns the output vector pointer. |
| 0x0090C970 | 51 | CSecureKeypad__set_mode | Sets the keypad mode at offset 0x11C. If mode is 0, loads and displays a string (message 0xA06) via FUN_008681c0. |
| 0x0090C9C0 | 5193 | CSecureKeypad__ctor | Constructor for the secure keypad window class. Large function (5193 bytes) that initializes the keypad UI with digit buttons, labels, and layout. Skipped full decompilation due to size. |
| 0x0090DE10 | 141 | CSecureKeypad__show_all_buttons | Shows all buttons on the secure keypad. Sets 11 buttons at offset 0x124 and 5 buttons at offset 0x150 to visible (byte 0x2B = 0). If mode (DAT_01737d18) is 4 or 5, hides the buttons at offsets 0x154 and 0x158. |
| 0x0090DEA0 | 149 | CTextSegment__default_ctor | Default constructor for a text segment structure (0x3C bytes). Copies the first dword from param_3, then initializes two empty std::string members (at offsets +0xC and +0x24) with default capacity 0xF. |
| 0x0090F8B0 | 25 | memset_dwords_to_zero | Zeros param_2 dwords (param_2*4 bytes) starting at param_1 using memset. |
| 0x0090FCC0 | 123 | tooltip_entry__copy_from | Copies a tooltip entry struct from source to destination. Copy-constructs the embedded string, then copies remaining fields (offsets 0x18-0x38) as raw data. |
| 0x0090FD40 | 132 | tooltip_entry__move_construct | Move-constructs a single tooltip entry (28 bytes = 7 ints). Copies 4 ints + moves SSO string (resets source to empty) + copies trailing int. |
| 0x009102E0 | 148 | tooltip_node__copy_construct | Copy-constructs a tooltip tree node. Copies first field, copy-constructs embedded string (offset 4-24), then copies remaining fields (offsets 0x1c-0x44) as raw data including ints, doubles, and flag byte. |
| 0x00910480 | 356 | CKafraServiceInfo__copy_construct | Copy-constructs a CKafraServiceInfo object. Copies map tree (0x24-byte nodes), then copies 8 scalar fields followed by 192 bytes of data and 4 trailing fields. Contains Kafra service configuration data. |
| 0x009106B0 | 468 | CKafraMoveMapService__ctor | Constructor for CKafraMoveMapService. Initializes strings, registers two Lua callbacks: "ReadKafraMoveMapServiceInfo" and "ReadKafraMiniMapPosInfo" via FUN_00afc9a0. |
| 0x00910890 | 199 | UICollectionSlotMachine__ctor | Constructor for UICollectionSlotMachine window. Calls UIWindowBase__ctor, initializes fields, loads collection_slotmachine .act and .spr sprite resources. |
| 0x00910960 | 114 | kafra_map_entry__copy_construct | Copy-constructs a kafra map entry. Copies two int fields, then copy-constructs two embedded SSO strings at offsets 0x8 and 0x20. |
| 0x009109E0 | 132 | kafra_map_entry__default_ctor | Default-constructs a kafra map entry. Zeroes two int fields and initializes two inline SSO strings (capacity 0xf each) at offsets 0x8 and 0x20 to empty. |
| 0x00910A70 | 169 | tooltip_entry__move_construct_full | Move-constructs a full tooltip entry (60 bytes = 15 ints). Moves SSO string at offset 0 (resets source), then copies remaining fields including ints, doubles, and flags at offsets 0x18-0x38. |
| 0x00910B20 | 178 | kafra_service_strings__copy_construct | Copy-constructs a Kafra service strings object containing 6 SSO strings (at offsets 0, 0x18, 0x30, 0x48, 0x60, 0x78) and a flag byte at 0x90. |
| 0x00910C40 | 1345 | UIKafraWindow__ctor | Constructor for UIKafraWindow. Initializes UIWindowBase, sets vtable, populates message ID vector with 24+ message IDs (0x4fd-0x509, 0x533, 0x60d, 0x652-0x657, 0x93d, 0xba4, 0xfbc-0xfbf) for Kafra storage/service UI messages. Sets window title from message 0x509. |
| 0x00911190 | 86 | UIWindow_9153e0__ctor | Constructor for UI window class (vtable 0x09153e0). Inherits from UIWindowBase. Simple constructor with no additional field initialization. |
| 0x009111F0 | 84 | UIHyperlinkTextWidget_915450__ctor | Constructor for a UI hyperlink text widget (vtable 0x0915450). Inherits from UIHyperlinkTextWidget. Simple constructor that sets vtable pointer after base initialization. |
| 0x00911250 | 167 | UIWindow_9154c0__ctor | Constructor for UI window class (vtable 0x09154c0). Inherits from UIWindowBase. Checks a game mode condition at offset 0x250 and calls FUN_00cd58b0/FUN_00e1df20 to determine an initial display mode stored at offset 0x34 (values 0, 1, or 2). |
| 0x00911300 | 268 | UIWindow_915530__ctor | Constructor for UI window class (vtable 0x0915530). Inherits from UIWindowBase. Initializes layout/dimension fields (offsets 0x2d-0x36) with default values including colors (0x12, 0x11) and spacing (0x14, 3). Uses eh_vector_constructor_iterator to init 4 std::map sentinels at offset 0x37. Sets flags at 0x3f-0x45. |
| 0x00911410 | 116 | UIWindow_915610__ctor | Constructor for UI window class (vtable 0x0915610). Inherits from UIWindowBase. Initializes three fields to zero at offsets 0x2d, 0x34, and 0x3a. |
| 0x00911490 | 96 | UIWindow_915680__ctor | Constructor for UI window class (vtable 0x0915680). Inherits from UIWindowBase. Initializes a single field to zero at offset 0x2e. |
| 0x009114F0 | 178 | UIWindow_9156f0__ctor | Constructor for UI window class (vtable 0x09156f0). Inherits from UIWindowBase. Initializes two inline string fields (SSO-style, capacity 0xf) at offsets 0x2d and 0x33, plus a selected index field at 0x39 initialized to -1. |
| 0x009115B0 | 106 | UIWindow_915780__ctor | Constructor for UI window class (vtable 0x0915780). Inherits from UIWindowBase. Initializes two fields to zero at offsets 0x2d and 0x2e. |
| 0x00911620 | 209 | UIWindow_9157f0__ctor | Constructor for UI window class (vtable 0x09157f0). Inherits from UIWindowBase. Initializes two inline string fields (SSO-style, capacity 0xf) at offsets 0x2f and 0x35, three counter/state fields at 0x4b-0x4d, and clears global DAT_016fc550. |
| 0x00911700 | 313 | UIWindow_915890__ctor | Constructor for UI window class (vtable 0x0915890). Inherits from UIWindowBase. Initializes layout fields and sets global DAT_01457a74=1. Has a switch on DAT_016d3b10 (game service type) to adjust a layout dimension at offset 0x48: values 1/7/0xb -> 0x6e, 10 -> 0x47, 0x12 -> 0x5a (likely different UI widths for different RO services like kRO/jRO/etc). |
| 0x00911860 | 86 | UIWindow_915910__ctor | Constructor for UI window class (vtable 0x0915910). Inherits from UIWindowBase. Simple constructor with no additional field initialization. |
| 0x009118C0 | 141 | UIWindow_915980__ctor | Constructor for UI window class (vtable 0x0915980). Inherits from UIWindowBase. Initializes selected index at offset 0x2d to -1, zeroes string/buffer fields at offsets 0x2f and 0xbd-0xc3, and clears state fields at 0x31-0x32. |
| 0x00911950 | 86 | UIWindow_9159f0__ctor | Constructor for UI window class (vtable 0x09159f0). Inherits from UIWindowBase. Simple constructor with no additional field initialization. |
| 0x009119B0 | 798 | UIKafraMoveMapWnd__ctor | Constructor for Kafra Move Map window (vtable 0x0915a60). Inherits from UIWindowBase. Initializes a linked list node at offset 0x2d, inline string fields, and sub-UI objects. Reads "ReadKafraMoveMapServiceInfo" and "ReadKafraMiniMapPosInfo" configuration data via FUN_00afc9a0. Contains two UIClass_0913c90 sub-objects and a clear_all_entries call. Sets color values (0xaaffffff) and various layout/state fields. |
| 0x00911CD0 | 522 | UIWindow_915a90__ctor | Constructor for UI window class (vtable 0x0915a90). Inherits from UIWindowBase. Initializes many fields (0x2d-0x45) to zero, allocates a linked list node at offset 0x44, uses eh_vector_constructor_iterator to init 9 CFmt-related entries at offset 0x46. Sets boundary/clipping values with 0xfffb offsets. Large object with list management capabilities. |
| 0x00911EE0 | 303 | UIWindow_915b50__ctor | Constructor for UI window class (vtable 0x0915b50). Inherits from UIWindowBase. Initializes fields 0x2d-0x34 to zero, uses eh_vector_constructor_iterator to init 9 std::map entries at offset 0x41, allocates a linked list node at offset 0x53, and initializes selection/state fields with -1 default at offset 0x57. |
| 0x00912010 | 201 | UIWindow_915c00__ctor | Constructor for UI window class (vtable 0x0915c00). Inherits from UIWindowBase. Initializes timer fields with GetTickCount() relative to global DAT_017381e4. Sets a 1000ms interval at offset 0x33 and an enabled flag at offset 0x31. Likely a timer-based or animation UI window. |
| 0x009120E0 | 265 | UICharSelectWnd__ctor | Constructor for UICharSelectWnd (character selection window, vtable UICharSelectWnd). Inherits from UIWindowBase. Uses eh_vector_constructor_iterator to init 0x12 (18) CCharSlotEntry objects of size 0x15c each at offset 0x2d. Sets visible slot count to 6 (or 9 if DAT_017334cc > 12). Initializes slot enable flags and records timeGetTime() for animation timing. |
| 0x009121F0 | 183 | UIWindow_915d10__ctor | Constructor for UI window class (vtable 0x0915d10). Inherits from UIWindowBase. Initializes display state fields: enabled=1, selected=-1, page=0, items_per_page=0x19, plus an inline SSO string at offset 0x3c with capacity 0xf. |
| 0x009122B0 | 136 | UIWindow_915d90__ctor | Constructor for UI window class (vtable 0x0915d90). Inherits from UIWindowBase. Initializes two state fields to zero at 0x2f-0x30, two selection indices to -1 at 0x55-0x56, and an enabled flag to 1 at 0x57. |
| 0x00912340 | 246 | UIWindow_915e00__ctor | Constructor for UI window class (vtable 0x0915e00). Inherits from UIWindowBase. Initializes an inline SSO string at offset 0x45 (capacity 0xf), clears fields at 0x2d-0x2f. Sets layout dimensions at 0x3a-0x3c (0x10, 0x47, 0xf). Has same service-type switch on DAT_016d3b10 as UIWindow_915890 to adjust width at offset 0x3b. |
| 0x00912460 | 116 | UIWindow_915e80__ctor | Constructor for UI window class (vtable 0x0915e80). Inherits from UIWindowBase. Sets type=2 at offset 0x2d, width=0x20 at 0x2e, height=0x20 at 0x2f. Likely a 32x32 icon/thumbnail UI element. |
| 0x009124E0 | 86 | UIWindow_915ef0__ctor | Constructor for UI window class (vtable 0x0915ef0). Inherits from UIWindowBase. Simple constructor with no additional field initialization. |
| 0x00912900 | 130 | cleanup_string_and_free_0x5c | Cleanup helper that first destroys an embedded std::string (via STL_string_dtor after helper_005c2a80), then frees a 0x5c-byte heap allocation at this+4. Two-phase destruction for objects containing strings. |
| 0x009129E0 | 107 | cleanup_object_and_free_0x340 | Cleanup helper that first calls FUN_00ca5120 to destroy an embedded object, then frees a 0x340-byte heap allocation at this+4. Two-phase destruction. |
| 0x00912E80 | 140 | cleanup_two_strings_and_free_0x4c | Cleanup helper that destroys two embedded std::strings (via STL_string_dtor twice), then frees a 0x4c-byte heap allocation at this+4. For objects containing two string members. |
| 0x00912F10 | 123 | cleanup_string_and_free_0x58 | Cleanup helper that destroys one embedded std::string (via STL_string_dtor), then frees a 0x58-byte heap allocation at this+4. |
| 0x009134F0 | 75 | eh_vector_dtor_cleanup_free_4c | EH vector destructor iterator: destroys 4 elements of size 8 using seh_unwind_cleanup_list_and_free_4c. |
| 0x00914350 | 104 | CChatWnd__dtor | CChatWnd destructor. Sets vtable to PTR_FUN_01140b70, calls CChatWnd__save_chat_window_layout to persist layout, clears a pointer vector of chat entries, then UIWindowBase__dtor. |
| 0x009147C0 | 123 | UICharSelectWnd__dtor_b | Character select window destructor. Sets vtable to PTR_FUN_01140224. Destroys a CFmt, then uses eh_vector_destructor_iterator to destroy 18 CCharSlotEntry objects (0x15C bytes each), then UIWindowBase__dtor. |
| 0x009149F0 | 119 | struct_copy_with_string_at_0x38 | Copy assignment for a 0x38-byte struct. Copies fields at offsets 0x04-0x34 directly, then calls FUN_0090e110 to copy a string/container at offset 0x38 if source and dest differ. |
| 0x00914A70 | 84 | struct_copy_with_two_strings | Copy assignment for a struct with two STL strings. Copies first two dwords directly, then assigns two embedded STL strings (at offsets 8 and 0x20) using STL_lib_func_004fa8f0. |
| 0x00914AD0 | 95 | struct_copy_with_string_and_bytes | Copy assignment for a struct. Assigns an STL string at offset 0 if not self-assignment, copies 25 raw bytes starting at offset 0x18, then copies 4 dwords at offsets 0x34-0x40. |
| 0x00915C70 | 147 | UICharSelectWnd__scalar_deleting_dtor_b | Scalar deleting destructor for character select window. Sets vtable to PTR_FUN_01140224, destroys CFmt and 18 CCharSlotEntry objects, calls UIWindowBase__dtor, optionally frees 0x1A00 bytes. |
| 0x00915F60 | 263 | CRenderQueue__submit_textured_quad | Submits a textured quad to the render queue. Allocates a mesh entry, fills 4 vertices with positions (params 1-8), fixed alpha (0.8f), full white color (1.0f), UV coordinates (0,0 / 1,0 / 0,1 / 1,1), and color param_10. Sets primitive type to triangle strip (2 triangles, 4 verts) and classifies with flag 0x201. |
| 0x009160A0 | 200 | ui_element__apply_position_offset_from_map | Looks up a string key (at param+0x20) in a global map via std__map_string__find_or_insert_30. If found, reads two float offsets and adds them to the element's bounding box at offsets 0x38-0x44 (left, top, right, bottom). |
| 0x00916170 | 174 | UIEditField__on_confirm_input | Handles confirm/enter on an editable text field. Checks global flags DAT_014576a4/a6. If text is empty, clears state. Otherwise gets display text from UIEditableTextWidget, updates UI state, and calls FUN_00aa9e60. Also calls FUN_0087a2f0 if a child element at offset 0xBC has non-zero data at 0x144. |
| 0x00916220 | 1046 | UIListWnd__process_input_event | Processes input events for a list/grid UI window. Handles mouse clicks, keyboard navigation (ESC, arrows, page up/down). Checks for special key states (Ctrl/Shift/Alt modifiers with keycodes 0x10-0x12). Calls GetKeyDes for key description lookups. Updates selected item, positions highlight cursor, and triggers redraw. Returns 1 if event consumed, 0 otherwise. |
| 0x00916640 | 88 | UIAnimatedList__advance_frame | Advances animation frame in an animated list. If not paused (offset 0xC8 == 0) and enough time has elapsed (delta > threshold at 0xB4), increments current frame (0xC0). Wraps around to 0 when reaching total frame count from UISkillWnd__get_tree_node_count. Updates last tick timestamp at 0xCC. |
| 0x009166A0 | 179 | UITabWnd__update_tab_positions | Updates tab positions in a tabbed window. If param_2 is set and tab count > 0, iterates through tab child widgets. The selected tab (index 0x45) is positioned at (5, offset+2), others are moved offscreen. Then calls virtual method 0x94 on a parent window (0x84 bytes), updates child widget at 0x4E, and redraws. |
| 0x00916760 | 178 | UIListWnd__store_key_mapping | Stores a key mapping entry into the map for a list window. Inserts into std::map<int, 0x4C-struct> with two int params and two STL string params. Copies strings into the map value, then cleans up temporaries. |
| 0x00916820 | 161 | UIListWnd__check_modifier_keys | Checks modifier key states for a list window input handler. If mode==1 and key state returns 0x1F, checks for Ctrl(0x11)/Shift(0x10)/Alt(0x12) modifiers. Space(0x20) and NumLock(0x90) keys return 2 or 4 depending on modifier. Scroll Lock(0x14) returns 3. Falls back to FUN_00a96eb0 for other keys. Returns modified param_2 or 3 for ignored keys. |
| 0x009168D0 | 83 | UIAnimatedList__check_double_click | Checks for double-click timeout on an animated list item. If current selection (0xC0) matches previous (0xC4), starts tracking click time. If more than 2000ms elapse without a matching second click, calls tls_clear_field_4f1d4 to reset the interaction state. |
| 0x00916930 | 1123 | UIListWnd__resolve_key_conflict | Resolves key binding conflicts in a list window. Iterates through 4 key binding categories, searches for matching key codes (DAT_01457690/94). If a conflict is found with a different entry, calls FUN_00a901e0 and if result is 0xBB, swaps key bindings by storing both old and new via UIListWnd__store_key_mapping. Returns 1 if conflict kept, 0 if resolved/swapped. |
| 0x00916DA0 | 35 | check_dimension_overflow_2036 | Checks if either dimension parameter equals 0x7F4 (2036). If so, calls CItemCollection__send_favorite_tab_update (at 0x00e2f3b0), likely an error or bounds-check handler for oversized dimensions. |
| 0x00917070 | 138 | ui_calculate_text_width_abs | Calculates absolute text width for a UI string. Calls FUN_00a80580 to measure the string, subtracts two offset parameters, multiplies by a float scaling factor (DAT_010dc090), and returns the absolute value of the result. |
| 0x00917100 | 1121 | UISkillBarWnd__handle_skill_drag_drop | Handles drag-and-drop operations for skill bar entries. Two main paths: (1) If param_4 is a skill entry (flag at offset 0x80 set), handles placing skills into hotbar slots based on grid position, looking up skill data via FUN_00e088a0 and managing the global skill list (DAT_01737a78). (2) If not a skill entry, processes direct slot assignments using FUN_0091c500 and FUN_00e25f20. Manages linked list traversal for removing duplicate entries. Calls virtual methods 0x94 and 0x98 for updates and redraws. |
| 0x00917640 | 1441 | UISkillBarWnd__handle_extended_drag_drop | Extended drag-and-drop handler for the skill bar with navigation map support. Uses CUINavMap__tree_lower_bound to look up a group index. Similar to UISkillBarWnd__handle_skill_drag_drop but supports multiple skill bar rows (via DAT_017326f4 row offset). Handles skill placement, removal, and swapping between slots using timeGetTime for timing checks. Creates animation entries via FUN_00ca4f30 and STL_list_push_back_0x340. |
| 0x00918800 | 307 | UISkillTreeNode__render_detail_sprites | Renders detail sprites for a skill tree node. Gets the current node via UISkillWnd__get_skill_tree_node, iterates through detail entries, looks up sprite frames using stub_0056fbb0/stub_0056f410, and draws each via virtual method 0x28 on the UI renderer. Positions sprites using node coordinates scaled and offset by the widget's center point. |
| 0x009196E0 | 1130 | UIWorldMap__render_main_view | Main rendering function for the world map view. Sets up viewport clipping via CWorldView__clamp_tab_and_set_texture. Renders zone overlay rects with per-zone colors/textures. Calls UIClass__render_waypoints for waypoint rendering. Draws selection highlight if DAT_01389998 is set. Renders node face icons, connection lines, tooltip/info panel. Manages two animation sequences (at offsets 0x53 and 0x67) using frame timing with sqrt-based distance calculation for route arrow progression. Calls UIWorldMap__render_map_route_arrows and UIClass__render_route_visualization. |
| 0x0091B170 | 1163 | UIWorldMap__render_node_face_icons | Renders path/route lines on the navigation map. Gets the current map name via get_field4_if_mode1. For each entry in the linked list matching DAT_013899bc, compares the entry name against the current map. Loads one of two face textures: "worldview\\interface\\wv_face1.bmp" if names match, or "worldview\\interface\\wv_face.bmp" if different. Renders the texture as a centered rect near the entry with 0xEEFFFFFF alpha, sized proportional to DAT_013899c0 scale. |
| 0x0091B930 | 144 | UIGridWnd__hit_test_cell | Performs hit testing on a grid window to determine which cell was clicked. Validates click is within bounds (x: 0x1B to width-0x1A, y: 0x5F-0x16D). Calculates row (from y: 0x87 row height) and column (from x: 0x51 col width). Sends message type 8 with cell index via DAT_013495bc virtual method 0x18. |
| 0x0091BA20 | 233 | UIListWnd__hit_test_filtered_item | Hit tests a filtered list to find which visible item was clicked. Validates click bounds. Iterates items, comparing each name against FUN_00b00f00(0x60D) to filter visible entries. Counts visible items starting from offset 0xC4, mapping the click Y-position (0x14-pixel rows) to a visible item index. Returns the raw index or -1 if nothing hit. |
| 0x0091BB10 | 175 | UIGridWnd__hit_test_tree_item | Hit tests a tree-based grid to find which item was clicked. Validates click is within bounds (x: 0x14 to width-0x14, y: 0x78 to height-0x1E). Iterates through tree nodes from DAT_017381cc, counting visible entries from page offset (0x1A4 * 0x1AC). Maps click Y-position (0x28-pixel rows) to an item index. Returns raw index or -1. |
| 0x0091BBC0 | 442 | UIShopWnd__on_click_item | Handles click on a shop window item. Resets selection (0xE0 = -1). If shop list is empty, constructs an empty CShopItem. Otherwise validates click bounds (x: 5-width-10, y: 100 to rows*item_height) and calculates item index from Y position. If valid, copies item description from the shop data array (0x158-byte entries from DAT_0173820c). Returns param_2. |
| 0x0091BD80 | 149 | UIKeyBindWnd__hit_test_key_slot | Hit tests key binding slots in a two-column layout. Validates click is within horizontal margins (offset 0xC8) and vertical bounds (offsets 0xBC-0xC0 with padding 0xCC). Calculates slot index from Y position divided by item height (0xD0). If click is in right half, adds the column offset (0xB8). Validates against total count from FUN_00e0a4c0. Returns slot index or -1. |
| 0x0091BE20 | 89 | CUINavMap__lookup_group_value | Looks up a group value from the navigation map tree. Calls CUINavMap__tree_lower_bound to find the entry. If found and key matches, returns the value at offset 0x18. Otherwise returns 0. Uses sentinel node at offset 0x7FAC. |
| 0x0091C4D0 | 36 | skill_slot_index_to_pixel_x | Converts a skill bar slot index to pixel X position. Starts at X=5, increments by 0x1D (29) per slot. Returns -1 if slot index would exceed X=0x3F (63). Max 2 slots (indices 0-1). |
| 0x0091C500 | 63 | UISkillBar__hit_test_slot_single_row | Hit tests a single-row skill bar. Validates Y < 0x18 (24 pixels). Validates X is within slot bounds (0x1D pixel slots starting at offset 4). Returns slot index 0-based, or -1 if click is outside any slot. |
| 0x0091C540 | 177 | UISkillBar__hit_test_slot_multi_row | Hit tests a multi-row skill bar. Resets row index (offset 0x158). Calculates total height from row count (0x15C) times 0x21 pixels. If DAT_0173a765 is set, adds one extra row. Validates bounds, determines row from Y (0x21 pixel rows) and column from X (0x1D pixel columns, starting at offset 0xF). Stores row in DAT_017326f4 and offset 0x158. Returns column index or -1. |
| 0x0091C720 | 654 | UIKeyBindWnd__get_hotkey_entry_info | Gets hotkey entry information for a key binding list. Takes category (param_2), index (param_3), and resolve flag (param_4). If param_4 is set, resolves the actual key via compute_hotkey_index_with_special_ids. Searches the red-black tree map at offset 0xDC+category*8 for matching entries. If found, copies display strings via struct_copy_with_two_strings. Falls back to lua_get_hotkey_config and UIMapEntry__move_ctor for generating default entries. Returns struct with key code (offset 0), flags (offsets 1-2), and two display strings. |
| 0x0091CA10 | 1258 | UIKeyBindWnd__build_hotkey_tree_maps | Builds hotkey tree maps for the key binding window. Iterates through 4 hotkey categories, calling CUserHotKey__remap_hotkey_category for each. For each hotkey in each category, calls Lua functions "GetUserHotKeyInfo" and "GetOriginalHotKeyInfo" to get display strings. Inserts entries into per-category red-black tree maps (at offsets 0x37+category*2) keyed by hotkey index. Each tree node stores the key index and two display strings. Calls virtual method 0x98 after completing all 4 categories. |
| 0x0091CF00 | 58 | reset_navigation_search_state | Resets the navigation search state. Clears the search string to empty, zeros out DAT_01737fa0/a4/a8 (search results/indices) and DAT_01737f80 (search mode flag). |
| 0x0091CFB0 | 3069 | UINavigator__load_map_specific_navigation_data | Loads map-specific navigation data based on the current map name. Checks if the map name matches special maps via UIClass__is_special_map_name. For mode 0 maps (izlude, ra_fild12, yuno): pushes 4 texture entries each. For mode 1 maps (einbroch, lighthalzen, hugel): pushes 4-7 texture entries depending on the specific map. Each branch constructs strings and calls CEffectParticle__push_back_texture_entry, then calls UIClass__rebuild_navigation_entries. If already initialized (flag 0x35), returns immediately. Returns 1 if data was loaded, 0 if map is not special or already loaded. |
| 0x0091DBB0 | 1219 | UINavigator__populate_zone_entries_from_map | Populates navigation zone entries from a string map. Looks up entries via std__map_string__find_or_insert_34, copies the element array, then iterates each entry calling CWorldView__find_child_zone_by_name_in_groups. For each found zone, copies the zone name string, initializes entry bounds via UIClass__init_entry_from_string_and_bounds, and appends a 0x3C-byte element to the vector at offset 0x8. Cleans up temporary string/array allocations. |
| 0x0091E810 | 327 | get_quality_rating_string | Returns a quality rating string based on a numeric quality value. Initializes output with a 4-byte prefix (0xBDC0F8BE). Quality >= 100: msg 0x991; 50-99: msg 0x992; 20-49: msg 0x993; 5-19: msg 0x994; 1-4: msg 0x995. Uses FUN_00b00f00 for message lookup. Returns empty for quality 0. |
| 0x00930550 | 144 | UIShopWnd__render_tab_buttons | Renders shop window tab buttons. Selects between active/inactive textures for two tab buttons based on global flags DAT_01457a75 and DAT_01457a76. Draws at x=0 and x=offset 0xb8. |
| 0x009305F0 | 24 | UISkillBarWnd__on_mouse_move_header_check | Mouse move handler for skill bar window. If y < 17, delegates to UIWindow::draw_header_area for header interaction. |
| 0x00930610 | 269 | UIShopWnd__handle_click_item_slot | Handles click on shop window item slot. Hit-tests column position to determine clicked slot index. If slot has valid map ID, navigates to map via CMapInfoMgr. Otherwise iterates warp entries. Sends selection notification (0x29) to parent. |
| 0x00930720 | 81 | UIGridWnd__on_mouse_move_update_hover | Mouse move handler for grid window. If y > 0x77, performs hit test on tree items, updates hover index at offset 0x1A8, and triggers repaint/notification on change. |
| 0x00930780 | 376 | UIShopWnd__handle_buy_item | Handles buying an item from the shop. Hit-tests click position, looks up item from shop array. If shop has purchase limit (DAT_0173821e), shows confirmation dialog (msg 0x6f9). Constructs buy packet (0x83c) with item IDs and sends via network. |
| 0x00930900 | 171 | UISkillBar__on_slot_click_navigate | Handles click on a skill bar slot. Performs multi-row hit test, checks if the slot contains a valid map entry, and either navigates to the map category or iterates warp entries. Sends notification msg 0x29. |
| 0x009309B0 | 131 | UISkillBar__on_mouse_move_show_tooltip | Mouse move handler for skill bar. When DAT_01732d84 is set and cursor is within window bounds, shows tooltip at adjusted position using the child widget at offset 0x12C. |
| 0x00930A40 | 60 | UISkillBar__trigger_expand_notify | Triggers skill bar expand notification. Sets expand flag at offset 0xBC to 1 on first call, then sends msg 0x11A via the UI manager with the value at offset 0xB8. |
| 0x00930A80 | 243 | UIListWnd__on_click_toggle_checkbox | Click handler for list window with checkboxes. Performs filtered item hit test, toggles check state at offset 0xEC+index, syncs to map at offset 0x108, and tracks whether all items are checked at offset 0x10C. |
| 0x00930B80 | 334 | UIKeyBindWnd__on_click_show_dropdown | Click handler for key binding window. Performs key slot hit test, shows/hides a dropdown popup at the slot position with parsed items from string resource 0x5CE. Sends msg 0x29 notification. |
| 0x00930D40 | 367 | UISkillBar__on_click_tab_and_filter | Click handler for skill bar tabs and filter buttons. Handles tab toggle (DAT_01732d84), layout updates across all skill bar instances via DAT_014576ac, and extended controls toggle (DAT_014576a4). |
| 0x00930EB0 | 456 | UISkillBar__handle_grid_cell_click | Handles click on a skill bar grid cell. Calculates cell index from mouse position in a 0x1d-wide column grid. Looks up the cell's skill/item data: for items (flag==0), finds item in linked list and opens item display. For skills (flag!=0), gets skill entry and opens skill display via CGameMode. Delegates header clicks to UIWindow__prepare_render_context. |
| 0x00931090 | 70 | UIGridWnd__on_mouse_move_update_hover_y78 | Mouse move handler for grid window (variant with y threshold 0x78). Updates hover index at offset 0x1A8 via tree item hit test and triggers repaint on change. |
| 0x009310E0 | 510 | UISkillBar__handle_slot_click_use_skill_or_item | Handles click on a skill bar slot to use a skill or view an item. Hit-tests multi-row slot position. For skills: checks level requirement via CSkillEffect, then opens skill display via CGameMode. For items: finds item in linked list and opens item display. Also handles extended skill slots beyond the normal limit (using DAT_0173a765 flag). |
| 0x00931330 | 88 | UISkillBar__toggle_expand_flags | Toggles skill bar expand flags. If param_2 is within range of offset 0xB8, toggles DAT_01457a75; otherwise toggles DAT_01457a76. Sends msg 0x10F and triggers repaint. |
| 0x009313F0 | 756 | UIAutoComplete__show_suggestions | Shows autocomplete suggestions popup. Clears old suggestions, gets input text from helper, builds suggestion list from matching entries. If empty, applies to input directly. Otherwise creates popup window sized to fit suggestions, positions near cursor. |
| 0x009317A0 | 50 | UIListWnd__on_mouse_move_update_hover | Mouse move handler for a list window. Performs filtered item hit test, updates hover index at offset 0xB8, and triggers repaint on change. |
| 0x009317E0 | 311 | UIKeyBindWnd__on_mouse_move_show_tooltip | Mouse move handler for key binding window. Performs key slot hit test, looks up key entry info, and shows a tooltip string at the computed position using FUN_00ad6510. |
| 0x00931920 | 860 | UIShopWnd__show_item_tooltip | Shows tooltip for shop item or skill on hover. Hit-tests slot position. For items (flag 0xbc==0): builds item tooltip with price via CItemDB. For skills (flag!=0): formats skill tooltip with SP/AP costs using type5/type6 format. Draws tooltip at slot position. |
| 0x00931C80 | 964 | UIShopWnd__show_hover_tooltip | Shows hover tooltip in shop window. Hit-tests mouse position across 3 regions (items, buy area, sell area). For shop items: shows item name with line break truncation. For other items: builds full item tooltip via CItemDB. Calculates tooltip position aligned to grid. Shows colored text based on item rarity. |
| 0x00932050 | 2192 | UISkillBar__show_slot_tooltip | Shows tooltip for skill bar slot on hover. Hit-tests multi-row slot position. For items: builds item tooltip with price (msg 0xb7). For skills: formats skill tooltip with level, SP/AP costs using type2/type3 format. For invalid slots: shows slot name text. Also handles homunculus skill level capping. |
| 0x00932BA0 | 219 | CPathAnimator__update_segment_progress | Updates path animation segment progress. Calculates distance between current and next waypoints in 0x3c-sized segments, computes sqrt of distance, and advances progress by delta_time * speed_factor. Sets progress ratio at offset 0x1c. Wraps to next segment when distance reached. |
| 0x00932E90 | 151 | CAnimController__advance_frame_by_tick | Advances animation frame based on elapsed ticks from GetTickCount. Uses a frame duration table (4 entries with 0xb elements each) to determine when to advance to next frame index. Wraps frame index back to 0 when reaching end of sequence. Accumulates total elapsed time at offset 0x34. |
| 0x00932F80 | 623 | UISkillBar__handle_right_click_slot | Handles right-click on skill bar slot at given x,y position. Maps screen coords to calendar-style grid (0x1d-wide cells). If slot is empty, builds item tooltip and shows info window (type 0xc). If slot is occupied, opens skill use window (type 0x2e) and positions tooltip relative to screen bounds. |
| 0x009331F0 | 218 | UISkillBar__on_right_click_show_item_info | Handles right-click on skill bar to show item info popup. Looks up clicked item via UIShopWnd__on_click_item. If item ID is in valid ranges (0xA0-0x149 or 6-0x31), creates a type 0xC window (item info popup) and sends msg 0x18 with item data. |
| 0x009332D0 | 726 | UISkillBar__handle_double_click_skill_slot | Handles double-click on skill bar slot. Hit-tests multi-row skill bar, checks skill level requirement via CSkillEffect, and either uses the skill directly (type 0x2e window) or shows tooltip info (type 0xc window). Positions popup relative to screen bounds. Supports extended skill slots beyond the normal limit. |
| 0x009335E0 | 66 | UISkillBar__handle_scroll_page | Handles scroll/page navigation on skill bar. If skill bar has items (field 0x30 != 0), calculates page size clamped to max 3, negates for positive scroll direction, and sends scroll command (type 7) via vtable call with scroll amount. |
| 0x00933630 | 66 | UISkillBar__handle_scroll_page_secondary | Secondary scroll handler for skill bar, same logic as handle_scroll_page but uses different field offsets (0x6e for item check, 0x6c for page size, 0x42 for target). Handles scrolling on a secondary skill bar panel. |
| 0x00933680 | 183 | UIListView__update_scrollbar_from_items | Updates scrollbar range based on list view item count. Calculates total items from vector (field 0xC8-0xCC, 4 bytes per item), determines if scrollbar is needed, clamps scroll position within valid range, and calls CUIScrollBar__set_range_and_position. Triggers parent refresh via vtable 0x98. |
| 0x00933740 | 173 | UIGridView__update_scrollbar_from_item_count | Updates scrollbar for grid view based on global item count DAT_017381d0 divided by items per row (field 0x1AC). Calculates visible rows (field 0x1B0), determines scroll range, clamps scroll position, and updates scrollbar via CUIScrollBar__set_range_and_position. Triggers parent refresh. |
| 0x009337F0 | 248 | UISkillBar__layout_tab_buttons | Layouts tab buttons for the skill bar window. When drag mode (DAT_01732d84) is off and no items, hides all 4 child controls offscreen (-100,-100). Otherwise positions them horizontally from right edge with -2 spacing between each. Controls at offsets 0x104, 0x100, 0x128, 0x12C. |
| 0x009338F0 | 130 | UISkillBar__layout_filter_buttons | Layouts 3 filter buttons for skill bar. When drag mode is off, hides all 3 controls offscreen. Otherwise positions them from right edge with -2 spacing. Controls at offsets 0xE4, 0xDC, 0xE0. |
| 0x00933980 | 256 | UISkillBar__layout_extended_controls | Layouts extended skill bar controls based on global flag DAT_014576a4. When off, hides 6 controls offscreen. When on, positions them at specific coordinates relative to window height minus field 0x49 offset. Controls include items at offsets 0x30, 0x2F, 0x2E, 0x38-0x3A. |
| 0x00933A80 | 163 | UISkillBar__layout_mode_dependent_controls | Layouts controls based on UI display mode (DAT_01737f80). Modes 0-2: hides secondary control, sets width to 600, optionally shows extra control in mode 1 at (41,115). Mode 3: centers primary control and sets narrow width 0xB8. Triggers parent refresh via vtable 0x98. |
| 0x00933B30 | 81 | UISkillBar__update_page_button_visibility | Updates page navigation button visibility. Enables/disables prev button (offset 0x46) based on current page > 1, and next button (offset 0x47) based on current page < max pages. Triggers parent refresh via vtable 0x98. |
| 0x00933B90 | 277 | UISkillBar__layout_rows_by_mode | Layouts skill bar rows based on display mode (field 0x34). Mode 0: shows all 7 rows spaced 0x17 apart, resizes window to full height. Mode 1: shows 2 rows. Mode 2: shows 3 rows. Hides unused rows offscreen (-100,-100). Rows stored at offsets 0x2D-0x33. |
| 0x00933CB0 | 71 | UIKafraService__register_lua_callbacks | Registers Lua callback functions for Kafra service. Binds 'AddItmeTokafraServiceMapList' to FUN_009419b0 and 'AddItmeToExceptionMiniMapPosList' to FUN_00941870. Both registered with json__internal callbacks at type 0xFFFFD8EE. |
| 0x00933E40 | 1305 | CChatWnd__save_chat_window_layout | Saves chat window layout to 'SaveData\\ChatWndInfo_U.lua'. Writes drag state, then iterates active chat sub-windows writing position (XPos, YPos), dimensions (Width, Height), tab name/state, and 25 filter options per window. Handles both docked (no position) and undocked (with position) windows. Uses CFileStream for file I/O. |
| 0x00934360 | 991 | CUserHotKey__save_hotkeys_to_file | Saves user hotkeys to file. Iterates 4 hotkey categories, clearing each via 'ChangeUserHotKey' Lua call. Builds filename from 'SaveData\\UserKeys' path, concatenates with user-specific suffix. If file has content, calls 'SaveUserHotKeys2' Lua function and formats hotkey data using FUN_00b00f00(0xdf4). Also calls FUN_00aab0b0 for category 1. |
| 0x00934780 | 121 | UINavigationWnd__handle_msg_command | Handles message commands for navigation window. Command 6/0xC1: updates navigation target, copies 25 filter bytes, updates page display. Command 6/0xC9: opens help window (0x84). Command 6/0xD5: sets all 25 filters to same value and refreshes. Commands 7/9/10: handles page scrolling with prev/next/page navigation. Updates scroll position and refreshes display. |
| 0x00934A10 | 1409 | UIChatInputWnd__handle_msg_command | Handles chat input window commands. Command 0: triggers vtable 0x94. Command 0x22: sets display mode. Command 6/0xB8: processes chat input text - validates length (min 4 chars), checks for item links, forbidden words ('gravity', '[gm'), MBCS byte length (max 23 bytes). On success, copies input to whisper target fields. Shows error messages via FUN_00a901e0. Command 6/0xB9: calls FUN_00aa2c90. |
| 0x00934FA0 | 400 | UIMenuWnd__handle_button_commands | Handles menu button click commands. Button 0x173: disconnects and closes windows (0x9B, 0xA4, 0x10D). Button 0xFB: closes menu and sends command 0x58. Button 0x161: sends command 0xFA. Button 0x172: toggles window 0x9C. Button 0x174: shows character select confirmation dialog. Button 0x1C9/0x1CA: toggles windows 0xEC and 0x271E respectively. Falls through to UIWindow__handle_button_click for unknown commands. |
| 0x00935610 | 570 | UIMemorialWnd__handle_msg_command | Handles memorial dungeon (instance) window messages. Command 0x22: sets instance data and refreshes position/display. Command 6/0xB8: builds party member availability packet (0x808), iterates party members checking if they have active instances, sends network packet. Shows error if no members available. Command 6/0xC9: closes window 0xAA. |
| 0x00935850 | 130 | UIBasicMenuWnd__handle_msg_command | Handles basic menu window messages. Command 0: sends vtable 0x94 with field 0x23. Command 6/0xB8: closes window 0x89. Command 6/0xB9: sends packet 0x2CF with current mode. Command 6/0xC9: calls vtable 0x38(0), resets DAT_01737f74 in mode 2. Command 6/0xD3: sends command 0x132 if conditions met. Command 0x3C: relayouts controls. |
| 0x009359D0 | 39 | UIRankingWnd__handle_close_command | Simple message handler that only handles command 6/0xC9 by closing window 0xE5. Returns 0 for all other commands. |
| 0x00935A00 | 130 | UIWorldMapWnd__handle_msg_command | Handles world map window messages. Very large command handler supporting map navigation (0x150/0x1B9), search (0x141), bookmarks (0xBF/0xE1/0xEE), close (0xC9), toggle view (0xCA), checkbox states (0xD5), minimap toggle (0x11C), tab switch (0x22/0x27), resize (0xE/7). Loads navigation data from files, manages bookmark lists, handles coordinate-based map selection. |
| 0x00936360 | 264 | CChatWnd__handle_msg_command | Main chat window message handler. Extremely complex function handling: text input (0xB8) with forbidden word filtering, item/chat link parsing, whisper name extraction; tab management (0x16/0xCA/0x75/0x76) with add/remove/reorder; chat display (0x25/0x73) with per-tab filtering and link rendering; font size (0xF); scroll (2/3/4); resize (0x22/0x74); context menu (0xE1/0xEE). Over 5000 bytes. |
| 0x00938810 | 50 | UISimpleWnd__handle_close_only | Simple window handler that only processes close command (6/0xC9) by calling FUN_00a8cf20(0xAD). Falls through to UIWindow__handle_button_click for all other commands. |
| 0x00938850 | 1204 | UIShortcutWnd__handle_msg_command | Handles shortcut window messages. Command 0x17: refreshes 2 shortcut slots, looking up items/skills by ID. For items, validates via FUN_00ddd4e0. For skills, searches skill lists (DAT_01737a78), tries multiple skill lookup functions (FUN_00e096f0/FUN_00e09a10/FUN_00e095b0). Command 0x22: sets data source. Command 0x29: activates shortcut - items send use command (0x1B), skills send cast command (0x71). |
| 0x00938E30 | 93 | UIBasicInfoWnd__handle_button_commands | Handles basic info window button commands. Button 0xDC: sends command 0x19 (sit/stand). Button 0xFB: closes window 0x81 and sends command 0x58. Button 0xFC: sends quit command (0x19 with flag 1), closes windows 0x81 and 0x10D. Button 0x161: sends command 0xFA. Button 0xB9: closes window 0x81. |
| 0x00938FF0 | 126 | UINavigationMapWnd__handle_msg_command | Handles navigation map window messages. Command 0: if search box has text, triggers search. Command 6/0xC0: toggles display mode flag at field 0x35. Command 6/0xC8: opens sub-window and updates button visibility. Command 6/0xC9: closes window. Command 6/0x141: gets search text and calls FUN_00b995d0 for search, updates display. Command 0x27: if from map list, selects map; if from item list, triggers navigation. Command 0x3C: clears and rebuilds entries. |
| 0x009393E0 | 132 | UIWarpWnd__handle_msg_command | Handles warp window messages. Command 6/0xC9: closes window 0xA9. Command 6/0xCA: toggles window collapse. Command 6/0x157: opens history window 0xAD. Commands 6/0x16D and 6/0x17C: validates warp target level input (numeric, within range), builds warp packet 0x804 with region/map/job data, sends level+map+job info string. Command 6/0x17D: selects warp from grid. Commands 7/9/10: scroll page. Command 0x22: sets data source. Command 0x27: selects region/category/map from sub-lists. Command 0x62/0x17A: toggles window 0xA8. |
| 0x00939EE0 | 702 | UIWarpListWnd__handle_msg_command | Handles warp list window messages. Command 6/0xB8: iterates 8 category trees collecting selected party member IDs (up to 6), validates level input, builds warp party packet 0x802 and sends. Command 6/0xCA: toggles collapse. Command 0x22: sets data source. Command 0x27: handles list selection for region/sub-region/category with item population. |
| 0x0093A640 | 420 | UIInstanceWnd__handle_msg_command | Handles instance/memorial dungeon list window messages. Command 6/0xC9: sends packet 0x806 and closes window 0xAA. Command 6/0xCA: toggles collapse, repositions two child controls. Command 6/0x11C: opens window 0xAA and updates map button sprites. Command 0x22: sets data source and refreshes display. |
| 0x0093A7F0 | 503 | UIGuildExpelWnd__handle_msg_command | Handles guild expel confirmation window. Command 6/0xB8: shows confirmation dialog (0x4BB), then iterates guild members collecting those with active status (up to 9), builds expel packet 0x28C with guild ID, member count, and member data array. Shows error if no valid members found. Command 6/0xD5: increments/decrements selection counter, caps at 9 with error message. |
| 0x0093A9F0 | 719 | UIMailSendWnd__handle_msg_command | Handles mail send window messages. Command 6/0xC9: sends cancel packet 0x83B and closes. Command 6/0xD5: toggles checkbox at offset 0xED. Command 6/0xD7: selects recipient tab (iterates child windows). Command 6/0x16D: validates input, searches items by name, validates amounts and file names, builds mail send packet 0x835 with attachments and sends. Command 0x3C: handles server responses (success/fail status codes 0-4, 0x183). Commands 0x62/0x13C/0x13D: page navigation through search results. |
| 0x0093B450 | 140 | UISkillBarExtended__handle_msg_command | Handles extended skill bar messages. Command 6/0xC9: closes with FUN_00aaa310(0x24,0). Command 6/0xD8: cycles through display pages (1-4). Command 6/0xD9: goes to previous page. Command 6/0x225: toggles skill group visibility. Commands 6/0x24C/0x24D: switches between item/skill mode tabs. Command 0xE: resizes window based on page count and mode. Command 0x17: refreshes all 36 skill slots using multiple skill lookup databases. Command 0x22: sets data source and initializes display. Command 0x29: activates skill/item use. Command 0x8F: handles skill rotation with timing-based cleanup. |
| 0x0093C210 | 1754 | UIChatSubWnd__handle_msg_command | Handles chat sub-window messages. Command 0: processes text input, measures text width, auto-sizes input box, updates display. Command 3/4: scroll page up/down. Command 6/0xC1: opens notification popup. Command 6/0xCA: removes chat tab from undocked windows. Command 6/0x15B: calls FUN_00a8b0a0. Command 6/0x165: sends merge command. Command 0xE/7: handles resize with 32px grid snapping, min size 280x74. Command 0x22: sets data source. Command 0x25: adds chat text with link detection and whisper name highlighting. Command 0x74: handles child resize. |
| 0x0093CA50 | 83 | UIScrollableWnd__handle_scroll_and_page | Handles scroll and page commands for a scrollable window. Command 6/0xC5: repositions window based on scroll position minus header offset (field 0x2F). Command 6/0xCA: jumps to page (field 0x2E * position + 1). Falls through to UIWindow__handle_button_click for others. |
| 0x0093CAD0 | 144 | validate_and_copy_map_name_pair | Validates two map name strings by looking up each via FUN_00b01200 and FUN_00aee770. If both are valid (non-zero results), copies both strings into the internal string buffer using STL_lib_func_004fa8f0. Used to validate map name pairs for warp/navigation features. |
| 0x0093CB60 | 1328 | UIWorldMapWnd__load_navigation_file_by_index | Loads a navigation data file by index from the bookmark vector (field 0x4B). Opens file from path built with FUN_00af62d0, reads CSV-like data line by line using fgets/strtok, parsing tokens into string vectors. Calls FUN_00b93110 to process each parsed line, then calls FUN_0093d620 to populate the navigation list. Returns 1 on success, 0 on failure. |
| 0x0093D090 | 384 | CChatWnd__set_visible_and_refresh_tabs | Sets chat window visibility and refreshes all tabs. If hiding (param_2=0), calls FUN_00a8cd70. If showing, refreshes display and calls FUN_00aab0d0. Iterates all child chat sub-windows (field 0x3D-0x3E) calling vtable 0x38 with the visibility flag. Also ensures undocked windows (DAT_014576A8 tree) have matching entries created if missing. |
| 0x0093D2C0 | 856 | CChatWnd__layout_chat_font_size | Layouts chat window based on font size (param_2, clamped 0-15). When font size is 0: collapses to minimum height (field 0x49), hides all chat sub-windows offscreen, positions 3 action buttons. When font size > 0: calculates height from font size * 14 + header, shows/sizes active tab's sub-window, hides others. Updates scroll buttons, tab buttons, and extended controls layout. |
| 0x0093D620 | 1165 | UIWorldMapWnd__populate_navigation_list | Populates navigation list in the world map window. Clears existing entries, then iterates navigation results from FUN_00ba12a0. For each result, formats display text based on type: type 2 (NPC with map name), type 3 (monster with density rating using 5 color tiers: >=100, >50, >20, >5, >1), type 1 (simple map name), type 0 (coordinates). Adds formatted entries to the list via vtable 0x94 command 0x1F. |
| 0x0093DAB0 | 207 | UIWorldMapWnd__layout_search_controls | Layouts search-related controls in world map window. Hides all 4 controls initially (-1000,-1000). In non-search mode: shows either list (field 0x3E) or detail view (field 0x3D) based on DAT_016fc564, and positions a button at bottom. Triggers parent refresh via vtable 0x98. |
| 0x0093DB80 | 410 | UIWorldMapWnd__update_status_text | Updates status text in world map window based on current mode. In non-search mode (DAT_016fc55c=0): shows generic navigation text. In search mode with type 2: formats search result with map name from FUN_00b98e40 or error message. Otherwise shows default search text. Updates display string and refreshes. |
| 0x0093DD20 | 430 | UIWorldMapWnd__refresh_waypoint_list | Refreshes the waypoint list display in the world map when in navigation mode (DAT_016fc560==2). Iterates all waypoints from FUN_00ba12c0, gets each waypoint's map name via FUN_00b8e810, formats with separator, and sends to display via process_func_00616dd0. Also adds current location as the final entry. |
| 0x0093DED0 | 164 | UIWorldMapWnd__update_current_location_display | Updates the current location display in the world map window. Refreshes display via vtable 0x98, then gets location string from FUN_00b96a10. If location string is empty, calls helper_00616c20 to clear. Otherwise formats with separator and sends to helper_00616cc0 to update the location indicator. |
| 0x0093DF80 | 457 | UIWorldMapWnd__refresh_route_display | Refreshes the route display in the world map. Iterates navigation route segments from FUN_00b96340, formats each with separator and sends to process_func_006172e0 for rendering. Only processes entries where the name string is non-empty. Refreshes display after all routes are added. |
| 0x0093E150 | 2563 | UINavigationWnd__populate_route_list | Populates the navigation route list UI. Clears the list box, then based on route type (0-3), formats route info strings (map names, coordinates, costs) using lua_util_sprintf and adds them to the list. Handles routes with waypoints by iterating through route segments. |
| 0x0093EB60 | 916 | UIWorldMapWnd__layout_all_controls | Layouts all controls in the world map window based on mode (DAT_016fc55c). In full mode: sizes window from config, positions map lists (0x3D/0x3E), scrollbar (0x4A), search controls, 6 buttons at specific positions, checkboxes, and sets title text (0x89C). In compact/search mode: sets fixed 134x61 size, hides most controls offscreen (-1000), positions only search bar and title (0x89B). |
| 0x0093F1F0 | 4611 | UITooltipWnd__show_item_tooltip_at_pos | Shows an item tooltip popup at a mouse position. Creates UIBaseDialogWidget if not yet allocated, clears existing string data, performs grid hit test to find the hovered item, then populates tooltip strings with item name, level, description, element, color stats, and positions the tooltip near the cursor within screen bounds. |
| 0x00940400 | 260 | UIWorldMap__update_and_render_navigation_path | Updates and renders navigation path on the world map. First checks if navigation state is active via UIClass__update_navigation_state, then updates path animation segment progress (same logic as CPathAnimator__update_segment_progress). Finally calls UIClass__render_route_visualization to draw the path overlay. |
| 0x00940510 | 1220 | UIWorldMap__render_map_route_arrows | Renders route arrows on the world map. Updates tooltip from map entry, then iterates route segments (0x3C bytes each) from field 0xE4. For each segment, copies coordinates, loads arrow textures ('mapArrow_head.bmp' and 'mapArrow_body.bmp'), and calls render_line_with_trail_effect with semi-transparent color (0xAAFFFFFF). Special-handles 'izlude.rsw' map positioning. After all segments, renders NPC/Kafra animation at current position. |
| 0x00940D80 | 87 | CChatWnd__toggle_drag_mode | Toggles chat window drag/undock mode. Sets global DAT_01457a74 flag. When disabling drag: saves current font size (field 0xC) to field 0x46. When enabling drag: restores font size from field 0x46, resets active tab to 0, ensures minimum font size of 1. Relayouts chat using CChatWnd__layout_chat_font_size and refreshes. |
| 0x00940E20 | 142 | UIWorldMapWnd__sync_position_to_config_clamped | Syncs world map window position to config at offset 0x124, with screen boundary clamping. Saves x,y position to config+8/+0xC. Clamps width based on current window mode (0xE4 or 0x110) and height to max 0x152. Negative values clamped to 0. |
| 0x00941190 | 1736 | UIChatWnd__save_chat_logs_to_file | Saves chat logs to files. Creates Chat/ directory under save path, iterates chat channels at offset 0xF4, generates unique filenames (Chat_name.txt or Chat_name_NNN.txt), writes content via CUITreeView, then iterates whisper targets and saves their logs too. Shows 'is Saved.' notification in green. |
| 0x00941EF0 | 1 | stub_nop_00941ef0 | Single-byte stub function (size=1) |
| 0x00941F00 | 1 | stub_nop_00941f00 | Single-byte stub function (size=1) |
| 0x00941F10 | 1 | stub_nop_00941f10 | Single-byte stub function (size=1) |
| 0x009431D0 | 109 | CWarpSelect__play_party_alarm | Plays party_alarm.wav sound and displays msg ID 0x6d9 in yellow if party member count > 0 |
| 0x009435F0 | 163 | CWarpSelect__check_map_filter | Checks if map passes warp select filter by comparing map/region/category IDs at offsets 0x1C4-0x1C8 |
| 0x00943830 | 1800 | CWarpSelect__load_initial_data | Loads 10 localized strings for warp select categories, then builds map list entries per category |
| 0x00943F40 | 1062 | CWarpSelect__query_region_and_map_data | Queries LUA for region info and map info per region; populates region/map vectors for warp select UI |
| 0x00944370 | 1115 | CWarpSelect__create_map_buttons | Creates UI buttons for all maps in each region category; inserts into map<ushort,UIElement*> tree |
| 0x009447D0 | 837 | CWarpSelect__load_category_labels | Loads 8 localized strings for warp category labels, then finalizes label setup |
| 0x00944B20 | 367 | CWarpSelect__rebuild_map_filter_tree | Clears global map filter tree (DAT_01456f74) and rebuilds from short array (up to 6 filter IDs) |
| 0x00944C90 | 3100 | CWarpSelect__update_map_button_sprites | Updates warp select button sprites with online/offline graphics using basic_interface path prefix |
| 0x009458B0 | 1079 | CWarpSelect__query_region_map_data_v2 | Queries LUA queryRegionInfo/queryMapInfo starting from region 2; builds map data and calls vtable+0x94 |
| 0x00945CF0 | 367 | CWarpSelect__set_selected_region | Sets selected region by ID; loads map entries for region, updates labels, triggers redraw via vtable+0x98 |
| 0x00945E60 | 334 | CWarpSelect__set_selected_region_alt | Sets selected region (alt path); loads map entries and updates labels using offset 0xCC as map count |
| 0x00945FB0 | 411 | CWarpSelect__set_selected_category | Switches warp select category tab; copies map name strings and triggers redraw via vtable+0x98 |
| 0x00946150 | 304 | CWarpSelect__show_region_category | Hides all 8 region category map groups then shows the selected one; triggers redraw via vtable+0x98 |
| 0x00946800 | 196 | CUIWindowA__construct_00946800 | Constructor for UI window (vtable 01143214); initializes member buffers and string at offset 0x41 |
| 0x009468D0 | 156 | CUIWindowB__construct_009468d0 | Constructor for UI window (vtable 011432ec); sets timeout to 4000 and initializes vector pointers |
| 0x00946970 | 96 | CUIWindowC__construct_00946970 | Constructor for UI window (vtable 011433c4); minimal init with single member at offset 0x2D |
| 0x009469D0 | 369 | CItemSelect__construct | Constructor for item select window (vtable 011428c4); calculates page counts from 3 item category arrays |
| 0x00946B50 | 174 | CUIWindowD__construct_00946b50 | Constructor for UI window (vtable 01142b50); initializes page counter, string at offset 0x31 |
| 0x00946C00 | 247 | CUIWindowE__construct_00946c00 | Constructor for UI window (vtable 01142714); inits 2 strings and allocates rbtree sentinel node |
| 0x00946D00 | 96 | CUIWindowF__construct_00946d00 | Constructor for UI window (vtable 01143064); minimal init with single member at offset 0x2D |
| 0x00946D60 | 117 | CUIWindowG__construct_with_size | Constructor for UI window (vtable 01142f88); takes width/height params and sets position |
| 0x00946DE0 | 86 | CUIWindowH__construct_00946de0 | Constructor for UI window (vtable 0114299c); minimal base class init only |
| 0x00946E40 | 86 | CUIWindowI__construct_00946e40 | Constructor for UI window (vtable 01142c28); minimal base class init only |
| 0x00946EA0 | 116 | CUIWindowJ__construct_00946ea0 | Constructor for scrollable UI window (vtable 011427ec); inits scroll vector at offset 0x21 |
| 0x00946F20 | 134 | CUIWindowK__construct_00946f20 | Constructor for UI window (vtable 0114313c); initializes string at offset 0x2D with flag=1 |
| 0x00946FB0 | 268 | CUIWindowL__construct_with_timer | Constructor for timed UI window (vtable 01142a78); inits arrays of 4+7+7 elements, stores timeGetTime |
| 0x009470C0 | 86 | CUIWindowM__construct_009470c0 | Constructor for UI window (vtable 01142dd8); minimal base class init only |
| 0x00947120 | 178 | CUITextInput__construct | Constructor for text input UI (vtable 01142eb0); inits string buffer, font size 0xC, scroll state |
| 0x009471E0 | 166 | CUIWindowN__construct_with_grid | Constructor for grid UI window (vtable 01142d00); inits vector, font=0xC, columns=5, selection=-1 |
| 0x00947290 | 132 | CStringValuePair__construct | Constructs string+value pair; copies C string to std::string member and stores int value at offset 0x18 |
| 0x00947320 | 99 | CStringValuePair__default_construct | Default constructor for string+value pair; initializes empty string and value=0 |
| 0x009475D0 | 95 | CUIWindowA__destructor | Destructor for UI window (vtable 01143214); destroys string member then calls base destructor |
| 0x00947630 | 115 | CUIWindowB__destructor | Destructor for UI window (vtable 011432ec); releases texture at offset 0x33 then calls base destructor |
| 0x009476B0 | 71 | CUIWindowC__destructor | Destructor for UI window (vtable 011433c4); calls base destructor |
| 0x00947700 | 218 | CItemSelect__destructor | Destructor for item select window; clears 3 item category vectors and resets page counts |
| 0x009477E0 | 95 | CUIWindowD__destructor | Destructor for UI window (vtable 01142b50); destroys string member then calls base destructor |
| 0x00947840 | 134 | CUIWindowE__destructor | Destructor for UI window (vtable 01142714); destroys rbtree, 2 strings, then calls base destructor |
| 0x009478D0 | 71 | CUIWindowF__destructor | Destructor for UI window (vtable 01143064); calls base destructor only |
| 0x00947920 | 71 | CUIWindowG__destructor | Destructor for UI window (vtable 01142f88); calls parent class destructor |
| 0x00947970 | 71 | CUIWindowH__destructor | Destructor for UI window (vtable 0114299c); calls base destructor only |
| 0x009479C0 | 71 | CUIWindowI__destructor | Destructor for UI window (vtable 01142c28); calls base destructor only |
| 0x00947A10 | 95 | CUIWindowJ__destructor | Destructor for scrollable UI window (vtable 011427ec); frees scroll data then calls base destructor |
| 0x00947A70 | 95 | CUIWindowK__destructor | Destructor for UI window (vtable 0114313c); destroys string member then calls base destructor |
| 0x00947AD0 | 248 | CUIWindowL__destructor | Destructor for timed UI window; clears 4 map entry vectors, destroys 7+7 strings and 4 vectors |
| 0x00947BD0 | 71 | CUIWindowM__destructor | Destructor for UI window (vtable 01142dd8); calls base destructor only |
| 0x00947C20 | 92 | CUITextInput__destructor | Destructor for text input UI (vtable 01142eb0); destroys string then calls base destructor |
| 0x00947C80 | 104 | CUIWindowN__destructor | Destructor for grid UI window (vtable 01142d00); frees 0x20-byte vector buffer then calls base dtor |
| 0x00947CF0 | 99 | CStringValuePair__destructor | Destructor for string+value pair; clears string, resets value to 0, destroys string storage |
| 0x00947D60 | 119 | CUIWindowA__scalar_destructor | Scalar deleting destructor for UI window (vtable 01143214); optionally frees 0x11C bytes |
| 0x00947DE0 | 139 | CUIWindowB__scalar_destructor | Scalar deleting destructor for UI window (vtable 011432ec); optionally frees 0xD8 bytes |
| 0x00947E70 | 99 | CUIWindowC__scalar_destructor | Scalar deleting destructor for UI window (vtable 011433c4); optionally frees 0xB8 bytes |
| 0x00947EE0 | 242 | CItemSelect__scalar_destructor | Scalar deleting destructor for item select window; optionally frees 400 bytes |
| 0x00947FE0 | 119 | CUIWindowD__scalar_destructor | Scalar deleting destructor for UI window (vtable 01142b50); optionally frees 0xDC bytes |
| 0x00948060 | 158 | CUIWindowE__scalar_destructor | Scalar deleting destructor for UI window (vtable 01142714); optionally frees 0xF8 bytes |
| 0x00948100 | 99 | CUIWindowF__scalar_destructor | Scalar deleting destructor for UI window (vtable 01143064); optionally frees 0xB8 bytes |
| 0x00948170 | 99 | CUIWindowG__scalar_destructor | Scalar deleting destructor for UI window (vtable 01142f88); optionally frees 0xB4 bytes |
| 0x009481E0 | 99 | CUIWindowH__scalar_destructor | Scalar deleting destructor for UI window (vtable 0114299c); optionally frees 0xB4 bytes |
| 0x00948250 | 99 | CUIWindowI__scalar_destructor | Scalar deleting destructor for UI window (vtable 01142c28); optionally frees 0xB4 bytes |
| 0x009482C0 | 119 | CUIWindowJ__scalar_destructor | Scalar deleting destructor for scrollable UI window (vtable 011427ec); optionally frees 0x94 bytes |
| 0x00948340 | 119 | CUIWindowK__scalar_destructor | Scalar deleting destructor for UI window (vtable 0114313c); optionally frees 0xD4 bytes |
| 0x009483C0 | 272 | CUIWindowL__scalar_destructor | Scalar deleting destructor for timed UI window (vtable 01142a78); optionally frees 600 bytes |
| 0x009484D0 | 99 | CUIWindowM__scalar_destructor | Scalar deleting destructor for UI window (vtable 01142dd8); optionally frees 0xB8 bytes |
| 0x00948540 | 116 | CUITextInput__scalar_destructor | Scalar deleting destructor for text input UI (vtable 01142eb0); optionally frees 0xAC bytes |
| 0x009485C0 | 128 | CUIWindowN__scalar_destructor | Scalar deleting destructor for grid UI window (vtable 01142d00); optionally frees 0xE8 bytes |
| 0x00948640 | 337 | CUIWindowN__add_grid_item | Adds item to grid window; copies 24-byte name + value pair, recalculates max width and total height |
| 0x009487B0 | 1367 | CUIDialogWindow__setup | Sets up dialog window with title, scroll list, buttons (ok/cancel/close); handles 3 button layout modes |
| 0x00948D10 | 9 | CUIWindow__set_position_wrapper | Wrapper that forwards to CUIWindow::SetPosition |
| 0x00948D20 | 702 | CItemSelect__render_item_tooltip | Renders item tooltip with selected item data from 4 category vectors; builds tooltip display with item info |
| 0x00948FE0 | 2649 | UIMailWnd__populate_mail_list_page | Populates mail list page display. Handles 3 mail types (inbox/outbox/deleted at offsets 0x154). For each mail entry (0x74 bytes each), displays up to 10 items per page with name, ID, sender/receiver strings. Sets text colors (0xFF=read, 0=unread) and word-wraps text widgets. |
| 0x00949A40 | 102 | CItemSelect__get_item_index_from_y | Calculates item index from Y coordinate based on row height and scroll offset; returns -1 if out of range |
| 0x00949AB0 | 191 | CItemSelect__find_item_at_position | Finds item index at screen Y position by iterating through item tree; accounts for item types and spacing |
| 0x00949B70 | 44 | CItemSelect__get_scroll_info | Copies 7 scroll info fields (0xC0-0xD8) to output struct for scroll bar state |
| 0x00949BA0 | 1837 | UIDressWnd__register_lua_palette_functions | Registers Lua-callable palette/style list functions: get_DressHeadPaletteList, get_Headstylelist, get_DressBodyPaletteList, get_dresslist. Then calls CWarpSelect to find selected indices. |
| 0x0094A2D0 | 296 | CWarpSelect__find_selected_indices_in_lists | Finds selected indices in 4 warp selection list controls. Iterates each vector (0x1C-byte elements at offsets 0xD0, 0xDC, 0xE8, 0xF4), searching for entries matching global selection values (DAT_01733528, DAT_01733510, DAT_01733524, DAT_01733540). Stores found indices at fields 0xC0, 0xC4, 0xC8, 0xCC. |
| 0x0094A420 | 40 | CItemSelect__on_move | Handles window move event; calls parent move handler and stores position at offset 0xC0/0xC4 |
| 0x0094A450 | 3886 | UIItemSearchWnd__create_child_widgets | Creates child widgets for item search window. Creates 15 text labels at various positions with different widths (for name, stats columns), an editable text input at (0x5A, 0x2F), and 3 button widgets (search/add/delete) each with 4 texture states. Also creates a colored scroll list for search results. |
| 0x0094B410 | 233 | UIFactory__create_dialog_with_buttons | Creates a dialog window with 3 button textures. Allocates 0x120 bytes, calls CDialogWnd__full_ctor, sets up 3 button textures from sprite data, configures size via FUN_00a7b470, positions at (0,0), sets window ID to 0x1FE, and registers with window manager. |
| 0x0094B500 | 184 | UIFactory__create_simple_dialog | Creates a simple dialog window. Allocates 0xD0 bytes, calls CDialogWnd__base_ctor, sets title text from message ID 0x10E6 with width 0x96, positions at (15,22), sets window ID to 0xB8, and registers with window manager. |
| 0x0094B5C0 | 3183 | UIMailComposeWnd__create_child_widgets | Creates child widgets for mail compose window. Creates 10 rows of 4 editable text fields each (for to/subject/body layout), 3 button widgets (stick on/off, close) with textures loaded from basic_interface, and a tab widget for message tabs. Initializes edit box properties and loads string resources. |
| 0x0094C2D0 | 310 | UIFactory__create_tooltip_dialog_at_pos | Creates a tooltip-style dialog at given screen position. Creates base dialog (0xD0 bytes) with text from message 0xBE5, width 0x3C. Also creates a child window (0xB4 bytes) with CUIWindowG vtable, positions both relative to the given coordinates with offsets. Sets window IDs 0xC9 and registers with manager. |
| 0x0094C410 | 195 | UIFactory__create_dialog_button_type_a | Creates a dialog button type A. Allocates 0x120 bytes, calls CDialogWnd__full_ctor, sets 3 button textures (all from same sprite at 0x01143610), configures size, sets window ID to 0xC0, and registers with window manager. |
| 0x0094C4E0 | 195 | UIFactory__create_dialog_button_type_b | Creates a dialog button type B. Same structure as type A but uses different button sprite (0x011436AC). Allocates 0x120 bytes, calls CDialogWnd__full_ctor, sets window ID to 0xC0, and registers with window manager. |
| 0x0094C5B0 | 1135 | UIDressWnd__create_child_widgets | Creates child widgets for dress preview window. Creates scroll list with highlight, hotkey slot list, render widget for 3D model preview (100x100 at color 0xE8), loads string resources for labels, creates select and close dialog buttons with textures. |
| 0x0094CA20 | 1243 | UIGenericScrollListWnd__create_close_button_and_list | Creates a scroll list base widget and close button for a generic scroll list window. Adjusts list size from parent dimensions (minus 0x18 width, 0x32 height, min 20x30), sets light gray text color (0xF0), then creates close button with 3 texture states from basic_interface path. |
| 0x0094D290 | 572 | UIMailWnd__draw_main_layout | Draws the main mail window layout. Renders slot background, border, and tiled bottom. Loads checked/unchecked mark textures. Highlights selected tab in the tab widget (0xC89623 color). Draws column headers from string resources (0x9EA-0x9F4). Calls populate_mail_list_page to fill items, then draws read/unread indicators. |
| 0x0094D4D0 | 865 | UIItemPreviewWnd__draw_preview | Draws item preview window. Clears to magenta background, loads item texture by item ID at offset 0xC0, renders it at top-left. Shows a timer (minutes:seconds from offset 0xBC) or 'expired' text if over 300s. Draws item name centered at top and count at bottom-right in white. |
| 0x0094D840 | 48 | CUIWindow__draw_title_text | Draws the window title text. Reads SSO string from offset 0xD4 (with buffer capacity check at 0xE8), renders it as a slot background row with border via CUIEquipWindow__draw_slot_background_row and CUIWindow__draw_border_or_texture. |
| 0x0094D910 | 4572 | UIBuyingStoreWnd__draw_item_list | Draws buying store item list. Iterates items in a std::set, builds item name strings (with card/option info), renders names with word-wrap and truncation (30 char limit). For each item's card slots, formats quantity text showing current/max amounts with color coding (green if max reached). Limits display to 5 total rows. |
| 0x0094EAF0 | 363 | UIAnimatedTextureWnd__draw_frames | Draws animated texture frames. If enabled flag at offset 0xD0 is set, clears and draws background, then loops through frame count at offset 0xCC drawing each texture frame by name from the string buffer at offset 0xB4. |
| 0x0094EC60 | 126 | UIDressRoom__render_header | Renders the Dress Room UI header. Draws "Dress_Room" title via CUIEquipWindow__draw_slot_background_row, draws a border/texture, loads and renders a texture asset (s_01143570), and renders item tooltip info at calculated positions. |
| 0x0094ED40 | 287 | UIListWidget__render_items | Renders list widget items with selection highlight. Sets text color to magenta (0xffff00ff). Iterates over items in array at offset 0xb4, calculates item height based on widget height and spacing. Draws selected item background in dark gray (0x282828) with border (0xc8c8c8). Renders each item with appropriate color (0x646464 for disabled, 0xffffff for enabled). |
| 0x0094EF10 | 107 | send_goldpc_cafe_packet | Sends GoldPC Cafe packet (ID 0x0a16) to the server. Only sends if DAT_01732638 != 0x14 (service type check). Formats the string "GOLDPCCAFE" into a 0x18-byte buffer and sends via FUN_00c7ce30 with size 0x1a. |
| 0x0094F050 | 133 | UIListWidget__handle_click_select | Handles click-to-select on a list widget. Takes a Y position and determines which item index was clicked based on item height calculation. Updates the selected index at offset 0x39. If selection changed and is valid (!= -1), calls the selection changed callback via vtable offset 0x98. |
| 0x0094F1D0 | 227 | UIBuffList__handle_click_on_buff | Handles click on a buff/status effect icon list. Iterates through a std::set of active buffs from DAT_0138cf40, categorizing them by type (0xea field: 0=small, 1=medium with extra offset, 2+=large). Calculates which buff was clicked based on Y position and category layout. If selection changed, triggers repaint. If valid selection, sends action event via vtable 0x94 with type 0x31. |
| 0x0094F320 | 90 | UITabWidget__get_item_id_at_index | Gets an item ID from a tab widget at a given tab index (param_2) and selected index. Reads from parallel arrays at offsets 0xd0+tab*0xc (data pointer) and 0xc0+tab*4 (selected index). Each item is 0x1c bytes, ID is at offset 0x18. Returns 0 if out of bounds. |
| 0x0094F3B0 | 84 | UITabWidget__find_item_index_by_id | Finds the index of an item with a given ID (param_3) in a tab widget's data array for tab param_2. Iterates through 0x1c-byte entries, comparing the ID at offset 0x18 of each entry. Returns the 0-based index, or 0 if not found. |
| 0x0094F410 | 3559 | UIAdminToolWnd__handle_command | Handles admin tool window commands. Large command dispatcher for GM tool UI. Handles: command 0x40 (search/filter with multiple editable text fields, date parsing, and CItemListWnd integration), command 0x141 (text input with packet 0xb53 for character lookup), command 0xd3 (character selection with packet 0xb4a), command 0x231 (complex date-range search with 14 editable fields for year/month/day/hour/minute, builds time range and sends packet). Uses UIEditableTextWidget__get_display_text extensively to read form inputs. |
| 0x00950200 | 502 | UIBalloonPopupWnd__handle_event | Handles events for balloon popup window. On event 6/0x1fe: stores popup ID, creates UIBaseDialogWidget if needed (0xcc bytes), looks up popup data via CSpecialPopupMgr__find_entry_by_key, populates list with text items, positions the dialog, and records timeGetTime() for auto-dismiss timing. Falls through to UIWindow__handle_button_click for unhandled events. |
| 0x00950450 | 573 | UIPagedListWnd__handle_event | Handles events for a paged list window. On button 0xb8: plays sound 0xfd. On button 0xda: adds a page if within limits (checks against 3 different max values based on mode at 0x55). On button 0xf6: removes a page (min 1), adjusting scroll offset by -20 or -10 depending on layout mode. Event 0x16: switches tab/mode, resetting page state. Event 0x3c: clears all 40 text widget pairs. |
| 0x00950690 | 166 | UIBattleCountdownWnd__handle_event | Handles events for a battle countdown window. On event 0x22: stores data, shows/hides window, initializes countdown timer (3600 - param_6 seconds), records timeGetTime(), and checks game setting 0xdb for auto-hide. Triggers repaint on all events. Falls through to FUN_00a83660 for unhandled events. |
| 0x00950740 | 242 | UIMapButtonWnd__handle_event | Handles events for a map button window. On event 6: looks up button ID in a std::map; if found calls the mapped handler, otherwise forwards to parent via vtable 0x94 with event 0x1e8. If flag at 0xec is set, stores button ID to global DAT_01457af4. On event 0x39: clears parent display and sends event 0x1d. |
| 0x00950840 | 530 | UITextInputPopupWnd__handle_event | Handles events for a text input popup window. On event 6/0xc9: plays close sound. On event 0x22: creates a CUITextInput widget (vtable CUITextInput, 0xac bytes), configures it as a child, copies prompt text, calls FUN_00951bf0 to set up the input, adds to scroll panel, and hides associated buttons. Falls through to FUN_00a83660 for other events. |
| 0x00950BC0 | 1169 | UIBuffActionWnd__handle_event | Handles events for buff action window (right-click menu on buffs). Event 0x22: stores buff ID and calls ret_one functions. Event 0x30: iterates through buff set from DAT_0138cf40 to find clicked buff, sends packet 0x2b6 (for type 0x30 buffs) or calls CPacketSystem helper (for type 0x31). Event 0x31: rebuilds context menu items from strings 0x656 and 0x15f using CItemEntry__ConstructFromString, creates popup window positioned within screen bounds. |
| 0x00951060 | 107 | UIHotkeySlotWnd__handle_event | Handles events for hotkey slot window. Button 0xc9: plays close sound 0x103. Button 0xe2: decrements slot page (wraps 0->7). Button 0xe3: increments slot page (wraps 7->0). Button 0x150: assigns selected skill to hotkey slot. Event 0x27: selects hotkey slot and calls FUN_009514f0 to update display. |
| 0x00951210 | 129 | UIRandomOptionWnd__handle_event | Handles events for random option window (item enchant/refine). Event 6: handles button clicks and plays close sound 0x134. Events 0x12/0x13: forwards confirmation/cancel to parent. Event 0x22: checks if text is "Random" (0x646e6152 + 0x6d6f) to show random option message 0xd4, or "cancel" (0x636e6163 + 0x6c65) for cancel message 0xda, otherwise processes via FUN_00ddb7e0/FUN_00dde770. |
| 0x00951470 | 123 | CUIWindow__set_title_string | Sets window title string at offset 0xB4; assigns value at 0xCC and marks dirty flag at 0xD0 |
| 0x009514F0 | 214 | UIHotkeySlotWnd__populate_slot_list | Populates the hotkey slot list widget for a given slot page (param_2). Clears the dropdown at offset 0x2e, then iterates through the items array at offset 0x34+page*3 (vector of 0x1c-byte entries with SSO strings). Adds each item's string to the dropdown via vtable 0xd8. Sets the selected index from offset 0x30+page and triggers repaint. |
| 0x00951660 | 1 | stub_nop_00951660 | Single-byte stub function (size=1) |
| 0x00951A20 | 85 | UIListWidget__set_item_enabled_by_id | Sets the enabled/disabled state of an item in a list widget by its ID. Iterates through the 0x20-byte items at offset 0xb4, matching param_2 (ID) against offset 0x18 of each item. Sets the enabled flag at offset 0x1c from param_3. |
| 0x00951A80 | 353 | UITextInputWnd__create_text_input | Creates a CUITextInput widget (0xac bytes, vtable CUITextInput) for a text input window. Initializes the widget via FUN_00a79a90, sets various text input properties (max length 0xc at offset 0x28), adds as child, copies prompt text, calls CUITextInput__parse_and_layout_text, updates scroll panel, hides associated buttons, and triggers repaint. |
| 0x00951BF0 | 365 | CUITextInput__parse_and_layout_text | Parses and lays out text content for a CUITextInput widget. Copies text to internal string if different, creates a linked list for text lines via FUN_00a7e120, traverses the list freeing nodes, then calls virtual functions to reflow (vtable+4) and repaint (vtable+0x98). Cleans up temporary linked list and string afterwards. |
| 0x009535B0 | 139 | tree_node_0x44__copy_data | Copies data fields from one 0x44-byte tree node to another. Copies 3 scalar fields at offsets 0-2, then an SSO string via STL_string_copy_construct at offset 3, then 4 more scalar fields at offsets 9-0xc. |
| 0x00953640 | 194 | list_node_0x80__copy_data | Copies data from one 0x80-byte list node to another. Copies 2 scalars, then 3 SSO strings via STL_string_copy_construct (at offsets 2, 0xd, 0x14), plus scalar fields between them. Total data includes fields at 0-1, 8-0xc, 0x13, 0x1a-0x1d. |
| 0x00953710 | 148 | list_node_0x80__init_three_strings | Initializes a 0x80-byte list node's three SSO strings to empty. Sets string lengths to 0, capacities to 0xf, and first bytes to null at offsets 8, 0x34, and 0x50. |
| 0x009537B0 | 95 | UIWindow_vt3924__ctor | Constructor for UI window class (vtable 0x01143924). Inherits from UIWindowBase. Initializes a 2-byte field to 0 at offset 0x2d. |
| 0x00953810 | 110 | UIWindow_vt460c__ctor | Constructor for UI window class (vtable 0x0114460c). Inherits from UIWindowBase. Sets vtable to 0x0114445c first then overwrites to 0x0114460c (likely multiple inheritance). Stores param_2 at offset 0x30. |
| 0x00953880 | 119 | UIWindow_vt4384__ctor | Constructor for UI window class (vtable 0x01144384). Inherits from UIWindowBase via intermediate vtable 0x011442ac. Initializes two fields to zero at offsets 0x2d and 0x2e. |
| 0x00953900 | 84 | UIWindow_vt4018__ctor | Constructor for UI window class (vtable 0x01144018). Inherits via UIWindow_vt3bcc__ctor. Simple constructor with no additional fields. |
| 0x00953960 | 86 | UIWindow_vt445c__ctor | Constructor for UI window class (vtable 0x0114445c). Inherits from UIWindowBase. Simple constructor with no additional fields. |
| 0x009539C0 | 194 | UIWindow_vt3ca8__ctor | Constructor for UI window class (vtable 0x01143ca8). Inherits via UIWindow_vt3bcc__ctor. Allocates a 0x20-byte linked list node at offset 0x36, initializes state fields 0x38-0x3c to zero, and sets 0x3d from global DAT_016d44a8. |
| 0x00953A90 | 106 | UIWindow_vt42ac__ctor | Constructor for UI window class (vtable 0x011442ac). Inherits from UIWindowBase. Initializes two fields to zero at offsets 0x2d and 0x2e. |
| 0x00953B00 | 522 | UIWindow_vt3d84__ctor | Constructor for UI window class (vtable 0x01143d84). Inherits via UIWindow_vt3bcc__ctor. Complex constructor with multiple data structures: a linked list at 0x5e (0x80-byte nodes), a tree at 0x60 (0x20-byte nodes), and a tree at 0x63 (0x18-byte nodes). Sets pagination defaults (10 items/page, starting page 1, 6 columns). Initializes tree traversal in the 0x18-byte tree. |
| 0x00953D10 | 84 | UIWindow_vt40f4__ctor | Constructor for UI window class (vtable 0x011440f4). Inherits via UIWindow_vt3bcc__ctor. Simple constructor with no additional fields. |
| 0x00953D70 | 269 | CUITabWindow__construct | Constructor for tab window (vtable 01143e60); initializes rbtree sentinels and 77 array slots to zero |
| 0x00953E80 | 223 | UIWindow_vt3f3c__ctor | Constructor for UI window class (vtable 0x01143f3c). Inherits via UIWindow_vt3bcc__ctor. Allocates a linked list at offset 0x52 (0x4c-byte nodes). Initializes selection index at 0x4d to -1, enabled flag at 0x4f to 1, and various state fields to zero. |
| 0x00953F60 | 86 | UIWindow_vt4534__ctor | Constructor for UI window class (vtable 0x01144534). Inherits from UIWindowBase. Simple constructor with no additional fields. |
| 0x00953FC0 | 84 | UIWindow_vt41d0__ctor | Constructor for UI window class (vtable 0x011441d0). Inherits via UIWindow_vt3bcc__ctor. Simple constructor with no additional fields. |
| 0x00954020 | 156 | UIWindow_vt3bcc__ctor | Base constructor for UI window class (vtable 0x01143bcc). Inherits from UIWindowBase. Initializes 7 fields to zero at offsets 0x2d-0x33. Used as intermediate base by several other UI window constructors. |
| 0x009540C0 | 84 | UIFormattedWidget_vt3ae4__ctor | Constructor for UIFormattedWidget (vtable 0x01143ae4). Inherits from UIScrollListBase. Simple constructor. |
| 0x00954120 | 84 | UIFormattedWidget_vt39fc__ctor | Constructor for UIFormattedWidget (vtable 0x011439fc). Inherits from UIScrollListBase. Simple constructor. |
| 0x00954590 | 126 | cleanup_string_and_free_0x44 | Cleanup helper that destroys one embedded std::string, then frees a 0x44-byte heap allocation at this+4. |
| 0x00954C80 | 71 | UIWindow_vt3924__dtor | Destructor for UI window class with vtable PTR_FUN_01143924. Sets vtable then calls UIWindowBase__dtor. |
| 0x00954CD0 | 84 | UIWindow_vt460c__dtor | Destructor for UI window with dual vtable setup (0114460c -> 0114445c). Calls UIWindowBase__dtor. |
| 0x00954D30 | 84 | UIWindow_vt4384__dtor | Destructor for UI window with dual vtable setup (01144384 -> 011442ac). Calls UIWindowBase__dtor. |
| 0x00954D90 | 84 | UIWindow_vt4018__dtor | Destructor for UI window with dual vtable setup (01144018 -> 01143bcc). Calls UIWindowBase__dtor. |
| 0x00954DF0 | 71 | UIWindow_vt445c__dtor | Destructor for UI window with vtable PTR_FUN_0114445c. Calls UIWindowBase__dtor. |
| 0x00954E40 | 166 | UIWindowF__dtor_with_buffer_free | Destructor for UI window with vtable PTR_FUN_01143ca8. Frees buffer at offset 0x3b*4, clears vector of item entries, then calls helper_005c2a80 and UIWindowBase__dtor. |
| 0x00954EF0 | 71 | UIWindow_vt42ac__dtor | Destructor for UI window with vtable PTR_FUN_011442ac. Calls UIWindowBase__dtor. |
| 0x00954F40 | 169 | UIWindow_vt3d84__dtor_with_cleanup | Destructor for UI window with vtable PTR_FUN_01143d84. Calls three cleanup helpers (FUN_00954510, FUN_00954490, FUN_009547a0), clears item entry vector, then calls UIWindowBase__dtor. |
| 0x00954FF0 | 84 | UIWindow_vt40f4__dtor | Destructor for UI window with dual vtable (011440f4 -> 01143bcc). Calls UIWindowBase__dtor. |
| 0x00955050 | 154 | UIWindow_vt3e60__dtor_with_tree_cleanup | Destructor for UI window with vtable PTR_FUN_01143e60. Cleans up tree member at offset 0x8a, frees 0x44-byte sentinel, destroys linked list, then calls UIWindowBase__dtor. |
| 0x009550F0 | 123 | UIWindow_vt3f3c__dtor_with_list_cleanup | Destructor for UI window with vtable PTR_FUN_01143f3c. Clears item entry vector, destroys linked list (0x4c virtual), then calls UIWindowBase__dtor. |
| 0x00955170 | 71 | UIWindow_vt4534__dtor | Destructor for UI window with vtable PTR_FUN_01144534. Calls UIWindowBase__dtor. |
| 0x009551C0 | 84 | UIWindow_vt41d0__dtor | Destructor for UI window with dual vtable (011441d0 -> 01143bcc). Calls UIWindowBase__dtor. |
| 0x00955220 | 71 | UIWindow_vt3bcc__dtor | Destructor for UI window with vtable PTR_FUN_01143bcc. Calls UIWindowBase__dtor. |
| 0x00955270 | 71 | UIFormattedWidget_vt3ae4__dtor | Destructor for formatted widget with vtable PTR_FUN_01143ae4. Calls UIFormattedWidgetBase__dtor. |
| 0x009552C0 | 71 | UIFormattedWidget_vt39fc__dtor | Destructor for formatted widget with vtable PTR_FUN_011439fc. Calls UIFormattedWidgetBase__dtor. |
| 0x009553A0 | 172 | UIWindowData__copy_assign_large | Copy-assignment operator for a UI window data struct (0x78 bytes / 0x1e dwords). Copies scalar fields and deep-copies three embedded STL strings (at offsets +8, +34, +50 in dwords). |
| 0x00955450 | 80 | UIWindowData__copy_assign_small | Copy-assignment operator for a smaller UI window data struct (0x30 bytes / 0xC dwords). Copies scalar fields and deep-copies one embedded STL string at offset +8. |
| 0x00955820 | 99 | UIWindow_vt3924__scalar_deleting_dtor | Scalar deleting destructor for UI window with vtable PTR_FUN_01143924. Calls dtor then optionally frees 0xB8 bytes if param_2 & 1. |
| 0x00955890 | 112 | UIWindow_vt460c__scalar_deleting_dtor | Scalar deleting destructor for UI window with dual vtable (0114460c/0114445c). Frees 0xC4 bytes if param_2 & 1. |
| 0x00955900 | 112 | UIWindow_vt4384__scalar_deleting_dtor | Scalar deleting destructor for UI window with dual vtable (01144384/011442ac). Frees 0xC8 bytes if param_2 & 1. |
| 0x00955970 | 112 | UIWindow_vt4018__scalar_deleting_dtor | Scalar deleting destructor for UI window with dual vtable (01144018/01143bcc). Frees 0x140 bytes if param_2 & 1. |
| 0x009559E0 | 99 | UIWindow_vt445c__scalar_deleting_dtor | Scalar deleting destructor for UI window with vtable PTR_FUN_0114445c. Frees 0xBC bytes if param_2 & 1. |
| 0x00955A50 | 190 | UIWindow_vt3ca8__scalar_deleting_dtor | Scalar deleting destructor for UI window with vtable PTR_FUN_01143ca8. Frees buffer, clears item vector, calls helper_005c2a80. Frees 0x108 bytes if param_2 & 1. |
| 0x00955B10 | 99 | UIWindow_vt42ac__scalar_deleting_dtor | Scalar deleting destructor for UI window with vtable PTR_FUN_011442ac. Frees 0xBC bytes if param_2 & 1. |
| 0x00955B80 | 193 | UIWindow_vt3d84__scalar_deleting_dtor | Scalar deleting destructor for UI window with vtable PTR_FUN_01143d84. Runs 3 cleanup helpers, clears item vector. Frees 0x19C bytes if param_2 & 1. |
| 0x00955C50 | 112 | UIWindow_vt40f4__scalar_deleting_dtor | Scalar deleting destructor for UI window with dual vtable (011440f4/01143bcc). Frees 0xDC bytes if param_2 & 1. |
| 0x00955CC0 | 178 | UIWindow_vt3e60__scalar_deleting_dtor | Scalar deleting destructor for UI window with vtable PTR_FUN_01143e60. Cleans tree+list, calls UIWindowBase__dtor. Frees 0x234 bytes if param_2 & 1. |
| 0x00955D80 | 147 | UIWindow_vt3f3c__scalar_deleting_dtor | Scalar deleting destructor for UI window with vtable PTR_FUN_01143f3c. Clears item vector, destroys linked list. Frees 0x15C bytes if param_2 & 1. |
| 0x00955E20 | 99 | UIWindow_vt4534__scalar_deleting_dtor | Scalar deleting destructor for UI window with vtable PTR_FUN_01144534. Frees 0xBC bytes if param_2 & 1. |
| 0x00955E90 | 112 | UIWindow_vt41d0__scalar_deleting_dtor | Scalar deleting destructor for UI window with dual vtable (011441d0/01143bcc). Frees 0x118 bytes if param_2 & 1. |
| 0x00955F00 | 99 | UIWindow_vt3bcc__scalar_deleting_dtor | Scalar deleting destructor for UI window with vtable PTR_FUN_01143bcc. Frees 0xD0 bytes if param_2 & 1. |
| 0x00955F70 | 99 | UIFormattedWidget_vt3ae4__scalar_deleting_dtor | Scalar deleting destructor for formatted widget with vtable PTR_FUN_01143ae4. Calls UIFormattedWidgetBase__dtor. Frees 0xD4 bytes if param_2 & 1. |
| 0x00955FE0 | 99 | UIFormattedWidget_vt39fc__scalar_deleting_dtor | Scalar deleting destructor for formatted widget with vtable PTR_FUN_011439fc. Calls UIFormattedWidgetBase__dtor. Frees 0xD8 bytes if param_2 & 1. |
| 0x00956050 | 209 | compare_strings_as_wide_chars | Compares two ANSI strings by converting them to wide chars (WCHAR) first. Returns 0 if equal, negative/positive for ordering. Uses MultiByteToWideChar with code page 0. |
| 0x00956130 | 1771 | UIAuctionWnd__create_scroll_list_and_buttons | Creates scroll list with colored entries and cancel buttons for auction window. Allocates UIColoredScrollListBase, sets up 3 button textures (normal/hover/pressed) from resource strings, creates CDialogWnd buttons in a loop. |
| 0x00956820 | 44 | UIAuctionWnd__free_buffer_at_0xec | Frees the dynamically allocated buffer at member offset 0xEC if non-null, and zeroes both the pointer and size fields. |
| 0x00956850 | 246 | UIAuctionWnd__init_color_and_format | Initializes color picker and formatting for auction window. Gets pixel RGB, handles string copy/format operations, checks for text display. |
| 0x00956950 | 2435 | UIAuctionWnd__draw_item_row | Draws a single item row in the auction list. Handles item icons with skill tree lookup, text labels for name/price/weight/date, background highlighting for selected items. Uses localtime for date formatting. |
| 0x009572E0 | 206 | UIAuctionWnd__draw_tab_backgrounds | Draws tab background rectangles for the auction window. Iterates through tabs, highlighting the selected one with a different color (color index 2 vs 0xE). Tabs are 0x42 pixels apart. |
| 0x009573B0 | 581 | UIAuctionWnd__get_list_entry_with_3_strings | Gets an entry from a linked list at index param_2. Returns a struct with 1 int + 3 STL strings (copy-constructed). Uses global list at DAT_016d44ec. Sets param_3=0 on success, 1 on out-of-range. |
| 0x00957600 | 352 | UIAuctionWnd__get_list_entry_with_1_string | Gets an entry from a linked list at index param_2. Returns a struct with 1 int, 1 STL string, and 4 int fields. Uses global list at DAT_016d44f4. Sets param_3=0 on success, 1 on out-of-range. |
| 0x00957760 | 146 | UIAuctionWnd__hit_test_list_item_a | Hit-tests a mouse click against the auction list area. Converts screen coords to a list item index using page offset and column count. Returns -1 if outside list bounds. Uses global list at DAT_016d44ec. |
| 0x00957800 | 75 | UIAuctionWnd__hit_test_item_grid | Hit-tests a click in the item grid area of the auction window. Converts screen position to item index using row height from member 0x174. Returns -1 if out of bounds or past total item count at 0x17C. |
| 0x00957850 | 148 | UIAuctionWnd__hit_test_list_item_b | Hit-tests click against a second list area. Uses members at offset 0x20C-0x220 for page/column info. Row height from DAT_0133b0dc. Returns item index or -1. |
| 0x009578F0 | 122 | UIAuctionWnd__hit_test_skill_list | Hit-tests click against skill list area. Uses 0x20-pixel row height. Members at 0x138-0x148 for list and paging info. Returns item index or -1. |
| 0x00957970 | 146 | UIAuctionWnd__hit_test_list_item_c | Hit-tests click against a third list area. Uses DAT_0133b0fc row height. Members at 0x104-0x110 for paging. Uses global list DAT_016d44f4. Returns item index or -1. |
| 0x00957A10 | 58 | UIAuctionWnd__get_entry_data_by_index | Gets entry data by list index from linked list at member 0x178. Iterates to the nth entry and calls UIWindowData__copy_assign_large to copy data out. Returns 1 on success, 0 if index out of range. |
| 0x00957A50 | 64 | UIAuctionWnd__get_half_row_from_coords | Converts screen coordinates to a half-row index. Checks bounds, divides Y by row height (member 0xB8) and clamps result to 0 or 1. Returns -1 if outside window area. |
| 0x00957A90 | 286 | UIAuctionWnd__get_item_entry_by_index | Gets item entry by index from linked list at member 0x220. Returns pointer to entry data. Initializes a static empty entry on first use via _atexit. Returns static empty entry if index is out of range. |
| 0x00957BB0 | 236 | UIAuctionWnd__get_skill_entry_by_index | Gets skill entry by index from linked list at member 0x148. Copies skill data fields (id, level, type, etc.) and vector. Returns param_2 as output buffer. Uses CSkillEntry__ctor_default for empty result. |
| 0x00957CA0 | 140 | UIAuctionWnd__copy_skill_entry_at_offset | Copies a skill entry from list at member 0x148 using page offset 0x138 plus param_3. Uses CSkillEntry__copy_ctor for found entries, CSkillEntry__ctor_default for out-of-range. |
| 0x00957DA0 | 55 | UIAuctionWnd__deselect_scroll_list | Deselects the scroll list widget at member 0x41 (offset 0x104). If the widget exists and has items (field 10 != 0), calls virtual method 0x38 to deselect and resets selected index to -1. |
| 0x00960660 | 744 | UIListWnd__sort_by_column | Sorts a list window's data by the specified column index. Tracks sort direction (ascending=1 / descending=2) per column via std::map at offset 0x62. Toggles direction on repeated clicks. Column 0: sorts by string field at offset 4. Column 1: sorts by int field at offset 0x38. Column 2: sorts by wide string at offset 0x30. Column 3: sorts by int at offset 0x54. Column 4: sorts by float at offset 0x70. Column 5: sorts by int at offset 0x74. Triggers repaint after sorting. |
| 0x00960F90 | 533 | CGuildWindow__load_emblem | Loads guild emblem BMP from file "../emblem/{guild_id}"; validates 24x24 dimensions and stores texture |
| 0x009612E0 | 596 | UIChatInputWnd__handle_send_message | Handles send message button (0xb8) in chat input window. Gets text from editable widget, validates it's non-empty (error 0x820 if empty). Checks for forbidden substrings (from DAT_0133b1c0 and DAT_0133b1d8) via _mbsstr and shows error 0xafc if found. If mode at 0xc0 is 0, sends as normal chat (command 0x70); otherwise sends as whisper/PM (command 0x6a) and plays sound 0xd7. Button 0xb9 closes the window with appropriate sound. |
| 0x009633BA | 1 | stub_nop_009633ba | Single-byte stub function (size=1) |
| 0x009633CA | 1 | stub_nop_009633ca | Single-byte stub function (size=1) |
| 0x00963409 | 1 | stub_nop_00963409 | Single-byte stub function (size=1) |
| 0x009638C2 | 1 | stub_nop_009638c2 | Single-byte stub function (size=1) |
| 0x009657C0 | 1 | stub_nop_009657c0 | Single-byte stub function (size=1) |
| 0x009657D0 | 1 | stub_nop_009657d0 | Single-byte stub function (size=1) |
| 0x00965FB0 | 145 | GuildListEntry__ctor_default | Default constructor for guild list entry struct. Initializes first field from param_3, then zeros out remaining fields including 2 string-like members and 5 int fields. |
| 0x00966050 | 145 | GuildListEntry__ctor_default_b | Default constructor for guild list entry struct variant B. Same layout as ctor_default - initializes from param_3 and zeros remaining fields. |
| 0x009663D0 | 254 | UIGuildAllianceWnd__ctor | Constructor for UIGuildAllianceWnd. Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01144a44, allocates 0x4C-byte sentinel node for RB-tree at member 0x2D, initializes all members to 0. Sets field 0x35 to 0x125A. |
| 0x009664D0 | 26 | GuildAllianceEntry__ctor_3args | Constructs a GuildAllianceEntry with 3 arguments: sets first 3 dwords directly. |
| 0x009664F0 | 259 | GuildAllianceEntry__copy_ctor | Copy constructor for GuildAllianceEntry. Copies first dword, deep-copies STL string, and copies remaining byte/int fields from the source struct (0x38 bytes total). |
| 0x00966630 | 20 | GuildAllianceEntry__init_zero_12bytes | Initializes a 12-byte struct to zero: clears 3 fields (byte at +0, int at +4, int at +8). |
| 0x00966650 | 67 | GuildAllianceList__free_sentinel_node | Frees the sentinel node (0x4C bytes) at member +4 if non-null. |
| 0x009666A0 | 76 | GuildAllianceList__destroy_tree | Destroys a guild alliance RB-tree by calling the recursive node destroyer and freeing the 0x4C-byte sentinel. |
| 0x00966700 | 123 | GuildAllianceList__dtor_with_string | Destroys a guild alliance list entry with its STL string member, then frees the 0x4C-byte node. |
| 0x00966780 | 78 | GuildAllianceList__free_sentinel_only | Frees just the sentinel node (0x4C bytes) at member +4 without destroying child nodes. |
| 0x009667D0 | 87 | GuildAllianceList__destroy_tree_b | Destroys a guild alliance RB-tree (variant B). Same as destroy_tree but different call context. |
| 0x00966830 | 80 | GuildAllianceEntry__dtor_string | Destructs the STL string embedded in a GuildAllianceEntry at offset +4. |
| 0x00966920 | 171 | UIGuildAllianceWnd__dtor | Destructor for UIGuildAllianceWnd. Sets vtable to PTR_FUN_01144a44, destroys internal data structures (json, helper, vector, RB-tree), then calls UIWindowBase__dtor. |
| 0x009669D0 | 65 | GuildAllianceEntry__dtor_string_b | Destructs the STL string in a GuildAllianceEntry (variant B context). |
| 0x00966A20 | 135 | GuildAllianceEntry__copy_assign | Copy-assignment operator for GuildAllianceEntry. Deep-copies STL string and copies all byte/int fields from source to destination. |
| 0x00966BA0 | 195 | UIGuildAllianceWnd__scalar_deleting_dtor | Scalar deleting destructor for UIGuildAllianceWnd. Sets vtable, destroys internal vectors, RB-tree, and calls UIWindowBase__dtor. Frees the 0xE4-byte object if flag is set. |
| 0x00966C70 | 19130 | UIGuildAllianceWnd__main_event_handler | Main event handler for UIGuildAllianceWnd. Very large function (19130 bytes) handling all alliance window events. Skipped detailed decompilation due to size. |
| 0x0096B730 | 2568 | UIGuildAllianceWnd__draw_content | Draws the guild alliance window content. Size: 2568 bytes. |
| 0x0096C140 | 278 | UIGuildAllianceWnd__update_selected_entry | Updates the currently selected entry in the guild alliance window. Iterates the list at +0x32 looking for entries with state==2. When found, updates the selection ID at +0x35, copies associated IDs from the data table at +0x2F into the output vector at +0x36/+0x37, and triggers redraw via vtable+0x98. Resets to 0x125A (no selection) if entry disappears. |
| 0x0096C260 | 116 | UIGuildAllianceWnd__handle_button | Handles button clicks in the guild alliance window. |
| 0x0096C5A0 | 391 | UIGuildAllianceWnd__draw_tiled_background | Draws a tiled background for the guild alliance window. Loads top/middle/bottom sprite resources and tiles the middle section based on content height. Handles both compact ('$') and expanded layouts. |
| 0x0096C730 | 294 | UIGuildAllianceWnd__draw_aligned_label | Draws a text label with alignment. Supports 3 alignment modes: centered (0x06), left-aligned with offset (0x00), and right-aligned (0x02). Measures text width and calculates x position accordingly. |
| 0x0096C8D0 | 154 | UIGuildEmblemListWnd__ctor | Constructor for UIGuildEmblemListWnd. Calls UIWindowBase__ctor, sets vtable, initializes string member at +0x2F (with capacity 0xF), clears vector at +0x2D/+0x2E, sets field 0x10 to 0x20. |
| 0x0096C970 | 154 | UIGuildEmblemListWnd__ctor_b | Constructor variant B for UIGuildEmblemListWnd. Same pattern as ctor but uses different vtable pointer. |
| 0x0096CA10 | 95 | UIGuildEmblemListWnd__dtor | Destructor for UIGuildEmblemListWnd. Sets vtable, destroys STL string member, then calls UIWindowBase__dtor. |
| 0x0096CA70 | 95 | UIGuildEmblemListWnd__dtor_b | Destructor variant B for UIGuildEmblemListWnd. Sets vtable, destroys STL string, calls UIWindowBase__dtor. |
| 0x0096CAD0 | 119 | UIGuildEmblemListWnd__scalar_deleting_dtor | Scalar deleting destructor for UIGuildEmblemListWnd. Calls dtor logic then frees the 0xD4-byte object if flag is set. |
| 0x0096CB50 | 119 | UIGuildEmblemListWnd__scalar_deleting_dtor_b | Scalar deleting destructor variant B for UIGuildEmblemListWnd. Calls dtor then frees the 0xD8-byte object if flag is set. |
| 0x0096CBF0 | 72 | UIGuildEmblemListWnd__load_and_remove_resource | Loads a resource by the emblem path string at +0xBC, then removes it from the resource manager. Used to unload emblem textures. |
| 0x0096CC40 | 72 | UIGuildEmblemListWnd__load_and_remove_resource_b | Loads a resource by the emblem path string at +0xBC, then removes it from the resource manager (variant B). |
| 0x0096CC90 | 103 | UIGuildEmblemListWnd__draw_emblem_sprite | Draws the guild emblem sprite. Sets color to 0xFFFF00FF, loads emblem resource by path at +0xBC, optionally creates background, then draws the sprite. |
| 0x0096CD00 | 103 | UIGuildEmblemListWnd__draw_emblem_sprite_b | Draws the guild emblem sprite (variant B). Same pattern as draw_emblem_sprite. |
| 0x0096CD80 | 22 | UIGuildEmblemListWnd__update_position_if_active | Updates the window position with snap if the widget at +0xB8 is non-null. |
| 0x0096CDA0 | 22 | UIGuildEmblemListWnd__update_position_if_active_b | Updates the window position with snap if the widget at +0xB8 is non-null (variant B). |
| 0x0096CDC0 | 590 | UIGuildAllianceWnd__draw_alliance_list | Draws the alliance guild list (friendly guilds). Renders guild names and emblems for each alliance entry. |
| 0x0096D010 | 685 | UIGuildAllianceWnd__draw_enemy_list | Draws the enemy guild list. Renders guild names and emblems for each enemy guild entry. |
| 0x0096D300 | 112 | UIGuildInfoEntryListWnd__ctor | Constructor for UIGuildInfoEntryListWnd. Calls UIWindowBase__ctor, sets vtable, initializes array of 9 string entries (0x18 bytes each) at offset +0x2D using eh_vector_constructor_iterator. |
| 0x0096D370 | 123 | UIGuildAllianceWnd_vt511c__ctor | Constructor for UIGuildAllianceWnd sub-window (vtable 0x0114511c). Initializes UIWindowBase, sets vtable pointer, zeros out string buffer at offset 0x2d with SSO capacity 0xf. |
| 0x0096D3F0 | 86 | UIGuildAllianceWnd_vt5044__ctor | Constructor for UIGuildAllianceWnd sub-window (vtable 0x01145044). Initializes UIWindowBase and sets vtable pointer. |
| 0x0096D450 | 105 | UIGuildAllianceWnd_vt51f4__dtor | Destructor for UIGuildAllianceWnd sub-window (vtable 0x011451f4). Destroys 9 strings at offset 0x2d (stride 0x18) via eh_vector_destructor_iterator, then calls UIWindowBase__dtor. |
| 0x0096D4C0 | 95 | UIGuildAllianceWnd_vt511c__dtor | Destructor for UIGuildAllianceWnd sub-window (vtable 0x0114511c). Destroys one string, then calls UIWindowBase__dtor. |
| 0x0096D520 | 71 | UIWindow_vt5044__dtor | Destructor for UI window class (vtable 0x01145044). Sets vtable then calls UIWindowBase__dtor. |
| 0x0096D570 | 129 | UIWindow_vt51f4__scalar_deleting_dtor | Scalar deleting destructor for UI window (vtable 0x011451f4, size 0x19c). Destroys 9 strings at offset 0x2d via eh_vector_destructor_iterator with stride 0x18, then calls UIWindowBase__dtor. Frees memory if flag bit 0 is set. |
| 0x0096D600 | 119 | UIWindow_vt511c__scalar_deleting_dtor | Scalar deleting destructor for UI window (vtable 0x0114511c, size 0xcc). Destroys one string, then calls UIWindowBase__dtor. Frees memory if flag bit 0 is set. |
| 0x0096D680 | 99 | UIWindow_vt5044__scalar_deleting_dtor | Scalar deleting destructor for UI window (vtable 0x01145044, size 0xb4). Calls UIWindowBase__dtor. Frees memory if flag bit 0 is set. |
| 0x0096D720 | 72 | UIChannelListWnd__render | Renders the channel list window. Has 5 display modes (0-4) based on DAT_016d3b07. Modes 0,3,4: render numbered item list with prev/next arrows, mode 3/4 highlight selected item in different color. Mode 2: renders numbered list with selection highlight and page counter. Mode 1: no rendering. Items are SSO strings at offset 0xb4 with 0x18-byte stride. Uses CColorPicker__GetPixelRGB for highlight colors in mode 2. |
| 0x0096DB60 | 476 | UIChannelListWnd__render_mode4_details | Renders mode 4 details for channel list window. Only active when DAT_016d3b07 == 4. Draws colored border and background using CColorPicker__GetPixelRGB, then renders 4 two-character text labels at positions (2,2), (0x10,2), (0x1e,2), (0x2c,2) from data via DAT_016d3b0c virtual function. |
| 0x0096DD40 | 391 | UIChannelListWnd__handle_populate | Handles populate event (0x41) for channel list window. Copies up to 9 SSO strings from param_4 into the widget's string array at offset 0x2d. Copies 4 int values from param_5 into offsets 0x63-0x66. Calculates required widget width based on rendered text widths and resizes via vtable+4. Mode 2 uses per-item height of 0x14. |
| 0x0096DED0 | 195 | UIChannelListWnd__handle_resize_text | Handles resize-for-text event (0x42) for channel list window. Measures the text width of param_4 string, calculates required window width rounded to 0x1c boundary with minimum 0x22, resizes if different from current width, and triggers repaint. |
| 0x0096E750 | 86 | UIWindow_vt62e8__ctor | Constructor for UI window class (vtable 0x011462e8). Inherits from UIWindowBase. Simple constructor. |
| 0x0096EF10 | 166 | UIWindow_vt5dd8__ctor | Constructor for UI window class (vtable 0x01145dd8). Inherits from UIWindowBase. Initializes 8 fields to zero at offsets 0x2d-0x34. |
| 0x0096F200 | 411 | UISkillListWnd__ctor | Constructor for UISkillListWnd (vtable 0x011463c0). Inherits from UIWindowBase. Complex constructor with an inline SSO string at offset 0x2d, a 0x100-byte linked list at 0x52, another SSO string at 0x5c, and numerous state fields. Stores param_2 at 0x4c. Sets grid layout (4 columns at 0x50, enabled at 0x4f). Initializes selection indices to -1 (0xffff) at multiple offsets. |
| 0x0096F3A0 | 108 | UITimedPopupWnd__ctor | Constructor for UITimedPopupWnd (vtable 0x01145f88). Inherits from UIWindowBase. Records timeGetTime() at offset 0x2d and sets auto-dismiss timeout to 2000ms at offset 0x2e. |
| 0x0096F410 | 215 | UIItemGridWnd__ctor | Constructor for UIItemGridWnd (vtable 0x01145718). Inherits from UIWindowBase. Allocates a 0x4c-byte linked list at offset 0x4b. Sets selection index to -1 at 0x46, enabled=1 at 0x48. Initializes various state fields to zero. |
| 0x0096F740 | 71 | UIWindow_vt62e8__dtor | Destructor for UI window class (vtable 0x011462e8). Sets vtable then calls UIWindowBase__dtor. |
| 0x009700C0 | 239 | item_sort_compare_by_type_and_name | Comparator function for sorting items. First compares by item type (from FUN_009967f0). If types are equal, compares by tooltip name string using std::char_traits::compare. Returns true if first item should come before second. |
| 0x00970E60 | 1581 | UIShopWnd__populate_item_list | Populates the shop window item list. Loads item database text, creates CShopItem copies, formats item names with price/quantity, sets text colors (0xE8 for available, 0xB6 for buy mode). Handles both buy/sell modes at offset 0x130. Shows item counts and zeny formatting. |
| 0x00971490 | 1322 | UIShopWnd__on_price_input_change | Handles price input field changes in the shop window. Validates input (numeric check, range 0-1B), shows error messages for invalid amounts. Formats price with zeny breakdown (gold/silver/copper from string resources 0x9AB-0x9AE). Returns 1 on success, 0 on error. |
| 0x009719C0 | 867 | UIVendingWnd__draw_item_price_list | Draws the vending window item price list. Iterates items at offset 0x14C, formats each with name, quantity, price (with zeny formatting for values >= 100M). Calculates and shows commission (1% EA fee) for each item. Shows current zeny balance at bottom. |
| 0x00971D30 | 964 | UIVendingWnd__draw_detailed_item_list | Draws detailed vending item list with full item descriptions. Iterates through linked list items, formats each with card prefix, card slots, refinement, equip type, weapon subtype, location, and option text. Shows price with commission calculation. Displays current zeny balance. |
| 0x009738A0 | 245 | UIShopGridWnd__hit_test_item_grid | Hit tests an item grid for shop windows. Given mouse x,y coordinates, calculates grid cell index (0x20 pixel rows, x offset 0x28). Skips items that are identified or hidden (filtering). Returns item index or -1. |
| 0x009739A0 | 122 | UIShopGridWnd__hit_test_item_grid_b | Hit tests item grid variant B. Uses linked list at offset 0x12C, grid dimensions from offsets 0x11C/0x120/0x124. Returns item index in linked list or -1. |
| 0x00973A20 | 134 | UIShopWnd__get_item_at_index | Gets shop item at the given index from the linked list at offset 0xE8. Iterates through list, copies CShopItem at the matching index. Returns empty item if not found. |
| 0x00974290 | 142 | UIVendingWnd__get_item_at_index | Gets vending item at the given index from the linked list at offset 0x12C. Copies struct with string at offset 0x38. Returns default if not found. |
| 0x00974320 | 229 | CUIWindow__on_click_item_grid | Handles click on item grid; maps x/y to grid row based on page size and calls item detail function |
| 0x00974410 | 140 | UIVendingWnd__get_item_at_page_offset | Gets vending item at page-adjusted index (param_3 + offset 0x11C) from linked list at offset 0x12C. Copies via CSkillEntry::copy_ctor. Returns default if not found. |
| 0x009744A0 | 93 | UIShopWnd__find_item_by_name_in_list | Searches shop item list for an item matching the given name string. Iterates linked list at offset 0xE8, compares string at node offset 0x34. Returns 1 if found, 0 if not. |
| 0x00974500 | 93 | UIShopWnd__find_item_by_name_in_list_b | Identical to UIShopWnd::find_item_by_name_in_list - searches linked list at offset 0xE8 for matching name. Variant B for a different window class. |
| 0x00974570 | 26 | check_coordinates_within_valid_range | Checks if coordinates at offsets 0x18A and 0x18C are within valid range (both < 0x8000). Returns 1 if valid, 0 if invalid. |
| 0x00974590 | 146 | UIShopWnd__send_search_or_buy_packet | Sends search or buy packet for shop window. If offset 0x130 is 1 (sell mode), gets display text and quantity, sends packet 0x12A. Otherwise sends packet 0x128 with search text. |
| 0x00974630 | 487 | thread_local_sprintf_00974630 | Thread-local sprintf. Maintains a red-black tree keyed by thread handle, each node has an 0x800-byte buffer. Creates node on first use per thread, registers atexit cleanup. Calls vsprintf into thread-local buffer and returns pointer to it. |
| 0x00974820 | 218 | UIShopWnd__create_submit_button | Creates a submit/confirm button for the shop window. Allocates CDialogWnd, sets text from string resource 0xE35, positions at bottom-right, sets button label from 0xE36, assigns msg ID 0x230. |
| 0x00977E10 | 5267 | CUISearchWindow__init_child_widgets | Initializes the search window UI: creates editable text widget, text label, scrollbar, sprite widget, close/search buttons (with texture paths), 8 radio button filter tabs with map names from message string table, render widget, and title labels. Sets up button textures (btn_close, bt_search), configures radio button selection based on DAT_017387eb flags. |
| 0x0097D220 | 209 | create_shop_dialog_button_0097d220 | Creates a standalone dialog button (CDialogWnd) with all 3 texture states set to the same image. Positions at (0xe5, 4) with action code 0xc9. Used as a shop UI helper button. |
| 0x00983550 | 2598 | CUISkillWindow__draw_skill_list | Draws skill window list with skill icons, names, levels, and SP/AP costs. Renders header/border sprites, skill grid with selection highlight. Shows skill level (Lv/Nv), current vs max level, SP cost, AP cost. Handles two skill tree modes (0=homunculus?, 1=mercenary?). Includes special rendering for level-selectable skills. Displays window title based on mode. |
| 0x009845A0 | 339 | CUIWindow__on_shop_item_click | Shop item click handler. Draws header area if y < 17. Performs hit test on shop item grid, updates selected index at offset 0xF8. If selection changed, calls virtual refresh. If not in replay mode, looks up shop item, finds NPC shop item by name, and renders item description tooltip. |
| 0x00988590 | 294 | CUISkillWindow__show_skill_tooltip | Shows skill name tooltip on hover in the skill window. Checks for tooltip flash timer (resets after 1000ms). Gets skill at grid position, retrieves skill name. If name text width exceeds available space and mouse is past x=0x70, displays tooltip at adjusted position. Used for truncated skill names in list view. |
| 0x0098A7A0 | 344 | CUISkillWindow__update_skill_button_positions | Updates skill button widget positions in the skill window. Iterates through skill slots, checks if skill is available and within range. Positions up/down arrow buttons based on skill availability and level-use check. Hides buttons (moves offscreen to -200) for unavailable skills. |
| 0x0098A920 | 484 | CUISkillWindow__handle_message | Message handler for the skill window. Handles: scroll up/down (cases 3/4), scroll position changes (7/9/10), resize (case 0xe with min 232x102, snapped to 32px grid), and refresh (case 0x17). Delegates unknown messages to UIWindow base handler. |
| 0x0098C5A0 | 1464 | CUIHomSkillWindow__handle_message | Message handler for homunculus/mercenary skill window. Handles: button clicks (0xb8=use skill with confirm, 0xb9=cancel), resize (0xe, min 232x120), refresh (0x17 - reloads skill list), window layout (0x22), item info (0x26 - handles card/equip actions), and packet processing (0x7b - sub-packets 0x5140/5141/5142). |
| 0x0098DBF0 | 546 | CUIInventoryWindow__handle_message | Message handler for inventory window variant. Handles: resize (0xe), refresh/populate (0x17 - loads items by category tabs with type filtering), window layout (0x22), item actions (0x26 - equip/use), search mode toggle (0x16c/0x16d), item string update (0x37), and search reset (0xf6). Supports 8 item type categories. |
| 0x0098E0D0 | 443 | CUIInventoryWindow__handle_message_alt | Alternative inventory window message handler. Same structure as handle_message but with different item type filtering per tab. Uses different global functions (FUN_009968b0/FUN_00995d50) for search mode. Supports same messages: resize, refresh, layout, item actions, search toggle. Item category filtering differs by tab index. |
| 0x00990810 | 103 | CUIConfirmDialog__handle_message | Simple confirm dialog message handler. On button 0xb8 (OK): sends command 0x53 with stored item ID and count to server. On button 0xb9 (Cancel) or OK: closes window 0xe6 and calls cleanup. Delegates other messages to base UIWindow handler. |
| 0x00990880 | 138 | CUIVendingWindow__handle_message | Message handler for the vending (player shop) window. Handles: buy/cancel buttons (0xb8/0xb9 - validates weight capacity for purchases, handles both vending modes), resize (0xe), refresh (0x17 - loads vending item list with Zeny totals), item selection (0x1c), layout (0x22), item purchase confirmation (0x26 - checks Zeny limits, 30k item cap), and packets (0x7b - 0x529e/526c/526d/529f). |
| 0x00991370 | 145 | CUICartWindow__handle_message | Message handler for cart inventory window. Handles: resize (0xe - supports two max width modes based on 0x43 flag), refresh (0x17 - loads cart items), item selection (0x1c), layout (0x22 - position validation varies by mode), title update (0x24), item actions (0x26 - sell/equip), Zeny display (0x77), and packet processing (0x7b - 0x52d0/5302/5305). |
| 0x00991880 | 137 | CUIStorageWindow__handle_message | Message handler for storage window. Handles: close button (0xc9 - closes window 0x28), resize (0xe - min 232x120), refresh (0x17 - loads storage items), layout (0x22), item actions (0x26 - move to inventory with commands 0x4c/0x4e), and status text update (0x37 - displays item count/weight in format 'Num X/Y Weight X/Y'). |
| 0x00991C40 | 138 | CUIGuildStorageWindow__handle_message | Message handler for guild storage window. Handles: resize (0xe), refresh (0x17 - loads guild storage items), layout (0x22), item actions (0x26 - handles types 10=move, 0x13=craft, 0x15=sell with different target windows), and packet processing (0x7b - sub-packet 0x5398/5399). Delegates unknown messages to skill window base handler. |
| 0x00992130 | 122 | CUITradeWindow__handle_message | Message handler for the trade window. Complex handler supporting: button clicks (OK/cancel/lock trade), resize, refresh (loads trade items for both parties), item add/remove, Zeny amount input with validation (caps at 1B, validates numeric), trade confirmation flow, lock status updates, and packet processing. Handles both initiator and partner sides of the trade. |
| 0x00993A20 | 84 | CUISubDialog__handle_message_forward_to_parent | Simple sub-dialog message handler that forwards button clicks to parent. On button 0xc9, forwards the event to the parent window at offset 0x10 via its message handler (0x94). Delegates other messages to UIWindow base handler. |
| 0x00993A80 | 143 | CUISkillUseWindow__handle_message | Message handler for skill use/shortcut bar window. Handles: use skill button (0xb8), close (0xc9), skill slot clicks (0xef-0xf5 for decrease, 0xfd-0x103 for increase, 0x104-0x10a for set level), scroll (7/9/10), resize (0xe), refresh (0x17 - loads skill list with level auto-set), layout (0x22), skill target selection (0x30), hotbar setup (0x31 - builds skill queue with confirmation dialog), and skill confirmation (0x3a). Supports two skill tree modes (homun/merc). |
| 0x00994800 | 29 | CUIItemWindow__set_selected_slots | Sets two selected slot indices on the item window. Stores param_2 at offset 0x18a and param_3 at offset 0x18c (both 16-bit values). |
| 0x00994820 | 26 | clamp_and_set_value | Clamps param_2 to be at most param_1 and stores it in *param_3. Only writes if param_2 is non-zero. Used for limiting values to a maximum. |
| 0x00994840 | 147 | CUIItemWindow__set_lock_state | Sets lock state on item window. When locked (param_2==1): sets flag 0x189, hides both this window and target window (DAT_01457978 or DAT_01457a90), shows warning message 0xb72. When unlocked: clears flag, shows both windows, resets selected slots to 0xffff. |
| 0x009948E0 | 687 | CUIItemWindow__set_display_mode | Sets display mode for the item window. Mode 0: checks if this is the focused widget and notifies parent, then closes. Non-zero mode: shows item count in text widget, focuses it, retrieves and displays item description with word-wrap. Builds tooltip from item database info. |
| 0x00994CC0 | 77 | CUIItemWindow__on_item_drag_start | Handles item drag start in item window. Sets flag 0x188, determines target window based on mode (0x130): mode 1 uses DAT_01457a90, others call drag handler and use DAT_01457978. Notifies target window to refresh (message 0x17). |
| 0x00994D90 | 176 | CUIInventoryWindow__check_item_matches_tab | Checks if an item matches the current inventory tab filter. Parses item ID from string, looks up item type. Stores type at param_2[0x1e]. Returns 1 if item matches current tab (offset 0x154): tab 0=types 0/1/2, tab 1=type 0x12, tab 2=types 4/0xb-0xe, tab 3=types 5/8/9/0xf, tab 4=special, tab 5=types 0xa/0x10/0x11/0x13, tab 6=type 6, tab 7=types 3/7. |
| 0x00994EF0 | 272 | CUIInventoryWindow__check_item_matches_tab_alt | Same as check_item_matches_tab but uses offset 0x180 for the tab index instead of 0x154. Used by the alternative inventory window variant. Same tab-to-type mapping. |
| 0x00995330 | 56 | CUIWindow__save_position_to_config | Saves the window's current position and size to its config struct. If config pointer at offset 0xf4 is non-null, writes width (0x14) and height (0x18) to config offsets 8/0xc, and x (0x1c) and y (0x20) to config offsets 0/4. |
| 0x00995370 | 56 | CUIWindow__save_position_to_config_00995370 | Saves the window's current position and size to its config struct. Identical to CUIWindow__save_position_to_config but for a different class vtable. |
| 0x009953B0 | 56 | CUIWindow__save_position_to_config_009953b0 | Saves window position (w,h,x,y) to config struct at offset 0xF4. Same pattern as CUIWindow__save_position_to_config but for a different window class vtable. |
| 0x009953F0 | 56 | CUIWindow__save_position_to_config_009953f0 | Saves window position (w,h,x,y) to config struct at offset 0xFC. Same save_position pattern but using config pointer at different class offset. |
| 0x00995430 | 56 | CUIWindow__save_position_to_config_00995430 | Saves window position (w,h,x,y) to config struct at offset 0xFC. Duplicate of 009953f0 for different vtable. |
| 0x00995470 | 56 | CUIWindow__save_position_to_config_00995470 | Saves window position (w,h,x,y) to config struct at offset 0x154. |
| 0x009954B0 | 56 | CUIWindow__save_position_to_config_009954b0 | Saves window position (w,h,x,y) to config struct at offset 0x150. |
| 0x009954F0 | 56 | CUIWindow__save_position_to_config_009954f0 | Saves window position (w,h,x,y) to config struct at offset 0x164. |
| 0x00995530 | 131 | CUIWindow__save_extended_config | Saves extended window configuration including position/size and 5 additional fields. Saves width/height/x/y to config offsets 8/0xc/0/4, plus fields from offsets 0x110/0x10c/0x100/0x104/0x108 to config offsets 0x10/0x14/0x18/0x1c/0x20. Uses config pointer at offset 0xf0. |
| 0x009955C0 | 56 | CUIWindow__save_rect_to_ptr | Saves window rect (x,y,w,h from offsets 0x1C,0x20,0x14,0x18) to external RECT pointer at 0xF8 |
| 0x00995600 | 56 | CUIWindow__save_rect_to_config_00995600 | Saves window rect (x,y,w,h) to config struct at offset 0xFC. Note: field order is x,y,w,h (rect format) unlike save_position variants which use w,h,x,y. |
| 0x00995640 | 56 | CUIWindow__save_rect_to_config_00995640 | Saves window rect (x,y,w,h) to config struct at offset 0xF8. |
| 0x00995680 | 56 | CUIWindow__save_rect_to_config_00995680 | Saves window rect (x,y,w,h) to config struct at offset 0xF0. |
| 0x009956C0 | 56 | CUIWindow__save_rect_to_config_009956c0 | Saves window rect (x,y,w,h) to config struct at offset 0xF0. Duplicate for different vtable. |
| 0x00995700 | 56 | CUIWindow__save_rect_to_config_00995700 | Saves window rect (x,y,w,h) to config struct at offset 0x150. |
| 0x00995740 | 56 | CUIWindow__save_rect_to_config_00995740 | Saves window rect (x,y,w,h) to config struct at offset 0x134. |
| 0x00995780 | 51 | CUIWindow__save_config_and_refresh_child | Saves window config and refreshes a child window. Gets child at offset 0x47, reads game option 0x108 state, stores it in child's offset 0xc field, then redraws both child and self. |
| 0x00996090 | 932 | CShopWindow__filter_and_remove_items_by_string_a | Iterates linked list of shop items at offset 0xe8. For each item, copy-constructs name and performs byte-level substring search. If search string NOT found, unlinks the item from the list and decrements count at 0xec. Variant A - calls CShopWindow__build_item_tooltips_b first. |
| 0x00996440 | 932 | CShopWindow__filter_and_remove_items_by_string_b | Iterates linked list of shop items at offset 0xe8. For each item, copy-constructs name and performs byte-level substring search. If search string NOT found, unlinks the item from the list and decrements count at 0xec. Variant B - calls CShopWindow__build_item_tooltips_c first. |
| 0x009967F0 | 78 | get_item_sort_category | Maps item type IDs to sort category numbers. Types 0/1/2->0 (equipment), 3/7->6 (ammo/shadow), 4/0xb-0xe->2 (weapon), 5/8/9/0xf->3 (armor), 6->5 (card), 10/0x10/0x11/0x13->4 (etc), 0x12->1 (consumable). Default->10 (unknown). |
| 0x00996930 | 16 | CUIInventoryWindow__set_search_mode | Sets the search mode flag at offset 0x158. Controls whether the inventory window is in search/filter mode. |
| 0x00996940 | 16 | CUIInventoryWindow__set_current_tab | Sets the current tab index at offset 0x154. Controls which item category tab is active in the inventory window. |
| 0x00996950 | 408 | CShopWindow__build_item_tooltips_a | Iterates shop item linked list at offset 0xe8. For each item, copy-constructs it, formats tooltip body via CItemDesc__format_tooltip_body, and gets base item ID. Returns 1 if items exist, 0 if list is empty. Variant A - used by inventory window. |
| 0x00996AF0 | 408 | CShopWindow__build_item_tooltips_b | Iterates shop item linked list at offset 0xe8. For each item, copy-constructs it, formats tooltip body via CItemDesc__format_tooltip_body, and gets base item ID. Returns 1 if items exist, 0 if list is empty. Variant B - used by storage window. |
| 0x00996C90 | 408 | CShopWindow__build_item_tooltips_c | Iterates shop item linked list. For each item, copy-constructs it, formats tooltip body via CItemDesc__format_tooltip_body, and gets base item ID. Returns 1 if items exist, 0 if list is empty. Variant C. |
| 0x00996E30 | 592 | CShopWindow__calculate_total_and_send_purchase | Sets purchase parameters (param_2/param_3 to fields 0x33/0x34). Iterates all items to calculate total price (quantity * unit_price). Formats currency string via message ID 0x918, calls CPacketManager to send purchase packet, then updates UI text widget. |
| 0x00997350 | 71 | CUIShopSubPanel__dtor | Destructor for a shop sub-panel class. Sets vtable pointer and delegates to UIPanel base destructor. |
| 0x009973F0 | 99 | CUIShopSubPanel__scalar_deleting_dtor | Scalar deleting destructor for shop sub-panel. Sets vtable, calls base dtor, optionally frees memory (0xd0 bytes) if param_2 bit 0 is set. |
| 0x009974F0 | 1827 | CShopWindow__draw_detail_panel | Draws the detailed shop panel: item name with color coding, weight/price labels with string IDs 0xbfc/0xbfd/0xe2c, weight/price percentages, zeny amounts, and cart weight. Handles currency display differences for locale 0xc (Peso). Right-aligns price text and shows warning color (red=0xff) when price ratio exceeds threshold. |
| 0x00997C20 | 1171 | CShopWindow__draw_summary_panel | Draws the shop summary panel with background fill and 3D border. Formats and displays item name/count, weight current/max with low warning color, discount percentage, and zeny. Handles special item IDs (0xfce-0x10dc) with different font sizes. Shows weight warning in red when ratio below threshold. |
| 0x009981A0 | 530 | CShopWindow__on_tab_switch | Handles tab switching between buy tab (field 0x2d) and sell tab (field 0x2e). Repositions child widgets (buttons at 0x3a-0x3f) based on active tab. Updates text widget size and word wrap. Also repositions related window type 0x133. Sell tab shows additional controls for overcharge pricing. |
| 0x009983C0 | 1104 | CShopWindow__init_child_controls | Initializes shop window child controls: creates button widget, action button with Alt-V/Ctrl-V hotkey, editable text widget at 0xc0, three UIPanel sub-panels at 0xe8/0xec/0xfc with different vtable types, two UIContainer scrollable lists at 0xf0/0xf4 for buy/sell item lists, and sets their sizes/positions. |
| 0x00998810 | 2759 | CShopWindow__draw_main_panel | Main shop window draw handler. Dispatches to draw_summary_panel or draw_detail_panel based on which tab is active (0xb4 vs 0xb8). For the basic info panel, draws character level, job level, HP/SP with low-health warning colors, experience rate, zeny, and weight. Handles locale-specific display (0xc=Peso/Classe, else Lv/Weight). Special job IDs (0xfce-0x10dc) use smaller font. |
| 0x009995A0 | 365 | CUIBasicInfoWindow__handle_message | Message handler for the basic info/status bar window. Handles button clicks that toggle various game windows: 0xc0=party, 0xc1=guild info, 0xc2=inventory, 0xc3=equipment, 0xc4=options, 0xc7=friends, 0xca=minimize/resize, 0xd6=navigation, 0xdb=quest, 0xde=close all windows, 0xf7=storage, 0x169=achievement, 0x175=rodex, 0x242=equip tab2. Also handles layout (0x22) and redraw (0x3c). |
| 0x00999BC0 | 71 | CUIWindow__save_position_and_state_to_config | Saves window position, size, and an additional boolean state to config. Writes width/height/x/y to config struct at offset 0xc4, plus a byte from offset 0xbc to config offset 0x10. |
| 0x00999C10 | 16 | CUIWindowType1__set_vtable | Sets the vtable pointer for UI window type 1 (PTR_FUN_011471f4). |
| 0x00999C20 | 16 | CUIWindowType2__set_vtable | Sets the vtable pointer for UI window type 2 (PTR_FUN_01147210). |
| 0x00999C30 | 16 | CUIWindow__set_vtable_0114722c | Sets vtable pointer to 0114722c; used during construction or type initialization |
| 0x00999C40 | 16 | CUIWindowType3__set_vtable | Sets the vtable pointer for UI window type 3 (PTR_FUN_01147248). |
| 0x00999C50 | 16 | CUIWindowType4__set_vtable | Sets the vtable pointer for UI window type 4 (PTR_FUN_01147264). |
| 0x00999C60 | 16 | CUIWindowType5__set_vtable | Sets the vtable pointer for UI window type 5 (PTR_FUN_01147280). |
| 0x00999F50 | 16 | CUIWindow__set_vtable_00999f50 | Sets vtable pointer to CUIWindow vtable at 0114722c. |
| 0x00999FF0 | 104 | UIScrollList__ctor_00999ff0 | Constructor for UIScrollList. Calls UIScrollListBase__ctor, sets vtable to 0114729c, initializes members at offsets 0x35 and 0x36 to zero. |
| 0x0099A060 | 96 | UIWindowChild__ctor_0099a060 | Constructor for a UIWindowChild subclass. Calls UIWindowBase__ctor, sets vtable to 01147384, initializes member at offset 0x2d to zero. |
| 0x0099A0C0 | 71 | UIWindowChild__dtor_0099a0c0 | Destructor for UIWindowChild subclass. Sets vtable to 01147384, then calls UIWindowBase__dtor. |
| 0x0099A110 | 99 | UIScrollList__scalar_deleting_dtor_0099a110 | Scalar deleting destructor for UIScrollList (size 0xE0). Sets vtable to 0114729c, calls UIFormattedWidgetBase__dtor, conditionally frees memory. |
| 0x0099A180 | 99 | UIWindowChild__scalar_deleting_dtor_0099a180 | Scalar deleting destructor for UIWindowChild (size 0xB8). Sets vtable to 01147384, calls UIWindowBase__dtor, conditionally frees memory. |
| 0x0099B0C0 | 86 | UIInfoWindow__ctor_0099b0c0 | Constructor for UIInfoWindow. Calls UIWindowBase__ctor and sets vtable to 01147558. |
| 0x0099B120 | 307 | UIItemInfoWindow__ctor_0099b120 | Constructor for UIItemInfoWindow. Calls UIWindowBase__ctor, sets vtable to 01147480, allocates 3 RB-tree map sentinel nodes (0x18 bytes each) and one 0x1C node, initializes 3 vector pairs via eh_vector_constructor, zeros out state flags. |
| 0x0099B260 | 71 | UIInfoWindow__dtor_0099b260 | Destructor for UIInfoWindow. Sets vtable to 01147558, calls UIWindowBase__dtor. |
| 0x0099B2B0 | 207 | UIItemInfoWindow__dtor_0099b2b0 | Destructor for UIItemInfoWindow. Zeros state, destructs 3 vector pairs, clears 3 maps/tree structures, calls UIWindowBase__dtor. |
| 0x0099B3E0 | 99 | UIInfoWindow__scalar_deleting_dtor_0099b3e0 | Scalar deleting destructor for UIInfoWindow (size 0xB8). Sets vtable to 01147558, calls UIWindowBase__dtor, conditionally frees memory. |
| 0x0099B450 | 231 | UIItemInfoWindow__scalar_deleting_dtor_0099b450 | Scalar deleting destructor for UIItemInfoWindow (size 0x16C). Destructs vector pairs, clears maps/trees, calls UIWindowBase__dtor, conditionally frees memory. |
| 0x0099B540 | 1278 | CMinimapMemoWindow__populate_memo_buttons_0099b540 | Populates minimap memo buttons. Gets map name, tokenizes by delimiter. For each token: if type 8, stores coord pair; otherwise creates a CDialogWnd button with texture, positions it, adds to memo point tree map with index key. |
| 0x0099BA80 | 1538 | CMinimapMemoWindow__load_memo_file_0099ba80 | Loads minimap memo entries from text file (Memo_[mapname].txt). Clears 20 memo buttons, reads up to 40 lines with strtok, parses x/y coords and label text. Returns number of memo entries loaded. |
| 0x0099C090 | 362 | CMinimapMemoWindow__create_ui_controls_0099c090 | Creates UI controls for minimap memo window. Adds close button (msg 0xAB5), OK button (msg 0xAC2), creates editable text widget for memo input, sets text color to light gray (0xE8E8E8). |
| 0x0099C200 | 811 | CMinimapMemoWindow__init_map_view_0099c200 | Initializes minimap memo window map view. Calculates scale from map dimensions, creates 3 radio buttons (zoom levels), close/ready buttons, 20 memo point buttons, loads memo file, creates equip slot widget for minimap display. |
| 0x0099C560 | 700 | CMinimapMemoWindow__render_0099c560 | Renders minimap memo window. Draws map background with border, loads map texture, renders memo point markers from 3 coordinate vectors (regular points, boss points, warp points). |
| 0x0099C820 | 114 | CMinimapMemoWindow__handle_click_0099c820 | Handles click on minimap memo window. If click is in the top header area (y <= 0x11), delegates to UIWindow__prepare_render_context for drag handling. Otherwise, if click is within the map area and memo placement is enabled (flag at 0x118), records click coordinates (adjusted by -6 pixels) and opens the memo input dialog (window type 0x112). |
| 0x0099C8D0 | 394 | CMinimapMemoWindow__save_memo_file_0099c8d0 | Saves minimap memo entries to text file (Memo_[mapname].txt). Iterates 20 memo buttons, writes entries with valid coordinates as 'x y label' lines. Returns number of entries saved. |
| 0x0099CA60 | 444 | CMinimapMemoWindow__handle_memo_input_event_0099ca60 | Handles memo input dialog events. On Enter with text, triggers OK button event. On OK (0xB8), appends memo entry to file and reloads. On close (0xC9), hides dialog. Otherwise delegates to UIWindow__handle_button_click. |
| 0x0099CC20 | 1462 | CMinimapMemoWindow__handle_event_0099cc20 | Main event handler for minimap memo window. Handles: 0x1E1/0x1E2 (show/hide panels), 0x1E3 (move marker), 0x1E4 (resize marker list), 0x1E5 (add new marker with dialog), 0x1E6 (clear all markers), 0x22 (tab selection), button events for close/zoom/delete/warp. Complex memo point management with RB-tree maps. |
| 0x0099D920 | 135 | CMinimapMemoWindow__toggle_boss_markers_visibility_0099d920 | Toggles visibility of boss markers on minimap. Iterates RB-tree at offset 0x4C, shows/hides each marker based on boss toggle button state at offset 0x48. |
| 0x0099D9B0 | 135 | CMinimapMemoWindow__toggle_warp_markers_visibility_0099d9b0 | Toggles visibility of warp markers on minimap. Iterates RB-tree at offset 0x4E, shows/hides each marker based on warp toggle button state at offset 0x47. |
| 0x0099DA40 | 194 | CMinimapMemoWindow__recalculate_map_scale_0099da40 | Recalculates minimap scale and offsets from current map dimensions. Gets map width/height, computes scale factor, adjusts X/Y offsets to center the map. |
| 0x0099DB10 | 372 | CMinimapMemoWindow__update_minimap_texture_0099db10 | Updates minimap widget texture. Gets map texture path, sets title/subtitle text, loads texture file, performs RTTI dynamic cast to determine texture dimensions, sizes the minimap widget accordingly. |
| 0x0099DD10 | 44 | CMinimapMemoWindow__world_to_screen_x_0099dd10 | Converts world X coordinate to screen X position using map scale (offset 0xB8) and X offset (offset 0xBC). |
| 0x0099DD40 | 48 | CMinimapMemoWindow__world_to_screen_y_0099dd40 | Converts world Y coordinate to screen Y position using map scale (offset 0xB8) and Y offset (offset 0xC0). Y axis is inverted. |
| 0x0099DDD0 | 1 | stub_nop_0099ddd0 | Single-byte stub function (size=1) |
| 0x0099DDE0 | 42 | fill_array_with_pair | Fill array with pair |
| 0x0099E060 | 123 | MapMarkerEntry__copy_construct_0099e060 | Copy constructor for MapMarkerEntry (0x3C bytes). Sets vtable to 01147748, copy-constructs two std::string members (offsets 4 and 0x1C), copies two int members (offsets 0x34 and 0x38). |
| 0x0099E0E0 | 129 | CMapMarkerListWnd__ctor_0099e0e0 | Constructor for CMapMarkerListWnd. Calls UIItemListWnd__ctor, sets vtable to 01147750, initializes vector (offsets 0x3C-0x3E) to empty, stores param as member at 0x3F. |
| 0x0099E260 | 209 | CMapMarkerListWnd__dtor_0099e260 | Destructor for CMapMarkerListWnd. Clears linked list at 0x3A (frees 0x100-byte nodes with string dtors), clears vector of 0x3C entries, calls UIItemListWnd__dtor. |
| 0x0099E340 | 93 | MapMarkerEntry__dtor_0099e340 | Destructor for MapMarkerEntry. Sets vtable to 01147748, destructs two std::string members. |
| 0x0099E3A0 | 234 | CMapMarkerListWnd__scalar_deleting_dtor_0099e3a0 | Scalar deleting destructor for CMapMarkerListWnd (size 0x100). Full cleanup of list/vector, calls UIItemListWnd__dtor, conditionally frees memory. |
| 0x0099E490 | 114 | MapMarkerEntry__scalar_deleting_dtor_0099e490 | Scalar deleting destructor for MapMarkerEntry (size 0x3C). Destructs two strings, conditionally frees memory. |
| 0x0099E510 | 642 | CMapMarkerListWnd__create_child_widgets_0099e510 | Creates child widgets for CMapMarkerListWnd. Creates editable text widget, text label with checkbox texture (magenta color), sprite scrollbar, close button (CDialogWnd). Calculates visible rows from height. |
| 0x0099E7A0 | 1368 | CMapMarkerListWnd__render_item_list_0099e7a0 | Renders the item list for CMapMarkerListWnd. Draws background with decorative borders, iterates visible items drawing: item sprite with count badge, item name, price in Zeny, timestamp (MM/DD HH:MM:SS format). |
| 0x0099ED00 | 584 | CMapMarkerListWnd__show_item_tooltip_0099ed00 | Shows item tooltip on hover in CMapMarkerListWnd. Gets item at grid position, builds tooltip string with item description. Uses different format for purchasable items (msg 0x9F7) vs regular items (msg 0xB7). |
| 0x0099EF50 | 309 | CMapMarkerListWnd__update_marker_names_0099ef50 | Updates marker names in CMapMarkerListWnd. Iterates vector of 0x3C entries, for entries matching msg 0x245, updates the name string from a utility function. Triggers redraw if any name changed. |
| 0x0099F090 | 193 | CMapMarkerListWnd__handle_item_click_0099f090 | Handles item click in CMapMarkerListWnd. Gets clicked item from grid position, opens item detail window (command 0xC) and sends event 0x18 with item data. |
| 0x0099F160 | 1039 | CMapMarkerListWnd__handle_event_0099f160 | Event handler for CMapMarkerListWnd. Handles: close (0xC9, sends 0x101 or 0x102), resize (0xE with param 3, adjusts rows/scrollbar), add item (0x17, creates linked list node + vector entry with name/tooltip/price). Delegates other events to base handler. |
| 0x009A3B50 | 372 | CUIWindow__render_toggle_status | Renders toggle on/off status text at fixed positions using msg IDs 0x1AC-0x1AF in white |
| 0x009A5460 | 1 | stub_nop_009a5460 | Single-byte stub function (size=1) |
| 0x009A5620 | 1 | stub_nop_009a5620 | Single-byte stub function (size=1) |
| 0x009A5670 | 1 | stub_nop_009a5670 | Single-byte stub function (size=1) |
| 0x009A58A0 | 1 | stub_nop_009a58a0 | Single-byte stub function (size=1) |
| 0x009A5D60 | 1 | stub_nop_009a5d60 | Single-byte stub function (size=1) |
| 0x009A61E0 | 1 | stub_nop_009a61e0 | Single-byte stub function (size=1) |
| 0x009A6540 | 1 | stub_nop_009a6540 | Single-byte stub function (size=1) |
| 0x009A6610 | 1 | stub_nop_009a6610 | Single-byte stub function (size=1) |
| 0x009A6660 | 1 | stub_nop_009a6660 | Single-byte stub function (size=1) |
| 0x009A6AC0 | 1 | stub_nop_009a6ac0 | Single-byte stub function (size=1) |
| 0x009A6D40 | 1 | stub_nop_009a6d40 | Single-byte stub function (size=1) |
| 0x009A6E90 | 3598 | UIWindowManager__init_default_window_positions | Initializes the default position/size table for all UI window types. Massive function that writes hardcoded x/y/w/h values (and additional config fields) for every window ID into the UIWindowManager struct. Called once on startup; uses a global flag to ensure single initialization. Also handles job-class-dependent status window height. |
| 0x009A7CA0 | 140 | UIWindowManager__clamp_window_position_to_screen | Validates and clamps a window's position/size to fit within screen bounds. Adjusts width based on a flag (0xe4 or 0x110), clamps height to max 0x152, ensures x/y are non-negative and window doesn't extend past screen edges. |
| 0x009A80F0 | 231 | CShopItemList__add_item_from_desc_009a80f0 | Adds an item to shop item list from item description. Clears item info tree, gets equip slot type and class/level from item desc, converts string to int via atoi, then pushes to CShopItemList. |
| 0x009A81E0 | 15 | CShopItemList__push_back_wrapper_009a81e0 | Simple wrapper that calls CShopItemList__push_back. |
| 0x009A81F0 | 191 | UIShopWnd__on_mouse_event_009a81f0 | Handles mouse events for shop window. Checks window type 0x271b, dispatches based on param_4 type (3=item types with switch for equip slots 4/5/8/9/0xb-0xf). Triggers UI notifications via vtable calls. |
| 0x009A83C0 | 1118 | UIShopWnd__init_child_widgets_009a83c0 | Initializes child widgets for shop window: editable text widget, text label, scrollbar, sprite widget, OK button with normal/hover/pressed textures (btn_ok_bmp, btn_ok_a_bmp, btn_ok_b_bmp). Sets up row count and triggers refresh notification 0x17. |
| 0x009A8820 | 2231 | UIShopWnd__draw_item_list_009a8820 | Draws the shop item list. Renders background borders (left/right), item rows with sprites, names, prices (with discount display like "d > s Zeny"), item count badges. Handles highlight on selected item. Shows total price at bottom if in buy mode (0x10c==1). Uses color picker for selection highlight and background fill. |
| 0x009A90E0 | 1480 | UIShopGridWnd__draw_item_grid_009a90e0 | Draws a grid-based shop item list. Renders items in a multi-column grid layout (using field 0xe0 as column count). Each cell is 32x32. Draws left/right borders, background fill, item sprites with count, tooltips, price text. Highlights selected item (field 0xf8). Similar to draw_item_list but uses grid arrangement instead of single column. |
| 0x009A96C0 | 71 | UIShopWnd__on_mouse_move_009a96c0 | Handles mouse move in shop window. If y < 0x11, draws header area. Hit-tests item grid for hover, updates field 0x3e with hovered item index. Triggers repaint (vtable+0x98) if hover changed. |
| 0x009A9710 | 685 | UIShopWnd__show_item_tooltip_009a9710 | Shows tooltip for a shop item at the given grid position. Gets item at grid pos, builds tooltip string with item name and price (formatted as "s Zeny" or "d > s Zeny" for discounted). Displays tooltip via FUN_00ad6510. |
| 0x009A99C0 | 237 | UIShopWnd__on_double_click_009a99c0 | Handles double-click on shop item list. Hit-tests grid, gets item at index. If valid item found, sends message 0x18 with the item data to window 0xc (buy quantity dialog). |
| 0x009A9AB0 | 144 | UIShopBuyWnd__process_message_009a9ab0 | Message handler for shop buy window. Handles: msg 6 (button press - 0xb8 buy confirm/cancel, 0xb9 close), msg 0xe (resize with min 0xe8x0x78, snapped to 32px grid), msg 0x17 (refresh item list and calculate total), msg 0x22 (item selected), msg 0x24 (clear total text), msg 0x26 (execute purchase - validates weight/zeny/count limits, sends buy packets), msg 0x7b (packet response with 0x50dc/0x50dd). |
| 0x009AA4F0 | 138 | UIShopSellWnd__process_message_009aa4f0 | Message handler for shop sell window. Handles: msg 6 (button 0xd5 - tab switch), msg 0xe (resize with min 0xe8x0x78, 32px grid snap), msg 0x17 (refresh sell item list), msg 0x22 (item selected for sell), msg 0x24 (toggle sell/nosell state with text 0xb9/0xba), msg 0x26 (execute sell - sends sell packets, refreshes related windows). |
| 0x009AA990 | 94 | UIShopBuyWnd__process_message_alt_009aa990 | Alternative message handler for shop buy window. Handles: msg 6 (0xb8 close shop), msg 0xe (resize with min 0xe8x0x78, 32px grid snap), msg 0x17 (calculate total from item list, display "Total: s Zeny"), msg 0x22 (clear total text), msg 0x24 (reset and resize). |
| 0x009AAF30 | 174 | UIPetInfoWnd__ctor_009aaf30 | Constructor for UIPetInfoWnd. Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01147fec. Initializes fields: 0x2d-0x2f=0 (child widget ptrs), 0x32-0x34=0 (item vectors), 0x30-0x31=-1 (pet IDs). |
| 0x009AB070 | 110 | UIPetInfoWnd__dtor_009ab070 | Destructor for UIPetInfoWnd. Sets vtable to PTR_FUN_01147fec, clears pair vector and int vector, then calls UIWindowBase__dtor. |
| 0x009AB0E0 | 134 | UIPetInfoWnd__scalar_deleting_dtor_009ab0e0 | Scalar deleting destructor for UIPetInfoWnd. Sets vtable, clears vectors, calls UIWindowBase__dtor. Conditionally frees object memory (size 0xd4). |
| 0x009AB170 | 420 | UIPetInfoWnd__init_buttons_009ab170 | Initializes buttons for pet info window. Creates close button and two dialog buttons (0xb8 and 0xb9) with normal/hover/pressed textures. Positions them relative to window bounds. |
| 0x009AB320 | 1074 | UIPetInfoWnd__draw_009ab320 | Draws pet info window content. Loads pet illustration sprites (from field 0xc0 and 0xc4 IDs), falling back to "userinterface/illust/pet_noimage" if not found. Draws pet images, stats overlay, item name labels formatted as "%d", and text at bottom. Uses RTDynamicCast for sprite type checking. |
| 0x009AB760 | 1212 | UIPetInfoWnd__process_message_009ab760 | Message handler for pet info window. Handles: msg 6 (button 0xb8=confirm hatching with item/count validation, 0xb9/0xc9=close), msg 0x62 (add item to hatch list, sends to buy dialog), msg 0x8e (set pet pair IDs and items, build hatch list). Validates item counts against inventory, builds network packet 0x9fb for hatching. |
| 0x009ABC20 | 860 | UIPetInfoWnd__create_child_widgets_009abc20 | Creates child text widgets for pet info window. Loads pet names by ID (fields 0xc0, 0xc4), creates text label widgets with grey color (0x9b9b9b). Iterates through item list at field 0xc8, creating labels for each item name. Uses UIWidget__ctor and UIEditBox__set_text_and_layout for each widget. |
| 0x009ABF90 | 58 | aligned_free_ushort_buffer_009abf90 | Frees an aligned unsigned short buffer. param_1=data ptr, param_2=element count. Computes byte size (count*2), handles aligned block deallocation for large blocks (>0xfff bytes). |
| 0x009AC040 | 291 | UIScrollPanel__ctor_009ac040 | Constructor for UIScrollPanel. Calls base UIWidget ctor, sets vtable to PTR_UIScrollPanel__destructor_01148184. Initializes scroll state fields (0x1f-0x2b), creates sentinel node for red-black tree at field 0x2a. Sets default scroll bar size to 0xd. Calls create_scrollbars via vtable. |
| 0x009AC2B0 | 198 | UIScrollPanel__dtor_009ac2b0 | Destructor for UIScrollPanel. Sets vtable, removes and destroys horizontal scrollbar (field 0x23) and vertical scrollbar (field 0x24) if present. Clears offset list, destroys map tree, calls base UIWidget dtor. |
| 0x009AC4F0 | 222 | UIScrollPanel__scalar_deleting_dtor | Scalar deleting destructor for UIScrollPanel. Sets vtable, releases horizontal/vertical scrollbars, destroys offset map tree, calls base UIWidget dtor. Conditionally frees 0xB0-byte object memory if param_2 & 1. |
| 0x009AC5D0 | 464 | UIScrollPanel__update_child_offsets | Updates scroll offsets for all child widgets, excluding scrollbars; inserts new entries into offset tree |
| 0x009AC7B0 | 79 | UIScrollPanel__set_child_position | Sets position of a child widget via vtable call and updates internal offset tracking |
| 0x009AC800 | 35 | UIScrollPanel__on_child_resize | Handles child resize event: calls base resize handler and propagates via vtable+0x3C |
| 0x009AC830 | 95 | UIScrollPanel__release_scrollbars | Releases and nullifies both horizontal (offset 0x8C) and vertical (offset 0x90) scrollbar objects |
| 0x009AC890 | 361 | UIScrollPanel__render_children | Renders all child widgets with scroll offset adjustment; handles scrollbars and dirty flag refresh |
| 0x009ACA00 | 322 | UIScrollPanel__render_children_no_clip | Renders children without clip-region mode flag check; applies scroll offsets and dirty refresh |
| 0x009ACB50 | 1056 | UIScrollPanel__render_children_clipped | Renders children with clipping enabled; builds render command list and submits to renderer |
| 0x009ACF80 | 317 | UIScrollPanel__render_child_clipped | Renders a single child widget with clip rectangle calculation based on scroll position |
| 0x009AD0C0 | 60 | UIScrollPanel__submit_render_quad | Submits render quad for this panel; handles clip-mode by adding scroll offset to position |
| 0x009AD100 | 668 | UIRenderer__push_textured_quad | Pushes a textured quad (4 vertices with UV coords and color) onto the render deque for batched drawing |
| 0x009AD3A0 | 248 | UIScrollPanel__create_scrollbars | Creates horizontal (0x8C) and vertical (0x90) scrollbar child widgets with size relative to panel |
| 0x009AD4A0 | 60 | UIScrollPanel__scroll_vertical_by | Scrolls vertical scrollbar by delta; positive scrolls down (msg 7,+3), negative scrolls up (msg 7,-3) |
| 0x009AD4E0 | 683 | UIScrollPanel__recalculate_scrollbar_layout | Recalculates scrollbar visibility and ranges based on child widget content extents vs panel size |
| 0x009AD790 | 42 | UIScrollPanel__reset_scroll_and_clear | Resets both scroll positions to 0, clears offset tree and invalidates layout |
| 0x009AD7C0 | 226 | UIScrollPanel__remove_offset_entries_by_id | Removes offset tree entries matching a widget ID; clears entire tree if no match found |
| 0x009AD8B0 | 138 | UIScrollPanel__on_resize | Handles panel resize: repositions horizontal and vertical scrollbars to match new dimensions |
| 0x009AD940 | 308 | UIScrollPanel__handle_scroll_message | Handles scroll messages (7-12): updates scroll position clamped to content range, refreshes scrollbar |
| 0x009ADA90 | 51 | UIScrollPanel__set_horizontal_scrollbar_visible | Sets horizontal scrollbar visibility if changed; optionally triggers panel refresh |
| 0x009ADAD0 | 51 | UIScrollPanel__set_vertical_scrollbar_visible | Sets vertical scrollbar visibility if changed; optionally triggers panel refresh |
| 0x009AE4C0 | 103 | UILinkedList__clear_and_free | Clears linked list: frees all 0x10-byte data nodes and the sentinel node itself |
| 0x009B26D0 | 315 | UIItemGridWnd__on_mouse_move_009b26d0 | Mouse move handler for item grid window. If y < header height, draws header. Checks dirty flag (0xaa) and refreshes layout. Hit-tests grid slot, updates hover index (field 0x94), triggers repaint if changed. If hovering valid slot with item, shows cursor tooltip with item info via FUN_00cfe2a0. |
| 0x009B2810 | 218 | UIItemGridWnd__on_left_click_009b2810 | Left-click handler for item grid window. If y < header, draws footer and calls vtable+0x2c. Otherwise hit-tests grid area, gets item info at slot, calls FUN_009b3eb0 to validate click. On success sets drag flags (0x271=0x101) and refreshes layout. |
| 0x009B28F0 | 232 | UIItemGridWnd__on_right_click_009b28f0 | Right-click handler for item grid window. Hit-tests grid, gets item info at slot, shows skill name tooltip positioned with offset. Triggers repaint if hover changed and updates layout if dirty. |
| 0x009B29E0 | 631 | UIItemGridWnd__on_double_click_009b29e0 | Double-click handler for item grid window. If clicking empty slot, clears selection and all tab indicators. Toggles expand flag on repeated clicks. Opens skill detail window (0x2e) positioned near click, with skill info (ID, level). Validates against screen bounds for positioning. |
| 0x009B2C60 | 111 | UIItemGridWnd__on_scroll_009b2c60 | Scroll handler for item grid window. If a child window (0x2e) is visible, forwards scroll to it. Otherwise scrolls the grid by 1-3 rows (clamped to 3 max) in the direction indicated by param_2 sign. Sends scroll message via vtable+0x94 with msg 7. |
| 0x009B2CD0 | 875 | UIItemGridWnd__rebuild_skill_list_009b2cd0 | Rebuilds the skill list entries for item grid window. Clears pending list (0x298), resets all tab indicators to -1. Iterates skill entries matching current tab/page, categorizes skills by ID range (1-54=type0, 142-157=type0, 500-544=type0, 2000-2532=type2, 411-444=type1+). Updates tab indicators and inserts skill entries with current level info into the pending list. |
| 0x009B3040 | 375 | UIItemGridWnd__update_scroll_state_009b3040 | Updates scroll bar state for item grid window. Calculates column count and visible rows based on window size. For classic mode uses 6 rows x 7 cols; for new mode calculates dynamically. Updates scrollbar range/position, clamps scroll offset to valid range. Marks dirty flag for repaint. |
| 0x009B3EB0 | 589 | UIItemGridWnd__try_add_skill_point_009b3eb0 | Tries to add a skill point to the specified skill ID. Validates remaining skill points (field 0x26c). In classic mode: iterates skill list (0x298), finds skill by ID, checks max level vs current level, validates prerequisites (skill_level >= required). In new mode: finds skill in current tab list, increments level if below max. Shows error message if prereq skill needs higher level. Returns 1 on success, 0 on failure. |
| 0x009B4220 | 358 | text_word_wrap_to_lines_009b4220 | Word-wraps text into lines. Iterates through string using character width callback, breaking at spaces or when line exceeds param_3 pixel width. Pushes each line as a string into the output vector (param_2). Also handles newline characters and color code offsets for RO text rendering. |
| 0x009B45D0 | 342 | text_char_wrap_to_lines_009b45d0 | Character-level text wrapping to lines. Similar to word wrap but breaks at exact character positions when exceeding param_3 pixel width. Handles newlines. Pushes each wrapped line into the output vector<string>. Uses character advance callback for proper multi-byte character handling. |
| 0x009B4730 | 1983 | text_word_wrap_with_items_009b4730 | Advanced word-wrap that handles RO special markup: color codes (^XXXXXX), item references (nItemID=XXXX which get resolved to item names), bracket groups ([...]), and carriage returns. Outputs wrapped lines to vector<string>. Also handles color code insertion for wrapped lines when DAT_016d3b08 is set. |
| 0x009B4F70 | 322 | CCollisionRect__compute_overlap_009b4f70 | Computes overlap/snap offset between two collision rectangles. Checks horizontal and vertical edge overlap with 10-unit tolerance. Outputs X offset (param_3) and Y offset (param_4) needed to separate the rectangles. Uses multiple edge pair comparisons for both orientations. |
| 0x009B50C0 | 62 | ranges_overlap_009b50c0 | Checks if two 1D ranges [param_1,param_2] and [param_3,param_4] overlap. Returns 1 if overlapping, 0 if disjoint. |
| 0x009B5100 | 62 | is_color_code_009b5100 | Checks if string at param_1 starts with a RO color code (^XXXXXX format). Verifies caret followed by 6 hex digit characters using lookup table at DAT_01311f60. Returns 1 if valid color code, 0 otherwise. |
| 0x009B5140 | 184 | parse_nItemID_tag_009b5140 | Parses an nItemID=XXXX tag from text. Checks for "nItemID=" prefix, extracts numeric digits, converts to integer via atoi. Sets *param_3 = total tag length consumed, *param_4 = parsed item ID. Returns 1 on success, 0 if not found or no digits. |
| 0x009B5200 | 67 | CCollisionRect__swap_halves_009b5200 | Swaps the two halves of a collision rect structure. Exchanges the first 12 bytes with bytes 12-23, and swaps corresponding fields in the second half. Used for flipping/mirroring collision bounds. |
| 0x009B5250 | 62 | CCollisionRect__init_from_bounds_009b5250 | Initializes collision rect from x, y, width, height bounds. Sets all 12 fields: computes x2=x+width, y2=y+height, stores duplicated values across the rect's horizontal and vertical edge arrays. |
| 0x009B52E0 | 129 | CSkillTooltipWnd__ctor_009b52e0 | Constructor for skill tooltip window. Calls UIWidget ctor, sets vtable to PTR_FUN_01148564. Calls CItemInfoMgr__clear_tree_and_free_alt, initializes fields 0x7c-0x7e to 0 (line vectors). |
| 0x009B5370 | 136 | CSkillTooltipWnd__dtor_009b5370 | Destructor for skill tooltip window. Sets vtable, clears formatted text data, destroys two strings and calls UIFmtStringDialog__dtor base class destructor. |
| 0x009B5400 | 160 | CSkillTooltipWnd__scalar_deleting_dtor_009b5400 | Scalar deleting destructor for CSkillTooltipWnd. Clears formatted text, destroys strings, calls base dtor. Conditionally frees memory (size 0x200). |
| 0x009B56E0 | 114 | CTextLineObj__scalar_deleting_dtor_009b56e0 | Scalar deleting destructor for CTextLineObj (vtable PTR_FUN_01148640). Destroys two strings, conditionally frees memory (size 0x38). |
| 0x009B6020 | 406 | sort_median_of_nine_pivot | Selects pivot using median-of-3 or median-of-9 strategy for 0x24-byte element arrays |
| 0x009B61C0 | 437 | sort_insertion_36byte_009b61c0 | Insertion sort for array of 36-byte (0x24) elements. Sorts by field at offset 8 (int comparison). Uses string copy for the string field at offset 0xc. Used as final pass in introsort for small partitions. |
| 0x009B6380 | 528 | sort_heapify_36byte_009b6380 | Heap sort (heapify) for array of 36-byte elements. Builds max-heap bottom-up, sifting each element down. Compares by field at offset 8. Used as fallback when introsort recursion limit is reached. |
| 0x009B6590 | 1862 | sort_partition_36byte_009b6590 | Quicksort partition for 36-byte elements. Uses median-of-three pivot selection, partitions elements around pivot comparing field at offset 8. Handles equal elements by gathering them around the pivot. Returns partition boundaries via param_1. |
| 0x009B6CE0 | 325 | sort_sift_down_36byte_009b6ce0 | Sift-down operation for heap sort on 36-byte elements. Moves element at param_2 down the heap by comparing field at offset 8 with children. Places param_4 element at final position. Standard binary heap sift-down. |
| 0x009B6E30 | 482 | sort_introsort_36byte_009b6e30 | Introsort (hybrid quicksort) for 36-byte elements. Falls back to insertion sort for small ranges (<0x4a4 bytes = ~53 elements), heapsort when recursion depth exceeded. Uses partition_36byte for quicksort phase. Recursion depth decreases by 3/4 each level. |
| 0x009B7020 | 113 | CTextLineObj__copy_construct_009b7020 | Copy constructor for CTextLineObj (0x38 byte element). Sets vtable to CTextLineObj dtor, copies int field, copy-constructs two strings from source at offsets 8 and 0x20. |
| 0x009B70A0 | 125 | CRichTextLine__copy_construct_009b70a0 | Copy constructor for CRichTextLine (0x40 byte element). Sets vtable, copies 3 int fields (offsets 4, 8, 0xc), copy-constructs two strings from offsets 0x10 and 0x28. |
| 0x009B7120 | 96 | CSortEntry__copy_construct_009b7120 | Copy constructor for CSortEntry (0x24 byte element). Sets vtable (PTR_FUN_01148738), copies 2 int fields (offsets 4, 8), copy-constructs one string from offset 0xc. |
| 0x009B7180 | 222 | CSortEntry__swap_009b7180 | Swaps two CSortEntry (0x24 byte) elements. Saves first entry's fields (offsets 4, 8, string at 0xc), copies second into first, restores saved values into second. Standard swap with string move semantics. |
| 0x009B7260 | 184 | CTextLineObj__move_construct_009b7260 | Move constructor for a text line pair object (two strings + metadata). Moves both SSO strings from source, zeroing source's string state (length=0, capacity=0xf). Copies 4 header dwords and 4 mid-section dwords. |
| 0x009B7320 | 187 | UIScrollListWnd__ctor_009b7320 | Constructor for UIScrollListWnd. Calls UIScrollListBase__ctor, sets vtable to PTR_FUN_01148650. Initializes vector fields (0x35-0x37=0), row height=0x12, reads color from CColorPicker (row 0x12, col 2), sets scroll flag off. |
| 0x009B7730 | 93 | CTextLineObj__dtor_009b7730 | Destructor for CTextLineObj. Sets vtable, destroys two strings. |
| 0x009B7790 | 93 | CRichTextLine__dtor_009b7790 | Destructor for CRichTextLine (vtable PTR_FUN_01148648). Destroys two strings. |
| 0x009B77F0 | 74 | CSortEntry__dtor_009b77f0 | Destructor for CSortEntry (vtable PTR_FUN_01148738). Destroys one string. |
| 0x009B7840 | 95 | UIScrollListWnd__dtor_009b7840 | Destructor for UIScrollListWnd. Sets vtable to PTR_FUN_01148650, frees int vector, calls UIFormattedWidgetBase__dtor. |
| 0x009B78A0 | 114 | CRichTextLine__scalar_deleting_dtor_009b78a0 | Scalar deleting destructor for CRichTextLine. Sets vtable, destroys two strings, conditionally frees 0x40 bytes. |
| 0x009B7920 | 99 | CSortEntry__scalar_deleting_dtor_009b7920 | Scalar deleting destructor for CSortEntry. Sets vtable, destroys one string, conditionally frees 0x24 bytes. |
| 0x009B7990 | 119 | UIScrollListWnd__scalar_deleting_dtor_009b7990 | Scalar deleting destructor for UIScrollListWnd. Sets vtable, frees int vector, calls base dtor. Conditionally frees 0xe0 bytes. |
| 0x009B7A20 | 1943 | UIScrollListWnd__add_rich_text_entry_009b7a20 | Adds a rich text entry to the scroll list window. Creates CSkillTooltipWnd widget, sets layout and text. Handles different message types: 0x1b6 (comma-delimited list split into lines), 0x1d0 (item link with ID parsed from first field, stored in widget fields 0x3e/0x55/0x56), 0x1f5 (encoded data block parsed via parse_encoded_data_block). Calculates line count, positions widget, adds to child list. |
| 0x009B81C0 | 69 | UIScrollListWnd__clear_all_items_009b81c0 | Clears all items from scroll list window. Calls UIListBox__clear_items_and_reset, then iterates children in vector at 0x35, removing each via FUN_00a82e50. Resets vector end to begin, triggers repaint. |
| 0x009B8210 | 257 | base62_decode_string_009b8210 | Decodes a base-62 encoded string to integer. Uses charset "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" (62 chars). Computes positional value with base 0x3e (62) powers. Returns decoded integer value. |
| 0x009B8320 | 345 | process_encoded_string_009b8320 | Processes an encoded string. Creates std::string from C-string, runs through decode_and_format_rich_text (decodes tags and builds rich text lines), copies result, then passes to UIScrollListWnd__add_formatted_text for final display. |
| 0x009B8480 | 140 | text_find_line_break_offset_009b8480 | Finds the offset of the next line break point within a text string, accounting for pixel width (param_3). Handles RO color codes (^XXXXXX = 7 chars, short codes = 3 chars) by skipping them in width calculation. Returns character offset from start, or -1 if null input. Uses character advance callback for multi-byte support. |
| 0x009B8510 | 1416 | parse_encoded_data_block_009b8510 | Parses an encoded data block from a string into an integer array. Copies source string, ensures param_2 vector has 0x104 int entries. Decodes first 5 chars as base-62 into fields [0] and [1]. Iterates remaining chars, using a 14-char lookup table to switch between field indices (types 7=embedded block, 9=sub-array). Regular chars are accumulated as base-62 digits. |
| 0x009B8AA0 | 1741 | decode_and_format_rich_text_009b8aa0 | Decodes encoded text and builds rich text lines. Calls FUN_009ba1d0 to find tag positions, sorts entries by position. For each entry: extracts substring, looks up color/format from DAT_01457084 table, builds CRichTextLine with formatted text and color info. Returns formatted string if no tags found, or vector of CRichTextLine entries. |
| 0x009B9170 | 872 | build_text_tag_definitions_009b9170 | Builds a vector of 3 text tag definition entries (CTextLineObj, 0x38 bytes each). Tags: type 0x1b6 (uses DAT_0133dddc/0133ddc4 open/close strings), type 0x1d0 (uses DAT_0133de3c/0133de24), type 0x1f5 (uses DAT_0133de6c/0133de54). Each entry stores tag type ID and open/close delimiter strings. |
| 0x009B94E0 | 1704 | parse_text_tag_at_position_009b94e0 | Attempts to parse a text tag at a given position in the string. Searches for open/close delimiters from the tag table. For types 0x1b6 and 0x1d0: extracts content between delimiters into two result strings. For type 0x1f5: parses encoded data block, gets item description, builds result string. Returns move-constructed result with parsed flag and extracted strings. |
| 0x009B9B90 | 208 | get_item_description_by_id_009b9b90 | Gets an item's description string by its ID. Calls CItemDesc__get_offset_ptr and CItemInfoMgr__clear_tree_and_free to load item data, then extracts the description text into the output string. |
| 0x009B9C60 | 70 | remap_value_in_range_table_009b9c60 | Looks up param_1 in a table of 64-byte entries (vector at param_2). Each entry has min/max bounds at offsets 8/0xc. If param_1 falls within a range, returns the replacement value at offset 8. Otherwise returns param_1 unchanged. |
| 0x009B9CB0 | 448 | UIScrollListWnd__draw_text_lines_009b9cb0 | Draws text lines for the scroll list window. Sets background color (field 0xb4 determines pink vs custom RGB). Calculates visible line range from scroll offset (field 0x98) and line spacing (field 0xb8). For each visible line: extracts string data, renders text with either FUN_00a84e30 (normal) or FUN_00a85720 (with shadow/outline), using field 0xbc as the draw mode flag. |
| 0x009B9EA0 | 814 | UIScrollListWnd__set_text_content_009b9ea0 | Sets text content for the scroll list window. If param_3==0x8a, uses word-wrap. Otherwise if param_5==0, processes encoded string through decode_and_format_rich_text pipeline (FUN_009b8aa0 + FUN_009bb8e0). Sets field 0x2f flag based on mode, triggers repaint. |
| 0x009BA1D0 | 1380 | find_all_text_tags_009ba1d0 | Finds all text tag positions in a string. Iterates the tag definition table (DAT_01457084, 0x38 bytes per entry), searches for open/close delimiter pairs using std::_Traits_find. For each match, creates a CSortEntry with tag index, position offset, and extracted content. Returns sorted vector of all found tags. Handles overlapping tags by advancing past each match. |
| 0x009BA740 | 662 | strip_color_codes_from_text_009ba740 | Strips RO color codes from text, producing plain text. Walks through input string, skipping 7-char color codes (^XXXXXX) and 3-char short codes. Copies regular characters into output string with dynamic growth. Initializes output capacity to param_3. |
| 0x009BA9E0 | 751 | decode_encoded_item_data_009ba9e0 | Decodes encoded item data from an integer array into an item info structure (param_2). Gets item description, checks for "unknown item" string. Extracts: item type from field[1], item ID from field[2], flags, slot count, card/enchant data. Parses custom flags and stack counts from the encoded array. Returns 1 on success, 0 if empty or unknown. |
| 0x009BACD0 | 944 | parse_encoded_sub_array_009bacd0 | Parses a sub-array section from encoded data. Iterates characters from param_3 position, accumulates base-62 digits, decodes and pushes values into param_1 vector on encountering delimiter characters (param_5, param_6). Handles SSO string growth during accumulation. |
| 0x009BB090 | 1221 | parse_encoded_nested_block_009bb090 | Parses a nested encoded block. Similar to parse_encoded_sub_array but handles nested delimiters. Accumulates base-62 digits, decodes on delimiter, stores values into param_1 array at field indices starting at param_6. Returns count of parsed values. |
| 0x009BB560 | 65 | UIScrollListWnd__process_message_009bb560 | Message handler for UIScrollListWnd. Handles: msg 7-0xc (scroll commands - repositions child widgets based on scroll offset), msg 0x12/0x13 (scroll up/down if scrollable), msg 0x1d (set text content), msg 0x62 (child widget click handler). Default delegates to UIGridView__handle_scroll_command. |
| 0x009BB7A0 | 318 | UIScrollListWnd__hit_test_line_009bb7a0 | Hit-tests which line is at a given Y pixel position in the scroll list. Iterates through text lines starting from bottom offset, accumulating line heights. When param_3 < accumulated height, returns line index and computes pixel offset within the line. Strips color codes from the line text to measure character widths. |
| 0x009BB8E0 | 685 | UIScrollListWnd__add_formatted_text_009bb8e0 | Adds formatted/rich text content to the scroll list. Wraps plain text lines using text_find_line_break_offset (handling color codes), then for each CRichTextLine entry in the rich text vector, adds it as a widget via UIScrollListWnd__add_rich_text_entry. Sends layout update message after completion. |
| 0x009BBB90 | 1291 | CSkillTooltipWnd__init_from_data_009bbb90 | Initializes a skill tooltip window from encoded data. Handles three types: 0x1b6 (comma-delimited list split into lines), 0x1d0 (item link - parses ID, sets fields 0xf8/0x154/0x158, assigns tooltip text), 0x1f5 (encoded data block - parses and decodes item data). Similar to add_rich_text_entry but operates on the widget directly. |
| 0x009BC0A0 | 922 | UIScrollListWnd__on_child_click_009bc0a0 | Handles click on a child widget in the scroll list. For type 0x1b6: extracts comma-delimited fields, parses integers from fields. If field count >= 4, extracts coordinates and handles special case -0xde. Calls FUN_00b99030 or FUN_00b995d0 for navigation. For type 0x1d0/0x1f5: sends message via vtable to window 0xfe. |
| 0x009BC440 | 197 | UIScrollListWnd__update_child_visibility_009bc440 | Updates visibility and position of child widgets in the scroll list based on current scroll offset. Iterates children at field 0xd4 vector, shows/hides each based on whether its line index (field 0x34) falls within visible range. Repositions visible children using scroll offset and line spacing. |
| 0x009BC510 | 37 | destroy_elements_56byte_009bc510 | Destroy elements 56byte 009bc510 |
| 0x009BC540 | 37 | destroy_elements_64byte_009bc540 | Destroy elements 64byte 009bc540 |
| 0x009BC570 | 37 | destroy_elements_36byte | Destroy elements 36byte |
| 0x009BC5A0 | 172 | batch_copy_construct_CTextLineObj_009bc5a0 | Batch copy-constructs CTextLineObj (0x38 byte) elements from [param_1, param_2) range into param_3 destination. Returns pointer past last constructed element. |
| 0x009BC650 | 186 | batch_copy_construct_CRichTextLine_009bc650 | Batch copy-constructs CRichTextLine (0x40 byte) elements from [param_1, param_2) range into param_3 destination. Returns pointer past last constructed element. |
| 0x009BC710 | 164 | batch_copy_construct_CSortEntry_009bc710 | Batch copy-constructs CSortEntry (0x24 byte) elements from [param_1, param_2) range into param_3 destination. Returns pointer past last constructed element. |
| 0x009BC7C0 | 170 | batch_copy_construct_CTextLineObj_void_009bc7c0 | Same as batch_copy_construct_CTextLineObj but returns void. Batch copy-constructs CTextLineObj (0x38 byte) elements from source range to destination. |
| 0x009BC870 | 184 | batch_copy_construct_CRichTextLine_void_009bc870 | Same as batch_copy_construct_CRichTextLine but returns void. Batch copy-constructs CRichTextLine (0x40 byte) elements from source range to destination. |
| 0x009BC930 | 162 | batch_copy_construct_CSortEntry_void_009bc930 | Same as batch_copy_construct_CSortEntry but returns void. Batch copy-constructs CSortEntry (0x24 byte) elements from source range to destination. |
| 0x009BCA60 | 67 | aligned_free_56byte_buffer_009bca60 | Frees aligned buffer for 56-byte (0x38) elements. Computes total size, handles aligned deallocation for large blocks. |
| 0x009BCAB0 | 58 | aligned_free_64byte_buffer_009bcab0 | Frees aligned buffer for 64-byte (0x40) elements. Computes total size, handles aligned deallocation for large blocks. |
| 0x009BCB30 | 22 | CSortMedianHelper__copy_construct_009bcb30 | Copy-constructs a sort median helper (8 bytes). Sets vtable to PTR_FUN_01148740, copies int field at offset 4. |
| 0x009BCB50 | 22 | CSortMedianHelper__copy_construct_alt_009bcb50 | Duplicate of CSortMedianHelper__copy_construct. Sets vtable and copies int field. |
| 0x009BCBA0 | 68 | CSortMedianHelper__scalar_deleting_dtor_009bcba0 | Scalar deleting destructor for sort median helper (8 bytes). Conditionally frees memory. |
| 0x009BD4E0 | 14 | is_non_null_009bd4e0 | Returns true if *param_1 is non-zero (non-null pointer check). |
| 0x009BDF40 | 373 | UIListDialog__ctor | Constructor for UIListDialog. Inherits from UIDialog (vtable chain). Initializes two linked list nodes at 0x3c (0x18 bytes) and 0x40 (0x2c bytes), STL strings at 0x22 and 0x42, list state fields. |
| 0x009BE0C0 | 214 | UIStringDialog__ctor | Constructor for UIStringDialog. Sets vtable to UIStringDialog, initializes two STL strings at offsets 0x21 and 0x28, max input length field at 0x9e=100, and other dialog state fields. |
| 0x009BE1A0 | 344 | UITripleStringDialog__ctor | Constructor for UITripleStringDialog. Initializes three STL strings at offsets 0x20, 0x26, 0x2c. Sets font size=0xc, default colors=0xffffff, and various dialog state fields to zero. |
| 0x009BE300 | 370 | UIFmtDialog__ctor | Constructor for UIFmtDialog (formatted dialog). Sets vtable, initializes font size=0xc, line spacing=6, colors=0xffffff, padding=3 on all sides, creates linked list node at 0x36 (0x1c bytes) for format entries. |
| 0x009BE480 | 282 | UIInterfaceDialog__ctor | Constructor for UIInterfaceDialog. Sets vtable, initializes boolean flags (fields 0x24-0x29 mostly =1), STL string at 0x2b, and field 0x3b=0. Supports interface-level dialog interactions. |
| 0x009BF140 | 116 | destroy_map_string_node_and_sentinel_009bf140 | Destroys a map node containing a string and frees the 0x2c-byte sentinel. Destroys the string if the node exists, then frees the sentinel node. |
| 0x009BFAB0 | 68 | string_dtor_wrapper_009bfab0 | Simple wrapper that destroys a string. Sets up SEH frame and calls STL_string_dtor. |
| 0x009BFE80 | 71 | UIBase__dtor_009bfe80 | Simple UI base destructor: sets vtable to PTR_FUN_0114875c then calls base destructor FUN_00a79e90. |
| 0x009BFED0 | 202 | UIListDialog__dtor_009bfed0 | UI list dialog destructor: sets vtable PTR_FUN_01148acc, destroys string, cleans up two linked list structures at offsets 0x40 and 0x3c (clearing nodes and freeing memory), then chains to parent dtor 009bfdb0. |
| 0x009BFFA0 | 142 | UIStringDialog__dtor_009bffa0 | UI string dialog destructor: sets vtable PTR_FUN_01148914, destroys 2 STL strings, frees pointer at offset 0x20 via FUN_00af0be0, then chains to base dtor FUN_00a79e90. |
| 0x009C0030 | 138 | UITripleStringDialog__dtor_009c0030 | UI dialog destructor: sets vtable PTR_FUN_01148838, destroys 3 STL strings, then chains to base dtor FUN_00a79e90. |
| 0x009C00C0 | 132 | UIFmtDialog__dtor_009c00c0 | UI dialog destructor with format data: sets vtable PTR_FUN_01148d68, calls FUN_009ac1e0 cleanup, CFmt__func_0058c230, then chains to base dtor FUN_00a79e90. |
| 0x009C0150 | 195 | UIMultiResourceDialog__dtor_009c0150 | UI dialog destructor: sets vtable PTR_FUN_01148ba8, destroys 3 STL strings, frees 3 pointer members (offsets 0x21-0x23) via FUN_00af0be0, chains to base dtor FUN_00a79e90. |
| 0x009C0220 | 175 | UIInterfaceDialog__dtor_009c0220 | UI dialog destructor: sets vtable PTR_FUN_01148c84, releases COM interface at offset 0x3b, destroys STL string, frees pointer at offset 0x23, chains to base dtor FUN_00a79e90. |
| 0x009C08C0 | 99 | UIBase__scalar_deleting_dtor_009c08c0 | Scalar deleting destructor for UIBase: sets vtable PTR_FUN_0114875c, calls base dtor FUN_00a79e90, then frees 0x80-byte object if bit 0 of flags is set. |
| 0x009C0930 | 38 | UIListDialog__scalar_deleting_dtor_009c0930 | Scalar deleting destructor: calls UIListDialog__dtor_009bfed0, then frees 0x120-byte object if bit 0 of flags param is set. |
| 0x009C0960 | 166 | UIStringDialog__scalar_deleting_dtor_009c0960 | Scalar deleting destructor for UIStringDialog: sets vtable PTR_FUN_01148914, destroys 2 strings, frees member at offset 0x20, calls base dtor, then frees 0xb8-byte object if bit 0 of flags is set. |
| 0x009C0A10 | 162 | UITripleStringDialog__scalar_deleting_dtor_009c0a10 | Scalar deleting destructor for UITripleStringDialog: sets vtable PTR_FUN_01148838, destroys 3 strings, calls base dtor, then frees 0xfc-byte object if bit 0 is set. |
| 0x009C0AC0 | 156 | UIFmtDialog__scalar_deleting_dtor_009c0ac0 | Scalar deleting destructor for UIFmtDialog: sets vtable PTR_FUN_01148d68, cleanup via FUN_009ac1e0 and CFmt, calls base dtor, frees 0xe0-byte object if bit 0 is set. |
| 0x009C0B60 | 219 | UIMultiResourceDialog__scalar_deleting_dtor_009c0b60 | Scalar deleting destructor for UIMultiResourceDialog: sets vtable PTR_FUN_01148ba8, destroys 3 strings, frees 3 pointer members, calls base dtor, frees 0xe8-byte object if bit 0 is set. |
| 0x009C0C40 | 38 | UIInterfaceDialog__scalar_deleting_dtor_009c0c40 | Scalar deleting destructor: calls UIInterfaceDialog__dtor_009c0220, then frees 0xf0-byte object if bit 0 of flags is set. |
| 0x009C0C70 | 353 | UIFactory__create_list_dialog_009c0c70 | UI factory: allocates 0x120-byte object, constructs via FUN_009d9150, sets up position/dimensions from param_1, creates two sub-components via UIComponent__create_from_stream, then finalizes via FUN_00a7a080. |
| 0x009C0DE0 | 353 | UIFactory__create_dropdown_dialog_009c0de0 | UI factory: allocates 0x100-byte UIDropDownList, sets up position/dimensions, creates two sub-components, finalizes via FUN_00a7a080. |
| 0x009C0F50 | 353 | UIFactory__create_list_control_dialog | UI factory: allocates 0x118-byte UIListControl via UIListControl__ctor_009d9420, sets up position/dimensions from param_1, creates two sub-components via UIComponent__create_from_stream, then finalizes via FUN_00a7a080. |
| 0x009C10C0 | 353 | UIFactory__create_control_dialog | UI factory: allocates 0xf0-byte UIControl via UIControl__ctor_009d9600, sets up position/dimensions from param_1, creates two sub-components via UIComponent__create_from_stream, then finalizes via FUN_00a7a080. |
| 0x009C1230 | 115 | UIFactory__alloc_and_construct_text_window | Allocates 0xfc-byte UITextWindow object via operator_new, constructs via UITextWindow__ctor_009d8e30. Returns pointer to new object or NULL on allocation failure. |
| 0x009C2D90 | 9838 | UIComplexDialog__init_child_widgets | Complex UI dialog initialization. Creates and configures child widgets including UIStringDialog, UIMultiResourceDialog, UITripleStringDialog, UIFmtDialog, UIProgressBar, UIScrollbar, UIEditBox, UIListItem, CTextPanel. Decrypts XOR-encrypted resource strings from TLS. ~9.8K bytes. |
| 0x009C8D00 | 8482 | UITextPanelDialog__init_child_widgets | Initializes a text panel dialog. Creates CTextPanel, UITripleStringDialog, UIStringDialog, UIFmtDialog children. Extensively configures text properties (font, bold, shadow, outline, color, truncate, line spacing, alignment, border). ~8.5K bytes. |
| 0x009CAE30 | 5956 | CUICustomShopWindow__init_child_widgets | Initializes a custom shop window UI. Creates UIDialogD, UIListDialog, UIListBox with scrollbar, buttons with encrypted text labels. Sets up button textures, scrollbar thumbs, background textures. Configures list box items and adds child widgets to the parent effect. |
| 0x009CC580 | 6075 | UIFmtDialog__init_text_panels | Initializes UIFmtDialog text panels. 6K bytes. Sets up CTextPanel objects with fonts, colors, alignment, borders, scrollbars, margins, and line spacing. No callers (registered as callback/vtable). |
| 0x009CFAF0 | 7474 | UIEquipWnd__create_equipment_slots | Creates equipment slot UI elements with encrypted resource paths for each slot; sets text labels |
| 0x009D6270 | 20 | callback_wrapper_009d6270 | Callback wrapper: dereferences param_1[0] and passes to UIControl__update_text_and_notify_parent_009dc140. |
| 0x009D63F0 | 20 | callback_wrapper_009d63f0 | Simple 20-byte callback wrapper: dereferences param_1 and passes to UIControl__forward_value_to_parent. |
| 0x009D6530 | 20 | callback_wrapper_009d6530 | Simple 20-byte callback wrapper: dereferences param_1 and passes to UIListBox__layout_items_from_scroll. |
| 0x009D6550 | 20 | callback_wrapper_009d6550 | Simple 20-byte callback wrapper: dereferences param_1 and forwards. |
| 0x009D6570 | 20 | callback_wrapper_009d6570 | Simple 20-byte callback wrapper: dereferences param_1 and forwards. |
| 0x009D6590 | 20 | callback_wrapper_009d6590 | Simple 20-byte callback wrapper: dereferences param_1 and forwards. |
| 0x009D65B0 | 23 | callback_with_param_009d65b0 | Callback wrapper with extra param: dereferences param_1, passes it and param_2 to FUN_009dc210. |
| 0x009D65D0 | 23 | callback_with_param_009d65d0 | 23-byte callback wrapper with extra parameter. |
| 0x009D65F0 | 23 | callback_with_param_009d65f0 | 23-byte callback wrapper with extra parameter. |
| 0x009D6990 | 23 | callback_with_param_009d6990 | 23-byte callback wrapper with extra parameter: forwards to null_stub (no-op handler). |
| 0x009D69B0 | 23 | callback_with_param_009d69b0 | 23-byte callback wrapper with extra parameter. |
| 0x009D69D0 | 23 | callback_with_param_009d69d0 | 23-byte callback wrapper with extra parameter. |
| 0x009D69F0 | 23 | callback_with_param_009d69f0 | 23-byte callback wrapper with extra parameter. |
| 0x009D6A10 | 23 | callback_with_param_009d6a10 | 23-byte callback wrapper with extra parameter. |
| 0x009D8A70 | 153 | find_first_not_of_charset_009d8a70 | Finds the first character in buffer[param_3..param_2] that is NOT in the character set defined by param_4 (length param_5). Builds a 256-byte lookup table. Returns index or -1 if not found. Similar to std::string::find_first_not_of. |
| 0x009D8CD0 | 161 | packet_node__copy_ctor_009d8cd0 | Copy constructor for a packet node struct (0x38 bytes). Copies scalar fields, then copy-constructs one STL string and one CPacketQueue member. Final field at offset 0xd*4 is also copied. |
| 0x009D8D80 | 168 | packet_node__copy_ctor_009d8d80 | Copy constructor for a larger packet node struct (0x54 bytes). Copies scalar fields, then copy-constructs two STL strings and one CPacketQueue member. Final field at offset 0x14*4 is also copied. |
| 0x009D8E30 | 282 | UITextWindow__ctor_009d8e30 | Constructor for a UITextWindow class (inherits UIWindowBase). Sets vtable to 0114bc04. Initializes text colors (white=0xffffff, grey=0xcecece), alignment, and display properties. Has fields for text rendering state. |
| 0x009D9420 | 175 | UIListControl__ctor_009d9420 | Constructor for a UIListControl. Calls larger base ctor at 009efc30, sets vtable to 0114b4dc. Initializes list state fields, SSO string buffer (capacity 0xf), and a trailing zero field. |
| 0x009D9FF0 | 100 | node__dtor_fmt_and_string_009d9ff0 | Destructor for a node containing CFmt + one STL string. Calls CFmt cleanup then destroys the string. |
| 0x009DA060 | 86 | node__dtor_fmt_and_string_009da060 | Destructor for a node containing CFmt + one STL string. Calls CFmt cleanup then destroys the string. Similar to 009d9ff0 with different unwind index. |
| 0x009DA0C0 | 112 | node__dtor_fmt_and_two_strings_009da0c0 | Destructor for a node containing CFmt + two STL strings. Calls CFmt cleanup then destroys both strings. |
| 0x009DA130 | 71 | UITextWindow__dtor_009da130 | Destructor for UITextWindow. Sets vtable back to 0114bc04, then calls CUIWindow__dtor_save_position to clean up the base window. |
| 0x009DA5A0 | 95 | UIListControl__dtor_009da5a0 | Destructor for UIListControl (vtable 0114b4dc). Destroys embedded string, then calls UIControlBase__dtor_009da310 for full cleanup. |
| 0x009DA760 | 99 | UITextWindow__scalar_deleting_dtor_009da760 | Scalar deleting destructor for UITextWindow (0xfc bytes). Sets vtable to 0114bc04, calls base dtor, optionally frees memory. |
| 0x009DA840 | 38 | CUIWindow__scalar_deleting_dtor_009da840 | Scalar deleting destructor for a CUIWindow (0xd8 bytes). Calls CUIWindow__dtor_save_position, optionally frees memory. |
| 0x009DAC20 | 119 | UIListControl__scalar_deleting_dtor_009dac20 | Scalar deleting destructor for UIListControl (0x118 bytes, vtable 0114b4dc). Destroys string, calls UIControlBase dtor, optionally frees memory. |
| 0x009DC320 | 1017 | UIItemInfo__populate_from_item_data_009dc320 | Populates a UI item info panel from item data. Gets item class/level, looks up item description, sets item name and icon text labels. Processes enchant/card slot info via FUN_009dfad0 and FUN_009def40. Clears and repopulates description text panel. Copies action string from param_3. |
| 0x009DC720 | 74 | UIItemInfo__refresh_description_009dc720 | Refreshes item description panel. Calls FUN_009dfcb0 to reload item data, clears the text panel, then re-appends all description lines from the item's text array (offset 0x18 to 0x1c in steps of 0x18). |
| 0x009DC770 | 356 | UIItemInfo__handle_item_type_display_009dc770 | Handles displaying item info based on item type (param_2+0x14*4). Type 1: normal item with enchant check. Type 3: similar but no enchant. Type 4: uses different display function. All types set description text, action string, and text panel content. |
| 0x009DC950 | 1214 | UIItemShop__build_item_list_009dc950 | Builds the item shop display list. Gets shop title via FUN_00b00f00(0xfd5). Iterates items from global DAT_0138cf2c, creates button controls for each item with text labels, item IDs, and sub-item trees. Handles enchantment filtering via std::set and packet processing. Creates nested sub-item buttons for items with children. |
| 0x009DCE10 | 478 | UIItemShop__display_header_info_009dce10 | Displays shop header info: formats and shows shop name from global, base/job level requirements using charconv format, and a class name string. Sets four text labels with formatted values. |
| 0x009DCFF0 | 449 | UIItemShop__populate_search_results_009dcff0 | Populates a UIListBox with search results from global item tree DAT_0138cf2c. Iterates the tree's in-order traversal, copies two strings per item into list nodes (0x38 bytes). Updates scrollbar after all items are added. Sets shop name text label. |
| 0x009DD1D0 | 62 | UIItemShop__hide_all_scrollbars_009dd1d0 | Hides all three scrollbars by calling UIScrollbar__disable_and_hide three times with param 1. |
| 0x009DD210 | 1132 | UIItemShop__process_packet_and_populate_009dd210 | Processes a packet via CPacketQueue and populates a list box with the results. Iterates received items, copies name string and description vector into 0x2c-byte list nodes. Updates scrollbar after population. Cleans up packet queue nodes when done. |
| 0x009DD680 | 43 | UIItemShop__hide_two_scrollbars_009dd680 | Hides two scrollbars by calling UIScrollbar__disable_and_hide twice with param 1. |
| 0x009DD6C0 | 96 | UIItemShop__toggle_panels_009dd6c0 | Toggles between two panels. Hides first panel's scrollbar and sets flag to 0, then calls its virtual update. Shows second panel's scrollbar and sets flag to 1, calls its virtual update. |
| 0x009DD750 | 267 | UIItemShop__search_by_category_009dd750 | Searches items by category. Gets item class/level, then builds a search filter bitmask based on item type (type 4: equipment slots 0-9 mapped to bits, type 5: level threshold). Opens window 0xc with the filter via virtual call +0x94. |
| 0x009DDA50 | 1017 | UIItemShop__query_and_populate_list_009dda50 | Queries items via CPacketQueue and populates a list box with single-string results. Clears existing list, processes packet with complex handler, iterates results creating 0x40-byte nodes via packet_node copy. Updates scrollbar, hides action buttons when done. |
| 0x009DDE60 | 1453 | UIItemShop__query_and_populate_list_extended_009dde60 | Extended version of query+populate that handles two-string list items (0x5c-byte nodes). Also inserts unavailable enchantment IDs into a global set (DAT_0138cf40+0x24) for tracking. Calls CPacketSystem__processor on type 1 results. Cleans up packet queue when done. |
| 0x009DE680 | 333 | UIItemShop__find_and_enable_item_009de680 | Searches for an item by ID (param_2) in the parent's child list (0xc8-0xcc range). Copies the list to a local vector, then iterates looking for matching item ID at offset +0x110. When found, enables the child's control via virtual +0x38(1). |
| 0x009DE7D0 | 1049 | UIItemInfo__format_item_description_alt_009de7d0 | Formats and displays item description with regex parsing. Looks up item in tree, splits description text using regex patterns. Displays header as bold, body as normal text. Handles enchant data parsing with find_first_not_of_charset. Falls back to FUN_009e10c0 if entry not found. |
| 0x009DEBF0 | 842 | UIItemShop__highlight_item_by_id_009debf0 | Searches for and highlights an item by ID (param_2) in the item shop tree. Iterates parent tab control's children, for type-1 items checks sub-items in child lists. Also searches grandchild vectors via RTDynamicCast. Enables matching controls via virtual +0x38(1). |
| 0x009DFAD0 | 471 | UIItemInfo__display_enchant_status_009dfad0 | Displays enchantment/upgrade status in the item info panel. Takes 3 boolean flags. For each flag, sets text color (red 0xc86464 if true=equipped, blue 0x6464c8 if false) and appends a localized string (IDs 0xfc2-0xfc7) to the text panel. |
| 0x009E0350 | 1042 | UIItemInfo__format_item_description_009e0350 | Formats and displays item description with regex parsing (same pattern as 009de7d0 but uses 'Q' regex pattern instead). Looks up item, splits description into header/body using regex. Header shown in bold, body normal. Handles enchant data via find_first_not_of_charset. |
| 0x009E1250 | 381 | CMapContainer__ctor | Constructor for a map container class. Sets vtable, initializes 3 red-black tree containers (at offsets 0x66, 0x69, 0x6C) with sentinel nodes, then inserts keys 0, 1, 2 into a map. |
| 0x009E16E0 | 72 | conditional_release_resource_009e16e0 | Conditionally releases a CResource. If pointer at object+4 is non-null, calls CResource__release_ref to decrement refcount and potentially free the resource. |
| 0x009E1730 | 267 | CMapContainer__dtor | CMapContainer destructor. Sets vtable, destroys 3 tree containers (string->sprite maps at offsets 0x66, 0x69, 0x6C) with optional string cleanup, then calls base class destructor. |
| 0x009E1840 | 219 | CMapContainer__base_dtor | Base destructor for CMapContainer. Sets vtable to UIDialog, destroys string at offset, destroys tree container, destroys 3 more strings, then calls UIDialog::dtor. |
| 0x009E1920 | 101 | smart_ptr_move_assign | Move-assigns a smart pointer. Swaps source into dest, releases old dest if non-null. SEH protected. |
| 0x009E1C80 | 291 | CMapContainer__scalar_deleting_dtor | CMapContainer scalar deleting destructor. Destroys 3 tree containers, calls base dtor. If bit 0 of param set, frees the 0x1C0-byte object. |
| 0x009E1DB0 | 38 | CMapContainer__base_scalar_deleting_dtor | Base class scalar deleting destructor. Calls base_dtor, then optionally frees the 400-byte object if bit 0 of param is set. |
| 0x009E1DE0 | 60 | CMapContainer__set_mode_and_update | Sets mode value at offset 0x65, notifies with code 6, then calls virtual methods at vtable+4 (resize), vtable+0x3C, and vtable+0x40 to update the UI. |
| 0x009E1F90 | 282 | CMapContainer__render_background_tiles | Renders background tiles for CMapContainer. Sets blend color to purple, looks up sprite handles from 3 maps (keys 0,1,2 for left/middle/right), draws left sprite at (0,0), tiles middle sprites, draws right sprite at right edge, then calls virtual render method. |
| 0x009E3300 | 130 | UICheckbox__dtor | UICheckbox destructor. Sets vtable, if checked state (offset 0x15) is active, unregisters from UI manager and clears. Resets vtable to UIBase, calls UIBase dtor. |
| 0x009E3390 | 154 | UICheckbox__scalar_deleting_dtor | UICheckbox scalar deleting destructor. Same cleanup as dtor, then optionally frees the 0x84-byte object if bit 0 of param is set. |
| 0x009E3430 | 39 | UICheckbox__unregister_and_refresh | Unregisters checkbox from UI manager if registered (offset 0x15 non-zero). Clears registration, resets state, calls virtual refresh. |
| 0x009E3A60 | 798 | CListBoxDialog__ctor_009e3a60 | Constructor for CListBoxDialog. Initializes base UI widget, sets vtable to PTR_FUN_0114c148, creates a child text/scroll component (0x200 bytes with vtable PTR_FUN_0114c054), copies display properties (colors, dimensions, flags) from the source param_2 object. |
| 0x009E3D80 | 461 | CListBoxItem__ctor_009e3d80 | Constructor for CListBoxItem (vtable PTR_FUN_0114c054). Initializes as a UI dialog child, sets up embedded STL string, default color (0x808080), flags, timestamps via _Xtime_get_ticks. Copies display properties from source param_2. |
| 0x009E4080 | 141 | CListBoxDialog__dtor_009e4080 | Destructor for CListBoxDialog. Sets vtable to PTR_FUN_0114c148, releases child component at offset 0x31 (calls virtual destructor), resets vtable to base PTR_FUN_0114875c, then destroys base class. |
| 0x009E4110 | 110 | CListBoxItem__dtor_009e4110 | Destructor for CListBoxItem (vtable PTR_FUN_0114c054). Clears the items vector via clear_and_free, destroys the embedded STL string, then destroys the UIComplexDialog base class. |
| 0x009E4180 | 65 | CListBoxItem__destroy_string_wrapper_009e4180 | Wrapper that destroys a single STL string with SEH frame setup. Simple cleanup helper. |
| 0x009E41D0 | 165 | CListBoxDialog__scalar_deleting_dtor_009e41d0 | Scalar deleting destructor for CListBoxDialog. Destroys child component at offset 0x31, destroys base class, then optionally frees memory (200 bytes) if param_2 bit 0 is set. |
| 0x009E4280 | 134 | CListBoxItem__scalar_deleting_dtor_009e4280 | Scalar deleting destructor for CListBoxItem. Sets vtable to PTR_FUN_0114c054, clears the items vector, destroys embedded string, destroys UIComplexDialog base, then optionally frees 0x200 bytes. |
| 0x009E4330 | 152 | CListBoxItem__update_text_display_009e4330 | Compares the current text (offset 0x65 string) with the cached text (offset 0x36 string). If different, updates the display: calls virtual method at vtable+0xD4 with the new text, sets color and shadow based on whether cached text is empty or not. |
| 0x009E43D0 | 31 | CListBoxDialog__reset_child_selection_009e43d0 | Resets the child list box item's selection state. Clears the selected flag (offset 0x190) and selection index (offset 0x18C), then calls the virtual invalidate/repaint method (vtable+0x98) on the child. |
| 0x009E4410 | 463 | CListBoxDialog__create_child_item_009e4410 | Creates a new CListBoxItem child widget (0x200 bytes, vtable PTR_FUN_0114c054) and assigns it to offset 0x9C. Initializes all fields including embedded string, colors, timestamp, flags. If param_4 is set, enables flag at offset 0x185. Calls layout/resize methods. |
| 0x009E45E0 | 15 | CListBoxItem__set_scroll_position_wrapper_009e45e0 | Simple wrapper that calls UITextWidget__set_scroll_position. Forwards scroll position to the underlying text widget. |
| 0x009E45F0 | 108 | CListBoxItem__draw_cursor_blink_009e45f0 | Draws the blinking text cursor. Calculates elapsed time since last cursor reset using _Xtime_get_ticks, divides into 500ms intervals. On even intervals (cursor visible), checks if cursor should be shown and draws it using the font at DAT_01133854 with the item's color (offset 0xA8). |
| 0x009E4660 | 766 | CListBoxItem__render_text_lines_009e4660 | Renders visible text lines in the list box item. Handles dirty flag reset, text alignment (left=default, right=2, center=6), selection highlighting, scrollbar interaction, word wrapping with link detection, shadow text rendering, and cursor positioning for the active/focused item. |
| 0x009E4970 | 182 | CListBoxItem__pixel_to_char_index_forward_009e4970 | Converts a pixel X offset to a character byte index within an STL string, scanning forward from the start. Uses CharNextExA for multi-byte character support and FUN_00a80580 for text width measurement. Returns the closest character boundary to the given pixel position. |
| 0x009E4A30 | 229 | CListBoxItem__pixel_to_char_index_reverse_009e4a30 | Converts a pixel X offset to a character byte index within an STL string, scanning backward from the end. Uses CharPrevExA for multi-byte character support. Returns byte offset from string start of the character closest to the given pixel distance from the end. |
| 0x009E4B20 | 11 | CListBoxItem__get_text_length_wrapper_009e4b20 | Simple wrapper that calls UIEditableTextWidget__get_text_length and returns the result. |
| 0x009E4B60 | 17 | CListBoxItem__on_focus_lost_009e4b60 | Focus lost handler for CListBoxItem. Calls UIEditBox__OnFocusLost then sets dirty flag at offset 0x1C8 to trigger redraw. |
| 0x009E4B80 | 74 | CListBoxItem__draw_border_009e4b80 | Draws the border of a CListBoxItem. If border thickness (offset 0x88) is positive, draws an inner border with the border color (offset 0x84) and fills the interior with the background color (offset 0x80). Otherwise just fills with the background color. |
| 0x009E4BF0 | 131 | CListBoxItem__handle_key_input_009e4bf0 | Handles keyboard input for the editable list box item. Processes: Backspace(8), Home(0x24), End(0x23), Left(0x25), Right(0x27), Delete(0x2E), Insert(0x2D), and Ctrl+A(0x41) for select-all. Checks for newline (0x0D0A) boundaries when moving left/right/deleting. Resets cursor blink timer on edit operations. |
| 0x009E4F90 | 192 | CListBoxItem__update_scrollbar_range_009e4f90 | Recalculates scrollbar range for the list box item. Computes visible line count from widget height and line spacing (offset 0x138), calculates max scroll offset, ensures cursor line is visible, updates scrollbar range/position via CUIScrollBar, and shows/hides scrollbar based on content overflow. |
| 0x009E5050 | 2564 | CListBoxItem__reflow_text_content_009e5050 | Reflows the text content of a CListBoxItem by splitting the full text into wrapped lines. Handles item link detection, selection state preservation, word wrapping with width measurement, and cursor position recalculation. Clears existing line vector and rebuilds from the source text. Updates selection markers if IME composition is active. |
| 0x009E5A80 | 88 | CListBoxDialog__resize_child_item_009e5a80 | Resizes the child CListBoxItem to fit within the dialog. Calls layout method, then sets the child's position and size based on the dialog's inner margins (offsets 0x8C, 0x90, 0x94, 0x98). |
| 0x009E5AE0 | 57 | CListBoxDialog__on_mouse_event_009e5ae0 | Mouse event handler for CListBoxDialog. If param_3==0 (mouse down) and a callback exists at offset 0xC4, calls the callback's virtual method at vtable+8. Then forwards the event to FUN_00a83660 for default processing. |
| 0x009E5B20 | 447 | CListBoxItem__on_event_handler_009e5b20 | Main event handler for CListBoxItem. Handles: mouse events (type 0 with Shift+click for newline insert), scroll events (types 7/9/10), keyboard (WM_KEYDOWN=0x100), character input (WM_CHAR=0x102 with numeric/decimal filtering modes 1/2), cursor up/down (types 0x12/0x13) with multi-byte character navigation and text alignment awareness, and IME events (0x10F). |
| 0x009E6090 | 30 | CListBoxDialog__set_text_alignment_009e6090 | Sets text alignment mode on the child CListBoxItem. Sets offset 0x6C on child (offset 0x9C), then calls virtual invalidate (vtable+0x98). |
| 0x009E60B0 | 24 | CListBoxItem__set_text_alignment_009e60b0 | Sets text alignment mode on this CListBoxItem (offset 0x6C), then calls virtual invalidate (vtable+0x98). |
| 0x009E60D0 | 24 | CListBoxDialog__set_background_color_009e60d0 | Sets the background color (offset 0x20) on this dialog, then calls virtual invalidate (vtable+0x98). |
| 0x009E60F0 | 226 | CListBoxDialog__set_child_text_and_color_009e60f0 | Sets the text and color on the child CListBoxItem (offset 0x9C). Compares new text with current cached/display text, updates display if changed. Updates the text color (offset 0x6B) and sets dirty flag for reflow. |
| 0x009E61E0 | 222 | CListBoxItem__set_text_and_color_009e61e0 | Sets text and color on this CListBoxItem. Compares new text with current cached/display text, calls virtual method at vtable+0xD4 if text changed, updates color via UITextWidget__set_color_and_shadow. Assigns new text string and color (offset 0x6B), marks dirty for reflow. |
| 0x009E62C0 | 58 | CListBoxDialog__set_scrollbar_visible_009e62c0 | Sets scrollbar visibility on the child CListBoxItem. Uses RTDynamicCast to get the concrete type, sets flag at offset 0x35, then calls virtual invalidate (vtable+0x98). |
| 0x009E6300 | 17 | CListBoxDialog__set_focus_to_child | Sets focus to the child CListBoxItem widget (offset 0x9C) by calling CUIWindowMgr__set_focus_window on it. |
| 0x009E6320 | 35 | CListBoxDialog__set_child_text_color_009e6320 | Sets text color on the child CListBoxItem (offset 0x9C). Updates both the color field (offset 0x188) and the current display color (offset 0xA8), then marks dirty (offset 0x1C8). |
| 0x009E6350 | 29 | CListBoxItem__set_text_color_009e6350 | Sets text color on this CListBoxItem. Updates color at offset 0x188 and 0xA8, marks dirty at offset 0x1C8. |
| 0x009E6370 | 37 | CListBoxDialog__set_child_shadow_color_009e6370 | Sets shadow color on the child CListBoxItem (offset 0x9C). Sets shadow color at field 99, enables shadow flag at field 100, then invalidates. |
| 0x009E63A0 | 31 | CListBoxItem__set_shadow_color_009e63a0 | Sets shadow color on this CListBoxItem. Sets shadow color at field 99, enables shadow flag at field 100, then calls virtual invalidate. |
| 0x009E63C0 | 24 | CListBoxDialog__set_border_color_009e63c0 | Sets border color (offset 0x21) on the dialog, then calls virtual invalidate (vtable+0x98). |
| 0x009E63E0 | 24 | CListBoxDialog__set_border_thickness_009e63e0 | Sets border thickness (offset 0x22) on the dialog, then calls virtual invalidate (vtable+0x98). |
| 0x009E6400 | 48 | CListBoxDialog__set_input_filter_mode_009e6400 | Sets the input filter mode (offset 0x1F8) on the child CListBoxItem. Uses RTDynamicCast to get the concrete type. Mode 0=all chars, 1=numbers only, 2=numbers+decimal. |
| 0x009E6430 | 52 | CListBoxDialog__set_child_border_thickness_009e6430 | Sets border thickness on the child CListBoxItem (offset 0x88 on child at offset 0x9C). Then refreshes the text display by calling virtual method at vtable+0xD4 with current display text. |
| 0x009E6470 | 54 | CListBoxDialog__set_margins_009e6470 | Sets the four margin values (left, top, right, bottom at offsets 0x23-0x26) on this dialog. Then calls virtual method at vtable+4 (resize/layout) with the current position. |
| 0x009E64B0 | 23 | CListBoxDialog__set_child_border_color_009e64b0 | Sets border color (offset 0x84) on the child CListBoxItem (at offset 0x9C on the dialog). |
| 0x009E64D0 | 34 | CListBoxDialog__refresh_child_text_display_009e64d0 | Refreshes the text display of the child CListBoxItem by calling virtual method at vtable+0xD4 on the child (offset 0x9C). Likely triggers text reflow. |
| 0x009E6500 | 247 | CListBoxItem__set_text_content_009e6500 | Sets text content on this CListBoxItem. Copies param_2 string into field at offset 0xD8. If this item has focus, updates the global text buffer and selection. Searches for specific delimiters in the text to configure button widget. Marks dirty for redraw. |
| 0x009E69D0 | 662 | CUIWindow__dtor_save_position_009e69d0 | Destructor for a CUIWindow subclass that saves window position/size to a global std::map (DAT_01457098) keyed by window ID (offset 0xB). Saves both position (offsets 7,8) and size (offsets 5,6) into two separate maps (offsets 0xC and 0x14 of the global). Creates the global map if it doesn't exist. Then calls UIWindowBase__dtor. |
| 0x009E6C70 | 125 | CUIWindow__apply_skin_theme_009e6c70 | Applies the current skin/theme to this window. If a skin ID (offset 0xD4) is set, recalculates colors from sprites for both fill (offset 0xB8) and border (offset 0xBC). Then propagates the skin change to all child widgets by calling their virtual method at vtable+0xD0. |
| 0x009E6CF0 | 101 | CUIWindow__draw_background_and_border_009e6cf0 | Draws the window background and border. If skin-based coloring is enabled (offset 0xB6), draws an inner filled rect with fill color and an outer rect with border color using 1px inset. If bottom border height (offset 0xD0) is set, draws a tiled bottom border. |
| 0x009E6D60 | 109 | CUIWindow__set_skin_colors_009e6d60 | Sets skin color parameters for the window. Stores fill sprite (offset 0xC0), border sprite (offset 0xC8), tint colors (offset 0xC4, 0xCC), enables skin flag (offset 0xB6), and calculates actual colors from sprites via CSkinManager__get_color_from_sprite. |
| 0x009E71F0 | 144 | format_short_as_fixed_notation_009e71f0 | Formats a short value (param_4) as a fixed-notation number string. Casts *param_4 to int and calls charconv__format_fixed_notation with flags 0x10000000 for the formatting. |
| 0x009E7280 | 29 | init_format_params_from_short_009e7280 | Initializes a format parameter struct from a short value. Sets param_1[0]=0x10000000 (format flags) and param_1[1]=*param_2 (the short value cast to int). |
| 0x009E72A0 | 49 | CUIButton__set_display_mode_a_009e72a0 | Sets the display mode (offset 0x80) on a UI button. If mode is 1, sets size to 75x100; otherwise 24x24. Calls FUN_00a7b470 to apply the new size. |
| 0x009E72E0 | 54 | CUIButton__set_display_mode_b_009e72e0 | Sets the display mode (offset 0x80) on a UI button. If mode is 1, sets size to 75x100; otherwise 38x25. Calls FUN_00a7b470 to apply the new size. |
| 0x009E7320 | 7 | CUIItemSlot__this_adjust_0x90 | Thiscall adjuster thunk that adds 0x90 to the this pointer, used for multiple inheritance vtable dispatch to CUIItemSlot base class. |
| 0x009E73E0 | 499 | CUIItemSlot__render_009e73e0 | Renders a UI item slot. Draws the item sprite (offset 0x1A0) with optional tiling/stretching based on size mode (0x88==100 for exact fit). Draws an optional overlay sprite (offset 0x1A8) if enabled (offset 0x1A4). If quantity (offset 0xA0) is positive and display mode is 0, renders the quantity number as white text in the corner. |
| 0x009E75E0 | 37 | CUIItemSlot__on_click_009e75e0 | Click handler for item slot. If a callback is registered at offset 0x1D4, calls its virtual method at vtable+8 passing this slot as param. Otherwise falls through to UIControl__forward_mouse_up_009ef680 for default handling. |
| 0x009E7610 | 312 | CUIItemSlot__draw_tooltip_009e7610 | Draws an item tooltip when the mouse hovers over this slot. If tooltip is enabled (offset 0x84) and a sprite exists (offset 0x198), converts screen coords, truncates the name if max char limit (offset 0x128) is set, and calls FUN_00ad6510 to render the tooltip text. |
| 0x009E7750 | 90 | CUIItemSlot__on_double_click_009e7750 | Double-click handler for item slot. If enabled (offset 0x85), parses the item name string (offset 0xBC) as an integer. If positive, looks up the item via FUN_00a978d0 and calls its virtual method at vtable+0x94 with parameters for a use-item action. |
| 0x009E77B0 | 191 | CUIItemSlot__clear_item_info_009e77b0 | Clears all item information from this slot. Resets item description fields, clears the display string, releases sprite resources at offsets 0x68 and 0x6A (calling FUN_00af0be0 for cleanup), and invalidates for redraw. |
| 0x009E7870 | 338 | CUIItemSlot__set_item_by_id_009e7870 | Sets the item displayed in this slot by item ID. If ID is 0, clears the slot. Otherwise looks up item data via FUN_00ddd7b0; if found, calls FUN_009e79d0 directly. If not found, builds item info from CItemDesc and CItemDB, then calls FUN_009e79d0 with the constructed data. |
| 0x009E79D0 | 779 | CUIItemSlot__populate_from_item_data_009e79d0 | Populates the item slot display from item data struct (param_2). Parses item ID from string at offset 0x2C, copies description from CItemDB__build_item_tooltip_string, loads the item's sprite resource, and optionally loads a card/enchant overlay sprite. Calls invalidate after setup. |
| 0x009E7CE0 | 114 | CUIItemSlot__set_item_scale_009e7ce0 | Sets the item display scale (offset 0x22 as short). Calculates new width/height from the scale factor divided by a base constant. Uses different aspect ratios depending on display mode (offset 0x20): mode 1 uses a taller aspect ratio, other modes use a square ratio. |
| 0x009E7D60 | 328 | CUITabControl__ctor_009e7d60 | Constructor for CUITabControl (vtable PTR_FUN_0114c274). Initializes the base window via FUN_009ec430, creates two internal linked lists (0x18-byte nodes for tabs, 0x2C-byte nodes for tab content), initializes an embedded STL string, and inserts 3 default entries via FUN_009e1990. |
| 0x009E7EB0 | 202 | CUITabControl__dtor_009e7eb0 | Destructor for CUITabControl. Sets vtable to PTR_FUN_0114c274, destroys the embedded STL string, frees the 0x2C-byte linked list (tab content), releases a texture resource (offset 0x66), frees the 0x18-byte linked list (tabs), then destroys the base class. |
| 0x009E7F80 | 226 | CUITabControl__scalar_deleting_dtor_009e7f80 | Scalar deleting destructor for CUITabControl. Destroys all internal data, then optionally frees the 0x1C0-byte object if param_2 bit 0 is set. |
| 0x009E8070 | 76 | CUITabControl__get_tab_content_by_index_009e8070 | Looks up tab content by index from the internal map (at offset 400). Uses FUN_009e1200 to search by key, returns the value at offset 0x14 of the found node, or 0 if not found. |
| 0x009E80C0 | 131 | CUITabControl__render_009e80c0 | Renders the tab control. Clears background, looks up the sprite for the current tab state. If tab has a custom sprite (offset 0x84) uses it from offset 0x198, otherwise looks up from the internal map by index (offset 0x80). Draws the sprite and calls FUN_009eca30 for tab label rendering. |
| 0x009E8150 | 503 | CUITabControl__load_textures_from_map_009e8150 | Loads texture resources for the tab control from a string map. Loads 3 tab state textures (indices 0, 1, 2) from the internal string map via std__map_int_string__subscript and UIControl__load_texture_resource, replacing any previously loaded textures. Also loads a fourth texture from offset 0x1A4 into offset 0x198. |
| 0x009E8350 | 216 | CUITabControl__set_texture_paths_009e8350 | Sets texture file paths for the 3 tab states (normal, hover, pressed) plus a base string. Copies strings into the internal map at indices 0, 1, 2, and copies param_5 into the embedded string at offset 0x69. Then calls virtual methods to reload textures (vtable+0xD4) and invalidate (vtable+0x98). |
| 0x009E8430 | 409 | CUICheckBox__ctor_009e8430 | Constructor for CUICheckBox (vtable PTR_FUN_0114c358). Chains through UIBase, UIDialog, UIListDialog vtables during initialization. Creates two internal linked lists (0x18-byte and 0x2C-byte nodes), initializes embedded strings, sets initial state flags to 0. |
| 0x009E85D0 | 33 | CUICheckBox__release_child_component_009e85d0 | Releases the child component at offset 9 (field index). If non-null, calls its virtual destructor at vtable+0x10, passing a flag indicating whether it's a separate allocation. Sets the child pointer to 0. |
| 0x009E8600 | 33 | release_child_at_offset9_009e8600 | Releases child component at field index 9. Calls virtual destructor if non-null, then nullifies the pointer. Duplicate pattern of CUICheckBox__release_child_component. |
| 0x009E8630 | 92 | release_child_at_offset9_seh_009e8630 | Releases child component at field index 9 with SEH exception handling frame. Same pattern as release_child_at_offset9 but within a try block. |
| 0x009E8690 | 92 | release_child_at_offset9_seh_009e8690 | Releases child component at field index 9 with SEH exception handling frame. Same pattern as release_child_at_offset9 but within a try block (variant). |
| 0x009E86F0 | 128 | CUICheckBox__dtor_009e86f0 | Destructor for CUICheckBox (vtable PTR_FUN_0114c358). Releases child component at offset 0x53 (with embedded check at offset 0x4A), then calls UIListDialog__dtor for base class cleanup. |
| 0x009E8770 | 188 | CUIRadioButton__dtor_009e8770 | Destructor for CUIRadioButton (vtable PTR_FUN_0114c434). Releases child at offset 0x5D (embedded at 0x54), then sets vtable to PTR_FUN_0114c358 and releases child at offset 0x53 (embedded at 0x4A), then calls UIListDialog__dtor. |
| 0x009E8830 | 152 | CUICheckBox__scalar_deleting_dtor_009e8830 | Scalar deleting destructor for CUICheckBox. Destroys via dtor, then optionally frees 0x150 bytes if param_2 bit 0 set. |
| 0x009E88D0 | 212 | CUIRadioButton__scalar_deleting_dtor_009e88d0 | Scalar deleting destructor for CUIRadioButton. Destroys both child components, calls UIListDialog__dtor, then optionally frees 0x178 bytes. |
| 0x009E89C0 | 1758 | CUIRadioButton__initialize_checkbox_009e89c0 | Initializes the internal checkbox widget for this radio button. Allocates a 0x178-byte CUICheckBox subclass (vtable PTR_FUN_0114c434), sets it as child at offset 0x80, sizes it to 12x12, sets up click callback, loads 4 XOR-encrypted texture paths (checked/unchecked/hover states) from TLS, decrypts them, and applies as button labels. Sets checked state and adds as child widget. |
| 0x009E90A0 | 123 | CUIRadioButton__on_selected_009e90a0 | Selection handler for a radio button. Iterates all sibling controls in the parent container, uses RTDynamicCast to find other CUIRadioButton instances, and sets their checked state (offset 0x48 on child) based on whether they match this radio button. Then calls the registered callback at offset 0xAC if present. |
| 0x009E9120 | 62 | CUIRadioButton__set_checked_state_009e9120 | Sets the checked state (offset 0x48) on the internal checkbox child (offset 0x80). If param_3 is true and a listener is registered at child offset 0x53, notifies the listener. Invalidates the checkbox for redraw. |
| 0x009E9160 | 15 | CUICheckBox__set_text_labels_wrapper_009e9160 | Simple wrapper that calls UIButton__set_text_labels_009efb00 to set the checkbox text labels. |
| 0x009E9170 | 22 | CUIRadioButton__init_callback_vtable_009e9170 | Initializes a callback struct with vtable PTR_FUN_0114c510 and stores the radio button pointer from offset 4 of the source. |
| 0x009E9190 | 68 | CUIRadioButton__callback_scalar_deleting_dtor | Scalar deleting destructor for the radio button's 8-byte click callback object. Frees the allocation if param_2 is non-zero (indicating it was heap-allocated rather than embedded). |
| 0x009E91E0 | 123 | CUIRadioButton__on_click_callback_009e91e0 | Click callback invoked from the internal checkbox. Retrieves the parent radio button from offset 4, then performs the same radio group selection logic: iterates siblings via RTDynamicCast, sets checked state on all radio buttons in the group, and calls the registered callback. |
| 0x009E9270 | 22 | CUIRadioButton__init_callback_vtable_b_009e9270 | Initializes a callback struct with vtable PTR_FUN_0114c510 and stores reference from offset 4. Duplicate of init_callback_vtable variant. |
| 0x009E9290 | 341 | swap_polymorphic_child_at_offset9_009e9290 | Swaps the polymorphic child component at field index 9 between param_1 and param_2. Handles three cases: both external (simple pointer swap), both embedded (clone via vtable+4, destroy originals), or mixed. Uses virtual clone (vtable+4) and destroy (vtable+0x10) for embedded objects. |
| 0x009E9430 | 119 | CUIDragControl__begin_drag_009e9430 | Begins a drag operation on a UI control. Converts screen coordinates to client coordinates via FUN_00a7d870, stores as drag start position (offsets 0x9C, 0xA0). Records parent window position (offsets 0xA4, 0xA8) and resets drag delta (offsets 0xAC, 0xB0) to zero. |
| 0x009E94B0 | 143 | CUIDragControl__begin_drag_focused_009e94b0 | Begins a drag operation, but only if this control is the currently focused/captured control (checked via get_field_0x19c). First clears tooltip and calls parent virtual method at vtable+0x90, then sets up drag start coordinates same as begin_drag. |
| 0x009E9540 | 367 | CUIDragControl__on_drag_move_009e9540 | Handles drag movement. Only processes if this is the captured control. Converts mouse position, calculates grid-snapped delta from the drag start point, clamps to min/max bounds (offsets 0x84-0x90), and calls the drag callback (offset 0xF4) with the change delta if position changed. |
| 0x009E97D0 | 106 | UIBase__scalar_deleting_dtor_0x94_009e97d0 | Scalar deleting destructor for a 0x94-byte UIBase-derived object. Sets vtable to UIBase, calls base destructor, then optionally frees 0x94 bytes. |
| 0x009EAB80 | 322 | CUIProgressBar__render_009eab80 | Renders a progress bar. Draws background sprite (offset 0x80) or clears to transparent. If a fill sprite (offset 0x84) exists, draws it clipped to the current progress percentage (offset 0xBC out of 100). Supports two fill modes: 0=horizontal fill from left, 1=vertical fill from bottom. |
| 0x009EACD0 | 236 | CUIProgressBar__load_textures_009eacd0 | Loads two texture resources for the progress bar: background texture (from offset 0x88 string, stored at 0x80) and fill/progress texture (from offset 0xA0 string, stored at 0x84). Releases previous textures. |
| 0x009EADC0 | 95 | CUIProgressBar__set_texture_paths_009eadc0 | Sets the background and fill texture path strings (offsets 0x22 and 0x28), then calls virtual reload textures (vtable+0xD4) and invalidate (vtable+0x98). |
| 0x009EAE20 | 151 | CUIToggleButton__on_click_009eae20 | Click handler for a toggle button. If not disabled (offset 0x21) and not already checked (offset 0x48), performs radio-button-like selection: iterates siblings via RTDynamicCast, sets checked state on matching toggle buttons, then calls the registered callback at offset 0x5D. |
| 0x009EB0F0 | 173 | format_three_ints_as_fixed_notation_009eb0f0 | Formats three int values from param_4, param_5, param_6 as a fixed-notation string with format flags 0x10000000/4/8. Calls charconv__format_fixed_notation with 3 arguments. |
| 0x009EB1A0 | 94 | init_three_format_params_009eb1a0 | Initializes a format parameter array of 3 entries from param_2/3/4 values. Each entry has a format flag (0x10000000 series) and offset, plus the value from the corresponding param. |
| 0x009EB650 | 30 | scalar_deleting_dtor_4bytes | Trivial scalar deleting destructor for 4-byte object. If bit 0 of param is set, frees the 4-byte allocation. |
| 0x009EB670 | 247 | UIInfoManager__scalar_deleting_dtor | UIInfoManager scalar deleting destructor. Saves UI layout to file (UIInfo.lua), deletes critical section, destroys 3 map containers (0x1C-node and 0x40-node maps), optionally frees 0x34-byte object. |
| 0x009EB770 | 366 | UIInfoManager__create_dialog_from_template | Creates a UI dialog from a registered template by ID. Looks up template via lower_bound, calls factory function to create dialog, invokes virtual init (vtable+0xB4) and invalidate (vtable+0xD4). Checks bounds against screen, positions, and applies skin theme. |
| 0x009EBF40 | 1169 | UIInfoManager__save_to_file | Saves UIInfo data to savedata/UIInfo.temp file. Serializes TblPos (x,y per control) and TblSize (w,h per control) from map containers. Writes as formatted text via CFileStream. Renames temp to UIInfo.lua on success. Uses critical section for thread safety. |
| 0x009EC930 | 243 | UILabel__auto_resize_to_text | Auto-resizes UILabel based on text content. If multiline mode (0x4F==1), measures text height and resizes vertically, computing Y offset based on alignment (0=top, 6=center, 8=bottom). Otherwise measures width, resizes horizontally with alignment (0=left, 6=center, 2=right). |
| 0x009ECA30 | 660 | UILabel__render_text | Renders UILabel text. Handles single-line and multiline modes. Supports shadow text (state 1 draws at +1,+1 offset), optional outline text. Colors determined by state: normal uses configured color, state 1 uses pressed color. Delegates to multiline renderer if mode flag is set. |
| 0x009ECCD0 | 614 | UILabel__render_text_multiline | Renders UILabel text in multiline mode. Similar to render_text but uses multiline text drawing functions (FUN_00a84590/FUN_00a86320). Handles shadow, outline, state-based colors, and disabled state. |
| 0x009ED010 | 712 | UILabel__update_text_layout | Updates UILabel text layout. Handles multiline word-wrap and single-line truncation. Copies processed text into display buffer, compares with original to detect changes, measures text dimensions, computes X/Y offsets based on alignment (left/center/right, top/center/bottom). Calls virtual refresh. |
| 0x009ED2E0 | 30 | UILabel__set_text_offset | Sets text rendering offset (x,y) at offsets 0x140/0x144 and triggers layout update. |
| 0x009ED300 | 21 | UILabel__set_multiline_mode | Sets multiline mode flag at offset 0x13C and triggers layout update. |
| 0x009ED320 | 21 | UILabel__set_auto_resize | Sets auto-resize flag at offset 0x138 and triggers layout update. |
| 0x009ED340 | 21 | UILabel__set_bold | Sets bold/weight flag at offset 0x150 and triggers layout update. |
| 0x009ED3E0 | 21 | UILabel__set_font_size | Sets font size at offset 0x14C and triggers layout update. |
| 0x009ED400 | 35 | UILabel__set_font_by_name | Sets font by name. Looks up font index from CTextVertex, stores at offset 0x148, triggers layout update. |
| 0x009ED430 | 25 | UILabel__set_outline | Sets text outline enabled flag (offset 0x168) and outline color (offset 0x16C). |
| 0x009ED450 | 25 | UILabel__set_shadow | Sets text shadow enabled flag (offset 0x160) and shadow color (offset 0x164). |
| 0x009ED470 | 49 | UILabel__set_text_and_relayout | Sets label text from a std::string source (with SSO handling) and triggers full text layout update. |
| 0x009ED7D0 | 43 | UILabel__set_color_from_packed_rgb | Unpacks RGB from a 32-bit packed color (0x00BBGGRR format), extracts R/G/B channels, and calls UITextWidget::set_color_and_shadow with white shadow. |
| 0x009ED910 | 84 | UIImageControl__dtor | UIImageControl destructor. Sets vtable chain then delegates to UIImageControlBase::dtor for full cleanup. |
| 0x009ED970 | 258 | UIImageControlBase__dtor | UIImageControlBase destructor. Sets vtable, releases child control at offset 0x47 (calls its virtual release method), destroys 4 strings, releases 3 smart pointers (offsets 0x21-0x23), resets vtable to UIBase, calls CEffect::dtor. |
| 0x009EDA80 | 71 | UIImageControlBase__dtor_variant | UIImageControlBase destructor variant. Sets different vtable then delegates to UIImageControlBase::dtor. |
| 0x009EDAD0 | 112 | UIImageControl__scalar_deleting_dtor | UIImageControl scalar deleting destructor. Sets vtable chain, calls base dtor, optionally frees 0x120-byte object. |
| 0x009EDB40 | 38 | UIImageControlBase__scalar_deleting_dtor | UIImageControlBase scalar deleting destructor. Calls base dtor, optionally frees 0x120-byte object. |
| 0x009EDB70 | 99 | UIImageControlBase__scalar_deleting_dtor_variant | UIImageControlBase scalar deleting destructor variant. Sets vtable, calls base dtor, optionally frees 0x120-byte object. |
| 0x009EE08D | 287 | CUIProgressBar__draw_tiled_progress_sprites | CUIProgressBar: draw tiled progress sprites |
| 0x009EE920 | 9 | thunk_to_virtual_method_offset_0x64_009ee920 | Calls virtual function at offset 0x64 (100 bytes) from object ptr |
| 0x009EEB00 | 2589 | UIFrame__draw_skinned_border_009eeb00 | Draws a skinned UI frame border. Loads texture name (or uses hardcoded default), then tiles border pieces (left/right/up/down edges plus corners: lu.bmp, ld.bmp, ru.bmp, rd.bmp) in a loop with 14px spacing. Finally fills center area with skin color at specified alpha. Uses CSkinManager__get_color_from_sprite for fill color. |
| 0x009F6D40 | 444 | UIComboBox__ctor_009f6d40 | UIComboBox constructor. Calls base UIControl ctor, sets vtable PTR_FUN_0114dffc, initializes selection/items fields, creates map (0x2c byte nodes) at field 0x24, linked list (0x10 byte nodes) at field 0x35. Initializes selected index to -1 (field 0x37). |
| 0x009F6F00 | 447 | UIComboBox__ctor_large_009f6f00 | UIComboBox constructor variant with larger node allocation (0x100 bytes vs 0x10). Sets vtable PTR_FUN_0114e184. Otherwise same structure as 009f6d40. |
| 0x009F70C0 | 291 | UIListView__ctor | UIListView constructor. Calls base UIControl ctor, sets vtable PTR_UIListView_0114d630. Creates RB-tree map (0x18 byte nodes) at field 0x22, linked list (0xc byte nodes) at field 0x24. Initializes counter/state fields 0x26-0x2c, default selection index -1. |
| 0x009F72F0 | 133 | UISlider__ctor_009f72f0 | UISlider constructor. Simple ctor: calls base UIControl, sets vtable PTR_FUN_0114dcdc, initializes 3 fields (0x20-0x22) to 0. |
| 0x009F7380 | 151 | UICheckBox__ctor_009f7380 | UICheckBox constructor. Calls base ctor, sets vtable PTR_UIWindow__scalar_deleting_dtor_0114ce5c. Initializes state (field 0x20=0), and two other fields (0x2b, 0x35) to 0. |
| 0x009F74E0 | 393 | UIComboBox__dtor_009f74e0 | UIComboBox destructor. Destroys selection/item callbacks (fields 0x4d, 0x43), frees linked list nodes at field 0x35, destroys map internal storage, frees string at field 0x26, releases 4 texture references (fields 0x20-0x23), calls base dtor. |
| 0x009F7670 | 348 | UIComboBox__dtor_large_009f7670 | UIComboBox destructor for large variant. Same cleanup as 009f74e0 but also destroys hash table (CHashTable__dtor) and uses different node destructor (FUN_009f7dd0). |
| 0x009F7EB0 | 181 | UIListView__dtor | UIListView destructor. Sets vtable, destroys forward_list of 0xC-byte nodes at offset 0x24, destroys map, resets vtable to UIBase, calls CEffect::dtor. |
| 0x009F7F70 | 231 | UIComboBox__dtor | UIComboBox destructor. Sets vtable, releases callback at offset 0x75, releases 2 smart pointers (0x6A, 0x68), destroys 3 strings, resets vtable to UIBase, calls CEffect::dtor. |
| 0x009F8060 | 84 | UIPanel__dtor | UIPanel destructor. Sets vtable chain, resets to UIBase, calls CEffect::dtor. |
| 0x009F80C0 | 84 | UIFrame__dtor | UIFrame destructor. Sets vtable chain, resets to UIBase, calls CEffect::dtor. |
| 0x009F8120 | 97 | UIFrameEx__dtor | UIFrameEx destructor. Sets 3-level vtable chain, resets to UIBase, calls CEffect::dtor. |
| 0x009F8190 | 71 | UIListViewEx__dtor | UIListViewEx destructor. Sets vtable, delegates to UIListView::dtor. |
| 0x009F8230 | 71 | UIGridView__dtor | UIGridView destructor. Sets vtable, delegates to UIListView::dtor. |
| 0x009F8280 | 97 | UIWindowEx__dtor | UIWindowEx destructor. Sets 3-level vtable chain (WindowEx->Window->UIBase), calls CEffect::dtor. |
| 0x009F82F0 | 97 | UIWindowExVariantA__dtor | UIWindowExVariantA destructor. Sets 3-level vtable chain, calls CEffect::dtor. |
| 0x009F8360 | 97 | UIWindowExVariantB__dtor | UIWindowExVariantB destructor. Sets 3-level vtable chain, calls CEffect::dtor. |
| 0x009F83D0 | 97 | UIWindowExVariantC__dtor | UIWindowExVariantC destructor. Sets 3-level vtable chain, calls CEffect::dtor. |
| 0x009F84A0 | 185 | UIWindowWithCallbacks__dtor | UIWindow destructor with callback cleanup. Sets vtable, releases 2 std::any callbacks at offsets 0x35 and 0x2B, resets to UIBase, calls CEffect::dtor. |
| 0x009F8600 | 97 | UIFrameWindow__dtor | UIFrameWindow destructor. Sets 3-level vtable chain (FrameWindow->Frame->UIBase), calls CEffect::dtor. |
| 0x009F8670 | 71 | UIListViewWindow__dtor_009f8670 | UIListViewWindow destructor. Sets vtable, delegates to UIListView::dtor. |
| 0x009F86C0 | 84 | UIListViewWindowEx__dtor | UIListViewWindowEx destructor. Sets 2-level vtable chain, delegates to UIListView::dtor. |
| 0x009F8720 | 84 | UIListViewWindowExB__dtor | UIListViewWindowExB destructor. Sets 2-level vtable chain, delegates to UIListView::dtor. |
| 0x009F89F0 | 38 | UIComboBoxSmall__scalar_deleting_dtor | UIComboBoxSmall scalar deleting destructor. Calls dtor, optionally frees 0x138-byte object. |
| 0x009F8A20 | 38 | UIComboBoxLarge__scalar_deleting_dtor | UIComboBoxLarge scalar deleting destructor. Calls large dtor variant, optionally frees 0x138-byte object. |
| 0x009F8AC0 | 38 | UIListView__scalar_deleting_dtor_009f8ac0 | UIListView scalar deleting destructor. Calls dtor, optionally frees 0xB8-byte object. |
| 0x009F8AF0 | 38 | UIComboBox__scalar_deleting_dtor | UIComboBox scalar deleting destructor. Calls dtor, optionally frees 0x1D8-byte object. |
| 0x009F8B20 | 112 | UIPanel__scalar_deleting_dtor_009f8b20 | UIPanel scalar deleting destructor. Sets vtable chain, calls CEffect::dtor, optionally frees 0x94-byte object. |
| 0x009F8B90 | 112 | UIFrame__scalar_deleting_dtor | UIFrame scalar deleting destructor. Sets vtable chain, calls CEffect::dtor, optionally frees 0x8C-byte object. |
| 0x009F8C00 | 125 | UIFrameEx__scalar_deleting_dtor | UIFrameEx scalar deleting destructor. Sets 3-level vtable chain, calls CEffect::dtor, optionally frees 0x8C-byte object. |
| 0x009F8C80 | 99 | UIListViewEx__scalar_deleting_dtor | UIListViewEx scalar deleting destructor. Sets vtable, calls UIListView::dtor, optionally frees 0xB8-byte object. |
| 0x009F8D60 | 99 | UIGridView__scalar_deleting_dtor | UIGridView scalar deleting destructor. Sets vtable, calls UIListView::dtor, optionally frees 0xB8-byte object. |
| 0x009F8DD0 | 125 | UIWindowEx__scalar_deleting_dtor | UIWindowEx scalar deleting destructor. Sets 3-level vtable chain, calls CEffect::dtor, optionally frees 0x8C-byte object. |
| 0x009F8E50 | 125 | UIWindowExVariantA__scalar_deleting_dtor | UIWindowExVariantA scalar deleting destructor. Sets 3-level vtable chain, calls CEffect::dtor, optionally frees 0x8C-byte object. |
| 0x009F8ED0 | 125 | UIWindowExVariantB__scalar_deleting_dtor | UIWindowExVariantB scalar deleting destructor. Sets 3-level vtable chain (VariantB->Window->UIBase), calls CEffect::dtor, optionally frees 0x8C-byte object. |
| 0x009F8F50 | 125 | UIWindowExVariantC__scalar_deleting_dtor | UIWindowExVariantC scalar deleting destructor. Sets 3-level vtable chain (VariantC->Window->UIBase), calls CEffect::dtor, optionally frees 0x8C-byte object. |
| 0x009F9040 | 209 | UIWindowWithCallbacks__scalar_deleting_dtor | UIWindowWithCallbacks scalar deleting destructor. Sets vtable, releases 2 std::any callbacks at offsets 0x35 and 0x2B, resets to UIBase, calls CEffect::dtor, optionally frees memory. |
| 0x009F9200 | 125 | UIFrameWindow__scalar_deleting_dtor | UIFrameWindow scalar deleting destructor. Sets 3-level vtable chain (FrameWindow->Frame->UIBase), calls CEffect::dtor, optionally frees 0x8C-byte object. |
| 0x009F9280 | 99 | UIListViewWindow__scalar_deleting_dtor_009f9280 | UIListViewWindow scalar deleting destructor. Sets vtable, calls UIListView::dtor, optionally frees 0xB8-byte object. |
| 0x009F92F0 | 112 | UIListViewWindowEx__scalar_deleting_dtor | UIListViewWindowEx scalar deleting destructor. Sets 2-level vtable chain (WindowEx->ListViewWindow), calls UIListView::dtor, optionally frees 0xB8-byte object. |
| 0x009F9360 | 112 | UIListViewWindowExB__scalar_deleting_dtor | UIListViewWindowExB scalar deleting destructor. Sets 2-level vtable chain (WindowExB->ListViewWindow), calls UIListView::dtor, optionally frees object memory. |
| 0x009F9890 | 85 | UIList__clear_all_items_009f9890 | Clears all items from a UIList. Iterates the item pointer array from offset 0xc8 to 0xcc, calling CEffect__remove_child_from_list(item, 1) to destroy each item, then resets the end pointer to start and sets selected index (0xdc) to -1. |
| 0x009F98F0 | 85 | UIList__clear_all_items_009f98f0 | Clears all items from a UIList. Iterates the item pointer array from offset 0xc8 to 0xcc, calling CEffect__remove_child_from_list(item, 1) to destroy each item, then resets the end pointer to start and sets selected index (0xdc) to -1. |
| 0x009F99B0 | 218 | UIPanel__factory_create_009f99b0 | Factory function that allocates a 0x94-byte UIPanel. Calls CEffect base ctor, sets UIBase vtable then UIPanel vtable, initializes flag at 0x1f to 1, zeroes 5 fields (0x20-0x24), sets size to 70x50, sets minimum height to 200 via vtable, finalizes with CEffect__add_child_to_list_end. |
| 0x009F9A90 | 69 | UIList__get_selected_item_009f9a90 | Gets the currently selected item from a UIList. Reads selected index from offset 0xdc, validates it against count at 0xd8, traverses the linked list from head (offset 0xd4) by index steps, returns pointer to item data (node+8). Sets result valid flag accordingly. |
| 0x009F9AE0 | 69 | UIList__get_selected_item_009f9ae0 | Gets the currently selected item from a UIList. Reads selected index from offset 0xdc, validates it against count at 0xd8, traverses the linked list from head (offset 0xd4) by index steps, returns pointer to item data (node+8). Sets result valid flag accordingly. |
| 0x00A01F10 | 65 | UIList__set_selected_highlight_00a01f10 | Iterates all items in a UIList (offset 0xc8 to 0xcc), calling vtable method 0xdc on each with a boolean indicating whether the item matches param_2 (the selected item). Used to highlight the selected item and unhighlight others. |
| 0x00A01F60 | 65 | UIList__set_selected_highlight_00a01f60 | Iterates all items in a UIList (offset 0xc8 to 0xcc), calling vtable method 0xdc on each with a boolean indicating whether the item matches param_2 (the selected item). Used to highlight the selected item and unhighlight others. |
| 0x00A01FB0 | 259 | UIList__rebuild_item_views_00a01fb0 | Rebuilds item views for a UIList. Clears existing child items, calculates needed row count from height/row_height, allocates new view slots, creates child windows via UIWindow__create_child_window for each, then calls UIScrollbar layout functions. |
| 0x00A020C0 | 259 | UIList__rebuild_item_views_00a020c0 | Rebuilds item views for a UIList variant. Same logic as 00a01fb0 but uses UIWindow__create_child_window_009f9570 for child creation and a different vector reallocator for array growth. |
| 0x00A026C0 | 115 | UIList__update_data_and_rebuild_00a026c0 | Updates list data via FUN_00a82eb0, rebuilds views via FUN_00a01fb0, syncs child window content, recalculates layout with scroll offset (0xd8 * row_height + 0xc0), calls FUN_009f2530 to set scroll position, sets dirty flag at 0xe1. |
| 0x00A02740 | 115 | UIList__update_data_and_rebuild_00a02740 | Updates list data via FUN_00a82eb0, rebuilds views via FUN_00a020c0, syncs child window content, recalculates layout with scroll offset, calls FUN_009f2530 to set scroll position, sets dirty flag at 0xe1. |
| 0x00A027C0 | 498 | UIList__update_visible_items_00a027c0 | Updates visible items in a scrollable UIList based on scroll position (param_2). Handles item recycling by shifting view indices. For each visible row, binds data from the linked list (offset 0xd4) to the child view, sets selection highlight via vtable 0xd8, positions the view, and shows it. Hides off-screen items. Uses callback at 0x134 to configure each item. |
| 0x00A029C0 | 498 | UIListView__update_visible_items | Updates visible items in a UIListView based on scroll position. Calculates first visible item index from scroll offset / item height. Rotates item pool if needed. For each visible slot, assigns data from linked list, calls selection callback (vtable+0xD8), positions item, and shows. Hides items beyond visible range. |
| 0x00A02BC0 | 218 | UIList__on_item_clicked_00a02bc0 | Handles item click in a UIList. If not disabled (0xc4), unhighlights all items except clicked one via vtable 0xd8, highlights the clicked item. Uses __RTDynamicCast to get item index from offset 0x94, updates selected index at 0xdc, and invokes click callback at 0x10c with the selected data from the linked list. |
| 0x00A02CA0 | 218 | UIList__on_item_clicked_00a02ca0 | Handles item click in a UIList variant. Same logic as 00a02bc0 - unhighlights others, highlights clicked, dynamic casts to get index, updates selection, invokes callback. Uses different RTTI type (PTR_PTR_01364f74). |
| 0x00A036C0 | 23 | delegate_to_child_fn_00a036c0 | Delegate: calls EnchantUI__update_enchant_buttons with *param_1 (dereferenced pointer) and param_2. |
| 0x00A036E0 | 23 | delegate_to_child_fn_00a036e0 | Delegate: calls a child function with *param_1 and param_2. |
| 0x00A03710 | 65 | UIList__highlight_item_in_parent_00a03710 | Dereferences param_2 to get target item, then iterates all items in the parent list (this+4) calling vtable 0xdc on each with a match boolean. Used to highlight a specific item across the parent's list. |
| 0x00A03760 | 65 | UIList__highlight_item_in_parent_00a03760 | Dereferences param_2 to get target item, iterates parent list items calling vtable 0xdc on each with match boolean. |
| 0x00A037B0 | 20 | delegate_update_visible_items_00a037b0 | Delegate: calls UIList__update_visible_items_00a027c0 on *param_1 (dereferenced pointer). |
| 0x00A037D0 | 20 | delegate_update_visible_items_00a037d0 | Delegate: calls UIList__update_visible_items on *param_1. |
| 0x00A037F0 | 20 | delegate_get_child_and_check_flags_00a037f0 | Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). |
| 0x00A03810 | 20 | delegate_get_child_and_check_flags_00a03810 | Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). |
| 0x00A03830 | 20 | delegate_get_child_and_check_flags_00a03830 | Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). |
| 0x00A03850 | 20 | delegate_get_child_and_check_flags_00a03850 | Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). |
| 0x00A03870 | 20 | delegate_get_child_and_check_flags_00a03870 | Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). |
| 0x00A03890 | 216 | UIListView__on_item_click_handler_a | Handles item click in UIListView. Deselects all other items, selects clicked item (vtable+0xD8). If selection changed, uses RTDynamicCast to get item interface, updates selected index, and invokes selection change callback. |
| 0x00A03970 | 216 | UIListView__on_item_click_handler_b | Handles item click in UIListView variant b. Same logic as handler_a but casts to a different type via RTDynamicCast. |
| 0x00A03A50 | 26 | UIListView__delegate_item_selection | Delegates item selection to the parent list view. Calls virtual method at vtable+0xD8 with item pointer and param. |
| 0x00A03A70 | 23 | delegate_to_child_fn_00a03a70 | Delegate: calls EnchantUI__populate_item_slot with *param_1 (dereferenced pointer) and param_2. |
| 0x00A04000 | 341 | callback_object__swap_00a04000 | Swaps callback objects between two holders (at field offset 9). Handles both heap-allocated and inline-stored callback objects. Uses vtable clone method to copy inline objects during swap, releases old objects properly. |
| 0x00A04160 | 341 | callback_object__swap_00a04160 | Swaps callback objects between two holders (at field offset 9). Same pattern as 00a04000. |
| 0x00A04470 | 300 | uint64_to_decimal_string_00a04470 | Converts a 64-bit unsigned integer (param_2:param_3) to a decimal string. Writes digits in reverse into the buffer ending at param_1. Uses division by 10^9 for the high part and repeated /10 for digit extraction. Returns pointer to start of string. |
| 0x00A045A0 | 157 | uint64_to_std_string_00a045a0 | Converts a 64-bit unsigned integer to an std::string. Calls uint64_to_decimal_string_00a04470 to format into a stack buffer, then initializes param_1 as an empty std::string and assigns the decimal characters. |
| 0x00A04640 | 99 | pair_string_dtor_00a04640 | Destructor for a pair of std::string objects. Calls STL_string_dtor twice to destroy both strings. |
| 0x00A046B0 | 99 | pair_string_dtor_00a046b0 | Destructor for a pair of std::string objects. Calls STL_string_dtor twice to destroy both strings. |
| 0x00A04B30 | 274 | UIList__add_item_pair_00a04b30 | Adds an item (0x10-byte node with 8-byte payload from param_2) to the end of the UIList linked list (offset 0xd4). Increments count (0xd8). If param_3 is set, recalculates layout, updates scrollbar, and sets dirty flag. Returns new item index. Throws std::_Xlength_error if count exceeds 0xfffffff. |
| 0x00A04C50 | 274 | UIList__add_shop_item_00a04c50 | Adds a CShopItem (0x100-byte node via copy construct) to the UIList linked list. Increments count, optionally recalculates layout/scrollbar. Returns new item index. Max count 0xffffff. |
| 0x00A051E0 | 160 | UIList__clear_all_data_and_reset_00a051e0 | Clears all data from UIList linked list (0xd4). Frees all 0x10-byte nodes, resets head/tail pointers, sets count to 0, selected index to -1, recalculates scrollbar, sets dirty flag. |
| 0x00A0DCA0 | 68 | scalar_deleting_dtor_8bytes_a | Trivial scalar deleting destructor for 8-byte object. If param is non-zero, frees the allocation. |
| 0x00A0DCF0 | 68 | scalar_deleting_dtor_8bytes_b | Trivial scalar deleting destructor for 8-byte object (variant b). |
| 0x00A0E4D0 | 341 | delegate_swap_inner_objects_00a0e4d0 | Swaps the inner object (field[9]) between two delegate holders. Handles three cases: both external (simple pointer swap), one/both internal (clone via vtable+4, then release old via vtable+0x10). Used for move/swap semantics on delegate containers. |
| 0x00A0E630 | 341 | delegate_swap_inner_objects_00a0e630 | Swaps the inner object (field[9]) between two delegate holders. Identical logic to 00a0e4d0 - handles external pointer swap and internal clone+release cases. Variant B for a different delegate type. |
| 0x00A0E790 | 341 | delegate_swap_inner_objects_00a0e790 | Swaps the inner object (field[9]) between two delegate holders. Identical logic to 00a0e4d0/00a0e630 - handles external pointer swap and internal clone+release cases. Variant C for a third delegate type. |
| 0x00A15F30 | 68 | scalar_deleting_dtor_8bytes_c | Trivial scalar deleting destructor for 8-byte object (variant c). |
| 0x00A15F80 | 68 | scalar_deleting_dtor_8bytes_d | Trivial scalar deleting destructor for 8-byte object (variant d). |
| 0x00A15FD0 | 68 | scalar_deleting_dtor_8bytes_e | Trivial scalar deleting destructor for 8-byte object (variant e). |
| 0x00A16020 | 68 | scalar_deleting_dtor_8bytes_f | Trivial scalar deleting destructor for 8-byte object (variant f). |
| 0x00A16540 | 341 | delegate_swap_inner_objects_00a16540 | Swaps the inner object (field[9]) between two delegate holders. Same pattern as 00a0e4d0/00a0e630/00a0e790. For UITreeCtrl delegate type. |
| 0x00A166A0 | 341 | delegate_swap_inner_objects_00a166a0 | Swaps the inner object (field[9]) between two delegate holders. Variant B for UITreeCtrl delegate type. |
| 0x00A16910 | 21 | thunk_to_fmt__parse_and_validate_format_spec | Thunk that forwards 3 params to fmt__parse_and_validate_format_spec. Used as a callback in charconv format descriptor arrays. |
| 0x00A169C0 | 93 | snprintf_wrapper_00a169c0 | Wrapper for formatted string output. Calls STL_lib_func_00507d00 to get buffer (0x18 capacity), then __stdio_common_vsnprintf_s to format text. Returns char count or -1 on error. |
| 0x00A16C50 | 440 | UITreeItem__ctor_00a16c50 | Constructor for UITreeItem (size 0x14C). Calls UIWindowBase__ctor, sets vtable PTR_FUN_0114b07c then PTR_FUN_0114fd8c. Initializes colors (text=0xFFFFFF, disabled=0xCECECE), many zero fields, and two STL strings (at offsets 0x11C and 0x134). |
| 0x00A16E10 | 124 | UITreeItemButton__ctor_00a16e10 | Constructor for UITreeItemButton (size 0xF8), derived from UIButton. Calls UIButton__ctor, sets vtable to PTR_FUN_0114fca4, zeroes 4 fields at offsets 0xE8-0xF4. |
| 0x00A16E90 | 70 | tree_node__free_raw_data_00a16e90 | Frees the raw data buffer (0x108 bytes) at offset 0x4 if non-null. Simple cleanup without destroying contained strings. |
| 0x00A16EE0 | 140 | tree_node__destroy_strings_and_free_00a16ee0 | If field at offset 0x4 is non-null, destroys the two STL strings within the 0x108-byte tree node data, then frees the 0x108-byte buffer. |
| 0x00A16FE0 | 110 | CShopWindow__dtor | CShopWindow destructor. Sets vtable, destroys 2 strings, then calls CUIWindow::dtor_save_position. |
| 0x00A17050 | 71 | CShopTabControl__dtor | CShopTabControl destructor. Sets vtable, delegates to UIControlBase::dtor. |
| 0x00A170A0 | 134 | CShopWindow__scalar_deleting_dtor | CShopWindow scalar deleting destructor. Sets vtable, destroys 2 strings, calls base dtor, optionally frees 0x14C-byte object. |
| 0x00A17130 | 99 | CShopTabControl__scalar_deleting_dtor | CShopTabControl scalar deleting destructor. Sets vtable, calls UIControlBase dtor, optionally frees 0xF8-byte object. |
| 0x00A171A0 | 318 | CShopWindow__add_item_to_list | Adds an item to the shop list. Allocates 0x108-byte node, copy-constructs from shop item data, copies price/flag, appends to linked list. If param_3 is true, updates scrollbar max/visible range and triggers dirty flag. |
| 0x00A172E0 | 58 | CShopWindow__on_buy_button_click | Buy button click handler. Sends packet 0x35 to server (buy request), hides the buy confirmation dialog. |
| 0x00A17320 | 242 | CShopWindow__on_sell_button_click | Sell button click handler. If item has description, formats and sends sell packet 0x44 with item name. Sends packet 0x36 to server, hides sell confirmation dialog. |
| 0x00A17420 | 268 | CShopWindow__on_quantity_confirm | Quantity confirmation handler. Validates input is numeric, clamps to [0, max_stock]. Sends packet 0x33 with (base_index + quantity), then packet 0x34. Hides quantity dialog. Shows error dialog box if input is non-numeric. |
| 0x00A17540 | 123 | CShopWindow__clear_item_list | Clears all items from the shop list. Destroys all linked list nodes, resets head/tail to sentinel, zeroes count and selection. Updates scrollbar (max, visible, value) and sets dirty flag. |
| 0x00A175C0 | 171 | CShopWindow__on_item_double_click | Handles double-click on shop item. If shop is locked, sends packet 0x12. If item type is 1 with flag 1, sends packet 0x26 (direct buy). Otherwise opens inventory window (type 0xF) and triggers item details (0xD, 5). |
| 0x00A19D30 | 138 | CItemOptionWnd__ctor_00a19d30 | Constructor for CItemOptionWnd. Calls parent ctor FUN_009bdf40, sets vtable to 0x0114C434, initializes flags at +0x120 and +0x14C, and an object pointer at +0x174. |
| 0x00A1AE80 | 71 | UIInterfaceDialogEx__dtor | UIInterfaceDialogEx destructor. Sets vtable, delegates to UIInterfaceDialog::dtor. |
| 0x00A1B7B0 | 99 | UIInterfaceDialog__scalar_deleting_dtor_00a1b7b0 | Scalar deleting destructor for UIInterfaceDialog variant (vtable 0x0114FE88). Calls UIInterfaceDialog dtor then conditionally frees 0xF0-byte object. |
| 0x00A1BF50 | 115 | UITextArea__create_00a1bf50 | Factory function that allocates a 0x100-byte UITextArea object and calls its constructor. |
| 0x00A345E0 | 63 | OptionSlot__advance_next_00a345e0 | Advances to the next option in the slot. If the scrollbar at +0xB0 is not at max, calls vtable+0x8C on it. Otherwise calls vtable+0x8C on the parent at +0x10. |
| 0x00A34620 | 63 | OptionSlot__advance_next_00a34620 | Advances to the next option in the slot variant. Same pattern as 00a345e0. |
| 0x00A34660 | 63 | OptionSlot__advance_next_00a34660 | Advances to the next option in the slot variant. Same pattern as 00a345e0. |
| 0x00A346A0 | 63 | OptionSlot__advance_next_00a346a0 | Advances to the next option in the slot variant. Same pattern as 00a345e0. |
| 0x00A346E0 | 63 | OptionSlot__advance_next_00a346e0 | Advances to the next option in the slot variant. Same pattern as 00a345e0. |
| 0x00A36C30 | 83 | CDialogBox__on_ok_button | OK button handler for dialog box. Hides modal window, invokes OK callback (offset 0xEC) with stored value (0x80), then invokes general callback (0xC4). |
| 0x00A36C90 | 83 | CDialogBox__on_cancel_button | Cancel button handler for dialog box. Same structure as OK handler: hides modal, invokes cancel callback (0xEC) with stored value, then general callback (0xC4). |
| 0x00A36CF0 | 218 | UIListView__on_item_click_handler_c | UIListView item click handler variant c. Same selection logic as handler_a/b but uses different RTDynamicCast target type. |
| 0x00A37730 | 22 | OptionSlot__copy_ctor_00a37730 | Copy constructor for an OptionSlot callback object. Sets vtable to 0x01150878 and copies the parent pointer from source (+0x4). |
| 0x00A37750 | 22 | OptionSlot__copy_ctor_00a37750 | Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. |
| 0x00A37770 | 22 | OptionSlot__copy_ctor_00a37770 | Copy constructor for an OptionSlot callback variant. |
| 0x00A37790 | 22 | OptionSlot__copy_ctor_00a37790 | Copy constructor for an OptionSlot callback variant. |
| 0x00A377B0 | 22 | OptionSlot__copy_ctor_00a377b0 | Copy constructor for an OptionSlot callback variant. |
| 0x00A377D0 | 22 | OptionSlot__copy_ctor_00a377d0 | Copy constructor for an OptionSlot callback variant. |
| 0x00A377F0 | 22 | OptionSlot__copy_ctor_00a377f0 | Copy constructor for an OptionSlot callback variant. |
| 0x00A37810 | 22 | OptionSlot__copy_ctor_00a37810 | Copy constructor for an OptionSlot callback variant. |
| 0x00A37830 | 22 | OptionSlot__copy_ctor_00a37830 | Copy constructor for an OptionSlot callback variant. |
| 0x00A37850 | 22 | OptionSlot__copy_ctor_00a37850 | Copy constructor for an OptionSlot callback variant. |
| 0x00A37870 | 22 | OptionSlot__copy_ctor_00a37870 | Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. |
| 0x00A37890 | 22 | OptionSlot__copy_ctor_00a37890 | Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. |
| 0x00A378B0 | 22 | OptionSlot__copy_ctor_00a378b0 | Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. |
| 0x00A378D0 | 22 | OptionSlot__copy_ctor_00a378d0 | Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. |
| 0x00A378F0 | 22 | OptionSlot__copy_ctor_00a378f0 | Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. |
| 0x00A37910 | 22 | OptionSlot__copy_ctor_00a37910 | Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. |
| 0x00A37930 | 22 | OptionSlot__copy_ctor_00a37930 | Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. |
| 0x00A37950 | 22 | OptionSlot__copy_ctor_00a37950 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37970 | 22 | OptionSlot__copy_ctor_00a37970 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37990 | 22 | OptionSlot__copy_ctor_00a37990 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A379B0 | 22 | OptionSlot__copy_ctor_00a379b0 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A379D0 | 22 | OptionSlot__copy_ctor_00a379d0 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A379F0 | 22 | OptionSlot__copy_ctor_00a379f0 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37A10 | 22 | OptionSlot__copy_ctor_00a37a10 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37A30 | 22 | OptionSlot__copy_ctor_00a37a30 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37A50 | 22 | OptionSlot__copy_ctor_00a37a50 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37A70 | 22 | OptionSlot__copy_ctor_00a37a70 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37A90 | 22 | OptionSlot__copy_ctor_00a37a90 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37AB0 | 22 | OptionSlot__copy_ctor_00a37ab0 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37AD0 | 22 | OptionSlot__copy_ctor_00a37ad0 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37AF0 | 22 | OptionSlot__copy_ctor_00a37af0 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37B10 | 22 | OptionSlot__copy_ctor_00a37b10 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37B30 | 22 | OptionSlot__copy_ctor_00a37b30 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37B50 | 22 | OptionSlot__copy_ctor_00a37b50 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37B70 | 22 | OptionSlot__copy_ctor_00a37b70 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37B90 | 22 | OptionSlot__copy_ctor_00a37b90 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. |
| 0x00A37BB0 | 22 | OptionSlot__copy_ctor_00a37bb0 | Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. Part of boost::signals2-style delegate framework used by game settings UI. |
| 0x00A37BD0 | 22 | OptionSlot__copy_ctor_00a37bd0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37BF0 | 22 | OptionSlot__copy_ctor_00a37bf0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37C10 | 22 | OptionSlot__copy_ctor_00a37c10 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37C30 | 22 | OptionSlot__copy_ctor_00a37c30 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37C50 | 22 | OptionSlot__copy_ctor_00a37c50 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37C70 | 22 | OptionSlot__copy_ctor_00a37c70 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37C90 | 22 | OptionSlot__copy_ctor_00a37c90 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37CB0 | 22 | OptionSlot__copy_ctor_00a37cb0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37CD0 | 22 | OptionSlot__copy_ctor_00a37cd0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37CF0 | 22 | OptionSlot__copy_ctor_00a37cf0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37D10 | 22 | OptionSlot__copy_ctor_00a37d10 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37D30 | 22 | OptionSlot__copy_ctor_00a37d30 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37D50 | 22 | OptionSlot__copy_ctor_00a37d50 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37D70 | 22 | OptionSlot__copy_ctor_00a37d70 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37D90 | 22 | OptionSlot__copy_ctor_00a37d90 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37DB0 | 22 | OptionSlot__copy_ctor_00a37db0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37DD0 | 22 | OptionSlot__copy_ctor_00a37dd0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37DF0 | 22 | OptionSlot__copy_ctor_00a37df0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37E10 | 22 | OptionSlot__copy_ctor_00a37e10 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37E30 | 22 | OptionSlot__copy_ctor_00a37e30 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37E50 | 22 | OptionSlot__copy_ctor_00a37e50 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37E70 | 22 | OptionSlot__copy_ctor_00a37e70 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37E90 | 22 | OptionSlot__copy_ctor_00a37e90 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37EB0 | 22 | OptionSlot__copy_ctor_00a37eb0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37ED0 | 22 | OptionSlot__copy_ctor_00a37ed0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37EF0 | 22 | OptionSlot__copy_ctor_00a37ef0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37F10 | 22 | OptionSlot__copy_ctor_00a37f10 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37F30 | 22 | OptionSlot__copy_ctor_00a37f30 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37F50 | 22 | OptionSlot__copy_ctor_00a37f50 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37F70 | 22 | OptionSlot__copy_ctor_00a37f70 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37F90 | 22 | OptionSlot__copy_ctor_00a37f90 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37FB0 | 22 | OptionSlot__copy_ctor_00a37fb0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37FD0 | 22 | OptionSlot__copy_ctor_00a37fd0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A37FF0 | 68 | OptionSlot__scalar_deleting_dtor_00a37ff0 | Scalar deleting destructor for signal slot object. SEH frame, conditionally frees 8 bytes via operator_delete if param_2 flag is set. |
| 0x00A38040 | 68 | OptionSlot__scalar_deleting_dtor_00a38040 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38090 | 68 | OptionSlot__scalar_deleting_dtor_00a38090 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A380E0 | 68 | OptionSlot__scalar_deleting_dtor_00a380e0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38130 | 68 | OptionSlot__scalar_deleting_dtor_00a38130 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38180 | 68 | OptionSlot__scalar_deleting_dtor_00a38180 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A381D0 | 68 | OptionSlot__scalar_deleting_dtor_00a381d0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38220 | 68 | OptionSlot__scalar_deleting_dtor_00a38220 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38270 | 68 | OptionSlot__scalar_deleting_dtor_00a38270 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A382C0 | 68 | OptionSlot__scalar_deleting_dtor_00a382c0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38310 | 68 | OptionSlot__scalar_deleting_dtor_00a38310 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38360 | 68 | OptionSlot__scalar_deleting_dtor_00a38360 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A383B0 | 68 | OptionSlot__scalar_deleting_dtor_00a383b0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38400 | 68 | OptionSlot__scalar_deleting_dtor_00a38400 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38450 | 68 | OptionSlot__scalar_deleting_dtor_00a38450 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A384A0 | 68 | OptionSlot__scalar_deleting_dtor_00a384a0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A384F0 | 68 | OptionSlot__scalar_deleting_dtor_00a384f0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38540 | 68 | OptionSlot__scalar_deleting_dtor_00a38540 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38590 | 68 | OptionSlot__scalar_deleting_dtor_00a38590 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A385E0 | 68 | OptionSlot__scalar_deleting_dtor_00a385e0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38630 | 68 | OptionSlot__scalar_deleting_dtor_00a38630 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38680 | 68 | OptionSlot__scalar_deleting_dtor_00a38680 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A386D0 | 68 | OptionSlot__scalar_deleting_dtor_00a386d0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38720 | 68 | OptionSlot__scalar_deleting_dtor_00a38720 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38770 | 68 | OptionSlot__scalar_deleting_dtor_00a38770 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A387C0 | 68 | OptionSlot__scalar_deleting_dtor_00a387c0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38810 | 68 | OptionSlot__scalar_deleting_dtor_00a38810 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38860 | 68 | OptionSlot__scalar_deleting_dtor_00a38860 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A388B0 | 68 | OptionSlot__scalar_deleting_dtor_00a388b0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38900 | 68 | OptionSlot__scalar_deleting_dtor_00a38900 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38950 | 68 | OptionSlot__scalar_deleting_dtor_00a38950 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A389A0 | 68 | OptionSlot__scalar_deleting_dtor_00a389a0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A389F0 | 68 | OptionSlot__scalar_deleting_dtor_00a389f0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38A40 | 68 | OptionSlot__scalar_deleting_dtor_00a38a40 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38A90 | 68 | OptionSlot__scalar_deleting_dtor_00a38a90 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38AE0 | 68 | OptionSlot__scalar_deleting_dtor_00a38ae0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38B30 | 68 | OptionSlot__scalar_deleting_dtor_00a38b30 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38B80 | 68 | OptionSlot__scalar_deleting_dtor_00a38b80 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38BD0 | 68 | OptionSlot__scalar_deleting_dtor_00a38bd0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38C20 | 68 | OptionSlot__scalar_deleting_dtor_00a38c20 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38C70 | 68 | OptionSlot__scalar_deleting_dtor_00a38c70 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38CC0 | 68 | OptionSlot__scalar_deleting_dtor_00a38cc0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38D10 | 68 | OptionSlot__scalar_deleting_dtor_00a38d10 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38D60 | 68 | OptionSlot__scalar_deleting_dtor_00a38d60 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38DB0 | 68 | OptionSlot__scalar_deleting_dtor_00a38db0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38E00 | 68 | OptionSlot__scalar_deleting_dtor_00a38e00 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38E50 | 68 | OptionSlot__scalar_deleting_dtor_00a38e50 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38EA0 | 68 | OptionSlot__scalar_deleting_dtor_00a38ea0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38EF0 | 68 | OptionSlot__scalar_deleting_dtor_00a38ef0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38F40 | 68 | OptionSlot__scalar_deleting_dtor_00a38f40 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38F90 | 68 | OptionSlot__scalar_deleting_dtor_00a38f90 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A38FE0 | 68 | OptionSlot__scalar_deleting_dtor_00a38fe0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39030 | 68 | OptionSlot__scalar_deleting_dtor_00a39030 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39080 | 68 | OptionSlot__scalar_deleting_dtor_00a39080 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A390D0 | 68 | OptionSlot__scalar_deleting_dtor_00a390d0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39120 | 68 | OptionSlot__scalar_deleting_dtor_00a39120 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39170 | 68 | OptionSlot__scalar_deleting_dtor_00a39170 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A391C0 | 68 | OptionSlot__scalar_deleting_dtor_00a391c0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39210 | 68 | OptionSlot__scalar_deleting_dtor_00a39210 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39260 | 68 | OptionSlot__scalar_deleting_dtor_00a39260 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A392B0 | 68 | OptionSlot__scalar_deleting_dtor_00a392b0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39300 | 68 | OptionSlot__scalar_deleting_dtor_00a39300 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39350 | 68 | OptionSlot__scalar_deleting_dtor_00a39350 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A393A0 | 68 | OptionSlot__scalar_deleting_dtor_00a393a0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A393F0 | 68 | OptionSlot__scalar_deleting_dtor_00a393f0 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39440 | 68 | OptionSlot__scalar_deleting_dtor_00a39440 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A39490 | 68 | scalar_deleting_dtor_8bytes_g | Trivial scalar deleting destructor for 8-byte object (variant g). |
| 0x00A394E0 | 68 | scalar_deleting_dtor_8bytes_h | Trivial scalar deleting destructor for 8-byte object (variant h). |
| 0x00A39530 | 68 | scalar_deleting_dtor_8bytes_i | Trivial scalar deleting destructor for 8-byte object (variant i). |
| 0x00A39580 | 68 | OptionSlot__scalar_deleting_dtor_00a39580 | Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). |
| 0x00A395D0 | 20 | OptionSlot__invoke_apply_setting_00a395d0 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. Part of options UI delegate system. |
| 0x00A395F0 | 20 | OptionSlot__invoke_apply_setting_00a395f0 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting function with RTDynamicCast. |
| 0x00A39610 | 20 | OptionSlot__invoke_apply_setting_00a39610 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. |
| 0x00A39630 | 20 | OptionSlot__invoke_set_priority_00a39630 | Signal slot invocation wrapper. Forwards *param_1 to set process priority via SetPriorityClass. |
| 0x00A39650 | 20 | OptionSlot__invoke_on_priority_radio_changed | Signal slot invocation wrapper. Forwards *param_1 to SettingsUI__on_priority_radio_changed. |
| 0x00A39670 | 20 | OptionSlot__invoke_apply_setting_00a39670 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. |
| 0x00A396B0 | 21 | OptionSlot__invoke_toggle_option_00a396b0 | Signal slot void invocation. Calls toggle_option which reads GameSettings state and toggles enabled flag. |
| 0x00A396D0 | 23 | OptionSlot__invoke_on_small_list_item_selected | Signal slot invocation. Forwards *param_1 and param_2 to SettingsUI__on_small_list_item_selected handler. |
| 0x00A396F0 | 20 | OptionSlot__invoke_update_display_00a396f0 | Signal slot invocation wrapper. Forwards *param_1 to update_display function that refreshes UI rendering. |
| 0x00A39710 | 23 | OptionSlot__invoke_render_item_text | Signal slot invocation. Forwards *param_1 and param_2 to UIListBox__render_item_text_at_offset0xc. |
| 0x00A39740 | 20 | OptionSlot__invoke_set_priority_00a39740 | Signal slot invocation wrapper. Forwards *param_1 to set process priority via SetPriorityClass. |
| 0x00A39760 | 65 | OptionSlot__invoke_set_selected_all_00a39760 | Signal slot invocation. Iterates all items in collection (offset 0xC8-0xCC), calls virtual method +0xDC (set_selected) on each based on match with param_2. |
| 0x00A397B0 | 65 | OptionSlot__invoke_set_selected_all_00a397b0 | Signal slot invocation. Iterates collection items calling virtual set_selected based on match. |
| 0x00A39800 | 65 | OptionSlot__invoke_set_selected_all_00a39800 | Signal slot invocation. Iterates collection items calling virtual set_selected based on match. |
| 0x00A39850 | 65 | OptionSlot__invoke_set_selected_all_00a39850 | Signal slot invocation. Iterates collection items calling virtual set_selected based on match. |
| 0x00A398A0 | 65 | OptionSlot__invoke_set_selected_all_00a398a0 | Signal slot invocation. Iterates collection items calling virtual set_selected based on match. |
| 0x00A398F0 | 81 | OptionSlot__invoke_show_window_clamped_00a398f0 | Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. |
| 0x00A39950 | 81 | OptionSlot__invoke_show_window_clamped_00a39950 | Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. |
| 0x00A399B0 | 81 | OptionSlot__invoke_show_window_clamped_00a399b0 | Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. |
| 0x00A39A10 | 81 | OptionSlot__invoke_show_window_clamped_00a39a10 | Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. |
| 0x00A39A70 | 20 | OptionSlot__invoke_layout_visible_items | Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. |
| 0x00A39A90 | 20 | OptionSlot__invoke_layout_visible_items_00a39a90 | Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. |
| 0x00A39AB0 | 20 | OptionSlot__invoke_layout_visible_items_00a39ab0 | Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. |
| 0x00A39AD0 | 20 | OptionSlot__invoke_layout_visible_items_00a39ad0 | Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. |
| 0x00A39AF0 | 20 | OptionSlot__invoke_layout_visible_items_00a39af0 | Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. |
| 0x00A39B10 | 23 | OptionSlot__invoke_on_value_changed_00a39b10 | Signal slot invocation. Forwards *param_1 and param_2 to on_value_changed handler (null_stub target). |
| 0x00A39B30 | 21 | OptionSlot__invoke_toggle_option_00a39b30 | Signal slot void invocation. Calls toggle_option function. |
| 0x00A39B50 | 81 | OptionSlot__invoke_show_window_clamped | Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. |
| 0x00A39BB0 | 81 | OptionSlot__invoke_show_window_clamped_00a39bb0 | Signal slot invocation. Checks modal lock, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. |
| 0x00A39C10 | 81 | OptionSlot__invoke_show_window_clamped_00a39c10 | Signal slot invocation. Checks modal lock, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. |
| 0x00A39C70 | 81 | OptionSlot__invoke_show_window_clamped_00a39c70 | Signal slot invocation. Checks modal lock, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. |
| 0x00A39CE0 | 20 | OptionSlot__invoke_apply_setting_00a39ce0 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting via thunk. |
| 0x00A39D20 | 21 | OptionSlot__invoke_toggle_option_00a39d20 | Signal slot void invocation. Calls toggle_option function. |
| 0x00A39D50 | 216 | OptionSlot__invoke_tab_select_00a39d50 | Signal slot invocation. Exclusive tab selection: deselects all items except param_2, uses RTDynamicCast to validate item type, then updates linked list selection index and notifies observer. |
| 0x00A39E30 | 216 | OptionSlot__invoke_tab_select_00a39e30 | Signal slot invocation. Exclusive tab selection with RTDynamicCast, linked list update, and observer notification. |
| 0x00A39F10 | 216 | OptionSlot__invoke_tab_select_00a39f10 | Signal slot invocation. Exclusive tab selection with RTDynamicCast, linked list update, and observer notification. |
| 0x00A39FF0 | 216 | OptionSlot__invoke_tab_select_00a39ff0 | Signal slot invocation. Exclusive tab selection with RTDynamicCast, linked list update, and observer notification. |
| 0x00A3A0D0 | 216 | OptionSlot__invoke_tab_select_00a3a0d0 | Signal slot invocation. Exclusive tab selection with RTDynamicCast, linked list update, and observer notification. |
| 0x00A3A1B0 | 85 | OptionSlot__invoke_dual_dispatch_00a3a1b0 | Signal slot invocation. Dispatches to two signal handlers: first via offset 0xEC (secondary handler), then 0xC4 (primary handler). Both use virtual call at +8. |
| 0x00A3A210 | 85 | OptionSlot__invoke_dual_dispatch_00a3a210 | Signal slot dual dispatch. Calls both secondary (0xEC) and primary (0xC4) handlers. |
| 0x00A3A270 | 85 | OptionSlot__invoke_dual_dispatch_00a3a270 | Signal slot dual dispatch. Calls both secondary (0xEC) and primary (0xC4) handlers. |
| 0x00A3A2D0 | 85 | OptionSlot__invoke_dual_dispatch_00a3a2d0 | Signal slot dual dispatch. Calls both secondary (0xEC) and primary (0xC4) handlers. |
| 0x00A3A330 | 23 | OptionSlot__invoke_create_option_00a3a330 | Signal slot invocation. Forwards *param_1 and param_2 to create_option which reads GameSettings and creates option UI elements. |
| 0x00A3A370 | 20 | OptionSlot__invoke_apply_setting_00a3a370 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. |
| 0x00A3A390 | 20 | OptionSlot__invoke_apply_setting_00a3a390 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting with RTDynamicCast. |
| 0x00A3A3B0 | 20 | OptionSlot__invoke_apply_setting_00a3a3b0 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. |
| 0x00A3A3D0 | 20 | OptionSlot__invoke_set_priority_00a3a3d0 | Signal slot invocation wrapper. Forwards *param_1 to set process priority via SetPriorityClass. |
| 0x00A3A3F0 | 20 | OptionSlot__invoke_priority_radio_change | Signal slot invocation wrapper. Forwards *param_1 to SettingsUI::on_priority_radio_changed for priority radio button state changes. |
| 0x00A3A410 | 20 | OptionSlot__invoke_apply_setting_00a3a410 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. |
| 0x00A3A480 | 20 | OptionSlot__invoke_apply_setting_00a3a480 | Signal slot invocation wrapper. Forwards *param_1 to apply_setting via thunk. |
| 0x00A3A4C0 | 23 | OptionSlot__invoke_set_value_00a3a4c0 | Signal slot invocation. Forwards *param_1 and param_2 to set_value function. |
| 0x00A3A4E0 | 23 | OptionSlot__invoke_set_value_00a3a4e0 | Signal slot invocation. Forwards *param_1 and param_2 to set_value function. |
| 0x00A3A500 | 23 | OptionSlot__invoke_set_skin_index_00a3a500 | Signal slot invocation. Forwards *param_1 and param_2 to set skin index via CSkinSelector. |
| 0x00A3A520 | 23 | OptionSlot__invoke_render_item_text_00a3a520 | Signal slot invocation. Forwards *param_1 and param_2 to UIListBox__render_item_text_at_offset8 for rendering list item text. |
| 0x00A3A540 | 23 | OptionSlot__invoke_render_item_text_00a3a540 | Signal slot invocation. Forwards *param_1 and param_2 to UIListBox__render_item_text_at_offset4 for rendering list item text. |
| 0x00A3A560 | 23 | OptionSlot__invoke_render_item_string | Signal slot invocation. Forwards *param_1 and param_2 to UIListBox__render_item_string_only for rendering list item strings. |
| 0x00A3AA00 | 22 | OptionSlot__copy_ctor_00a3aa00 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AA20 | 22 | OptionSlot__copy_ctor_00a3aa20 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AA40 | 22 | OptionSlot__copy_ctor_00a3aa40 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AA60 | 22 | OptionSlot__copy_ctor_00a3aa60 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AA80 | 22 | OptionSlot__copy_ctor_00a3aa80 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AAA0 | 22 | OptionSlot__copy_ctor_00a3aaa0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AAC0 | 22 | OptionSlot__copy_ctor_00a3aac0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AAE0 | 22 | OptionSlot__copy_ctor_00a3aae0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AB00 | 22 | OptionSlot__copy_ctor_00a3ab00 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AB20 | 22 | OptionSlot__copy_ctor_00a3ab20 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AB40 | 22 | OptionSlot__copy_ctor_00a3ab40 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AB60 | 22 | OptionSlot__copy_ctor_00a3ab60 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AB80 | 22 | OptionSlot__copy_ctor_00a3ab80 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3ABA0 | 22 | OptionSlot__copy_ctor_00a3aba0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3ABC0 | 22 | OptionSlot__copy_ctor_00a3abc0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3ABE0 | 22 | OptionSlot__copy_ctor_00a3abe0 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AC00 | 22 | OptionSlot__copy_ctor_00a3ac00 | Signal slot copy constructor for options UI. Sets vtable and copies context pointer. |
| 0x00A3AC20 | 22 | OptionSlot__copy_ctor_00a3ac20 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AC40 | 22 | OptionSlot__copy_ctor_00a3ac40 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AC60 | 22 | OptionSlot__copy_ctor_00a3ac60 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AC80 | 22 | OptionSlot__copy_ctor_00a3ac80 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3ACA0 | 22 | OptionSlot__copy_ctor_00a3aca0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3ACC0 | 22 | OptionSlot__copy_ctor_00a3acc0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3ACE0 | 22 | OptionSlot__copy_ctor_00a3ace0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AD00 | 22 | OptionSlot__copy_ctor_00a3ad00 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AD20 | 22 | OptionSlot__copy_ctor_00a3ad20 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AD40 | 22 | OptionSlot__copy_ctor_00a3ad40 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AD60 | 22 | OptionSlot__copy_ctor_00a3ad60 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AD80 | 22 | OptionSlot__copy_ctor_00a3ad80 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3ADA0 | 22 | OptionSlot__copy_ctor_00a3ada0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3ADC0 | 22 | OptionSlot__copy_ctor_00a3adc0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3ADE0 | 22 | OptionSlot__copy_ctor_00a3ade0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AE00 | 22 | OptionSlot__copy_ctor_00a3ae00 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AE20 | 22 | OptionSlot__copy_ctor_00a3ae20 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AE40 | 22 | OptionSlot__copy_ctor_00a3ae40 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AE60 | 22 | OptionSlot__copy_ctor_00a3ae60 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AE80 | 22 | OptionSlot__copy_ctor_00a3ae80 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AEA0 | 22 | OptionSlot__copy_ctor_00a3aea0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AEC0 | 22 | OptionSlot__copy_ctor_00a3aec0 | Vtable copy constructor: sets vtable ptr to PTR_FUN_01150840 and copies member at offset+4 from source. Used by std::function or similar polymorphic wrapper. |
| 0x00A3AEE0 | 22 | OptionSlot__copy_ctor_00a3aee0 | Vtable copy constructor: sets vtable ptr to PTR_FUN_01150b6c and copies member at offset+4 from source. |
| 0x00A3AF00 | 22 | OptionSlot__copy_ctor_00a3af00 | Vtable copy constructor: sets vtable ptr to PTR_FUN_01150e7c and copies member at offset+4 from source. |
| 0x00A3AF20 | 22 | OptionSlot__copy_ctor_00a3af20 | Vtable copy constructor: sets vtable ptr to PTR_FUN_01150eb4 and copies member at offset+4 from source. |
| 0x00A3AF40 | 22 | OptionSlot__copy_ctor_00a3af40 | Vtable copy constructor: sets vtable ptr to PTR_FUN_01150e44 and copies member at offset+4 from source. |
| 0x00A3AF60 | 22 | OptionSlot__copy_ctor_00a3af60 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AF80 | 22 | OptionSlot__copy_ctor_00a3af80 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AFA0 | 22 | OptionSlot__copy_ctor_00a3afa0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AFC0 | 22 | OptionSlot__copy_ctor_00a3afc0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3AFE0 | 22 | OptionSlot__copy_ctor_00a3afe0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B000 | 22 | OptionSlot__copy_ctor_00a3b000 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B020 | 22 | OptionSlot__copy_ctor_00a3b020 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B040 | 22 | OptionSlot__copy_ctor_00a3b040 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B060 | 22 | OptionSlot__copy_ctor_00a3b060 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B080 | 22 | OptionSlot__copy_ctor_00a3b080 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B0A0 | 22 | OptionSlot__copy_ctor_00a3b0a0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B0C0 | 22 | OptionSlot__copy_ctor_00a3b0c0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B0E0 | 22 | OptionSlot__copy_ctor_00a3b0e0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B100 | 22 | OptionSlot__copy_ctor_00a3b100 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B120 | 22 | OptionSlot__copy_ctor_00a3b120 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B140 | 22 | OptionSlot__copy_ctor_00a3b140 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B160 | 22 | OptionSlot__copy_ctor_00a3b160 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B180 | 22 | OptionSlot__copy_ctor_00a3b180 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B1A0 | 22 | OptionSlot__copy_ctor_00a3b1a0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B1C0 | 22 | OptionSlot__copy_ctor_00a3b1c0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B1E0 | 22 | OptionSlot__copy_ctor_00a3b1e0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B200 | 22 | OptionSlot__copy_ctor_00a3b200 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B220 | 22 | OptionSlot__copy_ctor_00a3b220 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B240 | 22 | OptionSlot__copy_ctor_00a3b240 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B260 | 22 | OptionSlot__copy_ctor_00a3b260 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B280 | 22 | OptionSlot__copy_ctor_00a3b280 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3B2A0 | 22 | OptionSlot__copy_ctor_00a3b2a0 | OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. |
| 0x00A3C4A0 | 296 | UITextArea__ctor_00a3c4a0 | Constructor for a UITextArea widget derived from UIWindowBase. Sets vtable to PTR_FUN_01152f64. Initializes default text color to 0xFFFFFF (white), background color to 0xCECECE (light gray), alignment=3, line spacing=1, and zeroes out scroll/selection members at offsets 0x36-0x3f. |
| 0x00A3C5D0 | 176 | UIContainer__ctor_00a3c5d0 | Constructor for a UI container widget derived from UIBase. Calls UIBase ctor, sets vtable to PTR_FUN_01152e80, sets visible flag=1, zeroes 6 data members at offsets 0x20-0x25. |
| 0x00A3C680 | 166 | UIPanel__ctor_00a3c680 | Constructor for a UI panel widget derived from UIBase. Sets vtable to PTR_FUN_011524b4, sets visible flag=1, zeroes 5 data members at offsets 0x20-0x24. |
| 0x00A3C730 | 166 | UIScrollPanel__ctor_00a3c730 | Constructor for a UI scroll panel widget derived from UIBase. Sets vtable to PTR_FUN_01152cb8, sets visible flag=1, zeroes 5 data members at offsets 0x20-0x24. |
| 0x00A3C910 | 156 | UISprite__ctor_00a3c910 | Constructor for UISprite derived from UIBase. Sets vtable to PTR_FUN_01152928. Initializes members: offset 0x20=0, 0x21=0, 0x22=-1, 0x23=-1 (sentinel values for sprite ID and frame). |
| 0x00A3C9B0 | 166 | UIImage__ctor_00a3c9b0 | Constructor for UIImage derived from UIBase. Sets vtable to PTR_FUN_01152760. Zeroes 5 members at offsets 0x20-0x24 (image handle, UV coords, etc). |
| 0x00A3CB20 | 166 | UICheckBox__ctor_00a3cb20 | Constructor for UICheckBox derived from UIBase. Sets vtable to PTR_FUN_01152598. Zeroes 5 members at offsets 0x20-0x24 (checked state, sprites, etc). |
| 0x00A3CBD0 | 136 | UILabel__ctor_00a3cbd0 | Constructor for UILabel derived from UIBase. Sets vtable to PTR_FUN_011522ec. Zeroes 2 members at offsets 0x20-0x21 (text ptr, color). |
| 0x00A3CC60 | 206 | UISlider__ctor_00a3cc60 | Constructor for UISlider derived from UIBase. Sets vtable to PTR_FUN_011523d0. Zeroes 9 members at offsets 0x20-0x28 (min, max, current value, orientation, etc). |
| 0x00A3CDC0 | 136 | UIRadioButton__ctor_00a3cdc0 | Constructor for UIRadioButton derived from UIBase. Sets vtable to PTR_FUN_01152bd4. Zeroes 2 members at offsets 0x20-0x21 (selected state, group ID). |
| 0x00A3CF00 | 113 | UIFrame__ctor_00a3cf00 | Constructor for UIFrame derived from UIBase. Sets vtable to PTR_FUN_011521fc. Zeroes 1 member at offset 0x20. |
| 0x00A3CF80 | 134 | UITimedButton__ctor_00a3cf80 | Constructor for UITimedButton derived from UIButton. Calls UIButton__ctor_009efc30. Sets vtable to PTR_FUN_01152114. Initializes 5 members: offsets 0x3a-0x3d=0, 0x3e=300 (default delay in ms). |
| 0x00A3D0A0 | 152 | UIListData__ctor_00a3d0a0 | Constructor for a UI list data structure. Zeroes header fields, initializes two embedded STL strings (at offsets +2 and +0x14, with SSO buffer size 0xF), and zeroes a 0x30-byte data block via memset. |
| 0x00A3D140 | 80 | wrapper__string_dtor_00a3d140 | SEH wrapper that destroys a single STL string object. Sets up exception handling frame then calls STL_string_dtor. |
| 0x00A3D2D0 | 130 | destroy_and_free_node_0x70_00a3d2d0 | Destroys a 0x70-byte node: if pointer at offset+4 is non-null, destroys two embedded STL strings then frees the 0x70-byte allocation. |
| 0x00A3D360 | 116 | destroy_and_free_node_0x2c_00a3d360 | Destroys a 0x2c-byte node: if pointer at offset+4 is non-null, destroys one embedded STL string then frees the 0x2c-byte allocation. |
| 0x00A3D3E0 | 116 | destroy_and_free_node_0x24_00a3d3e0 | Destroys a 0x24-byte node: if pointer at offset+4 is non-null, destroys one embedded STL string then frees the 0x24-byte allocation. |
| 0x00A3D6C0 | 95 | UITextArea__dtor_00a3d6c0 | Destructor for UITextArea (vtable PTR_FUN_01152f64). Deallocates vector data via std__vector__dealloc, then calls CUIWindow dtor to save position. |
| 0x00A3D720 | 84 | UIContainer__dtor_00a3d720 | Destructor for UIContainer (vtable PTR_FUN_01152e80). Resets vtable to UIBase, calls UIBase dtor (FUN_00a79e90). |
| 0x00A3D780 | 78 | UIBase__dtor_intermediate_00a3d780 | Intermediate destructor for UIBase hierarchy. Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3D7D0 | 84 | UIPanel__dtor_00a3d7d0 | Destructor for UIPanel (vtable PTR_FUN_011524b4). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3D830 | 84 | UIScrollPanel__dtor_00a3d830 | Destructor for UIScrollPanel (vtable PTR_FUN_01152cb8). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3D970 | 84 | UISprite__dtor_00a3d970 | Destructor for UISprite (vtable PTR_FUN_01152928). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3D9D0 | 84 | UIImage__dtor_00a3d9d0 | Destructor for UIImage (vtable PTR_FUN_01152760). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3DA90 | 84 | UICheckBox__dtor_00a3da90 | Destructor for UICheckBox (vtable PTR_FUN_01152598). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3DAF0 | 84 | UILabel__dtor_00a3daf0 | Destructor for UILabel (vtable PTR_FUN_011522ec). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3DB50 | 84 | UISlider__dtor_00a3db50 | Destructor for UISlider (vtable PTR_FUN_011523d0). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3DC10 | 84 | UIRadioButton__dtor_00a3dc10 | Destructor for UIRadioButton (vtable PTR_FUN_01152bd4). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3DCD0 | 84 | UIFrame__dtor_00a3dcd0 | Destructor for UIFrame (vtable PTR_FUN_011521fc). Resets vtable to UIBase, calls UIBase dtor. |
| 0x00A3DD30 | 71 | UITimedButton__dtor_00a3dd30 | Destructor for UITimedButton (vtable PTR_FUN_01152114). Calls UIControlBase dtor. |
| 0x00A3DD80 | 78 | UIBase__dtor_base_00a3dd80 | Base destructor that resets vtable to UIBase and calls UIBase dtor (FUN_00a79e90). Used for the most basic UIBase-derived class teardown. |
| 0x00A3DF20 | 119 | UITextArea__scalar_deleting_dtor_00a3df20 | Scalar deleting destructor for UITextArea. Deallocates vector data, calls CUIWindow dtor, then conditionally frees the 0x100-byte allocation. |
| 0x00A3DFA0 | 112 | UISlider__scalar_deleting_dtor | UISlider scalar deleting destructor. Sets vtable chain, calls CEffect::dtor, optionally frees 0x98-byte object. |
| 0x00A3E010 | 106 | UILabel__scalar_deleting_dtor | UILabel scalar deleting destructor. Sets vtable to UIBase, calls CEffect::dtor, optionally frees 0x80-byte object. |
| 0x00A3E080 | 112 | UICheckBox__scalar_deleting_dtor | UICheckBox scalar deleting destructor. Sets vtable chain, calls CEffect::dtor, optionally frees 0x94-byte object. |
| 0x00A3E260 | 112 | UISprite__scalar_deleting_dtor_00a3e260 | Scalar deleting destructor for UISprite. Calls UIBase dtor, then conditionally frees 0x90-byte allocation. |
| 0x00A3E2D0 | 112 | UIImage__scalar_deleting_dtor_00a3e2d0 | Scalar deleting destructor for UIImage. Calls UIBase dtor, then conditionally frees 0x94-byte allocation. |
| 0x00A3E3B0 | 112 | UICheckBox__scalar_deleting_dtor_00a3e3b0 | Scalar deleting destructor for UICheckBox. Calls UIBase dtor, then conditionally frees 0x94-byte allocation. |
| 0x00A3E420 | 112 | UILabel__scalar_deleting_dtor_00a3e420 | Scalar deleting destructor for UILabel. Calls UIBase dtor, then conditionally frees 0x88-byte allocation. |
| 0x00A3E490 | 112 | UISlider__scalar_deleting_dtor_00a3e490 | Scalar deleting destructor for UISlider. Calls UIBase dtor, then conditionally frees 0xA4-byte allocation. |
| 0x00A3E570 | 112 | UIRadioButton__scalar_deleting_dtor_00a3e570 | Scalar deleting destructor for UIRadioButton. Calls UIBase dtor, then conditionally frees 0x88-byte allocation. |
| 0x00A3E650 | 112 | UIFrame__scalar_deleting_dtor_00a3e650 | Scalar deleting destructor for UIFrame. Calls UIBase dtor, then conditionally frees 0x84-byte allocation. |
| 0x00A3E6C0 | 99 | UITimedButton__scalar_deleting_dtor_00a3e6c0 | Scalar deleting destructor for UITimedButton. Calls UIControlBase dtor, then conditionally frees 0x100-byte allocation. |
| 0x00A3E730 | 106 | UIBase__scalar_deleting_dtor_00a3e730 | Scalar deleting destructor for a basic UIBase-derived class. Calls UIBase dtor, then conditionally frees 0x80-byte allocation. |
| 0x00A3F620 | 32 | set_process_priority_class | Sets the process priority class. Stores the value in global DAT_0173a5c4, then calls SetPriorityClass on the current process handle. |
| 0x00A47D10 | 34 | copy_range_to_buffer | Copies a range of memory [param_1, param_2) to destination param_3 using memcpy. Returns pointer to end of written data (param_3 + bytes copied). Used as a helper for vector/buffer operations. |
| 0x00A4E4D0 | 1772 | UIItemList__populate_from_item_db_00a4e4d0 | Populates the item list from the item database. Stores item ID at +0x10C. Clears existing list data. Creates CItemDB singleton if needed. Looks up item by ID, iterates item tree nodes. For each item entry: copies strings, computes price using pow() with enchant level, creates list node with sort key. Calls refresh_scroll_range after population. |
| 0x00A4EBD0 | 1747 | string_highlight_and_replace_00a4ebd0 | Searches for param_2 within param_1 string and highlights/replaces matches. Converts strings to wchar, does substring search. For each match found, calls FUN_00a4f2b0 to apply highlight formatting for prefix, match, and suffix segments. Converts result back to multibyte. Returns number of matches found. |
| 0x00A4FD60 | 115 | UITextBoxB__create_00a4fd60 | Factory function that allocates 0xF4 bytes for UITextBoxB, constructs via UITextBoxB__ctor. Returns pointer or 0 on failure. |
| 0x00A54D00 | 133 | UITextBoxA__ctor_00a54d00 | Constructor for UITextBoxA. Calls base class ctor FUN_00a79a90, sets vtable to PTR_FUN_01153e60, then initializes fields 0x20-0x22 to zero. Object size 0x8c. |
| 0x00A54D90 | 262 | UITextBoxB__ctor_00a54d90 | Constructor for UITextBoxB (window-based text box). Calls UIWindowBase__ctor, sets vtable to PTR_FUN_011541dc. Initializes text color to 0xffffff, highlight color to 0xcecece, line spacing=3, flags, and child UI fields 0x36-0x3c to zero. Object size 0xf4. |
| 0x00A54EA0 | 124 | UITextBoxC__ctor_00a54ea0 | Constructor for UITextBoxC. Calls base ctor FUN_009efc30, sets vtable to PTR_FUN_01153f3c, initializes fields 0x3a-0x3d to zero. Object size 0xf8. |
| 0x00A54F20 | 193 | UITextBoxD__ctor_00a54f20 | Constructor for UITextBoxD. Calls base ctor FUN_00a79a90, sets vtable to PTR_FUN_01154024, initializes fields 0x20-0x28 to zero. Object size 0xa4. |
| 0x00A54FF0 | 163 | UITextBoxE__ctor_00a54ff0 | Constructor for UITextBoxE. Calls base ctor FUN_00a79a90, sets vtable to PTR_FUN_01154100, initializes fields 0x20-0x25 to zero. Object size 0x98. |
| 0x00A55140 | 84 | UITextBoxA__dtor_00a55140 | Destructor for UITextBoxA. Sets vtable chain PTR_FUN_01153e60 then PTR_FUN_0114875c, calls base dtor FUN_00a79e90. |
| 0x00A551A0 | 71 | UITextBoxB__dtor_00a551a0 | Destructor for UITextBoxB. Sets vtable to PTR_FUN_011541dc, calls base window dtor FUN_009e69d0. |
| 0x00A551F0 | 71 | UITextBoxC__dtor_00a551f0 | Destructor for UITextBoxC. Sets vtable to PTR_FUN_01153f3c, calls base dtor FUN_009da310. |
| 0x00A55240 | 84 | UITextBoxD__dtor_00a55240 | Destructor for UITextBoxD. Sets vtable chain PTR_FUN_01154024 then PTR_FUN_0114875c, calls base dtor FUN_00a79e90. |
Part 4 of Game Core: functions 4,924 to 6,480, 0x00A552A0 to 0x00C8BDF0
No function in this part matches that. Search all 47,061 functions instead.