cave-story-solaris/README.md

2.3 KiB

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 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 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.

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.