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

[HL25] Some functions are now inlined #3845

Open
DarthMan opened this issue Oct 3, 2024 · 0 comments · May be fixed by #3851
Open

[HL25] Some functions are now inlined #3845

DarthMan opened this issue Oct 3, 2024 · 0 comments · May be fixed by #3851

Comments

@DarthMan
Copy link

DarthMan commented Oct 3, 2024

Hello again,

After the anniversary update, some functions were inlined on HL, TFC and probably CS.
Would it be possible to have the gamedll recompiled without inlining the functions?
I wrote some plugins where I hook certain functions, such as CFuncTank::StartControl , CFuncTank::StopControl, InstallGameRules etc.
And now that those functions are inlined, they do not appear in IDA/Ghidra/etc , making it impossible to create unique signatures to hook them.
For example, in my mapmanager nextmap plugin, I get the g_pGameRules pointer by getting the return value from InstallGameRules to then hook CHalfLifeMultiplay::ChangeLevel, in order to modify to which map the server will change, in maps such as dustbowl on TFC, where after you capture red's base the score hud is displayed and the server changes the map to the next one present in the mapcycle file. Instead of doing that, I set my own rules to change to what the server decided that the next map will be, either a random map that isn't one of the last played maps, or a mapvote map if one is setup.
This can also cause issues with plugins from AlliedModders that rely on the Orpheu module for functions that are otherwise impossible to call or hook. Unfortunately, this is also what prevents me and other people to upgrade the server(s) to the new anniversary builds.

Thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants