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

Prepare extension for x64 build #49

Draft
wants to merge 16 commits into
base: master
Choose a base branch
from
Draft

Prepare extension for x64 build #49

wants to merge 16 commits into from

Conversation

Kenzzer
Copy link
Collaborator

@Kenzzer Kenzzer commented Jan 26, 2024

  • Updated AMBuild scripts to depend on alliedmodders's hl2sdk-manifests repository
  • Updated the package script to distribute the 64bits extension
  • Removed the copy of CDetour and replaced it with the one from sourcemod directly (it supports x86_64 assembly, our copy doesn't)
  • Fixed a few remaining instances where PtrToPawnAddress should have been used
  • Added --targets x86,x86_64 to the CI script

TO-DO :

  • Make a x86_64 assembly variant of the input function, available in IEntityDataMapInputFuncDelegate::Alloc
    • Linux
    • Windows

@Kenzzer
Copy link
Collaborator Author

Kenzzer commented Jan 26, 2024

This PR will also require alliedmodders/hl2sdk-manifests#4 to land before we can actually merge.

Kenzzer and others added 12 commits February 6, 2024 19:39
Add missing SDK_OnMetamodCreateInterface definition
Don't omit frame pointer
- In x64, there's a tendency for jmp calls to be used to go to another function instead of using call. There's probably some stack fuckery going on here since call pushes the return address on the stack. However, since we don't need to use the stack, we can substitute this with a simple jmp reg call instead, which also fixes the crash.
Untested, but probably correct
Add more comments on getting sigs
Replace sig with Studio_Duration signature
Fetch m_flPoseParameter array member
@Kenzzer
Copy link
Collaborator Author

Kenzzer commented Mar 30, 2024

Leaving a public note here. The PR is still on our radar however we're waiting on the (hopefully positive) resolution of the sourcepawn's Address type crisis. This currently breaks the extension in major ways, and while we could come up with a fix of our own, we cannot be hasty about it.

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

Successfully merging this pull request may close these issues.

2 participants