Skip to content

Video: HUD at edges option on screens taller than 16:9 - #558

Closed
jfpaardoo wants to merge 1 commit into
Revivedx:testfrom
jfpaardoo:feat/hud-edges
Closed

jfpaardoo wants to merge 1 commit into
Revivedx:testfrom
jfpaardoo:feat/hud-edges

Conversation

@jfpaardoo

@jfpaardoo jfpaardoo commented Nov 7, 2026 •

Copy link
Copy Markdown

What this changes

Adds a HUD at edges toggle to Video options (and in-game menu) for screens taller than 16:9 (e.g. 16:10, 4:3, or foldable inner screens like 2160x1856 Galaxy Z Fold).

When Fill wide screens is enabled on tall displays (shape < 1), HUD panes in the top third (hearts) and bottom third (minimap, gauges, temperature, clock, runes) are anchored to the window's top and bottom edges rather than remaining in the centered 16:9 band. Middle elements (reticle, stamina wheel, dialogue, item pick-up banners, and quick menus) stay in place.

  • Setting: hud_edges in runtime/settings.h / runtime/settings.c (default off, preserving existing behavior)
  • Projections: hud_edge_dy, hud_edge_view, hud_edge_matrix, and hud_edge_scissor_dy in runtime/nvn/hud_scale.h
  • Vulkan renderer: per-pane vertical displacement in hud_patch and minimap mask in scissor_rect (runtime/nvn/vulkan/exec.c)
  • UI & Translations: toggle in runtime/ui/game_options.mm and runtime/ui/menu.mm, translated across all 13 supported languages (tools/i18n_check.py: 0 missing, 0 unused)
  • Tests: synthetic projection and scissor tests in tests/test_hud_scale.c (make test-hud-scale)

Fixes #528

How it was tested

  • Synthetic unit test suite make test-hud-scale and make test-output-scale verifying vertical projection offsets for top, bottom, and centered HUD panes, combined text/clock matrices, and minimap scissor masks across tall window shapes.
  • python tools/i18n_check.py passing cleanly (0 missing, 0 unused).
  • Full clean compile with make runtime-objs and git diff --check.

Checklist

  • Based on the latest test and opened against test
  • Built and run locally, and checked in the game
  • No game files, keys, firmware, generated game code or save files in the changes

On windows taller than 16:9 with Fill wide screens (shape < 1), anchors top and bottom HUD elements (hearts, minimap, clock, gauges) to the window edges instead of keeping them in the 16:9 band. Middle elements (reticle, stamina wheel, quick menus, dialogue) stay in place.

- Add hud_edges setting in runtime/settings (default off) and runtime/control_settings
- Apply vertical offset in hud_patch and scissor_rect for outer vertical panes
- Add toggle in runtime/ui/game_options.mm and runtime/ui/menu.mm
- Add translations across all 13 supported languages (0 missing, 0 unused)
- Add synthetic unit tests in tests/test_hud_scale.c and Makefile target

Fixes Revivedx#528
Copilot AI balanced review requested due to automatic review settings November 7, 2026 18:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

Revivedx added a commit that referenced this pull request Nov 8, 2026
…th, texture sharpness, HUD at edges

Fixes:
- The program and pipeline tables grow at half load: a full table made the render thread loop forever after about
  three hours of play (#565).
- Writable G-buffer aliases can take the feedback path, and duplicate attachments can be attached once, on RADV wall
  corruption. Both are opt-in, by environment switch only, for testing on the affected GPUs (#579).
- The Settings page background meets the tab bar's line (#578).

New:
- PrintScreen saves a screenshot during play (#562).
- Controls > Vibration strength, 10% to 100% (#563).
- Video > Advanced options > Texture sharpness: Default, Sharp, Sharper (#564).
- Video > HUD at edges, for screens taller than 16:9 (#558).

Tested by playing on Windows and with a hidden start, warp and teleport run: no crash and no errors in the log. Not
tested on RADV, nor the HUD at edges on a screen taller than 16:9.

Co-authored-by: amekkaoui <47280181+amekkaoui@users.noreply.github.com>
Co-authored-by: Daniel Barrios <ing.dbarrios@gmail.com>
Co-authored-by: ethanblazkowicz <misscalmm@icloud.com>
Co-authored-by: jfpaardoo <juaparpar@alum.us.es>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Revivedx

Revivedx commented Nov 8, 2026

Copy link
Copy Markdown
Owner

Thanks, this is in test as 94acc5b. We only checked that nothing changes on a 16:9 screen, so a report from a taller screen is welcome. Closing since test gets one clean commit per batch; you are credited as co-author.

@Revivedx Revivedx closed this Nov 8, 2026
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.

3 participants