Skip to content

0.3.9 - Music replacement, 32-bit Android

Choose a tag to compare

@YuutaTsubasa YuutaTsubasa released this 10 Oct 15:56
· 5 commits to main since this release

Replace the music with your own files, and a 32-bit Android build.

  • Music replacement (Issue #3): put WAV files in Mods/Music in the user data folder (created on first run), named after the game's music id: 05.wav replaces BOTANIC BASE's music. The game's sound effects still play, because only the sound driver's music is stopped. Replaced music pauses with the game. When a jingle without a file of its own plays, the replaced music waits and then carries on from where it stopped, and it fades out when the game fades its music. Loops come from the WAV's sampler chunk or a 05.loop text file, and ModMusicVolume in [Audio] sets the level. Every music request is logged with its id, so you can find which file to make. Known ids: 01 TRAINING, 02 TECHNO TOWER, 03 SPEED SLIDER, 04 MARINA MADNESS, 05 BOTANIC BASE, 07 AMAZING ARENA, 11 INTRODUCTION. WAV only for now (8/16/24-bit PCM or 32-bit float). Without files nothing changes. Details: docs/MUSIC_MODS.md.
  • 32-bit Android (Issue #19): ChaotixRecompiled-0.3.9-android-armeabi-v7a.apk is for older or mid-range phones with 32-bit ARM processors. It builds without warnings but has not been tested on a 32-bit device yet, and those phones are slower, so full speed is not guaranteed. Feedback is welcome.

Validation: all 24 CTest cases pass on the MinGW build, including the 36,000-frame interpreter/recompiled lockstep and golden-frame runs, so the game behaves exactly as before when no music files are present. The 129 unit tests include 12 new music tests: WAV decoding, loops, and resume, stop, pause and fade. One of them uses the local ROM and confirms that replacing BOTANIC BASE's music silences the driver's music; it fails if the substitution is removed. With a test tone as 05.wav, the output contains the tone and none of the original music, and interpreter and recompiled execution stayed bit-identical over 2,400 frames with a pause. The packaged Windows build passed the five ROM startup tests with a system-only PATH. The Android APKs have not been tested on a device for this release.

Windows x64 and Android builds are included: arm64-v8a/x86_64 (the usual APK) and armeabi-v7a (separate APK). Both APKs use version code 12 and the same signing certificate as 0.3.8, for in-place updates. As before, they are debug-signed with Release native code.

You must supply your own Knuckles' Chaotix (Japan, USA) ROM. No ROM image or game assets are included. Only use music you have the right to use.