Commit Graph

323 Commits

Author SHA1 Message Date
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
8a7dfdbc11 Move the "sm" command to core/logic. 2015-09-20 14:33:17 -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
c36f80b93d Don't use server commands to flush plugin unloads. 2015-09-15 19:43:41 -07:00
David Anderson
d473b0441d Allow plugin info fields to outlive their runtime. 2015-09-15 19:07:22 -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
67c8ee4ce3 Move CDataPack from core to logic. 2015-09-06 11:02:52 -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
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
9d805ea9fb Replace the AddRootConsoleCommand API to not expose internal structures. 2015-08-30 21:01:03 -07:00
David Anderson
6503e92d66 Move LibrarySys from core to logic. 2015-08-30 20:11:22 -07:00
David Anderson
e78fe93e92 Move gnprintf/atcprintf from core to logic. 2015-08-30 19:32:46 -07:00
David Anderson
9d2bee261c Move TrimWhitespace from core to logic. 2015-08-30 18:42:25 -07:00
David Anderson
a158205f30 Remove strncopy from the core/logic bridge. 2015-08-30 18:21:07 -07:00