Commit Graph

58 Commits

Author SHA1 Message Date
David Anderson
0817bd0b8b added amb256 - (nice number), profiler complete with gui to show files
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401914
2008-03-02 06:40:59 +00:00
David Anderson
4eda818e0f added special build rule for sp_vm_engine.cpp
fixed an uninitialized memory read in ReadMapList()

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401903
2008-02-23 20:54:31 +00:00
Borja Ferrer
1b26a1984a gah GCC crying again
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401902
2008-02-23 20:50:26 +00:00
Borja Ferrer
4365d3763d moved these includes for GCC
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401901
2008-02-23 20:33:33 +00:00
Borja Ferrer
45860880ef Executable memory is now provided by MM:S's allocator, this should reduce virtual memory usage.
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401900
2008-02-23 20:18:49 +00:00
David Anderson
172f28d676 fixed a number of memory complaints from valgrind. most of these were minor, but there was a rather disturbing memory over-read error in the SMC text parser. correcting this brought about a rewrite of its API. this change is BACKWARDS INCOMPATIBLE for C++ extensions, but it was sorely needed, and the API is now both future-extensible and much easier to work with. plugins didn't need any changes, but they will probably get the better API changes in a future release. as a special bonus, the RawLine() hook is now much less expensive since the entire stream buffer won't be shoved through it like before!
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401662
2007-10-31 05:04:07 +00:00
David Anderson
af68caaf85 - sourcemod now intelligently unloads plugins which are leaking insane amounts of handles. these unloads get logged to sourcemod_fatal.log
- unloading is now delayed if a plugin is in the middle of a callstack

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401644
2007-10-22 08:53:15 +00:00
David Anderson
97196e70be fixed some build issues from last commit
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401389
2007-08-29 02:36:41 +00:00
David Anderson
f145178fc0 greatly optimized the process of mapping plugin natives from Core
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401388
2007-08-29 00:47:05 +00:00
David Anderson
eb0a4bda94 - fixed a bug where the stack was restored incorrectly when the VM was not capable of properly restoring the stack (i.e. when an error occurred)
- fixed re-entrancy bugs when a nested VM call on the same context threw an error

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401373
2007-08-22 02:01:24 +00:00
David Anderson
eb6ede7cef removed an assertion that really isn't needed
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401350
2007-08-16 14:58:25 +00:00
David Anderson
da0a160371 SourceMod will now spit out errors for scripts that become corrupt and would otherwise be crashing Core. if you get these errors contact the dev team.
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401345
2007-08-15 20:18:15 +00:00
Scott Ehlert
a1009aed38 Updated license headers on virtually all files with extremely minor changes in the name of some sort of strange consistency.
All plugin and include file headers also have been changed to say about GPL3 instead of GPL2.

(This day shall henceforth be known as the Eighty Column Massacre of '07)

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401336
2007-08-15 06:19:30 +00:00
David Anderson
6d60bd8de2 - massive overhaul of the voting subsystem
- NOTE: menu API compatibility was COMPLETELY broken for C++!
- cleaned up various aspects of the menu API
- implemented new extended vote results callback
- extended the debug reporter a tiny bit

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401275
2007-08-08 02:27:10 +00:00
David Anderson
38ddbb37b9 updated more header files (mostly internal now)
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401237
2007-08-01 02:12:47 +00:00
David Anderson
172b3e8ab8 new jit api versioning scheme for amb398
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401153
2007-07-23 19:12:54 +00:00
David Anderson
d218f638b1 added api to walk cmd list
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401125
2007-07-15 18:51:25 +00:00
David Anderson
3e88c91ad2 added ability to use NULL_STRING in KeyValues natives
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401006
2007-06-22 14:59:26 +00:00
David Anderson
6acaaac769 added a hacky way to get NULL references
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40944
2007-06-15 20:23:40 +00:00
David Anderson
be634bb027 - the handle system now lets you create HandleSecurity structs easier, but source compatibility is broken (using the old syntax wasn't really good C++ anyway!)
- fixed VM including PluginSys for some reason

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40863
2007-05-29 08:30:13 +00:00
David Anderson
49369d07bc redid API yet again - IMenuHandler is now bound to an IBaseMenu instance
implemented MOST natives
removed broadcasting/voting handlers for the time being
fixed a crash bug in basecontext when i didn't obey the api
moved radio displays to a caching stack

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40796
2007-05-14 04:46:06 +00:00
Scott Ehlert
1274c0b8bd Fixed linux build
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40769
2007-05-11 20:00:29 +00:00
Borja Ferrer
4ae67c9213 added debug code for leak detection on plugins
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40768
2007-05-10 22:51:56 +00:00
Scott Ehlert
77e49c855f Added client convar querying :o
Also added ISourceMod::GetModFolderName() for returning the name of the mod directory by itself

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40702
2007-04-14 04:27:47 +00:00
Scott Ehlert
c8f507561c Empty strings can now properly be passed via PushString and StringToLocal
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40701
2007-04-14 04:19:58 +00:00
David Anderson
3f25c99653 fixed a corruption bug when toggling debug mode
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40698
2007-04-13 17:12:25 +00:00
Scott Ehlert
bb92fc06a6 More consistency of some sort...
Oh god, what has possessed me to do this?

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40659
2007-03-22 21:50:20 +00:00
Borja Ferrer
6e78ac6302 fixed several memory leaks
fixed plugin listeners being removed before a OnPluginUnloaded Call_AskPluginLoad
removed some virtuality
all cached ptrs using the Stack system are freed now

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40647
2007-03-17 00:55:46 +00:00
Scott Ehlert
5fa53bfc68 Dear me, I should have committed this long ago...
1) Added natives to create and manipulate global and private forward
2) Added natives to call forwards and functions
3) Added an IChanageableForward::RemoveFunction overload for convenience or something
4) Added test suite plugins for functions and forwards
5) Some random touch-ups to some include files

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40627
2007-03-16 06:54:24 +00:00
David Anderson
d8c02c294f fixed linux build
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40602
2007-03-11 18:37:55 +00:00
David Anderson
38c94838b9 IPluginFunction implementation is re-entrant across native calls, as heap allocations are delayed until execution
removed ICallable::GetAddressOfPushedParam
removed phys_addr from ICallable::PushArray
fixed a bug where sp_context_t::n_idx was overwritten upon re-entrant calls

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40595
2007-03-10 21:02:40 +00:00
David Anderson
bda756f3ff fixed a really dumb bug - shouldn't compilers be checking this?
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40592
2007-03-10 05:52:51 +00:00
Scott Ehlert
949b83c99b Reverted change where flags param was removed on PushCellByRef and PushFloatByRef. Instead set the param to a default value of SM_PARAM_COPYBACK. (DS, how dare you!)
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40591
2007-03-07 18:37:41 +00:00
Scott Ehlert
dfed71eb28 Breakage alert :\
ThrowNativeErrorEx now returns 0 for convenience
PushCellByRef and PushFloatByRef no longer have a flags parameter because it was almost pointless

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40590
2007-03-07 18:24:09 +00:00
David Anderson
66b244011e added ThrowError() a la amxmodx's abort()
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40566
2007-03-02 19:10:44 +00:00
David Anderson
8553f12d59 Corrected an API design flaw with pausing. Contexts can now be flagged as paused, and IsRunnable() is moved from IBaseContext to IPluginFunction. While this allows for per-function pausing, it is not intended that way.
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40531
2007-02-22 02:05:50 +00:00
David Anderson
165b8ed893 fixed a serious potential bug with swapping plugins to debug mode, leaving stale function pointers without plugin removal
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40508
2007-02-16 04:16:31 +00:00
David Anderson
8db394c85d Added VFormat() native
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40417
2007-01-29 22:34:53 +00:00
Borja Ferrer
b489378b9c nearly finished my exams!!! :D
library table is no longer needed

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40387
2007-01-26 19:35:33 +00:00
David Anderson
676a6ea760 Filled out more license headers
Completed lots of missing documentation
Fixed /** on one-liners, must be /**<

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40377
2007-01-26 01:55:06 +00:00
David Anderson
e281a27c14 renamed relevant areas to SorucePawn
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40376
2007-01-25 22:39:12 +00:00
David Anderson
3e936bbd88 initial import of linux support
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40356
2007-01-25 09:19:38 +00:00
David Anderson
2129bb6d92 changed the API - funcid_t is now index only rather than a code address
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40353
2007-01-25 06:21:20 +00:00
David Anderson
aeb512c444 Non-public function addresses are no longer accepted
Added a new VM function for pcode addresses (unused right now)

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40349
2007-01-25 04:36:48 +00:00
David Anderson
c656a1343b fixed a bug in how functions were retrieved
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40344
2007-01-25 01:59:37 +00:00
David Anderson
cd735aec71 finished massive reorganization - IPluginFunction is now part of the VM, NOT the plugin system! This is how it should have been in the first place...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40332
2007-01-19 08:22:44 +00:00
David Anderson
c6b77c8cc1 This is now const
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40318
2007-01-18 20:56:41 +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
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
f072110a44 temporarily disabled binary search code
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40259
2007-01-01 21:18:35 +00:00