plugins/include/sourcemod.inc
author David Anderson <dvander@alliedmods.net>
Thu Dec 07 19:10:26 2006 +0000 (2006-12-07)
changeset 195 625a44869e15
parent 172 d8a8186eccbf
child 212 d473435366b3
permissions -rw-r--r--
added a few debug checks and a fix for deallocation
dvander@165
     1
/**
dvander@165
     2
 * :TODO: license info
dvander@165
     3
 */
dvander@165
     4
dvander@165
     5
#if defined _sourcemod_included
dvander@165
     6
 #endinput
dvander@165
     7
#endif
dvander@165
     8
#define _sourcemod_included
dvander@165
     9
dvander@170
    10
struct Plugin
dvander@170
    11
{
dvander@170
    12
   const String:name[],			/* Plugin Name */
dvander@170
    13
   const String:description[],		/* Plugin Description */
dvander@170
    14
   const String:author[],		/* Plugin Author */
dvander@170
    15
   const String:version[],		/* Plugin Version */
dvander@170
    16
   const String:url[],			/* Plugin URL */
dvander@170
    17
}
dvander@170
    18
dvander@165
    19
/**
dvander@170
    20
 * Declare this as a struct in your plugin to expose its information.
dvander@170
    21
 * Example:
dvander@170
    22
 *
dvander@170
    23
 * public Plugin:myinfo =
dvander@170
    24
 * {
dvander@170
    25
 *    name = "My Plugin",
dvander@170
    26
 *    //etc
dvander@170
    27
 * };
dvander@165
    28
 */
dvander@170
    29
public Plugin:myinfo;
dvander@165
    30
 
dvander@165
    31
/**
dvander@165
    32
 * Called when the plugin is fully initialized and all known external references are resolved,
dvander@165
    33
 * such as dynamic natives.
dvander@165
    34
 *
dvander@165
    35
 * @noreturn
dvander@165
    36
 */
dvander@165
    37
forward OnPluginInit();
dvander@165
    38
 
dvander@165
    39
/**
dvander@165
    40
 * Called before OnPluginInit, in case the plugin wants to check for load failure.
dvander@165
    41
 *
dvander@165
    42
 * @param myself	Handle to the plugin.
dvander@165
    43
 * @param late		Whether or not the plugin was loaded "late" (after map load).
dvander@165
    44
 * @param error		Error message buffer in case load failed.
dvander@165
    45
 * @param err_max	Maximum number of characters for error message buffer.
dvander@165
    46
 * @return		True if load success, false otherwise.
dvander@165
    47
 */
dvander@165
    48
forward bool:OnPluginLoad(Handle:myself, bool:late, String:error[], err_max);
dvander@165
    49
dvander@165
    50
/**
dvander@170
    51
 * Called when the plugin is first mapped into memory.  Use this to set dynamic natives ONLY.
dvander@165
    52
 *
dvander@165
    53
 * @noreturn
dvander@165
    54
 */
dvander@172
    55
forward OnCreatePlugin();
dvander@165
    56
dvander@165
    57
/**
dvander@165
    58
 * Called when the plugin is about to be unloaded.
dvander@165
    59
 *
dvander@165
    60
 * @noreturn
dvander@165
    61
 */
dvander@165
    62
forward OnPluginUnload();
dvander@165
    63
dvander@165
    64
/**
dvander@165
    65
 * Called when the plugin's pause status is changing.
dvander@165
    66
 *
dvander@165
    67
 * @noreturn
dvander@165
    68
 */
dvander@165
    69
forward OnPluginPauseChange(bool:pause);