A fork of CSE2 providing support and optimization for running on a Sun Ultra 1.
Find a file
2025-04-26 16:16:19 +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 Revert "Turn on FPS display" 2025-04-26 16:12:36 +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
Config.dat_default Add included default Config.dat file 2025-04-26 16:16:19 +02:00
LICENCE.txt Update portable branch with licence boilerplates 2020-10-23 19:18:13 +01:00
Makefile Add Makefile for building on Solaris 2025-04-26 15:47:49 +02:00
manual-build-maker.lisp Add Makefile for building on Solaris 2025-04-26 15:47:49 +02:00
PHILOSOPHY.md More PHILOSOPHY.md tidying 2020-09-14 13:29:27 +01:00
README.md Add included default Config.dat file 2025-04-26 16:16:19 +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 full speed on a Sun Ultra 1 workstation. As such, it contains only the portable branch, as the accurate branch is of zero use here.

Preparing your system

This project has only been tested on Solaris 2.6 running on a Sun Ultra 1 Creator. We're using the built-in X server, and GNU utilities from tgcware.

  • Ensure that GCC and its C++ components are installed and findable from your PATH variable.
  • Ensure that your X server starts in 24-bit color mode. This can be accomplished by adding -dev /dev/fb defdepth 24 to the end of the one uncommented line in /usr/dt/config/Xservers and restarting the X server.
  • Ensure that audio can be used by your user. This can be tested by cating something to /dev/audio.

Building

While CSE2 normally uses CMake, this fork instead uses a Makefile for compiling on Solaris, due to the latest version of CMake available on the target being too old.

Before building, ensure that the required build directories exist. The following commands will accomplish that.

mkdir -p build/src/Backends/Rendering/Window/Software
mkdir -p build/src/Backends/Platform
mkdir -p build/src/Backends/Audio/SoftwareMixer
mkdir -p build/src/Backends/Controller

Then you can compile the game simply by running make. On genuine hardware this will take considerable time.

After compilation is complete, copy the CSE2 binary to game_english, and run it from there, making sure that the appropriate libstdc++ is findable. If it's not automatically findable, you can point the environment variable LD_LIBRARY_PATH to its path.

Note: CSE2 requires a Config.dat file, which we cannot currently produce from inside the Solaris environment. To create one, compile the DoConfig program on a modern PC and use it to create your config file. The need for this workaround is considered a bug and should be fixed. If you do not need a custom Config.dat (and you probably don't), simply rename the included Config.dat_default to Config.dat and move it into game_english.

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.