Repository navigation
v0.3 — Android Alpha (Garrison-crash fix + Scudo symbol-hiding)
Pre-release
Pre-release
v0.3 — Android Alpha
Engine null-deref crash fix, plus the Scudo symbol-hiding mitigation that v0.2 was missing.
What's fixed since v0.2
- ✅ Garrison-death crash fixed (#8) — the game no longer SIGSEGVs when a unit dies while garrisoned inside a building/vehicle. Root cause:
W3DTreeBuffer::unitMoved()dereferenced a nullm_datapointer after an out-of-boundstreeTypeindex (fault address0x20, an exact match). The redeploy-occupants motion swept a unit over a stale tree-partition cell. Bounds-checkedtreeTypeagainstm_numTreeTypesand null-checkedm_data, mirroring a guard the save/load path already had. Hardened two sibling code paths with the same hazard. - ✅ Scudo allocator: symbol-hiding now included — v0.2 shipped ~55 minutes before the commit that hides the engine's
operator new/deletefrom the dynamic symbol table. As a result, v0.2 still let DXVK/libc++/SDL3 allocations reach the engine's pooloperator delete, which triggered Scudo "invalid chunk state" / "corrupted chunk header" aborts on Samsung/Exynos and ARM Mali devices. v0.3 is built from current HEAD and carries that fix. This should address the launch crashes in #4 (Galaxy S24+/Exynos 2400) and #9 (Tecno Camon 30 Pro / Mali-G610). Please retest and report back.
Likely improved (needs device confirmation)
- 🔄 #6 — crash after selecting Solo Play (Galaxy Z Flip 5) — plausibly the same allocator path as #4. Likely improved by the symbol-hiding change; cannot confirm without the device.
Known issues (not fixed in this build)
- ❌ #5 — Enemy AI not working — upstream gameplay-logic issue, not Android-specific. Tracked separately.
- ❌ #7 — black-screen crash (Poco X3 Pro) — Adreno 640 is below the stated Adreno 7xx+ minimum. Likely hardware/Vulkan-driver support; please attach a logcat if you can.
- ❌ Magenta/pink screen tint (#8 follow-up) — the color-tint rendering issue reported alongside the garrison crash is a separate shader/rendering problem still under investigation.
- 🔄 #3 — High RAM usage (~2–3 GB) — architectural (legacy memory-pool design). Expected for now.
How to install / upgrade
- Download
GeneralsZH-full.apkbelow - Uninstall v0.1/v0.2 first if you hit a signature mismatch, then
adb install GeneralsZH-full.apk(the APK is signed with the same debug key as v0.1/v0.2, so in-place upgrade should work — but if your installed copy came from elsewhere, uninstall first) - Copy your game's
.bigfiles to/sdcard/Android/data/me.generalsx.zh/files/GameData/Data/
Requirements (unchanged)
- arm64-v8a Android tablet/phone (Android 7.0+, API 24+)
- Vulkan-capable GPU — Adreno 7xx+, Mali-G77+ (older GPUs like Adreno 6xx are below minimum)
- ~3 GB free RAM
- Your own copy of C&C Generals Zero Hour (Steam ~$5)
Feedback
If v0.3 fixes your crash, a one-line "works on " comment on the relevant issue (#4, #8, #9) is hugely helpful. If it still crashes, please attach a logcat / bug report — the Scudo situation is tracked and real device logs are the fastest path to a fix.