Skip to content

Unleashed Recomp Android_0.4.0

Choose a tag to compare

@ITSeniy ITSeniy released this 12 Jul 02:10
c6b6bba

Touch camera control (issue #50)

  • The in-game camera can now be controlled from the touch screen. Two modes are available in the launcher's Controls card: Swipe on screen (default — drag anywhere on the free right half of the screen, no extra widget) and Right stick (a dedicated virtual stick, arrangeable in the layout editor like every other control), plus Off.
  • Fingers that start on buttons or sticks never move the camera, and the camera finger never presses buttons.

Fixes

  • Fixed gameplay-impairing display glitches on Xiaomi HyperOS 3 (issue #51): Mesa's enable_tp_ubwc_flag_hint=1 feature flag is now applied automatically when HyperOS 3+ is detected, and a driver_import/fd_dev_features.txt file can override FD_DEV_FEATURES for experiments on other devices.
  • The profiler overlay no longer opens on every launch (issue #46). It is off by default, can be enabled with the new "Show profiler overlay" launcher checkbox, and closing it in-game with its X button is remembered across launches.
  • The mod manager no longer creates a second mods folder in the transfer root (issue #42). Only <game root>/mods is created; an empty leftover transfer folder from 0.3.0 is removed automatically, and mods already placed there are still detected.
  • Fixed a crash when applying the window-size option while the app is backgrounded: on Android the display-mode list is empty whenever the native window is detached, and the callback indexed entry -1 of the empty list (SIGSEGV at fault_addr=0xffffffffffffec on the main thread, seen on AYN Thor in issue #27). The callback now skips the update until display modes are available again.
  • Log-file version banner now matches the released APK version; 0.3.0 builds still reported 1.5.0-roadmap-v34 in log.txt, which made log triage misleading.

Stability hardening (issue #27 — mitigation, not a fix yet)

The "ring crash" on Snapdragon 8 Gen 2 handhelds (AYN Odin 2 / Thor) and several others Snapdragon devices with Chinese ROMs is still under active investigation; its root cause — corruption of animation-node and heap data — is not yet fixed. This release makes the crash cascade less fatal and much more diagnosable:

  • The animation-node evaluator skips nodes with invalid data pointers (and logs them) instead of crashing.
  • The guest null page is readable/writable on Android, so reads through the broken 0/-1 pointers return zeros; testers confirmed no visual impact.
  • Indirect calls whose target is outside the recompiled code or unmapped are skipped and logged instead of jumping to a wild address.
  • Fatal-signal reports, device info and GPU identity in log.txt continue to symbolize crash locations offline. Desktop behaviour is unchanged by all of the above.