Commit Graph
100 Commits
Author SHA1 Message Date
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
David Anderson d0dda098a2 Merge pull request #429 from powerlord/sqltxn-dbresultset
Allow SQLTxnSuccess to use DBResultSet[] in addition to Handle[]
2015-10-22 23:40:28 -07:00
David Anderson 195a836999 Merge pull request #427 from alliedmodders/refactor-amb
Refactor and cleanup the AMBuildScript a bit.
2015-10-17 18:58:05 -07: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 d0843ab997 Add a ReentrantList class to abstract list mutation during iteration. 2015-09-21 01:07:30 -07:00
David Anderson c1396de2fc Replace SourceHook::List with ke::LinkedList in ForwardSys. 2015-09-21 01:07:25 -07:00
David Anderson 0810c4b217 Fix style issues in ForwardSys, removing extra blocks and tightening variable scope.
This also fixes a bug where IsFunctionRegistered() did not check the paused plugins list.
2015-09-21 01:07:18 -07:00
David Anderson 632c7d05dd Remove the forward cache and simplify CForward construction. 2015-09-21 01:07:01 -07:00
David Anderson dcc192ee0d Use new header style. 2015-09-21 01:06:43 -07:00
David Anderson 9b1678bd18 Remove error outparams from first-pass internal plugin loading commands. 2015-09-21 00:51:20 -07:00
David Anderson 5f19fc036d Refactor AskPluginLoad() to contain its own error state. 2015-09-21 00:51:16 -07:00
David Anderson 5eec2e7d6d Remove error message outparam to LoadExtensions. 2015-09-21 00:51:11 -07:00
David Anderson 3195dec436 Split LoadOrRequireExtensions into two distinct functions. 2015-09-20 23:44:45 -07:00
David Anderson 15f4a05122 Factor the iterator out of LoadOrRequireExtensions. 2015-09-20 23:44:41 -07:00
David Anderson e559e6ffa8 Simplify pass 2 of LoadOrRequireExtensions. 2015-09-20 23:44:37 -07:00
David Anderson 23290b35a7 Clean up LoadOrRequireExtensions and properly scope variables. 2015-09-20 23:44:34 -07:00
David Anderson 2b3da56fb5 Dedent a huge block of code. 2015-09-20 23:44:30 -07:00
David Anderson 370710c0ff Fix build. 2015-09-20 21:39:12 -07:00
David Anderson 4fc7eb8a6b Remove trailing whitespace. 2015-09-20 20:58:03 -07:00
David Anderson 38c01714d7 Clean up AskPluginLoad logic. 2015-09-20 20:57:59 -07:00
David Anderson 0e1a34a4d7 Hide CPlugin timestamp management details. 2015-09-20 20:57:55 -07:00
David Anderson d5d7e8c9cf Factor guts of _LoadPlugin into a separate function. 2015-09-20 20:57:51 -07:00
David Anderson 76d681761d Factor malware checks into its own pass. 2015-09-20 20:57:47 -07:00
David Anderson 3807edbeb8 Move CPlugin compilation into its own function. 2015-09-20 20:57:43 -07:00
David Anderson d9216cc599 Remove references to non-mapupdated plugins. 2015-09-20 20:31:30 -07:00
David Anderson d551338510 Merge pull request #400 from alliedmodders/mv-srvcmds-x
Remove sm_srvcmds.cpp.
2015-09-20 15:15:43 -07:00
David Anderson 8a7dfdbc11 Move the "sm" command to core/logic. 2015-09-20 14:33:17 -07:00
David Anderson 1a7b708df8 Split command buffer peeking hacks out of the "sm" command. 2015-09-20 14:33:14 -07:00
David Anderson 168b779786 Move sm_dump_handles to core/logic. 2015-09-20 14:33:10 -07:00
David Anderson c853050265 Move sm_reload_translations to Translator. 2015-09-20 14:33:06 -07:00
David Anderson c614d19af0 Move sm_dump_admcache to AdminCache. 2015-09-20 14:33:02 -07:00
David Anderson 8b4f27a038 Add infrastructure to let logic define ConCommands. 2015-09-20 14:32:58 -07:00
David Anderson c66d14605a Merge pull request #397 from alliedmodders/rm-old-mms
Remove code that handles long-dead Metamod:Source versions.
2015-09-18 14:38:52 -07:00
David Anderson 2a6b37dc81 Merge pull request #410 from alliedmodders/fix-static
Fix temporary parameter list being static.
2015-09-16 10:01:39 -07:00
David Anderson 485975fd99 Fix temporary parameter list being static. 2015-09-16 00:27:36 -07:00
David Anderson c36f80b93d Don't use server commands to flush plugin unloads. 2015-09-15 19:43:41 -07:00
David Anderson 08cadcdda6 Merge pull request #372 from alliedmodders/rm-pausing
Cleanup some PluginSys idiosyncracies.
2015-09-15 19:15:26 -07:00
David Anderson d473b0441d Allow plugin info fields to outlive their runtime. 2015-09-15 19:07:22 -07:00
David Anderson 653dd36020 Merge pull request #378 from powerlord/fix-convar
Fix ConVar .IntValue, .BoolValue, and .FloatValue assignments (Bug 6405)
2015-09-15 12:33:51 -07:00
David Anderson 2adae27557 Clean up CPlugin member variables. 2015-09-14 12:55:42 -07:00
David Anderson 3430962cbe Simplify required libs handling and make sure they create dependency links. 2015-09-14 12:53:23 -07:00
David Anderson 0aaa659e29 Fix how the mark-serial is used.
The mark-serial is a generation number to optimize dependency tracking. It did not actually get
applied correctly, meaning that in rare cases we could miss dependencies. This patch removes the
incorrect serial propagation and ensures that we don't double-count a dependent plugin.

