diff --git a/src/gtkballs.c b/src/gtkballs.c index f0bee44..1c10c4c 100644 --- a/src/gtkballs.c +++ b/src/gtkballs.c @@ -24,161 +24,166 @@ #include "mainwin.h" gint destroy_lines(gboolean count_score) { - gint i = game_destroy_lines(count_score); - if(count_score && i) { - gint ml = rules_get_destroy(); - gint sc = game_get_score(); - gint nsc = sc + ml * 2 + (i - ml) * (i - ml) * 2 + (1 - pref_get_show_next_colors()); - mw_set_user_score(nsc); - } - draw_board(); - return i; + gint i = game_destroy_lines(count_score); + if (count_score && i) { + gint ml = rules_get_destroy(); + gint sc = game_get_score(); + gint nsc = sc + ml * 2 + (i - ml) * (i - ml) * 2 + (1 - pref_get_show_next_colors()); + mw_set_user_score(nsc); + } + draw_board(); + return i; } void undo_move(GtkWidget *widget, gpointer data) { - game_restore_state_from_undo(); - stop_jumping_animation(); - mw_set_hi_score(game_get_hi_score()); - mw_set_user_score(game_get_score()); - menu_set_sensitive_undo(FALSE); - draw_board(); - draw_next_balls(); + game_restore_state_from_undo(); + stop_jumping_animation(); + mw_set_hi_score(game_get_hi_score()); + mw_set_user_score(game_get_score()); + menu_set_sensitive_undo(FALSE); + draw_board(); + draw_next_balls(); } gint random_color(void) { - return (gint)(((gfloat)rules_get_colors()) * rand() / (RAND_MAX + 1.0)); + return (gint)(((gfloat)rules_get_colors()) * rand() / (RAND_MAX + 1.0)); } gint random_cell(void) { - return (gint)(((gfloat)rules_get_width() * rules_get_height()) * rand() / (RAND_MAX + 1.0)); + return (gint)(((gfloat)rules_get_width() * rules_get_height()) * rand() / (RAND_MAX + 1.0)); } -void new_turn(gint number, gboolean first) { - gint i, k = 0, free_cells_number, c; - struct score_board scoreboard[10]; +void new_turn(gint number, gboolean first) +{ + gint i, k = 0, free_cells_number, c; + struct score_board scoreboard[10]; - do { - timer_start(); + do { + timer_start(); - k = 0; - if(number < rules_get_next()) { - number = rules_get_next(); - } + k = 0; + if (number < rules_get_next()) { + number = rules_get_next(); + } - if((free_cells_number = game_count_free_cells()) <= number) { - if(!read_score(scoreboard, NULL, NULL) || - game_get_score() > scoreboard[9].score) { - input_name_dialog(); - } - new_game(); - return; - } + if ((free_cells_number = game_count_free_cells()) <= number) { + if (!read_score(scoreboard, NULL, NULL) || + game_get_score() > scoreboard[9].score) { + input_name_dialog(); + } + new_game(); + return; + } - do { - i = random_cell(); - if(board_get_at_node(i) < 1) { - if(first) { - c = 1 + random_color(); - board_set_at_node(i, c); - } else { - board_set_at_node(i, next_get(k)); - } - k++; - } else { - continue; - } - /* I hope that k!=0 */ - if(k <= rules_get_next()) { - next_set(k - 1, 1 + random_color()); - } - } while(k < ((number < free_cells_number) ? number : free_cells_number)); + do { + i = random_cell(); + if (board_get_at_node(i) < 1) { + if (first) { + c = 1 + random_color(); + board_set_at_node(i, c); + } else { + board_set_at_node(i, next_get(k)); + } + k++; + } else { + continue; + } + /* I hope that k!=0 */ + if (k <= rules_get_next()) { + next_set(k - 1, 1 + random_color()); + } + } while (k < ((number < free_cells_number) ? number : free_cells_number)); - if(!first) { - draw_next_balls(); - /* if line complete, don't increase user's score--it's not his merit */ - destroy_lines(FALSE); - } - } while((free_cells_number = game_count_free_cells()) == rules_get_width() * rules_get_height()); + if (!first) { + draw_next_balls(); + /* if line complete, don't increase user's score--it's not his merit */ + destroy_lines(FALSE); + } + } while ((free_cells_number = game_count_free_cells()) == rules_get_width() * rules_get_height()); } -void new_game(void){ - stop_jumping_animation(); - game_init_game(NULL, NULL); - menu_set_sensitive_undo(FALSE); - new_turn(rules_get_destroy(), TRUE); - mw_set_user_score(0); - draw_next_balls(); - draw_board(); +void new_game(void) +{ + stop_jumping_animation(); + game_init_game(NULL, NULL); + menu_set_sensitive_undo(FALSE); + new_turn(rules_get_destroy(), TRUE); + mw_set_user_score(0); + draw_next_balls(); + draw_board(); } -int main(int argc, char **argv) { - gint i; - struct timeval tv; - struct timezone tz; - struct score_board scoreboard[10]; - gchar *err, *mapfile; - /* setup all i18n stuff */ +int main(int argc, char **argv) +{ + gint i; + struct timeval tv; + struct timezone tz; + struct score_board scoreboard[10]; + gchar *err, *mapfile; + + /* setup all i18n stuff */ #ifdef ENABLE_NLS - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); - bind_textdomain_codeset(PACKAGE, "UTF8"); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + bind_textdomain_codeset(PACKAGE, "UTF8"); #endif /* ENABLE_NLS */ - /* drop privileges after spawning child with extra privs */ - if(score_setup() == -1) return 1; - setregid(getgid(), getgid()); + /* drop privileges after spawning child with extra privs */ + if (score_setup() == -1) + return 1; + setregid(getgid(), getgid()); - /* initialize random seed */ - gettimeofday(&tv, &tz); - srand((unsigned int)tv.tv_usec); + /* initialize random seed */ + gettimeofday(&tv, &tz); + srand((unsigned int)tv.tv_usec); - /* load user's preferences */ - load_preferences(); + /* load user's preferences */ + load_preferences(); - /* initialize gtk */ - gtk_init(&argc, &argv); + /* initialize gtk */ + gtk_init (&argc, &argv); - /* load theme, fallback to default if specifed theme cannot be loaded */ - if(!(i = load_theme(pref_get_theme_name()))) { - if(strcmp(pref_get_theme_name(), pref_get_default_theme_name()) != 0) { - err = g_strdup_printf(_("Failed loading theme \"%s\"! Trying \"%s\"\n"), pref_get_theme_name(), pref_get_default_theme_name()); - ut_simple_message_box(err); - g_free(err); - pref_set_theme_name(pref_get_default_theme_name()); - i = load_theme(pref_get_theme_name()); - } - if(!i) { - err = g_strdup_printf(_("Failed loading theme \"%s\"! Exiting.\n"), pref_get_theme_name()); - ut_simple_message_box(err); - g_free(err); - return 1; - } - } + /* load theme, fallback to default if specifed theme cannot be loaded */ + if (!(i = load_theme(pref_get_theme_name()))) { + if (strcmp(pref_get_theme_name(), pref_get_default_theme_name()) != 0) { + err = g_strdup_printf(_("Failed loading theme \"%s\"! Trying \"%s\"\n"), pref_get_theme_name(), pref_get_default_theme_name()); + ut_simple_message_box(err); + g_free(err); + pref_set_theme_name(pref_get_default_theme_name()); + i = load_theme(pref_get_theme_name()); + } + if (!i) { + err = g_strdup_printf(_("Failed loading theme \"%s\"! Exiting.\n"), pref_get_theme_name()); + ut_simple_message_box(err); + g_free(err); + return 1; + } + } - /* create main application window */ - mw_create(rules_get_width() * theme_get_width(), rules_get_height() * theme_get_height()); + /* create main application window */ + mw_create(rules_get_width() * theme_get_width(), rules_get_height() * theme_get_height()); - /* initialize and start new game */ - game_init_game(NULL, NULL); - new_turn(rules_get_destroy(), TRUE); - remake_board(-1, 1); + /* initialize and start new game */ + game_init_game(NULL, NULL); + new_turn(rules_get_destroy(), TRUE); + remake_board(-1, 1); - /* read and set scores */ - if(!read_score(scoreboard, NULL, NULL)) { - ut_simple_message_box(_("Unable to read score.\n")); - } - mw_set_hi_score(scoreboard[0].score); - mw_set_user_score(0); + /* read and set scores */ + if (!read_score(scoreboard, NULL, NULL)) { + ut_simple_message_box(_("Unable to read score.\n")); + } + mw_set_hi_score(scoreboard[0].score); + mw_set_user_score(0); - mapfile = g_strconcat(getenv("HOME"), G_DIR_SEPARATOR_S, ".gtkballs", - G_DIR_SEPARATOR_S, "accel.map", NULL); - gtk_accel_map_load(mapfile); + mapfile = g_strconcat(getenv("HOME"), G_DIR_SEPARATOR_S, ".gtkballs", + G_DIR_SEPARATOR_S, "accel.map", NULL); + gtk_accel_map_load (mapfile); - /* enter main application loop */ - gtk_main(); + /* enter main application loop */ + gtk_main(); - gtk_accel_map_save(mapfile); + gtk_accel_map_save (mapfile); - return 0; + return 0; }