From 2dd2d9dd3544b4846ba6d8d3d3e3e4a32d27e39d Mon Sep 17 00:00:00 2001 From: James Dansereau <106631954+jkdansereau@users.noreply.github.com> Date: Mon, 28 Sep 2026 01:12:56 -0400 Subject: [PATCH] release: comprehensive v0.4.0 notes - full v0.3.0..v0.4.0 arc (native widescreen, aim rework D332-D338/D404, HUD scale, rainbow fix, stability wave) --- .github/release-notes.md | 208 ++++++++++++++++++++++++++------------- 1 file changed, 138 insertions(+), 70 deletions(-) diff --git a/.github/release-notes.md b/.github/release-notes.md index a01e224d..7d92954b 100644 --- a/.github/release-notes.md +++ b/.github/release-notes.md @@ -17,80 +17,148 @@ ### What's new since v0.3.0 -- **Water is fixed.** The shimmer/cross-fade on `IsWater` levels (Dam, - Frigate, Surface 2, …) now matches the N64 original — the moving seam - between two patterns and the pattern "resetting" as you moved are gone. - Verified against an era-correct 1994 reference (D245). -- **A modern, regrouped options experience.** Both options screens were - reorganized into functional sections (video/graphics, sound, bond file) - with per-section reset-to-defaults; a GE-style **F10 in-game overlay** - covers video, input and the watch-backed settings; the front end gained a - **PC Options** screen next to the file-select bar; and the confusing - "save file" wording is now "profile". Options that only existed in the - in-game watch (auto-aim, look-ahead and friends) are now editable from the - PC options too — and they *stick*: the "auto-aim won't stay on" report is - fixed (D330/D343/D350/D352–D356). -- **Crosshair, your way (opt-in).** On/off, colour, size and style rows were - added to the options. All default to the untouched N64 crosshair — nothing - changes unless you ask (D373/D379/D381/D382). -- **In-game key rebinding.** A two-slot key editor (PC layout + in-level - layout) now lives in both options screens, alongside a GEPD-style preset - layout that is the new default, and a crouch/reload binding set. INI-file - bindings still work (D371/D383/D385). -- **Controller support got a wave of fixes**: crouch now uses the engine's - real crouch input (D375), Xbox-variant controller parity (D394), and — - new — the N64 **Rumble Pak now drives real gamepad haptics** on supported - pads, with a `Rumble strength` slider (D401). -- **Aim mode finally works on every input device.** The "Aim style" toggle - (N64: the crosshair deflects and the camera follows at the edge — vs - Centred: the crosshair sits at screen center and your mouse *or* stick - moves the camera directly) previously only functioned with a mouse; now it - works with a controller too, with matched full-stick speed and new - "Aim range"/sensitivity rows to dial it in (D404). -- **`All unlocked` ships as a loudly-documented EXPERIMENTAL feature.** It - works for its intended purpose (skip to any mission), but enabling it on a - brand-new install with no prior save can still corrupt audio state and - aim behaviour: **complete a level normally first, then toggle it on** - (D387). The in-game warning says the same. -- **Renderer robustness (community contribution, PR #106).** Setting MSAA - above your driver's maximum no longer risks a black screen — the request - is clamped to `GL_MAX_SAMPLES` — and two framebuffer-state bugs in the - render/resolve paths were fixed. Affects both Windows and Linux builds - (D405). -- **Graphics fixes from the final playtest wave**: the file-select - background / gun-barrel comb rendering (D397), the train-intro soldier - pose (D392), the extra erroneous muzzle-flash on some guns (D303), the - occasional z-fighting (D308), the backwards-facing security-camera props - (D307), and the front-end logo/copyright page (D403). Distant-geometry - dropout on the biggest open levels (Streets, Egyptian) is substantially - improved at default settings (D249). -- **Steam Deck / Linux**: the first clean SteamOS/glibc build, plus a - first-launch preset (native 1280×800, 2× MSAA, vsync) for decks that don't - have a config yet (D402/D283). -- **Gunshot audio fixed**: cadence now matches the N64 original's rate, and - the intermittent silence under sustained fire near a looping sound is gone - (D240/D241). Long-session audio degradation (reported on issue #87) got - pool hardening plus an optional `GE_D322=1` telemetry probe if it ever +**Native widescreen** +- **The world now renders natively at your display's aspect ratio** + (D334/D335): undistorted world geometry at any aspect (wider view, same + vertical FOV), the HUD keeps its shape and anchors to the screen edges, + and the 4:3 front-end menus are pillarboxed. The ending-credits sequence + wraps widescreen too. The F10 `Native widescreen` toggle restores the old + stretched frame if you prefer it. + +**Aim, reworked for every input device** +- **Reticule jitter in aim mode is gone**: mouse aim now uses the Perfect + Dark PC port's aim model (D332) on top of v0.3.0's direct-look rework. +- **New `Aim style` option** (D333/D337): N64 (the crosshair deflects and + the camera follows at the edge; internally it runs on the PD aim model + above) or Centred (crosshair fixed at screen center, input moves the + camera directly). In v0.3.0 the centred mode only worked with a mouse; + **v0.4.0 makes it work with a controller too**, with full-stick speed + matching the N64 original's top turn rate (D404). +- **New `Aim range` option** (D338): PC (full-screen feel, the default) or + N64 (original 65% stick limits). A single mouse-sensitivity control with a + wider range remains from v0.3.0. + +**A modern, regrouped options experience** +- Both options screens were reorganized into functional sections (video/ + graphics, sound, bond file) with per-section reset-to-defaults, and the + confusing "save file" wording is now "profile" — settings are scoped per + profile (D353–D356). +- The **F10 in-game overlay** got a GE-style refresh: category headers, + controller value-adjust with hold-to-repeat, pointer/keyboard navigation + fixes, plus five new settings — Skip Intro, Show FPS, and pad + invert/deadzone/trigger rows (D237/D345–D347/D360–D370). +- The front end gained a **PC Options screen** next to the file-select bar, + and file-select Copy/Erase moves into the bottom bar (D343). +- Options that only existed in the in-level watch (auto-aim, look-ahead and + friends) are now editable from the PC options — and they *stick*: the + "auto-aim won't stay on" report (issue #103) is fixed (D330/D350/D352/ + D354). +- **New `HUD scale` option** (75–150%): scale the ammo counter, pickup + text, and subtitle bars for smaller/larger displays (D226). + +**Crosshair, your way (opt-in)** +- On/off, colour, size and style rows were added to the options. All default + to the untouched N64 crosshair — nothing changes unless you ask + (D373/D379/D381/D382). + +**Key rebinding + new default layout** +- A two-slot key editor (PC layout + in-level layout) lives in both options + screens, alongside a **GEPD-style preset layout that is the new default** + and a crouch/reload binding set. INI-file bindings still work + (D371/D374/D383/D385). + +**Controllers** +- Crouch now uses the engine's real crouch input (D375); Xbox-variant + controller parity (D394); pad invert/deadzone/trigger rows (D237); the + F10 overlay is fully gamepad-driven with value-adjust and hold-to-repeat + (D347). +- **The N64 Rumble Pak now drives real gamepad haptics** on supported pads, + with a `Rumble strength` slider (D401). + +**`All unlocked`, now a documented EXPERIMENTAL feature** +- It works for its intended purpose (skip to any mission, 007 mode, full + cheat menu) — including on a fresh install, which now yields the game's + own fresh-slot layout instead of corrupting (D281). But enabling it can + still leave odd audio/aim state in edge cases: **complete a level + normally first, and back up `data/ge007.eep` before enabling it** (D387). + The in-game warning says the same. + +**Audio** +- Gunshot SFX cadence now matches the N64 original's rate, and the + intermittent silence under sustained fire near a looping sound is gone + (D240/D241). +- Windows audio now prefers the DirectSound backend over WASAPI for lower, + more robust latency (D322), and long-session audio degradation (issue #87) + got pool hardening plus an optional `GE_D322=1` telemetry probe if it ever recurs. +- The **particle "rainbow" effect is fixed** (D252): the intermittently + recoloured explosion/spark particles from v0.3.0 no longer occur. + +**Graphics fixes from the final playtest wave** +- **Water is fixed** (D245): the `IsWater` shimmer/cross-fade (Dam, + Frigate, Surface 2, …) now matches the N64 original — the moving seam and + the pattern "resetting" as you moved are gone, verified against an + era-correct 1994 reference. +- Surface 1/2: the tree backdrop that rendered as a solid wall of texture + now renders as proper camera-facing tree cards (D236). +- Frigate (and the rare "model briefly out of place" quirk): both were the + same never-written-fields read in the head-bob animation; fixed + (D336/D311). +- Ejected shell casings now render (D331); the intro gun-barrel blood drip + draws correctly (D341); the extra erroneous long muzzle-flash on some guns + is gone (D303); the occasional z-fighting is fixed (D308); backwards-facing + security-camera props fixed (D307); the front-end Rareware logo work + narrowed to a subtle filtering residual and the Nintendo logo/copyright + page renders correctly (D403/D75); the train-intro soldier pose is correct + (D392); file-select background/gun-barrel comb rendering fixed (D397); + stale-texture artifacts after level transitions fixed (D235). +- Distant-geometry dropout on the biggest open levels (Streets, Egyptian) is + substantially improved at default settings (D249). + +**Windows / PC stability** +- Game exit is now orderly, so quitting no longer lands inside the graphics + driver (a class of driver bugchecks seen during testing) (D344); an + idle-then-click mouse-mode fix cleared a Windows non-self-recovering + freeze (D287); plus a port-wide code audit (missing returns, prototypes, + undefined-behaviour shifts). +- The Facility execution-scene watchdog from v0.3.0 stays enabled as a + safeguard; the animation-pinning that motivated it is root-caused and + fixed at the tick level (D329). + +**Steam Deck / Linux** +- The first clean SteamOS/glibc build (D402), plus a first-launch preset + (native 1280×800, 2× MSAA, vsync) for decks without a config yet (D283). + +**Renderer robustness (community contribution, PR #106)** +- Setting MSAA above your driver's maximum no longer risks a black screen + (the request is clamped to `GL_MAX_SAMPLES`), and two framebuffer-state + bugs in the render/resolve paths were fixed. Affects both Windows and + Linux builds (D405). + +**Also this cycle (research, not yet features)** +- ROM-level mod support was investigated and found viable (the game's file + table lives in the ROM) (D325–D328); HD-texture packs and the drop-in-ROM + flow are tracked post-1.0; a measured CPU budget on low-end hardware + reshaped the #92 performance investigation toward the GPU (D339). ### Known issues -- **`All unlocked` is highly experimental — do not enable it until you have - at least one save written.** Complete a level normally first (e.g. Dam on - Agent), then turn the toggle on. Enabling it on a brand-new install with - no prior save can cause silent audio and odd right-mouse-aim behaviour - (D387). -- **No native widescreen render**: the automatic FOV scaling expands the - *field of view* for 16:9+ displays, but the world geometry and HUD are - still authored/laid out for 4:3 — this is not yet a true edge-to-edge 16:9 - render. -- **The front-end Rareware logo has a texture-filtering residual** (D75); - the Nintendo logo and copyright page render correctly. -- **NTSC-U only**: PAL and JP ROMs boot but do not run correctly; asset - repair for those regions is on the post-release roadmap (D258). -- The Facility execution-scene watchdog from v0.3.0 remains enabled as a - safeguard; the underlying animation-pinning cause it was guarding against - is fixed in this release (D318/D329). +- On Facility, if gas leaks during Ourumov's monologue he can pause for up + to ~10 s before resuming the scripted shootout — a latent race that exists + in the N64 original too (where it softlocks permanently); the port detects + and auto-recovers it (D318). +- **Native widescreen is new in v0.4.0**: the world renders undistorted at + your display's aspect and the HUD keeps its shape; front-end menus are + shown 4:3 with side bars. The F10 *Native widescreen* toggle restores the + old stretched frame. +- The front-end Rareware logo shows a subtle texture-filtering artifact + (Nintendo logo and legal page are clean). Cosmetic only (D75). +- This release ships NTSC (US) assets; PAL/JP ROMs are not supported in this + version (D258). +- **`All unlocked` is experimental: back up `data/ge007.eep` before + enabling it.** Any save while ON — even a profile-settings change — can + leave odd audio/aim state; completing a level normally first avoids the + fresh-install case (D387). ### Downloads