assets | ||
bin2h | ||
cmake | ||
DoConfig | ||
external | ||
game_english | ||
game_japanese | ||
src | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
CMakeLists.txt | ||
Config.dat_default | ||
LICENCE.txt | ||
Makefile | ||
manual-build-maker.lisp | ||
PHILOSOPHY.md | ||
README.md | ||
screenshot.png |
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
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. 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.