Commit graph

36 commits

Author SHA1 Message Date
Kelsi
dc29616513 Validate Linux wrapper bridge ABI exports in CI 2026-03-09 02:29:26 -07:00
Kelsi
e26cc28cb0 Make AMD CI framegen probe assert conditional on target availability 2026-03-09 01:05:36 -07:00
Kelsi
8b1fc42b7a Fix AMD CI SDK layout check and tighten DX12 interop preflight 2026-03-09 01:03:07 -07:00
Kelsi
e93f097272 Default FidelityFX SDK source to Kelsidavis fork and relax CI FG file check 2026-03-09 00:39:11 -07:00
Kelsi
a49decd9a6 Add AMD FSR3 framegen interface probe and CI validation 2026-03-08 22:47:46 -07:00
Kelsi
7d89aabae5 Make all CI build jobs AMD-FSR2-only 2026-03-08 21:51:42 -07:00
Kelsi
700e05b142 Bootstrap AMD FSR2 Vulkan permutations cross-platform 2026-03-08 21:45:25 -07:00
Kelsi
09cdcd67b5 Update FSR docs and make AMD CI header check non-fatal 2026-03-08 21:40:26 -07:00
Kelsi
47287a121a Fix AMD FSR2 CI by removing Wine permutation generation 2026-03-08 21:22:21 -07:00
Kelsi
1c452018e1 Fix AMD CI shader permutations for tcr/autoreactive passes 2026-03-08 20:35:52 -07:00
Kelsi
96f7728227 Add AMD FSR2 CI build job and adjust jitter offset sign 2026-03-08 20:27:39 -07:00
Kelsi
c26353eda1 Reduce release log spam and harden release logging defaults 2026-02-25 09:46:27 -08:00
Kelsi
7ca9caa212 Fix Windows ARM64 build: disable x86 asm in StormLib's libtomcrypt
StormLib's bundled libtomcrypt uses x86 inline assembly (bswapl/movl)
gated by __MINGW32__, which is defined on CLANGARM64 too. Pass
-DLTC_NO_BSWAP to force portable C byte-swap fallback.
2026-02-25 03:06:06 -08:00
Kelsi
8fe53171eb Fix release packaging and macOS stack overflow crash
- Fix StormLib package name: libstormlib-dev → libstorm-dev (correct
  Ubuntu package name) across all CI workflows and extract_assets.sh
- Build StormLib from source on Windows CI (no MSYS2 package exists),
  ensuring asset_extract.exe is included in release archives
- Update extract_assets.sh/.ps1 to prefer pre-built asset_extract
  binary next to the script (release archives) before trying build dir
- Move ADTTerrain allocations from stack to heap in prepareTile() to
  fix stack overflow on macOS (worker threads default to 512 KB stack,
  two ADTTerrain structs ≈ 560 KB exceeded that)
2026-02-25 01:55:16 -08:00
Kelsi
624744da86 Fix Windows release packaging: replace rsync/7z with cp/zip
Some checks are pending
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run
MSYS2 doesn't have rsync or 7z by default. Use cp -r for assets
and install zip package for archive creation.
2026-02-24 05:46:45 -08:00
Kelsi
e31c2ffda8 Add GitHub Release workflow with asset extraction tools
Tag-triggered (v*) workflow that builds all 5 platforms and creates
a GitHub Release with bundled binaries, Data/, and asset extraction
tools (asset_extract, extraction scripts, pipeline GUI).
2026-02-24 05:04:37 -08:00
Kelsi
a825450048 Enable MSYS2 update on windows-arm64 to fix stale PGP keyring
The CLANGARM64 runner's cached MSYS2 install has outdated PGP keys,
causing "signature is unknown trust" errors. Setting update: true
refreshes the keyring before installing packages.
2026-02-23 18:57:49 -08:00
Kelsi
42b8e3141a Add Vulkan and shaderc packages to security workflow
CodeQL and sanitizer jobs were missing libvulkan-dev, vulkan-tools,
and glslc — same fix as the build workflow.
2026-02-23 18:49:15 -08:00
Kelsi
22fa771d00 Fix CI failures: add vk-bootstrap submodule and fix MSYS2 stormlib
- Add vk-bootstrap as a git submodule (was in extern/ but not tracked,
  causing "vk-bootstrap not found" on all CI jobs)
