/** * sound_cb * @widget: widget * @data: callback data * * Description: * handles message from the 'sound' checkbox **/ static void sound_cb (GtkWidget * widget, gpointer data) { properties.sound = GTK_TOGGLE_BUTTON (widget)->active; games_sound_enable (properties.sound); conf_set_enable_sound (properties.sound); }
void Tetris::initOptions () { gchar *bgcolourstr; themeno = themeNameToNumber (confGetString (KEY_OPTIONS_GROUP, KEY_THEME, "plain")); field->setTheme (themeno); preview->setTheme (themeno); startingLevel = confGetInt (KEY_OPTIONS_GROUP, KEY_STARTING_LEVEL, 1); if (startingLevel < 1) startingLevel = 1; if (startingLevel > 20) startingLevel = 20; games_sound_enable (confGetBoolean (KEY_OPTIONS_GROUP, KEY_SOUND, FALSE)); useTarget = confGetBoolean (KEY_OPTIONS_GROUP, KEY_USE_TARGET, FALSE); do_preview = confGetBoolean (KEY_OPTIONS_GROUP, KEY_DO_PREVIEW, TRUE); if (preview) { preview->enable(do_preview); } random_block_colors = confGetBoolean (KEY_OPTIONS_GROUP, KEY_RANDOM_BLOCK_COLORS, FALSE); rotateCounterClockWise = confGetBoolean (KEY_OPTIONS_GROUP, KEY_ROTATE_COUNTER_CLOCKWISE, TRUE); line_fill_height = confGetInt (KEY_OPTIONS_GROUP, KEY_LINE_FILL_HEIGHT, 0); if (line_fill_height < 0) line_fill_height = 0; if (line_fill_height > 19) line_fill_height = 19; line_fill_prob = confGetInt (KEY_OPTIONS_GROUP, KEY_LINE_FILL_PROBABILITY, 0); if (line_fill_prob < 0) line_fill_prob = 0; if (line_fill_prob > 10) line_fill_prob = 10; moveLeft = games_conf_get_keyval_with_default (KEY_CONTROLS_GROUP, KEY_MOVE_LEFT, GDK_Left); moveRight = games_conf_get_keyval_with_default (KEY_CONTROLS_GROUP, KEY_MOVE_RIGHT, GDK_Right); moveDown = games_conf_get_keyval_with_default (KEY_CONTROLS_GROUP, KEY_MOVE_DOWN, GDK_Down); moveDrop = games_conf_get_keyval_with_default (KEY_CONTROLS_GROUP, KEY_MOVE_DROP, GDK_Pause); moveRotate = games_conf_get_keyval_with_default (KEY_CONTROLS_GROUP, KEY_MOVE_ROTATE, GDK_Up); movePause = games_conf_get_keyval_with_default (KEY_CONTROLS_GROUP, KEY_MOVE_PAUSE, GDK_space); bgcolourstr = confGetString (KEY_OPTIONS_GROUP, KEY_BG_COLOUR, "Black"); gdk_color_parse (bgcolourstr, &bgcolour); g_free (bgcolourstr); usebg = confGetBoolean (KEY_OPTIONS_GROUP, KEY_USE_BG_IMAGE, TRUE); }
/** * load_properties * * Description: * loads the game properties from a file * * Returns: * TRUE if the properties can be loaded, FALSE otherwise **/ gboolean load_properties (void) { gchar *cname = NULL; gint i; gchar *bgcolour; load_keys (); bgcolour = games_conf_get_string_with_default (KEY_PREFERENCES_GROUP, KEY_BACKGROUND_COLOR, "#7590AE"); gdk_color_parse (bgcolour, &properties.bgcolour); set_background_color (properties.bgcolour); properties.themename = games_conf_get_string_with_default (KEY_PREFERENCES_GROUP, KEY_THEME, "robots"); cname = games_conf_get_string_with_default (KEY_PREFERENCES_GROUP, KEY_CONFIGURATION, "classic_robots"); properties.selected_config = 0; for (i = 0; i < num_game_configs (); ++i) { if (!strcmp (cname, game_config_name (i))) { properties.selected_config = i; break; } } g_free (cname); properties.safe_moves = games_conf_get_boolean (KEY_PREFERENCES_GROUP, KEY_SAFE_MOVES, NULL); properties.super_safe_moves = games_conf_get_boolean (KEY_PREFERENCES_GROUP, KEY_SUPER_SAFE_MOVES, NULL); properties.sound = games_conf_get_boolean (KEY_PREFERENCES_GROUP, KEY_ENABLE_SOUND, NULL); properties.show_toolbar = games_conf_get_boolean (KEY_PREFERENCES_GROUP, KEY_SHOW_TOOLBAR, NULL); games_sound_enable (properties.sound); set_game_graphics (properties.themename); set_game_config (properties.selected_config); keyboard_set (properties.keys); return TRUE; }
void gnibbles_properties_update (GnibblesProperties * tmp) { gint i; gchar buffer[256]; gchar *category; gchar *color_name; tmp->human = games_conf_get_integer (KEY_PREFERENCES_GROUP, KEY_NUM_WORMS, NULL); if (tmp->human < 0) tmp->human = 0; else if (tmp->human > NUMWORMS) tmp->human = NUMWORMS; tmp->ai = games_conf_get_integer (KEY_PREFERENCES_GROUP, KEY_NUM_AI, NULL); if (tmp->ai < 0) tmp->ai = 0; else if (tmp->ai > NUMWORMS) tmp->ai = NUMWORMS; tmp->numworms = tmp->human + tmp->ai; tmp->gamespeed = games_conf_get_integer (KEY_PREFERENCES_GROUP, KEY_SPEED, NULL); if (tmp->gamespeed < 1) tmp->gamespeed = 2; else if (tmp->gamespeed > MAX_SPEED) tmp->gamespeed = MAX_SPEED; tmp->fakes = games_conf_get_boolean (KEY_PREFERENCES_GROUP, KEY_FAKES, NULL); tmp->random = games_conf_get_boolean (KEY_PREFERENCES_GROUP, KEY_RANDOM, NULL); tmp->startlevel = games_conf_get_integer (KEY_PREFERENCES_GROUP, KEY_START_LEVEL, NULL); if (tmp->startlevel < 1) tmp->startlevel = 1; if (tmp->startlevel > MAXLEVEL) tmp->startlevel = MAXLEVEL; tmp->sound = games_conf_get_boolean (KEY_PREFERENCES_GROUP, KEY_SOUND, NULL); games_sound_enable (tmp->sound); tmp->tilesize = games_conf_get_integer (KEY_PREFERENCES_GROUP, KEY_TILE_SIZE, NULL); if (tmp->tilesize < 1) tmp->tilesize = 5; if (tmp->tilesize > 30) tmp->tilesize = 30; for (i = 0; i < NUMWORMS; i++) { tmp->wormprops[i] = g_slice_new0 (GnibblesWormProps); g_snprintf (buffer, sizeof (buffer), KEY_WORM_COLOR, i); color_name = games_conf_get_string_with_default (KEY_PREFERENCES_GROUP, buffer, "red"); tmp->wormprops[i]->color = colorval_from_name (color_name); g_free (color_name); if (tmp->wormprops[i]->color < 1) tmp->wormprops[i]->color = (i % NUM_COLORS) + WORMRED; if (tmp->wormprops[i]->color > WORMRED + NUM_COLORS) tmp->wormprops[i]->color = (i % NUM_COLORS) + WORMRED; g_snprintf (buffer, sizeof (buffer), KEY_WORM_REL_MOVE, i); tmp->wormprops[i]->relmove = games_conf_get_boolean (KEY_PREFERENCES_GROUP, buffer, NULL); g_snprintf (buffer, sizeof (buffer), KEY_WORM_UP, i); tmp->wormprops[i]->up = games_conf_get_keyval_with_default (KEY_PREFERENCES_GROUP, buffer, GDK_Up); g_snprintf (buffer, sizeof (buffer), KEY_WORM_DOWN, i); tmp->wormprops[i]->down = games_conf_get_keyval_with_default (KEY_PREFERENCES_GROUP, buffer, GDK_Down); g_snprintf (buffer, sizeof (buffer), KEY_WORM_LEFT, i); tmp->wormprops[i]->left = games_conf_get_keyval_with_default (KEY_PREFERENCES_GROUP, buffer, GDK_Left); g_snprintf (buffer, sizeof (buffer), KEY_WORM_RIGHT, i); tmp->wormprops[i]->right = games_conf_get_keyval_with_default (KEY_PREFERENCES_GROUP, buffer, GDK_Right); } category = g_strdup_printf ("%d.%d", tmp->gamespeed, tmp->fakes); games_scores_set_category (highscores, category); g_free (category); }