GoG symbol map — ui phase#
Behavioral mapping from src/LORDS2.EXE.c to src/Lords2-gog.exe.c. Retail and GoG VAs differ; names are matched by fingerprint and call graph.
Generated by tools/ghidra/map_gog_symbols.py --subsystem ui.
Mapped symbols#
lotr2_name |
Retail old | Retail addr | GoG old | GoG addr | Kind | Confidence | Evidence |
|---|---|---|---|---|---|---|---|
lotr2_ui_asset_scratch_ptr |
DAT_00505124 |
0x00505124 | DAT_004eabec |
0x004eabec | dat | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_block_until_button_up |
FUN_004cc68e |
0x004cc68e | FUN_004b1f4a |
0x004b1f4a | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_block_until_button_up_timeout |
FUN_004cc730 |
0x004cc730 | FUN_004b1fec |
0x004b1fec | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_callback_noop_a |
lotr2_ui_callback_noop_a |
0x0 | FUN_004b1dd5 |
0x004b1dd5 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_callback_noop_b |
lotr2_ui_callback_noop_b |
0x0 | FUN_004b21cf |
0x004b21cf | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_callback_noop_c |
lotr2_ui_callback_noop_c |
0x0 | FUN_004b21da |
0x004b21da | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_callback_noop_d |
lotr2_ui_callback_noop_d |
0x0 | FUN_004b21e5 |
0x004b21e5 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_capture_click_row |
FUN_004cc60b |
0x004cc60b | FUN_004b1ec7 |
0x004b1ec7 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_clear_click_hold |
lotr2_ui_clear_click_hold |
0x004cc027 | FUN_004b18e3 |
0x004b18e3 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_create_main_window |
FUN_004cc954 |
0x004cc954 | FUN_004b2258 |
0x004b2258 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_debounce_elapsed_a |
FUN_004cc82d |
0x004cc82d | FUN_004b2131 |
0x004b2131 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_debounce_elapsed_b |
FUN_004cc873 |
0x004cc873 | FUN_004b2177 |
0x004b2177 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_drain_message_queue |
lotr2_ui_drain_message_queue |
0x004cc5e0 | FUN_004b1e9c |
0x004b1e9c | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_flush_status_txt |
lotr2_ui_flush_status_txt |
0x004ca57d | FUN_004afe3a |
0x004afe3a | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_format_diverge_record |
lotr2_ui_format_diverge_record |
0x004ca630 | FUN_004afeed |
0x004afeed | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_frame_tail_hook |
lotr2_ui_frame_tail_hook |
0x0 | FUN_004b21cf |
0x004b21cf | fun | anchor | Manual cross-build validation |
lotr2_ui_free_scratch_buffer |
lotr2_ui_free_scratch_buffer |
0x004cccf8 | FUN_004b25fc |
0x004b25fc | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_hit_test_point |
lotr2_ui_hit_test_point |
0x004cc52f | FUN_004b1deb |
0x004b1deb | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_hwnd_main |
DAT_0050773c |
0x0050773c | DAT_004e5a00 |
0x004e5a00 | dat | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_idle_noop |
FUN_004cbffb |
0x004cbffb | FUN_004b21cf |
0x004b21cf | fun | anchor | Manual cross-build validation |
lotr2_ui_mouse_x |
DAT_005042cc |
0x005042cc | DAT_004e65fc |
0x004e65fc | dat | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_mouse_y |
DAT_005042d0 |
0x005042d0 | DAT_004e65f4 |
0x004e65f4 | dat | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_on_app_foreground |
lotr2_ui_on_app_foreground |
0x004ccdde | FUN_004b26f8 |
0x004b26f8 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_pointer_input_dirty |
DAT_00505348 |
0x00505348 | DAT_004ea4b0 |
0x004ea4b0 | dat | anchor | Manual cross-build validation |
lotr2_ui_poll_pointer_state |
lotr2_ui_poll_pointer_state |
0x004cc062 | FUN_004b191e |
0x004b191e | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_post_synthetic_mousemove |
lotr2_ui_post_synthetic_mousemove |
0x004cc03c | FUN_004b18f8 |
0x004b18f8 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_pump_messages_once |
lotr2_ui_pump_messages_once |
0x004cc58b | FUN_004b1e47 |
0x004b1e47 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_query_free_phys_mem |
lotr2_ui_query_free_phys_mem |
0x004ccc71 | FUN_004b2575 |
0x004b2575 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_resize_scratch_buffer |
lotr2_ui_resize_scratch_buffer |
0x004cccac | FUN_004b25b0 |
0x004b25b0 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_set_cursor_theme |
lotr2_ui_set_cursor_theme |
0x004cc437 | FUN_004b1cf3 |
0x004b1cf3 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_show_load_phase_msgs |
lotr2_ui_show_load_phase_msgs |
0x004ccd32 | FUN_004b2636 |
0x004b2636 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_show_loading_msg |
FUN_004ca1fc |
0x004ca1fc | FUN_004afab9 |
0x004afab9 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_slot_count |
DAT_0050c390 |
0x0050c390 | DAT_004f0358 |
0x004f0358 | dat | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_slot_flags |
DAT_0050c3a0 |
0x0050c3a0 | DAT_004f0360 |
0x004f0360 | dat | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_spin_delay_a |
lotr2_ui_spin_delay_a |
0x004cc8ec | FUN_004b21f0 |
0x004b21f0 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_spin_delay_b |
FUN_004cc90e |
0x004cc90e | FUN_004b2212 |
0x004b2212 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_spin_delay_combo |
lotr2_ui_spin_delay_combo |
0x004cc930 | FUN_004b2234 |
0x004b2234 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_spin_step_a |
lotr2_ui_spin_step_a |
0x0 | FUN_004b21cf |
0x004b21cf | fun | anchor | Manual cross-build validation |
lotr2_ui_spin_step_b |
lotr2_ui_spin_step_b |
0x0 | FUN_004b21da |
0x004b21da | fun | anchor | Manual cross-build validation |
lotr2_ui_spin_step_c |
lotr2_ui_spin_step_c |
0x0 | FUN_004b21e5 |
0x004b21e5 | fun | anchor | Manual cross-build validation |
lotr2_ui_status_timestamp |
lotr2_ui_status_timestamp |
0x004cabdf | FUN_004b049b |
0x004b049b | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_stub_false |
FUN_004cc8b9 |
0x004cc8b9 | FUN_004b21bd |
0x004b21bd | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_tick_delta_ms |
lotr2_ui_tick_delta_ms |
0x004cc7e9 | FUN_004b20ed |
0x004b20ed | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_wait_ready_loop |
FUN_004cc5bc |
0x004cc5bc | FUN_004b1e78 |
0x004b1e78 | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_wndproc |
LAB_0040209a |
0x0040209a | FUN_004b29be |
0x004b29be | dat | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_write_diverge_txt |
lotr2_ui_write_diverge_txt |
0x004caaee | FUN_004b03ab |
0x004b03ab | fun | applied | Present in Lords2-gog.exe.c provenance |
lotr2_ui_yield_hook |
lotr2_ui_yield_hook |
0x004cc524 | FUN_004b1dd5 |
0x004b1dd5 | fun | anchor | Manual cross-build validation |
lotr2_winmain |
FUN_0041680b |
0x0041680b | FUN_0040e9ab |
0x0040e9ab | fun | applied | Present in Lords2-gog.exe.c provenance |
Mapped: 48 | Unmatched: 1
Unmatched (retail)#
lotr2_ui_wndproc_impl
GoG alias notes#
FUN_004b1dd5→ applied aslotr2_ui_callback_noop_a; retail also uses:lotr2_ui_yield_hookFUN_004b21cf→ applied aslotr2_ui_callback_noop_b; retail also uses:lotr2_ui_frame_tail_hook,lotr2_ui_idle_noop,lotr2_ui_spin_step_aFUN_004b21da→ applied aslotr2_ui_callback_noop_c; retail also uses:lotr2_ui_spin_step_bFUN_004b21e5→ applied aslotr2_ui_callback_noop_d; retail also uses:lotr2_ui_spin_step_clotr2_ui_wndproc_impl— retail-only split; GoG merges intolotr2_ui_wndproc(FUN_004b29be).
Net subsystem note#
GoG export has no DirectPlay / DPLAYX strings. Retail lotr2_net_* symbols are intentionally excluded from GoG sync until ASIGS equivalents are identified.