This project is a native C11 + SDL3 re-implementation of the SiglusEngine runtime, reverse-engineered to keep the visual novel Sayonara o Oshiete ~ Comment te Dire Adieu ~ playable on Linux, Windows and macOS. The fan English patch v1.1 is supported as an overlay, with a language selector at start-up.
No game files are included in this repository. You need your own copy of the game. Everything game-related is extracted at build time from the original archives. The engine binaries themselves are about 7 MB and contain no game data.
This project is not affiliated with VisualArt's, or the English patch's translators.
The same engine runs natively on each platform. The title screen is shown here on macOS and Windows.
| macOS | Windows |
|---|---|
![]() |
![]() |
The builder accepts only these two archives in specific. The checksums have to match.
| Archive | SHA-256 |
|---|---|
Sayonara-o-Oshiete-Comment-te-Dire-Adieu_Win_JA_Download-Edition.zip |
fb61c609b6e11ea80efde830f2638f3b4aae53c72406edd5860b59519228a9ec |
SayonaraWoOshiete_EnglishPatch_v1.1.zip (download) |
88e6795ac5d656fe7be2956e5fc29f643ecc9d6e1aaafd3df5af6c289320e9fe |
Use the web builder or build from the source code. Both options result in the same executable.
Web builder (no installation):
- Open the web builder page in a browser.
- follow the insturcions from the web builder.
For more information, read site/README.md.
Build from the source code:
- Install the build dependencies.
- Put the two archives in
../assets, next to this directory. - Run
make build. For a Windows build, runmake build-windows. - Start the game:
./dist/linux-x86_64/sayooshi.
If a step fails, run make check. This command shows each missing dependency. Then read
Dependencies.
GNU make and a C compiler. All targets need GNU make and a C11 compiler (gcc or clang).
- Debian, Ubuntu:
sudo apt install build-essential - Fedora:
sudo dnf install gcc make - Arch Linux:
sudo pacman -S base-devel - macOS:
xcode-select --install
7-Zip. The build uses 7-Zip to extract the game archive and the installer of the English patch.
- Debian 12 or later, Ubuntu 24.04 or later:
sudo apt install 7zip - Older Debian and Ubuntu releases:
sudo apt install p7zip-full - Fedora:
sudo dnf install p7zip p7zip-plugins - Arch Linux:
sudo pacman -S 7zip - macOS:
brew install sevenzip
CMake and curl. The first build downloads SDL 3.4.16 with curl (or wget) and examines its
SHA-256. Then CMake builds a static SDL library into build/deps/. This occurs one time for each
platform.
- Debian, Ubuntu:
sudo apt install cmake curl - Fedora:
sudo dnf install cmake curl - Arch Linux:
sudo pacman -S cmake curl - macOS:
brew install cmake(macOS includes curl)
SDL development headers (Linux only). The Linux build needs the X11, Wayland and audio development headers. The engine loads these libraries at run time. Thus the binary links only to libc and libm.
- Debian, Ubuntu:
sudo apt install libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxfixes-dev \ libxss-dev libxtst-dev libwayland-dev libxkbcommon-dev wayland-protocols libegl-dev \ libasound2-dev libpulse-dev libpipewire-0.3-dev libdbus-1-dev libudev-dev libdrm-dev \ libgbm-dev libdecor-0-dev - Fedora:
sudo dnf install libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXi-devel \ libXfixes-devel libXScrnSaver-devel libXtst-devel wayland-devel libxkbcommon-devel \ wayland-protocols-devel mesa-libEGL-devel alsa-lib-devel pulseaudio-libs-devel \ pipewire-devel dbus-devel systemd-devel libdrm-devel mesa-libgbm-devel libdecor-devel - Arch Linux:
sudo pacman -S libx11 libxext libxrandr libxcursor libxi libxfixes libxss libxtst wayland \ libxkbcommon wayland-protocols mesa alsa-lib libpulse pipewire dbus systemd-libs libdrm libdecor
Windows cross-compiler (optional). make build-windows needs no installation. The build
downloads a pinned llvm-mingw toolchain and examines its SHA-256. If you have mingw-w64, the build
uses it.
- Debian, Ubuntu:
sudo apt install mingw-w64 - Fedora:
sudo dnf install mingw64-gcc - Arch Linux:
sudo pacman -S mingw-w64-gcc - macOS:
brew install mingw-w64
Python 3. make site uses Python 3 to put the engines into site/.
- Debian, Ubuntu:
sudo apt install python3 - Fedora:
sudo dnf install python3 - Arch Linux:
sudo pacman -S python - macOS:
brew install python
Valgrind (Linux only). make valgrind, make helgrind and make drd need Valgrind.
- Debian, Ubuntu:
sudo apt install valgrind - Fedora:
sudo dnf install valgrind - Arch Linux:
sudo pacman -S valgrind
ASan and UBSan runtimes. make dev SAN=1 needs the sanitizer runtimes. gcc on Debian, Ubuntu
and Arch Linux includes them. Xcode includes them on macOS.
- Fedora:
sudo dnf install libasan libubsan
- Put the two archives in
../assets, next to this directory. Alternatively, useJA_ZIP=FILEandEN_ZIP=FILEon the command line. - Run
make check. Install all missing dependencies. - Run
make build. The result isdist/linux-x86_64/sayooshi(on macOS:dist/macos-universal/Sayonara.app). - Run
make build-windowsfor Windows. The result isdist/windows-x86_64/Sayonara.exe. - Start the game:
./dist/linux-x86_64/sayooshi.
make runbuilds a development binary and starts it with the data inbuild/data. UseRUN_ARGS="--lang en"to give options.make datamakes only the data tree.make build-allbuilds all targets that this host can build.make cleanremoves the objects.make fcleanalso removesdist/, the downloads and the data.make infoshows the configuration.make helpshows all targets and variables.
- Linux to Windows: this works without more installation.
- Linux to macOS: this needs osxcross and an Apple SDK. You must get the SDK yourself.
- Alternatively, do the macOS build on a Mac.
- The macOS build is ad-hoc signed. It is not notarized. To start it the first time, right-click the app and select Open.
The web builder in site/ makes the same executables in the browser. The user selects the two archives.
The page examines the SHA-256 of each archive. Then the page unpacks the archives in the
browser tab. The page adds the game data to an engine without game data. The page does not upload files.
make sitebuilds the engines this host can make (Linux or macOS, plus Windows) and puts them intosite/engines/. It keeps the other targets from the last run. Run it on a Mac and on Linux, then commit.make site-servestarts a local server at http://localhost:8000.make websiteassembles the deployed site inbuild/website:website/at the root, the builder under/sayooshi/, stamped with the commit hash and its date.make website-serveserves it.- To deploy, link the repository on Netlify.
netlify.tomlrunstools/site/website.shand publishesbuild/website. - For more information, read site/README.md.
- Language. A selector (日本語 / English) shows first. It selects the last language that you used.
The option
--lang jaor--lang enskips the selector. To change the language during play, select Settings, then "Language / 言語". - Controls. Click, Enter or Space: show the next text. Right-click or Esc: open the system menu. Hold Ctrl: skip. Mouse wheel up: open the backlog. F11 or Alt+Enter: full screen. Gamepads also operate the game.
- Options.
--scale Nsets the window size.--nearestmakes the scaled image sharp.--fullscreenstarts in full screen.--helpshows all options. - Fonts. The Japanese text uses a system font: MS Gothic, Hiragino, Noto CJK or IPA. If the
system has no Japanese font, the game uses its built-in font (Kosugi). To use a different font,
use
--font FILE. - Windows. The game shows no console window. Use
--consoleto see the log. The game needs Windows 10 or later.
The game keeps all save files in one directory. The file format is cross platform compatible.
- Linux:
~/.local/share/sayooshi/sayooshi/ - Windows:
%APPDATA%\sayooshi\sayooshi\ - macOS:
~/Library/Application Support/sayooshi/sayooshi/
Portable mode, the export and import options and the file format are in docs/SAVE_FORMAT.md.

