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).