cave-story-solaris/README.md
2025-05-01 22:48:14 +02:00

31 lines
2.2 KiB
Markdown

## 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 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.
Compile the game by running `make`. On genuine hardware this will take considerable time.
After compilation is complete, move or 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.
CSE2 requires a `Config.dat` file, which we cannot currently produce from inside the Solaris environment. 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`. If you need to change some settings, 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 (but it most likely won't be).
## Licensing
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.
Solaris port was created by John Lorentzson (Duuqnd), same license.