mirror of
https://github.com/kichikuou/xsystem35-sdl2.git
synced 2026-09-29 10:18:11 +03:00
114 lines
3.4 KiB
Markdown
114 lines
3.4 KiB
Markdown
# xsytem35-sdl2
|
|
|
|
This is a multi-platform port of `xsystem35`, a free implementation of
|
|
AliceSoft's System 3.x game engine.
|
|
|
|
## 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](https://github.com/kichikuou/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](https://code.visualstudio.com/) (recommended):
|
|
The [vscode-system3x](https://github.com/kichikuou/vscode-system3x) extension
|
|
provides graphical debugging interface for System 3.x.
|
|
- Using CUI debugger: Running xsystem35 with `-debug` option will start the
|
|
debugger with console interface. Type `help` to see a list of available
|
|
commands.
|
|
|
|
## Installing
|
|
|
|
Prebuilt packages for Windows and Android can be downloaded from the
|
|
[Releases](https://github.com/kichikuou/xsystem35-sdl2/releases) page. For
|
|
other platforms, see the [Building](#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](https://github.com/kichikuou/xsystem35-sdl2/blob/master/android/README.md#use).
|
|
|
|
### 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](https://brew.sh/index_ja) 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](https://www.msys2.org) 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](https://github.com/kichikuou/web) and copy `out/xsystem35.*`
|
|
into its `docs` directory.
|
|
|
|
### Android
|
|
|
|
See [android/README.md](android/).
|