Skip to content

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 as lotr2_ui_callback_noop_a; retail also uses: lotr2_ui_yield_hook
  • FUN_004b21cf → applied as lotr2_ui_callback_noop_b; retail also uses: lotr2_ui_frame_tail_hook, lotr2_ui_idle_noop, lotr2_ui_spin_step_a
  • FUN_004b21da → applied as lotr2_ui_callback_noop_c; retail also uses: lotr2_ui_spin_step_b
  • FUN_004b21e5 → applied as lotr2_ui_callback_noop_d; retail also uses: lotr2_ui_spin_step_c
  • lotr2_ui_wndproc_impl — retail-only split; GoG merges into lotr2_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.