A Linux download, a skip for many more cutscenes, mods as the community ships them, new game options, SMAA, anisotropic filtering and 32:9, and fewer hitches.
Important
You need your own copy of the game: a disc image of the PAL release (Europe/Australia, SLES-52568). A translated or
modded copy of the PAL disc works too; the North American disc doesn't yet. The download has none of the game's files or
data. The program reads them from your disc image each time it starts.
New: Linux and the Steam Deck (#34)
Crash-Twinsanity-Linux-x86_64.AppImageis now beside the Windows zip: mark it executable and run it. It needs 64-bit
Linux with glibc 2.38 or later (Ubuntu 24.04, Linux Mint 22, Debian 13, Fedora 39, Arch and later ones). On older
distributions (Ubuntu 22.04, Debian 12, Linux Mint 21) it won't start; native/LINUX.md
explains how to build the program yourself there.- Each release's AppImage is built in Docker on Ubuntu 24.04 and started by the release's checks, which play the beach from
it. Settings, saves, mods and the log are in~/.config/crash-twinsanity. The options are the Windows version's, except
portable mode and the update check (the Linux version never connects to the internet). - The Steam Deck: on a Deck the first start is fullscreen on its 1280 x 800 screen, and the button prompts are the Xbox
controller's. LINUX.md has the steps to add it to Steam as a non-Steam game and a table of the buttons. It hasn't been
tried on a Deck yet: testers are wanted. Please tell us in #34 how it goes.
New: a skip for many more cutscenes (#28, #9)
With Skip cutscenes on (Options > Gameplay), holding any button now also skips many cutscenes that couldn't be skipped
before, like one of Cavern Catastrophe's, the Tiki Mon's, the party before the first fight with Cortex, Henchmania's fight
and the bus chase. The skip ends the scene's waits one after another, so the scene's scripts reach their end in a few
frames and leave the game as watching it would. It's TwinsanityEvolved's skip, used with its author's permission (see the
credits below). We played the game's scripted cutscenes watched and skipped from the same start and compared what each
left: 35 of the 51 now skip and end as when watched. The others play as before (whole, or skipped as in 1.1.0), until
they're checked.
Classroom Chaos' start, one of the two scenes that ended differently when skipped (#9), now ends as when played. The other,
the bear, was compared again: skipped and watched, it ends alike.
New: mods as the community ships them (#36)
- Sound effects right with a mod's levels. Community mods put in the mods folder played with garbled sound effects, while
the same mods built into a modified disc image played right. The sound banks of a mod's files were read from the wrong
place. Now they're read as the game's own, byte for byte. - Mod Crates (Crate Mod Loader's mods) work as they come, new levels included: each mod is a folder in the mods folder,
a Mod Crate or files laid out as the disc's. Files put straight in the mods folder still work as before. - Options > Mods: a mod's zip, or a changed disc image, put in the mods folder is imported as only the files it changes
(Import mods). The page lists the mods: turn each on or off and choose their order (the first wins where two change the
same file). Changes apply from the next start. - Your saves stay apart: while any mod is on, the game saves on a memory card of its own for that set of mods.
- A mod's changes to the game's program don't apply (the port has its own program): the Mods page and the log say when a mod
has some. - Tried with two of the community's mods, Padoru Pandemonium and Kaizo NitroInsanity.
- The modding guide (native/MODDING.md,
and MODDING.txt in the zip): a first mod step by step, what the port reads, the game's files, the community's tools, the
limits and how to share a mod.
New: game options (Options > Gameplay, all off by default)
- Infinite lives: a death costs no life. Lives you collect still count, and your saves stay ones the original game makes.
- Stronger Aku Aku (#30): with one or two masks, a TNT or Nitro blast takes a mask instead of a life, as in the earlier
Crash games. With three masks, or while blinking after a hit, blasts don't hurt. It's new: if it misbehaves somewhere,
please tell us in #30. - Slide jump (#11, #35): original, any moment (the long jump from the slide's very first moment) or easier
(any moment, a jump pressed just after the slide ends still counts, and you can steer in the air). The jump's height and
length stay the original's. - Level select (from HAB3X's Mac port): start any of the 16 levels from the main menu. Its play saves on a memory card of
its own, so your saves are never touched. - Speedrun timer: real time from New Game at the top of the picture, in the game's font, with each level's time shown
as you finish it and written in the log. - Drop shadow (#11, #35): a round shadow straight under you while you're in the air, to show where you'll land.
- Shadows on crates: your shadow falls on crates' tops too (the PS2 draws none there).
New: PC options
- Text language and voice language (#25): two options instead of one, so you can have, say, English texts with French
voices. A translated disc image is recognised: the text language row shows the language its texts are really in (such as
"português" for a disc like #25's, whose English texts are Brazilian Portuguese). - SMAA (Options > Display > Anti-aliasing): smoother edges than FXAA, without drawing the picture larger as SSAA does.
- Anisotropic filtering (Options > Display, off by default, 2x to 16x): textures seen at an angle, like faraway trees
and statues, stay sharper. - 32:9 for super-ultrawide screens (Options > Display > Widescreen), with the menus and the HUD kept in the middle 16:9.
- The resolution is applied when you stop on it (#39): stepping through the choices no longer draws each one, which on
weaker graphics cards meant drawing at 8x for a moment. - Check for updates (Windows only, off by default): turned on, each start asks GitHub once which version is the latest,
and the main menu tells you when there's a newer one. It never downloads, installs or runs anything. - Quit to desktop (#33) and a Credits page, both in Options > Gameplay.
Faster
- Fewer hitches when you reach a new area (#23, #32). The pauses came from the graphics card's shader programs, made the
first time each was needed. They're now made when the game starts. On our test PC, with the graphics driver's shader
cache emptied (as on the first start after an update), the slowest frame walking through the hub went from 247 ms to 30
ms; the start takes up to about a quarter of a second longer.
Fixed
- Ant Agony (#32): the metal doors streaked, the floors smeared and the lava cracks blocky. The renderer read those
textures from an old buffer left by the first boss's area, instead of the ones the level uploads. They're now drawn as
the PS2 draws them. - Under the Bug fixes option (off by default, as the original bugs are kept unless you turn it on), three bugs of the
PS2 game itself:- With three masks, the invincibility's particles stopped when you moved into the next area, while the mask stayed on
(#18, shown on the PS2 by NormanTheFox). - With two masks, Aku Aku's stars disappeared after a cutscene, as if there were only one mask (#18, checked on the PS2
game in PCSX2). - In Bandicoot Pursuit, Evil Crash could stand still at the start of the chase while Cortex ran on alone (found by
TwinsanityEvolved, checked on the PS2 game in PCSX2).
- With three masks, the invincibility's particles stopped when you moved into the next area, while the mask stayed on
- The log no longer says "the graphics card's time unknown" for the rest of a session when a single timer query never
gives its result (#32's log had it).
Aku Aku disappearing in two cutscenes (#18), by Cavern Catastrophe's excavator and at Dingodile's house, isn't solved yet:
it still has to be compared with the original game. Checked and unchanged: the knee slide's steering at 60 Hz doesn't swing past the stick's direction, and Crash
drowning in the 10th Dimension is drawn as the PS2 draws it.
The log
For your bug reports, the log now says more:
- what your disc image is: the retail disc, a modified copy or an unknown image, by redump.org's dumps;
- where the render thread's time goes (the PS2 graphics' emulation, OpenGL, waiting for the graphics card);
- what a frame slower than 50 ms spent its time on (loading, reading the disc, the renderer).
With the new game options off, the game plays as in 1.1.0, and at the default settings the 25 pictures of our checks are
the same as 1.1.0's.
Still to come
Moved to the next major version:
- The North American disc (NTSC-U v2.00, #14).
- A faster renderer, as an option for weaker PCs (#23, #37, #39).
Also on the roadmap: a skip for the cutscenes that still play whole, the characters' shadows at the chosen resolution (they
stay at the PS2's, softer than the rest of the picture), and a 16:10 shape for the Steam Deck's screen.
If you hit a bug, please open an issue with
log.txt (or log.previous.txt, the run before) from %APPDATA%\Crash Twinsanity\ (the User folder in portable mode,
~/.config/crash-twinsanity on Linux) and where in the game it happened.
Credits
- TwinsanityEvolved's cutscene skip, by menaman123 and the TwinsanityEvolved contributors, used with menaman123's
permission under its MIT licence (menaman123/TwinsanityEvolved#19):
its cutsceneskip.cpp and cutsceneskip.h, and its census of the game's cutscenes. Thank you! - NativeEE, TwinsanityEvolved's engine (MIT): the zip reader and its inflate (importing mods), the disc image's CRC-32
and SHA-1, and the words that tell a text's language. - SMAA by Jorge Jimenez, Jose I. Echevarria, Belen Masia, Fernando Navarro and Diego
Gutierrez (MIT). - Their licences are in the download's
licensesfolder. TwinsanityEvolved also gave the ideas for infinite lives, the
speedrun timer, 32:9, shadows on crates and the two languages, and found the knee slide and Evil Crash questions; that
code is ours. - NormanTheFox's reports and mods (#18, #32, #36), and everyone who reported in #9, #11, #23, #25, #28, #30, #33, #34,
#35, #37 and #39. Onaga00 is now thanked in the Credits page.
How to play
On Windows:
- Download
Crash-Twinsanity-Windows.zipbelow and unzip it anywhere. - Run
CrashTwinsanity.exein theCrash Twinsanityfolder. The program isn't signed, so Windows may warn about an
unrecognised app: choose More info, then Run anyway. - 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.
On Linux: download Crash-Twinsanity-Linux-x86_64.AppImage, run chmod +x Crash-Twinsanity-Linux-x86_64.AppImage (or
tick "Is executable" in its properties), start it and pick your disc image.
The download
- Built from commit 0c8bfee: the Windows program with LLVM-MinGW (clang 23), the AppImage in Docker on Ubuntu 24.04
(clang 21). - Both contain 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 and SMAA's and TwinsanityEvolved's in thelicensesfolder. - SHA-256 of
Crash-Twinsanity-Windows.zip:9f5850143b5f89fd2b36228bb5aa9618e3ebedfc4218d0481b22e90295567dc4 - SHA-256 of
Crash-Twinsanity-Linux-x86_64.AppImage:86e9851e7e1a5b6df59ccb4ce2c7e0674ee0ddebec717ed02d5e52f330ad7e16