I have uploaded a new version of the patcher that fixes outstanding issues mentioned here and improves many things. Most importantly I fixed issues with game path detection due to me for some reason writing the game folder name as "BladeAndSorcery" instead of "Blade & Sorcery" oops. Take that as a reminder to get adequate sleep everyone! If you took my recommendation and stored this in your game directory for future patches please replace as I have also done some work to improve the DLL replacement
Python source code is included directly in the archive this time. You don't need it, in fact you shouldn't even need python installed to run the exe thanks to the new compiler I'm using. I'm including the source code in case anyone wants to double check more easily (it was always on github) in case of additional errors
Hey there and merry Christmas. I got a problem with that files in the Folder i downloaded. I cant extract or copy and paste them. I get a undefined Error Code everytime, dont find something similar in the comments so here iam. My english isnt that good but i hope it is understandable.
For those who have trouble with Windows Defender and executing the EXE file - copy & paste the baspatch.py and the OVRPlugin.dll into you BAS directory, open the powershell (RClick -> open in terminal) and type "python .\baspatch.py".
Now, if you don't have python, it should automatically load up the Windows Store and suggest you to install python 3.12. Do that. (If it doesn't, go get python from python.org)
Then, try again. If it now shows sth. like "package blah not found", type "pip install blah" (replace with whatever package you miss. For me, it was pefiles)
Then, try again. It should now work for most of you and pop up some info dialogs, the last being "Success - Everything should be patched just make sure to run as oculus mode and set VDXR in VD"
So I'm curious, what does this actually do? Full disclosure, I'm Virtual Desktop Discord support staff. A user says this made their B&S gameplay a lot better. Can you give me a rundown of what it does? Much appreciated!
Edit: I spoke with mbucchia he sort of explained what this does.
tbh I'm not sure what the dll actually does since its source code isnt readily available but the important bit with this game is that it allows openxr to load before openvr. The script component here just patches the user's vdxr config to consider BAS as an openxr compatible game allowing it to load normally from steam. Prior to VDXR release there was also the libovr runtime version which had similar benefits, but this was impossible to use without tampering with steam DRM and forcing VD to inject with a batch script. I believe with VDXR and the associated config, VD more actively injects the correct runtime into appropriate games
From what I could gather looking at the BAS decompiled source it appears that they normally do their license validation in the same steps as steamvr startup which I think may be normal steamworks behavior. If a valid oculus runtime fails to load then it just retries steamvr. VDXR is able to pass this check so it doesnt load steamvr
At least that is my understanding. For support purposes all that should matter for users is that they replace the plugin file and edit their config. In theory this script should always work and just needs to be rerun after updates but they could always do it manually or VD could patch something on their end to set the config automatically if VDXR is chosen in the streamer app. There is a pop up when the script runs that may appear as an error but typically its just saying that there was nothing to patch or just reporting the values. I could fix it but I've left it in as a literacy test
55 comments
Python source code is included directly in the archive this time. You don't need it, in fact you shouldn't even need python installed to run the exe thanks to the new compiler I'm using. I'm including the source code in case anyone wants to double check more easily (it was always on github) in case of additional errors
and its security feature immediately blocked it.
"Dangerous download blocked" it says.
it doesn't specify what about it makes it dangerous, but this has me raising an eyebrow.
i could try downloading using a different browser, but i don't want to, just in case theirs something i don't know.
any explanation as to why this would be flagged as "dangerous"?
I got a problem with that files in the Folder i downloaded. I cant extract or copy and paste them.
I get a undefined Error Code everytime, dont find something similar in the comments so here iam.
My english isnt that good but i hope it is understandable.
Now, if you don't have python, it should automatically load up the Windows Store and suggest you to install python 3.12. Do that. (If it doesn't, go get python from python.org)
Then, try again. If it now shows sth. like "package blah not found", type "pip install blah" (replace with whatever package you miss. For me, it was pefiles)
Then, try again. It should now work for most of you and pop up some info dialogs, the last being "Success - Everything should be patched just make sure to run as oculus mode and set VDXR in VD"
Thanks, @lobotomyxyz for your work!
Edit: I spoke with mbucchia he sort of explained what this does.
From what I could gather looking at the BAS decompiled source it appears that they normally do their license validation in the same steps as steamvr startup which I think may be normal steamworks behavior. If a valid oculus runtime fails to load then it just retries steamvr. VDXR is able to pass this check so it doesnt load steamvr
At least that is my understanding. For support purposes all that should matter for users is that they replace the plugin file and edit their config. In theory this script should always work and just needs to be rerun after updates but they could always do it manually or VD could patch something on their end to set the config automatically if VDXR is chosen in the streamer app. There is a pop up when the script runs that may appear as an error but typically its just saying that there was nothing to patch or just reporting the values. I could fix it but I've left it in as a literacy test