- Whitelist extern/vk-bootstrap in .gitignore
- Move stormlib to a separate optional install step on both Windows CI
  jobs (mingw-w64-x86_64-stormlib doesn't exist in MSYS2 repos)
2026-02-23 18:45:39 -08:00
Kelsi
ebab8f3ccc Add missing Vulkan and shaderc packages to Linux CI and docs
Linux CI was missing libvulkan-dev, vulkan-tools, and glslc, causing
find_package(Vulkan REQUIRED) to fail. Also update BUILD_INSTRUCTIONS
Ubuntu and Arch sections to include Vulkan/shaderc packages.
2026-02-23 18:42:00 -08:00
Kelsi
f66b9eb154 Fix macOS build process and make shell scripts cross-platform
- Add vulkan-loader, vulkan-headers, shaderc to macOS CI brew install
- Add vulkan-loader and shaderc to macOS PKG_CONFIG_PATH
- Replace Linux-only `nproc` with portable fallback in build.sh,
  rebuild.sh, extract_assets.sh, and tools/backup_assets.sh
- Replace `ldconfig` StormLib check with portable detection
  (ldconfig, pkg-config, brew lib) in extract_assets.sh
- Update BUILD_INSTRUCTIONS.md macOS section with vulkan/shaderc
  packages and MoltenVK explanation
- Add macOS prerequisites to README.md
2026-02-23 18:35:53 -08:00
Kelsi
eb549a9b7a Fix Windows build process and add Windows asset extraction scripts
- Add missing MSYS2 packages to CI: vulkan-loader, vulkan-headers,
  shaderc, stormlib (both x86-64 and arm64), unicorn (arm64)
- Make vulkan-1.dll copy conditional via find_file (fixes MSYS2 builds)
- Use find_library for wininet/bz2 in asset_extract (graceful fallback)
- Add extract_assets.ps1 and extract_assets.bat for Windows users
- Expand BUILD_INSTRUCTIONS.md with MSYS2, vcpkg, and macOS sections
- Update README.md to reference Windows scripts and platforms
2026-02-23 18:32:47 -08:00
Kelsi
208fe0e7e3 Suppress cpp/weak-cryptographic-algorithm via query-filter (protocol-mandated RC4) 2026-02-19 17:49:49 -08:00
Kelsi
c69457ae3b apply pending protocol, ui, audio, and CodeQL fixes 2026-02-19 16:17:06 -08:00
Kelsi
586fb88c5f docs+security: sync controls and scope Warden RC4 CodeQL exception 2026-02-19 15:54:35 -08:00
Kelsi
00086c2ad9 Add CI security suite and scrub hardcoded local host/path defaults 2026-02-19 06:46:11 -08:00
Kelsi
37afbf8ba2 Convert imgui to git submodule (shallow) 2026-02-18 19:23:03 -08:00
Kelsi
f2c7e5826e Fix Linux apt install: separate optional libstormlib-dev to prevent abort 2026-02-18 18:20:39 -08:00
Kelsi
5b3b6df544 Add native installer packaging to CI for all platforms
Linux: DEB with /opt/wowee prefix and /usr/local/bin/wowee wrapper script
Windows x86-64: NSIS installer with DLL bundling and Start Menu shortcut
Windows ARM64: ZIP archive with bundled DLLs
macOS ARM64: .app bundle via dylibbundler + DMG via hdiutil

Assets are bundled into all packages (Original Music excluded). StormLib
is installed where available so asset_extract is included in packages.
2026-02-18 18:18:30 -08:00
Kelsi
254486d428 Fix apt cache path to only archive .deb files 2026-02-18 17:56:52 -08:00
Kelsi
1884534f82 Drop macOS x86-64 CI job (macos-13 runners deprecated) 2026-02-18 17:54:04 -08:00
Kelsi
bf9d3c7b2b Switch Windows MSYS2 builds to Ninja generator 2026-02-18 17:44:33 -08:00
Kelsi
880960dcc1 Add macOS and Windows ARM64 builds; fix memory_monitor for macOS
Add macOS matrix job (arm64/macos-15, x86-64/macos-13) using Homebrew.
Add Windows ARM64 job using windows-11-arm runner with MSYS2 CLANGARM64.
Fix memory_monitor.cpp: add __APPLE__ branch using sysctl hw.memsize/hw.usermem
instead of Linux-only sysinfo/proc.
2026-02-18 17:42:42 -08:00
Kelsi
cb01821d89 Add Windows build support via MSYS2 and fix platform-specific code
Guard X11 display crash handler with __linux__, add Windows GlobalMemoryStatusEx
path in memory_monitor, guard warden cache paths with APPDATA on Windows, and
make pkg-config optional in CMakeLists with a find_library fallback. Add Windows
x86-64 CI job using MSYS2 MINGW64 to the build workflow.
2026-02-18 17:38:08 -08:00
Kelsi
02fd0166e9 Add GitHub Actions CI for x86-64 and ARM64 Linux 2026-02-18 17:32:46 -08:00
Kelsi
bd0ce17794 Update opcode data and movement integration docs/code 2026-02-18 03:18:22 -08:00