Additionally, this patch ensures that all callers of BindNativeToPlugin() will update the mark
serial, as is required to correctly track dependencies.
2015-09-14 12:50:50 -07:00
David Anderson 9ef8cc7064 Separate the top of UnloadPlugin into a precursor function. 2015-09-14 12:50:39 -07:00
David Anderson fc947c68f7 Merge pull request #404 from alliedmodders/fix-crash
Fix a regression from the ConCmdManager refactoring that causes a crash using SourceMod commands in the server console.
2015-09-12 22:53:09 -07:00
David Anderson bcd80d3e84 Fix a regression from the ConCmdManager refactoring that causes a crash using SourceMod commands in the server console. 2015-09-12 00:26:47 -07:00
David Anderson fe16e8e47c Move the SetCommandClient hook into GameHooks. 2015-09-09 20:03:23 -07:00
David Anderson fd961f4712 Remove code to handle SourceHook versions 3 and lower. 2015-09-09 19:00:18 -07:00
David Anderson b548ba7b58 Remove bad-console-read protection logic for Metamod:Source 1.7 and earlier. 2015-09-09 18:59:31 -07:00
David Anderson df672dd8ce Remove the ability to compile against Metamod:Source versions lower than 1.8. 2015-09-09 18:54:43 -07:00
David Anderson c54b54ded0 Use GameHooks for ChatTriggers. 2015-09-09 18:51:21 -07:00
David Anderson 5757b729ac Hide MRES_SUPERCEDE from command hook callbacks. 2015-09-09 18:45:20 -07:00
David Anderson b048dc7b10 Move ConCommand hooks into GameHooks and switch callbacks to ICommandArgs. 2015-09-09 18:40:04 -07:00
David Anderson b63bfdc72a Rename QueryHookMode to ClientCvarQueryMode. 2015-09-09 18:40:01 -07:00
David Anderson fa93426f6a Remove blanket includes from sm_stringutil. 2015-09-09 15:18:24 -07:00
David Anderson 86f0a77e73 Reduce dependence on sm_strdup. 2015-09-09 15:18:24 -07:00
David Anderson 13a783d441 Remove UTIL_Format() and UTIL_FormatArgs(). 2015-09-09 15:18:17 -07:00
David Anderson e08697ad54 Remove strncopy(). 2015-09-09 14:57:47 -07:00
David Anderson 67ba703b84 Merge pull request #392 from alliedmodders/mv-datapack
Move CDataPack from core to logic.
2015-09-09 14:41:49 -07:00
David Anderson 67c8ee4ce3 Move CDataPack from core to logic. 2015-09-06 11:02:52 -07:00
David Anderson 69984f472f Remove unused, NPOTB CrazyDebugger. 2015-09-05 20:44:00 -07:00
David Anderson 4e275eea97 Split intercom.h into separate headers and reduce shared header inclusion. 2015-08-31 10:00:49 -07:00
David Anderson 4f1705e001 Rename some bridge interfaces. 2015-08-31 09:57:32 -07:00
David Anderson 5d55ff23bd Move OnQueryCvarValueFinished into the global hook manager. 2015-08-31 09:22:08 -07:00
David Anderson 2ed044804d Move OnConVarChanged into a global hook. 2015-08-31 09:18:29 -07:00
David Anderson 32ba03538b Move CCommandArgs into its own header. 2015-08-31 00:07:37 -07:00
David Anderson 23feee0e00 Put the game provider in its own header. 2015-08-31 00:07:34 -07:00
David Anderson 401aa038f8 Start a new bridge mechanism for global callbacks. 2015-08-31 00:07:27 -07:00
David Anderson 38e1c2f1f3 Clean up the core side of the logic bridge. 2015-08-30 23:30:15 -07:00
David Anderson 9e4d396d5e Virtualize MMS functions in the core/logic bridge. 2015-08-30 23:29:46 -07:00
David Anderson 5c5d43137d Virtualize game state functions in the core/logic bridge. 2015-08-30 23:29:23 -07:00
David Anderson bdfdab1d3a Virtualize game description functions in the core/logic bridge. 2015-08-30 23:28:59 -07:00
David Anderson 9366882ac4 Virtualize ConVar bridge functions. 2015-08-30 23:28:44 -07:00
David Anderson 0f9e5234fe Convert core_bridge to a proper class declaration. 2015-08-30 23:28:28 -07:00
David Anderson 3d5c9f0e21 Rename smcore to bridge, and use it as a pointer. 2015-08-30 23:27:53 -07:00
David Anderson a2dac43833 Remove CCommand from the logic bridge. 2015-08-30 21:02:14 -07:00
David Anderson 28346c99f2 Move RootConsoleMenu into core/logic. 2015-08-30 21:01:46 -07:00
David Anderson 23d55dd9d5 Move RootConsoleMenu::ConsolePrint into the logic bridge. 2015-08-30 21:01:27 -07:00
David Anderson 2c886943a0 Move RootConsoleMenu into its own header and .cpp file. 2015-08-30 21:01:10 -07:00
David Anderson 9d805ea9fb Replace the AddRootConsoleCommand API to not expose internal structures. 2015-08-30 21:01:03 -07:00
David Anderson e992c33f35 Factor irrelevant stuff out of RootConsoleMenu. 2015-08-30 21:00:42 -07:00
David Anderson ecbcc7ba16 Move the sourcemod_version convar. 2015-08-30 21:00:39 -07:00
David Anderson 6503e92d66 Move LibrarySys from core to logic. 2015-08-30 20:11:22 -07:00
David Anderson 207f643d3a Replace g_LibSys usage with AMTL primitives. 2015-08-30 20:11:02 -07:00
David Anderson ec01ca72a0 Replace internal ILibrary use with ke::SharedLib. 2015-08-30 20:10:59 -07:00
David Anderson 5ecd906905 Replace CLibrary with a wrapper around ke::SharedLib. 2015-08-30 20:10:57 -07:00