v1.0.3 — cross-compilation & linux proton support
v1.0.3 — cross-compilation & linux proton support
comprehensive refactor => llvm-mingw cross-compilation support + proton/steam runtime for running on linux.
build system improvements
cross-compilation via llvm-mingw
- added cmake preset
llvm-mingw-i686for cross-compiling to win32 from linux - moved toolchain configuration from separate files into cmake presets — cleaner, reproducible builds
- switched to
.tar.xzpackaging on linux (instead of.zip) - fixed parallel link deadlock => forced
jobs=1in preset (lld issue in mingw context) - updated
.gitignoreforllvm-mingw/directory
glad & opengl loader
- replaced external rust-based glad generator with manual glad config (opengl 2.1, core profile)
- documented generator url in cmake:
https://glad.dav1d.de/ - removed cpplint, replaced with clang-tidy
cmake policy & deps
- temporary cmake policy 3.5 for freetype compatibility
- cleaned up presets structure for better cross-platform workflow
linux compatibility (steam proton)
proton launch automation
- added
launch_proton.shscript for deploying game + overlay under steam proton - improved script: symlinks → file copies (wine/proton compat)
- script auto-deploys bass proxy + runtime to steam compat directory
mesa opengl workaround
- documented
MESA_EXTENSION_MAX_YEAR=2003fix for old games on amd gpu + fedora linux (already in readme, reinforced in scripts)
runtime fixes
missing runtime dependency
- resolved startup crash caused by missing
bass_real.dll(not bundled properly)
code quality
modern c++ standard
- upgraded project to c++26 (was c++20)
- removed unused threading lib calls
- removed obsolete
game_pathvariable - general code cleanup, formatting, logging improvements
readme updates
- documented lld linker deadlock on parallel linking => workaround via
jobs=1in preset - added build instructions for ucrt vs msvcrt llvm-mingw flavors (win10+ vs win7+)
build from source:
# 1. download llvm-mingw from https://github.com/mstorsjo/llvm-mingw/releases
# - llvm-mingw-YYYYMMDD-ucrt-ubuntu-20.04-x86_64.tar.xz (win10+)
# - llvm-mingw-YYYYMMDD-msvcrt-ubuntu-20.04-x86_64.tar.xz (win7+ legacy)
# 2. extract to repo root as llvm-mingw/
# 3. run:
cmake --preset llvm-mingw-i686
cmake --build --preset llvm-mingw-i686run on linux via proton:
./launch_proton.shWARNING
x86_64 build is not working and attached only for historical reasons and ease of automation
changelog covers commits from v1.0.2 (2025-08-28) → head (2025-11-17).
Full Changelog: v1.0.2...v1.0.3