AmiXcom 0.5.0 - save ~7x, load ~4x, globe 3D ~10x
AmiXcom 0.5.0 — big speed release
Everything measured on the reference machine: 68020, no JIT, CPU throttled -70% (real-hardware-class).
Saving & loading
- Battle save: 45–60 s → ~8 s. Fixed yaml-cpp scalar conversion (a
std::stringstreamper value), quadratic node-pool merging, replaced the YAML emitter with a direct writer, and the battle state now serializes straight to text without building a node tree. Saves remain plain YAML. - Battle load: ~90 s → ~20–25 s. The Geoscape built under the battle no longer computes the whole globe up front; shadow tables come precomputed from
data/common/earthfix.dat. - Fixed load crashes: 64-bit RNG seed ("bad conversion") and the tile-serialization key format (
returncode 127).
Globe 3D (~10x)
- Geometry recache in integer Q1.14 fixed point with vertex trig precomputed once — rotation and zoom no longer run hundreds of soft-float sin/cos.
- First zoom to any level used to stall ~5 s computing shadow normals — now read from
earthfix.dat(generated at build time). - Day/night shadow at half resolution (2×2 blocks, per-pixel palette), radar circles in pure vector math (12 trig per circle instead of ~250), country/circle lines walk in 16.16 fixed point.
- Dogfight zoom jumps in one step (reaching an interception took 30–60 s of animated zoom).
- Flat sun-shaded water polygons instead of textures (option
amigaFlatGlobe: 1, set0in options.cfg for the old textured look).
Other
- Dirty rectangles in the SDL shim: unchanged frames skip chunky-to-planar entirely.
- The game starts detached (
Run <NIL:), the CLI closes and Workbench stays visible — its gauge shows the port currently needs ~50 MB RAM. - 0.3.5–0.3.7 were internal steps; this release includes everything since 0.3.0.
Known issues
- Load still ~20 s (yaml parse dominates) — next target.
- Save-list dates show "????" (cosmetic).
- No music yet (basic sound effects work); RTG build untested; 32 MB machines do not load the game.
No X-COM game data included — copy your own UFO/TFTD files into data/UFO / data/TFTD.