Skip to content

Releases

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 01:50

The first full release, after two early previews. Built on THPS64Host v0.3.0. It runs the USA release 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;
    Known issues lists them.
  • Full draw distance restores only the zones the game hides for distance. Zones that hold course state, and boxes it can't
    classify, stay under the game's control.
  • Tests: test rides claim a controller before steering, and an opt-in session records and replays a complete ride.

Fixed

  • Scene objects use the active draw distance in their shared model pass. At Full, the Canada trees and trunk no longer appear
    late, while course-state visibility stays under the game's control.
  • Eight courses had frames the renderer split into many separate passes; they are drawn in one pass again.
  • Skating tests read the actual physics dispatch state; a missing ollie now fails instead of warning.

Built on THPS64Host v0.3.0.

Check a download against SHA256SUMS with shasum -a 256 -c SHA256SUMS (macOS) or Get-FileHash (Windows).

v0.2.0-preview

v0.2.0-preview Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 04:26

The second early preview, built on THPS64Host v0.2.0: split screen, Picture Border, rebinding, draw distance and the
Original and Enhanced presets. It runs the USA release of the N64 game, on macOS (universal) and Windows x64.

Added

  • Graphics > Picture Border (border = fill, --border fill): the 3D picture reaches the edges of the window, without
    the thin black frame the game leaves for a TV's overscan. It shows a little more of the scene at the same size (no
    zoom). Menus and loading screens keep their own frame. In a two-player split screen, both views reach the edges too
    and meet at the game's thin divider line in the middle.
  • Rebinding in the settings menu: the Controls tab has a row per N64 input with two controller slots and two keyboard
    slots. Choose a slot and press the new button or key; a button another action uses trades places with it, and
    Default puts a row back. A slot that differs from the layout shows in yellow, and Reset all to default (it asks first)
    puts every binding back. Changes work at once and are saved to controls.cfg (MANUAL).
  • A Controllers list in the Controls tab: which controller is player 1 or 2, what it is pressing right now, and buttons
    to swap players or give a controller either player. One controller on player 2 with the keyboard alone on player 1
    makes a two-player game with one controller. The choice lasts until you quit.
  • Test sessions menu-controls, menu-controls-reload and menu-ports (virtual pads).
  • Draw distance (Graphics tab, draw_distance in graphics.cfg, --draw-distance): Original (the game as it
    was), 2x, 4x and Full (the whole course; scenery the game hides by area as you skate, secrets and items a goal
    reveals stay hidden until the game shows them). It applies without a restart. A shorter distance applies at
    once; a longer one reaches the far scenery after a RETRY, the next course or a camera change. Every course start sets up
    bigger matrix buffers, vertex pools and display lists (144 KiB instead of 72), of which the game uses only its own part at Original.
    It steps back on its own if a frame comes close to filling the game's buffers. dd_buffers = original in graphics.cfg (--dd-buffers original; not in the menu)
    keeps the game's own buffers and memory layout exactly; it needs a restart.
  • Fog (fog in graphics.cfg, --fog; not in the menu or a preset): Original (the default), Soft or Off. The game's
    fog is thin by design, a haze over the far end of the view (in most courses the last eighth). Soft starts it at 70 %
    of the draw distance, so far scenery fades in instead of popping in; Off shows a long draw distance most clearly. At
    Full draw distance the game's fog is far beyond the courses, so Soft looks like Original there. Test sessions
    fog-check (in the suite) and fog-shot (opt-in pictures).

