A fork of CSE2 providing support and optimization for running on a Sun Ultra 1.
Find a file
John Lorentzson a4479f9c07 Reimplement Backend_Delay to fix threads freezing
So our workaround for making usleep thread-safe mostly worked in that
it fixed one of the things making it thread-unsafe, but it seems that
sigsuspend, which usleep uses, is also not thread-safe, since
sometimes one of our two threads would freeze, stuck inside
sigsuspend. So instead of usleep, we're using a trick that Stacken
member map suggested: using select. Calling select with no file
descriptors to work on will have it block on the kernel level until
its timeout is hit. This acts as a sleep. As it turns out, this seems
to completely solve our sleep-related problems, and massively reduces
the amount of audio buffer underruns as a nice bonus!
2025-04-26 13:54:12 +02:00
assets RISC OS port 2020-10-20 17:33:36 +01:00
bin2h Overhaul bin2h 2020-09-03 22:14:13 +01:00
cmake RISC OS port 2020-10-20 17:33:36 +01:00
DoConfig Drop DoConfig to 30FPS 2020-11-03 20:23:00 +00:00
external Update FreeType to 2.10.4 2020-10-20 23:17:00 +01:00
game_english Update the 'licence.txt's 2020-11-03 20:28:24 +00:00
game_japanese Update the 'licence.txt's 2020-11-03 20:28:24 +00:00
src Reimplement Backend_Delay to fix threads freezing 2025-04-26 13:54:12 +02:00
.gitattributes Mark TSC files as binary, not text 2020-01-09 06:32:10 +00:00
.gitignore Add Emacs backup files to .gitignore 2025-04-04 22:08:13 +02:00
.travis.yml Add SDL1 builds to Travis 2020-10-20 18:39:33 +01:00
CMakeLists.txt Add use of XShm for faster transfer speeds between game and X server 2025-04-09 14:57:32 +02:00
LICENCE.txt Update portable branch with licence boilerplates 2020-10-23 19:18:13 +01:00
manual-build-maker.lisp Make manual-build-maker.lisp generate Makefile instead of shell script 2025-04-10 22:51:45 +02:00
PHILOSOPHY.md More PHILOSOPHY.md tidying 2020-09-14 13:29:27 +01:00
README.md Update README.md for the Solaris fork 2025-04-25 12:09:05 +02:00
screenshot.png Update screenshot 2020-09-04 00:44:29 +01:00

Cave Story for Solaris

This is a fork of CSE2 that implements a Solaris 2.6 compatible backend, and optimizes parts of the game to run at an acceptable speed on a Sun Ultra 1 workstation. As such, it contains only the portable branch, as the accurate branch is of zero use here.

Building

While CSE2 normally uses CMake, this fork instead uses a poorly cobbled together Makefile generator, as the latest version of CMake available on our target is too old. This will eventually be overhauled to be slightly more useful.

Licensing (from the original README)

Being a decompilation, the majority of the code in this project is proprietary and belongs to Daisuke "Pixel" Amaya.

Modifications and custom code are made available under the MIT licence. See LICENCE.txt for details.