From f1ddc12b68b4e4c8087962de25260470e6df2bea Mon Sep 17 00:00:00 2001 From: Connor Thomson Date: Tue, 8 Sep 2026 18:27:39 -0700 Subject: Add tuxanci2 files --- src/screen/setting.c | 511 --------------------------------------------------- 1 file changed, 511 deletions(-) delete mode 100644 src/screen/setting.c (limited to 'src/screen/setting.c') diff --git a/src/screen/setting.c b/src/screen/setting.c deleted file mode 100644 index 2e1b615..0000000 --- a/src/screen/setting.c +++ /dev/null @@ -1,511 +0,0 @@ -#include -#include -#include - -#include "main.h" -#include "list.h" -#include "tux.h" -#include "textFile.h" -#include "director.h" -#include "homeDirector.h" -#include "arenaFile.h" -#include "config.h" - -#include "configFile.h" -#include "interface.h" -#include "screen.h" -#include "image.h" -#include "hotKey.h" - -#ifndef NO_SOUND -#include "music.h" -#include "sound.h" -#endif - -#include "mainMenu.h" -#include "setting.h" -#include "settingKeys.h" -#include "settingKeys.h" -#include "choiceArena.h" - -#include "widget.h" -#include "widget_label.h" -#include "widget_button.h" -#include "widget_image.h" -#include "widget_textfield.h" -#include "widget_check.h" -#include "widget_select.h" -#include "widget_statusbar.h" - -static widget_t *image_backgorund; - -static widget_t *button_back; -static widget_t *button_keys; /* setting of keycontrols */ - -static widget_t *label_count_round; -static widget_t *label_name_player1; -static widget_t *label_name_player2; -static widget_t *label_ai; - -#ifndef NO_SOUND -static widget_t *label_music; -static widget_t *label_sound; -#endif - -static widget_t *label_weapons; -static widget_t *label_bonuses; - -static widget_t *check[ITEM_COUNT]; -#ifndef NO_SOUND -static widget_t *check_music; -static widget_t *check_sound; -#endif - -static widget_t *image_gun_dual_revolver; -static widget_t *image_gun_scatter; -static widget_t *image_gun_tommy; -static widget_t *image_gun_lasser; -static widget_t *image_gun_mine; -static widget_t *image_gun_bombball; - -static widget_t *image_bonus_speed; -static widget_t *image_bonus_shot; -static widget_t *image_bonus_teleport; -static widget_t *image_bonus_ghost; -static widget_t *image_bonus_4x; -static widget_t *image_bonus_hidden; - -static widget_t *textfield_count_cound; -static widget_t *textfield_name_player1; -static widget_t *textfield_name_player2; - -static widget_t *check_ai; - -static widget_t *statusbar; - -static void hotkey_escape() -{ - screen_set("mainMenu"); -} - -void screen_startSetting() -{ -#ifndef NO_SOUND - music_play("menu", MUSIC_GROUP_BASE); -#endif - - hot_key_register(SDLK_ESCAPE, hotkey_escape); -} - -void setting_draw() -{ - int i; - - wid_image_draw(image_backgorund); - - label_draw(label_weapons); - label_draw(label_bonuses); - - label_draw(label_count_round); - label_draw(label_name_player1); - label_draw(label_ai); - -#ifndef NO_SOUND - label_draw(label_music); - label_draw(label_sound); -#endif - - text_field_draw(textfield_count_cound); - text_field_draw(textfield_name_player1); - - if (check_get_status(check_ai) == FALSE) { - label_draw(label_name_player2); - text_field_draw(textfield_name_player2); - } - - wid_image_draw(image_gun_dual_revolver); - wid_image_draw(image_gun_scatter); - wid_image_draw(image_gun_tommy); - wid_image_draw(image_gun_lasser); - wid_image_draw(image_gun_mine); - wid_image_draw(image_gun_bombball); - - wid_image_draw(image_bonus_speed); - wid_image_draw(image_bonus_shot); - wid_image_draw(image_bonus_teleport); - wid_image_draw(image_bonus_ghost); - wid_image_draw(image_bonus_4x); - wid_image_draw(image_bonus_hidden); - -#ifndef NO_SOUND - check_draw(check_music); - check_draw(check_sound); -#endif - - for (i = GUN_DUAL_SIMPLE; i <= GUN_BOMBBALL; i++) { - check_draw(check[i]); - } - - for (i = BONUS_SPEED; i <= BONUS_HIDDEN; i++) { - check_draw(check[i]); - } - - check_draw(check_ai); - - statusbar_draw(statusbar); - - button_draw(button_back); - button_draw(button_keys); -} - -void setting_event() -{ - int i; - - text_field_event(textfield_count_cound); - text_field_event(textfield_name_player1); - - if (check_get_status(check_ai) == FALSE) { - text_field_event(textfield_name_player2); - } - -#ifndef NO_SOUND - check_event(check_music); - check_event(check_sound); -#endif - - for (i = GUN_DUAL_SIMPLE; i <= GUN_BOMBBALL; i++) { - check_event(check[i]); - } - - for (i = BONUS_SPEED; i <= BONUS_HIDDEN; i++) { - check_event(check[i]); - } - - check_event(check_ai); - - statusbar_event(statusbar); - - button_event(button_back); - button_event(button_keys); -} - -void stopScreenSetting() -{ - hot_key_unregister(SDLK_ESCAPE); -} - -static void eventWidget(void *p) -{ - widget_t *my_button; - widget_t *my_check; - - my_button = (widget_t *) p; - my_check = (widget_t *) p; - - if (my_button == button_back) { - screen_set("mainMenu"); - } - - if (my_button == button_keys) { - screen_set("settingKeys"); - } - -#ifndef NO_SOUND - if (my_check == check_music) { - music_set_active(check_get_status(check_music)); - } - - if (my_check == check_sound) { - sound_set_active(check_get_status(check_sound)); - } -#endif -} - -static void initSettingFile() -{ - text_field_set_text(textfield_count_cound, get_string_static(config_get_int_value(CFG_COUNT_ROUND))); - text_field_set_text(textfield_name_player1, config_get_str_value(CFG_NAME_RIGHT)); - text_field_set_text(textfield_name_player2, config_get_str_value(CFG_NAME_LEFT)); - - check_set_status(check[GUN_DUAL_SIMPLE], config_get_int_value(CFG_GUN_DUAL_SIMPLE)); - check_set_status(check[GUN_SCATTER], config_get_int_value(CFG_GUN_SCATTER)); - check_set_status(check[GUN_TOMMY], config_get_int_value(CFG_GUN_TOMMY)); - check_set_status(check[GUN_LASSER], config_get_int_value(CFG_GUN_LASSER)); - check_set_status(check[GUN_MINE], config_get_int_value(CFG_GUN_MINE)); - check_set_status(check[GUN_BOMBBALL], config_get_int_value(CFG_GUN_BOMBBALL)); - - check_set_status(check[BONUS_SPEED], config_get_int_value(CFG_BONUS_SPEED)); - check_set_status(check[BONUS_SHOT], config_get_int_value(CFG_BONUS_SHOT)); - check_set_status(check[BONUS_TELEPORT], config_get_int_value(CFG_BONUS_TELEPORT)); - check_set_status(check[BONUS_GHOST], config_get_int_value(CFG_BONUS_GHOST)); - check_set_status(check[BONUS_4X], config_get_int_value(CFG_BONUS_4X)); - check_set_status(check[BONUS_HIDDEN], config_get_int_value(CFG_BONUS_HIDDEN)); - - check_set_status(check_ai, config_get_int_value(CFG_AI)); - -#ifndef NO_SOUND - check_set_status(check_music, config_get_int_value(CFG_MUSIC)); - check_set_status(check_sound, config_get_int_value(CFG_SOUND)); -#endif -} - -static void saveAndDestroyConfigFile() -{ - config_set_int_value(CFG_COUNT_ROUND, atoi(text_field_get_text(textfield_count_cound))); - config_set_str_value(CFG_NAME_RIGHT, text_field_get_text(textfield_name_player1)); - config_set_str_value(CFG_NAME_LEFT, text_field_get_text(textfield_name_player2)); - - config_set_int_value(CFG_GUN_DUAL_SIMPLE, check_get_status(check[GUN_DUAL_SIMPLE])); - config_set_int_value(CFG_GUN_SCATTER, check_get_status(check[GUN_SCATTER])); - config_set_int_value(CFG_GUN_TOMMY, check_get_status(check[GUN_TOMMY])); - config_set_int_value(CFG_GUN_LASSER, check_get_status(check[GUN_LASSER])); - config_set_int_value(CFG_GUN_MINE, check_get_status(check[GUN_MINE])); - config_set_int_value(CFG_GUN_BOMBBALL, check_get_status(check[GUN_BOMBBALL])); - config_set_int_value(CFG_BONUS_SPEED, check_get_status(check[BONUS_SPEED])); - config_set_int_value(CFG_BONUS_SHOT, check_get_status(check[BONUS_SHOT])); - config_set_int_value(CFG_BONUS_TELEPORT, check_get_status(check[BONUS_TELEPORT])); - config_set_int_value(CFG_BONUS_GHOST, check_get_status(check[BONUS_GHOST])); - config_set_int_value(CFG_BONUS_4X, check_get_status(check[BONUS_4X])); - config_set_int_value(CFG_BONUS_HIDDEN, check_get_status(check[BONUS_HIDDEN])); - - config_set_int_value(CFG_AI, check_get_status(check_ai)); - -#ifndef NO_SOUND - config_set_int_value(CFG_MUSIC, check_get_status(check_music)); - config_set_int_value(CFG_SOUND, check_get_status(check_sound)); -#endif -} - -void setting_init() -{ - image_t *image; - int i; - - image = image_get(IMAGE_GROUP_BASE, "screen_main"); - image_backgorund = wid_image_new(0, 0, image); - - button_back = button_new(_("Back"), WINDOW_SIZE_X - 200, WINDOW_SIZE_Y - 100, eventWidget); - - button_keys = button_new(_("Controls"), WINDOW_SIZE_X - 200, - button_back->y - WIDGET_BUTTON_HEIGHT - 10, eventWidget); - -#ifndef NO_SOUND - label_music = label_new(_("Music:"), 100, WINDOW_SIZE_Y - 85, WIDGET_LABEL_LEFT); - - check_music = check_new(label_music->x + label_music->w + 10, WINDOW_SIZE_Y - 80, - music_is_active(), eventWidget); - label_sound = label_new(_("Sound:"), check_music->x + WIDGET_CHECK_WIDTH + 10, - WINDOW_SIZE_Y - 85, WIDGET_LABEL_LEFT); - - check_sound = check_new(label_sound->x + label_sound->w + 10, WINDOW_SIZE_Y - 80, - sound_is_active(), eventWidget); - - label_ai = label_new(_("AI:"), check_sound->x + WIDGET_CHECK_WIDTH + 10, - WINDOW_SIZE_Y - 85, WIDGET_LABEL_LEFT); -#else - label_ai = label_new(_("AI:"), 100, WINDOW_SIZE_Y - 85, WIDGET_LABEL_LEFT); -#endif - - check_ai = check_new(label_ai->x + label_ai->w + 10, WINDOW_SIZE_Y - 80, FALSE, eventWidget); - - label_count_round = label_new(_("No. of rounds:"), 100, WINDOW_SIZE_Y - 200, WIDGET_LABEL_LEFT); - label_name_player1 = label_new(_("Player 1:"), 100, WINDOW_SIZE_Y - 160, WIDGET_LABEL_LEFT); - label_name_player2 = label_new(_("Player 2:"), 100, WINDOW_SIZE_Y - 120, WIDGET_LABEL_LEFT); - - textfield_count_cound = text_field_new(getParamElse("--count", "15"), - WIDGET_TEXTFIELD_FILTER_NUM, - 110 + label_count_round->w, - WINDOW_SIZE_Y - 200); - - textfield_name_player1 = text_field_new(getParamElse("--name1", NAME_PLAYER_RIGHT), - WIDGET_TEXTFIELD_FILTER_ALPHANUM, - 110 + label_count_round->w, WINDOW_SIZE_Y - 160); - - textfield_name_player2 = text_field_new(getParamElse("--name2", NAME_PLAYER_LEFT), - WIDGET_TEXTFIELD_FILTER_ALPHANUM, - 110 + label_count_round->w, WINDOW_SIZE_Y - 120); - - label_weapons = label_new(_("Weapons:"), 100, 160, WIDGET_LABEL_LEFT); - label_bonuses = label_new(_("Bonuses:"), 430, 160, WIDGET_LABEL_LEFT); - - for (i = GUN_DUAL_SIMPLE; i <= GUN_BOMBBALL; i++) { - int x = 0; - int y = 0; - - if (i >= GUN_DUAL_SIMPLE && i <= GUN_TOMMY) { - x = 100; - y = 200 + (i - GUN_DUAL_SIMPLE) * 50; - } - - if (i >= GUN_LASSER && i <= GUN_BOMBBALL) { - x = 250; - y = 200 + (i - GUN_LASSER) * 50; - } - - check[i] = check_new(x, y, TRUE, NULL); - } - - for (i = BONUS_SPEED; i <= BONUS_HIDDEN; i++) { - int x = 0; - int y = 0; - - if (i >= BONUS_SPEED && i <= BONUS_TELEPORT) { - x = 430; - y = 200 + (i - BONUS_SPEED) * 50; - } - - if (i >= BONUS_GHOST && i <= BONUS_HIDDEN) { - x = 580; - y = 200 + (i - BONUS_GHOST) * 50; - } - - check[i] = check_new(x, y, TRUE, NULL); - } - - image_gun_dual_revolver = wid_image_new(110 + WIDGET_CHECK_WIDTH, 200, image_get(IMAGE_GROUP_BASE, "panel_dual")); - image_gun_scatter = wid_image_new(110 + WIDGET_CHECK_WIDTH, 250, image_get(IMAGE_GROUP_BASE, "panel_scatter")); - image_gun_tommy = wid_image_new(110 + WIDGET_CHECK_WIDTH, 300, image_get(IMAGE_GROUP_BASE, "panel_tommy")); - image_gun_lasser = wid_image_new(260 + WIDGET_CHECK_WIDTH, 200,image_get(IMAGE_GROUP_BASE, "panel_lasser")); - image_gun_mine = wid_image_new(260 + WIDGET_CHECK_WIDTH, 250, image_get(IMAGE_GROUP_BASE, "panel_mine")); - image_gun_bombball = wid_image_new(260 + WIDGET_CHECK_WIDTH, 300, image_get(IMAGE_GROUP_BASE, "panel_bombball")); - image_bonus_speed = wid_image_new(430 + WIDGET_CHECK_WIDTH, 200, image_get(IMAGE_GROUP_BASE, "panel_speed"));; - image_bonus_shot = wid_image_new(430 + WIDGET_CHECK_WIDTH, 250, image_get(IMAGE_GROUP_BASE, "panel_shot"));; - image_bonus_teleport = wid_image_new(430 + WIDGET_CHECK_WIDTH, 300, image_get(IMAGE_GROUP_BASE, "panel_teleport"));; - image_bonus_ghost = wid_image_new(580 + WIDGET_CHECK_WIDTH, 200, image_get(IMAGE_GROUP_BASE, "panel_ghost"));; - image_bonus_4x = wid_image_new(580 + WIDGET_CHECK_WIDTH, 250, image_get(IMAGE_GROUP_BASE, "panel_4x"));; - image_bonus_hidden = wid_image_new(580 + WIDGET_CHECK_WIDTH, 300, image_get(IMAGE_GROUP_BASE, "panel_hidden"));; - - statusbar = statusbar_new(400, 350); - statusbar_add(statusbar, check[GUN_DUAL_SIMPLE], _("Dual simple gun")); - statusbar_add(statusbar, check[GUN_SCATTER], _("Scatter")); - statusbar_add(statusbar, check[GUN_TOMMY], _("Tommy")); - statusbar_add(statusbar, check[GUN_LASSER], _("Laser beam")); - statusbar_add(statusbar, check[GUN_MINE], _("Mine")); - statusbar_add(statusbar, check[GUN_BOMBBALL], _("Bomb ball")); - - statusbar_add(statusbar, check[BONUS_SPEED], _("Speed bonus")); - statusbar_add(statusbar, check[BONUS_SHOT], _("Infinite ammo")); - statusbar_add(statusbar, check[BONUS_TELEPORT], _("Unkillable bonus")); - statusbar_add(statusbar, check[BONUS_GHOST], _("No-walls bonus")); - statusbar_add(statusbar, check[BONUS_4X], _("1 shot to 4 directions bonus")); - statusbar_add(statusbar, check[BONUS_HIDDEN], _("Unvisibility bonus")); - - screen_register(screen_new("setting", screen_startSetting, setting_event, - setting_draw, stopScreenSetting)); - - initSettingFile(); - -#ifndef NO_SOUND - eventWidget(check_music); - eventWidget(check_sound); -#endif -} - -void public_server_get_setting_name_right(char *s) -{ - strcpy(s, text_field_get_text(textfield_name_player1)); -} - -void public_server_get_settingNameLeft(char *s) -{ - if (check_get_status(check_ai)) { - strcpy(s, NAME_AI); - } else { - strcpy(s, text_field_get_text(textfield_name_player2)); - } -} - -void public_server_get_settingCountRound(int *n) -{ - *n = atoi(text_field_get_text(textfield_count_cound)); -} - -bool_t setting_is_ai() -{ - return check_get_status(check_ai); -} - -bool_t setting_is_any_item() -{ - int i; - - for (i = GUN_DUAL_SIMPLE; i <= GUN_BOMBBALL; i++) { - if (check_get_status(check[i]) == TRUE) { - return TRUE; - } - } - - for (i = BONUS_SPEED; i < BONUS_HIDDEN; i++) { - if (check_get_status(check[i]) == TRUE) { - return TRUE; - } - } - - return FALSE; -} - -bool_t setting_is_item(int item) -{ - return check_get_status(check[item]); -} - -void setting_quit() -{ - int i; - - saveAndDestroyConfigFile(); - - wid_image_destroy(image_backgorund); - - label_destroy(label_weapons); - label_destroy(label_bonuses); - - label_destroy(label_count_round); - label_destroy(label_name_player1); - label_destroy(label_ai); - -#ifndef NO_SOUND - label_destroy(label_music); - label_destroy(label_sound); -#endif - label_destroy(label_name_player2); - text_field_destroy(textfield_name_player2); - - text_field_destroy(textfield_name_player1); - text_field_destroy(textfield_count_cound); - - wid_image_destroy(image_gun_dual_revolver); - wid_image_destroy(image_gun_scatter); - wid_image_destroy(image_gun_tommy); - wid_image_destroy(image_gun_lasser); - wid_image_destroy(image_gun_mine); - wid_image_destroy(image_gun_bombball); - - wid_image_destroy(image_bonus_speed); - wid_image_destroy(image_bonus_shot); - wid_image_destroy(image_bonus_teleport); - wid_image_destroy(image_bonus_ghost); - wid_image_destroy(image_bonus_4x); - wid_image_destroy(image_bonus_hidden); - -#ifndef NO_SOUND - check_destroy(check_music); - check_destroy(check_sound); -#endif - - check_destroy(check_ai); - - for (i = GUN_DUAL_SIMPLE; i <= GUN_BOMBBALL; i++) { - check_destroy(check[i]); - } - - for (i = BONUS_SPEED; i <= BONUS_HIDDEN; i++) { - check_destroy(check[i]); - } - - statusbar_destroy(statusbar); - - button_destroy(button_back); - button_destroy(button_keys); -} -- cgit v1.2.3