Add basic Insurgency support on Windows x64#1295
Add basic Insurgency support on Windows x64#1295KyleSanderson merged 4 commits intoalliedmodders:masterfrom
Conversation
This allows SourceMod to load on x64 Insurgency. There are still a lot of variable truncation warnings that have to be dealt with.
The hack for __iob_func being removed from the core runtime, but required by the old mysql we're building against can be simplified a lot due to the `_ReturnAddress` intrinsic available since MSVC 2015.
|
SourceMod has to be compiled against MM:S 1.11 on win64 due to required changes in a SourceHook header. Otherwise vtable hooks won't work. |
KyleSanderson
left a comment
There was a problem hiding this comment.
Just a quick q about the logistics of extensions/win64 extensions/win32. Feels like a big move to me but I may have missed other boilerplate stuff making this okay / already validated.
cc @dvander @psychonic @asherkin for thoughts
| path, | ||
| PLATFORM_MAX_PATH, | ||
| "extensions/%s." PLATFORM_LIB_EXT, | ||
| "extensions/" PLATFORM_ARCH_FOLDER "%s." PLATFORM_LIB_EXT, |
There was a problem hiding this comment.
hmmm. This is my only aversion to taking this. Do we really want a magic folder in extensions where subarch extensions live? what do you think about extensions_win64/coolthing.dll vs extensions/win64/coolthing.dll ? If this is the convention elsewhere that's cool, but this feels like a big change that I may have forgotten.
There was a problem hiding this comment.
PLATFORM_ARCH_FOLDER is just x64 or empty on x86, not win64 or win32.
sourcemod/public/sm_platform.h
Line 123 in ce1a4dc
So all 64bit extensions live in extensions/x64/coolthing.dll/so/dylib which is the same we already do for stuff in sourcemod/bin/x64/sourcemod.logic.dll and the game does for e.g. bin/x64/engine.dll. Seems like an oversight, because the package script already puts the files in extensions/x64, they just weren't loaded from there.
There was a problem hiding this comment.
Good catch, yeah I saw the definitions and missed the actual name. @TheDS are you okay with this?
|
Thanks @peace-maker 😄 |
This allows SourceMod to load on x64 Insurgency. There are still a lot of variable truncation warnings that have to be dealt with.
Requires alliedmodders/sourcepawn#499