GunMetal-DX stage 6: CombatFX -- OTS camera, ADS/aim, GPU pick rays, Combat 2.0 hit markers/kill feed, map share/ping wheel, RezFX, loadouts #1211

Closed
opened 2026-10-28 16:33:54 +00:00 by sky_line · 2 comments
Owner

Part of #1205.

Everything here sits behind ONE preference, CombatFX (Preferences, off by default). With it off there is no combat UI, no combat helper traffic and no combat-only per-frame cost.

  • (#2) Over-the-shoulder camera, ADS zoom and vignette, true-aim crosshair, aim convergence, shoulder swap.
    • Keep their "fair by design" rule: nothing alters what the region is told.
    • Reconcile it with our third-person shooter camera (sltpscamera) and VR: one camera stack.
  • (#3) sscombatray GPU pick rays (queued GPU raster picks plus a terrain march) for over-the-shoulder collision, aim and line of sight. Fits our GPU-driven pick.
  • (#4) Combat 2.0:
    • hit markers, kill feed, group viewer, ghost-projectile watch, rez queue warning;
    • the helper LSL combat events (slipstream_helper.lsl and SLBridge changes).
  • (#14) Map share, ping wheel and toolbar pins. Rate-limited and opt-in; consider the abuse vector (recipients can mute or turn it off).
  • (#19) RezFX rez-in / de-rez effects. Their new instance flag bits must fit our instance store's layout.
  • (#20) Loadouts, weapon sorter, Equipment / Outdated folders, weapon import. These create, rename and move inventory, so they must meet our inventory-safety rules:
    • nothing happens without an explicit user action;
    • no blind retries;
    • no server-side loss;
    • tested on an alt first.

Source: GunMetal-DX by squeedledorf (https://github.com/squeedledorf/GunMetal-DX), v0.3.0 = cf5f1f4, based on our d37288cfec. LGPL 2.1, a public release. Credit in code comments and in the About / release notes. The per-feature evaluation (local) is in research/GUNMETAL_DX_2026-10-28.md; the section 3 table numbers are quoted as (#n).

For every stage:

  • Port by hand onto current dev. Their base is 44+ commits behind, and the renderer files have moved on.
  • Strip their settings down to the few that earn a place (minimal config space). Experiment toggles are Persist=0.
  • Never take their custom SDL3 build (SDL3-3.4.18-gmdx1), updater, crash reporter, installer or branding.
Part of #1205. Everything here sits behind ONE preference, **CombatFX** (Preferences, off by default). With it off there is no combat UI, no combat helper traffic and no combat-only per-frame cost. - **(#2) Over-the-shoulder camera, ADS zoom and vignette, true-aim crosshair, aim convergence, shoulder swap.** - Keep their "fair by design" rule: nothing alters what the region is told. - Reconcile it with our third-person shooter camera (sltpscamera) and VR: one camera stack. - **(#3) sscombatray GPU pick rays** (queued GPU raster picks plus a terrain march) for over-the-shoulder collision, aim and line of sight. Fits our GPU-driven pick. - **(#4) Combat 2.0:** - hit markers, kill feed, group viewer, ghost-projectile watch, rez queue warning; - the helper LSL combat events (slipstream_helper.lsl and SLBridge changes). - **(#14) Map share, ping wheel and toolbar pins.** Rate-limited and opt-in; consider the abuse vector (recipients can mute or turn it off). - **(#19) RezFX** rez-in / de-rez effects. Their new instance flag bits must fit our instance store's layout. - **(#20) Loadouts, weapon sorter, Equipment / Outdated folders, weapon import.** These create, rename and move inventory, so they must meet our inventory-safety rules: - nothing happens without an explicit user action; - no blind retries; - no server-side loss; - tested on an alt first. Source: GunMetal-DX by squeedledorf (https://github.com/squeedledorf/GunMetal-DX), v0.3.0 = cf5f1f4, based on our d37288cfec. LGPL 2.1, a public release. Credit in code comments and in the About / release notes. The per-feature evaluation (local) is in research/GUNMETAL_DX_2026-10-28.md; the section 3 table numbers are quoted as (#n). **For every stage:** - Port by hand onto current dev. Their base is 44+ commits behind, and the renderer files have moved on. - Strip their settings down to the few that earn a place (minimal config space). Experiment toggles are Persist=0. - Never take their custom SDL3 build (SDL3-3.4.18-gmdx1), updater, crash reporter, installer or branding.
sky_line added this to the Slipstream project 2026-10-28 16:33:54 +00:00
Author
Owner

Owner note (2026-10-28): GunMetal-DX's grey loading-avatar stand-ins (#1206, RenderVKDrawLoadingAvatars) may move under CombatFX, since their main use is no particle cloud giving away positions in combat. The default loading look becomes #1220. Their default is OFF on dev for now.

Owner note (2026-10-28): GunMetal-DX's grey loading-avatar stand-ins (#1206, `RenderVKDrawLoadingAvatars`) may move under CombatFX, since their main use is no particle cloud giving away positions in combat. The default loading look becomes #1220. Their default is OFF on dev for now.
Author
Owner

Shipped in 1.5.0 Beta 5 (2026-10-29).

Shipped in **1.5.0 Beta 5** (2026-10-29).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#1211
No description provided.