Skip to content
This repository was archived by the owner on Apr 20, 2020. It is now read-only.

Add Quest support and a trampoline module#18

Open
thetrueyoshifan wants to merge 11 commits into
Slaynash:masterfrom
thetrueyoshifan:master
Open

Add Quest support and a trampoline module#18
thetrueyoshifan wants to merge 11 commits into
Slaynash:masterfrom
thetrueyoshifan:master

Conversation

@thetrueyoshifan
Copy link
Copy Markdown

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
Copy link
Copy Markdown
Author

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

Copy link
Copy Markdown
Contributor

@Bluscream Bluscream left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please leave the project import paths as is

Repository owner deleted a comment from thetrueyoshifan Oct 8, 2019
@HerpDerpinstine
Copy link
Copy Markdown
Contributor

Please leave the project import paths as is

We will once we get it all wrapped up and working

@Slaynash
Copy link
Copy Markdown
Owner

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants