Commit Graph

799 Commits

Author SHA1 Message Date
Nicholas Hastings
31928e6282 Fix late/incorrect calls to TR_GetEntityIndex potentially causing crash. (#513) 2016-05-21 14:44:00 -04:00
Nicholas Hastings
5edc46c994 Don't enable FileExists hook (SendFile forward) on TF2 servers with Replay. (#512)
It will crash. See PR #493 for details.
2016-05-19 19:11:28 -04:00
Kyle Sanderson
57c6e09fcf Merge pull request #493 from alliedmodders/tfreplaycrash
Only hook IBaseFileSystem::FileExists if we're also hooking INetChannel
2016-05-19 15:23:05 -07:00
Nicholas Hastings
40f2512317 Remove support for Source 1 Dota 2. (#496) 2016-04-26 23:18:47 -04:00
Nicholas Hastings
416abd81a1 Add support for compiling with VS2015. 2016-03-30 08:56:27 -04:00
akowald
283bdad552 Makes sending the change the default behavior with the GameRules_Set* natives. 2016-03-25 00:43:39 -04:00
Kyle Sanderson
8924a9744e Only hook IBaseFileSystem::FileExists if we're also hooking INetChannel::SendFile or INetChannel::ProcessPacket.
This works around a TF Replay SourceHook crash that Johns was seeing when using 1.8.
SourceHook is not thread-safe at the time of this writing.
2016-03-20 14:07:08 -07:00
Nicholas Hastings
b65de29c92 Add initial version of safety checks for CS:GO to attempt to avoid user GSLT bans. 2016-03-02 15:25:01 -05:00
Ruben Gonzalez
803c6b0a82 Update TerminateRound detour comment's 2016-02-18 11:15:39 -05:00
Asher Baker
7c3bcc9c25 Add missing buffer size check to SQLite QuoteString impl 2016-02-15 14:19:11 +00:00
akowald
7fbc9869bd Fix for crashes related to the GameRules_Set* natives. 2016-02-03 16:20:31 -05:00
Kristian Klausen
4cba1925fd Allow plugins to suppress entity outputs (fix 5515). 2015-12-30 17:51:57 +01:00
Nicholas Hastings
7fbcb81916 Merge pull request #456 from alliedmodders/canbeautobalanced
Add support for hooking CanBeAutobalanced to SDKHooks.
2015-12-29 15:56:24 -05:00
Kyle Sanderson
2812f227b7 Change SDKHooks CanBeAutoBalanced to only MRES_SUPERCEDE if the return changes. 2015-12-29 12:44:03 -08:00
Nicholas Hastings
23f9a1a524 Typo fix fix. 2015-12-22 16:18:53 -05:00
Nicholas Hastings
26b056d2c4 Typo fix. 2015-12-22 09:58:57 -05:00
Nicholas Hastings
bd9fd43b76 Fix for Black Mesa's different GiveNamedItem prototype. 2015-12-22 09:55:15 -05:00
Nicholas Hastings
184ad9083c Fix for varint gamerules sendprops being treated improperly in Black Mesa. 2015-12-22 09:54:55 -05:00
Nicholas Hastings
c5a81d7c6f Adjust for hl2sdk-bms updates. 2015-12-22 09:53:05 -05:00
Nicholas Hastings
818e1e4e18 Add support for hooking CanBeAutobalanced to SDKHooks. 2015-11-26 10:35:00 -05:00
Fyren
cf4f500eda And use it in sdktools, too. 2015-11-18 01:37:15 +00:00
Fyren
fec2fa3bf0 Update SP and use BlamePluginError in sdkhooks. 2015-11-18 01:24:31 +00:00
Nicholas Hastings
a4d06e1077 Update CTakeDamageInfoHack in SDK Hooks for semi-recent game/SDK updates. 2015-11-11 13:12:04 -05:00
David Anderson
e2b399b8d3 Update to the latest AMTL - Rename Ref to RefPtr. 2015-11-08 13:14:57 -08:00
Kyle Sanderson
72edc74e8b Use present netchannel instead of cached netchannel in CHookManager::SendFile. 2015-11-07 12:51:13 -08:00
Asher Baker
0387c45995 Fix Mac build. 2015-11-04 16:28:45 +00:00
Asher Baker
2ea3d9023b Fix libcurl build on Clang 3.5. 2015-11-04 15:21:13 +00:00
Ross Bemrose
f4adf33b4e Renumber holidays
Add CommunityUpdate holiday
2015-10-07 09:40:06 -04:00
David Anderson
c66d14605a Merge pull request #397 from alliedmodders/rm-old-mms
Remove code that handles long-dead Metamod:Source versions.
2015-09-18 14:38:52 -07:00
Ruben Gonzalez
6268abe2c3 Untab #ifdef's 2015-09-16 19:21:58 -04:00
Ruben Gonzalez
c86a6abdc5 Add shim for TerminateRound for CS:GO 2015-09-16 19:03:40 -04:00
thordin
3a59baab2c Added IsFree() edict check to FindEntityByNetClass. 2015-09-13 13:49:31 -07:00
Kyle Sanderson
274e7bd329 Add FileTransfer Hooks to SDKTools (r=Drifter). 2015-09-12 13:01:33 -07:00
David Anderson
df672dd8ce Remove the ability to compile against Metamod:Source versions lower than 1.8. 2015-09-09 18:54:43 -07:00
David Anderson
bcfef75c5d Update regex and datapack includes to not use binding syntax. 2015-08-12 11:52:57 -07:00
Nicholas Hastings
c32683225f Merge pull request #357 from alliedmodders/dumps-datestamps
Dumps datestamps
2015-07-03 19:33:02 -04:00
Nicholas Hastings
8fb97a6152 Add date to sm_dump_netprops_xml output. 2015-07-03 10:39:44 -04:00
Nicholas Hastings
801da2db37 Fix MSVC compile. 2015-07-03 10:38:15 -04:00
Nicholas Hastings
3ab4e4f24e Update sm_dump_netprops to include date of dump, similar to datamaps and classes dump commands. 2015-07-02 17:21:40 -04:00
Nicholas Hastings
1336d9cf5e Update date format on sm_dump_classes and sm_dump_datamaps to use the less ambiguous Y/m/d...
Instead of d/m/Y.
2015-07-02 17:21:03 -04:00
Peace-Maker
c6a7e86762 Lock database before setting character set
SQL_SetCharset wasn't thread safe and could race with other threaded
queries causing a crash.
2015-06-29 20:44:45 +02:00
Nicholas Hastings
3291e3a38f Fix crash on Black Mesa when an entity is deleted and SDK Hooks is loaded. 2015-05-31 23:21:43 -04:00
Nicholas Hastings
dac3d1c988 Remove leftover debug code. 2015-05-06 22:01:39 -04:00
Nicholas Hastings
64f9aedebc Add basic support for Black Mesa.
(Basically a copy of SDK 2013's support, but against BMS SDK).
2015-05-06 21:12:13 -04:00
Yed
5694a759ce Add IsFree check to FindEntityByNetClass in SDKTools (PR #330). 2015-05-04 18:13:11 -07:00
Nicholas Hastings
2432540d6e Merge branch 'set-client-name' 2015-04-17 04:50:13 -07:00
Nicholas Hastings
16eeaf625f Enable the "name %s" command blocking on CS:GO as well. 2015-04-17 06:51:48 -04:00
Kyle Sanderson
88c4618230 Merge pull request #320 from KyleSanderson/dust
Remove Project Files from older outdated build systems.
2015-04-02 10:34:57 -07:00
Kyle Sanderson
7341bd184e Remove Project Files from older outdated build systems. 2015-04-01 19:54:34 -07:00
Nicholas Hastings
7268987461 Merge pull request #301 from alliedmodders/get-team-entity
Add GetTeamEntity native to SDKTools.
2015-04-01 22:30:18 -04:00
Nicholas Hastings
ea7d5ad8f1 Merge pull request #314 from alliedmodders/tfconds-reducks
Pass a handle instead of entptr to ProcessCondChange for stability.
2015-04-01 22:29:55 -04:00
Nicholas Hastings
91302da050 Merge pull request #313 from alliedmodders/set-client-name
Add SetClientName native.
2015-04-01 22:29:44 -04:00
Ruben Gonzalez
35e4374e2e Fix not being able to block CS_OnCSWeaponDrop and clarify include file. 2015-03-27 19:54:42 -04:00
Nicholas Hastings
885117fb66 Add hack-fix for CS:S reverting name changes done with SetClientName. 2015-03-22 18:29:11 -04:00
Nicholas Hastings
7d795b523e Add SetClientName native. 2015-03-22 12:15:08 -07:00
Nicholas Hastings
38817bdd2c Pass a handle instead of entptr to ProcessCondChange for stability. 2015-03-22 06:53:51 -07:00
Ruben Gonzalez
f06a3605d2 Fix typo 2015-03-13 16:52:20 -04:00
Ruben Gonzalez
f523d6a74d Update function signature comments. 2015-03-13 16:19:57 -04:00
Ruben Gonzalez
ff8cbf97c4 FIx some TF2 natives not having the correct vstk size. 2015-03-12 18:28:17 -04:00
Ruben Gonzalez
a947dfa9d5 Update TF2's MakeBleed native for the latest update. 2015-03-12 17:54:47 -04:00
Nicholas Hastings
ae8efdddcb Add GetTeamEntity native to SDKTools. 2015-03-10 07:27:43 -07:00
David Anderson
eaea3c927d Update upstream AMTL as a submodule. 2015-03-08 00:24:03 -08:00
David Anderson
715a51d01f Merge pull request #285 from alliedmodders/frames
Implement a new stack and error handling model for the SourcePawn VM.
2015-03-04 23:45:59 -08:00
David Anderson
a1afa23bc4 Implement a new stack and error handling model for the SourcePawn VM.
This has three major changes to SourcePawn. First, the API now supports the concept of "exceptions". The exception state is a global property of an instance of the SourcePawn VM. Exceptions can be caught or suppressed. Many places in SourceMod have been updated to check exceptions instead of errors.

The new API obsoletes major parts of the embedder API - all but one method of invoking functions is obsoleted, and the debug interface has been scrapped. Extensions using the native API will not be affected, however, ThrowNativeError has been deprecated in favor of ReportError.

Second, the SourcePawn concept of a "stack" has been unified at the API level. A stack frame iterator now iterates over all SourcePawn invocations, rather than the topmost plugin. This makes error handling more consistent and removes another dependency on context-per-plugin.

Finally, the implementation of stack frames has been changed dramatically. Rather than maintain a complicated and expensive return pointer stack, we now rely on the implicit one provided by the CPU. The stack frame iterator now walks the JIT stack directly. This removes many unnecessary bookkeeping instructions from the generated code, in particular making the CALL instruction 40% faster.

These changes required some fair surgery to the JIT. Its error paths are now slightly more complicated, as they have to throw an exception rather than return an error code. In addition, any path that can throw an exception is now responsible for creating an "exit frame", which exists to tell the stack frame iterator about transitions from the JIT to the VM.
2015-03-04 23:45:30 -08:00
Nicholas Hastings
fdc3c0791e Merge pull request #266 from alliedmodders/tfconds-reducks
Replace frameloop for player condition checks in TF2 ext with sendproxies (r=All of the KyleS).
2015-02-27 04:43:15 -08:00
Nicholas Hastings
5f7e800444 Use new IVEngineServer::GetIServer to get IServer* on Insurgency. 2015-02-22 15:16:26 -05:00
Nicholas Hastings
70be2941fe All of the KyleS. 2015-02-18 22:42:06 -05:00
Nicholas Hastings
9ffbac4f4e Simplified code. (We don't need m_Shared). 2015-02-18 18:44:31 -05:00
Nicholas Hastings
684b59a921 Don't fire forwards if client isn't ingame. 2015-02-18 12:33:37 -08:00
Nicholas Hastings
e8765c5d3d Move m_CondOffset initialization to ctor. 2015-02-18 12:32:45 -08:00
Nicholas Hastings
ac530a4ce0 Fix passing incorrect cond# to forwards for CondEx/2/3 fields. 2015-02-18 12:09:17 -08:00
Nicholas Hastings
589482736f Merge pull request #247 from AnthonyIacono/normalshook-upgrade
Improvements for NormalSHook functionality (r=psychonic).
2015-02-18 14:43:33 -05:00
Nicholas Hastings
c4a58b1c95 Make sure processing and fwd calls happen on main thread. 2015-02-18 05:35:58 -08:00
Nicholas Hastings
6bc2d20177 Mess with some array sizes. 2015-02-08 20:30:15 -05:00
Nicholas Hastings
350eb462ca Rewrite TF2 extension's player conditions handling to remove dirty frame loop. 2015-02-08 20:03:07 -05:00
Anthony
3558418ed7 Initializing soundEntry and using something safer than strcpy 2015-02-05 11:12:33 -08:00
Nicholas Hastings
10c62dc0c0 Fix crash when creating and destroying a TopMenu without map change (bug 6303). 2015-02-04 09:57:04 -08:00
Ruben Gonzalez
213e7ced8c Initial CSGO GetWeaponPrice fixes 2015-01-31 12:44:18 -05:00
Nicholas Hastings
e2aab2ab10 Don't allow plugins to block LevelInit (wtf). 2015-01-27 18:01:30 -08:00
Anthony
ee0575bbb0 Adding EmitSoundEntry() for engines >= portal 2 2015-01-21 10:33:29 -08:00
Kyle Sanderson
e3349116cb Establish a default timeout for MySQL connectivity. 2015-01-21 05:58:45 -08:00
Anthony
cddae6f456 Upgrading the normal sound hook for games like CS:GO 2015-01-20 15:08:57 -08:00
Nicholas Hastings
aa38226337 Fix SDKHooks causing crash on plugin load/unload or player connect/disconnect if missing gamedata. 2014-12-30 20:56:28 -05:00
Nicholas Hastings
7f0edd441e Add offset printing to datamap dumps. 2014-12-30 08:36:35 -05:00
Nicholas Hastings
0d67bcc5ba Add null-check on serverclass in gamerules lookup. 2014-12-14 15:21:54 -05:00
Nicholas Hastings
88cb74213c Add support for getting g_pGameRules without a byte signature / symbol. 2014-12-13 16:35:32 -05:00
Nicholas Hastings
939b10bd8e Refactor SDKTools to not expose gamerules ptr ptr outside of vglobals.cpp. 2014-12-13 15:48:51 -05:00
David Anderson
61bf7de101 Revert adminmenu API changes. 2014-12-12 10:10:46 -08:00
Nicholas Hastings
09060c265f Convert TFHoliday values to pubvars. 2014-12-09 20:21:24 -05:00
Nicholas Hastings
e7e43e38a5 Merge pull request #210 from alliedmodders/more-clientprefs-newauth
Fix clientprefs IsAuthIdConnected (again) (r=asherkin).
2014-11-26 18:55:57 -05:00
Nicholas Hastings
b0ceac9d74 Fix clientprefs IsAuthIdConnected (again). 2014-11-22 10:00:40 -08:00
Nicholas Hastings
f38fd6a550 Merge pull request #205 from alliedmodders/tf2condex3
Add support for TF2 player conditions above >= 96 (r=asherkin).
2014-11-19 17:15:56 -05:00
Nicholas Hastings
d3a4c972e2 Add static_assert on ConBitVecAndNot hack so it gets updated on next cond count change. 2014-11-15 11:31:18 -05:00
Nicholas Hastings
1cf43b4ec2 Fix off-by-one error with FindNextSetBit in cond checks. 2014-11-15 11:22:43 -05:00
Nicholas Hastings
849df7895b Update TF2 extension for new m_nPlayerCondEx3 player conditions field. 2014-11-15 10:08:07 -05:00
Nicholas Hastings
ea86eee74e Fix SetAuthIdCookie's IsAuthIdConnect function's issues with mixed auth id types. 2014-11-15 09:34:49 -05:00
Nicholas Hastings
0d24804839 Merge pull request #174 from alliedmodders/eliminate-more-gamedata
Eliminate the need for more gamedata on some games (r=asherkin).
2014-11-08 12:52:53 -05:00
David Anderson
b97335ccb0 Port TopMenus to transitional syntax. 2014-10-30 19:20:33 -07:00
Nicholas Hastings
f0dd129344 Eliminate need for FindEntityByClassname gamedata on sdk2013 and soon css/dods/hl2dm (already on tf2). 2014-10-30 19:25:26 -04:00
Nicholas Hastings
749701014d Eliminate need for sv gamedata on sdk2013 and soon css/dods/hl2dm (already on tf2). 2014-10-30 19:25:13 -04:00
Nicholas Hastings
10cee734dc Eliminate need for s_pTempEnts gamedata on sdk2013 and soon css/dods/hl2dm (already on tf2). 2014-10-30 19:24:53 -04:00
David Anderson
76d26044f6 Fix build. 2014-10-21 21:51:15 -07:00
David Anderson
75335dbef3 Merge pull request #156 from Bara20/patch-2
Fix undefined symbol: clock_gettime.
2014-10-21 12:42:18 -07:00
Nicholas Hastings
77dc5ac7ed Fix build. 2014-10-14 17:47:44 -04:00
Nicholas Hastings
37c29775d4 Fix OnTakeDamage_Alive gamedata lookup in SDKHooks. 2014-10-14 17:36:55 -04:00
Nicholas Hastings
570570f7a0 Fix regression causing inconsistencies in clientprefs auth id handling (r=VoiDeD). 2014-09-12 13:04:37 -07:00
Nicholas Hastings
e4569cb2b9 Disable RTTI for more game-agnostic extensions. 2014-09-11 17:41:25 -07:00
Nicholas Hastings
47450bb98c Disable RTTI for game-agnostic extensions 2014-09-11 17:28:24 -07:00
Bara
d493bc701d Fix undefined symbol: clock_gettime
[SM] Extension dbi.mysql.ext.so failed to load: /home/csgo/csgo/addons/sourcemod/extensions/dbi.mysql.ext.so: undefined symbol: clock_gettime
2014-09-12 01:52:20 +02:00
Nicholas Hastings
6d7115d62f Update the missed steamid nullcheck in clientprefs 2014-09-09 18:04:39 -07:00
Nicholas Hastings
9e6fcc7673 Make OnClientAuthorized use Steam2 ids where available 2014-09-09 17:43:01 -07:00
David Anderson
448c55c0f2 Fix DBI after AMTL changes. 2014-09-03 21:11:17 -07:00
Nicholas Hastings
be55587d70 Add OnTakeDamage_Alive hook support to SDKHooks (bug=6249). 2014-09-03 17:45:34 -04:00
Ryan Stecker
cae1d0dec1 Don't override hook result in BlockedPost. 2014-09-02 13:01:18 -05:00
Ryan Stecker
88c6d3d9a7 Merge remote-tracking branch 'upstream/master' into sdkhooks-blocked 2014-09-02 00:04:54 -05:00
David Anderson
9267d0c803 Eliminate Newborn/NoAddRef (bug 5907, r=ds). 2014-08-22 22:50:25 -07:00
Ryan Stecker
d873b20573 Fix typo related to invalid regex handle errors. 2014-08-14 12:24:51 -05:00
Ryan Stecker
601aac440e Implement SDKHook_Blocked and SDKHook_BlockedPost. 2014-08-01 21:35:41 -05:00
Nicholas Hastings
8d5fe316e0 Merge pull request #114 from VoiDeD/tf2-removewearable
Implement TF2_RemoveWearable native (r=psychonic).
2014-07-30 18:43:34 -04:00
Kyle Sanderson
ab72841704 Rename SDKHooks function and variable to be friendlier. 2014-07-30 15:34:51 -07:00
Ryan Stecker
4a400d9569 Implement TF2_RemoveWearable native. 2014-07-29 20:31:27 -05:00
Kyle Sanderson
ba0406930d Pre-allocate 8 elements to skip trivial reallocations near the beginning of the vectors life. 2014-07-29 02:48:13 -07:00
Kyle Sanderson
be79dee6e0 Store only the callback as per VoiDeD, re-eval if HookList changes. 2014-07-29 02:46:49 -07:00
Kyle Sanderson
97610edda4 HackFix: Mimic forwardsys style of pawn calling. 2014-07-28 15:51:34 -07:00
Peace-Maker
1181144e57 Fix regression. SDKHook_ReloadPost never firing
The switch to vtable hooks typo'd the ReloadPost hooks.
2014-07-16 20:40:52 +02:00
Ruben Gonzalez
9e1fef9775 Update TerminateRound code and gamedata for update. 2014-07-11 09:18:47 -04:00
Nicholas Hastings
ffa1887c48 Merge pull request #65 from powerlord/master
New functions for SDKTools to get information from game_sound files (r=psychonic).
2014-07-04 17:17:00 -04:00
Ross Bemrose
966841afbd Make sure the edict isn't free.
return GetParametersForSoundEx's return value instead of always true.
2014-07-03 14:13:36 -04:00
Ross Bemrose
e1d4ed0e34 Fixed overwriting the same copy/pasted line twice instead of once per new native. 2014-07-03 13:19:19 -04:00
Nicholas Hastings
3254f6f362 Switch TF2 to use IVEngineServer::GetIServer in SDKTools to find IServer ptr. 2014-07-03 12:26:52 -04:00
Ross Bemrose
d25ab6349c Commit new version of bug 5942: New functions for SDKTools to get information from game_sound files. 2014-07-03 10:20:53 -04:00
Nicholas Hastings
eeba5b93c5 Update CStrike extension CSWeaponDrop to use Vector overload on CS:GO. 2014-07-02 10:08:56 -04:00
Peace-Maker
909c6ec594 Refresh sorting of topmenu after (re)LoadTopMenuConfig (bug 6032, r=psychonic). 2014-06-29 21:07:55 -04:00
Nicholas Hastings
bbdf40160c Add missing thisptr to call. 2014-06-23 19:24:27 -04:00
Nicholas Hastings
de0f49248d Update TF2_IsHolidayActive native to virtually call gamerules IsHolidayActive. 2014-06-23 16:23:49 -04:00
Nicholas Hastings
fe485836f1 Remove redundant code. 2014-06-19 23:48:15 -04:00
Nicholas Hastings
1daf629a42 Remove dead variable. 2014-06-19 23:34:35 -04:00
Nicholas Hastings
151c6d246e Switch TF2 extension to hook CTFGameRules::IsHolidayActive for holiday forward (bug 6137). 2014-06-19 23:22:47 -04:00
Nicholas Hastings
58158ce607 Merge pull request #40 from alliedmodders/fix-invalid-string-index
Fix FindStringIndex native not returning INVALID_STRING_INDEX when string not found (bug 6144, r=DS).
2014-06-19 14:40:16 -04:00
Nicholas Hastings
291ef6fdc4 Fix FindStringIndex native not returning INVALID_STRING_INDEX when string not found (bug 6144). 2014-06-19 11:40:01 -04:00
Nicholas Hastings
75254bbf25 Update SDKTools entity output functions to use core's GetEntityClassname instead of own. 2014-06-19 11:27:26 -04:00
Nicholas Hastings
e95309a603 Add early-exit in entity output detour if entity has no classname. 2014-06-19 00:33:54 -04:00
Kyle Sanderson
69cb941fa4 Merge pull request #25 from KyleSanderson/kylepreds
Replace SourceHook list usages in clientprefs with AMTL.
2014-06-12 15:42:30 -07:00
Nicholas Hastings
e7870da5ff Add ifdef section notes on endifs. 2014-06-11 23:37:02 -04:00
Nicholas Hastings
a697e81427 Use updated IServerTools iface on TF2 for getting tempent list and FindEntityByClassname. 2014-06-11 22:44:42 -04:00
Kyle Sanderson
695fc802a9 Replace SourceHook list usages in clientprefs with AMTL. 2014-06-04 21:49:48 -07:00
Kyle Sanderson
975fc93e1f Replace SourceHook list usages in tf with AMTL. 2014-06-04 17:36:53 -07:00
Kyle Sanderson
6c37a5d9f3 Replace SourceHook list usages in cstrike with AMTL. 2014-06-04 17:36:28 -07:00
David Anderson
abdf7d5b07 Port build scripts to the new project API. 2014-05-31 19:56:42 -07:00
David Anderson
2e89d91a86 Switch build infrastructure to Git. 2014-05-25 01:53:58 -07:00