]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/race.qh
Merge branch 'drjaska/balance/mortar' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / race.qh
index b51c1a9c749ed0ae05d596b8d0ae988ea5ccdedc..acf35b2b0a89e09ed1a4e4634b85a50de6cb3e46 100644 (file)
@@ -1,5 +1,18 @@
-#ifndef RACE_H
-#define RACE_H
+#pragma once
+
+bool autocvar_g_allow_checkpoints;
+
+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
@@ -10,6 +23,7 @@ float race_timelimit;
 .float race_place;
 .float race_started;
 .float race_completed;
+.float race_laptime;
 float race_completing;
 
 .float race_movetime; // for reading
@@ -20,6 +34,8 @@ float race_completing;
 .entity race_respawn_spotref; // try THIS spawn in case you respawn
 
 // definitions for functions used outside race.qc
+void write_recordmarker(entity pl, float tstart, float dt);
+
 float race_PreviousCheckpoint(float f);
 float race_NextCheckpoint(float f);
 void race_AbandonRaceCheck(entity p);
@@ -30,39 +46,34 @@ float race_readTime(string map, float pos);
 string race_readUID(string map, float pos);
 string race_readName(string map, float pos);
 
+void race_checkAndWriteName(entity player);
+void race_ClearRecords();
+void race_SendNextCheckpoint(entity e, float spec);
+void race_PreparePlayer(entity this);
+void race_send_recordtime(float msg);
+
+void race_setTime(string map, float t, string myuid, string mynetname, entity e, bool showmessage);
 
-#ifdef SVQC
 float speedaward_speed;
 string speedaward_holder;
 string speedaward_uid;
-#endif
-void race_send_speedaward(float msg)
-{
-#ifdef SVQC
-       // send the best speed of the round
-       WriteByte(msg, SVC_TEMPENTITY);
-       WriteByte(msg, TE_CSQC_RACE);
-       WriteByte(msg, RACE_NET_SPEED_AWARD);
-       WriteInt24_t(msg, floor(speedaward_speed+0.5));
-       WriteString(msg, speedaward_holder);
-#endif
-}
-
-#ifdef SVQC
+
 float speedaward_alltimebest;
 string speedaward_alltimebest_holder;
 string speedaward_alltimebest_uid;
-#endif
-void race_send_speedaward_alltimebest(float msg)
-{
-#ifdef SVQC
-       // send the best speed
-       WriteByte(msg, SVC_TEMPENTITY);
-       WriteByte(msg, TE_CSQC_RACE);
-       WriteByte(msg, RACE_NET_SPEED_AWARD_BEST);
-       WriteInt24_t(msg, floor(speedaward_alltimebest+0.5));
-       WriteString(msg, speedaward_alltimebest_holder);
-#endif
-}
-
-#endif
+
+void race_send_speedaward(float msg);
+void race_send_speedaward_alltimebest(float msg);
+void race_SpeedAwardFrame(entity player);
+
+void race_send_rankings_cnt(float msg);
+void race_SendRanking(float pos, float prevpos, float del, float msg);
+void race_SendAll(entity player, bool only_rankings);
+
+void race_RetractPlayer(entity this);
+
+void race_InitSpectator();
+
+string uid2name(string myuid);
+
+spawnfunc(target_checkpoint);