Commit graph

15 commits

Author SHA1 Message Date
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
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
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
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