forked from Ports/goldeneye-pc-port
release: v0.4.0 release notes (what's-new since v0.3.0 + true residual known-issues set)
This commit is contained in:
1 parent
2621163f03
commit
f84b8023dd
1 file changed
+84
-152
+84
-152
@@ -1,4 +1,4 @@
|
||||
## GoldenEye 007 PC Port <version>
|
||||
## GoldenEye 007 PC Port v0.4.0
|
||||
|
||||
<p align="center">
|
||||
<img src="https://github.com/jkdansereau/goldeneye-pc-port/raw/v0.3.0/docs/media/goldeneye-gh-preview.gif" width="480"
|
||||
@@ -8,167 +8,96 @@
|
||||
> The full single-player campaign runs at a steady 60 fps with audio (music +
|
||||
> SFX) playing throughout, on Windows and Linux including Steam Deck, and it
|
||||
> is completable end to end: the whole campaign has been playtested through
|
||||
> all 20 missions (Agent difficulty). It's an early public cut: all 20 solo
|
||||
> missions load and run crash-free, but the known issues below are real;
|
||||
> feedback is very welcome. **This is a pre-1.0 release, not a finished
|
||||
> all 20 missions (Agent difficulty), on both Windows and Steam Deck with a
|
||||
> physical controller. **This is a pre-1.0 release, not a finished
|
||||
> product** — expect rough edges and missing features until v1.0; see the
|
||||
> [README's Roadmap section](https://github.com/jkdansereau/goldeneye-pc-port#roadmap)
|
||||
> for where this is headed.
|
||||
> for where this is headed. **v0.4.0 ships the NTSC-U (US) region only** —
|
||||
> PAL and JP ROMs are on the post-release roadmap.
|
||||
|
||||
### What's new since v0.2.2
|
||||
### What's new since v0.3.0
|
||||
|
||||
- **Bond is fixed in cutscenes** — the most visible remaining glitch in
|
||||
prior releases: Bond no longer floats or glitches out during cutscenes,
|
||||
his animation no longer breaks or repeats, and the camera correctly
|
||||
tracks him through scripted sequences including all three Dam end-of-level
|
||||
abseil shots (D243). Root cause: a 32-bit-era struct-size constant in the
|
||||
cutscene body-model setup never accounted for 64-bit pointer widening,
|
||||
corrupting the model's own animation-timing fields on creation. Fixing
|
||||
that also fixed the associated camera shake, which had previously been
|
||||
worked around with a camera-freeze hack that's no longer needed. **Two
|
||||
related reports also cleared up as a side effect**: Bond's third-person
|
||||
model floating above the ground at level start, and death animations
|
||||
sinking him into the floor, both shared an underlying mechanism with this
|
||||
bug — Bond now ends up in the right place the large majority of the time,
|
||||
with only a small positional drift on the rare occasion he's off (D173/
|
||||
D292).
|
||||
- **Particle colors mostly fixed**: bullet-impact sparks and lingering
|
||||
smoke/explosion residue no longer cycle through a rainbow palette (D219) —
|
||||
root cause was a hardcoded raw-memory-offset read into the spark's stored
|
||||
color that landed on the wrong bytes once the containing struct grew from
|
||||
64-bit pointer widening. A second, separate cause was found and fixed in
|
||||
explosion rendering itself (an out-of-bounds vertex-buffer write
|
||||
corrupting adjacent particle data). This fix is real and stays in, but the
|
||||
rainbow effect can still occur intermittently on any platform, not every
|
||||
time and not on every level — a second cause hasn't been found yet; see
|
||||
Known Issues.
|
||||
- **Automatic widescreen FOV scaling**: the game now scales its field of
|
||||
view to match your display's aspect ratio automatically, instead of
|
||||
requiring the old manual FOV-scale slider. Toggle off in the F10 overlay
|
||||
(`Widescreen Auto`) if you prefer the original 4:3 framing. The scaled
|
||||
vertical FOV is clamped to a 20°–160° range as a guard against degenerate
|
||||
values on unusual aspect ratios. (This is FOV scaling, not a native 16:9
|
||||
world/HUD re-render — see Known Issues.)
|
||||
- **TV overscan artifacts removed**: the black bars top/bottom and the thin
|
||||
pixel strips left/right of the gameplay view are gone (D247/D246) — both
|
||||
were the original N64 TV-safe-area margin, invisible on a CRT under real
|
||||
overscan but visible on a PC monitor. New `Video.SafeAreaCrop` toggle
|
||||
(default on) if you want the original framing back.
|
||||
- **Two more crash fixes**: a campaign-halting crash at the end of Control
|
||||
Center on 00 Agent difficulty, which would then crash on every subsequent
|
||||
relaunch until the save was reset (D295); and a crash selecting most save
|
||||
slots with `Skip Intro` enabled (D299).
|
||||
- **The elusive complete freeze is root-caused and fixed.** Players had hit
|
||||
a total, non-self-recovering lockup (most recently when returning from
|
||||
Caverns to the intro screen) that was real but never reproduced on demand.
|
||||
It turned out to be a latent defect in the original game's own AI command
|
||||
stream — a record type the engine mis-measures, which our level-teardown
|
||||
timing can trigger and the N64 never presents. Fixed with a minimal change
|
||||
under the project's game-code exception process (D309/D310); a second,
|
||||
unrelated freeze mechanism found during the same playtest is now guarded
|
||||
as well (D311).
|
||||
- **A NULL-pointer guard was added** around a save-data lookup that two
|
||||
players hit with an identical crash address (GitHub #87, D301) — this
|
||||
should close that crash, though we weren't able to reproduce the exact
|
||||
trigger condition ourselves to confirm it end-to-end.
|
||||
- **Facility's execution softlock is caught and recovered from**: a rare
|
||||
race in the original game's own AI script (present on the N64 too) could
|
||||
leave Ourumov frozen mid-execution after Objective C, with no way out short
|
||||
of reloading. A port-side watchdog now detects the exact unrecoverable
|
||||
state and re-seeds the attack so the scene plays out as authored; it
|
||||
re-arms once the scene has cleared, so replaying Facility later in the
|
||||
same session is still covered (D318).
|
||||
- **A Steam Deck crash is fixed**: an audio-thread bug could crash the game
|
||||
early in a level (`sndHandleEvent`'s sound-preemption scan could
|
||||
dereference a pointer without checking it was valid first). Live-verified
|
||||
crash-free on real Steam Deck hardware, including with `All unlocked`
|
||||
toggled on.
|
||||
- **Mouse input and F10 controls fixed**: mouse input was reworked to
|
||||
follow the Perfect Dark PC port's architecture — slow mouse motion is no
|
||||
longer barely recognized and fast motion no longer saturates almost
|
||||
immediately (D300, `Input.MouseDirectLook`, on by default). The separate
|
||||
aim-speed and turn-speed sliders — which could be set to inconsistent
|
||||
values against each other — are now a single `Mouse sensitivity` control
|
||||
with a wider range. Also fixed three F10 menu bugs found along the way:
|
||||
clicking a row could unexpectedly scroll the whole list, a click near
|
||||
certain rows could silently activate a different option than the one you
|
||||
clicked (most noticeably, clicking `All unlocked` could instead trigger
|
||||
`Quit to desktop`), and the panel's bottom row no longer duplicates
|
||||
whatever item is currently selected (D251).
|
||||
- **Random-number generation now matches the N64 original exactly** (D284) —
|
||||
a shift-operation bug in the PRNG had desynced the PC's random stream from
|
||||
N64's since the very first release, affecting loot placement, AI variance,
|
||||
and other randomized elements. **This changes the random sequence from
|
||||
every prior build**, so old input recordings/replays will diverge, but
|
||||
your save files are unaffected: **a migration shim automatically upgrades
|
||||
any save written by an older build the first time you load it** (D297) —
|
||||
no manual action needed.
|
||||
- **Assorted texture/rendering fixes**: an incorrect IA4 texture-format
|
||||
decode and an overly-tight near-plane portal-culling guard were both
|
||||
corrected (D266/D271) — reduces some texture-edge and visibility artifacts
|
||||
on affected levels.
|
||||
- **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
|
||||
recurs.
|
||||
|
||||
### Known issues
|
||||
|
||||
- The front-end **Nintendo logo renders as two white blobs**, and the
|
||||
Rareware logo is close but its texture filtering looks off (D75).
|
||||
- **Particle colors: a real fix landed this release, but the rainbow effect
|
||||
can still occur intermittently.** One genuine, reproducible cause (an
|
||||
out-of-bounds vertex-buffer write in explosion rendering) is fixed. A
|
||||
second, still-unidentified cause remains, on both Windows and Steam Deck —
|
||||
it doesn't reproduce every time or on every level, so treat this as
|
||||
improved, not fully resolved (D252).
|
||||
- **Some muzzle flashes draw an extra, erroneous long flash straight up from
|
||||
the gun** (seen on the M16, among others), on top of the normal, correctly
|
||||
drawn flash. Cosmetic only (D303).
|
||||
- **Surface 1: the 2D billboard trees near the start render as a solid wall
|
||||
of tree texture** instead of discrete sprites (D236). Under active
|
||||
investigation across ten+ passes; no fix yet.
|
||||
- **No native widescreen render**: v0.3.0's automatic FOV scaling (above)
|
||||
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.
|
||||
- **No controller rebinding UI, and no macOS or ARM builds.**
|
||||
- **Distant geometry can drop out on the biggest open levels** (Streets,
|
||||
Egyptian) at default FOV — a culling/LOD issue that sometimes
|
||||
self-corrects as you keep moving (D249).
|
||||
- **Gunshot SFX can sound off during sustained/rapid fire**: cadence can
|
||||
drift from the N64 original's rate, and PP7/AK47 fire can occasionally go
|
||||
silent under heavy automatic fire near another looping sound (e.g. an
|
||||
alarm klaxon) (D240/D241).
|
||||
- **`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 still cause silent audio and odd right-mouse-aim
|
||||
behavior (D259/D257). (The Steam Deck crash fix above addresses a
|
||||
separate, now-fixed symptom that had also been associated with `All
|
||||
unlocked` use; this audio/aim caveat is unrelated and still open.)
|
||||
- Water on `IsWater` levels shows a moving seam between two patterns (D245).
|
||||
- **Occasional z-fighting on some levels' geometry** (D308) — a Dam intro/
|
||||
truck-wheel instance showing odd transparent-looking areas has also been
|
||||
seen and may be related (D306). Minor, cosmetic; not investigated for
|
||||
this release.
|
||||
- **In-level security camera props can occasionally end up facing backwards**
|
||||
(the wrong direction) on some levels, seen on Bunker — this is the
|
||||
gameplay security-camera object, not the player's own view (D307). Not
|
||||
investigated for this release.
|
||||
- **A rare, self-clearing visual quirk**: on an occasional animation
|
||||
transition, Bond's model can briefly render out of place. It has no effect
|
||||
on gameplay or your save, and it clears on its own or by re-entering the
|
||||
level; a safeguard added this release guarantees it can never affect game
|
||||
stability (D311).
|
||||
- **Two collision oddities found in final playtesting**: throwable items
|
||||
(mines, grenades) can occasionally clip through walls in certain spots
|
||||
(D312), and bullet impacts don't appear on some surfaces — doors and
|
||||
windows are unaffected (D313). Both are queued for the next release; if
|
||||
you hit either, an issue with the level and spot helps a lot.
|
||||
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).
|
||||
|
||||
### Downloads
|
||||
|
||||
| File | Platform |
|
||||
|---|---|
|
||||
| `goldeneye-pc-port-<version>-win64.zip` | Windows x86-64 |
|
||||
| `goldeneye-pc-port-<version>-linux-x86_64.tar.gz` | Linux x86-64 (incl. Steam Deck) |
|
||||
| `goldeneye-pc-port-0.4.0-win64.zip` | Windows x86-64 |
|
||||
| `goldeneye-pc-port-0.4.0-linux-x86_64.tar.gz` | Linux x86-64 (incl. Steam Deck) |
|
||||
|
||||
Each contains the engine executable, a README, license texts, and the
|
||||
`prepare-assets` tool. **No ROM, no game assets.** The Windows bundle carries
|
||||
@@ -178,8 +107,9 @@ needs to be installed first.
|
||||
### Running it
|
||||
|
||||
You supply your own **GoldenEye 007 N64 ROM** (`.z64`, big-endian) that you
|
||||
legally own: the **NTSC-U (US)** release is what this build supports (PAL / JP
|
||||
are on the roadmap). No Python, no toolchain, nothing to install.
|
||||
legally own: the **NTSC-U (US)** release is the only region this build
|
||||
supports (PAL / JP are on the post-release roadmap). No Python, no
|
||||
toolchain, nothing to install.
|
||||
|
||||
1. Unpack the archive.
|
||||
2. Make a `data/` folder next to the executable and put the ROM in it, named
|
||||
@@ -191,7 +121,9 @@ are on the roadmap). No Python, no toolchain, nothing to install.
|
||||
inside the bundle; you can also run it manually; it prints what it's doing.)
|
||||
|
||||
**Steam Deck:** sideload the unpacked folder (USB or a file manager), do steps
|
||||
2–3, then add the executable to Games → *Add Game* as a non-Steam game.
|
||||
2–3, then add the executable to Games → *Add Game* as a non-Steam game. The
|
||||
first launch in Game Mode picks up the Deck preset (native 1280×800, 2× MSAA,
|
||||
vsync) automatically if no config exists yet.
|
||||
|
||||
**In-game settings on the Deck:** the options overlay is fully gamepad-driven:
|
||||
it opens with **Select**, the D-pad or left stick (up/down) moves between
|
||||
@@ -203,8 +135,8 @@ Full steps are in the bundled `README.md`.
|
||||
### Verify the download
|
||||
|
||||
```
|
||||
sha256sum -c goldeneye-pc-port-<version>-win64.zip.sha256
|
||||
sha256sum -c goldeneye-pc-port-<version>-linux-x86_64.tar.gz.sha256
|
||||
sha256sum -c goldeneye-pc-port-0.4.0-win64.zip.sha256
|
||||
sha256sum -c goldeneye-pc-port-0.4.0-linux-x86_64.tar.gz.sha256
|
||||
```
|
||||
|
||||
### Source & docs
|
||||
|
||||
Reference in new issue
Block a user