Skip to content

v0.4 — Android (launch-crash root-cause fix, game-data import)

Latest

Choose a tag to compare

@tarek369 tarek369 released this 08 Sep 17:03
· 1 commit to main since this release

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 (DxvkResourceAllocationPool SIGSEGV 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/.