ribbon-studios / protontweaks-db

Collection of tweaks for protontweaks
https://protontweaks.com/#/apps
GNU General Public License v3.0
2 stars 0 forks source link

[976730] Halo: Master Chief Collection #1

Open cecilia-sanare opened 5 months ago

cecilia-sanare commented 5 months ago

Known Issues

Co-op Support

Users will be disconnected with an error of Game Error unless the following is done:

$ wget "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe"
$ cabextract vc_redist.x64.exe
$ cabextract a10
$ cp ucrtbase.dll <steam-dir>/steamapps/compatdata/976730/pfx/drive_c/windows/system32/

The other suggested solution:

$ protontricks 976730 vcrun2022

Doesn't seem to resolve the issue and also prompts the user to navigate through an installation dialog which isn't ideal.

Related Issues

SeongGino commented 5 months ago

For future reference, inserting -q after the steam game ID will run the winetricks verb installation in unattended mode, like as such:

$ protontricks 976730 -q vcrun2022

However, I was wrong in my assumption that the verb installed ucrtbase.dll, so my suggestion could be disregarded and the original manual library transplant method is what should be used - even so, it may be safer to have the rest of the runtime installed alongside the base just in case, since cherrypicking individual libraries isn't the best idea imo.

kekkoudesu commented 5 months ago

Doing this:

cp ucrtbase.dll <steam-dir>/steamapps/compatdata/976730/pfx/drive_c/windows/system32/

Results in Steam failing to launch Halo saying the ucrtbase.dll file is missing. The next time it launches, presumably having replaced the file I copied with the original symlink.

I can't test whether co-op works or not because I have no friends...that will play Halo with me today. Something to test much, much later.

cecilia-sanare commented 5 months ago

@SeongGino Oh I 100% agree.

I mostly opened this issue to track what I’ve gotten to work and to hopefully come up with a better solution. I don’t have any plans to implement the workaround I mentioned above into Protontweaks CLI or API just because of how fragile it’d be.