dvander@165: /** dvander@165: * :TODO: license info dvander@165: */ dvander@165: dvander@165: #if defined _sourcemod_included dvander@165: #endinput dvander@165: #endif dvander@165: #define _sourcemod_included dvander@165: dvander@170: struct Plugin dvander@170: { dvander@170: const String:name[], /* Plugin Name */ dvander@170: const String:description[], /* Plugin Description */ dvander@170: const String:author[], /* Plugin Author */ dvander@170: const String:version[], /* Plugin Version */ dvander@170: const String:url[], /* Plugin URL */ dvander@170: } dvander@170: dvander@165: /** dvander@170: * Declare this as a struct in your plugin to expose its information. dvander@170: * Example: dvander@170: * dvander@170: * public Plugin:myinfo = dvander@170: * { dvander@170: * name = "My Plugin", dvander@170: * //etc dvander@170: * }; dvander@165: */ dvander@170: public Plugin:myinfo; dvander@165: dvander@165: /** dvander@165: * Called when the plugin is fully initialized and all known external references are resolved, dvander@165: * such as dynamic natives. dvander@165: * dvander@165: * @noreturn dvander@165: */ dvander@165: forward OnPluginInit(); dvander@165: dvander@165: /** dvander@165: * Called before OnPluginInit, in case the plugin wants to check for load failure. dvander@165: * dvander@165: * @param myself Handle to the plugin. dvander@165: * @param late Whether or not the plugin was loaded "late" (after map load). dvander@165: * @param error Error message buffer in case load failed. dvander@165: * @param err_max Maximum number of characters for error message buffer. dvander@165: * @return True if load success, false otherwise. dvander@165: */ dvander@165: forward bool:OnPluginLoad(Handle:myself, bool:late, String:error[], err_max); dvander@165: dvander@165: /** dvander@170: * Called when the plugin is first mapped into memory. Use this to set dynamic natives ONLY. dvander@165: * dvander@165: * @noreturn dvander@165: */ dvander@172: forward OnCreatePlugin(); dvander@165: dvander@165: /** dvander@165: * Called when the plugin is about to be unloaded. dvander@165: * dvander@165: * @noreturn dvander@165: */ dvander@165: forward OnPluginUnload(); dvander@165: dvander@165: /** dvander@165: * Called when the plugin's pause status is changing. dvander@165: * dvander@165: * @noreturn dvander@165: */ dvander@165: forward OnPluginPauseChange(bool:pause);