Changed

  • Built on THPS64Host v0.2.0.
  • Frame Rate (Graphics tab, refresh in graphics.cfg, --refresh) is now Original (30) or 60, default 60. "Match display"
    and 120 are gone: at 120 Hz (what "Match display" gave on a ProMotion Mac) the picture stuttered. A graphics.cfg with
    refresh=display or another rate moves to 60 once, with a log line.
  • Graphics > Preset (--preset original|enhanced): Original sets 4:3, the HUD in the 4:3 area, the 4:3 split screen,
    the black frame, 30 fps and the game's draw distance, as on the N64. Enhanced sets 16:9, the HUD at the screen edges,
    the wide split screen, Picture Border Fill, 60 fps and Full draw distance. Choosing one replaces your choices in those
    six rows; Custom shows when they match neither. A new install starts with Enhanced. An existing graphics.cfg keeps
    its values, and a setting it lacks takes the new default (so an older file gets Picture Border Fill and Full draw
    distance). Fog is in neither preset.
  • Removed the known issue "at 21:9, a far wall can drop out at the right edge". 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.
  • Two-player split screen fills the picture in widescreen (16:9, 21:9, following the window): each player's view is widened
    to its half, and each player's HUD sits at its own view's edge (also with HUD Placement original). 4:3 is unchanged.
    It's on by default; Graphics > Two-Player Split Screen (split, --split original) keeps both views in the 4:3 area,
    each with its HUD inside it, and black bands at the sides.
  • Level starts freeze the picture for about 0.16 s instead of 0.2 s: the shared host unpacks the game's data twice as
    fast and runs the game's memset and memcpy natively.
  • BUILDING.md: on Windows use python instead of python3 and a C:/... path in THPS3_ROM, with a link to the Windows
    test checklist; how tools/check.sh shares the build's runtime; --first-run needs build_host.py --split first; where
    the test output goes.

Fixed

  • With a controls.cfg that matches no preset (edited by hand), Xbox B flipped and grabbed at once while skating. The
    east button's split between flip and back now follows the bindings, not the preset name.

Built on THPS64Host v0.2.0.

Check a download against SHA256SUMS with shasum -a 256 -c SHA256SUMS (macOS) or Get-FileHash (Windows).

v0.1.0-preview

v0.1.0-preview Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 04:59

An early preview, released next to THPS1 64: Recompiled v0.1.0 and built on THPS64Host v0.1.0. It runs
the USA release of the N64 game, on macOS (universal) and Windows x64. It has had much
less hand play than THPS1; see the README.

Added

  • A first start that builds the game from your own dump, on your machine: the main program and its 16 front-end screens.
    On macOS it offers Apple's installer if the Command Line Tools are missing; the Windows zip brings its own compiler.
  • Native rendering through RT64 (Metal, Direct3D 12), scaled to the window, with MSAA 4x.
  • Widescreen: 16:9 by default, 21:9, or following the window. The in-level HUD moves to the screen edges
    (hud = expand); original keeps it in the centred 4:3 area.
  • Frame interpolation to the display's rate (60 Hz, 120 Hz on ProMotion) over the game's 30 fps.
  • The in-game settings menu (Esc, or Back on a controller): general, controls, graphics, sound and cheats.
  • An Xbox-style controller layout (tricks on the face buttons; B is grab while skating and back in menus) and the N64
    layout; keyboard and SDL controllers, two players, hot-plugging; every binding in controls.cfg.
  • Controller Pak saves as a standard 32 KiB .mpk file.
  • Cheats for testing: Unlock All Levels, Perfect Balance, Slow Motion, Skip to Restart and Always Special. They're off by
    default and named in the log and crash.log while on. The cheats aren't stored in the save; progress made with one on is
    saved as usual.
  • Portable mode: a portable.txt beside the app keeps settings and saves next to it.

Fixed

  • The game froze after PAUSE > RETRY (a message-queue deadlock in the Controller Pak path).
  • A strip at the left edge of the widescreen picture flashed with stale 3D.
  • At 60 Hz the skater moved in 30 Hz steps against a smooth background (too few transforms were paired).
  • Short pops in the sound when the audio output ran dry for a moment (found in THPS1; the fix is in the shared host). The
    output now fades out and back in instead of cutting.
  • A crash in RT64's display-list parser: the runtime told the game the graphics task was done before RT64 had read it
    (an N64ModernRuntime patch).
  • With one controller, the 2 PLAYER screens that wait for player 2 (choose skater, continue, handicap) locked up.
  • 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.

Built on THPS64Host v0.1.0.

Check a download against SHA256SUMS with shasum -a 256 -c SHA256SUMS (macOS) or Get-FileHash (Windows).