Change / Release Log

Programmer’s Note:

As Beat Saber matures, so does BeatMapper Tools. Starting with V2.2b, we’re slowly adding tools and support for 90/360 mappers.

  • Version 2.6 (EXE Only, Public Release)
    • Fixed: Disable update checking on startup option wasn’t being respected.
    • New: Toggle bigger Log/Output. Double click the output log and it will enlarge the output window so you can see more information. Double click again to return to regular size.
    • New: AutoJump for Log/Output.
      Put a text value in this box and every time your 90/360 map is parsed for angles, the last occurrence of that text will be jumped to when the process is complete. This allows you to do rework in the “middle” of the map and when it is saved, your rotation angle output location can be automatically jumped to. Double click the AutoJump label to quickly clear the text. Double click the text to do a manual jump to the last occurrence of that text.
  • Version 2.4a (Full, Public Release)
    • Fixed: Some .DAT files weren’t parsing right due to a coding issue on my part. This should be fixed now.
    • Fixed: The USER LAUNCHERS weren’t setting a “working directory” before launching (this didn’t allow some apps to quick launch – like Beat Saber)
    • New: Added a hidden launcher on the OPTIONS tab. If you click the LOG/OUTPUT label, whatever app you have set in USER LAUNCHERS slot 1 will launch. This would allow you to set Beat Saber as slot 1 and then launch it from the OPTIONS tab without flipping to USER LAUNCHERS (this is useful for those watching the LOG OUTPUT for rotational changes during testing.
  • Version 2.4 (Full, Public Release)
    • Fixed: Quest Only Mode – would try to deploy to Quest, even if DEPLOY TO QUEST wasn’t checked
    • New: 90/360 Find and Replace (on map change) – found under Sync Tools
      • Creates a backup of your saved map folder as “<map folder> – 90360” in the same folder as your WIP map
      • Using the “<difficulty>.dat” filename specified, does a search and replace of the JSON for Event Type 12 and 13 and changes them to Type 14 and 15, respectfully. This is performed on the BACKUP copy only.
      • On the backup copy, changes the SongTitle to “<songtitle> – 90360” so it is easy to identify during play testing.
    • New: Rotational Angle Analysis (shown in the Log/Output window of the Options tab)
      • Parses the rotational changes for the 90/360 map.dat file you specify (Find and Replace must be turned on)
      • Finds all Type 14 and 15 Events and calculates the spin requested and shows the player’s position as a result
      • Notes any exceeding of the 0/360 barrier during rotations
      • Shows final player disposition at the end of the song
  • Version 2.3 (Discord Release)
    • Preliminary 90/360 Mapping Tools
  • Version 2.2b (Full, Public Release)
    • New: Support for 90/360 map recognition.
    • New: App window is now bigger and content scaled a little bit to handle the new 90/360 map data.
    • Fixed: Parsing songs without _customdata root nodes in the info.dat (songs post-processed through third party tools).
  • Version 2.1 (Full, Public Release)
    Note: There are config file changes. Recommend you back up your .INI file and start fresh (sorry for the reconfig).
    • New: Custom Color Tab w/save
    • New: Squelched parsing of folders (like Cache) that appear in Custom Songs tab; they are currently being ignored … eventually might create a “hide” list if there is a good reason some folder OTHER than custom songs should be in there.
    • New: Made the special folder “Cache” within the custom map folder invisible to BMT.
    • Changed: Relaxed the restrictions on EDIT AUDIO and COVER SEARCH for songs that are currently INVALID (hard to search for a cover if your map is invalid for not having a cover, right?)
    • Fixed: First run config where the packed map folder dialog wasn’t preceeded with a message telling you what it was for.
  • Version 2.0d (Discord release)
    • Minor fixes
  • Version 2.0c (public beta release)
    • New: Support for BMBF.
  • Version 2.0c (Discord release)
    • New: Drag and drop a custom map ZIP to your MY CUSTOM SONGS window in BMT and it will unpack and add it to your custom song list. Great for play testers.
  • Version 2.0b (Discord release)
    • New: Cover Finder.  Select your song and hit FIND COVER to launch a perfectly configured Google search that will help you get the best quality cover in the right aspect ratio.
    • New: Separate “modes” of operation for “Quest Users” vs “RiFt + Quest Users”.
    • New: BeatOn integration is pretty complete – we do checks to ensure the server is running; making sure the timeouts and nonsense time wasters have been abstracted from your workflow. (Note: BeatOn goes to sleep LESS if you have your Quest on external power).
    • New: 60% of the app was re-written and the app was given a Material skil overhaul (light and dark modes included)
    • New: User Launchers!  Along with your editor and audio program, we give you eight more “quick launchers” to mitigate your workflow without leaving BMT.
    • New: A complete front to back tutorial (beta) that any user – newbie to power, Quest to Rift – and get them up and running on BMT.
    • Edit: All ADB calls have been removed from the app; we are 100% natively using BeatOn 1.3.5 (thank you emulamer for all your work) to deploy to Quest.  Songs can go over as fast as 15 seconds.
    • Edit: Moved some UI around to better align function to tab.  Some text has been changed to reflect the new app.
    • Edit: Oculus Quest setup and usage has been streamlined; but we removed auto-IP detection (good riddance ADB).
    • Edit: Conversion only happens now if you tell it to.  The app now assumes you’re using a Beat Map v2 format for your source songs.  If you’re not, we’ve added a v1 legacy conversion watcher – it still works the same way; if you make a change to a v1 map, it converts it automatically, then performs sync/deploy to quest workflow.
    • Fix: Tons of little things under the hood you’ll never see covering wording changes to code changes and even business logic.
    • I’m forgetting a ton of things …
  • Version 1.6
    • Fix: Quest Mode had an issue with spaces in file paths.
    • Edit: Disabled the Clean CustomWIPLevels button since the NEW Mediocre Mapper automatically stores your SOURCE files there (instead of the old intermediate storage). Don’t want anyone losing maps.
    • New: Look at the bottom left of the app for any special alerts (if you turn off Update Checking – it disables alerts, too)
  • Version 1.5
    • Oculus Quest support added. No local copy of Beat Saber is required. If you’re already in “Beat Saber Mode” using your PC, click GO QUEST (on WIP Watcher tab) to flip to Quest mode. Re-select the Beat Saber install folder to go back. This will be more elegant later.
    • Quest IP functions on the Miscellaneous tab; allows for manual entry of up to two IP addresses and a button to “automatically” pull it from your USB-connected Quest.
    • To use Quest WIRELESSLY, you’ll need to “Reconnect Quest Wireless”.
    • Unpatched Beat Saber option on Miscellanous tab; When Beat Saber updates and wipes Song Mod out – the normal CUSTOMWIPLEVELS folder is no longer read. Check this option and BMT will use the standard CustomLevels folder in Beat Saber. It will not automatically copy your in progress maps – perform a FORCE CONVERT for each map you want “moved”.
    • Moved Squelch Newbie Messages to Miscellaneous tab where it belongs.
  • Version 1.1
    • Feature: Automatically “echo” a copy of your map change to another location (for people using two devices to edit maps on). You can also use this to automatically create incremental backups to another location for those that need this feature. Selecting INCREMENTAL COPIES will make a new folder each time in the Remote Path to include date/time as part of the folder name.
  • Version 1.0
    • First official release.
    • Moved update check ABOVE MM auto launching code so if there is an update, it won’t be hidden by MM.
    • Couple minor fixes.
  • Version 0.9i
    • Abstracted VALIDATE code to a dedicated function
    • Added IMAGE validation; 256×256 square ratio is required.
    • Added more details (written to output log) about what made the song invalid.
    • Added Newbie message telling you to check the log when a song is invalid
    • Click the cover image to open in Windows default editor (added tool tip).
    • Forced a refresh of the Custom Song list after forced refresh.
    • Added validation for checking the existance of the Packed Song folder.
    • The OPEN button next to PACKED SONG FOLDER location didn’t work. Does now 😀
    • Added button to open official website.
    • Added an update checker on start up.
    • Added an option to squelch checking for updates on start up.
  • Version 0.9h
    • Added handling for hitting EDIT OGG without having Audacity location set
    • Added better handling for disabling EDIT OGG button.
    • Disallowed multiple copies of BMT to run (watcher process isn’t good when two or more are running)
    • investigated a potential bug of a map folder having a period in it causing issues. Could not recreate.
    • added FORCE CONVERT – this manually rebuilds the CustomWipLevel map in case some file in there was altered or deleted to make it invalid.
    • added workflow for attempting to pack an invalid map – offering suggestions.
    • Added option for squelching the FINALIZE SONG option during packing process.
    • Perform a JIT validation before packing – just to make sure the map is STILL valid since the last check. This includes ensuring the folder exists at all.
  • Version 0.9g
    • Feature: Finalize. After packing your map, option is given to FINALIZE; that is to move your “finished” map into the Beat Saber “customlevels” folder (removing it from BS’s WIP folder). Your original files are NOT touched.
    • Fixes: PictureBox was holding open the COVER; resources released to allow for Finalize. –
    • Fixed: Added the proper versioning to ABOUT/Title. –
    • Fixed: When converting a song without editing it first, the song would remain selected but not seen reflected in the song info. Forced a refresh (should have made it reselect – do that next time). –
  • Version 0.9f
    • Added the ability to set the location of Audacity
    • – Added EDIT OGG in Song Packer tab after selecting a Custom Map to edit –
  • Version 0.9e
    • Purge CustomWIP folder to clean up destination conversion folder once you’re done with those maps