Skip to content

Releases: angree/AmiXcom

AmiXcom 0.5.6 - loading splash

Choose a tag to compare

@angree angree released this 18 Aug 09:39

AmiXcom 0.5.6 — loading splash

  • Loading screen with a real progress bar: one of six backgrounds (baked into the executable), AmiXcom logo, palette fade in/out, and a bar that tracks actual load time — ticks per ruleset file, resource file, sound CAT and even inside the language parse. No more staring at a black screen for three minutes.
  • Screen opens all-black (no Intuition grey/red flash); title bar has fixed game-style colours on every background.
  • "PORT MADE BY GRZEGORZ KORYCKI" on the title screen.

Everything else as in 0.5.5. No X-COM game data included — copy your own UFO/TFTD files into data/UFO / data/TFTD.

AmiXcom 0.5.5 - keyboard fix

Choose a tag to compare

@angree angree released this 18 Aug 04:45

AmiXcom 0.5.5 — keyboard fix

  • Keyboard works. Text entry typed the same character no matter which key was
    pressed (usually r): the raw-keycode lookup table scan was miscompiled by the
    cross-gcc at -O1 — a search for one key returned another key's entry. The lookup
    is now a direct 128-entry map, pinned to -O0. Typing, shift and all bound keys
    behave normally.
  • "PORT MADE BY GRZEGORZ KORYCKI" credit on the title screen (also in the
    refreshed 0.5.0 archive).

Everything else as in 0.5.0 (see its notes: save ~7x, load ~4x, globe 3D ~10x).
No X-COM game data included — copy your own UFO/TFTD files into data/UFO / data/TFTD.

AmiXcom 0.5.0 - save ~7x, load ~4x, globe 3D ~10x

Choose a tag to compare

@angree angree released this 17 Aug 23:34

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::stringstream per 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, set 0 in 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.

AmiXcom 0.3.0 alpha

AmiXcom 0.3.0 alpha Pre-release
Pre-release

Choose a tag to compare

@angree angree released this 17 Aug 11:34

Third alpha: the battlescape is now playable. Made with Claude Code.

Changes:

  • a unit step cost ~6 seconds of recalculation - now ~0.3 s:
    • field of view is fully recomputed only for the unit that moved; everyone else just re-checks that one unit
    • fog of war reveals incrementally (tiles already swept from the previous position are skipped); selectable in the Amiga tab: Fast / Accurate / Test
    • turning mid-walk no longer re-reveals the whole cone
    • unit lighting in pure integer math (~5x)
  • battlescape map renderer: ~100 ms -> ~10-16 ms per frame (sprite shading rewritten in plain C with a transparent-pixel skip and a no-shade copy path)
  • battle animation rate option (Amiga tab), default halved - frees a lot of CPU
  • Amiga options tab now holds 4 settings: screen title bar, mouse pointer, map reveal mode, battle animation speed
  • reaction fire, enemy spotting and fog behaviour preserved; report anything odd

Still true: complete alpha, no guarantee a full game plays through; no sound; keyboard text entry broken (mouse works); needs a lot of fast RAM (256 MB tested); AGA only (RTG build untested); saving takes ~1 min; temporary performance probes still log to oxc.log on purpose. No X-COM game data included - copy your PC game folders into data/UFO/ and/or data/TFTD/ (see README).

AmiXcom 0.2.0 alpha

AmiXcom 0.2.0 alpha Pre-release
Pre-release

Choose a tag to compare

@angree angree released this 17 Aug 07:57

Second alpha. Geoscape went from ~5 fps to ~40 fps on an 040/40-class machine (no JIT), still with the whole screen redrawn every frame. Made with Claude Code.

Changes:

  • globe repaints only when something actually changed (rotation, zoom, sun moving the terminator, radar circles); an idle globe costs only the blinking markers
  • day/night shadow computed in fixed point instead of ROM soft-float doubles (~280 ms -> ~20 ms per repaint)
  • colorkey blits: 4-pixels-at-a-time compare + per-surface span cache - transparent pixels cost nothing
  • removed a forced 20 ms sleep the engine took every frame (SDL_Delay(1) rounded up to a full Amiga clock tick)
  • new "Amiga" options tab (first tab): Amiga screen title bar on/off, mouse pointer original / Amiga-only; both ON by default
  • with the bar on, the screen opens taller (320x211) so the full 320x200 game area stays visible and mouse coordinates map 1:1
  • screen bar title comes from the game (name + version from one source)
  • Workbench icons included; the tool icons carry the 1 MB stack the game needs
  • FPS counter on by default (top-left; measurement aid while the port is optimised)

Still true from 0.1.0: complete alpha, no guarantee a full game plays through; no sound; keyboard text entry broken (mouse works); needs a lot of fast RAM (256 MB tested, 32 MB does not load); AGA only (RTG build included, untested); saving a game takes ~1 min. No X-COM game data included - copy your PC game folders into data/UFO/ and/or data/TFTD/ (see README).

AmiXcom 0.1.0 alpha

AmiXcom 0.1.0 alpha Pre-release
Pre-release

Choose a tag to compare

@angree angree released this 16 Aug 20:29

First public build of AmiXcom — OpenXcom (UFO: Enemy Unknown + Terror from the Deep) running natively on classic Amiga: 68020+ without FPU, AGA, AmigaOS 3.x. Made with Claude Code.

Complete alpha. The whole game path works (menu → new game → Geoscape → base → Battlescape), but it has only been tested for a few hours in WinUAE. No guarantee that a full game plays through.

Known problems (details in README):

  • Geoscape globe is slow
  • no dirty rectangles: full-screen c2p every frame caps everything at ~25 fps
  • AGA only (320x200, 8-bit); RTG build included but untested
  • no sound / music yet
  • keyboard text entry broken (mouse works)
  • needs a lot of fast RAM (tested with 256 MB; 32 MB runs out while loading)
  • FPS counter in the corner is intentional for now
  • untested on real hardware

No X-COM game data is included. Unpack, copy your PC game folders into data/UFO/ and/or data/TFTD/ (see README), execute run from a Shell.