|
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@170
|
55 |
forward OnPluginRequirements(); |
|
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); |