Commit Graph
1216 Commits
Author SHA1 Message Date
Peace-Maker df59fd5b0e Fix scheduled plugin unloading
When unloading a plugin no plugin is allowed to execute code. There's
been some flawed logic in the scheduling, leading it to bail out if the
plugin was marked for scheduled unloading..

Also change the "error" message of `sm plugins unload` to something
nice.
2016-02-29 16:40:24 +01:00
Peace-Maker 060f63e9db Fix printing dependent extension name
Typo which will print the name of the extension being unloaded instead
of the one which would be unloaded as well because of it.
2016-02-27 21:22:09 +01:00
Asher Baker 700ec92a9a Implement an auto-escaping Format native for SQL query construction 2016-02-15 15:05:16 +00:00
Asher Baker 272655f340 Changed AddString to be failable 2016-02-15 14:57:56 +00:00
Asher Baker 1ff13c59cf Move the guts of Format to a helper function 2016-02-15 12:49:22 +00:00
Asher Baker 936bdc47f0 Add argument index to format error messages 2016-02-15 10:20:08 +00:00
Asher Baker 9008705b9d Pass format flags down to AddString 2016-02-15 10:16:14 +00:00
Asher Baker 886c358e91 Renumber format flags for sanity 2016-02-15 10:09:48 +00:00
Nicholas Hastings 90ca9d7a47 Fix SourceTV bot detection on Source SDK 2013 mods and BM:S.
See bug 5529.
2016-01-25 18:52:58 -05:00
Peace-Maker edb820eae8 Add info message when loading custom gamedata
Print a message to console when there is a gamedata file loaded from the
|custom| folder.
2016-01-03 22:28:24 +01:00
Nicholas Hastings c5a81d7c6f Adjust for hl2sdk-bms updates. 2015-12-22 09:53:05 -05:00
Fyren 0e80ffef55 Merge pull request #448 from alliedmodders/use-blamepluginerror
Update SP and use BlamePluginError in sdkhooks and sdktools.
2015-11-18 18:33:10 -07:00
Asher Baker eb8996699e Merge pull request #443 from alliedmodders/fix-ext-dep-load
Fix crash on failing to load dependent extension.
2015-11-18 14:12:27 +00:00
Fyren fec2fa3bf0 Update SP and use BlamePluginError in sdkhooks. 2015-11-18 01:24:31 +00:00
Asher Baker 6ab0c35837 Pre-fill buffer for GetClientAuth* 2015-11-10 14:31:02 +00:00
Asher Baker b81b6cd1c6 Fix crash on failing to load dependent extension. 2015-11-09 14:56:42 +00: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
Ross Bemrose c8caf7c860 Update FindMap testsuite plugin.
Update GetMapDisplayNAme to use platform separator on CSGO
2015-11-06 02:38:59 -05:00
David Anderson 1f4be9798e Flush asynchronous queries before OnPluginEnd(). 2015-11-01 00:36:20 -07: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 cb3f6df111 Require that no plugin code be live when any plugin unloads. 2015-10-31 19:38:30 -07:00
David Anderson 59623695af Improve plugin console diagnostics. 2015-10-31 17:30:33 -07:00
David Anderson 87e9dee78b Evict plugins that fail to load. 2015-10-31 17:30:33 -07:00
David Anderson 62edc5f4c0 Clean up "sm plugins list" after status meaning clarifications. 2015-10-31 17:25:59 -07:00
David Anderson 485ade2610 Fix a number of inconsistencies in plugin state.
1. Fixed OnPluginUnloaded not pairing if the plugin failed.
2. Unify error message handling in the second pass.
3. Do not add libraries if a plugin failed during OnPluginStart.
2015-10-31 17:25:59 -07:00
David Anderson 9e4fff3362 Add a state variable to CPlugin to indicate queue/list membership. 2015-10-31 17:25:59 -07:00
David Anderson 7cc911ae58 Separate plugin unloading into an eviction step, which disconnects the plugin from Core.
Note: this also ensures that library action callbacks are balanced (i.e., we do not notify
libraries are being dropped if they were never notified as being added).
2015-10-31 17:25:59 -07:00
David Anderson 82ff7d5af7 Rename CPlugin::SetErrorState to EvictWithError. 2015-10-31 17:25:59 -07:00
David Anderson c4c6efb140 Remove a crazy unused function from CPluginManager. 2015-10-31 17:25:59 -07:00
David Anderson f078ea1f8a Remove the Illiad-length mostly-wrong comment at the top of PluginSys.h 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 709149fbed Remove the CPluginIterator cache. 2015-10-31 17:23:24 -07:00
David Anderson e57a076dc8 Remove CPluginManager's friend access to CPlugin. 2015-10-31 17:19:10 -07:00
David Anderson c21b3a36fc Remove CPluginManager direct use of CPlugin::NativeOwner::m_fakes. 2015-10-31 17:19:10 -07:00
David Anderson f765c8d436 Remove CPluginManager direct use of CPlugin::m_LibraryMissing. 2015-10-31 17:19:10 -07:00
David Anderson ae44a6540a Remove CPluginManager direct use of CPlugin::m_FakeNativesMissing. 2015-10-31 17:19:10 -07:00
David Anderson f27dbaf716 Remove CPluginManager direct use of CPlugin::m_RequiredLibs. 2015-10-31 17:19:10 -07:00
David Anderson 717ad38d06 Remove CPluginManager direct use of CPlugin::m_errormsg. 2015-10-31 17:19:10 -07:00
David Anderson 60f06d1414 Remove CPluginManager direct use of CPlugin::m_FileVersion. 2015-10-31 17:19:10 -07:00
David Anderson a579136a3d Remove CPluginManager direct use of CPlugin::m_DateTime. 2015-10-31 17:19:10 -07:00
David Anderson 2f3d523ac0 Remove CPluginManager use of CPlugin::m_pRuntime. 2015-10-31 17:19:10 -07:00
David Anderson df5c53fa4a Remove CPluginManager direct use of CPlugin::m_filename. 2015-10-31 17:19:10 -07:00
David Anderson 46c069dbbe Remove CPluginManager direct use of CPlugin::m_Libraries. 2015-10-31 17:19:09 -07:00
David Anderson bda9defc0f Remove CPlugin's friend access to CPluginManager. 2015-10-31 17:19:09 -07:00
Asher Baker fc504737c5 Fix a misleading error message from "sm config".
The Ignore state could be hit if the value was read directly rather than using OnSourceModConfigChanged.
2015-10-30 11:06:54 +00:00
David Anderson 6c5ab80418 Refactor and cleanup the AMBuildScript a bit. 2015-10-08 14:55:53 -07:00
David Anderson 88a47ff681 Switch to re-entrant lists in ForwardSys and CForward. 2015-09-21 01:07:34 -07:00
David Anderson c1396de2fc Replace SourceHook::List with ke::LinkedList in ForwardSys. 2015-09-21 01:07:25 -07:00