## Cave Story for Solaris This is a fork of [CSE2](https://github.com/gameblabla/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 testing 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 `cat`ing 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. ## 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.