diff --git a/.github/release-notes.md b/.github/release-notes.md index 0fa2663d..a842b69c 100644 --- a/.github/release-notes.md +++ b/.github/release-notes.md @@ -34,9 +34,10 @@ staged as v0.4.1, which was never published on its own. - **Fixes you can see:** the Dam ending camera swivels onto Bond as on the N64, and rockets no longer pass through the ground. -- **New settings:** fullscreen mode, center window, crosshair opacity and - crosshair colour by health, a scalable HUD overlay, and an optional update - check (off by default). +- **New settings:** an optional crosshair when not aiming, a custom + crosshair colour (0-255 RGB, like the Perfect Dark port), fullscreen mode, + center window, crosshair opacity and crosshair colour by health, a scalable + HUD overlay, and an optional update check (off by default). Played on Windows and Steam Deck: campaign spot-checks, 2-4 player split-screen and controller-only sessions. @@ -188,6 +189,10 @@ Menu and settings work: - Crosshair mouse pointer and scrollbar (D555, D556); long tips no longer cut off inside a level (D558). New defaults: Crouch Toggle, Look ahead off (D556, D557); same for untouched empty save folders (D559). +- Crosshair when not aiming, opt-in (D436, #123 by dolent). Crosshair colour is + Original or Custom RGB with 0-255 sliders, as in the Perfect Dark port; a + saved named preset carries over as Custom (D569). Long dropdowns stay on + screen (D568). - F10 overlay mouse behaviour (D544). Static title bar and new icon (D550). - Overlay slider wedges, markers and dropdown arrows used to step in whole canvas pixels and grew visibly at large window sizes; now smooth (D520). @@ -268,7 +273,7 @@ a cross-platform pixel-parity claim. ## Thanks -Outside contributions merged for this release: dolent (PRs #120–#122), MST246 +Outside contributions merged for this release: dolent (PRs #120–#123), MST246 (#125 draw-distance investigation), italoarruda (#109 gamepad-preset ideas), TenebrusoM (DexDrive / the D514 save-format sample), plus reporter credits on the issue numbers named above. diff --git a/README.md b/README.md index 3a4fa30c..7dcfd13f 100644 --- a/README.md +++ b/README.md @@ -219,8 +219,8 @@ Backspace. button names. - **Rebindable controls** for keyboard, mouse and each controller. - **HUD and crosshair options:** HUD scale (also scales the in-game options - menu), an optional customizable crosshair with adjustable opacity and a - health-based color, and a no-hit-flash option. + menu), an optional crosshair when not aiming, a custom RGB crosshair color + with adjustable opacity and a health-based color, and a no-hit-flash option. - **Full audio:** in-level music and sound effects, with music, FX and master volume and a choice of output device. - **An in-game options overlay** (F10 / pad Select) for all of the above, @@ -604,7 +604,7 @@ This port is a thin layer on a large amount of other people's work. **Contributors** -- **dolent** (#120, #121, #122), **italoarruda** (#107, #109), +- **dolent** (#120, #121, #122, #123), **italoarruda** (#107, #109), **JosephAHK** (#133), and **MST246** (the #125 investigation), plus everyone who filed issues. diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 00801d3e..44cfe528 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -211,7 +211,7 @@ Background research lives in the maintainer's local notes (gitignored): | Control style Original shows the game's own N64 styles | verify | #139 follow-up, D516, D517 | **Landed 2026-10-04 (D516, merged @ 91595597):** "Controller style" row (Original only; the game's own 1.1-2.4 per seat, saved to the Bond file; front end reads "(in a mission)"); D498 presets hidden in Original. **D517:** hold-repeat on any Bond row dropped fps (EEPROM rewrite per detent); now staged like sliders. Live passes 2026-10-04 (maintainer): single player + split-screen 2P with different styles per seat. **Owed:** the 2.x second-pad pass (real second controller). | | Pad layout preset per player (setting P2's no longer moves P1) | verify | D518, D498 follow-up | **Landed 2026-10-04 (D518):** `Input.PadPreset` kept as seat 1's key + new `Input.PadPreset2/3/4`; the F10/front-end preset row follows the Select-player seat. Headless GE_PADMAPTEST PASS; **live passes 2026-10-04** (P2 change leaves P1 alone; split-screen: each seat ran its own preset). | | Control scheme selectable: Ext / Original control style | verify | #139, D513, D498, D166 | **Landed 2026-10-04 (D513, merged into `release/v0.4.1`).** `Input.ControlScheme` (row "Control style", Ext default / Original) on the Controller page, both UIs. Original leaves the game's own style alone; D498 presets set layout and stick swap only in Original; 2.x runs faithfully; global in v1, per seat with the Select Player work. **Owed:** pad pass in both modes, watch-selected 1.1-1.4, split-screen 2P with different styles, 2.x with a second pad. | -| Outside PRs #107–#109, #122–#124 | decided | #122 hot-plugged pads never reopen, #123 persistent crosshair (`gunfire.c`), #124 compact health/armour bars (`bondview2.c`); #107/#108/#109 (italoarruda) | **Decided 2026-10-01:** **#120/#121/#122** merged locally (#122 = D450); close on push. **#123**: accept-with-changes, deferred (Original N64 preset, relabel D436, Rule-2 line, 2P + sniper-zoom check). **#124**: deferred (ignores HudScale, overlaps status text, ultrawide anchoring, split-screen untested). **#133**: duplicates D472; close as superseded on push. **#109** (pad rebinding): decline as-is; supersede with our pad presets (§5a), crediting the author (Co-authored-by). **#107**: folded into D441; close on push. **#108**: belongs with `macos`; ask for a range check. | +| Outside PRs #107–#109, #122–#124 | decided | #122 hot-plugged pads never reopen, #123 persistent crosshair (`gunfire.c`), #124 compact health/armour bars (`bondview2.c`); #107/#108/#109 (italoarruda) | **Decided 2026-10-01:** **#120/#121/#122** merged locally (#122 = D450); close on push. **#123**: merged 2026-10-06 into v0.5.0 (D436; presets set it off, tip, Rule-2 signed off; by-eye hipfire / sniper zoom / 2P owed). **#124**: deferred (ignores HudScale, overlaps status text, ultrawide anchoring, split-screen untested). **#133**: duplicates D472; close as superseded on push. **#109** (pad rebinding): decline as-is; supersede with our pad presets (§5a), crediting the author (Co-authored-by). **#107**: folded into D441; close on push. **#108**: belongs with `macos`; ask for a range check. | | Gamepad presets: duplicate-binding warning, Xbox stick behaviours | open (after v0.5.0; documented in the README) | D469, D498, D518, D394 | D469 (pad action table, Jinx 1.1 default, Custom per-seat bindings), **D498** (Xbox 1.2 Christmas / 1.3 Frost / 1.4 Elektra) and the per-seat preset (**D518**) are done and maintainer-verified with pads. Not done (maintainer 2026-10-04: skip in game for v0.5.0, document only): a warning when two actions share a button; the Xbox "left stick aims the crosshair" and "D-pad copies the left stick" behaviours (D394). | | Pad button names on a Nintendo pad | verify | D471; local note `PAD-MENU-AUDIT.md` | Audit done 2026-10-01 (no controller-only trap; D472 fixed G1-G3). D471 family button names + player LEDs: **PS5 DualSense verified 2026-10-03.** **Owed:** a Nintendo (Switch) pad check; the maintainer has no such pad, so this waits for one or for a user report. | | Mute and auto-pause on focus loss; PNG screenshots to `screenshots/` | parked | D231, PR #56 (closed unmerged), `docs/dev/notes/parked/0001-QoL-*.patch` (local) | Deprioritised by the maintainer on 2026-09-25. F12 today is the dev PPM dump. |