VRCModLoader icon indicating copy to clipboard operation
VRCModLoader copied to clipboard

Add Quest support and a trampoline module

Open thetrueyoshifan opened this issue 5 years ago • 3 comments

This fork ports VRCModLoader to the Quest, and similarly laid out mobile versions of VRChat. Key changes are as follows:

  • Added checks to each file access to point to a Quest-appropriate directory (may want to rename to VRCModLoader)
  • Converted modprefs to a .json file system, in order to eliminate the requirement for kernel32.dll
  • Added a trampoline module, that will be injected and used by IPA first, but then loads VRCModLoader. This is so that the PC version can still utilize kernel32.dll, while also making sure the Quest doesn't need an APK recompile each time the ModLoader is updated. This should only need to be built once for each platform.

Super special thanks goes to @HerpDerpinstine for helping me out a lot with this port and partial rewrite!

thetrueyoshifan avatar Oct 08 '19 04:10 thetrueyoshifan

I also forgot: This is the trampoline module https://github.com/thetrueyoshifan/TrampolineVRC

thetrueyoshifan avatar Oct 08 '19 04:10 thetrueyoshifan

Please leave the project import paths as is

We will once we get it all wrapped up and working

HerpDerpinstine avatar Oct 08 '19 07:10 HerpDerpinstine

We should keep both ini and json settings, or at least make something back update the ini to json so users don't lost their settings. Also, I'm wondering if #if (PC) is required. Isn't [DllImport("kernel32.dll")] only loaded in the function if it is called? You should also keep the .sln file in sync, to avoid dependencies problems

Slaynash avatar Oct 20 '19 10:10 Slaynash