NeoSpark314 / BeepSaber

A basic implementation of the Beat Saber VR game mechanic in the Godot Game Engine for Oculus Quest (and other VR headsets)
MIT License
101 stars 29 forks source link

No songs showing in either playlist or to download #21

Open beep2bleep opened 2 years ago

beep2bleep commented 2 years ago

UPDATE: All issues resolved look in the comments below to fix both first song (Fat Rat) and downloading. Once I confirm I'll comment that I confirmed both fixes solved the issues.

-----------------(Original post below)-----------------------

No songs showing in either playlist or to download. Left screen is just blank. Do I need to add some permissions?

UPDATE: Looks like beatsaver is down, and I couldn't find the file in the project so I probably just need to wait for beatsaver to come back up.

Built using Godot 3.3.2 stable mono official.

I also get the same issue if I use the apk (godot_beep_saber_0.3.1.apk) from releases.

When I click refresh on the local list it asks for permissions I give it the local file permission.

org dammertz vr godot_beep_saber-20210804-064328 org dammertz vr godot_beep_saber-20210804-064343

Firepal commented 2 years ago

BeatSaver is currently switching ownership and it is taking longer than expected. Nothing, not even mods of the official game, can fetch beatmaps from the BeatSaver collection right now.

(There should probably be several beatmap resources instead of the one that everyone is relying on...)

Firepal commented 2 years ago

Also: you can take screenshots by pressing the Oculus button and right trigger simultaneously :>

beep2bleep commented 2 years ago

BeatSaver is currently switching ownership and it is taking longer than expected. Nothing, not even mods of the official game, can fetch beatmaps from the BeatSaver collection right now.

(There should probably be several beatmap resources instead of the one that everyone is relying on...)

Yeah I figured out beatsaver was down after I made the comment but figured it would be good to leave it up in case someone else ran into it as well. But I was a little surprised that even the built version didn't have the one song that said was included. But I'll just wait for beatsaver to come back before I continue my investigation.

NeoSpark314 commented 2 years ago

You are right; the build-in song should show up; so this is probably worth investigating separately.

beep2bleep commented 2 years ago

You are right; the build-in song should show up; so this is probably worth investigating separately.

Does the built in song only appear on the release build .apk or should it show up when I build it myself with godot 3.4?

I tried both and had the same result (empty screen, requests permission that I grant on refresh, still empty).

Firepal commented 2 years ago

TheFatRat's song doesn't appear in Android builds for me, but all of my Windows builds kept it. Odd. Feels like it needs a separate issue but let's piggyback this one anyway :P

leandrodreamer commented 2 years ago

tried on the 0.3.1 that i had installed on my headset and the online list don't show up but the local one does, have you tried copying song folders manually?

beep2bleep commented 2 years ago

tried on the 0.3.1 that i had installed on my headset and the online list don't show up but the local one does, have you tried copying song folders manually?

BeatSaver is back up I was able do download (on computer) and unzip then copy to This PC\Quest 2\Internal shared storage\BeepSaber\Songs and place them into individual folders. When I did that the songs did appear. The download button on the beatsaver in game panel didn't seem to do anything.

I wonder if there is a write permission issue, and that the built in song is supposed to be written to that location on start and that the beat saver panel is supposed to place files there. That would explain why I can place the files there by hand (using PC to download, unzip, and copy) but with no other method.

leandrodreamer commented 2 years ago

tried on the 0.3.1 that i had installed on my headset and the online list don't show up but the local one does, have you tried copying song folders manually?

BeatSaver is back up I was able do download (on computer) and unzip then copy to This PC\Quest 2\Internal shared storage\BeepSaber\Songs and place them into individual folders. When I did that the songs did appear. The download button on the beatsaver in game panel didn't seem to do anything.

I wonder if there is a write permission issue, and that the built in song is supposed to be written to that location on start and that the beat saver panel is supposed to place files there. That would explain why I can place the files there by hand (using PC to download, unzip, and copy) but with no other method.

you could try the included one https://github.com/NeoSpark314/BeepSaber/tree/master/game/data/maps/Songs or check if it is already on the folder, it supose to copy itself on first boot up but maybe is there the problem

Firepal commented 2 years ago

The game only gets read/write permission after the player presses Refresh and manually allows it. It oddly never writes the file after that...

beep2bleep commented 2 years ago

The game only gets read/write permission after the player presses Refresh and manually allows it. It oddly never writes the file after that...

It appears there is a missing write permission, or this isn't possible in Android/Quest anymore. It's been a long time since I've looked at Android file permissions but I wouldn't be surprised if Android/Quest removed the ability to write into shared spaces.

After all they (Oculus) don't really care about having a general purpose file management app, so I could see the argument it's not needed, that any file should only write to it's own storage location.

leandrodreamer commented 2 years ago

The game only gets read/write permission after the player presses Refresh and manually allows it. It oddly never writes the file after that...

It appears there is a missing write permission, or this isn't possible in Android/Quest anymore. It's been a long time since I've looked at Android file permissions but I wouldn't be surprised if Android/Quest removed the ability to write into shared spaces.

After all they (Oculus) don't really care about having a general purpose file management app, so I could see the argument it's not needed, that any file should only write to it's own storage location.

do you have enabled those perms (plus the internet one) on the export settings?

beep2bleep commented 2 years ago

The game only gets read/write permission after the player presses Refresh and manually allows it. It oddly never writes the file after that...

It appears there is a missing write permission, or this isn't possible in Android/Quest anymore. It's been a long time since I've looked at Android file permissions but I wouldn't be surprised if Android/Quest removed the ability to write into shared spaces. After all they (Oculus) don't really care about having a general purpose file management app, so I could see the argument it's not needed, that any file should only write to it's own storage location.

do you have enabled those perms (plus the internet one) on the export settings?

I just built as is without making any changes. But the issue appears in both my built and the release version. I'll try and update permissions and test again soon and update this thread if I can get it to work.

z-a-p-k-i-n-g commented 2 years ago

Hey guys @NeoSpark314 @beep2bleep @leandrodreamer @Firepal @hankedan000 , I actually found out where the issue was.....it is with the config.dat file. There was this line 67 in BeepSaber/game/BeepSaberMainMenu.gd which caused the problem, where it checks for config.dat file and loads the default song only if its missing. Removing that if statement made it work. Still I am not sure about the use of that config.dat file. If anyone can explain that, it would be great.

beep2bleep commented 2 years ago

Thanks so much I'll test that.

z-a-p-k-i-n-g commented 2 years ago

And also I found out the issue with downloads too... In BeepSaber/game/Online_library_Panel.gd at line 184 u gotta change "key" to "id" for the download to start. For viewing song details on selecting an item, u hav to comment the whole for loop at line158.

hankedan000 commented 2 years ago

BeatSaver is currently switching ownership and it is taking longer than expected. Nothing, not even mods of the official game, can fetch beatmaps from the BeatSaver collection right now.

(There should probably be several beatmap resources instead of the one that everyone is relying on...)

I put up a PR that restores most of the beatsaver download functionality. https://github.com/NeoSpark314/BeepSaber/pull/25