Tiberian Technologies Scripts Reference Revision: 9000
Loading...
Searching...
No Matches
engine_tt.h
1/* Renegade Scripts.dll
2 Copyright 2013 Tiberian Technologies
3
4 This file is part of the Renegade scripts.dll
5 The Renegade scripts.dll is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 2, or (at your option) any later
8 version. See the file COPYING for more details.
9 In addition, an exemption is given to allow Run Time Dynamic Linking of this code with any closed source module that does not contain code covered by this licence.
10 Only the source code to the module(s) containing the licenced code has to be released.
11*/
12#pragma once
13
14#include "scripts.h"
15#include "engine_ttdef.h"
16#include "Vector2.h"
17#include "Vector4.h"
18#include "GameDefinition.h"
19#include "HashTemplateClass.h"
20#include "SList.h"
21#include "cPlayer.h"
22#include "HUDSurfaceClass.h"
23#include "ScriptedDialogClass.h"
24class ConnectionAcceptanceFilter;
25class WideStringClass;
26class cScTextObj;
27class SCAnnouncement;
28class cPlayerKill;
29class cPurchaseResponseEvent;
30//start per-player script commands stuff
31typedef void (*_Enable_Stealth_Player) (GameObject *obj,GameObject *obj2,bool enable);
32typedef void (*_Set_Fog_Enable_Player) (GameObject *obj,bool enable);
33typedef void (*_Set_Fog_Range_Player) (GameObject *obj,float Start_Distance,float End_Distance,float transition);
34typedef void (*_Set_Background_Music_Player) (GameObject *obj,const char *music);
35typedef void (*_Fade_Background_Music_Player) (GameObject *obj,const char *music,int unk1,int unk2);
36typedef void (*_Stop_Background_Music_Player) (GameObject *obj);
37typedef void (*_Enable_Radar_Player) (GameObject *obj,bool enable);
38typedef void (*_Display_GDI_Player_Terminal_Player) (GameObject *obj);
39typedef void (*_Display_NOD_Player_Terminal_Player) (GameObject *obj);
40typedef void (*_Set_Screen_Fade_Color_Player) (GameObject *obj,float red,float green,float blue,float transition);
41typedef void (*_Set_Screen_Fade_Opacity_Player) (GameObject *obj,float opacity,float transition);
42typedef void (*_Force_Camera_Look_Player) (GameObject *obj,const Vector3 & look);
43typedef void (*_Enable_HUD_Player) (GameObject *obj,bool enable);
44typedef int (*_Create_Sound_Player) (GameObject *obj,const char *soundname,const Vector3 & position,GameObject *obj2);
45typedef int (*_Create_2D_Sound_Player) (GameObject *obj,const char *soundname);
46typedef int (*_Create_2D_WAV_Sound_Player) (GameObject *obj,const char *soundname);
47typedef int (*_Create_3D_WAV_Sound_At_Bone_Player) (GameObject *obj,const char *soundname,GameObject *obj2,const char *bonename);
48typedef int (*_Create_3D_Sound_At_Bone_Player) (GameObject *obj,const char *soundname,GameObject *obj2,const char *bonename);
49typedef int (*aoch) (ObjectCreateHookStruct *h);
50typedef void (*roch) (int pos);
51typedef int (*akh) (KeyHookStruct *h);
52typedef void (*rkh) (int pos);
53typedef void (*ss) (GameObject *obj,int scope);
54typedef void (*ss2) (GameObject *obj,ScriptClass *script,int number);
55typedef bool (*htm) (GameObject *obj,ScriptClass *script,int number);
56typedef void (*ach) (ChatHook h);
57typedef void (*ahh) (HostHook h);
58typedef void (*arh) (RefillHook h);
59typedef void (*allh) (LoadLevelHook h);
60typedef int (*aph) (PurchaseHook h,const char *data);
61typedef int (*apmh) (PurchaseMonHook h,const char *data);
62typedef void (*rph) (int pos);
63typedef void (*apjh) (PlayerJoin h);
64typedef void (*aplh) (PlayerLeave h);
65typedef void (*arch) (RadioHook h);
66typedef void (*asdh) (StockDamageHook h);
67typedef void (*atdh) (TtDamageHook h);
68typedef const char *(*gcmt) ();
69typedef void (*sit) (GameObject *obj,const char *texture);
70typedef void (*cit) (GameObject *obj);
71typedef void (*svl) (unsigned int limit);
72typedef unsigned long (*gvl) ();
73typedef void (*sm) (unsigned int red,unsigned int green,unsigned int blue, const char *msg);
74typedef void (*smp) (GameObject *obj,unsigned int red,unsigned int green,unsigned int blue, const char *msg);
75typedef void (*sw) (int mode);
76typedef void (*lnhi) (GameObject *obj,const char *ini);
77typedef void (*rw) (GameObject *obj,const char *weapon);
78typedef void (*crm) (float scale,float offsetx,float offsety,const char *texture);
79typedef float (*gbm) (int team);
80typedef void (*scb) (bool building,int team);
81typedef bool (*icb) (int team);
82typedef void (*acoh) (ConsoleOutputHook h);
83typedef void (*sfc) (unsigned int red, unsigned int green, unsigned int blue);
84typedef void (*sfcp) (GameObject *obj,unsigned int red, unsigned int green, unsigned int blue);
85typedef void (*sfm) (unsigned int mode);
86typedef void (*sfmp) (GameObject *obj,unsigned int mode);
87typedef void (*sfd) (float density);
88typedef void (*sfdp) (GameObject *obj,float density);
89typedef void (*ctr) (float time);
90typedef void (*ctl) (int time);
91typedef void (*dps) (GameObject *obj);
92typedef void (*shn) (GameObject *obj,unsigned int number);
93typedef GameObject *(*geo) ();
94typedef void (*seo) (GameObject *obj);
95typedef int (*asn) (ShaderNotifyStruct *s);
96typedef int (*rsn) (int pos);
97typedef void (*dod) (GameObject *obj,const char *file);
98typedef void (*sl) (unsigned int limit);
99typedef unsigned int (*gl) ();
100typedef void (*_Get_Fog_Range) (float &Start_Distance,float &End_Distance);
101typedef void (*ssp) (const char* parameter,const char *value);
102typedef void (*sspp) (GameObject* player,const char* parameter,const char* value);
103typedef void (*sspo) (const char* parameter,const char* value,GameObject* obj);
104typedef void (*sspop) (GameObject* player,const char* parameter,const char* value,GameObject* obj);
105typedef void (*ssn) (const char *name);
106typedef const char *(*gsnx) ();
107typedef void (*addConnectionAcceptanceFilterType)(ConnectionAcceptanceFilter* connectionAcceptanceFilters);
108typedef bool (*removeConnectionAcceptanceFilterType)(ConnectionAcceptanceFilter* connectionAcceptanceFilters);
109typedef const char *(*Get_IP_Addressx) (int PlayerID);
110typedef const char *(*Get_IP_Portx) (int PlayerID);
111typedef const sockaddr_in *(*Get_IPx) (int PlayerID);
112typedef int (*Get_Bandwidthx) (int PlayerID);
113typedef int (*Get_Pingx) (int PlayerID);
114typedef unsigned long (*Get_Kbitsx) (int PlayerID);
115typedef void (*sfop) (GameObject *obj,float start, float end);
116typedef void (*cfop) (GameObject *obj);
117typedef void (*dgh) (GameObject *obj,int EventID,const char *Sound,int TitleID,int TextID,int TextID2,int TextID3);
118typedef void (*dghi) (GameObject *obj,int EventID,const char *Sound,int TitleID,int TextID,int TextID2,int TextID3,const char *TextureName);
119typedef void (*sclb) (GameObject *obj,int bullets);
120typedef void (*spb) (GameObject *obj,int position,int bullets);
121typedef void (*sb) (GameObject *obj,const char *weapon,int bullets);
122typedef void (*smie) (bool earth);
123typedef int (*gml) ();
124typedef void (*sbd) ();
125typedef float (*gpv) (int playerId);
126typedef uint (*gpr) (int playerId);
127typedef unsigned int (*gdw) ();
128typedef bool (*gdie) ();
129typedef void (*naee) (GameObject * obj, const ActionParamsStruct & params);
130typedef GameObject *(*ggobpn) (const char *name);
131typedef void (*scap) (int type,GameObject *sender,int team);
132typedef float (*stc) (float percentage, int team);
133typedef float (*gtc) (int team);
134typedef void (*ec) (int clientId, const WideStringClass& reason);
135typedef const char * (*gcsh) (int clientId);
136typedef int (*gcmi) ();
137typedef const char * (*gm) (int index);
138typedef const int (*gmc) ();
139typedef bool (*smx) (const char *map,int index);
140typedef void (*ggd) (HashTemplateClass<StringClass, GameDefinition> &definitions);
141typedef SList<cPlayer> *(*gpl) ();
142typedef void (*uno) (NetworkObjectClass *obj);
143typedef void (*unop) (NetworkObjectClass *Object,int ID);
144typedef cScTextObj *(*sct) (const WideStringClass& message, TextMessageEnum type, bool popup, int senderId, int receiverId, bool dodirtybit, bool doact);
145typedef SCAnnouncement *(*sca) (int _receiptientId, int _senderId, int _translationId, AnnouncementEnum _type, int _emoticonId, bool dodirtybit, bool doact);
146typedef cPlayerKill *(*spkm) (int Killer, int Victim);
147typedef cPurchaseResponseEvent *(*spr) (int ID, int Type);
148typedef bool (*iwu) (wchar_t *WideName);
149typedef void (*cee) (const char *Explosion, Vector3 &Pos, GameObject *Creator);
150typedef void (*rwpa) (DynamicVectorClass<int> &WaypathIDs);
151typedef void (*rwpo) (int WaypathID, DynamicVectorClass<int> &WaypointIDs);
152typedef void (*gwp) (int WaypathID, int WaypointID, Vector3 &Pos);
153typedef bool (*trc) (const Vector3 &pos1, const Vector3 &pos2, const bool checkDynamicObjects, Vector3 *contactPoint, GameObject *compareObj);
154typedef bool (*iib) (const AABoxClass &box, const Vector3 &pos);
155typedef bool (*cgst) (Vector3 position);
156typedef void (*cl) (const AmmoDefinitionClass *ammodef,Vector3 &start,Vector3 &end);
157typedef void (*gc) (float &cloudcover, float &gloominess);
158typedef void (*gli) (float &intensity, float &startdistance, float &enddistance, float &heading, float &distribution);
159typedef void (*gw) (float &heading, float &speed, float &variability);
160typedef void (*gp) (float &density);
161typedef void (*ugo) (int ID);
162typedef double (*gttv) ();
163typedef uint (*gttr) ();
164typedef void (*htp) (GameObject *obj, int string, Vector3 color);
165typedef void (*csp) (GameObject *obj,int id,const char *string);
166typedef void (*fpu) (GameObject *obj);
167typedef bool (*grps) (const Vector3 &center, float range, Vector3 *returnPosition);
168typedef void (*htpt) (GameObject *obj, int replaceStringId,const char *replaceText, Vector3 color);
169typedef void (*grw) (GameObject *object,const char *GrantWeaponName,bool GrantWeapon, int GrantWeaponRounds, bool GrantWeaponClips);
170typedef void (*sovfp) (GameObject *player,int objectId,bool visible);
171typedef void (*sov) (int objectId,bool visible);
172typedef void (*lscg) (GameObject *obj,Collision_Group_Type collisionGroupType);
173typedef void (*ulscg) (GameObject *obj);
174typedef int (*cwsdp) (GameObject *obj,const char *soundname);
175typedef void (*fpup) (GameObject *player,GameObject *obj);
176typedef bool (*iea) (GameObject *obj);
177typedef void (*sbgmo) (GameObject *obj,const char *music,float startoffset);
178typedef void (*setcam) (GameObject *obj,const char *camera);
179typedef void (*settran) (GameObject *obj,int defid,int stringid);
180typedef void (*setnur) (GameObject *obj,int rate);
181typedef void (*fou) (GameObject *obj);
182typedef void (*foup) (GameObject *player,GameObject *obj);
183typedef int (*cwscp) (GameObject *obj,const char *soundname);
184typedef void (*ftu) (GameObject *obj);
185typedef void (*ftup) (GameObject *player,GameObject *obj);
186typedef void (*fvu) (GameObject *obj);
187typedef void (*fvup) (GameObject *player,GameObject *obj);
188typedef void (*schn) (GameObject *obj);
189typedef uint32(*gpd) (const Vector3& start, const Vector3& dest, PathfindDistanceCallback callback, SmartGameObj* pathObj, void* data);
190typedef uint32 (*gpda) (SmartGameObj* pathObj, const Vector3 &dest, PathfindDistanceCallback callback, void *data);
191typedef bool(*gpdb) (SmartGameObj* pathObj, const Vector3& dest, float& distanceResult, PathfindDistanceResult& pathfindResult);
192typedef bool (*cgpd) (uint32 id);
193typedef void (*gmsl) (sint32 team, SoldierGameObj* soldier, Matrix3D &location);
194typedef void (*esbn) (const char *name, bool enable);
195typedef bool (*ipg) ();
196typedef bool (*gcps) (const Vector3 &center, float maxDistance, Vector3 *returnPosition);
197typedef bool (*gcpss) (const Vector3 &center, float maxDistance, Vector3 *returnPosition, float minSectorSize);
198typedef int (*grcs) (int index);
199typedef int (*sei) (SoldierGameObj *obj, int emoticonId);
200typedef bool (*kmd) ();
201typedef bool (*ise) ();
202typedef bool (*iee) ();
203typedef bool (*cbg) (int team);
204typedef bool (*cba) (int team);
205typedef bool (*cbn) (int team);
206typedef bool (*isb) (SoldierGameObj *obj);
207typedef bool (*ioep) (BeaconGameObj *obj);
208typedef void (*fcpp) (BuildingGameObj *building, Vector3 &pos, Vector3 *polyPos);
209typedef void (*sdd) (int text_id, SoldierGameObj* speaker, int* sound_id);
210typedef void (*sddp) (GameObject* player, int text_id, SoldierGameObj* speaker, int* sound_id);
211typedef void (*sddt) (int text_id, SoldierGameObj* speaker, int* sound_id, int team);
212typedef void (*elp) (GameObject* player, bool onoff, float seconds);
213typedef int (*cst) (const char* soundname, const Vector3& position, GameObject* obj2, int team);
214typedef int (*c2dst) (const char* soundname, int team);
215typedef int (*c2dwst) (const char* soundname, int team);
216typedef int (*c2dwstd) (const char* soundname, int team);
217typedef int (*c2dwstc) (const char* soundname, int team);
218typedef int (*c3dwsbt) (const char* soundname, GameObject* obj, const char* bonename, int team);
219typedef int (*c3dsbt) (const char* soundname, GameObject* obj, const char* bonename, int team);
220typedef int (*_Stop_Sound_Player) (GameObject* player, int sound_id, bool destroy_sound);
221typedef int (*_Stop_Sound_Team) (int sound_id, bool destroy_sound, int team);
222typedef int (*ssa) (GameObject *obj,const char *animation,bool looping,const char *subobject,float startFrame,float endFrame,bool blended);
223typedef void (*sts) (float scale);
224typedef int (*ssap) (GameObject *player,GameObject *obj,const char *animation,bool looping,const char *subobject,float startFrame,float endFrame,bool blended);
225typedef int (*wfa) (const char *_FileName, const char *_Text);
226typedef int (*adh) (DialogHook h);
227typedef void (*rdh) (int pos);
228typedef ScriptedMenuDialogClass* (*cmd) (int target);
229typedef ScriptedPopupDialogClass* (*cpd) (int target);
230typedef ScriptedDialogClass* (*idlg) (int id);
231typedef void (*dlg) (ScriptedDialogClass* dialog);
232typedef void (*dhwg) (GameObject* obj, int weapon, int rounds);
233typedef const char* (*gru) ();
234typedef void (*sru) (const char* url);
235typedef void (*tss) (int playerID);
236typedef bool (*iips) (Vector3 point, float maxDistance);
237typedef void (*sgm) (GameObject* obj, float multiplier);
238typedef bool (*iga) ();
239typedef void (*sga) (bool allowed);
240typedef void (*pcc) (const char* text, Vector4 argb_color);
241typedef void (*pccp) (GameObject* player, const char* text, Vector4 argb_color);
242typedef void (*rl) ();
243typedef void (*fcr) (int playerID);
244typedef void (*chudc) (Vector3 color);
245typedef void (*chudcp) (GameObject* obj, Vector3 color);
246typedef void (*egt) (bool onoff);
247typedef void (*egtp) (GameObject* obj, bool onoff);
248typedef bool (*gsr) (int playerID, Vector2* out);
249typedef HUDSurfaceClass* (*chs) (int target);
250typedef HUDSurfaceClass* (*fhs) (int id);
251typedef void (*hudsfc) (HUDSurfaceClass* surface);
252typedef bool (*iosc) ();
253typedef void (*osc) (bool onoff);
254typedef unsigned int (*spgui) ();
255typedef unsigned char (*spguc) ();
256typedef void (*spsui) (unsigned int newval);
257typedef void (*spsuc) (unsigned char newval);
258typedef void (*gtod) (unsigned int* hours, unsigned int* minutes);
259typedef void (*stod) (unsigned int hours, unsigned int minutes);
260typedef bool (*icbad) (int playerID);
261typedef void (*fws) (int client, int address, int port, const char* password);
262typedef void (*asmsg) (int client, Vector3 color, const wchar_t* message);
263SCRIPTS_API extern gpl Get_Player_List;
264SCRIPTS_API extern gcmi Get_Current_Map_Index;
265SCRIPTS_API extern gm Get_Map;
266SCRIPTS_API extern gmc Get_Map_Count;
267SCRIPTS_API extern smx Set_Map;
268SCRIPTS_API extern ggd Get_Game_Definitions;
269SCRIPTS_API extern ec Evict_Client;
270SCRIPTS_API extern gcsh Get_Client_Serial_Hash;
271SCRIPTS_API extern ggobpn Get_GameObj_By_Player_Name;
272SCRIPTS_API extern scap Send_Custom_All_Players;
273SCRIPTS_API extern stc Steal_Team_Credits;
274SCRIPTS_API extern gtc Get_Team_Credits;
275SCRIPTS_API extern sclb Set_Current_Bullets;
276SCRIPTS_API extern sclb Set_Current_Clip_Bullets;
277SCRIPTS_API extern spb Set_Position_Bullets;
278SCRIPTS_API extern spb Set_Position_Clip_Bullets;
279SCRIPTS_API extern sb Set_Bullets;
280SCRIPTS_API extern sb Set_Clip_Bullets;
281SCRIPTS_API extern dgh Display_Game_Hint;
282SCRIPTS_API extern dghi Display_Game_Hint_Image;
283SCRIPTS_API extern asn AddShaderNotify;
284SCRIPTS_API extern rsn RemoveShaderNotify;
285SCRIPTS_API extern ach AddChatHook;
286SCRIPTS_API extern ahh AddHostHook;
287SCRIPTS_API extern arh AddRefillHook;
288SCRIPTS_API extern ss Set_Scope;
289SCRIPTS_API extern aoch AddObjectCreateHook;
290SCRIPTS_API extern roch RemoveObjectCreateHook;
291SCRIPTS_API extern akh AddKeyHook;
292SCRIPTS_API extern rkh RemoveKeyHook;
293SCRIPTS_API extern gcmt GetCurrentMusicTrack;
294SCRIPTS_API extern allh AddLoadLevelHook;
295SCRIPTS_API extern allh AddPreLoadLevelHook;
296SCRIPTS_API extern allh AddGameOverHook;
297SCRIPTS_API extern allh AddThinkHook;
298SCRIPTS_API extern apjh AddPlayerJoinHook;
299SCRIPTS_API extern arch AddRadioHook;
300SCRIPTS_API extern asdh AddStockDamageHook;
301SCRIPTS_API extern atdh AddTtDamageHook;
302SCRIPTS_API extern aplh AddPlayerLeaveHook;
303SCRIPTS_API extern aph AddPowerupPurchaseHook;
304SCRIPTS_API extern aph AddVehiclePurchaseHook;
305SCRIPTS_API extern aph AddCharacterPurchaseHook;
306SCRIPTS_API extern apmh AddPowerupPurchaseMonHook;
307SCRIPTS_API extern apmh AddVehiclePurchaseMonHook;
308SCRIPTS_API extern apmh AddCharacterPurchaseMonHook;
309SCRIPTS_API extern rph RemovePowerupPurchaseHook;
310SCRIPTS_API extern rph RemoveVehiclePurchaseHook;
311SCRIPTS_API extern rph RemoveCharacterPurchaseHook;
312SCRIPTS_API extern rph RemovePowerupPurchaseMonHook;
313SCRIPTS_API extern rph RemoveVehiclePurchaseMonHook;
314SCRIPTS_API extern rph RemoveCharacterPurchaseMonHook;
315SCRIPTS_API extern sit Set_Info_Texture;
316SCRIPTS_API extern cit Clear_Info_Texture;
317SCRIPTS_API extern _Enable_Stealth_Player Enable_Stealth_Player;
318SCRIPTS_API extern _Set_Fog_Enable_Player Set_Fog_Enable_Player;
319SCRIPTS_API extern _Set_Fog_Range_Player Set_Fog_Range_Player;
320SCRIPTS_API extern _Set_Background_Music_Player Set_Background_Music_Player;
321SCRIPTS_API extern _Fade_Background_Music_Player Fade_Background_Music_Player;
322SCRIPTS_API extern _Stop_Background_Music_Player Stop_Background_Music_Player;
323SCRIPTS_API extern _Enable_Radar_Player Enable_Radar_Player;
324SCRIPTS_API extern _Display_GDI_Player_Terminal_Player Display_GDI_Player_Terminal_Player;
325SCRIPTS_API extern _Display_NOD_Player_Terminal_Player Display_NOD_Player_Terminal_Player;
326SCRIPTS_API extern _Set_Screen_Fade_Color_Player Set_Screen_Fade_Color_Player;
327SCRIPTS_API extern _Set_Screen_Fade_Opacity_Player Set_Screen_Fade_Opacity_Player;
328SCRIPTS_API extern _Force_Camera_Look_Player Force_Camera_Look_Player;
329SCRIPTS_API extern _Enable_HUD_Player Enable_HUD_Player;
330SCRIPTS_API extern _Create_Sound_Player Create_Sound_Player;
331SCRIPTS_API extern _Create_2D_Sound_Player Create_2D_Sound_Player;
332SCRIPTS_API extern _Create_2D_WAV_Sound_Player Create_2D_WAV_Sound_Player;
333SCRIPTS_API extern _Create_3D_WAV_Sound_At_Bone_Player Create_3D_WAV_Sound_At_Bone_Player;
334SCRIPTS_API extern _Create_3D_Sound_At_Bone_Player Create_3D_Sound_At_Bone_Player;
335SCRIPTS_API extern svl Set_Vehicle_Limit;
336SCRIPTS_API extern gvl Get_Vehicle_Limit;
337SCRIPTS_API extern svl Set_Air_Vehicle_Limit;
338SCRIPTS_API extern gvl Get_Air_Vehicle_Limit;
339SCRIPTS_API extern svl Set_Naval_Vehicle_Limit;
340SCRIPTS_API extern gvl Get_Naval_Vehicle_Limit;
341SCRIPTS_API extern sm Send_Message;
342SCRIPTS_API extern smp Send_Message_Player;
343SCRIPTS_API extern lnhi Load_New_HUD_INI;
344SCRIPTS_API extern rw Remove_Weapon;
345SCRIPTS_API extern crm Change_Radar_Map;
346SCRIPTS_API extern gbm Get_Build_Time_Multiplier;
347SCRIPTS_API extern scb Set_Currently_Building;
348SCRIPTS_API extern icb Is_Currently_Building;
349SCRIPTS_API extern acoh AddConsoleOutputHook;
350SCRIPTS_API extern acoh AddLogFileHook;
351SCRIPTS_API extern sfc Set_Fog_Color;
352SCRIPTS_API extern sfcp Set_Fog_Color_Player;
353SCRIPTS_API extern sfm Set_Fog_Mode;
354SCRIPTS_API extern sfmp Set_Fog_Mode_Player;
355SCRIPTS_API extern sfd Set_Fog_Density;
356SCRIPTS_API extern sfdp Set_Fog_Density_Player;
357SCRIPTS_API extern ctr Change_Time_Remaining;
358SCRIPTS_API extern ctl Change_Time_Limit;
359SCRIPTS_API extern dps Display_Security_Dialog;
360SCRIPTS_API extern shn Send_HUD_Number;
361SCRIPTS_API extern geo GetExplosionObj;
362SCRIPTS_API extern seo SetExplosionObj;
363SCRIPTS_API extern uno Update_Network_Object;
364SCRIPTS_API extern unop Update_Network_Object_Player;
365SCRIPTS_API extern sct Send_Client_Text;
366SCRIPTS_API extern sca Send_Client_Announcement;
367SCRIPTS_API extern spkm Send_Player_Kill_Message;
368SCRIPTS_API extern spr Send_Purchase_Response;
369SCRIPTS_API extern dod Do_Objectives_Dlg;
370SCRIPTS_API extern sl Set_Player_Limit;
371SCRIPTS_API extern gl Get_Player_Limit;
372SCRIPTS_API extern _Get_Fog_Range Get_Fog_Range;
373SCRIPTS_API extern sspp Send_Shader_Param_Player; //dont use, use the other calls below instead
374SCRIPTS_API extern ssp Send_Shader_Param; //dont use, use the other calls below instead
375SCRIPTS_API extern sspop Send_Shader_Param_Obj_Player; //dont use, use the other calls below instead
376SCRIPTS_API extern sspo Send_Shader_Param_Obj; //dont use, use the other calls below instead
377SCRIPTS_API extern ssn Set_GDI_Soldier_Name;
378SCRIPTS_API extern ssn Set_Nod_Soldier_Name;
379SCRIPTS_API extern gsnx Get_GDI_Soldier_Name;
380SCRIPTS_API extern gsnx Get_Nod_Soldier_Name;
381SCRIPTS_API extern Get_IP_Addressx Get_IP_Address;
382SCRIPTS_API extern Get_IP_Portx Get_IP_Port;
383SCRIPTS_API extern Get_IPx Get_IP;
384SCRIPTS_API extern Get_Bandwidthx Get_Bandwidth;
385SCRIPTS_API extern Get_Pingx Get_Ping;
386SCRIPTS_API extern Get_Kbitsx Get_Kbits;
387SCRIPTS_API extern sfop Set_Fog_Override_Player;
388SCRIPTS_API extern cfop Clear_Fog_Override_Player;
389SCRIPTS_API extern smie Set_Moon_Is_Earth;
390SCRIPTS_API extern smie Set_Global_Stealth_Disable;
391SCRIPTS_API extern gml Get_Mine_Limit;
392SCRIPTS_API extern sbd Set_Special_Base_Destruction;
393SCRIPTS_API extern gpv Get_Client_Version;
394SCRIPTS_API extern gpr Get_Client_Revision;
395SCRIPTS_API extern gpr Get_Revision;
396SCRIPTS_API extern gdw Get_Damage_Warhead;
397SCRIPTS_API extern gdie Get_Damage_Is_Explosion;
398SCRIPTS_API extern addConnectionAcceptanceFilterType addConnectionAcceptanceFilter;
399SCRIPTS_API extern removeConnectionAcceptanceFilterType removeConnectionAcceptanceFilter;
400SCRIPTS_API extern iwu Is_WOL_User;
401SCRIPTS_API extern gml Get_Tech_Level;
402SCRIPTS_API extern sw Set_Tech_Level;
403SCRIPTS_API extern cee Create_Explosion_Extended;
404SCRIPTS_API extern rwpa Retrieve_Waypaths;
405SCRIPTS_API extern rwpo Retrieve_Waypoints;
406SCRIPTS_API extern gwp Get_Waypoint_Position;
407SCRIPTS_API extern trc Test_Raycast_Collision;
408SCRIPTS_API extern iib Is_Inside_AABox;
409SCRIPTS_API extern cgst Can_Generic_Soldier_Teleport;
410SCRIPTS_API extern cl Create_Lightning;
411SCRIPTS_API extern gc Get_Clouds;
412SCRIPTS_API extern gli Get_Lightning;
413SCRIPTS_API extern gw Get_Wind;
414SCRIPTS_API extern gp Get_Rain;
415SCRIPTS_API extern gp Get_Snow;
416SCRIPTS_API extern gp Get_Ash;
417SCRIPTS_API extern ugo Update_Game_Options;
418SCRIPTS_API extern gttv GetTTVersion;
419SCRIPTS_API extern gttr GetTTRevision;
420SCRIPTS_API extern htp Set_HUD_Help_Text_Player;
421SCRIPTS_API extern csp Change_String_Player;
422SCRIPTS_API extern fpu Force_Position_Update;
423SCRIPTS_API extern grps Get_Random_Pathfind_Spot;
424SCRIPTS_API extern htpt Set_HUD_Help_Text_Player_Text;
425SCRIPTS_API extern grw Grant_Weapon;
426SCRIPTS_API extern sovfp Set_Object_Visibility_For_Player;
427SCRIPTS_API extern sov Set_Object_Visibility;
428SCRIPTS_API extern lscg Lock_Soldier_Collision_Group;
429SCRIPTS_API extern ulscg Unlock_Soldier_Collision_Group;
430SCRIPTS_API extern iea Is_Engine_Enabled;
431SCRIPTS_API extern ss Stop_Timer;
432SCRIPTS_API extern cwsdp Create_2D_Wave_Sound_Dialog_Player;
433SCRIPTS_API extern fpup Force_Position_Update_Player;
434SCRIPTS_API extern ss2 Stop_Timer2;
435SCRIPTS_API extern htm Has_Timer;
436SCRIPTS_API extern sbgmo Set_Background_Music_Player_Offset;
437SCRIPTS_API extern setcam Set_Camera_Player;
438SCRIPTS_API extern settran Set_Definition_TranslationID_Player;
439SCRIPTS_API extern setnur Set_Net_Update_Rate_Player;
440SCRIPTS_API extern fou Force_Orientation_Update;
441SCRIPTS_API extern foup Force_Orientation_Update_Player;
442SCRIPTS_API extern cwscp Create_2D_Wave_Sound_Cinematic_Player;
443SCRIPTS_API extern ftu Force_Turret_Update;
444SCRIPTS_API extern ftup Force_Turret_Update_Player;
445SCRIPTS_API extern fvu Force_Velocity_Update;
446SCRIPTS_API extern fvup Force_Velocity_Update_Player;
447SCRIPTS_API extern schn Set_Camera_Host_Network;
448SCRIPTS_API extern gpd Get_Pathfind_Distance; // Deprecated, use Get_Pathfind_Distance_Async in stead
449SCRIPTS_API extern gpda Get_Pathfind_Distance_Async; // Returns > 0 when succusful. pathObj must be a vehicle or a soldier
450SCRIPTS_API extern cgpd Cancel_Get_Pathfind_Distance; // Cancels a pathfind distance request. Use the result from Get_Pathfind_Distance_Async/Get_Pathfind_Distance to cancel
451SCRIPTS_API extern gpdb Get_Pathfind_Distance_Blocking; // Returns > 0 when succesful. Solves distances immediately. pathObj must be a vehicle or a soldier
452SCRIPTS_API extern gmsl Get_Multiplayer_Spawn_Location;
453SCRIPTS_API extern esbn Enable_Spawners_By_Name;
454SCRIPTS_API extern ipg Is_Pathfind_Generated;
455SCRIPTS_API extern gcps Get_Closest_Pathfind_Spot;
456SCRIPTS_API extern gcpss Get_Closest_Pathfind_Spot_Size;
457SCRIPTS_API extern grcs Get_Radio_Command_String;
458SCRIPTS_API extern sei Set_Emot_Icon;
459SCRIPTS_API extern kmd Kill_Messages_Disabled;
460SCRIPTS_API extern ise Is_Sidebar_Enabled;
461SCRIPTS_API extern iee Is_Extras_Enabled;
462SCRIPTS_API extern cbg Can_Build_Ground;
463SCRIPTS_API extern cba Can_Build_Air;
464SCRIPTS_API extern cbn Can_Build_Naval;
465SCRIPTS_API extern isb Is_Soldier_Busy;
466SCRIPTS_API extern ioep Is_On_Enemy_Pedestal;
467SCRIPTS_API extern fcpp Find_Closest_Poly_Position;
468SCRIPTS_API extern sdd Say_Dynamic_Dialogue;
469SCRIPTS_API extern sddp Say_Dynamic_Dialogue_Player;
470SCRIPTS_API extern sddt Say_Dynamic_Dialogue_Team;
471SCRIPTS_API extern elp Enable_Letterbox_Player;
472SCRIPTS_API extern cst Create_Sound_Team;
473SCRIPTS_API extern c2dst Create_2D_Sound_Team;
474SCRIPTS_API extern c2dwst Create_2D_WAV_Sound_Team;
475SCRIPTS_API extern c2dwstd Create_2D_WAV_Sound_Team_Dialog;
476SCRIPTS_API extern c2dwstc Create_2D_WAV_Sound_Team_Cinematic;
477SCRIPTS_API extern c3dwsbt Create_3D_WAV_Sound_At_Bone_Team;
478SCRIPTS_API extern c3dsbt Create_3D_Sound_At_Bone_Team;
479SCRIPTS_API extern _Stop_Sound_Player Stop_Sound_Player;
480SCRIPTS_API extern _Stop_Sound_Team Stop_Sound_Team;
481SCRIPTS_API extern ssa Set_Subobject_Animation;
482SCRIPTS_API extern sts Set_Time_Scale;
483SCRIPTS_API extern ssap Set_Subobject_Animation_Player;
484SCRIPTS_API extern wfa Write_File_Async;
485SCRIPTS_API extern adh AddDialogHook;
486SCRIPTS_API extern rdh RemoveDialogHook;
487SCRIPTS_API extern cmd Create_Menu_Dialog;
488SCRIPTS_API extern cpd Create_Popup_Dialog;
489SCRIPTS_API extern idlg Find_Dialog;
490SCRIPTS_API extern dlg Show_Dialog;
491SCRIPTS_API extern dlg Hide_Dialog;
492SCRIPTS_API extern dlg Delete_Dialog;
493SCRIPTS_API extern dhwg Display_HUD_Weapon_Grant_Player;
494SCRIPTS_API extern dhwg Display_HUD_Ammo_Grant_Player;
495SCRIPTS_API extern gru Get_Repository_URL;
496SCRIPTS_API extern sru Set_Repository_URL;
497SCRIPTS_API extern gru Get_Screenshot_URL;
498SCRIPTS_API extern sru Set_Screenshot_URL;
499SCRIPTS_API extern tss Take_Screenshot;
500SCRIPTS_API extern iips Is_In_Pathfind_Sector;
501SCRIPTS_API extern sgm Set_Gravity_Multiplier;
502SCRIPTS_API extern iga Is_Gameplay_Allowed;
503SCRIPTS_API extern sga Set_Gameplay_Allowed;
504SCRIPTS_API extern pcc Print_Client_Console;
505SCRIPTS_API extern pccp Print_Client_Console_Player;
506SCRIPTS_API extern rl Reload_Level;
507SCRIPTS_API extern fcr Force_Client_Reload;
508SCRIPTS_API extern chudc Change_Enemy_HUD_Color;
509SCRIPTS_API extern chudcp Change_Enemy_HUD_Color_Player;
510SCRIPTS_API extern chudc Change_Friendly_HUD_Color;
511SCRIPTS_API extern chudcp Change_Friendly_HUD_Color_Player;
512SCRIPTS_API extern chudc Change_Neutral_HUD_Color;
513SCRIPTS_API extern chudcp Change_Neutral_HUD_Color_Player;
514SCRIPTS_API extern egt Enable_Global_Targeting;
515SCRIPTS_API extern egtp Enable_Global_Targeting_Player;
516SCRIPTS_API extern gsr Get_Screen_Resolution;
517SCRIPTS_API extern chs Create_HUD_Surface;
518SCRIPTS_API extern fhs Find_HUD_Surface;
519SCRIPTS_API extern hudsfc Show_HUD_Surface;
520SCRIPTS_API extern hudsfc Hide_HUD_Surface;
521SCRIPTS_API extern hudsfc Delete_HUD_Surface;
522SCRIPTS_API extern gcsh Get_Client_Hardware_Identifier;
523SCRIPTS_API extern iosc Is_Overriding_Sky_Colors;
524SCRIPTS_API extern osc Override_Sky_Colors;
525SCRIPTS_API extern spgui Get_Warm_Sky_Color;
526SCRIPTS_API extern spgui Get_Cold_Sky_Color;
527SCRIPTS_API extern spgui Get_Sun_Color;
528SCRIPTS_API extern spgui Get_Sun_Halo_Color;
529SCRIPTS_API extern spgui Get_Moon_Halo_Color;
530SCRIPTS_API extern spguc Get_Starfield_Alpha;
531SCRIPTS_API extern spgui Get_Sky_Color;
532SCRIPTS_API extern spgui Get_Gloominess_Color;
533SCRIPTS_API extern spsui Set_Warm_Sky_Color;
534SCRIPTS_API extern spsui Set_Cold_Sky_Color;
535SCRIPTS_API extern spsui Set_Sun_Color;
536SCRIPTS_API extern spsui Set_Sun_Halo_Color;
537SCRIPTS_API extern spsui Set_Moon_Halo_Color;
538SCRIPTS_API extern spsuc Set_Starfield_Alpha;
539SCRIPTS_API extern spsui Set_Sky_Color;
540SCRIPTS_API extern spsui Set_Gloominess_Color;
541SCRIPTS_API extern gtod Get_Time_Of_Day;
542SCRIPTS_API extern stod Set_Time_Of_Day;
543SCRIPTS_API extern icbad Is_Connection_Bad;
544SCRIPTS_API extern fws Forward_Server;
545SCRIPTS_API extern asmsg Add_Shadow_Message;
546
547class SCRIPTS_API JFW_Key_Hook_Base : public ScriptImpClass {
548public:
549 KeyHookStruct *k;
550 int hookid;
551 JFW_Key_Hook_Base() : hookid(0)
552 {
553 }
554
557 void Detach(GameObject *obj);
558
561 void Destroyed(GameObject *obj);
562
563 void InstallHook(const char *keyname,GameObject *obj);
564 void RemoveHook();
565 virtual void KeyHook() = 0;
566 ~JFW_Key_Hook_Base();
567};
568
577class SCRIPTS_API MultiKeyHookScriptImpClass : public ScriptImpClass
578{
579public:
582 void Detach(GameObject *obj);
583
586 void Destroyed(GameObject *obj);
587
591 void InstallHook(const char* logicalKey, GameObject *obj);
592
595 void RemoveHook(const char* logicalKey, GameObject *obj);
596
598 virtual void KeyHook(const char* logicalKey) = 0;
599
600 struct KeyHookWrapperStruct
601 {
603 KeyHookStruct hook;
604 int hookId;
605 };
606
607protected:
608 SList<KeyHookWrapperStruct> ms_keyhooks;
609
610 KeyHookWrapperStruct* FindHook(const char* logicalKey);
611};
612
613class SCRIPTS_API JFW_Object_Created_Hook_Base : public ScriptImpClass {
614public:
615 int hookid;
616 JFW_Object_Created_Hook_Base() : hookid(0)
617 {
618 }
619 ObjectCreateHookStruct *h;
620 void Detach(GameObject *obj);
621 void Created(GameObject *obj);
622 void InstallHook();
623 void RemoveHook();
624 virtual void ObjectCreateHook(GameObject *obj) = 0;
625 ~JFW_Object_Created_Hook_Base();
626};
627
628struct Gap_ListNode
629{
630 Gap_ListNode* Next;
631 unsigned long unitID;
632 float range;
633 int teamID;
634 bool active;
635};
636
637class ConsoleFunctionClass {
638public:
639 virtual const char *Get_Name(void) = 0;
640 virtual const char *Get_Alias(void) { return NULL; }
641 virtual const char *Get_Help(void) { return Get_Name(); }
642 virtual void Activate(const char *pArgs) = 0;
643 virtual ~ConsoleFunctionClass() { return; }
644};
645
646SCRIPTS_API void Kill_All_Buildings_By_Team(int Team); //kill all buildings of the specified team,ending the game with the other team winning,0 = Nod,1 = GDI
647SCRIPTS_API void Set_Occupants_Fade(GameObject *obj,float red,float green,float blue,float opacity); //sets the screen fade of all the occupants of a vehicle
648SCRIPTS_API void Enable_Team_Radar(int Team,bool Enable); //enable radar for a given team
649SCRIPTS_API void Send_Message_Team(int team,unsigned int red,unsigned int green,unsigned int blue,const char *msg); //send a message to a team
650SCRIPTS_API void Send_Message_With_Obj_Color(GameObject *obj,const char *Msg); //send a messages in a given objects color
651SCRIPTS_API void Send_Message_With_Team_Color(int Team,const char *Msg); //Send a message in a given teams color
652SCRIPTS_API void Ranged_Gap_Effect(Gap_ListNode* FirstNode); //apply gap effect to all units of a team within a range
653SCRIPTS_API void Ranged_Stealth_On_Team(Gap_ListNode* FirstNode); //Apply stealth to all units in the range of this on the relavent team
654SCRIPTS_API bool Can_Team_Build_Vehicle(int Team); //Can this team build vehicles
655SCRIPTS_API DynamicVectorClass<int> Get_Enlisted_Purchase_Items(int team);//Get all defined IDs of enlisted characters
656SCRIPTS_API DynamicVectorClass<int> Get_Purchase_Items(int team, int defType);//Get all defined IDs in the given purchase list
657SCRIPTS_API bool Is_Infantry_Purchaseable(const char *preset,int team); //is this infantry preset purchaseable? (i.e. it would appear on the sidebar and not be hidden or greyed out. Does not do the cost check but does check unit limits)
658SCRIPTS_API bool Is_Vehicle_Purchaseable(const char *preset,int team); //is this vehicle preset purchaseable? (i.e. it would appear on the sidebar and not be hidden or greyed out. Does not do the cost check but does check unit limits)
659
660SCRIPTS_API void SendShaderParam(const char* parameter, const char* value);
661SCRIPTS_API void SendShaderParam(const char* parameter, int value);
662SCRIPTS_API void SendShaderParam(const char* parameter, unsigned int value);
663SCRIPTS_API void SendShaderParam(const char* parameter, float value);
664SCRIPTS_API void SendShaderParam(const char* parameter, Vector2 value);
665SCRIPTS_API void SendShaderParam(const char* parameter, Vector3 value);
666SCRIPTS_API void SendShaderParam(const char* parameter, Vector4 value);
667SCRIPTS_API void SendShaderParamPlayer(GameObject* player, const char* parameter, const char* value);
668SCRIPTS_API void SendShaderParamPlayer(GameObject* player, const char* parameter, int value);
669SCRIPTS_API void SendShaderParamPlayer(GameObject* player, const char* parameter, unsigned int value);
670SCRIPTS_API void SendShaderParamPlayer(GameObject* player, const char* parameter, float value);
671SCRIPTS_API void SendShaderParamPlayer(GameObject* player, const char* parameter, Vector2 value);
672SCRIPTS_API void SendShaderParamPlayer(GameObject* player, const char* parameter, Vector3 value);
673SCRIPTS_API void SendShaderParamPlayer(GameObject* player, const char* parameter, Vector4 value);
674SCRIPTS_API void SendShaderParamObj(const char* parameter, const char* value, GameObject* object);
675SCRIPTS_API void SendShaderParamObj(const char* parameter, int value, GameObject* object);
676SCRIPTS_API void SendShaderParamObj(const char* parameter, unsigned int value, GameObject* object);
677SCRIPTS_API void SendShaderParamObj(const char* parameter, float value, GameObject* object);
678SCRIPTS_API void SendShaderParamObj(const char* parameter, Vector2 value, GameObject* object);
679SCRIPTS_API void SendShaderParamObj(const char* parameter, Vector3 value, GameObject* object);
680SCRIPTS_API void SendShaderParamObj(const char* parameter, Vector4 value, GameObject* object);
681SCRIPTS_API void SendShaderParamObjPlayer(GameObject* player, const char* parameter, const char* value, GameObject* object);
682SCRIPTS_API void SendShaderParamObjPlayer(GameObject* player, const char* parameter, int value, GameObject* object);
683SCRIPTS_API void SendShaderParamObjPlayer(GameObject* player, const char* parameter, unsigned int value, GameObject* object);
684SCRIPTS_API void SendShaderParamObjPlayer(GameObject* player, const char* parameter, float value, GameObject* object);
685SCRIPTS_API void SendShaderParamObjPlayer(GameObject* player, const char* parameter, Vector2 value, GameObject* object);
686SCRIPTS_API void SendShaderParamObjPlayer(GameObject* player, const char* parameter, Vector3 value, GameObject* object);
687SCRIPTS_API void SendShaderParamObjPlayer(GameObject* player, const char* parameter, Vector4 value, GameObject* object);
688SCRIPTS_API extern REF_DECL(DynamicVectorClass<ConsoleFunctionClass *>, ConsoleFunctionList);
689SCRIPTS_API void Delete_Console_Function(const char *name);
690SCRIPTS_API void Sort_Function_List();
691SCRIPTS_API void Verbose_Help_File();
692
713SCRIPTS_API void Send_Translated_Message_Team ( unsigned long ID, int team, int red, int green, int blue, bool bPlaySound = true );
714
732SCRIPTS_API void Send_Translated_Message_Team ( unsigned long ID, int team, Vector3 rgb, bool bPlaySound = true );
733
734SCRIPTS_API void Force_Vehicle_Entry(GameObject *soldier,GameObject *vehicle);
Script base class with support for multiple key hooks.
Definition engine_tt.h:578
virtual void KeyHook(const char *logicalKey)=0