6 const float ST_RACE_LAPS = 1;
8 bool g_race_qualifying;
10 float speedaward_lastsent;
11 float speedaward_lastupdate;
14 float race_highest_place_spawn; // number of places; a place higher gets spawned at 0
15 float race_lowest_place_spawn; // where to spawn in qualifying
21 .float race_completed;
23 float race_completing;
25 .float race_movetime; // for reading
26 .float race_movetime_frac; // fractional accumulator for higher accuracy (helper for writing)
27 .float race_movetime_count; // integer accumulator
29 .float race_respawn_checkpoint;
30 .entity race_respawn_spotref; // try THIS spawn in case you respawn
32 IntrusiveList g_racecheckpoints;
33 STATIC_INIT(g_racecheckpoints) { g_racecheckpoints = IL_NEW(); }
35 // definitions for functions used outside race.qc
36 float race_PreviousCheckpoint(float f);
37 float race_NextCheckpoint(float f);
38 void race_AbandonRaceCheck(entity p);
39 void race_ImposePenaltyTime(entity pl, float penalty, string reason);
40 void race_StartCompleting();
41 float race_GetFractionalLapCount(entity e);
42 float race_readTime(string map, float pos);
43 string race_readUID(string map, float pos);
44 string race_readName(string map, float pos);
45 void race_ClearRecords();
46 void race_SendNextCheckpoint(entity e, float spec);
47 void race_PreparePlayer(entity this);
48 void race_send_recordtime(float msg);
49 void race_send_speedaward(float msg);
50 void race_setTime(string map, float t, string myuid, string mynetname, entity e, bool showmessage);
52 float speedaward_speed;
53 string speedaward_holder;
54 string speedaward_uid;
56 float speedaward_alltimebest;
57 string speedaward_alltimebest_holder;
58 string speedaward_alltimebest_uid;
60 void race_send_speedaward(float msg);
62 void race_send_speedaward_alltimebest(float msg);
64 void race_SendRankings(float pos, float prevpos, float del, float msg);
66 void race_RetractPlayer(entity this);
68 void race_InitSpectator();