c_lodscalez is built from the rendered FOV (D222), so Video.FovScale moved every model LOD switch,
the prop fog fade and the fog-range visibility test closer (x0.58 at 150); half-fogged props such
as the Surface windows went fully invisible and flickered while turning. All three now use the
game's own FOV (portLodScaleOwnFov); identity at the default FOV.
Guards, doors and props moved at the 60 Hz tick inside a 90 Hz picture. Each object's joint
matrices are now blended, keyed by (Model*, joint) from a game-thread snapshot and rebased onto
the new camera; a chr blends together with its held weapons and hat; room-origin changes, failed
gates and split-screen stay exact. The CPU-projected sky is re-projected to the in-between camera.
Destroyed objects (world-space matrices) stay exact. Port layer only; porting-notes D46.
In-between presents drew props at the tick's camera while rooms used the blended one, so props
jumped against the world whenever the camera moved (doors and guards flickering at 90 fps, never
at 60). The props' plain perspective now gets the room camera blend (P * R^-1 * Rb) from
bgLevelRender up to the first-person gun. Port layer only (gfx_pc.cpp, interpportal.c).
- README in the shape of the top decomp/recomp ports: title, one-paragraph
pitch, latest-release link, a single no-assets line; then Requirements,
Quick start, Controls, What this port offers, FAQ (new), Status, Roadmap,
Building, Documentation, Contributing, Credits, Legal. 852 -> ~370 lines.
- Moved, not removed: docs/user-guide.md (full controls, feature list,
settings and files, ROM check, macOS setup, updating, emulator saves,
uninstalling, troubleshooting) and docs/about.md (release history, status
in detail, how it was made with the models/tools table, how it works, the
comparison with the XBLA projects).
- Release notes: upgrade and code-signing callouts, Highlights, Downloads,
Getting started, Added/Fixed/Changed without internal finding labels, a
shorter known-issues list, Tested on, Thanks, Verify (incl. attestation).
- ROADMAP: v0.7.0 rows for the macOS first-launch black window and the pixel
gate vs the Auto frame-cap default. building.md: ROM table link.
- The Windows and Linux bundles shipped without the GCC runtime and SDL2
license texts when the build machine lacked them (CI's MSYS2 has no
share/licenses/gcc-libs; CI's Linux image has no dpkg). bundle-win.sh,
bundle-linux.sh and package-macos.sh now fall back to in-tree copies:
tools_pc/dist/GPL-3.0.txt, GCC-RUNTIME-EXCEPTION.txt, SDL2-LICENSE.txt.
- NOTICE / README: say the repository and downloads carry no ROM data or
original assets and that the C source is a reconstruction (not "no
Nintendo code"); describe the license-text sources.
- README: "What this port offers"; split-screen for up to 4 players; the
few game-code changes keep N64 behavior or are opt-in; neutral wording
for the comparison with the XBLA recompilation projects (rows about their
status and motives removed); verification approach stated; release notes
drop the 165/240 testing caveat.
Issue fixes:
- D643 (#145 b/c, #149): Original control style is a strict virtual N64 pad
(native buttons in stage/menu/watch/tank, per-seat Input.N64Pad remap,
Input.N64StickFeel)
- D605 + D645 (#145 a): Invert look reaches the original styles; in Original
it is the game's own Look up/down, synced with the F10 row
- D606 (#144): optional always-visible mission timer
- D644 (#146): IA4 decodes as the RDP's I3:A1 (file-select crest drew on a
dark square)
- D581 (#151): open on the real primary monitor (SDL display 0) and centre
every window placement in the display's global bounds; the earlier
"display at (0,0)" rule still picked the left monitor
- D580 (#153, #156): runtime check of the propDef type/end-of-list fix
- D646: F10 dropdown popup stays inside the settings box
Frame rate (#148):
- D578: Auto follows the display up to 240 (4 presents per sim tick, the
renderer's ceiling); 165 and 240 in the Frame rate cap row
Rolled in from release/v0.7.0:
- D632: release the GL context + window before exit (BSOD 0x119)
- D626: Windows per-monitor DPI awareness
- D639: exclusive fullscreen uses the desktop mode
- verify.sh: a frame-size mismatch fails; demobatch/flicker_scan harness
Release gate, licenses, docs:
- NOTICE: macOS packaging and pi/ coverage; runtime libraries bundled in
the downloads (SDL2/SDL3, zlib, MinGW runtime, macOS GCC runtime)
- macOS package ships SDL3, GCC COPYING.RUNTIME and the GPL-3.0 text
(tools_pc/dist/GPL-3.0.txt)
- README: release date 2026-10-13, "Why play this port", Legal (Apple,
runtime licenses), frame-rate text; site date tokens
- tools_pc/release_gate.sh: one-command win/deck/mac release checks
- release notes, findings D578/D580/D581/D643-D646 + index, porting notes
Experimental macOS on Apple Silicon (record merge).
The content of this PR shipped in v0.6.0 via the macos-arm64 integration
line (D585-D613) and is carried by the commit above the merge in this
history; the release line uses maintainer squashes for its own work, so
this merge records the PR against that history. See the PR for the full
diff, and D600/D601-era notes for the port_addr decision made with the
author. Intel (x86_64) status: see issue #154.
- Pages: the two cblock sections render as markdown under GitHub Pages'
kramdown (markdown="1"); the Download block's unparsed `<file>` had swallowed
every heading below it. Gallery alt text says 3840x2160.
- Credit line (README "How it was made" + social preview card): several coding
agents directed by one maintainer, with a handful of contributors; card
findings count 430.
- Release-notes template: drop the stale header-stills comment and the Aztec
re-check-owed note.
- ROADMAP: Windows display-scaling (not DPI-aware) item
D572: CI-tarball verification (glibc floor, X220 + Deck fresh
install, 21/21 pixel gate on both).
Video.CrosshairPersistent, F10 Game page after Show crosshair. Merged with
the 2026-10-01 review conditions: both display-mode presets set it off,
tip added, gunDrawSight change is draw-only (Rule 2 sign-off by the
maintainer, 2026-10-06). Default off is pixel-identical (Dam gate PASS).
Fixes:
- D565: AI awareness no longer follows two player render settings. Fog
distance is floored at 100 (below it the shortened clip hid guards from
AI on-screen checks); the D466 gameplay fog cull is rescaled to the game's
own FOV (identity at defaults).
- D566: Steam Deck Game Mode no longer shows the on-screen keyboard at
launch (SDL text input stopped; screen-keyboard hint off).
- D567: opening PC Options from the front end with a pad no longer drags
the game's crosshair to the top-left corner.
Docs and site:
- README News/Status/Features/controls brought up to date; the unpublished
v0.4.1 work is folded into v0.5.0 everywhere; stats to v0.5.0.
- Release notes reordered: player-facing highlights first, finding labels
and verification at the bottom.
- Site status rewritten; favicon is now the exe icon (make_icon.py writes
docs/favicon.ico).
- ROADMAP: AI review results, update-check follow-up, stale rows closed.
Verified: Windows + Linux builds; Windows pixel gate Surface 1 PASS;
Deck build deployed for the maintainer's Game Mode checks.
Deck/Windows playtest fixes: fog rework (D540) and RSP-style CPU near-plane
clip with per-vertex N64 fog (D543), with fog recomputed on near-plane-clipped vertices as the RSP does,
so the haze around the player stays steady (D553); colour-combiner clamp for banded walls
(D548); rocket and thrown-item stack overflows (D545, D549); menu
double-trigger mitigation (D541); Dam ending first-shot camera swivel
restored by removing an old port look-at workaround (D552); settings standardisation (D546), live
All unlocked (D547), F10 mouse (D544); static window title and the project
mark (the in-game crosshair shape, site gold) as window/taskbar icon and
favicon (D550). Reference frames re-based
on Windows, Linux and Steam Deck (A/B-confirmed); capture_p7.sh runs on
Windows. Opt-in update check, off by default (D551: one HTTPS request to
GitHub per launch when enabled; winhttp.dll loaded only then; the tag CI
job checks the tag against GE007_VERSION). Release notes, ROADMAP,
internals and security docs updated; tree-hygiene pass.
Refs: D540 D541 D543 D544 D545 D546 D547 D548 D549 D550 D551 D552 D553 D554 D555 D556 D557 D558 D559 D560 D561 D562 D563 D564
Public-copy language pass, homepage restructure and Documentation rename,
404 page, dead-anchor and permalink fixes, release-gate sign-off, and the
pre-release review fixes of the 2026-10-05 batch (probe-doc drift,
build-path hygiene, verify.sh and capture safety).
Refs: D533 D534
Linux reference-frame set for all 21 levels and the cross-platform golden
rule (D521); golden tooling made non-destructive (D524); the gate pins a
canonical in-tree save (D529) and the PRNG seed (D532); the capture tool's
per-level re-pin bug fixed and the Linux set re-captured under the
canonical save (D530, D531); no-arg verify.sh exits non-zero. README and
docs visual/consolidation passes; the 15 MB preview gif replaced by stills.
Refs: D521 D523 D524 D525 D526 D527 D528 D529 D530 D531 D532
PD-style F10 menu with six groups, checkbox/slider/dropdown controls (D504),
wording pass and real-unit sliders (D505-D509), overlay/FPS-counter window
scaling (D510, D512), small settings (D511), control scheme Ext/Original
(D513) with the game's own N64 styles (D516-D518), emulator-format save
import on first launch (D514), build arch tag (D515), converter argv quoting
and sidecar size check, one PC options UI (D519) with by-eye follow-ups,
antialiased overlay sliders (D520), README settings paths, ROADMAP trim,
D441 tier-1 all-level sweep (21/21 pass).
Refs: D503-D520 D349 D441