bygfoot/src/misc.h

148 lines
3.5 KiB
C

/*
misc.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 MISC_H
#define MISC_H
#include "bygfoot.h"
#define misc_int_to_char(number) g_strdup_printf("%d", number)
#define query_misc_string_contains(haystack, needle) (g_strstr_len(haystack, strlen(haystack), needle) != NULL)
void
misc_print_error(GError **error, gboolean abort_program);
void
misc_swap_int(gint *first, gint *second);
void
misc_swap_gpointer(gpointer *first, gpointer *second);
GPtrArray*
misc_separate_strings(gchar *string);
GPtrArray*
misc_randomise_g_pointer_array(GPtrArray *array);
void
misc_print_grouped_int(gint number, gchar *buf);
gboolean
query_integer_is_in_array(gint item, gint *array, gint max);
gint
misc_int_compare(gint first, gint second);
gint
misc_float_compare(gfloat first, gfloat second);
const gchar*
misc_strip_definitions_root(gchar *directory);
gboolean
query_misc_string_starts_with(const gchar *string, GList *list);
gboolean
query_misc_string_in_array(const gchar *string, const GPtrArray *array);
gboolean
query_misc_integer_is_in_g_array(gint item, GArray *array);
void
misc_string_replace_token(gchar *string, const gchar *token,
const gchar *replacement);
gfloat
misc_get_age_from_birth(gint birth_year, gint birth_month);
const gchar*
misc_skip_spaces(const gchar* s);
const gchar*
misc_parse_value(const gchar *s, gint *value);
const gchar*
misc_parse_expression(const gchar *s, gint *result);
const gchar*
misc_parse_comparison(const gchar *s, gint *result);
const gchar*
misc_parse_and(const gchar *s, gint *result);
const gchar*
misc_parse(const gchar *s, gint *result);
GPtrArray*
misc_copy_ptr_array(const GPtrArray *array);
void
misc_string_assign(gchar **string, const gchar *contents);
void
misc_string_choose_random(gchar *string);
void
misc_string_replace_expressions(gchar *string);
void
misc_string_replace_tokens(gchar *string, GPtrArray **token_rep);
gboolean
misc_parse_condition(const gchar *condition, GPtrArray **token_rep);
void
misc_token_add(GPtrArray **token_rep, gint token_idx,
gchar *replacement);
void
misc_token_remove(GPtrArray **token_rep, gint idx);
void
misc_string_get_parenthesised(const gchar *string, gchar *dest);
void
misc_string_replace_parenthesised(gchar *string, const gchar *paren,
const gchar *replacement);
gboolean
misc_string_replace_all_tokens(GPtrArray **token_rep,
const gchar *text_tokens, gchar *dest);
void
misc_token_add_bool(GPtrArray **token_rep, gint token_idx,
gboolean value);
gint
misc_alphabetic_compare(gconstpointer a, gconstpointer b);
GArray *
misc_parse_condition_fast(const gchar *condition);
gboolean
misc_evaluate_condition(const GArray *condition, GPtrArray **token_rep);
#endif