xsytem35-sdl2
This is a multi-platform port of xsystem35, a free implementation of
AliceSoft's System 3.x game engine.
Compatiblity
See the game compatibility table for a list of games that can be played on xsystem35-sdl2.
Unique Features
In addition to the original System 3.x's functionalities, xsystem35-sdl2 has the following features.
Playing audio files as fake CD music
Many System 3.x games had music as audio tracks on the CD-ROM. Xsystem35 can
play music from audio files instead, to avoid the hassle of inserting CDs. To
use ripped audio files, create a file named playlist.txt in the game
directory, and enter the paths to your tracks, one per line. For example:
# The first line is not used
BGM/track02.mp3
BGM/track03.mp3
...
The first line is not used, because track 1 of game CD is usually a data track.
Unicode translation support
The original System 3.x only supported Shift_JIS (a Japanese character encoding), but xsystem35 supports Unicode and is able to run games translated into languages other than Japanese and English.
See xsys35c's document for how to build a game with Unicode mode.
Debugging
Xsystem35 has a built-in debugger that allows you to step through the game and examine / modify variables in the game. There are two ways to use the debugger:
- Through Visual Studio Code (recommended): The vscode-system3x extension provides graphical debugging interface for System 3.x.
- Using CUI debugger: Running xsystem35 with
-debugoption will start the debugger with console interface. Typehelpto see a list of available commands.
Installing
Prebuilt packages for Windows and Android can be downloaded from the Releases page. For other platforms, see the Building section.
Running
Windows
Execute xsytem35, and it will show a dialog to select a folder. Select the
game folder (where the ALD files are located).
Android
See android/README.md.
Other Platforms
Run xsystem35 from within the game directory.
cd /path/to/game_directory
xsystem35
Building
Linux (Debian / Ubuntu)
$ sudo apt install build-essential cmake libgtk-3-dev libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libwebp-dev libcjson-dev
$ mkdir -p out/debug
$ cd out/debug
$ cmake -DCMAKE_BUILD_TYPE=Debug ../../
$ make && make install
MacOS
Homebrew is needed.
$ brew install cmake pkg-config sdl2 sdl2_mixer sdl2_ttf webp cjson
$ mkdir -p out/debug
$ cd out/debug
$ cmake -DCMAKE_BUILD_TYPE=Debug ../../
$ make && make install
Windows
MSYS2 is needed.
$ pacman -S cmake mingw-w64-x86_64-cmake mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_ttf mingw-w64-x86_64-SDL2_mixer mingw-w64-x86_64-libwebp mingw-w64-x86_64-cjson
$ mkdir -p out/debug
$ cd out/debug
$ cmake -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug ../../
$ make
Emscripten
$ mkdir -p out/wasm
$ cd out/wasm
$ emcmake cmake -DCMAKE_BUILD_TYPE=MinSizeRel ../../
$ make
To use the generated binary, checkout
Kichikuou on Web and copy out/xsystem35.*
into its docs directory.
Android
See android/README.md.