nike4613 / BeatSaber-IPA-Reloaded

A Unity mod injector built for Beat Saber.
https://nike4613.github.io/BeatSaber-IPA-Reloaded/
Other
185 stars 28 forks source link

Black screen when trying to load into any song [v1.20] #79

Closed Jake-Thomas-Hall closed 2 years ago

Jake-Thomas-Hall commented 2 years ago

Experiencing an issue when trying to play (seemingly) any map, where it gets stuck on a black screen, found that the base game worked unmodded, so started trying to narrow it down to which mod is causing this.

Installing mods one at a time, I found the behaviour only started once MappingExtensions was installed.

Opened an issue on the MappingExtensions repo, @Meivyn confirmed this is an issue with BSIPA, not his mod?

See that issue here: https://github.com/Kylemc1413/MappingExtensions/issues/19

Meivyn outlined how the process to fix this manually is as follows:

close your game, then delete UserData\Beat Saber IPA.json and you should be fine after relaunching the game.

Therefore this issue is a request to see if there is a way BSIPA can be updated to resolve this automatically.

All mods installed were as follows:

Full log file attached. To try and keep the logs as verbose as possible: simply ran game, played one of the base maps, left it stuck on the black screen for that map for a moment, then closed the game.

On Windows Version 10.0.19044 Build 19044

_latest.log

Couldn't locate any other log files that looked relevant, let me know if there is more information needed to try and replicate this issue.

Meivyn commented 2 years ago

If not too late, could you provide the config file I told you to delete? It would be handy.

Jake-Thomas-Hall commented 2 years ago

Ah you're in luck, haven't got around to playing again yet so didn't delete it, can't upload JSON files apparently, so here it is in a code block:

{
  "Regenerate": false,
  "Debug": {
    "ShowCallSource": false,
    "ShowDebug": false,
    "CondenseModLogs": false,
    "CreateModLogs": false,
    "ShowHandledErrorStackTraces": false,
    "HideMessagesForPerformance": true,
    "HideLogThreshold": 512,
    "ShowTrace": false,
    "SyncLogging": false
  },
  "AntiMalware": {
    "UseIfAvailable": true,
    "RunPartialThreatCode": false
  },
  "YeetMods": true,
  "GameAssemblies": [
    "Main.dll",
    "Core.dll",
    "HMLib.dll",
    "HMUI.dll",
    "HMRendering.dll",
    "VRUI.dll"
  ],
  "LastGameVersion": "1.20.0"
}
Meivyn commented 2 years ago

Thanks, can you please tell me on what game version you were before updating?

Jake-Thomas-Hall commented 2 years ago

Thanks, can you please tell me on what game version you were before updating?

1.19.1

Meivyn commented 2 years ago

And how old was your game installation approximately?

Jake-Thomas-Hall commented 2 years ago

Not quite sure, quite old though - at least 6-8 months since the last fresh re-install, had just been using ModAssistant to reinstall mods with each new game update.

Meivyn commented 2 years ago

For that issue to be valid it should be as old as this commit: 6833e129a54d24ec51c32e3352de02dd17407a17 If you first installed BSIPA prior to this commit, I mean. Do you think it is the case?

Jake-Thomas-Hall commented 2 years ago

Ah right yeah, I have log files as far back as 2020-08-18 which contain BSIPA log items, so yeah, definitely installed BSIPA first before that commit, although I would've done numerous reinstalls since which meant that json file was probably recreated within a fresh reinstall or two over time.

Meivyn commented 2 years ago

Provided that you still had logs from 2020, then you never did a clean reinstall. In this case, the config file would remain untouched. The issue happens because BSIPA never updates the list of game assemblies to virtualize.

Jake-Thomas-Hall commented 2 years ago

Ah yeah, true.

I guess in this case it's a matter of making BSIPA look for the existing file during an update/installation, and override that array with the new values for the game assemblies each time - I would try and do a PR but I'd have no idea where to start with implementing a fix like that, nor could I test it lol