forked from Ports/goldeneye-pc-port
v0.6.0 docs accuracy pass: credits-crash and exit wording, known-issues table, download README save import and menu paths, D951
This commit is contained in:
1 parent
ac8b0f38df
commit
971ff2b2bd
9 files changed
+51
-29
No files matched your search
@@ -28,10 +28,10 @@
|
||||
set to Original, your pad behaves as an N64 controller, and *Invert look*
|
||||
works in every original style.
|
||||
- **Fixes:** geometry vanishing up close (#150), the first launch opening on
|
||||
the wrong monitor (#151), the Linux end-credits crash (#152) and a crash when
|
||||
a guard spawns with a hat (#153, #156).
|
||||
the wrong monitor (#151), the end-credits crash on Linux and macOS (#152)
|
||||
and a crash when a guard spawns with a hat (#153, #156).
|
||||
- **Also:** an optional mission timer (#144), the file-select crest fixed
|
||||
(#146), and a fix for a Windows exit crash.
|
||||
(#146), and a fix for a Windows blue screen on exit.
|
||||
|
||||
## Downloads
|
||||
|
||||
@@ -103,12 +103,12 @@ covers controls, settings, emulator saves and troubleshooting.
|
||||
|
||||
- Geometry vanishing when you stand against a wall (#150).
|
||||
- The first launch opening on the wrong monitor (#151).
|
||||
- A Linux crash during the end credits (#152).
|
||||
- A crash during the end credits on Linux and macOS (#152).
|
||||
- A crash when a guard spawns wearing a hat (#153, #156).
|
||||
- The file-select crest drawing on a dark square (#146).
|
||||
- *Invert look* now works in every original control style and stays in sync
|
||||
with the watch's *Look up/down* (#145).
|
||||
- A crash on exit on some Windows GPUs.
|
||||
- A Windows blue screen (0x119) when the game exits, seen on an NVIDIA GPU.
|
||||
- The Cradle catwalk shadow flicker, and stale pixels beside the widescreen
|
||||
picture on front-end screens.
|
||||
- Sound and text pointer checks that rejected valid pointers (#108, with
|
||||
@@ -119,7 +119,7 @@ covers controls, settings, emulator saves and troubleshooting.
|
||||
### Changed
|
||||
|
||||
- Windows: per-monitor DPI awareness, so fullscreen on a scaled 4K display is
|
||||
native resolution; exclusive fullscreen uses the desktop mode.
|
||||
native resolution.
|
||||
- F10 dropdowns stay inside the settings box.
|
||||
- The crosshair look (colour, size, style) is no longer reset by the *Display
|
||||
mode* presets.
|
||||
@@ -132,7 +132,7 @@ covers controls, settings, emulator saves and troubleshooting.
|
||||
| On the Steam Deck at 90 fps, firefights in the centre of Bunker 1 and 2 can drop a few fps, and Jungle can feel slightly less smooth | Set the frame cap to 60 for those levels |
|
||||
| Cradle's turret explosions may draw wrongly | None yet |
|
||||
| On Windows, the picture can look hazy for a moment after alt-tabbing back | It settles on its own |
|
||||
| macOS: the end credits may crash | Your progress is already saved by then |
|
||||
| macOS: the window can stay black on the very first start | Close it and start it again |
|
||||
| PAL and JP ROMs aren't supported yet | Use the US (NTSC-U) ROM |
|
||||
| Saves from v0.4.0 and earlier can hold fake unlocks from *All unlocked* | Keep a backup of `data/ge007.eep` from before you used it |
|
||||
|
||||
|
||||
+5
-1
@@ -121,7 +121,11 @@ below).
|
||||
|---|---|---|---|
|
||||
| PAL and JP ROMs aren't supported in release packages | NTSC-U only | Use an NTSC-U ROM. Both regions convert, build and boot from source (D258, D487, D488; see `docs/building.md`); packaging (per-region exe, CI matrix, converter region check) is still open | D258, #85, §1 |
|
||||
| Changing Aspect ratio in a level (mostly Fill window to Original or a forced ratio) can briefly glitch the gun / hand model, rarely | Cosmetic, one-off | Change the ratio from the front-end PC Options, or accept it | D509 (frame hold fixed the common case; the rare remainder is logged, not investigated) |
|
||||
| No macOS or ARM builds | Platform | — | #88, #95, #101, §4 |
|
||||
| No Intel macOS or ARM Linux builds (the macOS download is Apple Silicon only, experimental and not notarized) | Platform | — | #88, #95, #101, #154, §4 |
|
||||
| Steam Deck at 90 fps: centre firefights in Bunker 1/2 drop several fps; Jungle feels slightly less smooth than other levels | Brief FPS drops | Frame cap 60 for those levels | D583, D585 (present thread, v0.7.0), D614 |
|
||||
| Cradle's turret explosions may draw wrongly | Cosmetic | None yet | Deck per-level pass (2026-10-10), not investigated |
|
||||
| Windows: the picture can look hazy for a moment after alt-tabbing back; fast repeated alt-tabbing recovers slowly | Cosmetic, temporary | It settles on its own | D578, alt-tab row in §4 (v0.7.0) |
|
||||
| macOS: the window can stay black on the very first start of a new download (seen 4 times, passes on re-run) | First launch only | Close it and start it again | v0.6.0 release checks |
|
||||
| Saves from v0.4.0 and earlier can hold fake unlocks from `All unlocked` | Save data | Not repaired automatically. Since v0.5.0 the option never writes the save; keep a backup of `data/ge007.eep` from before you used it | D442, D387 |
|
||||
| The first frame of a level takes a little longer while its textures upload | Brief FPS-counter dip | None needed | D475, D480 |
|
||||
| Far objects almost fully in fog are now hidden as on the N64, except in widescreen, where the wider view can still show a faint distant building edge (e.g. Surface's dish from the start area). 4:3 matches the N64 | Cosmetic | None; higher Draw/LOD distance shows more | D503, §5c |
|
||||
|
||||
+9
-9
@@ -28,19 +28,21 @@ The full notes for each version are on the [Releases page](https://github.com/jk
|
||||
- **macOS on Apple Silicon (experimental).** There is now a `macos-arm64`
|
||||
download (or build from source; see [Building](building.md)). Based
|
||||
on danturn's #95 (with Julio C. Rocha's earlier Intel groundwork in
|
||||
#88). A campaign sweep and live sessions ran without crashes on one M3
|
||||
Mac; the download is not notarized, so see [macOS](user-guide.md#macos-apple-silicon-experimental)
|
||||
#88). Tested with a 21-level sweep and live sessions on one M3 Mac (the
|
||||
one crash seen, in the end credits, is guarded in this release); the download is not notarized, so see [macOS](user-guide.md#macos-apple-silicon-experimental)
|
||||
for the one-line unblock. Test reports are very welcome.
|
||||
- **Fixes:** geometry vanishing when you press against a wall (#150),
|
||||
the first launch opening on the wrong monitor (#151), a Linux crash in the
|
||||
end credits (#152), a crash when a guard spawns with a hat (#153, #156), a
|
||||
the first launch opening on the wrong monitor (#151), a crash in the end
|
||||
credits on Linux and macOS (#152), a crash when a guard spawns with a hat (#153, #156), a
|
||||
sound/text pointer check that rejected valid pointers (#108), a Cradle
|
||||
catwalk shadow flicker, and stale watch pixels in native widescreen.
|
||||
catwalk shadow flicker, and stale pixels beside the widescreen picture on
|
||||
front-end screens.
|
||||
- **Original controls (#145, #149):** with *Control style* set to Original,
|
||||
a gamepad now behaves as an N64 controller (South = A, West = B, the game
|
||||
decides what each does), and *Invert look* works in every original style.
|
||||
Also an optional mission timer (#144), the file-select crest no longer
|
||||
drawing on a dark square (#146), and a Windows exit-crash fix.
|
||||
drawing on a dark square (#146), and a fix for a Windows blue screen on
|
||||
exit.
|
||||
- **Smaller changes:** the legacy front-end Velocity pointer mode is gone,
|
||||
the Linux/macOS update check no longer fails on a large response, every
|
||||
run is also logged to `ge007.log` next to the ini, and F10 slider labels
|
||||
@@ -91,9 +93,7 @@ The full notes for each version are on the [Releases page](https://github.com/jk
|
||||
and the end-of-campaign credits load, render and run crash-free. For v0.6.0
|
||||
the release downloads themselves were tested on Windows, Steam Deck (Desktop
|
||||
and Game Mode), macOS on Apple Silicon and a 2011 Linux laptop: a fresh
|
||||
folder with only the ROM, a first launch, then all 21 solo levels. The
|
||||
21-level comparison of captured frames against reference images passes on
|
||||
Windows. The new frame-rate path and the listed fixes were also checked by
|
||||
folder with only the ROM, a first launch, then all 21 solo levels. The new frame-rate path and the listed fixes were also checked by
|
||||
playing on Windows and the Steam Deck. The full campaign was last played end
|
||||
to end, at Agent difficulty on Windows, Linux and the Deck, for v0.4.0.
|
||||
Split-screen was played live in 2P on every multiplayer map and in 4P on
|
||||
|
||||
@@ -462,6 +462,7 @@ D643,FIXED,Issues #145 (b)(c) / #149:,FIXED 2026-10-12 (port-only; GE_PADMAPTEST
|
||||
D644,FIXED,File-select royal crest drew on an opaque dark square (#146):,"FIXED 2026-10-12 (import_texture_ia4; 1964-confirmed symptom, maintainer-verified; Win sweep unchanged)"
|
||||
D645,FIXED,"Original 1.1: F10 ""Invert look"" did not invert vertical look (#145 a):",FIXED 2026-10-12 (F10 row and watch row synced in Original; maintainer-verified)
|
||||
D646,FIXED,"F10 dropdown popup drew over the hint/tooltip panel (popup bounded by the screen edge, not the settings box) —",FIXED 2026-10-12 (ddGeom bounded to the box; maintainer-verified)
|
||||
D951,OPEN,"v0.6.0 release gate: Windows golden sweep flags are timing noise in the test, not rendering changes —",OPEN (test-side; 2026-10-13)
|
||||
D607,OPEN,Address model unified into one header:,DONE 2026-10-07 (macos branch; Windows identity gate:
|
||||
D608,FIXED,D34 ANIM_DATA_x re-basing guard in assets/animationtable_data.h was __x86_64__-only:,"FIXED 2026-10-07 (macos branch; mechanical guard widening, arm64 link clean)"
|
||||
D609,FIXED,macOS arm64 SIGKILL at exec:,"FIXED 2026-10-07 (macos branch; probe-confirmed; arm64 keeps the 4 GiB pagezero, floor 11.0)"
|
||||
|
||||
|
@@ -873,6 +873,7 @@ covers D24–D69; the log continues in §H (D32 procedure, D70–D121).
|
||||
| D644 | **File-select royal crest drew on an opaque dark square (#146): IA4 decoded as I2:A2 instead of the RDP's I3:A1** — full `## D644` entry at file tail | FIXED 2026-10-12 (`import_texture_ia4`; 1964-confirmed symptom, maintainer-verified; Win sweep unchanged) |
|
||||
| D645 | **Original 1.1: F10 "Invert look" did not invert vertical look (#145 a): D605 flipped the move stick; the game's own Look up/down drives C-button/aim pitch** — full `## D645` entry at file tail | FIXED 2026-10-12 (F10 row and watch row synced in Original; maintainer-verified) |
|
||||
| D646 | **F10 dropdown popup drew over the hint/tooltip panel (popup bounded by the screen edge, not the settings box)** — full `## D646` entry at file tail | FIXED 2026-10-12 (`ddGeom` bounded to the box; maintainer-verified) |
|
||||
| D951 | **v0.6.0 release gate: Windows golden sweep flags are timing noise in the test, not rendering changes** — full `## D951` entry at file tail | OPEN (test-side; 2026-10-13) |
|
||||
|
||||
Phase 2 replaced the Phase-1 demo loop with the real `mainproc()` on real OS
|
||||
threads, compiled GE's real `src/sched.c`, and brought in PD's fast3d software
|
||||
@@ -21982,3 +21983,19 @@ unbound-fallback, stick -> PASS.
|
||||
**Fix.** The popup is bounded to the settings box (`o.titleB + 1` .. `o.bottom - 1`): it opens upward when there is no room below, and the D568 fallback now pins it flush to the box bottom instead of the screen.
|
||||
|
||||
**Status.** FIXED, maintainer-verified 2026-10-12.
|
||||
|
||||
## D951: v0.6.0 Windows golden sweep flags are test timing, not rendering (2026-10-13)
|
||||
|
||||
**Context.** Release-gate runs of `tools_pc/verify.sh sweep` on the v0.6.0 release code (Windows, RTX 5090, 120 Hz display).
|
||||
|
||||
**Observed.**
|
||||
- Default ini (`FpsCap = -1`, Auto = 120 on this display): 8 of 21 levels REGRESSION (runway, surface1, silo, frigate, streets, depot, jungle, cradle; 1.0-9.3% of pixels over tolerance). The goldens were captured at 60 fps and the run did not pin the cap, so the capture frames are not the golden frames.
|
||||
- `VERIFY_INI_EXTRA='[Video]
|
||||
FpsCap = 60'`: 20/21 PASS; statue REGRESSION (4.66%, frame 900).
|
||||
- Statue alone at 60, same binary (exe not rebuilt), five runs: REGRESSION (worst_cell 67.1), then PASS 0.3775, 0.3775, 0.45, 0.3775.
|
||||
|
||||
**Reading.** Same binary and inputs give near-identical passing scores 4 of 5 times and one far outlier: the capture is timing-sensitive (D117: the intro flyby is wall-clock paced, so a slow first run lands different frames), not a rendering change. The 2026-10-12 release-candidate gate saw the same with streets (HANDOFF: "flips at tolerance with and without the changes").
|
||||
|
||||
**Owed (test side only).** (1) verify.sh should pin `FpsCap = 60` in its ini itself, since the goldens are 60 fps captures; (2) a flagged level should be re-run once before it counts as a regression, or the first run should be discarded as warm-up. No game-code change.
|
||||
|
||||
**Status.** OPEN, test-side.
|
||||
+7
-7
@@ -38,18 +38,18 @@ controls, every setting and file, and fixes for common problems.
|
||||
The keyboard defaults are a GEPD-style layout. The controller layout matches
|
||||
Rare's Xbox 1.1 (Jinx) button roles; the other Xbox styles (1.2 Christmas,
|
||||
1.3 Frost, 1.4 Elektra, which swap the stick roles) are selectable under
|
||||
*Controller* (pick a player first, then *Layout preset*). PlayStation and Nintendo controllers
|
||||
*Controller* (pick a player first, then *Layout presets*). PlayStation and Nintendo controllers
|
||||
show their own button names in the menus.
|
||||
|
||||
**Control style:** *Controller → Control style* (named after the watch's own
|
||||
setting, with Perfect Dark's "Ext" for the port's controls) picks how the
|
||||
game's controller style (the watch's 1.1–1.4 selector) is treated. **Ext**
|
||||
setting, with **Extended**, after Perfect Dark's "Ext", for the port's controls) picks how the
|
||||
game's controller style (the watch's 1.1–1.4 selector) is treated. **Extended**
|
||||
(the default) keeps the port's feel and fixes the style itself, so the watch's
|
||||
selector has no effect. **Original** stops the port from touching the style:
|
||||
pick 1.1, 1.2, 1.3 or 1.4 on the watch (or in the multiplayer setup) and it
|
||||
behaves as on the N64, and the Controller page then offers the game's own
|
||||
styles ("Controller style", 1.1 Honey to 2.4 Goodhead, saved in the Bond file
|
||||
like the watch's) instead of the layout presets, which apply in Ext only. Buttons are passed
|
||||
like the watch's) instead of the layout presets, which apply in Extended only. Buttons are passed
|
||||
through as the N64's buttons, so 1.3 and 1.4 move fire and aim exactly as the
|
||||
console does. The 2.x dual-controller styles run faithfully too: the game
|
||||
reads their second stick from the next controller slot, which the port does not
|
||||
@@ -64,7 +64,7 @@ button and the game decides what it means (so *B* uses a door or reloads, as
|
||||
on the console). Default layout, remappable per player in the ini
|
||||
(`Input.N64Pad.<Button>`, `Input.N64Pad2..4` for players 2-4; up to two pad
|
||||
buttons each) and with `Input.N64StickFeel` (1 = linear +/-80 stick with a
|
||||
small dead centre, 0 = the Ext deadzone):
|
||||
small dead centre, 0 = the Extended deadzone):
|
||||
|
||||
| Pad | N64 | Pad | N64 |
|
||||
|---|---|---|---|
|
||||
@@ -76,7 +76,7 @@ small dead centre, 0 = the Ext deadzone):
|
||||
|
||||
**Rebinding:** *Key Bindings* in the options overlay rebinds the
|
||||
keyboard and mouse (one list: movement, then actions). Controller buttons are
|
||||
rebindable per controller under *Controller* (pick a player first): set *Layout preset* to
|
||||
rebindable per controller under *Controller* (pick a player first): set *Layout presets* to
|
||||
*Custom*, select an action and press a pad button (tap B or Esc to cancel,
|
||||
hold B to bind B itself, hold Back to clear; Y clears the selected slot).
|
||||
Each action takes up to two buttons. Menus always keep A/X accept and B/Y
|
||||
@@ -219,7 +219,7 @@ needs the big-endian `.z64` format, and supports the US version today:
|
||||
|
||||
To check which file you have, compute its SHA-1: on Windows,
|
||||
`certutil -hashfile ge007.ntsc-final.z64 SHA1`; on Linux,
|
||||
`sha1sum ge007.ntsc-final.z64`.
|
||||
`sha1sum ge007.ntsc-final.z64`; on macOS, `shasum ge007.ntsc-final.z64`.
|
||||
|
||||
## macOS (Apple Silicon, experimental)
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ echo " remaining system dependencies:"
|
||||
otool -L "$OUT/$EXE_NAME" | tail -n +2 | awk '{print " " $1}' | grep -v '@executable_path' || true
|
||||
|
||||
# --- docs + licenses ---------------------------------------------------
|
||||
DEPS_BLOCK=$'## macOS (Apple Silicon, experimental)\n\nThis is an experimental build for Macs with Apple Silicon (M1 or later,\nmacOS @MINOS@ or newer). SDL2 and the C++ runtime are bundled in this folder and\nfound automatically; nothing needs installing, and Homebrew is not required.\n\nThe app is not signed with an Apple Developer ID or notarized, so Gatekeeper\nblocks it when this folder came from a download. After unpacking, open Terminal\nin this folder and run, once:\n\n xattr -dr com.apple.quarantine .\n\nThen run `./@EXE@` from Terminal.\n'
|
||||
DEPS_BLOCK=$'## macOS (Apple Silicon, experimental)\n\nThis is an experimental build for Macs with Apple Silicon (M1 or later,\nmacOS @MINOS@ or newer). SDL2 and the C++ runtime are bundled in this folder and\nfound automatically; nothing needs installing, and Homebrew is not required.\n\nThe app is not signed with an Apple Developer ID or notarized, so Gatekeeper\nblocks it when this folder came from a download. After unpacking, open Terminal\nin this folder and run, once:\n\n xattr -dr com.apple.quarantine .\n\nThen run `./@EXE@` from Terminal. If the window stays black on the very\nfirst start, close it and start it again.\n'
|
||||
MINOS="$(for f in ${SIGN_LIST[@]+"${SIGN_LIST[@]}"} "$OUT/$EXE_NAME"; do otool -l "$f" | awk '/LC_BUILD_VERSION/ {f=1} f && /minos/ {print $2; exit}'; done | sort -V | tail -1)"
|
||||
echo " minimum macOS (highest minos of the bundled Mach-Os): $MINOS"
|
||||
DEPS_BLOCK="${DEPS_BLOCK//@EXE@/$EXE_NAME}"
|
||||
|
||||
@@ -76,7 +76,7 @@ DEPS_BLOCK="${DEPS_BLOCK//@EXE@/$EXE_NAME}"
|
||||
# @DECK@: the in-game settings (F10 overlay) controller-mapping guide — only
|
||||
# meaningful where Steam input mapping exists (Deck / Linux); Windows bundles
|
||||
# substitute it with nothing.
|
||||
DECK_BLOCK=$'## Steam Deck: in-game settings (options overlay)\n\nThe options overlay is fully gamepad-driven: it opens with **Select**, the\nD-pad or left stick (up/down) moves between options, **A** steps the selected\noption forward, **B** steps it back, and **Start** (or Select again) closes.\nToggles flip, resolution / MSAA / filtering cycle, sliders step in\nincrements. With a keyboard attached the same overlay is `F10` + arrows/Enter.\n\n'
|
||||
DECK_BLOCK=$'## Steam Deck: in-game settings (options overlay)\n\nThe options overlay is fully gamepad-driven: it opens with **Select**, the\nD-pad or left stick moves between options (up/down) and changes the selected\nvalue (left/right), **A** opens a page or steps the selected option, **B** goes\nback one page (and closes from the top), and **Start** (or Select again)\ncloses. With a keyboard attached the same overlay is `F10` + arrows/Enter.\n\n'
|
||||
sed -e "s|@VERSION@|${VERSION}|g" \
|
||||
-e "s|@PLATFORM@|Linux x86-64|g" \
|
||||
-e "s|@EXE@|${EXE_NAME}|g" \
|
||||
|
||||
Vendored
+3
-3
@@ -72,8 +72,8 @@ then **Run anyway**.
|
||||
| Start | `Enter` / `Tab` | Start |
|
||||
| Options overlay | `F10` | Select |
|
||||
|
||||
Everything is rebindable in the options overlay: *Input -> Bindings...* for
|
||||
keyboard and mouse, *Input -> Controller* for each controller.
|
||||
Everything is rebindable in the options overlay: *Key Bindings* for keyboard
|
||||
and mouse, *Controller* for each controller (pick a player first).
|
||||
|
||||
**Split-screen:** pick Multiplayer from the main menu. With one controller,
|
||||
keyboard/mouse is player 1 and the controller is player 2; with two or more
|
||||
@@ -87,7 +87,7 @@ Everything stays inside this folder; nothing is written anywhere else.
|
||||
| File | What it is |
|
||||
|---|---|
|
||||
| `data/ge007.eep` | Your game progress. Copy it somewhere safe (with the game closed) to back it up. |
|
||||
| `tools/eep_convert.py` | Converts a save from an N64 emulator (1964, Project64, ...) to this port, or back: `python tools/eep_convert.py n64-to-pc my-save.eep data/ge007.eep`. A straight copy of an emulator save is wiped on first launch. Needs Python 3; back up `data/ge007.eep` first. |
|
||||
| `tools/eep_convert.py` | Takes a save back to an N64 emulator: `python tools/eep_convert.py pc-to-n64 data/ge007.eep back-to-emulator.eep`. Saves from an emulator (1964, Project64, ...) need no tool: with the game closed, copy the `.eep` to `data/ge007.eep`; the first launch converts it and keeps the original as `data/ge007.eep.emulator.bak`. Needs Python 3. |
|
||||
| `data/ge007.ini` | Your settings. |
|
||||
| `data/pcmodels-*/`, `data/pccg-*/`, `data/ge007.shaders` | Generated files. Safe to delete; they are made again. |
|
||||
| `ge007.crash.log` | Written in the folder you launched from if the game crashes. |
|
||||
|
||||
Reference in new issue
Block a user