3 .string stored_netname; // TODO: store this information independently of race-based gamemodes
8 const float ST_RACE_LAPS = 1;
10 int autocvar_g_cts_send_rankings_cnt = 15;
12 bool g_race_qualifying;
14 float speedaward_lastsent;
15 float speedaward_lastupdate;
18 float race_highest_place_spawn; // number of places; a place higher gets spawned at 0
19 float race_lowest_place_spawn; // where to spawn in qualifying
25 .float race_completed;
27 float race_completing;
29 .float race_movetime; // for reading
30 .float race_movetime_frac; // fractional accumulator for higher accuracy (helper for writing)
31 .float race_movetime_count; // integer accumulator
33 .float race_respawn_checkpoint;
34 .entity race_respawn_spotref; // try THIS spawn in case you respawn
36 // definitions for functions used outside race.qc
37 float race_PreviousCheckpoint(float f);
38 float race_NextCheckpoint(float f);
39 void race_AbandonRaceCheck(entity p);
40 void race_ImposePenaltyTime(entity pl, float penalty, string reason);
41 void race_StartCompleting();
42 float race_GetFractionalLapCount(entity e);
43 float race_readTime(string map, float pos);
44 string race_readUID(string map, float pos);
45 string race_readName(string map, float pos);
46 void race_ClearRecords();
47 void race_SendNextCheckpoint(entity e, float spec);
48 void race_PreparePlayer(entity this);
49 void race_send_recordtime(float msg);
50 void race_send_speedaward(float msg);
51 void race_setTime(string map, float t, string myuid, string mynetname, entity e, bool showmessage);
53 float speedaward_speed;
54 string speedaward_holder;
55 string speedaward_uid;
57 float speedaward_alltimebest;
58 string speedaward_alltimebest_holder;
59 string speedaward_alltimebest_uid;
61 void race_send_speedaward(float msg);
63 void race_send_speedaward_alltimebest(float msg);
65 void race_send_rankings_cnt(float msg);
67 void race_SendRankings(float pos, float prevpos, float del, float msg);
69 void race_RetractPlayer(entity this);
71 void race_InitSpectator();
73 spawnfunc(target_checkpoint);