Update README.md to include setup and build instructions

This commit is contained in:
John Lorentzson 2025-04-26 16:00:40 +02:00
parent c7e02b4fd0
commit d5f4123cf3

View file

@ -1,10 +1,33 @@
## 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 an acceptable speed on a Sun Ultra 1 workstation. As such, it contains only the `portable` branch, as the `accurate` branch is of zero use here.
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 poorly cobbled together Makefile generator, as the latest version of CMake available on our target is too old. This will eventually be overhauled to be slightly more useful.
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)