kichikuou / system3-sdl2

SDL2 port of "system3 for win32"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

System3 for SDL2

This is a SDL2 port of System3 for Win32 by Takeda Toshiya that supports multiple platforms, including Android and Emscripten.

Building

Linux (Debian, Ubuntu)

$ git submodule update --init
$ sudo apt install g++ cmake libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev
$ mkdir -p out/debug
$ cd out/debug
$ cmake -DCMAKE_BUILD_TYPE=Debug ../../src/
$ make
$ sudo make install

MacOS

$ git submodule update --init
$ brew install cmake pkg-config sdl2 sdl2_ttf sdl2_mixer
$ mkdir -p out/debug
$ cd out/debug
$ cmake -DCMAKE_BUILD_TYPE=Debug ../../src/
$ make
$ sudo make install

Windows (MSYS2 mingw64)

$ git submodule update --init
$ pacman -S make mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_ttf
$ mkdir -p out/debug
$ cd out/debug
$ cmake -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug ../../src/
$ make

Windows (Microsoft Visual Studio)

  • Visual Studio 2019 can be used to clone this repository. It will automatically clone submodules too.
    • If you're using an older version of Visual Studio, install Git and clone this repository with --recurse-submodules option.
  • Install CMake. (Visual Studio's CMake integration doesn't work.)
  • In the CMake GUI, press "Browse Source..." button and select the src folder of this repository.
  • Press "Browse Build..." button. Create a new folder (e.g. out) under the top folder of the repository, and select it.
  • Press "Configure" button. Specify the generator for your version of Visual Studio, and hit "Finish".
  • Press "Generate" button.
  • System3.sln file should be generated in the build folder. Open it with Visual Studio.

Emscripten

$ git submodule update --init
$ mkdir -p out/wasm
$ cd out/wasm
$ emcmake cmake -DCMAKE_BUILD_TYPE=Release ../../src/
$ make

To use the Emscripten build, check out https://github.com/kichikuou/web and copy out/wasm/system3.* into its docs directory.

Android

See android/README.md.

Nintendo Switch

See switch/README.md.

Running

Usage:

system3 [options]

Options

-noantialias

Disables text anti-aliasing.

-fontfile filename

Specifies a font file used to render text. .ttf and .otf files are supported.

-playlist filename

filename is a text file that specifies audio files to be played instead of CD audio tracks, one per line. For example:

# This line is ignored
BGM/track02.mp3
BGM/track03.mp3
...

The first line is not used, because track 1 of game CD is usually a data track.

-fm

Use FM tone generator emulation. If not specified, MIDI sound is used.

-timiditycfg filename

Specified a specific configuration file in a format for TiMidity to use (used in some platforms by SDL_Mixer).

-game game_id

Since System1-3 behave slightly differently depending on the game, system3 uses fingerprint of the scenario file (ADISK.DAT) to determine which game you are playing. This option allows you to override this. This is useful when running patched games.

Here's the list of available game IDs and corresponding titles:

game_id Title
bunkasai あぶない文化祭前夜
crescent クレセントムーンがぁる
dps D.P.S - Dream Program System
dps_sg_fahren D.P.S SG - Fahren Fliegen
dps_sg_katei D.P.S SG - 家庭教師はステキなお仕事
dps_sg_nobunaga D.P.S SG - 信長の淫謀
dps_sg2_antique D.P.S SG set2 - ANTIQUE HOUSE
dps_sg2_ikenai D.P.S SG set2 - いけない内科検診再び
dps_sg2_akai D.P.S SG set2 - 朱い夜
dps_sg3_rabbit D.P.S SG set3 - Rabbit P4P
dps_sg3_shinkon D.P.S SG set3 - しんこんさんものがたり
dps_sg3_sotsugyou D.P.S SG set3 - 卒業
fukei 婦警さんVX
intruder Intruder -桜屋敷の探索-
tengu あぶないてんぐ伝説
toushin_hint 闘神都市 ヒントディスク
little_vampire Little Vampire
yakata ALICEの館
ayumi_fd あゆみちゃん物語
ayumi_hint あゆみちゃん物語 ヒントディスク
ayumi_proto あゆみちゃん物語 PROTO
dalk_hint DALK ヒントディスク
drstop Dr. STOP!
prog_fd Prostudent G (FD)
rance3_hint Rance3 ヒントディスク
sdps_maria Super D.P.S - マリアとカンパン
sdps_tono Super D.P.S - 遠野の森
sdps_kaizoku Super D.P.S - うれしたのし海賊稼業
yakata2 ALICEの館II
ambivalenz_fd AmbivalenZ −二律背反− (FD)
ambivalenz_cd AmbivalenZ −二律背反− (CD)
dps_all D.P.S. 全部
funnybee_cd 宇宙快盗ファニーBee (CD)
funnybee_fd 宇宙快盗ファニーBee (FD)
onlyyou Only You −世紀末のジュリエット達−
onlyyou_demo Only You −世紀末のジュリエット達− デモ版
prog_cd Prostudent G (CD)
prog_omake Prostudent G おまけ
rance41 ランス 4.1 〜お薬工場を救え!〜
rance42 ランス 4.2 〜エンジェル組〜
ayumi_cd あゆみちゃん物語 (CD)
ayumi_live_256 あゆみちゃん物語 実写版
ayumi_live_full あゆみちゃん物語 フルカラー実写版
yakata3_cd アリスの館3 (CD)
yakata3_fd アリスの館3 (FD)
hashirionna2 走り女2
toushin2_gd 闘神都市2 グラフィックディスク
toushin2_sp 闘神都市2 そして、それから…
otome 乙女戦記
ningyo 人魚 -蘿子-
mugen 夢幻泡影

Configuration file system3.ini

Every option that can be set via the command line flags can also be configured via the system3.ini file placed in the game folder. See system3.ini.example for the file format and available options. Options specified on the command line override system3.ini.

Localizing a game

System3-sdl2 supports localization, while the original System1-3 only supported Japanese. If you are interested in translating games, check out Sys0Decompiler.

About

SDL2 port of "system3 for win32"

License:GNU General Public License v2.0


Languages

Language:C++ 49.1%Language:Java 30.1%Language:C 15.2%Language:Kotlin 4.1%Language:CMake 1.4%Language:Makefile 0.1%