Commit Graph

655 Commits

Author SHA1 Message Date
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