12#ifndef SCRIPTS_INCLUDE__ENGINE_TTDEF_H
13#define SCRIPTS_INCLUDE__ENGINE_TTDEF_H
16class BaseControllerClass;
18class AmmoDefinitionClass;
35 PurchaseStatus_AllowNoSpawn = -3,
36 PurchaseStatus_AllowFree = -2,
37 PurchaseStatus_Allow = -1,
38 PurchaseStatus_Granted,
39 PurchaseStatus_Pending,
40 PurchaseStatus_InsufficientFunds,
41 PurchaseStatus_FactoryUnavailable,
42 PurchaseStatus_OutOfStock,
46 MESSAGE_TYPE_DIALOG_SHOW,
47 MESSAGE_TYPE_DIALOG_CLOSE,
48 MESSAGE_TYPE_DIALOG_ESCAPE,
49 MESSAGE_TYPE_CONTROL_MOUSE_CLICK,
50 MESSAGE_TYPE_CONTROL_VALUE_CHANGE,
51 MESSAGE_TYPE_CONTROL_VALUE_CONFIRM,
52 MESSAGE_TYPE_CONTROL_FOCUSED
54typedef bool (*ChatHook) (
int PlayerID,TextMessageEnum Type,
const wchar_t *Message,
int recieverID);
55typedef bool (*HostHook) (
int PlayerID,TextMessageEnum Type,
const char *Message);
56typedef void (*ObjectCreateHook) (
void *data,GameObject *obj);
57typedef void (*PlayerJoin) (
int PlayerID,
const char *PlayerName);
58typedef void (*PlayerLeave) (
int PlayerID);
59typedef void (*LoadLevelHook) ();
60typedef void (*ConsoleOutputHook) (
const char *output);
61typedef PurchaseStatus (*PurchaseHook) (BaseControllerClass *base,GameObject *purchaser,
unsigned int cost,
unsigned int preset,
const char *data);
62typedef void (*PurchaseMonHook) (BaseControllerClass *base,GameObject *purchaser,
unsigned int cost,
unsigned int preset,
unsigned int purchaseret,
const char *data);
63typedef bool (*RefillHook) (GameObject *purchaser);
64typedef bool (*RadioHook) (
int PlayerType,
int PlayerID,
int AnnouncementID,
int IconID, AnnouncementEnum AnnouncementType);
65typedef bool (*StockDamageHook) (PhysicalGameObj* damager, PhysicalGameObj* target,
float damage, uint warheadId);
66typedef bool (*TtDamageHook) (PhysicalGameObj* damager, PhysicalGameObj* target,
const AmmoDefinitionClass* ammo,
const char* bone);
67typedef void (*DialogHook) (
int PlayerID,
int DialogID,
int ControlID, DialogMessageType MessageType);
69struct ObjectCreateHookStruct {
70 ObjectCreateHook hook;
74typedef void (*KeyHook) (
void *data);
82typedef void (*ShaderNotify) (
void *data,
int notify);
83struct ShaderNotifyStruct {
95enum PathfindDistanceResult
97 PATHFIND_DISTANCE_INVALID_RESULT = -1,
98 PATHFIND_DISTANCE_RESULT_OK = 0,
99 PATHFIND_DISTANCE_RESULT_CANCELED,
100 PATHFIND_DISTANCE_RESULT_INVALID_START_POS,
101 PATHFIND_DISTANCE_RESULT_INVALID_DEST_POS,
102 PATHFIND_DISTANCE_RESULT_NO_PATH,
103 PATHFIND_DISTANCE_RESULT_COUNT
106struct PathfindDistanceRequest;
108typedef void(*PathfindDistanceCallback)(
const PathfindDistanceRequest &result);
110struct PathfindDistanceRequest
112 PathfindDistanceRequest() :
113 Id(0), Start(), Dest(), PathSolver(nullptr), Result(PATHFIND_DISTANCE_INVALID_RESULT), Distance(0.0f), Callback(nullptr), Data(nullptr)
118 PathfindDistanceRequest(uint32
id,
const Vector3 &start,
const Vector3 &dest, PathSolveClass* solver, PathfindDistanceCallback callback,
void *data) :
119 Id(id), Start(start), Dest(dest), PathSolver(solver), Result(PATHFIND_DISTANCE_INVALID_RESULT), Distance(0.0f), Callback(callback), Data(data)
124 bool operator==(
const PathfindDistanceRequest &other)
const
129 bool operator!=(
const PathfindDistanceRequest &other)
const
142 PathSolveClass *PathSolver;
143 PathfindDistanceResult Result;
145 PathfindDistanceCallback Callback;