Skip to content

feat: v2.1.0.0 — custom HUD, grouped settings UX, effect delivery#5

Merged
TheCodingDad-TisonK merged 1 commit intomasterfrom
development
Mar 21, 2026
Merged

feat: v2.1.0.0 — custom HUD, grouped settings UX, effect delivery#5
TheCodingDad-TisonK merged 1 commit intomasterfrom
development

Conversation

@TheCodingDad-TisonK
Copy link
Copy Markdown
Owner

Summary

  • Custom Event HUD (gui/RWEEventHUD.lua): drag-and-drop resizable overlay with category-colored badges (ECO/VEH/FLD/WLD/SPL), live countdown, cooldown state, and a flash notification queue. F3 toggles visibility. Position/size persists to savegame XML.
  • Settings UX rewrite (gui/RWESettingsIntegration.lua): clean grouped layout with subsection headers (Event Timing / Notifications & HUD / Event Categories / Physics Override / Debug), human-readable cooldown labels, live HUD scale control.
  • Settings crash fix: InGameMenuSettingsFrame hover code calls setImageColor() on all layout children — plain TextElement lacks this method. Fixed by stubbing a no-op setImageColor directly on header TextElements. Removed the previous BitmapElement wrapper approach which caused a gray box artifact and double-height overlap.
  • F3 / keyEvent param shift fix: Utils.appendedFunction passes the method receiver as first arg — all hooked functions (keyEvent, draw, mouseEvent) were missing mission as first param, causing every key/mouse check to operate on shifted arguments.
  • api/ missing from zip: build.sh subdirs list was missing 'api' — all 5 subsystem API files were absent from deployed zip.
  • Unified notification router: notifyEvent(message, categoryKey, isPositive) routes to HUD flash queue and/or addIngameNotification based on settings.

Test plan

  • Open ESC > Settings — no crash, all sections visible and properly spaced, no gray box overflow
  • Physics and Debug subsection headers not overlapping controls
  • F3 toggles HUD visibility in-game
  • HUD shows active event name, time remaining, cooldown countdown
  • HUD flash notification appears on event trigger
  • HUD drag and resize works (RMB edit mode), position persists on save/load
  • HUD Scale setting in Settings updates overlay size live
  • All 5 API files present in deployed zip (check api/ folder)
  • F9 force-trigger fires an event and shows HUD flash

- Add RWEEventHUD: drag-resize overlay with category badges (ECO/VEH/FLD/WLD/SPL),
  active event countdown, cooldown display, flash notification queue, F3 toggle
- Rewrite RWESettingsIntegration: grouped subsections (Event Timing / Notifications
  & HUD / Event Categories / Physics Override / Debug), human-readable cooldown
  labels, live HUD scale dropdown
- Fix settings crash: stub setImageColor on TextElement subheaders to prevent
  InGameMenuSettingsFrame hover code from erroring on plain text layout children
- Fix F3 / keyEvent param shift: add missing `mission` first param to all
  Utils.appendedFunction hooks (keyEvent, draw, mouseEvent)
- Fix api/ missing from zip: add 'api' to build.sh subdirs list
- Add FSBaseMission.draw and .mouseEvent hooks for HUD render and drag-resize
- Add notifyEvent() unified notification router (HUD flash + ingame notification)
- Add showHUD / hudScale settings with persistence to savegame XML
- Downgrade Vehicle.addDamageAmount not-found to Logging.info (not a real error)
- Bump version to 2.1.0.0
@TheCodingDad-TisonK TheCodingDad-TisonK merged commit 4e7187b into master Mar 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant