Repository navigation
Highlights
Fixed: launch crashes on many devices (Scudo "invalid chunk state" / "corrupted chunk header")
Root cause found and fixed: the Android startup code was freeing SDL-owned cached storage-path buffers — a use-after-free plus double-free. Depending on device/allocator state this either aborted immediately at launch (Samsung S24+/Tab S8-class reports, Mali-G610 reports) or silently corrupted the heap and crashed later in rendering. Issues #4, #9, #6, #7, #10.
New: in-app game data import (Android 13+)
Android 13+ blocks file managers from writing into Android/data/, which broke the old "copy your .big files" setup. On first launch the app now offers a one-time folder import: pick the folder containing your game's Data directory and it's copied into the app's private storage. No permissions needed. (Issue #12.)
Improved: Meta Quest 3 launch
The app now waits for a non-degenerate window surface before creating the Vulkan device — the Quest's volumetric panel reports a 1x1 surface until laid out, which previously crashed vkCreateAndroidSurfaceKHR. (Issue #11 — reports from Quest users welcome.)
Also in this build
- Garrison-death crash fix from v0.3 (
W3DTreeBuffer::unitMoved) - Version identifier now reads 0.4-android (previously always 0.1)
Known issues
- Intermittent in-game crash (
DxvkResourceAllocationPoolSIGSEGV after minutes of play on some devices): under active investigation; unchanged from v0.3 — this build is strictly more stable, not less. If you hit it, a bug report with the crash log helps (#13's sibling reports tracked in the issues). - Enemy AI inactivity (upstream engine issue, #5)
- High memory usage by design of the original engine's memory pool (#3)
Install
Install the APK, then either use the in-app import or copy your game's Data folder (with the .big files from your own Zero Hour install) to Android/data/me.generalsx.zh/files/GameData/Data/.