Summary
A developer-facing UI library for Arma Reforger that provides a CoD-style
scrolling feedback panel — cumulative readouts on the left, an animated entry
Description
hitman_uiLib (HUL) is a developer-oriented UI library addon for Arma Reforger.
It provides a passive, event-driven split panel in the style of the Call of
Duty feedback/feed display: a cumulative data area on the left and an animated
entry queue that scrolls on the right.
The library ships NO gameplay content — no kills, scores, money, or any domain
logic. Everything is defined by the integrating mod through subclass overrides:
- HUL_FeedbackEntry — entry = event. Carries display text plus a
map<string,string> payload; override ProcessDict() to define the per-entry
data contract (called exactly once per entry).
- HUL_FeedbackUI — override OnLeftEntryProcessed() / OnLeftReset() /
OnPanelBuilt() to build and update the left cumulative area.
Integration takes three steps: declare the addon dependency, attach
HUL_FeedbackHostComponent to any session-loaded entity (it drives the 33 ms tick
and registers the /hul command), then call HUL_FeedbackUI.AddEntry(...) wherever
your event occurs.
Panel behaviour
- Right-hand queue: new entries enter from the bottom, the queue scrolls
upward, and the top row animates out.
- Visible window: 6 rows by default; the queue may exceed it and refills from
the bottom.
- Pacing state machine: active scrolling at 4+ queued entries (0.6 s per row;
drops to 0.18 s while the queue is over the visible limit), stall while 1–3
remain, and a full-panel fade-out after 4 s idle (which also clears the left
cumulative area). A new entry cancels the fade immediately.
Highly configurable
- All layout, pacing and colour values live in HUL_FeedbackParams and are
readable/writable at runtime — changes apply immediately without reloading
the scenario: panel position/size, left-column ratio, row height and gap,
visible row count, active/overflow/idle timings, scroll and fade durations,
and text colours.
- The same values can be tuned live in-game through the /hul chat command
(/hul x 0.5, /hul row+, /hul reset, ...), with a read-only parameter panel
for reference.
Notes
- Client-side rendering only — the library does not replicate events to
clients; deliver your event to the client first, then call AddEntry.
- Pure Enforce: tick state machine and hand-written interpolation, no
async/coroutines; extension points are class-override based.
- Panel text is English-only (the game font has no CJK glyphs).
- License: MIT.
Requires: Arma Reforger (base addon). No other dependencies.
License
Arma Public License Share Alike (APL-SA)