BeatSinger icon indicating copy to clipboard operation
BeatSinger copied to clipboard

Beat Saber 1.11.1 Update (and other things)

Open Zingabopp opened this issue 5 years ago • 18 comments

  • Converted to BSIPA and updated for Beat Saber 1.11.1.

    • Depends on SongCore and BS_Utils.
  • Includes fixes and settings from this fork.

  • Improvements:

    • In-game settings UI.
    • Song-specific settings in tab on GameplayModifiers panel.
      • Set timeOffset and timeScale
      • Button to fetch lyrics from online services.
      • Button to save song lyrics settings.
      • Button to test lyric settings from the menu.
    • Matches song timescale (faster/slower song).
    • Option to save fetched lyrics to JSON in the song directory.
      • lyrics.json can be either a JSON array as before, or a JSON object containing the array and timeOffset and timeScale settings.
    • Added shake, color, size, and position settings for lyric text.

Let me know if you want me to do a version bump. Closes #17 BeatSinger-1.2.0-bs1.11.1-001c3b2.zip

Zingabopp avatar Sep 13 '20 20:09 Zingabopp

Ok, I think I'm finally satisfied with it. 🙄

Zingabopp avatar Sep 14 '20 04:09 Zingabopp

Thanks for all your work! I took a quick look but there are a lot of changes so I'll need some time to review everything. I'm also unable to test changes since I don't have a VR headset anyway, so I'd be glad if someone else can confirm that the changes work as intended.

As for versioning, I originally wanted to use the version scheme <Beat Saber version>.<Beat Singer patch>, so the new version should be 1.11.1.0?

71 avatar Sep 14 '20 13:09 71

You can test with mouse/keyboard if you still own the game using FPFCToggle and MusicEscape. For the release version, BeatMods requires SemVer for uploaded mods and iirc BSIPA needs it if a mod had BeatSinger as a dependency (unlikely). If neither of those matter then 1.11.1.0 is fine.

Zingabopp avatar Sep 14 '20 14:09 Zingabopp

I've been testing this, there's a strange issue with the BeatSinger mod menu for the song doesn't close correctly if you switch view. It seems to remain open behind the other menus.

Other than that, works perfectly. Thanks for the update! It would be cool if there was a settings toggle to disable the BeatSinger toggle button or change it to a chord (I keep accidentally hitting it mid-song on the knuckles).

Many thanks

ChipWolf avatar Sep 14 '20 23:09 ChipWolf

I'll probably do something else with the song testing thing. Too much bug potential with moving the main screen out of view.

Zingabopp avatar Sep 14 '20 23:09 Zingabopp

On the Index, it turns out the toggle is bound to squeezing the left controller or pressing the A button on the left controller, squeezing the controller is probably what I kept repeatedly triggering accidentally.

ChipWolf avatar Sep 15 '20 14:09 ChipWolf

Latest link up there should fix the lyric testing UI problems.

Zingabopp avatar Sep 16 '20 02:09 Zingabopp

Hi there guys. I miss this mod, and I was wondering what the holdup was? Is there anything I can do to help?

MaverickMartyn avatar Jan 14 '21 13:01 MaverickMartyn

I haven't had time to test the changes, especially since I no longer have a VR headset (there are ways to test it, but I haven't gotten around to it). I think the best thing you (probably @Zingabopp if they're interested, since they already fixed what was needed) can do is fork the project. I'll mention the fork on the README if you decide to do that.

71 avatar Jan 14 '21 22:01 71

In that case I'll wait a bit and see if @Zingabopp gets back to us. I wouldn't want to steal their thunder by grabbing their changes before they have a chance. :) Is the project ready to build as is? That way I could compile it for myself until a release is available.

MaverickMartyn avatar Jan 15 '21 07:01 MaverickMartyn

Any word on this, Singing along it beat saber really is one of my favorite things haha

Mint-Martini avatar Feb 14 '21 04:02 Mint-Martini

Given that @Zingabopp hasn't replied in over a month, I think you can take it @MaverickMartyn :)

@Neo4114, I took a very quick look and the mod that @Zingabopp linked in the first comment doesn't seem to do anything sketchy. I don't know if it works, but you can try it out.

71 avatar Feb 14 '21 09:02 71

@71 Thanks so much for the reply!, I just dropped the file in my Plugins folder but it doesn't seem to work I tried compiling it on my end and i am having some issues to build ( Might be me though haha ) Hopefully someone more experienced can pick it up!

to be fair i am running this on the newest version of Beat saber aswell

Mint-Martini avatar Feb 14 '21 09:02 Mint-Martini

Did you drop the .zip file or the .dll inside of it? Make sure it's the .dll. And yeah if the Beat Saber version has changed since then, it might no longer be compatible :(

71 avatar Feb 14 '21 09:02 71

Sadly yes, :( i just followed standard procedure when dealing with mods , Beat Saber is on 1.13.2 (I think ) Ill see if i can compile it, i am pretty familiar with code just not C# , or objects related to beat saber (Or unity in general )

Mint-Martini avatar Feb 14 '21 21:02 Mint-Martini

Alright, good luck! Start by changing BeatSaberDir in BeatSinger/BeatSinger.csproj, it should help resolve most of the dependencies automatically. After that you can try building the project with dotnet and try to fix whatever issues may arise.

71 avatar Feb 14 '21 22:02 71

Just wanted to give you an update , After resolving the dependencies here's what I got ,

It seems that these two dependencies are no longer supported in the base game, Could you give any word on what these actually do (or were intended to do)

My plan would be as follows ,

  1. Figure out what the previous entities are
  2. Find the equivalent class or class rewrite
  3. ????
  4. Profit haha

Thanks again for explaining some things

Not sure on why Input is being a pain , ill look into that myself image

Here they are in code inside Lyrics component image

Mint-Martini avatar Feb 15 '21 05:02 Mint-Martini

Yep, looks like the API slightly changed... To find the new equivalent entities I'd recommend using dnSpy and looking into the assemblies of Beat Saber. That's how I did it:

  1. Determine what i was looking for (e.g. the menu or the Flying Text effect).
  2. Find it in the assembly with dnSpy.
  3. Find classes that contain a field of what I'm looking for. If that class isn't available, start again with that class until I find a class that I can use with FindObjectOfType.

Not sure about Input either. I don't remember, but maybe it's a deprecated Unity API?

71 avatar Feb 15 '21 08:02 71