3 // todo: accept the number of teams as a parameter
4 void GameRules_teams(bool value);
7 * Disabling score disables the "score" column on the scoreboard
9 void GameRules_score_enabled(bool value);
11 void GameRules_limit_score(int limit);
12 void GameRules_limit_lead(int limit);
13 void GameRules_limit_time(int limit);
14 void GameRules_limit_time_qualifying(int limit);
17 * Set any unspecified rules to their defaults
19 void GameRules_limit_fallbacks();
21 // derive score_enabled from !frags_enabled
24 * @param teams a bitmask of active teams
25 * @param spprio player score priority (if frags aren't enabled)
26 * @param stprio team score priority (if frags aren't enabled)
28 #define GameRules_scoring(teams, spprio, stprio, fields) MACRO_BEGIN { \
29 _GameRules_scoring_begin((teams), (spprio), (stprio)); \
30 noref void(entity, string, float) field = _GameRules_scoring_field; \
31 /* todo: just have the one `field` function */ \
32 noref void(int, string, float) field_team = _GameRules_scoring_field_team; \
34 _GameRules_scoring_end(); \
37 void _GameRules_scoring_begin(int teams, float spprio, float stprio);
38 void _GameRules_scoring_field(entity i, string label, int scoreflags);
39 void _GameRules_scoring_field_team(float i, string label, int scoreflags);
40 void _GameRules_scoring_end();