feat(ui): port retail toolbar ammo count
Resolve stacked thrown weapons versus separately equipped missile ammo exactly like gmToolbarUI, normalize a zero stack to one, and refresh the authored missile indicator from equipment and stack events. Keep the decision in pure Core with retained and real-DAT conformance coverage. Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
parent
400f01eef1
commit
564d39dfea
9 changed files with 330 additions and 7 deletions
|
|
@ -582,6 +582,16 @@ App build and full 4,747-pass / 5-skip Release suite are green. The user confirm
|
|||
launcher toggles, close-driven highlight clearing, unavailable-button ghosting, and
|
||||
selected/targeted Use and Examine behavior in the connected Release client.
|
||||
|
||||
**Wave 4.4e implementation (2026-07-11; live gate pending):** pure Core
|
||||
`ToolbarAmmoPolicy` ports `gmToolbarUI::UpdateAmmoID @ 0x004BF210` and
|
||||
`UpdateAmmoNumber @ 0x004BE9E0`. It walks the ordered player placements exactly
|
||||
like `GetObjectAtLocation`: a stackable missile weapon supplies its own count,
|
||||
otherwise the separate missile-ammo slot supplies the count; wire stack zero displays
|
||||
as one and no ammo displays blank. `ToolbarController` refreshes authored missile
|
||||
indicator `0x10000194` on relevant equipment and stack events and uses the DAT font.
|
||||
Focused pure-policy, retained-event, and real-toolbar-fixture conformance is green.
|
||||
The warning-free Release build and full 4,754-pass / 5-skip suite are green.
|
||||
|
||||
**Wave 4.1 implementation (2026-07-11):** bare `1..9` now use slots 0..8,
|
||||
Ctrl+`1..9` selects them, Alt+`5..9` uses slots 13..17, and `0` creates a
|
||||
shortcut to the selected owned/eligible object in the first empty slot. A focused
|
||||
|
|
@ -594,8 +604,7 @@ indicator buttons `0x10000192..0x10000195` now all dispatch one injected combat
|
|||
toggle command. The key binding and retained toolbar therefore converge on
|
||||
`GameWindow.ToggleLiveCombatMode`, matching `gmToolbarUI::ListenToElementMessage
|
||||
@ 0x004BEE90`; the visible indicator continues to update from authoritative
|
||||
`CombatState`. Raw shortcut preservation, drag/drop edge cases, and the toolbar
|
||||
ammo-number display remain in this wave.
|
||||
`CombatState`. Raw shortcut preservation and drag/drop edge cases remain in this wave.
|
||||
|
||||
**Oracles:** `gmToolbarUI @ 0x004BD0C0..0x004BF380`,
|
||||
`UIElement_UIItem::SetShortcutNum`, shortcut wire builders.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue