bygfoot/src/variables.h

152 lines
3.8 KiB
C

/*
variables.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.
*/
#include "bygfoot.h"
#include "enums.h"
#include "live_game_struct.h"
#include "news_struct.h"
#include "option_struct.h"
/**
* The main variable of the game.
* @see Country
*/
Country country;
/**
* List of all non-user countries.
* @see Country
*/
GPtrArray *country_list;
/** The array of human players. @see #User */
GArray *users;
/** The season, week and week round numbers.
We keep track of the time in the game with these variables. */
gint season, week, week_round;
/** Array of options that get read from
bygfoot.conf. */
OptionList options;
/** Array of constants that get read from the constants
file specified in bygfoot.conf. */
OptionList constants;
/** Array of constants affecting game appearance rather than
behaviour. */
OptionList constants_app;
/** Array with internal settings. */
OptionList settings;
/* Array holding string replacement tokens. */
OptionList tokens;
/** The array containing the live game commentary strings. */
GArray *lg_commentary[LIVE_GAME_EVENT_END];
/** The array containing the news article strings. */
GArray *news[NEWS_ARTICLE_TYPE_END];
/** Newspaper containing the news articles. */
NewsPaper newspaper;
/** The array containing players to be transfered.
@see TransferPlayer */
GArray *transfer_list;
/** Array with season statistics (updated at the
end of each season. */
GArray *season_stats;
/** Array of available CPU strategies. */
GArray *strategies;
/** Array of current and recent bets. */
GArray *bets[2];
/** Loan interest for the current week. */
gfloat current_interest;
/** Array of jobs in the job exchange. */
GArray *jobs;
/** Some counters we use. */
gint counters[COUNT_END];
/** These help us keep track of what's happening. */
gint status[6];
/** A pointer we store temporary stuff in. */
gpointer statp;
/** The currently selected row in the treeview. */
gint selected_row;
/** An array of name lists. */
GArray *name_lists;
/** The struct containing the window pointers. */
Windows window;
/** The variables for non-user live games (which aren't shown). */
GArray *live_games;
/** The index of the current user in the #users array. */
gint cur_user;
gint timeout_id;
GRand *rand_generator;
/** Debug information. */
gint debug_level, debug_output;
/**
The list of directories the file_find_support_file() function
searches for support files (e.g. pixmaps or text files).
@see file_find_support_file()
@see file_add_support_directory_recursive()
*/
GList *support_directories;
/**
* The list of root defintions directories found (ending in definitions)
*/
GList *root_definitions_directories;
/**
* The list of defintions directories found
*/
GList *definitions_directories;
/** The name of the current save file (gets updated when a game is
saved or loaded). */
gchar *save_file;
/** Whether we are using a Unix system or Windows. */
gboolean os_is_unix;
/** The hints displayed in the splash screen. */
OptionList hints;