-
Notifications
You must be signed in to change notification settings - Fork 88
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
Templated SourceHook #176
base: master
Are you sure you want to change the base?
Templated SourceHook #176
Commits on Apr 24, 2024
-
Initial draft: Templated SourceHook
Introduces one massive template for generating SourceHook managers. The goal is for this to simplify the definition of SourceHooks long-term by replacing macros with templates. This introduces some new templates for metaprogramming, but they're hidden away in the SourceHook::metaprogramming namespace. Tested on Windows 32 bit and Linux 32 bit TF2.
Configuration menu - View commit details
-
Copy full SHA for aa88f23 - Browse repository at this point
Copy the full SHA aa88f23View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e66a21 - Browse repository at this point
Copy the full SHA 8e66a21View commit details -
Configuration menu - View commit details
-
Copy full SHA for 11df174 - Browse repository at this point
Copy the full SHA 11df174View commit details -
Merge remote-tracking branch 'origin/feat/templated-sourcehook' into …
…feat/templated-sourcehook Sometimes my vast intellect... it scares me. # Conflicts: # core/provider/source/provider_source.cpp
Configuration menu - View commit details
-
Copy full SHA for e391dc5 - Browse repository at this point
Copy the full SHA e391dc5View commit details -
Hook->HookImpl, expose "public" hook template in PLUGIN_EXPOSE
This allows us to specify the SH pointer and the Plugin ID pointer in the template, so when the plugin uses Hook<> it doesn't have to touch g_PLID or g_SHPtr. Also added a little struct that wraps ISourceHook->xHookById methods.
Configuration menu - View commit details
-
Copy full SHA for d96b3ad - Browse repository at this point
Copy the full SHA d96b3adView commit details
Commits on Apr 25, 2024
-
Introduce varardic hook macros
This is a large refactor that splits our mega-template into a few smaller ones. First off, the PLUGIN_GLOBALVARS() helpers were put in the SourceHook namespace. - HookHandlerImpl: Responsible for the lowered delegates (post-vafmt), can be used independently of other templates added here. Relies on parent HookManager class to handle the unlowered original invocation logic. (As a template parameter) - HookCoreImpl: Adds a public interface & glue layer beterrn managers and HookHandlerImpl - HookImpl: non-varardic hook manager - FmtHookImpl: format-string hook manager FmtHookImpl was tested by hooking IVEngineServer::ClientCommand.
Configuration menu - View commit details
-
Copy full SHA for 50772ff - Browse repository at this point
Copy the full SHA 50772ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8abbfbb - Browse repository at this point
Copy the full SHA 8abbfbbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 916f405 - Browse repository at this point
Copy the full SHA 916f405View commit details
Commits on Apr 26, 2024
-
I love spreading misinformation
Turns out this isn't true. Yay! Less work for me :^)
Configuration menu - View commit details
-
Copy full SHA for 6548671 - Browse repository at this point
Copy the full SHA 6548671View commit details
Commits on May 2, 2024
-
- A few style improvements - Add & correct some documentation - Change AddHook signature to not allow DVP as an option (for now!) - Fix cstdio not being pulled in on linux (bleh) - Add some more static_asserts to make errors easier to interpret (yay)
Configuration menu - View commit details
-
Copy full SHA for 6112248 - Browse repository at this point
Copy the full SHA 6112248View commit details
Commits on Jul 13, 2024
-
Implement a basic pointer controller, Update fiber implementation & a…
…dd blank logging
Configuration menu - View commit details
-
Copy full SHA for 7564337 - Browse repository at this point
Copy the full SHA 7564337View commit details