* Update SDKTools IgniteEntity for Synergy
Add missing parameter for IgniteEntity used in Synergy.
* Update Linux SDKTools Gamedata for Synergy (25.3)
These are only the Linux signatures updated to use the name format.
Note, I do not have the updated Windows signatures at the moment.
* Fix pointer to string marshaling in ClientPrefs for x64
* Fix other cases where pointers were formatted with %x
* Fix warnings in ClientPrefs IsAuthIdConnected
* Initial attempt at compiling against tf2_sdk2013
* compilation fix for css
* Switch to AMTL platform arch defines
* Add CBasePlayer forward decl for dods and hl2dm as well
* Update hl2sdk-manifests
* Add dods to CI
* Actually include am-platform.h
---------
Co-authored-by: Kenzzer <kenzzer@users.noreply.github.com>
Co-authored-by: Nicholas Hastings <nshastings@gmail.com>
* - Fixes for OnPlayerTeleport hook for linux and linux64 systems
- Changed signature call of `CanPlayerTeleport` for linux/linux64 to current used name
- Applied fix at detour class CanPlayerBeTeleported to use standard parameter proceedings for linux
* Created a new registry for Teleportation Checking, marking the old one obsolete for older Sourcemod versions.
* Correction for sourcemod use the correct registry from now on.
* - Fixes for OnPlayerTeleport hook for linux and linux64 systems
- Changed signature call of `CanPlayerTeleport` for linux/linux64 to current used name
- Applied fix at detour class CanPlayerBeTeleported to use standard parameter proceedings for linux
* Created a new registry for Teleportation Checking, marking the old one obsolete for older Sourcemod versions.
- Changed signature call of `CanPlayerTeleport` for linux/linux64 to current used name
- Applied fix at detour class CanPlayerBeTeleported to use standard parameter proceedings for linux
* Add new IntHashMap and IntMap natives
This is a continuation of #579.
[HashMap] Adds new IntHashMap and IntMap natives.
This patch makes the following changes
* Refactors StringHashMap to a generic HashMap template
* Adds the IntHashMap class
* Adds new IntMap natives
* Adds IntMap tests to the tries test suite
[HashMap] Reverted rename of CharsAndLength
[HashMap] Use more descriptive template names
[HashMap] Removed old-style natives
[HashMap] Removed IntHash class
[HashMap] Reverted some search & replace errors
Co-authored-by: Geoffrey McRae <geoff@hostfission.com>
* Fix spelling mistake + include
* Fix tries test
* Update tests with clone + ContainsKey
---------
Co-authored-by: Geoffrey McRae <geoff@hostfission.com>
Co-authored-by: Nicholas Hastings <nshastings@gmail.com>
* Add x64 Windows support
* undo changes of hook.cpp
* undo changes of hook.h
* undo changes of extension.cpp
* undo changes of listeners.cpp
* undo changes of signatures.cpp
* fix dhooks on x86
* Fix-up dhooks buildscript
---------
Co-authored-by: Kenzzer <kenzzer@users.noreply.github.com>
* fix sdktools crash on 64 bits
* remove other 32bit-isms from sdktools
* Swap sizeof(intptr_t) for sizeof(void *)
---------
Co-authored-by: Nick Hastings <nshastings@gmail.com>
* Reconcile the concept of Edict & Networkable across the codebase
* There's no need to check this, it's done elsewhere. Also could be null (segfault)
* This was never needed
* Pseudo review changes
Re-added removed null checks, and added new ones.
Changed the error messages in Get/SetProp natives to better reflect reality.
* Don't change the behaviour of GetEntityNetClass
* Overload IGameHelpers::FindServerClass
* Make error messages more accurate
* Fix a dev comment
* Rename FindServerClass
---------
Co-authored-by: Kenzzer <kenzzer@users.noreply.github.com>
* Add safetyhook, remove libudis86
Co-authored-by: bottiger1 <55270538+bottiger1@users.noreply.github.com>
* Add modified CDetour
Co-authored-by: bottiger1 <55270538+bottiger1@users.noreply.github.com>
* Add CDetour [Safetyhook] to build script
* Re-enable loader/core/corelogic, and fix new C++20 error
* Reenable all extensions (except dhooks)
* Make cstrike compile against new CDetour
* Remove unused variable in sdktools output?
* Make sdktools compile against new cdetour
* Downgrade to C++17
* remove auto
* fix compilation on linux
* Re-enable dhooks
* Re-authorise old compilers
* Fix invalid downgrade of std::optional
* readd libudis86 for dhooks only
---------
Co-authored-by: Kenzzer <kenzzer@users.noreply.github.com>
Co-authored-by: bottiger1 <55270538+bottiger1@users.noreply.github.com>
* Band-aid for Bulk SDKHooks performance impact on linux
Platform specific changes.
* Oops forgot about header
* Simplified/improved LevelShutdown code
* Fix 64-bit JIT not allocating stack space for params on stack
Fix wrong cond check for passing objects by value
* Fix wrong FireOutput detour proto on win64
* Fix AcceptEntityInput on 64 bit by using struct from SDK instead of pointer math.
* Fix from Malifox. Not sure what it does but it is supposedly related to the AcceptEntityInput crash.
* Fix episode1 and darkm sdk paths
This brings in a few breaking changes.
One, INVALID_FUNCTION is now 0 instead of -1. This is long overdue.
Plugins should transparently work except in two cases:
1. Third-party extensions that have a hardcoded test for -1 will no
longer work. A new API has been provided for this,
GetFunctionByIdOrNull.
2. If a plugin "framework" uses INVALID_FUNCTION anywhere in its
exported API, then all plugins using that framework need to be
recompiled together, so they agree on the value of
INVALID_FUNCTION.
Hopefully the damage here is minimal. The core plugin version has been
bumped to 7 to try and limit conflicts.
Second, braceless functions are no longer supported. There wasn't really
any way around this and it's better to bite the bullet now. This affects
source compatibility, but not binary compatibility.
Third, the "using" keyword is no longer implemented. SourceMod now has a
Handle methodmap again. Plugins compiled against this new methodmap will
require a "Handle.~Handle" native, which 1.12 now provides.
* Build SDKTools for hl2sdk-mock
* Fix loading of extensions using advanced naming scheme for hl2sdk-mock
* Fix error on missing sv_visiblemaxplayers convar
* Build SDKHooks for hl2sdk-mock
* Fix x86_64 SourcePawn VM filename
* SDKHooks: Ignore missing IEntityListeners list in hl2sdk-mock
* Fix SDKHook_Use callback result handling
The returned result of the last callback in the list was used instead
of the highest value. This differs from the behavior of the other hooks.
* Fix SDKHook_Spawn callback result handling
The returned result of the last callback in the list was used instead
of the highest value. This differs from the behavior of the other hooks.
* Fix SDKHook_GetMaxHealth callback result handling
The returned result of the last callback in the list was used instead
of the highest value. This differs from the behavior of the other hooks.
The returned health is only changed if no other plugin wants to block the callback.
* Initial PVKII branch support
* Change PVKII code to 23, DOTA uses 22 in MM
* Bunch more SE_PVKII preprocessor that was missed
* Add some missing SOURCE_ENGINE_PVKII cases
* Update PVKII FireOutput signature for Linux
* Update checkout-deps with 'pvkii'
* Fix FireOutput signature for PVKII, accidentally used one from newer build
* Change PVKII code to 10, and bump others by 1
* Only check against SE_SDK2013 here, like Metamod
* More SE_PVKII preprocessor cleanup