]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/spawnpoints.qh
Purge server/defs.qh
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / spawnpoints.qh
index 7345a36ae8ddb4355aae170d0e06f993e714e956..39b5492c5e2aab8cfad6b48f0655d0abf4a83139 100644 (file)
@@ -1,82 +1,27 @@
-#ifndef SPAWNPOINTS_H
-#define SPAWNPOINTS_H
+#pragma once
 
-#if defined(CSQC)
-#elif defined(MENUQC)
-#elif defined(SVQC)
-    #include "../common/util-pre.qh"
-    #include "sys-pre.qh"
-    #include "../dpdefs/progsdefs.qc"
-    #include "../dpdefs/dpextensions.qc"
-    #include "sys-post.qh"
-    #include "../warpzonelib/anglestransform.qh"
-    #include "../warpzonelib/mathlib.qh"
-    #include "../warpzonelib/common.qh"
-    #include "../warpzonelib/util_server.qh"
-    #include "../warpzonelib/server.qh"
-    #include "../common/constants.qh"
-    #include "../common/stats.qh"
-    #include "../common/teams.qh"
-    #include "../common/util.qh"
-    #include "../common/nades.qh"
-    #include "../common/buffs.qh"
-    #include "../common/test.qh"
-    #include "../common/counting.qh"
-    #include "../common/urllib.qh"
-    #include "../common/command/markup.qh"
-    #include "../common/command/rpn.qh"
-    #include "../common/command/generic.qh"
-    #include "../common/command/shared_defs.qh"
-    #include "../common/net_notice.qh"
-    #include "../common/animdecide.qh"
-    #include "../common/monsters/monsters.qh"
-    #include "../common/monsters/sv_monsters.qh"
-    #include "../common/monsters/spawn.qh"
-    #include "../common/weapons/config.qh"
-    #include "../common/weapons/weapons.qh"
-    #include "weapons/accuracy.qh"
-    #include "weapons/common.qh"
-    #include "weapons/csqcprojectile.qh"
-    #include "weapons/hitplot.qh"
-    #include "weapons/selection.qh"
-    #include "weapons/spawning.qh"
-    #include "weapons/throwing.qh"
-    #include "weapons/tracing.qh"
-    #include "weapons/weaponstats.qh"
-    #include "weapons/weaponsystem.qh"
-    #include "t_items.qh"
-    #include "autocvars.qh"
-    #include "constants.qh"
-    #include "defs.qh"
-    #include "../common/notifications.qh"
-    #include "../common/deathtypes.qh"
-    #include "mutators/mutators_include.qh"
-    #include "tturrets/include/turrets_early.qh"
-    #include "vehicles/vehicles_def.qh"
-    #include "campaign.qh"
-    #include "../common/campaign_common.qh"
-    #include "../common/mapinfo.qh"
-    #include "command/common.qh"
-    #include "command/banning.qh"
-    #include "command/radarmap.qh"
-    #include "command/vote.qh"
-    #include "command/getreplies.qh"
-    #include "command/cmd.qh"
-    #include "command/sv_cmd.qh"
-    #include "../common/csqcmodel_settings.qh"
-    #include "../csqcmodellib/common.qh"
-    #include "../csqcmodellib/sv_model.qh"
-    #include "anticheat.qh"
-    #include "cheats.qh"
-    #include "../common/playerstats.qh"
-    #include "portals.qh"
-    #include "g_hook.qh"
-    #include "scores.qh"
-#endif
+// spawnpoint prios
+const int SPAWN_PRIO_NEAR_TEAMMATE_FOUND = 200;
+const int SPAWN_PRIO_NEAR_TEAMMATE_SAMETEAM = 100;
+const int SPAWN_PRIO_RACE_PREVIOUS_SPAWN = 50;
+const int SPAWN_PRIO_GOOD_DISTANCE = 10;
+
+bool some_spawn_has_been_used;
+int have_team_spawns; // 0 = no team spawns requested, -1 = team spawns requested but none found, 1 = team spawns requested and found
+int have_team_spawns_forteams; // if Xth bit is 1 then team X has spawns else it has no spawns; team 0 is the "no-team"
 
 .vector spawnpoint_score;
 float spawnpoint_nag;
-float SpawnEvent_Send(entity to, float sf);
-entity Spawn_FilterOutBadSpots(entity firstspot, float mindist, float teamcheck);
-entity SelectSpawnPoint (float anypoint);
-#endif
\ No newline at end of file
+bool SpawnEvent_Send(entity this, entity to, int sf);
+entity Spawn_FilterOutBadSpots(entity this, entity firstspot, float mindist, float teamcheck, bool targetcheck);
+entity SelectSpawnPoint(entity this, bool anypoint);
+spawnfunc(info_player_deathmatch);
+void spawnpoint_use(entity this, entity actor, entity trigger);
+
+USING(spawn_evalfunc_t, vector(entity this, entity player, entity spot, vector current));
+.spawn_evalfunc_t spawn_evalfunc;
+
+.int restriction;
+
+IntrusiveList g_spawnpoints;
+STATIC_INIT(g_spawnpoints) { g_spawnpoints = IL_NEW(); }