Skip to content

Heroes V v0.3-dev

Pre-release
Pre-release

Choose a tag to compare

@phys-winner phys-winner released this 29 Oct 17:21
48d1089

Development release for all three Heroes V editions on Android ARM64, with improved sound, touch controls, launcher recovery and legacy widescreen UI. This replacement build uses Android version 0.3-dev / code 5.

Changes since 0.2-dev:

  • Troop deployment supports dragging stacks from the battlefield to reserve slots
    and back in ToE 3.1, Heroes V 1.6 and Hammers of Fate 2.1.
  • While aiming in battle, a resting second finger shows the creature's details
    card without losing the attack preview. Lifting the second finger closes the
    card and resumes aiming; lifting the aiming finger first issues no order and
    keeps the card until the second finger lifts. ToE keeps the camera still while
    a card is open and supports a second-finger tap to keep it until the first lifts.
  • Holding a map or town object, or a combat control such as the initiative bar,
    requests its details card after its tooltip appears. The original right-click
    tooltip setting is respected. These controls work in all three editions.
  • The in-game control guide and the controls table document the new gestures.
  • All editions use a 32-tap windowed-sinc resampler for non-48 kHz sound buffers,
    replacing sample repetition. Normal AAudio output and queue refill after late
    mixer wakes improve audio continuity; mixer threads use the revised priorities
    and can run on all CPU cores.
  • ToE's additional settings use dropdowns for render/UI scale and refresh-rate
    limits from the display's supported rates, plus touch-cursor and VPN LAN checkboxes.
  • ToE sliders move relative to their current value on a swipe; dropdowns open on
    swipe start and select on release. Deployment portraits stay under the finger.
  • ToE initiative-bar portraits can be selected with one tap and opened with the
    next, without holding. Each subsequent tap switches once between the card and
    effects; tapping elsewhere closes the card without issuing a battlefield order.
    Second-finger taps over a held portrait also switch once between these views.
  • ToE supports forcing an active shooter's melee attack by dragging to the enemy,
    and a two-finger map tap to stop the hero or cancel targeting.
  • Double-tapping the ToE minimap, or tapping it with two fingers, toggles object
    highlighting without moving the camera. A single minimap tap waits 0.4 seconds.
    Reused highlight handles avoid rebuilding unchanged selections every frame;
    lists are rebuilt when changed and periodically refreshed every 30 frames.
  • ToE spellbooks accept horizontal page swipes and vertical bookmark swipes;
    near-miss school-tab taps select the closest bookmark within the snap distance.
  • Experimental ToE VPN LAN support adds launcher peer addresses and an in-game
    switch, off by default, for Tailscale-style discovery and tunnel addresses.
    Peer names resolve in a background thread. Live VPN play remains untested.
  • DXVK/Turnip renderer sources, capability probes, bridge generation/build tools,
    dependency hashes and license notes are included for development. The renderer
    UI and probe service are disabled, and the default APK ships no DXVK/Turnip
    runtime libraries; the experimental GPU stall remains unresolved.
  • A successful-start marker identifies the installed build and is cleared before
    each engine start. After an update or an unsuccessful start, the app icon opens
    the launcher; a successful start restores automatic game launch.
  • The launcher brings back a running game only while its game activity still has
    an Android task, so a process surviving a removed task cannot hijack the launcher.
  • ZIP import recognizes Cyrillic CP866 names from Windows archivers, including
    names whose bytes also form valid UTF-8. Explicit UTF-8 and valid Unicode extra
    fields retain precedence; other names use the existing decoding fallbacks.
  • ZIP import restores file modification times from DOS, extended Unix or NTFS
    timestamps, including the metadata written by 7-Zip.
  • Archive inspection and extraction report decoder/runtime failures and Java
    errors through the launcher instead of leaving an unfinished import. Existing
    CRC checks and extraction cleanup are retained.
  • Missing or blocked system file pickers show an error. Refused foreground-service
    starts are logged and extraction continues while the launcher is on screen.
  • Sparse graphics buffer remapping uses local pointers, chooses index width once,
    prefetches scattered reads and checks the gathered vertex range once per draw.
    The same implementation now serves all three engines; no FPS gain is claimed.
  • Heroes V 1.6 and HoF 2.1 use widescreen anchors for new-day/week and tactics
    messages, announcement boxes, turn timers, edit dials, Fort on the Hill,
    mission objectives and the right combat hero panel.
  • HoF loading screens regain the gradient background supplied by the original
    game around the resized loading artwork.
  • The launcher adds an optional New Creature Framework switch for ToE 3.1,
    disabled by default. It raises the creature count from 180 to 1000 and guards
    random-map copies of missing creature map visuals. Mods must supply the creature
    records; enabling it with an unmodified game prevents startup.
  • New Creature Framework uses host values in the translated code, preserving its
    control flow and compatibility with the existing ToE PGO profile.
  • Native address mappings, layout patch anchors and source hashes are updated in
    all three edition contracts for the shared touch and rendering changes.
  • Regression coverage is extended for two-finger contact order, creature cards,
    reserve deployment, successful-start markers, sparse buffers, CP866 ZIP names,
    archive timestamps and New Creature Framework transforms and host values.
  • The release uses the retrained ToE PGO profile covering menus, adventure views,
    hero interaction and battles. Vanilla and HoF still build without PGO; the local
    profile is a build input outside Git. No measurable FPS gain was established.
  • Android version is now 0.3-dev / code 5; local APK filenames and version
    documentation follow that version.

Requirements

  • Supported original Heroes V 1.6, Hammers of Fate 2.1 or Tribes of the East 3.1 game files.
  • ARM64 Android 8.0 or later and OpenGL ES 3.2.
  • See the supported original games and build/install documentation.

Known limitations

  • New Creature Framework is off by default and requires a mod supplying the creature records; enabling it with the unmodified game prevents startup.
  • VPN LAN support is experimental and has not been tested with live Tailscale peers.
  • DXVK/Turnip support remains disabled, and its runtime libraries are not packaged. The experimental GPU stall remains unresolved; use OpenGL ES.
  • The oversized spellbook reported on Pixel 10 and the HoF hot-seat hero-battle crash were not reproduced; no fix is claimed for either.
  • Extended campaign, save/load and legacy LAN checks remain outstanding. Vanilla/HoF still lack their own PGO profiles and the ToE-only generated-code optimizations.
  • This final replacement APK was not installed or device-tested during release preparation.

Validation

All 130 focused regression tests passed. All three engines use ThinLTO; ToE also uses its current PGO profile. APK signature/update certificate, ARM64 ABI, ZIP CRC, native XZ hashes and 16 KiB APK/ELF alignment were verified.

Source: 48d1089, GPG signature verified. Exactly one commit follows v0.2-dev.

APK SHA-256:

2827af9084d14483a7c4822c429b8ceee0947609ce6306a460ae15fe67b3b79f