System dialog scenes#
Transient overlays, options dialogs, and internal state modes that sit on top of or between substantive game screens. Most of these are reached via the overlay push/restore stack rather than a direct mode assignment.
0x1e — Modal overlay#
Summary. A general-purpose blocking modal. The game saves the current
lotr2_game_screen_mode to a push-slot, sets mode 0x1e, draws a small
modal frame with a title and body, and restores the previous mode on dismiss.
Used for confirmation prompts and informational notices that do not have a
dedicated mode of their own.
Entry. lotr2_game_ui_enter_modal_mode (0x415cb4). Called internally
by lotr2_game_wizard_open_options_modal and other action handlers.
Exit. OK or cancel hit-test (lotr2_game_ui_hit_test_dialog_ok); prior
mode restored via lotr2_game_ui_restore_screen_mode.
| Symbol | Address | Role |
|---|---|---|
lotr2_game_ui_enter_modal_mode |
0x415cb4 | Save current mode; enter 0x1e |
lotr2_game_ui_draw_modal_backdrop |
0x43bf96 | Draw 0xa0×0xa0 modal backdrop tile |
lotr2_game_ui_draw_modal_frame_small |
0x414339 | Small modal frame + title |
lotr2_game_ui_draw_modal_frame_large |
0x414397 | Large parameter dialog frame |
lotr2_game_ui_run_menu_dialog |
0x41570e | Blocking menu dialog |
lotr2_game_ui_run_wait_dialog |
0x415c42 | Blocking wait dialog with message pump |
lotr2_game_ui_hit_test_dialog_ok |
0x415da6 | Modal OK button (0x18×0x18) hit test |
Evidence. Architecture ../architecture/game/MODULE.md
(UI widget toolkit pass 29b); ../architecture/ui/MODULE.md
(overlay/restore stack).
Confidence. confirmed — push/restore pattern and modal symbols thoroughly documented in pass 29b / 31d.
0x21 — Parameter dialog#
Summary. A parameter-entry overlay similar to the modal but wider, used
for dialogs requiring numeric or text input from the player (e.g. entering
tribute amounts, setting turn limits). Distinct from 0x1e in that it uses
the large frame variant.
Entry. lotr2_game_ui_enter_parameter_dialog (0x415d23); saves current
mode and enters 0x21.
Exit. Confirm or cancel; prior mode restored.
| Symbol | Address | Role |
|---|---|---|
lotr2_game_ui_enter_parameter_dialog |
0x415d23 | Save mode; enter parameter mode 0x21 |
lotr2_game_ui_draw_modal_frame_large |
0x414397 | Large parameter dialog frame |
Evidence. src/LORDS2.EXE.c line 29322 — direct assignment; architecture
../architecture/game/MODULE.md (UI widget toolkit pass 29b).
Confidence. likely — entry function named; parameter-dialog usage sites not fully enumerated.
0x23 — Palette-fade transition#
Summary. Not a player-visible screen in its own right. When set, the game
interpolates DirectDraw palette entries over several frames between two screen
states. lotr2_gfx_fade_step is called each frame; once complete the prior
lotr2_game_screen_mode is restored. Mode 0x24 is an intermediate step
within the same sequence.
lotr2_game_ui_redraw_province_panel early-exits when mode is 0x23 or
0x24 to avoid redrawing the panel during the fade.
Entry. lotr2_gfx_begin_palette_fade arms the fade and assigns
lotr2_game_screen_mode = 0x23 (line 34348). lotr2_gfx_fade_arm and
lotr2_gfx_fade_step step the interpolation.
Exit. Fade complete; prior mode restored automatically.
| Symbol | Address | Role |
|---|---|---|
lotr2_gfx_begin_palette_fade |
(gfx module) | Arm palette fade; set mode 0x23 |
lotr2_gfx_fade_arm |
(gfx module) | Arm fade state |
lotr2_gfx_fade_step |
(gfx module) | Per-frame palette interpolation step |
Evidence. src/LORDS2.EXE.c line 34348; lines 25409–25412; architecture
../architecture/ui/MODULE.md (Palette fade section);
../architecture/gfx/MODULE.md.
Confidence. confirmed — fade sequence described in UI MODULE.md; mode assignment directly observed at line 34348.
0x25 — Quit confirm#
Summary. A modal dialog asking the player to confirm quitting the game. Drawn as a small dialog with yes/no options. In multiplayer, quitting also sends a disconnect notification.
Entry. lotr2_game_action_show_quit_confirm (0x43c891) enters mode
0x25 ('%').
Exit. Yes: lotr2_game_shutdown / exit; No: prior mode restored.
| Symbol | Address | Role |
|---|---|---|
lotr2_game_ui_draw_quit_confirm_dialog |
(pass 49) | Quit confirm dialog draw |
lotr2_game_action_show_quit_confirm |
0x43c891 | Enter mode 0x25; draw quit-confirm dialog |
Evidence. src/LORDS2.EXE.c line 19354 — exit dispatcher case '%'
(0x25); architecture ../architecture/game/MODULE.md
(Turn-action table pass 26).
Confidence. likely — entry function named; dialog yes/no handling not fully traced.
0x31 — Scroll-speed options#
Summary. A small overlay dialog letting the player adjust the map scroll speed. Presents a slider or set of labelled options. Entered from the toolbar or options menu.
Entry. lotr2_game_action_show_scroll_options (0x43c864) enters mode
0x31 ('1').
Exit. Dismiss returns to prior scene.
| Symbol | Address | Role |
|---|---|---|
lotr2_game_ui_draw_scroll_options_dialog |
(pass 49) | Scroll-speed options dialog draw |
lotr2_game_action_show_scroll_options |
0x43c864 | Enter mode 0x31 |
Evidence. src/LORDS2.EXE.c line 19357; architecture
../architecture/game/MODULE.md (Turn-action table pass 26).
Confidence. likely — entry function named; dialog internals not traced.
0x32 — Popup menu / end-modal#
Summary. A lightweight popup submenu mode. Used for context menus that
appear near a toolbar button or map element. Also the mode assigned when an
end-modal action dismisses the current overlay (lotr2_game_ui_end_modal_overlay).
Entry. lotr2_game_ui_enter_popup_menu (0x4154af) enters mode 0x32
('2'). Also set at line 8443 via direct assignment.
Exit. Selection or dismiss; prior mode restored.
| Symbol | Address | Role |
|---|---|---|
lotr2_game_ui_enter_popup_menu |
0x4154af | Enter popup submenu mode 0x32 |
lotr2_game_ui_handle_popup_menu |
0x415377 | Popup menu input loop |
lotr2_game_ui_end_modal_overlay |
(pass 31d) | End-modal dismiss callback |
Evidence. src/LORDS2.EXE.c line 19360; line 8443; architecture
../architecture/game/MODULE.md
(UI widget toolkit — Modals, menus, popups pass 29b).
Confidence. likely — entry and handle functions named; popup-menu item table layout not traced.
0x39 — Options dialog#
Summary. The main options dialog ('9'). Covers sound volume, music
toggle, gameplay settings, and network options. In multiplayer, a client
defers opening options via message 0xe3 to ensure host sync.
Entry. lotr2_game_action_enter_options_dialog (0x43c023) enters mode
0x39 ('9').
Exit. Dismiss; prior mode restored.
| Symbol | Address | Role |
|---|---|---|
lotr2_game_ui_draw_options_dialog |
0x41cd6c | Options dialog draw |
lotr2_game_action_enter_options_dialog |
0x43c023 | Enter options dialog (mode '9'); MP client defers via 0xe3 |
lotr2_game_action_toggle_music |
0x43c4d5 | Toggle campaign/battle music stream |
lotr2_game_action_toggle_sfx |
0x43c55a | Toggle sound-effects flag |
Evidence. src/LORDS2.EXE.c line 19342; architecture
../architecture/game/MODULE.md
(Screen-mode dialogs pass 31d; Turn-action table pass 26).
Confidence. confirmed — options dialog entry and draw symbol named; MP deferral mechanism documented.
0x42 — Game options dialog#
Summary. A sub-options dialog for game-play specific settings (e.g. AI
difficulty tuning, autosave interval). Distinct from the main options
(0x39) and display options (0x43).
Entry. lotr2_game_action_enter_game_options_dialog (0x43c49d) enters
mode 0x42 ('B').
Exit. Dismiss; prior mode restored.
| Symbol | Address | Role |
|---|---|---|
lotr2_game_ui_draw_game_options_dialog |
(pass 31d) | Game options dialog draw |
lotr2_game_action_enter_game_options_dialog |
0x43c49d | Enter game-options dialog (mode 'B') |
Evidence. src/LORDS2.EXE.c line 19348; architecture
../architecture/game/MODULE.md
(Turn-action table pass 26).
Confidence. likely — entry function named; dialog row layout not traced.
0x43 — Display options dialog#
Summary. A sub-options dialog for display and rendering settings, notably including the hi-colour mode toggle which re-initialises DirectDraw on change.
Entry. lotr2_game_action_enter_display_options_dialog (0x43c4b9)
enters mode 0x43 ('C').
Exit. Dismiss; prior mode restored.
| Symbol | Address | Role |
|---|---|---|
lotr2_game_ui_draw_display_options_dialog |
(pass 31d) | Display options dialog draw |
lotr2_game_action_enter_display_options_dialog |
0x43c4b9 | Enter display-options dialog (mode 'C') |
lotr2_game_action_toggle_hicolor |
0x43c641 | Toggle hi-color mode; re-init DirectDraw |
Evidence. src/LORDS2.EXE.c line 19351; architecture
../architecture/game/MODULE.md
(Turn-action table pass 26).
Confidence. likely — entry function named; display-options row layout not traced.
Evidence sources#
../architecture/ui/MODULE.md— overlay/restore stack, palette fade../architecture/game/MODULE.md— passes 26, 29b, 31d, 49../architecture/gfx/MODULE.md— DirectDraw palette fadesrc/LORDS2.EXE.clines 19322–19442 — exit/init dispatcher