Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include Assembly-CSharp-firstpass.dll for access to Steamworks #1

Open
trigger-segfault opened this issue Jul 12, 2022 · 1 comment
Assignees

Comments

@trigger-segfault
Copy link

At the moment it's impossible to patch any code involving Steamworks without very heavy use of reflection or transpiling. Including Assembly-CSharp-firstpass.dll as a dependency like with Assembly-CSharp.dll (dev) would make things a lot easier, and open up more possibilities for mods.

I noticed that Assembly-CSharp.dll (dev) is modified from the Assembly-CSharp.dev.dll with bytes at offset 0x333a66 changed from 03 00 01 to 02 00 00. I'm not sure what this change does, and I'm not aware whether this kind of change is required for firstpass. But considering that the goal of including firstpass isn't to patch the assembly or access hidden fields, it might not be important.

@REHERC
Copy link
Member

REHERC commented Jul 12, 2022

The dev version of the Dll is the same as the normal one but with every class/interface/field/property/... set to public.
Using this dll with the "allow unsafe code option" in the mod allows to access private elements without complex reflection calls

That's probably what the byte offset is.

I'll check and include firstpass when i get some time to look at it

@REHERC REHERC self-assigned this Jul 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants