You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My dear ladies, I bring sunshine! (And a large pull request, sorry for that)
dll -> exe
The goal of this issue is to convert source2gen from an injected library to an executable. This brings several benefits
Ease of use, no need for an injector
Works on headless systems (Servers), because the game does't need to be running
No more waiting for the game to be ready, we make it ready!
It's fast, about 2 seconds to dump CS2, start to finish
makes debugging a bliss
Single-threaded
No manually-created console
How does it work?
Load all libraries that we intend to dump
Call InstallSchemaBindings() in each of those libraries
Dump as per usual
Linux Support
This is what makes the issue a little bigger. I don't have Windows, and I can't run games, so I had to make both changes at once.
How does it work?
Add some macros to make conditional code easier (tools/platform.h)
Add a cross-platform module loader that uses libloaderapi on Windows and dlfcn on Linux (tools/loader.h)
Update structs and assertions to match offsets in Linux games
Make the code compatible with more compilers (clang++, g++)
Fix case-sensitive file and entity names
Add missing includes
NOP mscv macros on Linux
Some other minor changes
Status
This is where this issue still needs help. As I don't have Windows and there is no CI, I can't make sure I'm not breaking anything. I wrote all code with Windows in mind, it should still work, but I can't test it.
✔️ Runs and dumps on linux
🚫 Generated SDK tested on Linux - Postponed, merge in alpha quality with disclaimer in readme to avoid diverging from master
✔️ Compiles on Windows
✔️ Update premake to build an executable instead of a library
✔️ Fix loader_windows.h if necessary
✔️ Fix compiler bugs that were added in the linux port, if necessary
✔️ Runs on Windows without crashing
✔️ Dumps on Windows, with no regressions
❌ Documentation about how to run source2gen on Windows (Need to set PATH to load libraries) (Hint: Perhaps we can use the registry to find the game path and set PATH automatically)
The text was updated successfully, but these errors were encountered:
PR #47
My dear ladies, I bring sunshine! (And a large pull request, sorry for that)
dll -> exe
The goal of this issue is to convert source2gen from an injected library to an executable. This brings several benefits
How does it work?
InstallSchemaBindings()
in each of those librariesLinux Support
This is what makes the issue a little bigger. I don't have Windows, and I can't run games, so I had to make both changes at once.
How does it work?
tools/platform.h
)tools/loader.h
)clang++, g++)Status
This is where this issue still needs help. As I don't have Windows and there is no CI, I can't make sure I'm not breaking anything. I wrote all code with Windows in mind, it should still work, but I can't test it.
loader_windows.h
if necessaryPATH
to load libraries) (Hint: Perhaps we can use the registry to find the game path and set PATH automatically)The text was updated successfully, but these errors were encountered: