Git Product home page Git Product logo

songcore's People

Contributors

aeroluna avatar andruzzzhka avatar auros avatar brian91292 avatar dontrolav avatar erisapps avatar galaxymaster2 avatar iluhadesu avatar irlbunny avatar kevga avatar kinsi55 avatar kivalevan avatar kylemc1413 avatar meivyn avatar michael-r-elp avatar moddingpink avatar monkeymanboy avatar n3tman avatar nagatsuki avatar nicoco007 avatar nsgolova avatar pg98 avatar pixelguymm avatar rithik-b avatar susch19 avatar suspectz avatar wolfcomp avatar xace1337manx avatar zeph-yr avatar zingabopp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

songcore's Issues

DirectoryNotFoundException, custom songs not playable v2.0.9

Hey there. I'm playing Beat Saber on Linux, which works great thanks to Valve's Proton. Also mods are working great, and I've been playing and even streaming Beat Saber in mixed reality VR now for about 3/4yr on Linux and with mods.

From time to time I have to do a clean install of Beat Saber, especially after a big update, to get mods working again, which causes on Linux that the wine prefix is also deleted and re-created. Since the update to Beat Saber 1.1.0 and the updated mods, I wasn't able to play custom songs any more. They were successfully converted, but the panel to right, where the informations about the song and the play button should occur didn't show up. After tinkering around and having a look into the log files, I realized that a directory couldn't be found, and doesn't seem to be created:

[ERROR @ 20:20:35 | IPA] SongCore: System.IO.DirectoryNotFoundException: Could not find a part of the path "C:\users\steamuser\Local Settings\LocalLow\Hyperbolic Magnetism\Beat Saber\SongCoreExtraData.dat".

After I created the LocalLow\Hyperbolic Magnetism\Beat Saber directory, the needed files of songcore could be created and custom songs where working again.

Looks like Beat Saber itself isn't creating that directory any more, and thus the directory LocalLow isn't even created for me. As in the wine prefix no other programs are installed, which might create the LocalLow folder, I guess it will never be created after a clean install of Beat Saber, at least on Linux.

Would it be an idea to have the SongCoreExtraData.dat file be stored below Beat Saber\UserData folder (the games's install folder, where the other mods store they files/configs) instead of being stored below Local Low? Or could you create the necessary folders, to make sure they exist?

Thanks in advance!

customSongColors don't work on beatsaber version 1.17

When you play a map that has "customSongColors" the custom colors won't change. I made sure no other mod was conflicting and only used the bare minimum for mods to work and it still worked on 1.16.4 but did not on 1.17.

How do you add a songs through code?

457c107#diff-cbb88464e61276928be0bf0df4cb563b12d7aa35bf11cde6e6675898b5d27234R55

In this commit, SongCore.Collections.AddSong was obsoleted and made an empty stub. And it looks like SongCore.Collections.AddExtraSongData now has the functionality that AddSongData had, but was changed from public to internal. So I SHOULDN'T use this method for adding songs... right?

Edit: I'm trying to fix/understand MultiplayerExtensions and it seems it relied on AddSong to add songs after downloading them

having problems with this multi select

so i think its song core because when i go to download a new song in game it just, doesnt load any new pages and says its because i have "multi select activated" and there is no way to disable it. under that it says no new pages will be loaded and no songs can be downloaded

Unable to Play song.

Hi, with the latest version of Beat Saber, and SongCore, I am unable to play any song. The play button is there, and simply does not allow me to press it. Both in VR mode and testing through Desktopmode. If I remove SongCore it allows me to play songs.

[Feature Request] Easily displayed map information/notation.

Here's Twitter thread where I first talked about this: https://twitter.com/mawntee/status/1689892916989140992?s=20

TL;DR

Have a basic one or two line text box above the difficulty/playstyle selection (above standard/360/lawless selection, same box style) where the mapper can write some information about the chart.
Each difficulty can have it's own description, and depending on which dif is selected, the text will change.

Example: On an Expert plus the mapper can write something like "RT 500 - Resets - Bursts - Pauls" on the Ex, then on the Expert dif they could put something like "RT 550 - Wrist Rolls - Sliders - Poodles" to indicate the difference in downmapping.

This can get rid of a lot of confusion when jumping into a map for the first time, or just act as simple reminders when people are trying to figure out which dif has what.

Reading through the documentation it looks like _information was literally added for this reason as the description for it is "Any general information you would like the player to be aware of before playing the song", but it's tucked away behind a small button and usually a scroll.

Obviously a bit cleaner than my photoshop job, but having some kind of display similar to this, but per difficulty would be sick.
image

[Bug] User defined WIP folders are broken on 1.35

SongCore v3.13.0, title. Any maps that are contained in extra folders in folders.xml fail to load with an "Error loading data" error. Map was tested in editor, by moving to the standard CustomWIPLevels folder, and on 1.34.2 and the map works and loads fine in all scenarios. Tested with the following folder directory:

    <Name>Beat Saber New Editor</Name>
    <Path>F:\BSNewEditor</Path>
    <Pack>1</Pack>
    <WIP>True</WIP>
    <ImagePath>Example</ImagePath>
  </folder>

image

can see the mod in BS - can´t use ist

I had to reinstall my Beatsaber (V.1.13) and now Songcore isn´t working anymore. I see the Mod in the startscreen and can "click" on it, but if i want to search for a song there is nothing.

what is wrong?

Blocks are reversed

For some reason out of nowhere all of my blocks for every song are reversed. Meaning, locks that are normally designated for the right hand are now for the left hand and vice versa. I uninstalled all of my mods and reinstalled them one at a time to find the culprit, and it only began to do this when I installed SongCore. It then stopped doing that immediately after uninstalling SongCore. This is very strange and I've never seen anything like it before. I also don't quite understand how SongCore can do something like that for even the OST songs. This just happened today, though in the middle of a playing session. Everything was fine for the first hour of game play and then all of a sudden everything went reversed and the score board text showed only ampersats (@) and ampersands (&). Beat Saber/mod reinstallation didn't fix it. I also have both the Oculus and Steam versions of Beat Saber installed at the same time (with the same mods) and both experience the same issue. I'm hoping someone else is also experiencing this and/or knows what is happening. I could not find any setting that corresponds to this.

Thanks!

Load only ~100 custom songs

Hello,

First thing first, I run Beat Saber on Linux and I installed the mod with QBeat.

The issue is that when I have a lot of custom songs, it seems there is a cap at ~100 (was 103 the first time, after reinstall 100).

After my first installation of Beat Saber, I used QBeat and added the mod and everything was working well even after downloading songs with the BeatSaverDownloader mod. (I had like ~20 custom songs)
Then I downloaded a lot of maps manually and added them and that's when I saw this issue.
After that, I did clean reinstall of the game and put the custom songs back in the folder. All the custom songs where present when unmodded. Then I installed BSIPA and used the custom Proton from QBeat, everything was still working. And when I added SongCore, there appeared the limitation.

Also, the songs loaded are the same each time (I didn't find the difference between both installation even though there were 3 songs of difference), I don't know what is the logic behind but it's neither by song name nor folder name.

If I delete a folder of a custom song that is loading in game, it doesn't load another song to replace it (so it loads 99 custom songs). And if I readd it, it loads it again.

And to finish, the songs I downloaded before and even the base custom songs (Beat Saber and One More Time) are not appearing in the list of loaded songs.

If you need me to test something to have more info, don't hesitate.

[Issue/Bug] Cached WIP levels

1 - Maps in the Cached WIP Levels folder are playable with the "play" button. In the past only "Practice" was clickable but now so is "play". This allows people who are playtesting to accidentally submit to score saber. The regular WIP Levels folder still has the "play" button disabled and works as intended.

2 - Mods like chroma are not being applied to maps in the Cached WIP Levels folder. The "?" on the top right is not present and so no mods are being applied to the map when they are played. The only way for chroma to work in that folder is to unzip the map manually in a folder in the WIP Levels folder. Then the "?" will finally appear in the Cashed WIP Levels folder and the mod will apply to the map when played. If you then delete the folder of the map in WIP Levels, the maps in the Cashed stays the same and you can play it with chroma and the "?" will still be there.
All maps and mods work as intended in the WIP Levels folder. It's the Cached WIP Levels folder that is having those issues.

Boost colour lights are removed when disabling custom song colour scheme

if you disable a map's own colour scheme, you are not using your own colour overrides, and the map uses boost colours, then any boost colour lights don't show up - probably because they're using a completely transparent colour.

in the base game if you use boost colours on a colour scheme that doesn't have boost colours set it will default to the non-boost colours, so the lights aren't invisible.

if this is intentional let me know.

SongCore Cleaner reports XXX songs deleted at game start

I have been using modded Beat Saber on PC/Steam for years and have ~450 custom songs loaded. Usually when starting up I see a notification floating over the top of the menu "XXX songs loaded" but for the last two days I've seen instead "SongCore Cleaner / XXX songs deleted". It doesn't appear that any songs are actually being removed from my playlists or directories. So, what is this message indicating? BeatSaber 1.34.2 and SongCore 3.12.2.
SongCoreCleaner_Deleted

Custom level Party Mode scores deleted because of change in format

Hi, I've noticed that Beat Saber saves the Party Mode scores for custom levels in LocalLeaderboards.dat using the folder name but once you install the SongCore mod this changes to a hash. This makes all your previous scores dissapear and any new high score be stored in parallel. There should be an easy way to convert and integrate all local scores or make SongCore not change the highscore format for local highscores so that the people (like me) that use Beat Saber mostly to compete among household members don't get lost if playing with or without SongCore installed. Please let me know how I can solve this or help implement this in SongCore.

Thanks for agreat mod!!

All custom songs have infinite spinner icon

I get an infinite spinner icon every other BeatSaber launch. Sometimes Custom Levels shows up fine, sometimes it fails to load. I've tried reinstalling all plugins, removing all levels and deleting UserData. Maybe a concurrency issue?

It seems to stem from
[CRITICAL @ 23:01:41 | UnityEngine] CustomPreviewBeatmapLevel+d__57.MoveNext () (at <26ec787945bf43e5aae4af5dd3394845>:0)

Full log files:
https://gist.github.com/romanalexander/a41401ab3992a8777c97da6d1efe8bf6
https://gist.github.com/romanalexander/629df5d4d37ee0edaf2f852d601460f2

Also put the same issue in here. Wasn't sure which plugin this could come from.

BeatSaber v1.28.0 compatibility issue

The game doesn't start with this mod (I get a black screen).
Works fine without it.
The error from the logs:

[DEBUG @ 00:56:26 | BS_Utils] [BS-Utils]  Applying Harmony Patches
[ERROR @ 00:56:26 | IPA] SongCore OnEnable: System.NullReferenceException: Object reference not set to an instance of an object
[ERROR @ 00:56:26 | IPA]   at SongCore.Plugin.OnApplicationStart () [0x001a9] in <d95db87fa000430188f67a0ac5bb6e76>:0 
[ERROR @ 00:56:26 | IPA]   at (wrapper dynamic-method) System.Object.lambda_method(System.Runtime.CompilerServices.Closure,object)
[ERROR @ 00:56:26 | IPA]   at IPA.Loader.PluginExecutor.Enable () [0x0000c] in <85e5e5773585418d89fcc2712ee48bcc>:0 
[ERROR @ 00:56:26 | IPA]   at IPA.Loader.Composite.CompositeBSPlugin+<>c.<OnEnable>b__4_0 (IPA.Loader.PluginExecutor plugin) [0x00000] in <85e5e5773585418d89fcc2712ee48bcc>:0 
[ERROR @ 00:56:26 | IPA]   at IPA.Loader.Composite.CompositeBSPlugin.Invoke (IPA.Loader.Composite.CompositeBSPlugin+CompositeCall callback, System.String method) [0x00018] in <85e5e5773585418d89fcc2712ee48bcc>:0 

I guess this is related to #105 and #106 and just needs a release, doesn't it?

Fetching Songs Infinitely

When I click "more songs" it loads forever and I can't download songs. This has been going on for a while and I haven't found a solution for it online. Any idea how to fix this?

Highscore Missing

When installing SongCore all (Group) Scores of Custom Maps are empty.
I´ve read online that once LocalScoreFixer could fix that. But that dosnt work anymore and its not maintained anymore.

How can i keep my score which was build up for over a year now?

Operator precedence issue in CRC32 calculation

I was trying to look into why Beatmapper maps fail to load, and since the error mentioned the file's CRC32, I thought I'd start there. I don't think this discovery is the whole issue, but it is something I noticed is wrong in your implementation compared to all the other implementations I could find:

Here, your table lookup value is buffer ^ crc & 0xFF, which, because of operator precedence, does the & first, then the ^. However, if you look at the javascript implementation or wikipedia, they use (buffer ^ crc) & 0xFF. Passing some random numbers through these is showing me different results between the two cases, with Beatmapper, MMA2, and winrar producing the same values, different from what my SongCore logs are showing.

That said, I'm still not sure why these different values only pop up if it's exported from Beatmapper, exporting from MMA2 or manually zipping them causes SongCore to load the song just fine.

RetrieveAllSongs failed when song directory has ? < > \ * | or "

Having certain NTFS illegal characters in the directory name breaks file loading in different ways.
An example error:

[INFO @ 15:15:03 | SongCore] Starting full song refresh
[ERROR @ 15:15:03 | SongCore] RetrieveAllSongs failed:
[ERROR @ 15:15:03 | SongCore] System.ArgumentException: Illegal characters in path.
[ERROR @ 15:15:03 | SongCore]   at System.IO.Path.CheckInvalidPathChars (System.String path, System.Boolean checkAdditional) [0x00021] in <437ba245d8404784b9fbab9b439ac908>:0 
[ERROR @ 15:15:03 | SongCore]   at System.IO.Path.InternalCombine (System.String path1, System.String path2) [0x00022] in <437ba245d8404784b9fbab9b439ac908>:0 
[ERROR @ 15:15:03 | SongCore]   at System.IO.FileSystemEnumerableIterator`1[TSource].CreateSearchResult (System.IO.Directory+SearchData localSearchData, Microsoft.Win32.Win32Native+WIN32_FIND_DATA findData) [0x00000] in <437ba245d8404784b9fbab9b439ac908>:0 
[ERROR @ 15:15:03 | SongCore]   at System.IO.FileSystemEnumerableIterator`1[TSource].MoveNext () [0x001aa] in <437ba245d8404784b9fbab9b439ac908>:0 
[ERROR @ 15:15:03 | SongCore]   at System.Collections.Generic.List`1[T]..ctor (System.Collections.Generic.IEnumerable`1[T] collection) [0x00077] in <437ba245d8404784b9fbab9b439ac908>:0 
[ERROR @ 15:15:03 | SongCore]   at System.IO.Directory.InternalGetFileDirectoryNames (System.String path, System.String userPathOriginal, System.String searchPattern, System.Boolean includeFiles, System.Boolean includeDirs, System.IO.SearchOption searchOption, System.Boolean checkHost) [0x0000f] in <437ba245d8404784b9fbab9b439ac908>:0 
[ERROR @ 15:15:03 | SongCore]   at System.IO.Directory.InternalGetDirectories (System.String path, System.String searchPattern, System.IO.SearchOption searchOption) [0x00000] in <437ba245d8404784b9fbab9b439ac908>:0 
[ERROR @ 15:15:03 | SongCore]   at System.IO.Directory.GetDirectories (System.String path) [0x0000e] in <437ba245d8404784b9fbab9b439ac908>:0 
[ERROR @ 15:15:03 | SongCore]   at SongCore.Loader+<>c__DisplayClass85_0.<RetrieveAllSongs>b__0 () [0x003da] in <7380ced676a54277b17b1c1848025549>:0 
[INFO @ 15:15:03 | SongCore] Loaded 0 new songs (0 in CustomLevels | 0 in seperate folders) in 0.0068461 seconds
[INFO @ 15:15:03 | SongCore] Updating cached hashes for 0 songs!

System.IO.IOException: Error 123 with ? and *
System.ArgumentException: Illegal characters in path. with < > | and "
System.ArgumentException: Second path fragment must not be a drive or UNC name. with \
No error (all songs load normally) with / and :
And of course removing the illegal character also allows all songs to load normally.

Log compilation of errors from each illegal character

The Linux filesystem ext4 allows characters that NTFS doesn't, so a niche bug but worth documenting.

Feature Request: Unlimited Song Preview

Add a toggle to the mod settings for SongCore that forces all song previews to be played until the end of the song, regardless of what the mapper has set for the "Song Preview Duration" field.
I jankily implemented this myself by just altering Loader.LoadSong(), but an official solution with a toggle would be really nice.

It's annoying when mappers forget to change the default preview duration, and then the song preview ends right before the best part of a song when listening in the menu. This is just my requested solution to that problem.

Song sorting

Normally i sort my custom songs "by newest". Now i had to reinstall BS completely, so i created an archive with winrar from the entire "Beat Saber_Data/CustomLevels" Folder to prevent the creation dates. After reinstalling BS and SongCore, i extracted the archive. All the Songs are loaded and there, but sorting "by newest" is completely different. Is it not possible what i try to achieve or do i have to do something else?

[Suggestion] If no lighting events are present on a map, enable static lights

Currently, if no lighting events are placed in a map, the player is simply dropped into a never-ending black void if the player doesn't enable static lights. Forcing the lights on for those who have static lights off will make it just a bit more comfortable, especially if they don't know where to find the setting.

Fallback light colors works differently since Beat Saber v1.28 (SongCore v3.10.1)

Since the last version (released for v1.28) on custom maps which don't define light colors (only note/block), the game/mod falls back to the default colors. I've noticed this on timeweaver's TheFatRat maps.

I think the issue is there since commit d92ec06 in CustomSongColorsPatch.cs.

That map looks like this in the current version:
new

Earlier, it looked like this:
old

BeatSaver link for the map:
[TheFatRat Pack] TheFatRat - Monody (ft. Laura Brehm)

DirectoryNotFoundException, possibly halting song conversion

My game is stuck on the "Converting Existing Song Library" on the main menu, and I see this error in the log.

[INFO @ 09:42:53 | SongCore] Attempting to Convert Existing Library
[CRITICAL @ 09:42:56 | UnityEngine] DirectoryNotFoundException: Could not find a part of the path 'D:\Programs\Steam\steamapps\common\Beat Saber\CustomSongs\14372-15540\Battle Sirens\Battle Sirens'.
[CRITICAL @ 09:42:56 | UnityEngine] System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
[CRITICAL @ 09:42:56 | UnityEngine] System.IO.FileSystemEnumerableIterator`1[TSource].HandleError (System.Int32 hr, System.String path) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
[CRITICAL @ 09:42:56 | UnityEngine] System.IO.FileSystemEnumerableIterator`1[TSource].CommonInit () (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
[CRITICAL @ 09:42:56 | UnityEngine] System.IO.FileSystemEnumerableIterator`1[TSource]..ctor (System.String path, System.String originalUserPath, System.String searchPattern, System.IO.SearchOption searchOption, System.IO.SearchResultHandler`1[TSource] resultHandler, System.Boolean checkHost) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
[CRITICAL @ 09:42:56 | UnityEngine] System.IO.FileSystemEnumerableFactory.CreateFileNameIterator (System.String path, System.String originalUserPath, System.String searchPattern, System.Boolean includeFiles, System.Boolean includeDirs, System.IO.SearchOption searchOption, System.Boolean checkHost) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
[CRITICAL @ 09:42:56 | UnityEngine] System.IO.Directory.InternalGetFileDirectoryNames (System.String path, System.String userPathOriginal, System.String searchPattern, System.Boolean includeFiles, System.Boolean includeDirs, System.IO.SearchOption searchOption, System.Boolean checkHost) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
[CRITICAL @ 09:42:56 | UnityEngine] System.IO.Directory.InternalGetFiles (System.String path, System.String searchPattern, System.IO.SearchOption searchOption) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
[CRITICAL @ 09:42:56 | UnityEngine] System.IO.Directory.GetFiles (System.String path, System.String searchPattern) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
[CRITICAL @ 09:42:56 | UnityEngine] SongCore.Converter.PrepareExistingLibrary () (at <49b18f7f5eaf47bcb56689b77857cbce>:0)
[CRITICAL @ 09:42:56 | UnityEngine] SongCore.Loader.Awake () (at <49b18f7f5eaf47bcb56689b77857cbce>:0)
[CRITICAL @ 09:42:56 | UnityEngine] UnityEngine.GameObject:AddComponent()
[CRITICAL @ 09:42:56 | UnityEngine] SongCore.Loader:OnLoad()
[CRITICAL @ 09:42:56 | UnityEngine] SongCore.Plugin:BSEvents_menuSceneLoadedFresh()
[CRITICAL @ 09:42:56 | UnityEngine] System.Delegate:DynamicInvoke(Object[])
[CRITICAL @ 09:42:56 | UnityEngine] CustomUI.Utilities.BSEvents:InvokeAll(Action, Object[])
[CRITICAL @ 09:42:56 | UnityEngine] CustomUI.Utilities.BSEvents:OnMenuSceneWasLoadedFresh()
[CRITICAL @ 09:42:56 | UnityEngine] <>c__DisplayClass19_0:<ReplaceScenes>b__1()
[CRITICAL @ 09:42:56 | UnityEngine] <ScenesTransitionCoroutine>d__23:MoveNext()
[CRITICAL @ 09:42:56 | UnityEngine] UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
[INFO @ 09:42:56 | Custom Platforms] Loaded: CarboardBox by Meglaon

Note the path
D:\Programs\Steam\steamapps\common\Beat Saber\CustomSongs\14372-15540\Battle Sirens\Battle Sirens

This path does not exist, the correct path is
D:\Programs\Steam\steamapps\common\Beat Saber\CustomSongs\14372-15737\Battle Sirens\Battle Sirens

Note the version numbers

Not possible to create custom pack and exclude it from the main pack

I am trying to create a song pack, but exclude it from the main pack.
main custom levels pack
custom pack
In my custom pack folder, duplicates of original songs are made + new gamemode. The problem is that the main custom levels pack is spammed by duplicates that are in the other pack.

Is there any possibility to hide the custom pack's songs from the main pack?
Maybe add a property like <ExcludeFromMain>True</ExcludeFromMain> to the folders.xml file?
Or is this unintended behaviour?

Unable to download Songs

I have tried

  • Reinstalling the game (includes deleting game files that are kept as well as appdata etc)
  • Reinstalling the mods
  • Restarting my devices
    OculusScreenshot1628033177

Base game color overrides take priority over map colors

Map colors no longer work properly if a player has a custom color scheme set in the player settings. I can't tell if this is a bug due to adding separate toggles for notes, lights, and obstacles or if this is intended behavior, but it renders these toggles completely useless if the player has a custom color scheme (which like 95% of people do). If this is a feature (please god i hope it isn't) there should be a setting to revert back to the old behavior of map set colors always taking priority

BeatSaverDownloader problem

I understand that the "more songs" function is part of BeatSaverDownloader but the github for this doesn't have a place to submit issues and I am DESPERATE.

When I click "more songs" it loads forever and I can't download songs. This has been going on for a while and I haven't found a solution for it online. Any idea how to fix this?

[Suggestion] Add native language title property

I can't search the beatmaps in-game by title if they have native language title (e.g. japanese) because in-game input method support only english (even if IM support other language, I wouldn't able to use it).
Also other language users may not be able to read the native title because they don't know the language well.
osu! has TitleUnicode property, separate from Title, that is intended for this problem. So I suggest applying similar approach to this issue.
While it's frustrating that beat saber doesn't support it on its own, waiting for the game to support it will only encourage more problematic maps to be created in the future.
I know it's not easy, but I want it to be considered.

[Suggestion] Maintain Dictionary of Hashable, but Broken Beatmaps

Apparently, there are beatmaps that exist on Beat Saver that are broken, possibly during the conversion process a long time ago (such as the info.dat listing the wrong file extension for the audio file). SongCore discards these songs during the loading process. It would be useful to have a Dictionary<string hash, string path> of these songs for mods like PlaylistManager that rely on SongCore to check if a song already exists before downloading them (the broken beatmaps are downloaded over and over).

Custom songs with custom colours use the override colours for the trails

To explain this issue a bit further, when a custom song uses it own custom colours like https://bsaber.com/songs/9a34/, it will set the notes, lights and saber colours to whatever the song has asked to set it to, but the trail colours are set to whatever the in-game overrides are set to and not the colours of the sabers the song has appointed it. This is only an issue with custom songs. I have attached a screenshot that shows what I'm going on about. As you can see, the nots are purple and orange, but the trails are blue and red respectively.

unknown

Songs downloaded in the key-id format aren't auto converted in v2.0.4

Songs downloaded in the key-id format get skipped when converting. The path looks like:

CustomSongs\995-670\[song name]\info.json

where [song name] is the song name but the converter is trying to find it at

CustomSongs\995-670\info.json.

Basically, the -a flag only looks one subdirectory deep. This can be fixed by using -g and a glob pattern. The unix-like style would be:

./songe-converter.exe -k -g '**/info.json' ./CustomSongs/

I'm not sure what it is for command prompt but it's probably similar.

fail to add an additional Song Folders

hello,I follow the direction and fail to add an additional Song Folders
how to make it work?

SecondSongFolder C:\Program Files (x86)\Steam\steamapps\common\Beat Saber\SecondSongFolder 2 True

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.