bygfoot/src/cup.h

130 lines
3.3 KiB
C

/*
cup.h
Bygfoot Football Manager -- a small and simple GTK2-based
football management game.
http://bygfoot.sourceforge.net
Copyright (C) 2005 Gyözö Both (gyboth@bygfoot.com)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef CUP_H
#define CUP_H
#include "bygfoot.h"
#include "cup_struct.h"
#include "fixture_struct.h"
#include "league_struct.h"
#define cup_get_last_tables_round(clid) &g_array_index(cup_from_clid(clid)->rounds, CupRound, cup_has_tables(clid))
#define cup_get_last_tables(clid) g_array_index(cup_from_clid(clid)->rounds, CupRound, cup_has_tables(clid)).tables
#define query_cup_has_property(clid, string) query_misc_string_in_array(string, cup_from_clid(clid)->properties)
#define query_cup_is_international(clid) query_cup_has_property(clid, "international")
#define query_cup_is_national(clid) query_cup_has_property(clid, "national")
#define query_cup_hide(clid) query_cup_has_property(clid, "hide")
#define query_cup_weak_at_home(clid) query_cup_has_property(clid, "weak_at_home")
Cup
cup_new(gboolean new_id);
CupChooseTeam
cup_choose_team_new(void);
CupRound
cup_round_new(void);
void
cup_reset(Cup *cup);
void
cup_get_team_pointers(Cup *cup, gint round);
void
cup_load_choose_team_generate(Cup *cup, CupRound *cup_round, const CupChooseTeam *ct);
void
cup_load_choose_team(Cup *cup, GPtrArray *teams, const CupChooseTeam *ct);
gint
cup_get_first_week_of_cup_round(Cup *cup, gint cup_round);
gint
cup_get_matchdays_in_cup_round(const Cup *cup, gint round);
gint
cup_round_get_number_of_teams(const Cup *cup, gint round);
gint
cup_round_get_byes(const Cup *cup, gint round);
gint
cup_round_get_new_teams(const CupRound *cup_round);
Cup*
cup_from_clid(gint clid);
Cup*
cup_from_sid(const gchar* sid);
void
cup_round_name(const Fixture *fix, gchar *buf);
GPtrArray*
cup_get_teams_sorted(const Cup *cup);
gint
cup_compare_success_tables(const Team *tm1, const Team *tm2, const Cup *cup, gint round);
gint
cup_compare_success(gconstpointer a, gconstpointer b, gpointer data);
gint
cup_compare_success_knockout(const Team *tm1, const Team *tm2, const GArray *fixtures);
gint
cup_get_round_reached(const Team *tm, const GArray *fixtures);
gboolean
query_cup_begins(const Cup *cup);
void
cup_get_choose_team_league_cup(const CupChooseTeam *ct,
const League **league, const Cup **cup);
gint
cup_get_last_week_from_first(const Cup *cup, gint first_week);
void
cup_get_round_name(const Cup *cup, gint round, gchar *buf);
gint
cup_has_tables(gint clid);
Team*
cup_get_winner(const Cup *cup);
gboolean
query_cup_transfer(void);
gchar*
cup_get_highlight_colour(const Cup *cup);
#endif