github GioPixelGH/Crash-Twinsanity-Windows v1.1.0
Crash Twinsanity for Windows 1.1.0

3 hours ago

The characters drawn as on the PS2 at high resolutions, 6x and 8x, supersampling, Dithering and Draw distance options, and a lighter renderer.

Important

You need your own copy of the game: a disc image of the PAL release (Europe/Australia, SLES-52568). The download has
none of the game's files or data. The program reads them from your disc image each time it starts.

Fixed: the characters' look

Crash, Cortex, Aku Aku and every other character looked rougher in the port than in PCSX2, at any setting (#15, #19, #24).
We put the port beside the PS2 game running in PCSX2, at the same moments, and found four causes, all in the port:

  • Stepped outlines. The game tints faraway things with a haze worked out from the depth of every pixel. The port worked
    it out at the PS2's resolution whatever the scale, so every outline against something far, like the sky, kept blocks
    the size of a PS2 pixel. The sky and clouds of the first boss's cutscene had the same problem. Both are now drawn at the
    resolution you choose: at 8x the blocks along the outlines dropped from 20-28 to 0.2-2.2 per 1,000 PS2 pixels, no more
    than PCSX2 shows in the same places (1.8-2.4).
  • Sharp-edged patches on the characters' bodies, such as two yellow triangles on Crash's snout, a pale strip on his
    chest and a lighter patch on his arm, had been there since 1.0. The PS2's vector unit writes the colours of a few
    vertices just after it sends them to be drawn, and the PS2 still picks them up; the port took the old colours. It now
    reads them when the PS2 does: in the first boss's cutscene the characters' colours now match the PS2 game's.
  • Thin black or red lines along the edges of the characters' parts (Cortex's nose and cheeks while he talks, around
    Crash's eyes). Triangles thinner than a PS2 pixel were left out at every resolution, and what was behind them showed
    through. They're drawn now.
  • Blurry textures at high resolutions. The port picked each texture's level of detail as if drawing at the PS2's
    resolution. It now picks it for the resolution you choose, as PCSX2 does, so textures are sharper at 2x and above.

About #15: the light green on Crash's chin and chest at the Iceberg Lab is the original game's coloured lighting, and stays.

New

  • 6x and 8x resolution (#19): Options > Display > Resolution now goes up to 8 times the PS2's picture (5120 x 4096).
    They need a strong graphics card. If your card can't hold one of the game's buffers at the chosen size, that buffer is
    drawn by the software renderer instead of failing, and the log says which.
  • Anti-aliasing by supersampling: Options > Display > Anti-aliasing now offers SSAA 2x and SSAA 4x besides FXAA. They
    draw the picture 2 or 4 times larger (up to 8x the PS2's) and shrink it to your window, for smoother edges. They cost the
    graphics card more: on our test PC (an RTX 4070 SUPER) at the default 2x resolution, its time per frame went from 1.3 ms
    to 2.2 ms with SSAA 2x and 5.4 ms with SSAA 4x. Off by default.
  • Dithering (#24): the PS2 game copies every frame into a 16-bit picture with a fine dither pattern, which the port
    reproduces and which can show on edges and in the sky. Options > Display > Dithering: as the PS2 (the default) or
    off, which keeps the picture's full colour, smooth and a little brighter. At the default setting, the beach measured
    as bright as in PCSX2 with its default settings.
  • Draw distance (from HAB3X's Mac port): Options > Display > Draw distance: short, original (the default, the
    PS2's), medium, long or unlimited. The farther settings draw the grass and small objects that otherwise pop
    in as you get close, and show the detailed models of trees and statues from farther before they switch to their simpler
    ones; unlimited draws everything however far. They cost the processor more: on the beach, unlimited has about twice as
    much to draw (132,000 primitives a frame against 65,000), which an older PC (#23, #12) will feel; short draws less. The
    game's distance haze stays as on the PS2: the far end of the view moves only where that wouldn't change the haze.

Faster

  • The renderer's work on the processor is about a quarter lighter, and VU1's about a tenth. On older processors that's
    what holds the game below 60 frames a second (#23, #12). On our test PC (an i7-8700K) at 1x with the frame rate
    unlimited, the beach went from 71 to 93 frames a second (the render thread from 14.1 to 10.7 ms a frame), from 35 to 45
    in one-thread mode, and from 55 to 63 with the game limited to two cores. Older processors should gain about as much,
    though some may still not reach 60. More work on speed is on the roadmap.
  • The memory card's free space is checked once instead of every frame (an idea from JoseXD2's Android fork).

Changed

  • High resolutions on smaller screens: when the game is drawn larger than your window or screen (8x on a 1440p screen,
    say), the picture is now shrunk by averaging its pixels whatever the anti-aliasing setting, as SSAA already did. Before,
    with anti-aliasing off or FXAA, the edges came back in steps.
  • The log now says which options you change while playing, and how long the graphics card takes for each frame beside
    the processor's threads, so a slow game can be told apart from a slow graphics card. Its paths write the settings folder
    as %APPDATA%\Crash Twinsanity.
  • Linux builds find the system's libraries on Arch, Fedora, openSUSE and other distributions, not only Debian's layout
    (#27, reported and diagnosed by Sathreumohta).

Still to come: the characters' shadows stay at the PS2's resolution, softer than the rest of the picture at high
resolutions (on the roadmap).

The game plays exactly as in 1.0.19: these changes are in how it's drawn.

If you hit a bug, please open an issue with
log.txt (or log.previous.txt, the run before) from %APPDATA%\Crash Twinsanity\ (or the User folder in portable mode)
and where in the game it happened.

How to play

  1. Download Crash-Twinsanity-Windows.zip below and unzip it anywhere.
  2. Run CrashTwinsanity.exe in the Crash Twinsanity folder. The program isn't signed, so Windows may warn about an
    unrecognised app: choose More info, then Run anyway.
  3. Pick your disc image when asked.

You need 64-bit Windows 10 or 11 and a graphics card with OpenGL 3.3. Your saves and settings from earlier versions are kept.
In portable mode, unzip the new version over the old folder: your User folder and portable.txt are never in the zip.

The download

  • Built from commit 3c26eee with LLVM-MinGW (clang 23).
  • Contains SDL 3.4.18 (zlib licence) and FFmpeg 9.0.2 (LGPL 2.1 or later, with only the MPEG-2 video decoder), with their
    licences in the licenses folder.
  • SHA-256 of Crash-Twinsanity-Windows.zip: d08f54ddee27946a54426699d93860045449dde346f7618eb37e48407cc2fc02

Don't miss a new Crash-Twinsanity-Windows release

NewReleases is sending notifications on new releases.