Skip to content

Releases: MattEqualsCoder/MSURandomizer

MSU Randomizer v2.0.0 Beta 1

11 Mar 16:39
Compare
Choose a tag to compare
Pre-release

Change Log

New UI and Cross Platform Support

The UI has been rewritten with a different library. It sports a new dark mode look and now supports Linux.

image

Shuffle Styles

There is now more flexibility in how the MSU Randomizer will shuffle songs. When shuffling an MSU, you will now have 4 options:

  • Standard shuffle: shuffle songs meant for that location
  • Standard shuffle (pair tracks): shuffle songs meant for that location, pairing related tracks such as a dungeon and its boss theme
  • Chaos shuffle: shuffle in songs not meant for a given location, ignoring special tracks
  • Chaos shuffle (full chaos): shuffle in songs not meant for a given location, including special tracks like the crystal get theme

Current Playing Track Display

For A Link to the Past and SMZ3 (currently SMZ3 Cas' only), you can view the currently played track while playing. While the full details of the song name and artist name will only be available with MSUs that include a YAML file, it will still show what MSU a track is from if you're shuffling tracks. The window will display the current track, but you can also have the information output to a text file for parsing into an OBS stream. You can also change the format to be in various different vertical and horizontal formats.

For this functionality to work, you need to be able to connect your emulator to the MSU Randomizer. This can be done via applications like QUsb2Snes and SNI. You can also connect via Lua scripts to emulators like snes9x-rr and BizHawk. If you use auto tracking, then this should work similarly. (Note that for Lua you'll need to run both your auto tracking Lua script and the MSU Randomizer script.)

image

Shuffle Frequency Settings

Have a particular MSU you'd like to see more or less often? You can now adjust the frequency of an MSU on the main list to do so. By marking an MSU as more frequent, it'll be twice as likely to show up as other MSUs. By marking an MSU as less frequent, it'll be half as likely to show up as other MSUs.

Boot Rom Support

If desired, the MSU Randomizer can now boot the rom in an emulator after creating the MSU. By default it'll use the application specified by the OS, but you can specify a specific application with custom arguments if you want to use a different emulator or are using RetroArch where you need to indicate a specific core when booting a rom.

Hardware Support

If you have hardware you can connect to your computer via USB such as an FxPakPro, there's now a hardware mode where the MSU Randomizer will detect the MSUs that are on the hardware, link them to MSUs you have on your computer if possible, then upload a selected rom to the MSU directory on the hardware. While shuffling isn't possible, the MSU Randomizer can randomly pick an MSU for you and even boot the rom after. To activate this mode, there's a button on the main MSU window with a USB icon you can press.

Misc Bugs and Fixes

  • Fixed an issue with loading MSUs where the case is inconsistent
  • Updated A Link to the Past to have paired tracks with all of the dungeons and their bosses
  • Added a setting to scale the UI
  • You can now pass in a rom file as a commandline argument to have the MSU Randomizer apply the MSU to that rom
  • Updated the project to .net 8

MSU Randomizer v1.2.3

30 Dec 04:26
c6d68a3
Compare
Choose a tag to compare

Change Log

Misc Updates and Bug Fixes

  • Updated it to not delete pcm/msu files for other roms in the same folder as the target rom

MSU Randomizer v1.2.2

01 Nov 21:18
c5402c2
Compare
Choose a tag to compare

Change Log

Misc Updates and Bug Fixes

  • Updated it so that you can now specify the legacy SMZ3 style for use in Archipelago

MSU Randomizer v1.2.1

31 Oct 03:34
63c65a8
Compare
Choose a tag to compare

Change Log

Misc Updates and Bug Fixes

  • The drop down for selecting the output MSU type now shows all MSU types. This will allow you to create MSUs for games, even if it doesn't find a 1:1 match. For example, if you have individual A Link to the Past and Super Metroid MSUs, you will now be able to select SMZ3 to create an SMZ3 MSU.
  • Updated to use a single msu_types.json file instead of bundling the individual json files into the build script. This will make an eventual Linux release easier to create.
  • Created a GitHub action to make builds easier.
  • Changed icons to remove potential compatibility warning.

MSU Randomizer v1.2.0

29 Aug 12:51
54f24bd
Compare
Choose a tag to compare

Change Log

Major Changes

  • Alt Track Randomization Changes

    Per request, a few changes have been made to the way MSU alt tracks are shuffled in. While previously the MSU Randomizer had the ability to prefer the original or alt tracks, some people may want to have specific songs specified for specific tracks. A common scenario for this would be for the Super Metroid escape sequence where there could be a version with alarms and a version without. The previous alt track randomization options would override any manual changes.

    Due to this request, the following changes have been made:

    • When a single MSU is selected, the "Select MSU" option will default to using the base pcm files as they are currently specified in the filesystem, so if you have specific alt tracks swapped out, it'll leave them as-is. If you'd like to use a single MSU and would like alt tracks shuffled in, simply only select the single MSU and use the "Create Shuffled MSU" button. You should also use the continuous shuffling to constantly swap between regular and alt tracks.
    • If you right click on an MSU and click on "Open Details", the "Alt Tracks" option (now renamed "Alt Track Shuffling") has a new option: "Leave Tracks Alone". You can enable this for an MSU where you'd like to have it be shuffled in with other MSUs, but the tracks stay as you have them manually set.

    Hopefully that fully explains everything! If you only have MSUs that don't have alt tracks, the behavior is largely unchanged. And if you don't mind if alt tracks are shuffled in, then just use the "Create Shuffled MSU" button instead of the "Select MSU" button. The options above just allow people to have more granular control if they desire.

Misc Updates and Bug Fixes

  • Updated the MSU List to only display MSUs with at least 20% of the required tracks
  • The "Create Shuffled MSU" and "Continuously Shuffled MSU" buttons are now clickable with only a single MSU selected
  • Fixed an issue where alt track details would be slightly incorrect (MSURandomizerLibrary only)
  • Fixed MSU details not saving the MSU version number correctly (MSURandomizerLibrary only)

MSU Randomizer v1.1.0

25 Aug 00:16
8920f95
Compare
Choose a tag to compare

Change Log

Major Changes

  • Favorite MSUs

    You can now favorite MSUs by hitting the star next to them. This will cause them to appear at the top of the list the next time the list is refreshed and allow you to filter on MSUs you've favorited.

Misc Updates and Bug Fixes

  • Fixed an issue where if the track numbers and track names in an MSU pack did not align in the YAML file, songs could be picked for the wrong location.
  • Truncated the path of the MSU in the MSU list.
  • Fixed an issue that caused paired tracks to no longer work.
  • Added an option to the right click menu on the MSU list to open the MSU's folder.

MSU Randomizer v1.0.1

21 Aug 02:49
2d99da0
Compare
Choose a tag to compare

As of this version, the MSU Randomizer is now feature complete! 🎉Ignore the skip to 1.0.1. That was due to a mixup on my part uploading to Nuget...

Change Log

Major Changes

  • Update Notifier

    The MSU Randomizer will now on launch check for updates and notify you of any pending downloads on GitHub. This feature can be turned off in the settings.

  • Updates for Nuget Packages

    Some overhauls were done to the product structure so that this could be utilized in the MSU Scripter and SMZ3 Cas' Randomizer.

Misc Updates and Bug Fixes

  • Updated alt tracks without YAML files to have titles like Track 1 (alt 1) instead of including the pcm file

While this is now feature complete, other small updates and additional games may be added to the future. As always, please submit an Issue for an bugs that are found.

MSU Randomizer v0.9.8

31 Jul 02:47
bfe15c5
Compare
Choose a tag to compare

NOTE: This release introduces many changes, and there may be some issues. If you run into any problems, please open an issue here: https://github.com/MattEqualsCoder/MSURandomizer/issues

Change Log

Major Changes

  • Non Z3/SM/SMZ3 YAML Changes

    Originally with the introduction of the additional MSU types, the YAML files for MSU types that weren't for A Link to the Past, Super Metroid, or the SMZ3 Combined Randomizer were setup differently. As of this update, all YAML types for all MSU types are made to be consistent. All of the templates for the different YAML types can be found here.

  • Loading Efficiency Updates

    After doing some testing on a different project, I discovered that MSUs with YAML files and alt tracks could cause the MSU Randomizer to be quite sluggish when first loading. Therefore, multiple changes have been made to assist with this.

    • A loading bar has been implemented when the MSU Randomizer is scanning MSUs.
    • The loading of MSUs is now being done in parallel to speed it up if some MSUs take longer.
    • Once loaded, MSUs are now cached. Any changes to either the YAML file (if applicable) or the list of tracks will initiate a refresh.

Misc Updates and Bug Fixes

  • Fixed an issue with alt tracks where when assigning a specific MSU to a folder would not shuffle the regular/alt tracks correctly.
  • Added the file path of the pcm files to the MSU details screen.
  • For each MSU you can now specify whether you want to have alt tracks be randomized, disabled, or preferred.
  • Various minor bug fixes from creating additional unit tests and working on another project that integrates the MSU Randomizer library.
  • Split out the UI portions of the MSU Randomizer Library into its own project.

MSU Randomizer v0.9.7

22 Jul 02:02
f71f0ba
Compare
Choose a tag to compare

NOTE: This release introduces many changes, and there may be some issues. If you run into any problems, please open an issue here: https://github.com/MattEqualsCoder/MSURandomizer/issues

Change Log

Major Changes

  • Additional MSU Types

    The MSU type configs have been changed from the previous YAML configs to be JSON configs originally created by Minnie Trethewey. Due to these changes, the MSU randomizer can actually support a lot more games, including F-Zero, Donkey Kong Country, and more!

  • MSU Detail YAML Files

    MSU creators can now create YAML files to pull in both MSU and track details such as the MSU name snf creator as well as information about the songs for the different tracks, such as the song names, albums, and artists. When generating an MSU, it will use those details to create a YAML file alongside the MSU so users can see more of the details of the songs that were picked. If no YAML file is found and there is a msupcm++ track JSON file, it will attempt to pull some basic info from that file.

  • Alt Tracks

    The MSU Randomizer now supports alt tracks. For MSUs with YAML files with track details, it'll require the file path, file length, and a SHA-1 hash to be specified in the YAML file so that the MSU Randomizer is sure which file is which in case they have been swapped around manually or via script. For MSUs without YAML files, it'll use any PCM files that start with the same file name as the base track. For example, if the base song is msu-track-1.pcm, it'll pick up msu-track-1(alt).pcm, msu-track-1_alt.pcm, and msu-track-1-alt.pcm as alternate tracks.

  • MSU Details

    You can view details about an MSU by right clicking on an MSU in the list and clicking "Open Details". Here you will be able to override the auto detected MSU type if it is incorrect, and if an MSU doesn't have a YAML file you can specify the MSU name and creator.

Misc Updates and Bug Fixes

  • Updated MSU references to be based on the full path to the MSU file to avoid issues with MSUs in different directories with the same name being included when they aren't selected. (#13)
  • Removed using loop values in a PCM file from being used to help with auto detection of MSU types. Some MSUs seemed to have tracks with loops specified for tracks that did not loop. (#12)
  • Updated to display a warning message if the drive is out of space instead of crashing. (#10)
  • Updated to display a warning message if the randomizer TXT or YAML file being written to by the MSU randomizer is locked instead of crashing. (#9)
  • The continuous shuffle option has been changed to a button on the main MSU list.
  • For MSUs without names pulled from YAML or JSON files, the folder name is used instead of the MSU file name to help readability if there are multiple packs in multiple directories with the same name.
  • The path and track counts are now displayed in the main MSU list.
  • Removed the previous warning if you didn't have any exact MSU packs for the MSU type being output and instead now warn if you're missing a large number of required tracks for the output MSU type.
  • Unnecessary tracks are no longer created when an extended track is the same as its fallback track.
  • Changed the way MSU packs are converted to fix issues where converted packs wouldn't work with paired tracks as expected.

MSU Randomizer v0.9.7-rc.1

15 Jul 03:18
Compare
Choose a tag to compare
Pre-release

NOTE: This is a release candidate and has some significant changes. There may be some issues. If you run into any problems, please open an issue here: https://github.com/MattEqualsCoder/MSURandomizer/issues

Change Log

Major Changes

  • Additional MSU Types

    The MSU type configs have been changed from the previous YAML configs to be JSON configs originally created by Minnie Trethewey. Due to these changes, the MSU randomizer can actually support a lot more games, including F-Zero, Donkey Kong Country, and more!

  • MSU Detail YAML Files

    MSU creators can now create YAML files to pull in both MSU and track details such as the MSU name snf creator as well as information about the songs for the different tracks, such as the song names, albums, and artists. When generating an MSU, it will use those details to create a YAML file alongside the MSU so users can see more of the details of the songs that were picked. More details for drafting YAML files will be added before the full release of 0.9.7. If no YAML file is found and there is a msupcm++ track JSON file, it will attempt to pull some basic info from that file.

  • Alt Tracks

    The MSU Randomizer now supports alt tracks. For MSUs with YAML files with track details, it'll require the file path, file length, and a SHA-1 hash to be specified in the YAML file so that the MSU Randomizer is sure which file is which in case they have been swapped around manually or via script. For MSUs without YAML files, it'll use any PCM files that start with the same file name as the base track. For example, if the base song is msu-track-1.pcm, it'll pick up msu-track-1(alt).pcm, msu-track-1_alt.pcm, and msu-track-1-alt.pcm as alternate tracks.

  • MSU Details

    You can view details about an MSU by right clicking on an MSU in the list and clicking "Open Details". Here you will be able to override the auto detected MSU type if it is incorrect, and if an MSU doesn't have a YAML file you can specify the MSU name and creator.

Misc Updates and Bug Fixes

  • Updated MSU references to be based on the full path to the MSU file to avoid issues with MSUs in different directories with the same name being included when they aren't selected. (#13)
  • Removed using loop values in a PCM file from being used to help with auto detection of MSU types. Some MSUs seemed to have tracks with loops specified for tracks that did not loop. (#12)
  • Updated to display a warning message if the drive is out of space instead of crashing. (#10)
  • Updated to display a warning message if the randomizer TXT or YAML file being written to by the MSU randomizer is locked instead of crashing. (#9)
  • The continuous shuffle option has been changed to a button on the main MSU list.
  • For MSUs without names pulled from YAML or JSON files, the folder name is used instead of the MSU file name to help readability if there are multiple packs in multiple directories with the same name.
  • The path and track counts are now displayed in the main MSU list.
  • Removed the previous warning if you didn't have any exact MSU packs for the MSU type being output and instead now warn if you're missing a large number of required tracks for the output MSU type.
  • Unnecessary tracks are no longer created when an extended track is the same as its fallback track.
  • Changed the way MSU packs are converted to fix issues where converted packs wouldn't work with paired tracks as expected.