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` start a TWO PLAYERS GRAFFITI game with two
  pads and check that the sides of the picture are drawn, that each
  player's HUD is at the left edge of their own view, and that each pad
  controls its own player. `two-players-43` checks that the setting
  changes nothing at 4:3. Optional sessions keep before and after
  pictures.
- Docs: MANUAL (the `split` key and the menu row), KNOWN-ISSUES,
  CHANGELOG, THIRD_PARTY, the internals note, and the tools README (the
  setting and the new sessions).
- 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, CHANGELOG, and the tools README (the `border` row and the crop
  sessions).
- 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 test README (new sessions, the `ports` control command)
  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. One value
  sets how far the gameplay camera sees, and the culling and the fog
  follow it. Only that camera is changed; the sky and the menus are left
  alone.
- The game reports how full its display list and matrix pool are, so the
  host can step back before they fill up.
- Ten new data addresses for USA v1.1 and v1.0 (Europe uses the v1.1
  ones).
- An opt-in test session, `dd-probe`, for exploring the setting (not
  part of the suite).
- Docs: the MANUAL (Graphics tab, `graphics.cfg` row), CHANGELOG,
  KNOWN-ISSUES (what was tested), the recomp-host README.
- The course items are drawn in passes. The renderer keeps the frame's
  meshes in a fixed queue of 512 and drops the rest, so in Streets a
  long distance lost the near grass, rail and road from x2.5 up.
- The matrix pools hold 2048 matrices instead of 500 (Downtown needs
  about 560 at Full).
- The governor also watches the mesh queue, a second 64-entry list and
  the frame end's reset list.
- `dd-probe` gets vantages, traces and restart points, and a new opt-in
  session `dd-2p` checks two players.
- Full also draws the course items the game hides by area until you are
  near (Mall's corridors, Downhill Jam's lower end), for the draw call
  only; items hidden by an event stay under the game's control. New
  suite tests `dd-event` and `dd-downhill`.
- The bigger matrix pools are always set up at start-up, so the setting
  takes effect at once, and only when the heap has room.
- 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`.
- School's gym stays with the game's zones: from outside the game draws
  a stand-in seen through the door and keeps the real interior hidden,
  and Full drew the interior into it. The rule applies only in School,
  recognised by the gym's shell.

Made with AI assistance.
- BUILDING.md: on Windows use `python` (or `py`) instead of `python3`,
  and write `THPS1_ROM` as `C:/...` in Git Bash. A link to the Windows
  test checklist. How `tools/check.sh` shares the build's runtime.
  `--first-run` needs `build_host.py --split` first. `build/tests/out/`
  can be deleted. How to test Europe and USA v1.0.
- `tests/scenarios.py` lists the one screen that looks different in
  Europe (the LOAD DATA list with a saved note) in `OWN_REFS`, so
  `test.sh --version thps1_eu --record` records Europe's own picture.
- WINDOWS-TEST.md's suite step uses `tools/test.sh`. VERIFICATION.md and
  the test README say where another release'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 doesn't happen in v0.1.0: at 46 spots in four levels,
  culling 4x wider than widescreen needs changed nothing on screen.
- Adds three tests, at 21:9, 16:9 and window-fit (`dropout-219`,
  `dropout-169`, `dropout-fit`), that would catch it if it ever came
  back. They use the host's new `present_cmp` step.

Made with AI assistance.
- Docs: Frame Rate is Original (30) or 60, default 60 (THPS64Host v0.2.0
  removes "Match display" and 120).
- Tests: the frame-pacing session comments match the new options.
- 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 settings screenshot shows the v0.2 Graphics tab.
- 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 77ce094 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