Simplify T5 and T6 HUD overlays and service displays
This commit is contained in:
+262
@@ -4,8 +4,270 @@ Changes are listed newest first, with an independent version for every individua
|
||||
T5/T6 script and each native plugin. Current versions are recorded in
|
||||
[versions.json](versions.json); see the [version policy](README.md#versioning).
|
||||
|
||||
## 2026-10-15
|
||||
|
||||
### Replace the dashboard panels with unboxed HUD overlays
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_common.gsc` | `1.4.0` | `t5/scripts/tws_t5_common.gsc` |
|
||||
| `tws_t6_common.gsc` | `1.4.0` | `t6/scripts/tws_t6_common.gsc` |
|
||||
| `tws_t5_hud.gsc` | `1.4.0` | `t5/scripts/tws_t5_hud.gsc` |
|
||||
| `tws_t6_hud.gsc` | `1.4.0` | `t6/scripts/tws_t6_hud.gsc` |
|
||||
| `tws_t5_afk.gsc` | `1.2.0` | `t5/scripts/tws_t5_afk.gsc` |
|
||||
| `tws_t6_afk.gsc` | `1.2.0` | `t6/scripts/tws_t6_afk.gsc` |
|
||||
|
||||
- Both games use the supplied minimal layout: unlabeled match/round timers at
|
||||
upper left, combined branding at top center, zombies above a slim health bar
|
||||
at bottom center, and numeric current/maximum HP to its right only while
|
||||
injured. Center the AFK indicator above the zombie count. Remove dashboard
|
||||
backgrounds while retaining outlined text and health colors.
|
||||
- Keep `.hud` as a private visibility toggle for the entire core and AFK
|
||||
indicator. Hidden data updates, frozen game-over values, connection/spawn
|
||||
lifecycle, AFK protection and stock HUD behavior are unchanged.
|
||||
- Move services into an unboxed upper-right area below the Plutonium tag.
|
||||
Records use a compact right-aligned `Map record · Round N` header and up to
|
||||
three existing bounded holder lines, with no footer or single-page counter.
|
||||
Record data, cache behavior, all tied holders and 12-second paging remain
|
||||
unchanged; leaderboard source and versions are unchanged.
|
||||
- Show all nine installed commands, including `.hud`, in one help list with
|
||||
full `.d <amount|all>` / `.w <amount|all>` syntax. Both engines use explicit
|
||||
command/description rows; extra registrations use pages of nine, with a
|
||||
counter only for multi-page lists. Preserve private requests, help priority,
|
||||
record pause/resume, replay replacement and 12-second page timing.
|
||||
- Allocate only the active service view in both engines and destroy it when
|
||||
idle or before switching kinds. Core + AFK use 11 + 1 archived elements;
|
||||
nine-command help uses 19 nonarchived elements (20 with a multi-page counter),
|
||||
and records use four (five with a multi-page counter). Idle holds none.
|
||||
These counts do not establish live Plutonium rendering capacity.
|
||||
- Common adds fullscreen overlay helpers using direct normalized `640 × 480`
|
||||
positions and integer shader dimensions. Retain legacy panel helpers for
|
||||
compatibility. Both HUD and AFK implementations use the new helpers.
|
||||
- Validation: `node tools/check_hud.mjs` passed 15 core HUD/AFK and 56 service/
|
||||
static checks (71 total). Leaderboard passed 143 checks, bank 42, join 17 and
|
||||
telemetry 23 through their portable check scripts. JSON uniqueness, the
|
||||
16-script manifest, all six version/changelog matches, 66 local documentation
|
||||
links/anchors and `git diff --check` passed. Checks use engine shims; actual
|
||||
EC bank integration was not run. GSC compilation was not run because
|
||||
gsc-tool/PowerShell are unavailable; live Windows/Plutonium validation remains
|
||||
outstanding.
|
||||
- Compatibility: HUD `1.4.0` and AFK `1.2.0` require matching common `1.4.0+`.
|
||||
Both engines receive companion changes; leaderboard `1.1.0` remains
|
||||
compatible. No new Plutonium, native-plugin or backend requirement.
|
||||
- Deployment: copy each game's common, HUD and AFK scripts together where
|
||||
installed, then restart the map. No full server-process restart or plugin
|
||||
update is required. No deployment performed. Windows/Plutonium layout,
|
||||
element capacity, stock HUD overlap and lifecycle validation remain required.
|
||||
|
||||
## 2026-10-14
|
||||
|
||||
### Release T5 service elements when records or help close
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_common.gsc` | `1.3.1` | `t5/scripts/tws_t5_common.gsc` |
|
||||
|
||||
- Address core HUD elements disappearing when the first record announcement
|
||||
opens and remaining absent after it closes. The previous T5 service allocated
|
||||
all 24 help/record elements at once and retained them while idle. That pattern
|
||||
is consistent with HUD allocation pressure; the live T5 SP capacity has not
|
||||
been established.
|
||||
- Allocate only the active service view, with at most 12 elements for help or
|
||||
11 for records. Release the elements when the service becomes idle and before
|
||||
switching between help and records. Reuse them for pages within the same
|
||||
view, and render the page indicator as one cached text element. The single
|
||||
controller, help priority, paused record timing and request replacement remain
|
||||
intact. Core elements and their visibility setting are unchanged.
|
||||
- T6 needs no source change: the reported failure is on T5, whose explicit help
|
||||
rows expanded its former allocation to 24 elements. T6 retains its smaller
|
||||
18-element multiline renderer; validate its existing behavior separately.
|
||||
- Validation: `node tools/check_hud.mjs` passed 15 core HUD/AFK and 53 service/
|
||||
static checks (68 total), including active-view allocation, idle release,
|
||||
repeated service cycles and core preservation. Leaderboard passed 143 checks,
|
||||
bank 42, join 17 and telemetry 23 through their portable check scripts. These
|
||||
use engine shims; actual EC bank integration was not run. Live Windows/
|
||||
Plutonium rendering validation was not performed.
|
||||
- Compatibility: HUD `1.3.0`, AFK `1.1.0` and leaderboard `1.1.0` remain
|
||||
compatible. No new dependency requirement. Deployment: copy only
|
||||
`tws_t5_common.gsc` and restart the map. No plugin update or full server-process
|
||||
restart is required. No deployment performed; live T5 validation must confirm
|
||||
core integrity during automatic records, help, view switches and dismissal.
|
||||
|
||||
### Add a per-player HUD visibility command
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_common.gsc` | `1.3.0` | `t5/scripts/tws_t5_common.gsc` |
|
||||
| `tws_t6_common.gsc` | `1.3.0` | `t6/scripts/tws_t6_common.gsc` |
|
||||
| `tws_t5_hud.gsc` | `1.3.0` | `t5/scripts/tws_t5_hud.gsc` |
|
||||
| `tws_t6_hud.gsc` | `1.3.0` | `t6/scripts/tws_t6_hud.gsc` |
|
||||
| `tws_t5_afk.gsc` | `1.1.0` | `t5/scripts/tws_t5_afk.gsc` |
|
||||
| `tws_t6_afk.gsc` | `1.1.0` | `t6/scripts/tws_t6_afk.gsc` |
|
||||
|
||||
- Both HUD modules handle the exact, case-insensitive `.hud` chat command to
|
||||
toggle that player's core branding, timers, zombie count, HP/bar and AFK
|
||||
indicator. Visibility defaults on, persists across death/respawn on the
|
||||
current connection/map, and resets on reconnect or map restart.
|
||||
- Common tracks core elements and their intended alpha values so changing
|
||||
visibility preserves each element's state. Data and timers continue updating
|
||||
while hidden, and game-over values remain frozen. AFK routes only its
|
||||
indicator visibility through these helpers; protection behavior is unchanged.
|
||||
Help, records and stock HUD elements are unaffected.
|
||||
- Register `.hud` in help only when the HUD module is installed. The full
|
||||
command order is `.help`, `.hud`, `.afk`, `.back`, `.join`, `.leaders`, `.b`,
|
||||
`.d`, `.w`: nine commands across pages of four, four and one. T5 retains
|
||||
explicit help rows; T6 retains multiline columns.
|
||||
- Compatibility: HUD `1.3.0` and AFK `1.1.0` require their matching common
|
||||
`1.3.0+`. Both engines receive companion implementations. No new Plutonium,
|
||||
native-plugin or backend dependency requirement.
|
||||
- Deployment: update each game's common, HUD and AFK scripts together where
|
||||
installed, then restart the map. No plugin update or full server-process
|
||||
restart is required. No deployment performed; GSC compilation and live
|
||||
T5/T6 validation remain required.
|
||||
- Validation: `node tools/check_hud.mjs` passed 15 core HUD/AFK and 48 service/
|
||||
static checks (63 total), covering private visibility, intended opacity,
|
||||
late-created elements, hidden updates/frozen clocks, AFK transitions, service
|
||||
independence, conditional help and three-page ordering. Leaderboard passed
|
||||
143 checks, bank 42, join 17 and telemetry 23 through their existing portable
|
||||
check scripts. These use engine shims; actual EC bank integration was not run.
|
||||
GSC compiler and PowerShell were unavailable, and live Windows/Plutonium
|
||||
validation was not performed.
|
||||
|
||||
### Render T5 help as separate rows
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_common.gsc` | `1.2.6` | `t5/scripts/tws_t5_common.gsc` |
|
||||
|
||||
- Replace T5's newline-separated help columns with four preallocated
|
||||
command/description pairs, positioned on separate rows. This addresses BO1
|
||||
rendering the newline text as one concatenated line. Reuse the row elements
|
||||
across pages and hide unused rows on short pages.
|
||||
- Preserve panel dimensions, four commands per page, 12-second timing and the
|
||||
removed help footer. T5's service now uses 24 nonarchived HUD elements.
|
||||
T6 needs no source change: its existing multiline renderer remains in place
|
||||
with 18 service elements; the reported rendering issue was observed in T5.
|
||||
- Validation: `node tools/check_hud.mjs` passed 8 core and 42 service checks
|
||||
(50 total), covering both engines' pagination and T5's distinct row elements,
|
||||
partial-page hiding, reuse, record transitions and disconnect cleanup.
|
||||
GSC compilation and live T5 display/notification validation were not run.
|
||||
- Compatibility: existing HUD `1.2.1` remains compatible; no new dependency
|
||||
requirement. Deployment: copy only the updated T5 common script and restart
|
||||
the map. No plugin update or full server-process restart is required.
|
||||
No deployment performed; live T5 display validation remains required.
|
||||
|
||||
### Remove the help footer
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_common.gsc` | `1.2.5` | `t5/scripts/tws_t5_common.gsc` |
|
||||
| `tws_t6_common.gsc` | `1.2.5` | `t6/scripts/tws_t6_common.gsc` |
|
||||
|
||||
- Both games remove the `Four commands per page` footer and its HUD element.
|
||||
Help still displays four commands per page with its page indicator and
|
||||
existing timing. The shared service now uses 18 nonarchived elements.
|
||||
- Validation: `node tools/check_hud.mjs` passed 8 core and 41 service checks
|
||||
(49 total), including the 18-element allocation and removed help footer.
|
||||
GSC compilation and live Plutonium validation were not run.
|
||||
- Compatibility: existing HUD `1.2.1` remains compatible; no new dependency
|
||||
requirement. Deployment: copy only each game's updated common script and
|
||||
restart the map. No plugin update or full server-process restart is required.
|
||||
No deployment performed; live T5/T6 display validation remains required.
|
||||
|
||||
### Hide the page indicator for single-page records
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_common.gsc` | `1.2.4` | `t5/scripts/tws_t5_common.gsc` |
|
||||
| `tws_t6_common.gsc` | `1.2.4` | `t6/scripts/tws_t6_common.gsc` |
|
||||
|
||||
- Both games hide `1 / 1` when the record service has only one page. Records
|
||||
spanning multiple pages and all help pages retain their page indicators.
|
||||
- Validation: `node tools/check_hud.mjs` passed 8 core and 41 service checks
|
||||
(49 total), including empty/unavailable records, multi-page indicators,
|
||||
replacement by a single-page record, resuming after help, and single-page
|
||||
help indicators. GSC compilation and live Plutonium validation were not run.
|
||||
- Compatibility: existing HUD `1.2.1` remains compatible; no new dependency
|
||||
requirement. Deployment: copy only each game's updated common script and
|
||||
restart the map. No plugin update or full server-process restart is required.
|
||||
No deployment performed; live T5/T6 display validation remains required.
|
||||
|
||||
### Restore panel backgrounds and health bars
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_common.gsc` | `1.2.3` | `t5/scripts/tws_t5_common.gsc` |
|
||||
| `tws_t6_common.gsc` | `1.2.3` | `t6/scripts/tws_t6_common.gsc` |
|
||||
|
||||
- Both engines apply the final integer conversion after `max()` in
|
||||
`make_panel_width()`. Native `max()` returns a float, which `SetShader`
|
||||
rejects for its integer width argument; converting before `max()` left
|
||||
backgrounds and health-bar shaders missing. The corrected helper supplies
|
||||
integer widths to both panel creation and health-bar updates.
|
||||
- Retain panel color `(0.07, 0.10, 0.08)`, opacity `0.72`, and the corrected
|
||||
text positions/font sizes. HUD source is unchanged and remains `1.2.1`.
|
||||
- Validation: `node tools/check_hud.mjs` passed 8 core and 41 service checks
|
||||
(49 total). The new regression models native float typing and strict integer
|
||||
shader widths, and checks the existing panel color/opacity. GSC compiler and
|
||||
PowerShell were unavailable; GSC compilation and live Windows/Plutonium display
|
||||
validation were not performed.
|
||||
- Compatibility: use matching common `1.2.3+` with HUD `1.2.1`; no new
|
||||
Plutonium, native-plugin or backend dependency requirement. Deployment: if
|
||||
HUD `1.2.1` is already installed, copy only each game's updated common script
|
||||
and restart the map. No plugin update or full server-process restart is
|
||||
required. No deployment performed; verify restored shaders in T5 and T6.
|
||||
|
||||
### Correct footer font size and screen-edge panel placement
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_common.gsc` | `1.2.2` | `t5/scripts/tws_t5_common.gsc` |
|
||||
| `tws_t6_common.gsc` | `1.2.2` | `t6/scripts/tws_t6_common.gsc` |
|
||||
| `tws_t5_hud.gsc` | `1.2.1` | `t5/scripts/tws_t5_hud.gsc` |
|
||||
| `tws_t6_hud.gsc` | `1.2.1` | `t6/scripts/tws_t6_hud.gsc` |
|
||||
|
||||
- Both engines enforce a minimum text font scale of `1.0`, with both service
|
||||
footers explicitly at `1.0`, addressing the oversized `.leaders` footer.
|
||||
- Use fullscreen horizontal and vertical anchors so panels follow the actual
|
||||
upper-right screen edge instead of safe-area insets. Convert horizontal
|
||||
design offsets and shader widths by `0.75` into the normalized 640-wide
|
||||
viewport; use a top offset of 20. The 1920×1080 reference yields a 495-pixel
|
||||
panel, 22.5-pixel right margin and 45-pixel top margin, leaving space for the
|
||||
Plutonium tag. Other aspect ratios retain normalized horizontal geometry,
|
||||
so physical proportions vary; live font fit and tag clearance need validation.
|
||||
- Both HUD scripts use common's new `make_panel_width(width)` for health-bar
|
||||
updates so the fill uses the same width conversion as its track. T5 and T6
|
||||
receive the same fix with their matching namespaces.
|
||||
- Compatibility: HUD `1.2.1` requires matching common `1.2.2+`; upgrade common
|
||||
and HUD together. No new Plutonium, native-plugin or backend dependency is
|
||||
required.
|
||||
- Deployment: copy each game's updated common and HUD scripts and restart the
|
||||
map. No full server-process restart is required. No deployment performed;
|
||||
GSC compilation and live Windows/Plutonium display validation remain required.
|
||||
- Validation: `node tools/check_hud.mjs` passed 8 core and 39 service/static
|
||||
geometry checks (47 total); `node tools/check_leaderboard.mjs` passed 143
|
||||
checks. The geometry shims cover 4:3, 16:9 and ultrawide bounds in a normalized
|
||||
640×480 frame, not live glyph fit or tag clearance. GSC compiler and PowerShell
|
||||
were unavailable; no GSC compilation or live display validation was performed.
|
||||
|
||||
### Shorter map-record footer
|
||||
|
||||
| Component | Version | Affected source |
|
||||
| --- | --- | --- |
|
||||
| `tws_t5_common.gsc` | `1.2.1` | `t5/scripts/tws_t5_common.gsc` |
|
||||
| `tws_t6_common.gsc` | `1.2.1` | `t6/scripts/tws_t6_common.gsc` |
|
||||
|
||||
- Both games remove `Briefly shown` and its separator from the map-record
|
||||
footer, retaining `.leaders to view again`. Record timing and replay behavior
|
||||
are unchanged.
|
||||
- Validation: `node tools/check_hud.mjs` passed 8 core and 35 service checks
|
||||
using engine shims. GSC compilation and live Plutonium display validation
|
||||
were not run.
|
||||
- Compatibility: no new dependency requirement. Deployment: copy each game's
|
||||
updated common script and restart the map. No plugin update or full
|
||||
server-process restart is required. No deployment performed; GSC compilation
|
||||
and live T5/T6 display validation remain required.
|
||||
|
||||
### Fixed upper-right core HUD and shared service window
|
||||
|
||||
| Component | Version | Affected source |
|
||||
|
||||
Reference in New Issue
Block a user