sourcemod/plugins/include/sourcemod.inc
David Anderson 8792f0b4f0 new plugin API, sample plugin is now a fail load plugin
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40217
2006-12-15 13:45:21 +00:00

70 lines
2.0 KiB
SourcePawn

/**
* :TODO: license info
*/
#if defined _sourcemod_included
#endinput
#endif
#define _sourcemod_included
struct Plugin
{
const String:name[], /* Plugin Name */
const String:description[], /* Plugin Description */
const String:author[], /* Plugin Author */
const String:version[], /* Plugin Version */
const String:url[], /* Plugin URL */
}
/**
* Declare this as a struct in your plugin to expose its information.
* Example:
*
* public Plugin:myinfo =
* {
* name = "My Plugin",
* //etc
* };
*/
public Plugin:myinfo;
/**
* Called when the plugin is fully initialized and all known external references are resolved.
* This is called even if the plugin type is "private."
* NOTE: Errors in this function will cause the plugin to stop running.
*
* @noreturn
*/
forward OnPluginInit(Handle:myself);
/**
* Called before OnPluginInit, in case the plugin wants to check for load failure.
* This is called even if the plugin type is "private." Any natives from modules are
* not available at this point. Thus, this forward should only be used for explicit
* pre-emptive things, such as adding dynamic natives, or setting certain types of load filters.
*
* NOTE: It is not safe to call externally resolved natives until OnPluginInit().
* NOTE: Any sort of RTE in this function will cause the plugin to fail loading.
*
* @param myself Handle to the plugin.
* @param late Whether or not the plugin was loaded "late" (after map load).
* @param error Error message buffer in case load failed.
* @param err_max Maximum number of characters for error message buffer.
* @return True if load success, false otherwise.
*/
forward bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max);
/**
* Called when the plugin is about to be unloaded.
*
* @noreturn
*/
forward OnPluginUnload();
/**
* Called when the plugin's pause status is changing.
*
* @noreturn
*/
forward OnPluginPauseChange(bool:pause);