Skip to content

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).