Skip to content

Move to THPS64Host v0.2.0 and add this game's parts of its features - #1

Merged
trentw merged 9 commits into
mainfrom
v0.2
Oct 28, 2026
Merged

trentw merged 9 commits into
mainfrom
v0.2

Conversation

@trentw

@trentw trentw commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Moves to THPS64Host v0.2.0 and adds this game's parts of its features.

What changes for players

  • Everything in THPS64Host v0.2.0: split screen, Picture Border, rebinding, shorter level starts, presets, Frame Rate.
  • Draw distance for this game: much more of each course is drawn at 2x to Full.
  • The 21:9 far-wall known issue is gone.
  • New installs start with the Enhanced preset.

Testing: the full test suite on macOS and Windows, each commit checked on its own, and playtests.

Known issues: KNOWN-ISSUES lists what draw distance still does oddly.

Made with AI assistance.

- Uses the matching change in THPS64Host v0.2.0.
- New sessions `two-players-169`, `two-players-219` and
  `two-players-169-hudorig`: a TRICK ATTACK game with two pads; the
  sides of the picture are drawn, the HUDs are at the outer edges, each
  pad controls its own player.
- Docs: MANUAL, KNOWN-ISSUES, CHANGELOG, THIRD_PARTY; the README's known
  issue "split screen stays 4:3" is gone.
- New session `two-players-169-splitorig`: at split Original each
  player's HUD stays with its view and the side bands are black.

Made with AI assistance.
- Uses the matching change in THPS64Host v0.2.0.
- The crop sessions: `crop` (16:9, also switches the menu row back and
  forth), `crop-219`, `crop-43`, and `border-default` (the default keeps
  the frame and changes nothing).
- New session `two-players-169-crop`: two players at 16:9, paused. Both
  views reach the window's edges, and switching the border back to
  original brings the black frame back and changes nothing else.
- MANUAL and CHANGELOG.
- The setting's values are `original` and `fill` (Graphics > Picture
  Border: Fill).

Made with AI assistance.
- MANUAL: how to rebind, how trades and Default work, the presets,
  editing `controls.cfg`, and the Controllers list.
- KNOWN-ISSUES and the README: rebinding and player assignment are no
  longer listed as missing.
- CHANGELOG (the feature and the fix), the test README and the Windows
  checklist.
- MANUAL: changed bindings are marked in yellow, and Reset all to
  default puts every binding back to the layout; `menu-controls` checks
  both.
- Docs and tests: Default on one row after a swap (`menu-controls-row`),
  and a customised N64 layout keeps its base after a restart
  (`menu-controls-base`).

Made with AI assistance.
- The hooks file sends the game's `memset` and `memcpy` to THPS64Host's
  native versions. They are named `memset_recomp` and `memcpy_recomp`
  there, because N64Recomp renames functions that share a name with the
  C library.
- A new `lf-check` session in the suite times three course starts.
  `lf-probe` (opt-in) times all four in a visible window.
- KNOWN-ISSUES and the CHANGELOG give the new times; the test README
  describes the sessions.

Made with AI assistance.
- The game's side of the host's new Draw Distance setting, for USA and
  Europe.
- Full leaves the game's hidden items to the game: scenery it hides by
  area as you skate, secrets and things a goal reveals appear when the
  game shows them. Unhiding the areas hidden by box was tried and is
  off: in the Hangar those boxes also swap the floor's light overlays
  and keep the crashed ceiling hidden until its event. `dd showall all`
  still unhides everything, for exploring.
- Each course start gives the game room for 2048 matrices per frame
  instead of 420 (205 KB more), which Full needs in the busiest courses.
- Five new hooks (`World_DrawItems`, `Mem_Alloc`,
  `World_SetVisibilityInBox`, `World_FindItem`, `Mesh_QueueEmit`) and
  their names in the symbol files and recipes.
- Opt-in test sessions `dd-probe` and `dd-long` (not part of the suite).
- Docs: the MANUAL, CHANGELOG, KNOWN-ISSUES.
- The course items are drawn in passes. The renderer keeps the frame's
  meshes in two fixed lists and drops what doesn't fit, so at Full near
  items could vanish and the governor fell back to 1x in most courses.
- The governor also watches those lists.
- `dd-probe` gets vantages, traces and restart points, and a new opt-in
  session `dd-2p` checks two players.
- The course display lists are 144 KiB instead of 72, and the extra
  passes are drawn only while there is room for the rest of the frame.
  At Full, School II could overrun the game's 72 KiB list and damage the
  heap (a crash in one run in three).
- The bigger matrix pools and display lists are always set up, and only
  when the heap has room. A shorter distance applies at once; a longer
  one at the next RETRY, course or camera change.
- A new test session `dd-stress` and the display-list probes.
- Tests for the review fixes: `dd-heap-plan` (a constrained heap keeps
  the game's sizes and nothing fails), RETRY keeps the zone record
  honest, `dd_stale_feedback`, `dd-cut` (a forced budget drops far
  items, never near ones), and `dd-stress` runs with guard bytes on.

Made with AI assistance.
- BUILDING.md: the same Windows, runtime, `--first-run` and test-output
  notes as THPS1, and how to test Europe.
- `tests/scenarios.py` lists the screens that look different in Europe
  (the main menu wheel with CAREER MODE and with CREATE SKATER on top,
  and the Create Skater roster) in `OWN_REFS`, so `test.sh --version
  thps2_eu --record` records Europe's own pictures.
- WINDOWS-TEST.md's suite step uses `tools/test.sh`. VERIFICATION.md and
  the test README say where Europe's pictures go.

Made with AI assistance.
- The THPS64Host submodule, and the CI and release workflows (`@v0.2.0`,
  `host-tag: v0.2.0`), move to v0.2.0.
- CHANGELOG: built on THPS64Host v0.2.0.

Made with AI assistance.
- Removes "at 21:9, a far wall can drop out at the right edge" from
  KNOWN-ISSUES. It was reported in THPS1, where it doesn't happen in
  v0.1.0, and the widescreen code involved is shared by all three games.

Made with AI assistance.
- Docs: Frame Rate is Original (30) or 60, default 60 (THPS64Host v0.2.0
  removes "Match display" and 120).
- Tests: a new opt-in session `pace` measures the frame pacing of the
  attract demo or a ride.
- Docs: the Graphics presets (Original and Enhanced) and the fog option
  (Original, Soft, Off; `graphics.cfg` and `--fog`, default Original) in
  the MANUAL and CHANGELOG.
- Tests: `fog-check` in the suite (Soft rewrites the game's fog command;
  Original after Soft gives the same picture) and the opt-in `fog-shot`.
- Test `fresh-defaults`: a first start with no graphics.cfg runs with
  Enhanced (Fill, Full) from the first frame.
- README: the v0.2 features, an Original or Enhanced section (a table of
  the six settings and a comparison screenshot), and the fixed 21:9
  known issue removed.

Made with AI assistance.
@trentw
trentw merged commit 8658493 into main Oct 28, 2026
6 checks passed
@trentw
trentw deleted the v0.2 branch October 28, 2026 01:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant