Skip to content

Releases: ZinexDa/sonic-r-android

Sonic R Android v1.2.7 — Hotfix & Stability Update

Choose a tag to compare

@ZinexDa ZinexDa released this 04 Oct 12:35

Changes in v1.2.7:

  • Character Selection Retention: Fixed an issue where returning to the character select screen reset Player 1 back to Sonic (Index 0). Unlocked and previously chosen characters (e.g. Knuckles) now remain selected across races.
  • Single-Player Authentic Behavior: Completely restricted lap validation checks to active online multiplayer (g_netSessionActive). Single-player modes (Grand Prix, Time Attack, Boss Duels such as the Tails Doll unlock race on Radical City, and Split-Screen) now run with 100% authentic 1997 game logic.
  • Netplay Lap Validation Tuning: Widened checkpoint detection ranges in multiplayer to ensure legitimate cuts and river shortcuts (e.g. Radical City start shortcut) register cleanly while still protecting public rooms from fraudulent lap skips.
  • Multiplayer State Sync: Applied stability improvements to character slot states to prevent hybrid animation and character mismatch glitches.

Sonic R Android v1.2.6

Choose a tag to compare

@ZinexDa ZinexDa released this 26 Sep 10:07

What's Changed in v1.2.6

  • Anti-Cheat Lap & Checkpoint Validation: Added strict sequential multi-checkpoint tracking and an 8.0-second minimum lap time threshold, eliminating start-line lap skipping exploits. Bogus lap claims are automatically rejected without desyncing.
  • Split-Screen Rendering Fixed: Resolved the viewport and letterbox aspect ratio glitch in 2-player local split-screen mode.
  • Launcher UI: Updated footer label to v1.2.6.

Sonic R Android v1.2.5

Choose a tag to compare

@ZinexDa ZinexDa released this 21 Sep 11:59

What's Changed in v1.2.5

  • Full Balloon Mode Support in Netplay: Enabled multiplayer Balloon Mode with synchronized item spawning, proper lobby submode mapping, and 5-balloon collection victory conditions.
  • Podium Results Inversion Fix: Corrected signed integer overflow in track progress calculations and disabled legacy camera packet writes, ensuring 1st place racers always stand atop the podium.
  • Complete Ability & Character Synchronization: Unified model IDs, animation tables, and physics abilities across all peers, preventing hybrid move-set glitches (e.g. Sonic flying with Tails' aura).
  • 3+ Player Room Stability: Allocated dynamic ephemeral loopback ports on the host sidecar, resolving UDP address collisions and enabling seamless 3- and 4-player multiplayer sessions.
  • UI Polish: Updated launcher footer version label to reflect v1.2.5.

Sonic R Android v1.2.4

Choose a tag to compare

@ZinexDa ZinexDa released this 20 Sep 11:05

What's Changed in v1.2.4

  • Full Character Selection Sync: Fixed packet ordering and included character IDs in JOIN_REQ and SLOT_ASSIGN, completely resolving hybrid move-set glitches and wrong sprite states.
  • Mid-Race Stability: Prevented false returns to lobby during active races and hardened connection watchdogs to 60 seconds.
  • Expanded Packet Buffer: Increased network ring buffer to 256 packets to eliminate micro-stutter packet drops over mobile VPNs.
  • Host Race Continuity: Host sessions no longer auto-terminate if a remote player disconnects.
  • Audio Fixes: Resolved the infinite looping SFX bug on Client/Player 2.
  • Keep Screen Awake: Added FLAG_KEEP_SCREEN_ON to prevent device sleep and Wi-Fi throttling during races.
  • Expanded Gamepad Support: Added community SDL2 mappings for GameSir controllers (X2, G4 Pro, T4, etc.).

Sonic R Android v1.2.3

Choose a tag to compare

@ZinexDa ZinexDa released this 19 Sep 14:54

Changes in v1.2.3

  • Prevent Mid-Game Disconnects: Increased network silence timeout from 5s to 15s in host and client watchdogs to handle cellular / VPN packet latency without dropping connections.
  • Fix Client Camera Divergence: Guarded smoothing divisors against non-positive values (divisor <= 0 -> divisor = 1) in BuildCameraView to prevent coordinate explosion and black screen center-dot bugs.
  • Multiplayer Camera Initialization: Initialized all 4 player camera slots in InitRaceStart and ensured fovDetail = 0x20 in BuildChaseCamera.

Sonic R Android v1.2.2

Choose a tag to compare

@ZinexDa ZinexDa released this 19 Sep 13:48

Changes in v1.2.2

  • Fixed multiplayer connection failures across mobile NAT / VPN networks.
  • Added robust WebSocket datagram tunneling for single-port hub mode.
  • Fixed client join startup race conditions and packet drops.
  • Prevented socket port collisions (EADDRINUSE).
  • Fixed analog stick and multi-touch test assertions.

Sonic R Android v1.2.1

Choose a tag to compare

@ZinexDa ZinexDa released this 19 Sep 10:13

What's New in v1.2.1

  • Full 32-bit ARM Support (armeabi-v7a): Sonic R now runs on older and budget 32-bit Android devices alongside 64-bit hardware.
  • Touch Controls Overhaul:
    • Fixed a critical bug where holding the phone tilted the internal accelerometer, causing continuous reverse/brake input (PAD_DOWN).
    • Fixed virtual joystick release latency: immediate zero-centering upon finger lift.
    • Clean multi-touch handling with orphan touch recovery.
  • Multiplayer Enhancements: Improved compatibility with single-port WebSocket datagram tunneling.

Which APK should I download?

  • SonicR-v1.2.1-universal.apk: Works on all Android devices (64-bit and 32-bit). Recommended!
  • SonicR-v1.2.1-armeabi-v7a-32bit.apk: Smaller download tailored specifically for older 32-bit-only hardware.

Sonic R Android v1.2

Choose a tag to compare

@ZinexDa ZinexDa released this 19 Sep 04:03

What's New in v1.2

  • Cross-Platform Netplay: Added full WebSocket datagram tunneling support to connect through single-port servers and strict NATs.
  • Universal Gamepad Support: Plug-and-play support for all modern Bluetooth and USB controllers via gamecontrollerdb.txt (Xbox, PlayStation, Switch Pro, and standard mobile gamepads).
  • Save & Settings Persistence: Fixed save path resolution and directory creation; settings (SONICR.INF) and progress slots (SAVE/R01.SAV) now reliably persist across app restarts and force-stops.
  • Hardened Release: Production build with debugging disabled.

Credits & Acknowledgments

This project is built on top of the incredible Sonic R Decompilation by the upstream author. Huge respect and gratitude for their countless hours of reverse engineering that made this possible. Please support the original repository!

Sonic R Android v1.1.1 (Patch)

Choose a tag to compare

@ZinexDa ZinexDa released this 17 Sep 04:58

Sonic R Android v1.1.1 (Patch Release)

Music File Resolution & Playback Fixes

This patch release addresses issues where soundtrack playback failed due to filename format and directory casing discrepancies:

  • Zero-Padded Track Number Support: Added %02d track numbering alongside %d across all audio format loaders (e.g. track02.ogg, Track02.mp3, TRACK02.SON).
  • Directory Casing: Resolved file lookup across both music/ and MUSIC/ subdirectories on case-sensitive Android filesystems (fixing an issue where native SDL_mixer audio formats previously looked only in uppercase MUSIC/).
  • Prefix Casing Variations: Added full support for lowercase, TitleCase, and uppercase prefixes (track, Track, TRACK).
  • Preserved Format Hierarchy: Retains high-fidelity native audio priority: .son (PCM) → .adx (CRI ADX) → .adp (AICA) → .ogg / .mp3 / .flac / .wav.

Note

No Reinstallation Required: Users do NOT need to reinstall their game data! This update strictly fixes how the application locates and opens already-installed music files on your device storage.

Testing & Quality Assurance

  • Automated Kotlin unit tests verifying candidate generation and priority ordering.
  • Embedded startup test suite (Music_TestTrackResolution) validating real-time file probe and load resolution on device.

Sonic R Android v1.1

Choose a tag to compare

@ZinexDa ZinexDa released this 17 Sep 03:55

Sonic R Android v1.1 — Virtual Joystick & Touch Input Fixes

This release replaces the static D-pad with a draggable virtual joystick and resolves two critical touch-input issues reported in v1.0.0.

What's New:

  • Draggable Virtual Joystick:
    • Unbounded Direction Tracking: Steering input continues unbroken no matter how far your thumb moves outside the visual base boundary.
    • Draggable Thumb Knob: Responsive visual knob follows your thumb, smoothly clamped to the base perimeter with active glow and dynamic stem rendering.
    • 8-Way Digital Quantization: Accurately maps touch angles into the 8-directional inputs expected by the Sonic R physics engine.
  • Fixed D-pad Input Dropping:
    • Resolved the bug where sliding outside the D-pad bounds stopped Sonic from steering or moving.
  • Fixed Touch Bleeding Between Controls:
    • Introduced per-touch control binding (TouchBinding): dragging a finger from one button across another will never activate the second button.
  • Synchronized UI Preview:
    • Updated the Customize Controls editor in Settings to display the new virtual joystick base, deadzone ring, and centered thumb knob.
    • Independent 7-control positioning and scale customization remains 100% functional.

Installation:

  1. Download and install SonicR-release.apk on Android 5.0+ (ARM64 / x86_64).
  2. Requires original retail PC game data files.