Skip to content

FFTARecomp v2.1

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Oct 00:31
· 1 commit to main since this release

v2.1 — per-label battle haptics, long-summon sync, coverage

Bring your own ROM — Final Fantasy Tactics Advance (USA) is the only user-supplied file; the launch BIOS is bundled (clean-room emibios, LGPL-3.0-or-later, committed at bios/).

New in v2.1

  • Android battle haptics (issue #30) — damage now buzzes the phone vibrator. Two HP-apply seams (the shared HP-delta helper and the enemy-unit direct store) authorize the pulse; the damage-number popup releases it, so the buzz lands with the number for every animation length.
  • One pulse per damage label — each damage number fires its own 120 ms pulse, rate-limited to 8 guest frames so rapid multi-hits collapse. Strength follows the displayed damage.
  • Long summons stay in sync — the grace deadline is 2400 frames (40 s), covering Totema summons whose numbers land more than 900 frames after the HP apply. Device-verified on a Mi 11: a Totema produced six labels and six pulses; misses and zero popups stay silent.
  • Controller settings shortcut — the pad's menu button or Y opens the in-game settings overlay; the Back key still works.
  • Reliability — key-isolation input tests, the CI test-double guard, and the 63,156-unit strict-FULLY_STATIC corpus, including two new Totema-session seeds.

Artifacts

Artifact What SHA-256
FFTARecomp-v2.1-linux-x64.zip Linux x64 (extract → run → pick ROM) 37fa4b2a237487073a65a8001a1cdb990264336753de3a617ad4ba301db16960
FFTARecomp-v2.1-linux-x86_64.AppImage Steam Deck / SteamOS, glibc 2.35+ fcefc2cbd00a50dab2fcd99419c3dedeb953e4234406d5b01310f678f7369d14
FFTARecomp-v2.1-windows-x64.zip Windows 10+ x64, statically linked 67b20afd742c43556abc46693ab41b9a38fc98f4ff976f6902da5d34eab6ebb2
FFTARecomp-v2.1-android-arm64-v8a.apk Android 9+ (API 28), arm64-v8a 064db79e6b7b90a32bc71271d85b3e659f61babd08434dbbbd28b7d69a8f9bd5
  • Linux zip and AppImage use the pinned Debian 12 compat binary (glibc 2.35 floor); Windows is a static executable. Linux needs the standard OpenGL/X11 stack.
  • The ROM is hash-verified at launch (SHA-1 4ac05441…); a mismatch means the dump is not the expected USA ROM.
  • The APK is debug-signed (tracked open decision) and is the ROM-less public build: import your dump through the setup screen. Android versionCode is now 3; the v2.0 debug key means an in-place upgrade keeps saves.
  • The AppImage needs FUSE. Without it, use APPIMAGE_EXTRACT_AND_RUN=1 or --appimage-extract-and-run.
  • Haptics are Android-only in this release: the phone sink and primary routing are live; controller motors (Phase 2) and the haptics setting (Phase 5) remain deferred. Desktop/Steam Deck haptics are unchanged (raylib's GLFW vibration is a stub).
  • Every executed path is strict fully-static (zero interpreter fallback), kept that way by the self-healing coverage loop.

Experimental preview — back up important saves. Unofficial, non-commercial preservation project; not affiliated with Square Enix or Nintendo.

Full Changelog: v2.0...v2.1