12#ifndef TT_INCLUDE_GMPLUGIN_H
13#define TT_INCLUDE_GMPLUGIN_H
16#define INTERFACE_VERSION 4.8f
22 EVENT_OBJECT_CREATE_HOOK,
23 EVENT_LOAD_LEVEL_HOOK,
25 EVENT_PLAYER_JOIN_HOOK,
26 EVENT_PLAYER_LEAVE_HOOK,
28 EVENT_POWERUP_PURCHASE_HOOK,
29 EVENT_VEHICLE_PURCHASE_HOOK,
30 EVENT_CHARACTER_PURCHASE_HOOK,
33 EVENT_STOCK_DAMAGE_HOOK,
35 EVENT_PRE_LOAD_LEVEL_HOOK,
43 virtual float Get_Version() {
return INTERFACE_VERSION;}
44 virtual void OnLoadGlobalINISettings(INIClass *SSGMIni) {};
45 virtual void OnFreeData() {};
46 virtual void OnLoadMapINISettings(INIClass *SSGMIni) {};
47 virtual void OnFreeMapData() {};
48 virtual bool OnChat(
int PlayerID,TextMessageEnum Type,
const wchar_t *Message,
int recieverID) {
return true;};
49 virtual void OnObjectCreate(
void *data,GameObject *obj) {};
50 virtual void OnLoadLevel() {};
51 virtual void OnGameOver() {};
52 virtual void OnPlayerJoin(
int PlayerID,
const char *PlayerName) {};
53 virtual void OnPlayerLeave(
int PlayerID) {};
54 virtual bool OnRefill(GameObject *purchaser) {
return true;};
55 virtual PurchaseStatus OnPowerupPurchase(BaseControllerClass *base,GameObject *purchaser,
unsigned int cost,
unsigned int preset,
const char *data) {
return PurchaseStatus_Allow;};
56 virtual PurchaseStatus OnVehiclePurchase(BaseControllerClass *base,GameObject *purchaser,
unsigned int cost,
unsigned int preset,
const char *data) {
return PurchaseStatus_Allow;};
57 virtual PurchaseStatus OnCharacterPurchase(BaseControllerClass *base,GameObject *purchaser,
unsigned int cost,
unsigned int preset,
const char *data) {
return PurchaseStatus_Allow;};
58 virtual void OnThink() {};
59 virtual bool OnRadioCommand(
int PlayerType,
int PlayerID,
int AnnouncementID,
int IconID, AnnouncementEnum AnnouncementType) {
return true;}
60 virtual bool OnStockDamage(PhysicalGameObj* damager, PhysicalGameObj* target,
float damage, uint warheadId) {
return true; }
61 virtual bool OnTtDamage(PhysicalGameObj* damager, PhysicalGameObj* target,
const AmmoDefinitionClass* ammo,
const char* bone) {
return true; }
62 virtual void OnPreLoadLevel() {};
63 virtual void OnDialog(
int PlayerID,
int DialogID,
int ControlID, DialogMessageType MessageType) {};
66typedef Plugin *(*Plugin_Init_Type) ();
67typedef void (*Plugin_Shutdown_Type) ();