Kyle Sanderson
015b9e92b6
Sync AMTL with upstream fixes. ( #538 )
2016-08-28 14:01:53 -07:00
Peace-Maker
ecbedb7b11
Don't expose CellArrays in ISourceMod to extensions
...
Don't let extensions have access to the internal implementation of cell
arrays.
2016-08-26 15:09:18 -07:00
Peace-Maker
5b9ae5917b
Add ICellArray and create/free in ISourceMod
...
Add an ICellArray interface to expose the adt_array CellArray class from
logic to core.
Add methods to ISourceMod to create and delete ICellArray instances in
logic.
2016-08-21 21:32:23 +02:00
David Anderson
a7f5fb7a08
Fix Linux build.
2016-07-26 14:46:58 -07:00
David Anderson
3cccfc15da
Update to SourcePawn 1.9 and the latest AMTL.
2016-07-26 01:36:35 -07:00
David Anderson
1b30e78db3
Update to the latest AMTL.
2016-07-09 12:16:17 -07:00
Nicholas Hastings
f12924458f
Merge branch 'vs2015'
2016-06-11 12:14:12 -04:00
Nicholas Hastings
40f2512317
Remove support for Source 1 Dota 2. ( #496 )
2016-04-26 23:18:47 -04:00
Nicholas Hastings
ed46ca3328
Add support for retrieving game server Steam Id (bug 6404). ( #495 )
2016-04-26 23:17:08 -04:00
Nicholas Hastings
416abd81a1
Add support for compiling with VS2015.
2016-03-30 08:56:27 -04:00
David Anderson
f7bb423f06
Update to the latest SourcePawn and AMTL.
2016-03-13 16:29:11 -07:00
Martynas Mickevičius
37210c9ef1
Fix compilation of sample extension.
2016-02-20 03:27:49 +02:00
Ross Bemrose
2f5257fcb5
Update sample_ext's AMBuildScript with the changes used in SourceMod's AMBuildScript
2016-01-19 12:29:15 -05:00
Nicholas Hastings
c5a81d7c6f
Adjust for hl2sdk-bms updates.
2015-12-22 09:53:05 -05:00
David Anderson
c3e5d62bf6
Update to the latest AMTL: remove PassRef.
2015-11-08 13:51:22 -08:00
David Anderson
e2b399b8d3
Update to the latest AMTL - Rename Ref to RefPtr.
2015-11-08 13:14:57 -08:00
David Anderson
c849616003
Add an OnPluginWillUnload callback that precedes OnPluginEnd().
2015-11-01 00:30:37 -07:00
David Anderson
d674414cf0
Add a versioned IPluginsListener and deprecate the non-versioned class.
2015-11-01 00:23:33 -07:00
David Anderson
87e9dee78b
Evict plugins that fail to load.
2015-10-31 17:30:33 -07:00
David Anderson
903315747d
Clarify plugin states.
2015-10-31 17:25:59 -07:00
David Anderson
ab1b915a3c
Fix re-entrancy issues in CPluginManager by using ReentrantList.
2015-10-31 17:24:22 -07:00
David Anderson
6c5ab80418
Refactor and cleanup the AMBuildScript a bit.
2015-10-08 14:55:53 -07:00
David Anderson
d0843ab997
Add a ReentrantList class to abstract list mutation during iteration.
2015-09-21 01:07:30 -07:00
David Anderson
d9216cc599
Remove references to non-mapupdated plugins.
2015-09-20 20:31:30 -07:00
David Anderson
168b779786
Move sm_dump_handles to core/logic.
2015-09-20 14:33:10 -07:00
Nicholas Hastings
44bacdc067
Fix recent regression with finding engine ptr on CS:S, DoD:S, HL2:DM.
...
They are still only have engine v21, not yet v22 (let alone v23).
2015-09-14 09:56:06 -04:00
Nicholas Hastings
8f8c00c66d
Update metamod-attached extensions to use same engine ptr lookup as core.
...
(On TF2-branch games, always search for engine v23 first, falling back to v22.)
2015-09-13 17:18:33 -04:00
Kyle Sanderson
d9839bab68
Fix sm-central crashing on start (bug 6413).
2015-09-10 11:32:10 -07:00
David Anderson
5d55ff23bd
Move OnQueryCvarValueFinished into the global hook manager.
2015-08-31 09:22:08 -07:00
David Anderson
9d805ea9fb
Replace the AddRootConsoleCommand API to not expose internal structures.
2015-08-30 21:01:03 -07:00
David Anderson
204ca3aca5
Update to the latest AMTL revision.
2015-08-30 18:38:05 -07:00
David Anderson
c87b3c0859
Update to the latest AMTL version.
2015-08-27 01:01:18 -04:00
David Anderson
e30b57cb4a
Update build scripts for new AMTL folder structure.
2015-08-26 15:54:55 -04:00
David Anderson
246c32a202
Update SourcePawn and AMTL.
2015-08-13 22:08:47 -07:00
David Anderson
152807b977
Update AMTL and SourcePawn submodules to master.
2015-07-25 17:25:59 -07:00
Ross Bemrose
b705de0143
Add missing CopyFiles function.
2015-07-25 13:16:17 -04:00
Nicholas Hastings
7564c09aff
Merge pull request #341 from powerlord/ambuild-sampleext
...
Add AMBuild2 script to Sample Extension.
2015-06-27 20:10:00 -04:00
David Anderson
cb6024e334
Update AMTL and SourcePawn.
2015-05-27 10:22:40 -04:00
Ross Bemrose
43f4a2f7b7
Fix checking the wrong directory for smsdk_ext.cpp. Updated some comments.
2015-05-14 14:16:19 -04:00
Ross Bemrose
0022b750b5
Split AMBuildScript into AMBulde and AMBuildScript
2015-05-14 13:48:59 -04:00
Ross Bemrose
d49714bb10
Add AMBuildScript, configure.py, and PackageScript
2015-05-14 12:36:59 -04:00
Asher Baker
1b47b68cc7
Correct NameHashSet::add() return type.
2015-05-09 11:57:49 +01:00
Asher Baker
f7c6fc9d1f
Restore check_thunks error message.
2015-05-07 21:53:38 +01:00
David Anderson
eaea3c927d
Update upstream AMTL as a submodule.
2015-03-08 00:24:03 -08:00
David Anderson
1d313e3120
Move macro assembler out of public/assembler into sourcepawn/vm/x86.
2015-03-07 11:16:37 -08:00
David Anderson
561004c4bf
Move SourcePawn headers out of public/ into sourcepawn/include.
2015-03-07 11:13:32 -08:00
Nicholas Hastings
2d53547e03
Merge pull request #289 from alliedmodders/more-ninvoke-killing
...
Remove references to INativeInvoker.h from extension boilerplate.
2015-03-06 07:37:46 -05:00
Nicholas Hastings
6f8ffd55a7
Merge pull request #263 from alliedmodders/admins-trans
...
Update admins.inc with methodmaps, newdecls (r=dvander, asherkin).
2015-03-05 14:32:15 -05:00
Nicholas Hastings
96703c247c
Remove references to INativeInvoker.h from extension boilerplate.
2015-03-05 10:59:19 -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