Skip to content

0.11.0

Choose a tag to compare

@YuutaTsubasa YuutaTsubasa released this 23 Oct 17:45
· 32 commits to main since this release

This release adds a music player and speedrun tools.

  • Music player (Issue #48): MUSIC PLAYER on the front end, also under OPTIONS > SOUND so it can be opened from the pause menu.
    • It plays the 41 songs of the game's SOUND TEST, with the names the game gives them. The list is read from your ROM.
    • The music comes from the game's own sound driver, FM, PSG and PWM drums included.
    • Controls: PLAY, STOP, NEXT, PREVIOUS and FADE OUT.
    • REPEAT can loop the track, play it once, or play all. FADE OUT AFTER fades a track after 1 to 5 minutes.
    • A track replaced by a music mod is marked REPLACED BY MOD, and its file is played.
    • Opened during play, it holds the game and gives it back unchanged when you close it.
    • Details: docs/MUSIC_PLAYER.md.
  • Speedrun tools (Issue #47): OPTIONS > EXTRAS > SPEEDRUN; everything is off by default.
    • TIMER:
      • Real time and game time (the sum of the level times the results screen shows).
      • A split at each level finished, compared with your best.
      • Your best is kept per game in Splits/.
      • A run starts when you leave DATA LOAD into the game, and resets at the title. Home and End start and reset it by hand.
    • INPUT DISPLAY: the pad's buttons, for both players in 2P.
    • Placement: each overlay can go in any corner, with an opacity setting. The overlays are drawn over the window only: screenshots, recordings and the game are unchanged.
    • LiveSplit: an auto-splitter script, tools/livesplit/ChaotixRecompiled.asl, is included in the Windows zip and in the repository. It starts, splits, resets and reads the game time.
    • Details and the memory map: docs/SPEEDRUN.md.
  • Known issue: the game's own OPTIONS > SOUND TEST stays silent (Issue #50); the music player plays the same songs.

Validation:

  • Windows: all 71 CTest cases pass. New tests:
    • Music player: it lists the 41 songs from the ROM, plays tracks that are not silent and differ from each other, and gives the same sound recompiled and interpreted. A music mod's file plays in place of its track. Opening it mid-level leaves every frame and the machine's state as they were.
    • Speedrun: a finished level splits once, with the results screen's time. The run starts when DATA LOAD hands over. The overlays change no pixel outside their boxes, and the LiveSplit block is present in the programs.
  • Lockstep: all 33 sweep runs with random input are bit-identical.
  • macOS (M1): all 68 CTest cases pass and lockstep is bit-identical on arm64.
  • Linux: all 68 Linux CTest cases pass.
  • Packages: the packaged Windows and Linux builds pass the startup tests.
  • Untested: the LiveSplit script has not been run inside LiveSplit; its memory block was checked from a separate process. The Android APKs have not been tested on a device for this release.

Downloads: the Windows x64 zip, the Linux x64 tar.gz, the macOS arm64 zip, the iOS .ipa, and two Android APKs: arm64-v8a/x86_64 (the usual one) and armeabi-v7a (32-bit ARM). Both APKs use version code 34 and the same signing certificate as 0.10.0, so they update in place.

You must supply your own Knuckles' Chaotix (Japan, USA) ROM. No ROM image or game assets are included.