CodeStix / Beat-360fyer-Plugin

A Beat Saber plugin to play any beatmap in 360/90 degree mode.
https://youtu.be/xUDdStGQwq0
13 stars 5 forks source link

Output 360 Maps #15

Open procedure1 opened 1 year ago

procedure1 commented 1 year ago

Hi. This is the greatest plugin for Beat Saber in my opinion. I would have stopped playing long ago without this (and your earlier generator tool). Can you make this plugin have the ability to output maps like your old generator tool (or perhaps update that older tool instead since your new plugin generator is far superior)? The plugin could be a config option to use when someone wants to generate an actual hard coded map. It would obviously be left off most of the time. This would have some great benefits. For example, maps could be loaded on the Quest and also Beat Saber updates, which break the plugin, wouldn't effect the hard coded maps. I've tried to do this myself but I am not a programmer. I am able to produce a text file when a map is loaded in BS, but I can't figure out how to obtain the new data that is created. Can you provide some hints if you don't have time to do this? Thanks so much for this amazing plugin.

CodeStix commented 1 year ago

Hi, I'm glad you like it! This is possible, and a good idea, I will look into it and keep you updated. 😉

procedure1 commented 1 year ago

I keep praying you are going to come back to this amazing project. Your code is way too complex for me to understand but I have managed to finally output rotation events, notes, and obstacles as a JSON file. I output the data from the 'LevelUpdatePatcher.cs' script in the 'static void Postfix()' method. I output the rotation events from the "result" IReadonlyBeatmapData object with this code (partial): rotationEvents = result.GetBeatmapDataItems()..Select(e => new { b = e.time,...

But! The rotation events I'm getting from this output are clearly incorrect. Also, I don't need the notes output but I notice that they are incorrect as well and don't match the notes from original beat map. I tried the same thing with your v1.1 code that outputs beat saber v2.0.0 maps and had the same problem. On that one, all the times and durations had to be multiplied by 2 to be correct but still the rotations were wild and not similar to the generated content inside of beat saber from the plugin.

Can you please let me know how I can output your rotation events and obstacles to match what is generated inside beat saber from your plugin? (I tried to port your generator from the plugin to the old 360fyer exe, but they are so dissimilar that I couldn't get that to work either). I've been trying to achieve this for 8+ months :) Thank so much!!!! (