diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index b78a607..7673c23 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -25,8 +25,8 @@ body: id: version attributes: label: App version - description: The release (for example v0.1.0-preview) and which zip, or the commit if you built it yourself. - placeholder: v0.1.0-preview, macOS zip + description: The release (for example v0.3.0) and which zip, or the commit if you built it yourself. + placeholder: v0.3.0, macOS zip validations: required: true - type: dropdown diff --git a/CHANGELOG.md b/CHANGELOG.md index 25ce675..6fdaf39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,15 @@ All notable changes to THPS2 64: Recompiled are listed here. The format is based ## [Unreleased] +## [0.3.0] - 2026-11-07 + +The first full release, after two early previews. Built on THPS64Host v0.3.0. It runs the USA and Europe releases of the N64 +game, on macOS (universal) and Windows x64. + ### Changed - Built on THPS64Host v0.3.0. +- No longer an early preview. A few parts of the game still haven't been played through by hand on this build (the park editor, + split screen in a level, replays and most competitions); [Known issues](docs/KNOWN-ISSUES.md#untested) lists them. - Draw distance at Full draws the areas the courses hide by zone again, and only those: each course's trigger file is read at its start to tell the zones the game hides for distance from the ones that hold course state (The Hangar's crashed ceiling and its floor's light overlays), which stay as the game sets them. Rooms (a zone the course hides from its own doors, one @@ -120,6 +127,7 @@ less hand play than THPS1; see the README. - B didn't go back in menus that draw a 3D scene (Create-a-Skater, the pause menu, the screens over a level). - Windows: the settings migration was never saved, and the frame-interpolation time budget never applied. -[Unreleased]: https://github.com/THPS64Recomp/THPS2-64Recomp/compare/v0.2.0-preview...HEAD +[Unreleased]: https://github.com/THPS64Recomp/THPS2-64Recomp/compare/v0.3.0...HEAD +[0.3.0]: https://github.com/THPS64Recomp/THPS2-64Recomp/releases/tag/v0.3.0 [0.2.0-preview]: https://github.com/THPS64Recomp/THPS2-64Recomp/releases/tag/v0.2.0-preview [0.1.0-preview]: https://github.com/THPS64Recomp/THPS2-64Recomp/releases/tag/v0.1.0-preview diff --git a/README.md b/README.md index be28eee..e84d14a 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,18 @@ # THPS2 64: Recompiled -A native PC port of *Tony Hawk's Pro Skater 2* for the Nintendo 64, for macOS and Windows, as an **early preview**. Built with +A native PC port of *Tony Hawk's Pro Skater 2* for the Nintendo 64, for macOS and Windows. Built with [N64Recomp](https://github.com/N64Recomp/N64Recomp), [N64ModernRuntime](https://github.com/N64Recomp/N64ModernRuntime) and [RT64](https://github.com/rt64/rt64). ![A pop shove-it in The Hangar at 21:9](docs/screenshots/hangar-21x9.jpg) -### [Download the latest preview](https://github.com/THPS64Recomp/THPS2-64Recomp/releases) (v0.2.0-preview) +### [Download the latest release](https://github.com/THPS64Recomp/THPS2-64Recomp/releases/latest) (v0.3.0) -See also: [THPS1 64: Recompiled](https://github.com/THPS64Recomp/THPS1-64Recomp) (v0.2) and -[THPS3 64: Recompiled](https://github.com/THPS64Recomp/THPS3-64Recomp) (early preview). +See also: [THPS1 64: Recompiled](https://github.com/THPS64Recomp/THPS1-64Recomp) (v0.3) and +[THPS3 64: Recompiled](https://github.com/THPS64Recomp/THPS3-64Recomp) (v0.3). **This repository doesn't contain the game. You need your own dump of the N64 cartridge.** The app builds the game from it on the first start. -## Early preview - -THPS2 64: Recompiled uses the same host as THPS1 64: Recompiled and passes its own automated test suite, but it has had much -less hand play. Expect bugs we haven't seen, and back up your `saves/` folder before you rely on a career. Your reports -decide what gets fixed next: [docs/TESTING.md](docs/TESTING.md) says what to try, and **Unlock All Levels** in -the Cheats tab gets you to every level quickly. - ## Supported dumps | Release | SHA-1 (`.z64`) | @@ -72,14 +65,14 @@ change a row yourself, the preset shows Custom. ## Install **macOS** -1. Download `THPS2-64Recomp-v0.2.0-preview-macOS-universal.zip` and unzip it. +1. Download `THPS2-64Recomp-v0.3.0-macOS-universal.zip` and unzip it. 2. Move **THPS2 64 Recompiled.app** to Applications. 3. Open it. macOS blocks the first open because the app isn't notarized: - macOS 15+: System Settings > Privacy & Security > **Open Anyway**. - macOS 13-14: right-click the app > **Open** > **Open**. **Windows** -1. Download `THPS2-64Recomp-v0.2.0-preview-Windows-x64.zip` and extract it to a folder you can write to (not Program Files). +1. Download `THPS2-64Recomp-v0.3.0-Windows-x64.zip` and extract it to a folder you can write to (not Program Files). 2. Run `THPS2-64Recomp`. If SmartScreen appears: **More info** > **Run anyway**. **First start:** choose your ROM dump (or drop it on the window). The app checks it and builds the game, which takes a @@ -106,7 +99,6 @@ All bindings and the N64 layout: [docs/MANUAL.md](docs/MANUAL.md). ## Known issues -- An early preview: this list is incomplete. - A short freeze when a level loads. Full list: [docs/KNOWN-ISSUES.md](docs/KNOWN-ISSUES.md). @@ -114,7 +106,7 @@ Full list: [docs/KNOWN-ISSUES.md](docs/KNOWN-ISSUES.md). - **Bugs:** use the [bug report form](https://github.com/THPS64Recomp/THPS2-64Recomp/issues/new/choose). Attach `crash.log` if the app crashed. - **Questions and play-testing notes:** [Discussions](https://github.com/THPS64Recomp/THPS2-64Recomp/discussions). -- **What to try:** [docs/TESTING.md](docs/TESTING.md). +- **What to try:** [docs/TESTING.md](docs/TESTING.md). **Unlock All Levels** in the Cheats tab gets you to every level quickly. - Never attach your ROM or files built from it. ## Building from source diff --git a/docs/KNOWN-ISSUES.md b/docs/KNOWN-ISSUES.md index 627aaa9..6038583 100644 --- a/docs/KNOWN-ISSUES.md +++ b/docs/KNOWN-ISSUES.md @@ -1,16 +1,9 @@ # Known issues -What isn't finished or hasn't been checked in v0.2.0-preview. "Untested" means the code exists but hasn't been run in that +What isn't finished or hasn't been checked in v0.3.0. "Untested" means the code exists but hasn't been run in that setting. Problems fixed before this release are in the [CHANGELOG](../CHANGELOG.md). Found something that isn't here? [TESTING](TESTING.md) says how to report it. -## Early preview - -THPS2 64: Recompiled is an **early preview**. It shares its host with THPS1 64: Recompiled v0.1 and passes its own automated -suite, but it has had much less hand play than THPS1, so this list is likely incomplete. These parts of the game haven't -been played through by a person on this build: the park editor, split screen in a level, replays and most competitions. -[TESTING](TESTING.md) lists what we'd like you to try. - ## Platforms - **macOS (one universal app) and Windows x64 only.** Linux isn't in this release: its code builds in CI, with stand-in @@ -47,8 +40,10 @@ been played through by a person on this build: the park editor, split screen in - **Frame interpolation** at 60 Hz and up pairs 97 % or more of the moving parts between game frames in the Hangar (the first career level) and the menus. Other levels have cars and other moving objects whose pairing hasn't been checked. Replays and cutscenes are untested. -- **Each level start freezes the picture briefly** while the game loads the level (about 0.16 s, 0.2 s in the first - preview), and the **attract demo** has short stalls every ten seconds or so. +- **Sliding text moves in steps at 60 fps**: text that slides across the screen, such as a course title or a menu sliding + in, moves only on the game's own frames (30 per second), so it looks less smooth than the 3D picture. +- **Each level start freezes the picture briefly** while the game loads the level (about 0.16 s), and the + **attract demo** has short stalls every ten seconds or so. - RT64 **compiles shaders the first time an effect appears**, which causes short hitches. - With the window hidden or covered, the app stops presenting frames; the game keeps running. - Apple GPUs have no 8x MSAA; asking for it turns MSAA off. @@ -58,12 +53,14 @@ been played through by a person on this build: the park editor, split screen in applies at once. No restart is needed. Parts of a course the game hides by area appear only as you get near them, as in the original game, and a few far pieces the game never drew from that distance can look odd (the Hangar: a dark patch on the far wall). +- **School II's sky** shows two colours, split across the sky, and the split can shift as you skate. It looks the same + at draw distance Original, so it comes from the game's own sky. ## Stability -- **A crash in the graphics layer** (inside RT64, seen in all three games under load) is fixed in this release. - No long soak yet; every suite run plays four courses back to back - (`course-cycle`), the path of the crash fixed in this release. +- **A crash in the graphics layer** (inside RT64, seen in all three games under load) was fixed in v0.2. + No long soak yet; every suite run plays four courses back to back (`course-cycle`), the path of that crash. + ## Input and saves - **Player 2:** by default the first controller to press a button is player 1 and the next is player 2. The Controls diff --git a/docs/TESTING.md b/docs/TESTING.md index 18f524b..24bd1a9 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md @@ -1,14 +1,10 @@ # Testing THPS2 64: Recompiled -**THPS2 64: Recompiled is an early preview** (v0.2.0-preview). Here is what that means: - -- It uses the same shared host as THPS1 64: Recompiled v0.1 and passes its own automated test suite on macOS. -- It has had much less hand play than THPS1: a few sessions, on one Windows PC and one Mac. Whole parts of the - game (the park editor, split-screen play, replays, most competitions) have never been played through by a person on this build. -- Expect bugs we have not seen. A crash, a freeze, a wrong picture or a lost save are all possible, so back up - `saves/` before you rely on a career. -- It is labelled a preview so that players can help test it now. - Your reports decide what gets fixed before a v0.1 of this game. +THPS2 64: Recompiled v0.3.0 is the third public release and the first full release, after two early previews. It uses +the same shared host as THPS1 64: Recompiled and passes its own automated test suite on macOS and Windows, but it has had much less +hand play than THPS1: a few sessions, on one Windows PC and one Mac. Whole parts of the game (the park editor, +split-screen play, replays, most competitions) have never been played through by a person on this build. If you play it, +your reports are the most useful thing you can send us. Please read [KNOWN-ISSUES](KNOWN-ISSUES.md) first, so you can skip what we already know about. @@ -69,7 +65,7 @@ Use the [bug report form](https://github.com/THPS64Recomp/THPS2-64Recomp/issues/ play-testing notes go to [Discussions](https://github.com/THPS64Recomp/THPS2-64Recomp/discussions). Please include: 1. **The game and release**: for example "Tony Hawk's Pro Skater 2, USA". Run the app with `--check-rom FILE` if you are not sure which dump you have. -2. **The app version**: this one is early preview, v0.2.0-preview; say which zip you downloaded (macOS or Windows). +2. **The app version**: this one is v0.3.0; say which zip you downloaded (macOS or Windows). 3. **Your system**: macOS version and Mac model, or Windows version, CPU and GPU. The display's refresh rate (60 Hz, 120 Hz...). 4. **Your settings**: attach `general.cfg`, `graphics.cfg` and `controls.cfg` from the config folder (plain text, no game data), or name the settings you changed. Controller or keyboard, and which controller. diff --git a/docs/VERIFICATION.md b/docs/VERIFICATION.md index af089f6..21269ba 100644 --- a/docs/VERIFICATION.md +++ b/docs/VERIFICATION.md @@ -28,7 +28,32 @@ sections (3,908 functions per release with them, 0 warnings), see [docs/internal `decomp/thps2/recomp-host/tools/test.sh` starts the host once per session and drives the game by pad input, waiting for checkpoints (recognised screens) instead of sleeping. The four launcher scenarios need the optional launcher build, which is not part -of this repository, and are skipped. Results on the developer (static) build, macOS, 2026-10-15 (the release candidate's full gate): +of this repository, and are skipped. + +**v0.3.0** (the release code; macOS on an Apple M2 Pro and Windows on the PC below, 2026-11-05 and 06; pass / fail / skipped): + +| Release | macOS | Windows | +|---|---|---| +| USA | 97 / 0 / 4 | 97 / 0 / 4 | +| Europe | not run | front end and course cycle: 14 / 14 | + +Both platforms also pass the first-run tests, and macOS passes the draw distance sessions at Full. The Windows zip passes the +bundle check, the full ROM scan against every dump and an install test. Hand play on both platforms found nothing beyond the +known issues. v0.3 adds a recorded-ride session and a check that reads each course's zone table. + +**v0.2.0** (the release code; macOS on an Apple M2 Pro and Windows on the PC below, 2026-10-27; pass / fail / skipped): + +| Release | macOS | Windows | +|---|---|---| +| USA | 97 / 0 / 4 | 97 / 0 / 4 | +| Europe | 96 / 0 / 4 (2026-10-26, before the last playtest fixes) | not run | + +Both platforms also pass the first-run tests, the settings and controls config tests, the menu sessions and the draw distance +sessions at Full (22 / 22 on both). The release zips pass the bundle check, the full ROM scan against every dump and an +install test. v0.2 adds scenarios for draw distance, Picture Border, the wide split screen, the presets and fog, and the +menu's row navigation. + +**v0.1.0:** results on the developer (static) build, macOS, 2026-10-15 (the release candidate's full gate): | Release | Pass | Fail | Skipped | |---|---|---|---| @@ -63,6 +88,9 @@ the Windows zip (unzip, first run builds the game in about 15 s, 30 s of play, e **Windows, release candidate** (2026-10-17, the same PC, the release line with the course-cycle fix): the static build passes **56 passed, 0 failed, 4 skipped** for USA and for Europe, including `course-cycle`; the first-run tests pass; the zip passes the bundle check and the full ROM scan; the install test passes. +**Windows, v0.2.0** (2026-10-27, the same PC, the release code): USA **97 passed, 0 failed, 4 skipped**; first-run, +config and menu tests pass; at Full 22 / 22; the zip passes the bundle check, the full ROM scan against every dump and the +install test. ## 4. Small checks that need no ROM [machine]