X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fspawnpoints.qh;h=d9707a1676677d788c6d18013abb947bcb370dfd;hb=b1317ceb61ee2690d3d892945c1c0926c181db2b;hp=92af8df66fe017167bf2b64a6127235a2e6e2d50;hpb=b945d959784e5b249c66aea4f3326d8ae048f1cd;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/spawnpoints.qh b/qcsrc/server/spawnpoints.qh index 92af8df66..d9707a167 100644 --- a/qcsrc/server/spawnpoints.qh +++ b/qcsrc/server/spawnpoints.qh @@ -1,15 +1,33 @@ #pragma once +bool autocvar_g_spawn_alloweffects; +float autocvar_g_spawn_furthest; +bool autocvar_g_spawn_useallspawns; +bool autocvar_g_spawnpoints_auto_move_out_of_solid; +float autocvar_r_showbboxes; // engine cvar + // 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; bool SpawnEvent_Send(entity this, entity to, int sf); -entity Spawn_FilterOutBadSpots(entity this, entity firstspot, float mindist, float teamcheck); +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(); }