Commit Graph

47 Commits

Author SHA1 Message Date
David Anderson
1857f29efc Added extension loading/unloading
Extended SDK for interface sharing
Completed Metamod extension support

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40309
2007-01-17 03:01:38 +00:00
David Anderson
03277707b5 initial import of extension API and SDK as well as auto-loading
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40303
2007-01-16 19:41:21 +00:00
David Anderson
f7545a848f Fixed an off-by-one bug in the handle system
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40302
2007-01-16 19:34:32 +00:00
David Anderson
5366d05ce2 Fixed a serious potential corruption bug
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40301
2007-01-16 19:03:29 +00:00
David Anderson
f4cd98191e small optimization, fixed a corruption bug
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40298
2007-01-15 22:09:11 +00:00
Borja Ferrer
9f2c0e370e forwards are now really unregistered
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40296
2007-01-15 03:28:55 +00:00
Borja Ferrer
89350a1785 Added capability to toggle debug state in plugins at runtime
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40295
2007-01-15 00:56:39 +00:00
Borja Ferrer
eea576cb52 Added new debugger logger
Added format errors
Paused plugins now have their forwards blocked
Fixed bug where pausing a plugin wouldnt make any effect

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40293
2007-01-12 23:56:02 +00:00
David Anderson
efd3a8ab5f Handle system can now unload identities safely. when an identity is removed, all handles owned by it are removed in a chain.
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40288
2007-01-11 07:29:09 +00:00
David Anderson
09b01f7950 removed a few TODOs and filled out some PluginSys stuff
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40287
2007-01-11 01:13:34 +00:00
Borja Ferrer
45baab94a6 Added a bunch of new file natives.
Fixed possible corruption in snprintf when input buffer was bigger than output buffer and relaying on its retval.
Fixed all cases when the above situation happened.
Fixed _PrintToHL2Log not taking va_list in.

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40279
2007-01-07 01:30:28 +00:00
David Anderson
7bb52e67f3 compiles again
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40278
2007-01-06 19:35:25 +00:00
David Anderson
7bbe099cea fixed a bug causing mapchanges to crash
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40269
2007-01-04 23:30:54 +00:00
David Anderson
4bd40d69e1 restructure of HandleSys admin permissions and interface
removal of HandleSys helper functions
removed useless BaseContext stuff from Engine
put SourceMod specific stuff in BaseContext
cleaned up broken Handle code

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40267
2007-01-04 02:08:27 +00:00
David Anderson
32a2aa75e3 fixed various issues in the handle system with cloning
fixed plugins being able to free each other's handles

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40264
2007-01-02 01:44:46 +00:00
David Anderson
2fc806542a added usage of the Handle System to begin experimenting
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40257
2007-01-01 19:50:16 +00:00
David Anderson
9f7c852c77 initial import of handle natives and a few minor API changes
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40252
2007-01-01 10:33:51 +00:00
David Anderson
388c062c96 added automatic native registration
added string include file
renamed typeutil and its functions
redid a bunch of the string natives
string natives now register

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40238
2006-12-30 07:23:17 +00:00
David Anderson
17af34bba5 unmanaged forwards need to be pruned for dead plugins too
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40237
2006-12-30 06:07:32 +00:00
David Anderson
f068587ecc initial import of sharesystem (unfinished)
final revision of handle system (I hope!)
initial import of plugin handles

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40234
2006-12-29 23:18:13 +00:00
Borja Ferrer
5e75d0928c Added PlayerManager basic hookings
Moved ftoc and ctof to an utility file
Added some more string natives

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40231
2006-12-28 00:48:09 +00:00
David Anderson
352b15c1b7 Added Handle cloning and reference counting in preparation for IShareSys
Made the internal code a bit more flexible and improved access security structures

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40227
2006-12-17 09:56:45 +00:00
David Anderson
522a1f605f these should compile now
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40225
2006-12-16 22:31:32 +00:00
David Anderson
c189dfa991 implemented and finalized initial HandleSystem API
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40223
2006-12-16 22:27:18 +00:00
Borja Ferrer
c9002c2011 Added initial console commands for plugins
fixed crash in plugin destructor
fixed compilation not being freed causing a crash
fixed small issues in plugin system
fixed plugin iterator not being reseted when freed and not being initialized it's current pointer.
fixed a bug where insertion of a prefixed string would not check whether a value could be set.

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40221
2006-12-16 02:16:21 +00:00
David Anderson
a9087b13dd added second pass function
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40218
2006-12-15 13:53:58 +00:00
David Anderson
90d1f4495e Added global class initialization automation
Finalized basics of plugin loading
Began redoing how dependencies will be tracked
Renamed some bad names
Finished some stuff in ForwardSys

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40216
2006-12-15 13:38:04 +00:00
David Anderson
23a91de75c !Added MOSTLY UNTESTED plugin loading
Fixed a match bug in TestAliasMatch()
Removed pointless implementation of context switching in CPlugin
Redesigned how CPlugins are allocated, deallocated, and instantiated.
Added a basedir function so all code can reference relative paths.  This may be redesigned.
Various other changes

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40214
2006-12-13 11:16:20 +00:00
David Anderson
36312e9779 Added path formating to LibrarySystem so we don't have to rely on g_SMAPI
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40211
2006-12-13 11:13:50 +00:00
David Anderson
36dc72cf04 Fixed bug with info database not reading back table properly
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40210
2006-12-13 11:10:02 +00:00
David Anderson
a1e58aa9ef initial import of plugin database (UNTESTED)
added file pattern matching routine (TESTED)
added memtable caching (UNTESTED)

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40208
2006-12-10 09:19:59 +00:00
David Anderson
89c75b1940 committed shiny new SMC parser (really Valve XML or whatever)
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40202
2006-12-08 20:54:49 +00:00
Borja Ferrer
f3ad0f5b67 rewritten PushStringEx in Forward and Function systems
fixed PushCellByRef and PushFloatByRef in the varargs case where it wouldn't set the pushed type
fixed the BindNatives functions not setting the BOUND flag thus making the JIT not exec the natives
done the rest of tests with forwards, only left to do string varargs

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40197
2006-12-06 14:52:11 +00:00
David Anderson
73e1d4b9cc removed debug code
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40195
2006-12-06 00:09:46 +00:00
Borja Ferrer
a42fa24ef5 fixed string pushing
fixed CFunction::_PushString not counting the null terminator

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40193
2006-11-17 23:22:32 +00:00
Borja Ferrer
34097b1dba tested some forwards
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40192
2006-11-16 22:37:37 +00:00
David Anderson
13d61ec39f added implementation to the forward manager
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40191
2006-11-14 08:45:21 +00:00
Borja Ferrer
cda9c6952d iface comment fixes and sync
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40190
2006-11-13 13:55:44 +00:00
David Anderson
bad69571b6 rewrote forward API to use cached parameter pushing instead of immediate pushing
removed copy back cruft since it's no longer needed
removed PushCells() from API requirements, not needed
adjusted documentation and added TODO list to ForwardSys.cpp
various internal improvements

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40188
2006-11-12 09:51:39 +00:00
David Anderson
94dc5ca298 fixed copy backs so they work properly
NOTE: heap fails, working on a rewrite

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40186
2006-11-12 02:24:45 +00:00
David Anderson
6bef3c2c5a Initial import of forward system
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40185
2006-11-12 01:06:17 +00:00
David Anderson
adc1475b76 Fleshed out forward system and extensively documented its design considerations
Implemented and did basic tests on new IPluginFunction type
Split function types into a separate file

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40182
2006-11-11 11:10:24 +00:00
David Anderson
c25cc64024 Implemented a lot more of the plugin system
added aggressive caching O(1) function object retrieval

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40181
2006-11-11 05:49:52 +00:00
David Anderson
50e5307d32 initial import of proposed forward API
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40179
2006-11-11 01:19:46 +00:00
David Anderson
30956eae5b added plugin sys initial import
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40178
2006-11-10 18:08:13 +00:00
David Anderson
f19fbac013 renamed mm_api, I don't like short names!
finished and tested the INI parser and its API

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40150
2006-11-06 10:57:37 +00:00
David Anderson
f83a597e49 began platform support
initial import of platform library code
tested on win32

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40146
2006-11-05 02:47:13 +00:00