Skip to content

Releases: krelbel/ALttPMSUShuffler

Version 0.8.2

19 May 03:44
Compare
Choose a tag to compare

Fixes off by one errors and crashes in the --nowplaying live reshuffle mode.

Version 0.8.1

17 May 08:56
Compare
Choose a tag to compare

Adds some very basic qusb2snes error handling for --nowplaying --live mode.

Version 0.8

17 May 08:18
Compare
Choose a tag to compare

Adds support for the --nowplaying option which caches the last MSU pack that was generated in live reshuffle mode, queries the currently playing MSU track over qusb2snes every second, and prints out which MSU pack the currently playing track is from if it's changed.

Also greatly speeds up runtime by adding a cache for the track index, and adds the --reindex argument to allow manually rebuilding this index after adding new MSU packs.

Version 0.7.3

04 Jan 01:02
Compare
Choose a tag to compare

Fixed bug where python 3.8 or earlier users could be forced into real copies instead of hard links (severely dropping performance, especially in live reshuffle mode) in situations that didn't require it.

Version 0.7.2

16 Dec 07:41
Compare
Choose a tag to compare
  • Skip checking folders/files with "disabled" in the name, to allow hiding tracks/directories from the shuffler without needing to move them out of the MSU collection entirely

  • Add benchmarking for indexing/reshuffling

  • Switch from delete/copy to atomic replace to help avoid a rare race condition that resulted in music not playing until the next transition

Version 0.7

15 Dec 06:44
Compare
Choose a tag to compare

Added live reshuffling! Reorganized things and made big performance improvements to allow generating a new shuffled MSU pack from the collection every few seconds while a run is ongoing. Use LiveReshuffle.py to generate a new pack every 10 seconds, or use the --live argument to Main.py to specify a different interval. Works well even at a 1 second interval.

Version 0.6

13 Dec 06:02
Compare
Choose a tag to compare
  • Added support for drag-and-drop ROMs, for creating a rom-named shuffled MSU pack in-place without needing to always copy the ROM to the script directory / always play with "shuffled.sfc" (very useful for async multiworlds where you have multiple seeds in progress at the same time). Usage is now as easy as cloning to your MSU directory and dragging ROMs onto Main.py. (Thanks Cait!)

  • Added support for Higan ROM directories and MSU filenames (untested) (thanks miketrethewey)

  • Changed --debug to --dry-run

0.5

10 Dec 19:47
Compare
Choose a tag to compare
0.5

The previous version would only search for packs to match for extended MSU tracks in ../*/*.pcm in an attempt to avoid getting confused by packs with subdirectories with optional tracks. It would also consider the partially completed shuffled MSU pack in progress as an option for a non-extended pack.

This resulted in the shuffler choosing its own generic dungeon/boss music as the dungeon/boss-specific track, and failed to find any packs in deeper directory structures like ../*/*/*.pcm

This version fixes both of these behaviors; thanks ScorelessPine for the bug report.

Version 0.4

10 Dec 11:17
Compare
Choose a tag to compare
  • MAIN FEATURE: Version 0.3 had unfortunate behavior where, if you had any extended MSU pack, the shuffler would select all boss-specific and dungeon-specific tracks from a random extended MSU pack, which prevented you from hearing boss/dungeon music from any non-extended MSU pack. Version 0.4 fixes this by first choosing an MSU pack at random, then picking the extended MSU track if it's available, otherwise falling back to the non-extended equivalent. Thanks Logic/miketrethewey for the pull request (sorry it's so late)
  • Will no longer recursively delete old MSU packs (only deletes "shuffled-*.pcm, output.log, and shuffled.sfc from the current directory) (sorry again Falcon)
  • Added an empty shuffled.msu file since why ask users to do what git can do easily
  • Script will now rename any .sfc file in the directory to shuffled.sfc, cutting out an additional unnecessary step
  • Added hardlink support to improve speed/cut disk usage (thanks dewin for the suggestion)
  • Added --debug in case you want to see what the script will be moving/copying/deleting without it actually doing it (thanks miketrethewey for the idea)
  • Prettier output (makes it easier to see what track ended up as what at a glance)