-#ifndef RACE_H
-#define RACE_H
+#pragma once
+
+float race_teams;
+
+// scores
+const float ST_RACE_LAPS = 1;
+
+int autocvar_g_cts_send_rankings_cnt = 15;
+
+bool g_race_qualifying;
+
+float speedaward_lastsent;
+float speedaward_lastupdate;
float race_spawns;
float race_highest_place_spawn; // number of places; a place higher gets spawned at 0
.float race_respawn_checkpoint;
.entity race_respawn_spotref; // try THIS spawn in case you respawn
+IntrusiveList g_racecheckpoints;
+STATIC_INIT(g_racecheckpoints) { g_racecheckpoints = IL_NEW(); }
+
// definitions for functions used outside race.qc
float race_PreviousCheckpoint(float f);
float race_NextCheckpoint(float f);
string race_readName(string map, float pos);
void race_ClearRecords();
void race_SendNextCheckpoint(entity e, float spec);
-void race_PreparePlayer();
+void race_PreparePlayer(entity this);
void race_send_recordtime(float msg);
void race_send_speedaward(float msg);
+void race_setTime(string map, float t, string myuid, string mynetname, entity e, bool showmessage);
float speedaward_speed;
string speedaward_holder;
void race_send_speedaward_alltimebest(float msg);
+void race_send_rankings_cnt(float msg);
+
void race_SendRankings(float pos, float prevpos, float del, float msg);
-void race_RetractPlayer();
+void race_RetractPlayer(entity this);
+
+void race_InitSpectator();
-#endif
+spawnfunc(target_checkpoint);