25#define MAX_NUM_TEAM_SLOTS MAX_NUM_PLAYER_SLOTS
70#define team_slots_iterate(_tslot) \
71 if (team_slots_initialised()) { \
72 struct team_slot *_tslot = team_slot_first(); \
73 for (; NULL != _tslot; _tslot = team_slot_next(_tslot)) {
75#define team_slots_iterate_end \
80#define teams_iterate(_pteam) \
81 team_slots_iterate(_tslot) { \
82 struct team *_pteam = team_slot_get_team(_tslot); \
85#define teams_iterate_end \
87 } team_slots_iterate_end;
void team_destroy(struct team *pteam) fc__attribute((nonnull(1)))
int team_index(const struct team *pteam)
struct team * team_by_number(const int team_id)
const char * team_name_translation(const struct team *pteam)
struct team_slot * team_slot_by_number(int team_id)
void team_slots_free(void)
const char * team_rule_name(const struct team *pteam)
struct team * team_slot_get_team(const struct team_slot *tslot)
const char * team_slot_name_translation(const struct team_slot *tslot)
struct team_slot * team_slot_first(void)
const char * team_slot_defined_name(const struct team_slot *tslot)
int team_number(const struct team *pteam)
bool team_slots_initialised(void)
struct team_slot * team_slot_next(struct team_slot *tslot)
bool team_add_player(struct player *pplayer, struct team *pteam)
struct team * team_new(struct team_slot *tslot)
int team_pretty_name(const struct team *pteam, char *buf, size_t buf_len)
int team_slot_index(const struct team_slot *tslot)
struct team_slot * team_slot_by_rule_name(const char *team_name)
const struct player_list * team_members(const struct team *pteam)
void team_slots_init(void)
void team_remove_player(struct player *pplayer)
int team_slot_count(void)
bool team_slot_is_used(const struct team_slot *tslot)
void team_slot_set_defined_name(struct team_slot *tslot, const char *team_name)
const char * team_slot_rule_name(const struct team_slot *tslot)