Nuclide
Software Development Kit for id Technology (BETA)
Loading...
Searching...
No Matches
api_func.h
1.float deaths;
2
27
29typedef struct
30{
37 string TimeToString(int realTime, int zoneType, string formatString);
38} utilAPI_t;
40
42typedef struct
43{
48 bool InMap(string className);
54 bool InPVS(entity lookingEntity, vector visiblePosition);
59 bool InVFS(string fileName);
62
64typedef struct
65{
73 entity Create(string className, vector spawnPos);
79 float ChangeToClass(entity targetEntity, string className);
90 void Input(entity target, string inputName, string dataString, entity activator);
91} entsAPI_t;
93
95typedef struct
96{
98 void EndMap(void);
100 void EndMapDelayed(float);
102 void LoadNextMap(void);
104 void CleanUpMap(void);
108 string GetMap(void);
112 string GetNextMap(void);
115 void SetSpawnPoint(string spawnPointClass);
118 void TeleportToSpawn(entity teleportingEntity);
122 entity FindRandomClassObject(string entityClassName);
123} gameAPI_t;
125
127typedef struct
128{
130 void LoadDefault(void);
134 void LoadFromFile(string);
135} motdAPI_t;
137
139typedef struct
140{
143 string GetInventory(entity targetActor);
146 bool HasItem(entity targetActor, string itemClass);
151 int GetReserveAmmo(entity targetActor, int ammoType);
156 bool MaxAmmo(entity targetActor, int ammoType);
159 int TotalActors(void);
163 int TotalActorsOnTeam(int teamID);
164
165 float AimAtPos(entity, vector);
166 float MoveToPos(entity, vector);
167 bool CanSee(entity, entity);
168 bool CanShoot(entity, vector, vector);
170 entity FindCoverNode(entity);
171} actorAPI_t;
173
175typedef struct
176{
177 void Stop(void);
178 void StopOnClient(entity);
179 void Play(musictrack_t);
180 void PlayOnce(musictrack_t);
181 void PlayOnClient(musictrack_t, entity);
182 void PlayOnceOnClient(musictrack_t, entity);
183} musicAPI_t;
185
187typedef struct
188{
199 void Damage(entity targetEnt, entity inflictingEnt, entity attackingEnt, string damageDef, vector damageOrigin, vector damageDir, vector hitLocation);
210 void RadiusDamage(vector damageCenter, float damageRange, int damageMin, int damageMax, entity attackingEnt, string damageDef);
217 void Obituary(string targetName, string attackerName, string weaponDef, string meansOfDeath);
220 // end of multiprogs
222
223
225typedef struct
226{
231 string GetString(string serverKey);
236 int GetInteger(string serverKey);
241 float GetFloat(string serverKey);
246 bool GetBool(string serverKey);
251 vector GetVector(string serverKey);
256 void SetString(string serverKey, string setValue);
261 void SetInteger(string serverKey, int setValue);
266 void SetBool(string serverKey, bool setValue);
271 void SetFloat(string serverKey, float setValue);
276 void SetVector(string serverKey, vector setValue);
278
279localinfoAPI_t localinfo;
280
281__variant
282linkToServerProgs(string funcName)
283{
284 static void empty(void)
285 {
286 print("Called unimplemented server-side API call.\n");
287 breakpoint();
288 }
289
290 void *func = externvalue(0, funcName);
291
292 if (func) {
293 return ((__variant)func);
294 } else {
295 return (empty);
296 }
297}
298
299void
300_server_main(void)
301{
302 game.EndMap = linkToServerProgs("SVPF_game_EndMap");
303 game.EndMapDelayed = linkToServerProgs("SVPF_game_EndMapDelayed");
304 game.LoadNextMap = linkToServerProgs("SVPF_game_LoadNextMap");
305 game.CleanUpMap = linkToServerProgs("SVPF_game_CleanUpMap");
306 game.GetMap = linkToServerProgs("SVPF_game_GetMap");
307 game.GetNextMap = linkToServerProgs("SVPF_game_GetNextMap");
308 game.SetSpawnPoint = linkToServerProgs("SVPF_game_SetSpawnPoint");
309 game.TeleportToSpawn = linkToServerProgs("SVPF_game_TeleportToSpawn");
310 game.FindRandomClassObject = linkToServerProgs("Spawn_SelectRandom");
311
312 combat.Damage = linkToServerProgs("SVPF_combat_Damage");
313 combat.RadiusDamage = linkToServerProgs("SVPF_combat_RadiusDamage");
314 combat.Obituary = linkToServerProgs("SVPF_combat_Obituary");
315
316 localinfo.SetString = linkToServerProgs("SVPF_localinfo_SetString");
317 localinfo.SetBool = linkToServerProgs("SVPF_localinfo_SetBool");
318 localinfo.SetInteger = linkToServerProgs("SVPF_localinfo_SetInteger");
319 localinfo.SetFloat = linkToServerProgs("SVPF_localinfo_SetFloat");
320 localinfo.SetVector = linkToServerProgs("SVPF_localinfo_SetVector");
321 localinfo.GetString = linkToServerProgs("SVPF_localinfo_GetString");
322 localinfo.GetInteger = linkToServerProgs("SVPF_localinfo_GetInteger");
323 localinfo.GetBool = linkToServerProgs("SVPF_localinfo_GetBool");
324 localinfo.GetFloat = linkToServerProgs("SVPF_localinfo_GetFloat");
325 localinfo.GetVector = linkToServerProgs("SVPF_localinfo_GetVector");
326
327 ents.Create = linkToServerProgs("SVPF_ents_Create");
328 ents.ChangeToClass = linkToServerProgs("SVPF_ents_ChangeToClass");
329 ents.Input = linkToServerProgs("SVPF_ents_Input");
330
331 actor.GetInventory = linkToServerProgs("SVPF_actor_GetInventory");
332 actor.GetReserveAmmo = linkToServerProgs("SVPF_actor_GetReserveAmmo");
333 actor.MaxAmmo = linkToServerProgs("SVPF_actor_MaxAmmo");
334 actor.TotalActors = linkToServerProgs("SVPF_actor_TotalActors");
335 actor.TotalActorsOnTeam = linkToServerProgs("SVPF_actor_TotalActorsOnTeam");
336 actor.MoveToPos = linkToServerProgs("SVPF_actor_MoveToPos");
337 actor.HasItem = linkToServerProgs("SVPF_actor_HasItem");
338
339 music.Stop = linkToServerProgs("SVPF_music_Stop");
340 music.StopOnClient = linkToServerProgs("SVPF_music_StopOnClient");
341 music.Play = linkToServerProgs("SVPF_music_Play");
342 music.PlayOnce = linkToServerProgs("SVPF_music_PlayOnce");
343 music.PlayOnClient = linkToServerProgs("SVPF_music_PlayOnClient");
344 music.PlayOnceOnClient = linkToServerProgs("SVPF_music_PlayOnceOnClient");
345
346 exists.InMap = linkToServerProgs("SVPF_exists_InMap");
347 exists.InVFS = linkToServerProgs("SVPF_exists_InVFS");
348 exists.InPVS = linkToServerProgs("SVPF_exists_InPVS");
349
350 motd.LoadDefault = linkToServerProgs("MOTD_LoadDefault");
351 motd.LoadFromFile = linkToServerProgs("MOTD_LoadFromFile");
352
353 util.TimeToString = linkToServerProgs("SVPF_util_TimeToString");
354}
var motdAPI_t motd
Access motdAPI_t functions using this variable.
Definition api_func.h:136
var existsAPI_t exists
Access existsAPI_t functions using this variable.
Definition api_func.h:61
var gameAPI_t game
Access gameAPI_t functions using this variable.
Definition api_func.h:124
var utilAPI_t util
Access utilAPI_t functions using this variable.
Definition api_func.h:39
var musicAPI_t music
Access musicAPI_t functions using this variable.
Definition api_func.h:184
var combatAPI_t combat
Access combatAPI_t functions using this variable.
Definition api_func.h:219
var entsAPI_t ents
Access entsAPI_t functions using this variable.
Definition api_func.h:92
var actorAPI_t actor
Access actorAPI_t functions using this variable.
Definition api_func.h:172
Actor library.
Definition api_func.h:140
entity FindCoverNode(entity)
float AimAtPos(entity, vector)
int GetReserveAmmo(entity targetActor, int ammoType)
Returns the amount of reserve ammo of a given ammo type ID.
bool HasItem(entity targetActor, string itemClass)
Returns whether an item class exists in an actor's inventory.
bool CanShoot(entity, vector, vector)
int TotalActorsOnTeam(int teamID)
Returns the current amount of actors in the game, on a specific team.
bool CanSee(entity, entity)
string GetInventory(entity targetActor)
Returns a tokenizable string containing a list of inventory items of a specified actor (this includes...
float MoveToPos(entity, vector)
int TotalActors(void)
Returns the current amount of actors in the game.
bool MaxAmmo(entity targetActor, int ammoType)
Returns the amount of maximum ammo of a given ammo type ID.
bool ClearEnemy()
Combat library.
Definition api_func.h:188
void Obituary(string targetName, string attackerName, string weaponDef, string meansOfDeath)
Lets everyone in the game know that something, or something, has passed.
void Damage(entity targetEnt, entity inflictingEnt, entity attackingEnt, string damageDef, vector damageOrigin, vector damageDir, vector hitLocation)
Applies damage to a given entity.
void RadiusDamage(vector damageCenter, float damageRange, int damageMin, int damageMax, entity attackingEnt, string damageDef)
Does damage to all entities within a specified radius with a linear falloff.
Ents library.
Definition api_func.h:65
void Input(entity target, string inputName, string dataString, entity activator)
Sends an input (See ncIO::Input) to an entity.
entity Create(string className, vector spawnPos)
Creates a new entity of a given class name.
float ChangeToClass(entity targetEntity, string className)
Transitions an entity from one class to another.
Exists library.
Definition api_func.h:43
bool InVFS(string fileName)
Check whether a file is present in the virtual filesystem.
bool InMap(string className)
Check whether a named entity class exists in the current map/level.
bool InPVS(entity lookingEntity, vector visiblePosition)
Check whether an entity is within a PVS - if it is visible from a certain location and vice-versa.
Game library.
Definition api_func.h:96
void CleanUpMap(void)
Removed any temporary game entities from the game, and resets the state of the level to the default s...
void EndMapDelayed(float)
Ends the current map in the specified number of seconds.
void TeleportToSpawn(entity teleportingEntity)
Teleports an entity to their ideal spawn-point.
void LoadNextMap(void)
Force loads the next map/level in the rotation.
string GetMap(void)
Returns the name of the map/level.
void SetSpawnPoint(string spawnPointClass)
Sets the default spawn-point class to custom one.
string GetNextMap(void)
Returns the name of the next map/level in the rotation.
void EndMap(void)
Ends the current map.
entity FindRandomClassObject(string entityClassName)
Return a random instance of a specified entity class.
LocalInfo library.
Definition api_func.h:226
int GetInteger(string serverKey)
Returns the integer value of a server local (hidden-from-clients) info-key.
void SetInteger(string serverKey, int setValue)
Server only.
float GetFloat(string serverKey)
Returns the floating-point value of a server local (hidden-from-clients) info-key.
void SetFloat(string serverKey, float setValue)
Server only.
void SetString(string serverKey, string setValue)
Server only.
void SetBool(string serverKey, bool setValue)
Server only.
string GetString(string serverKey)
Returns the string value of a server local (hidden-from-clients) info-key.
void SetVector(string serverKey, vector setValue)
Server only.
bool GetBool(string serverKey)
Returns the boolean value of a server local (hidden-from-clients) info-key.
vector GetVector(string serverKey)
Returns the vector value of a server local (hidden-from-clients) info-key.
MOTD library.
Definition api_func.h:128
void LoadFromFile(string)
Loads a text file as an input for a message of the day.
void LoadDefault(void)
Loads the message of the day from the default location: <gamedir>/motd.txt
Music library.
Definition api_func.h:176
void Play(musictrack_t)
void PlayOnceOnClient(musictrack_t, entity)
void Stop(void)
void StopOnClient(entity)
void PlayOnClient(musictrack_t, entity)
void PlayOnce(musictrack_t)
Util library.
Definition api_func.h:30
string TimeToString(int realTime, int zoneType, string formatString)
Returns the current time.