diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-06-28 16:38:35 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-06-28 16:38:35 +0000 |
| commit | 2d776fcd61be168e1ff0ff2e4a5e71835e7cea19 (patch) | |
| tree | 7cf274897bf540d5332d446f583ffd066e4e2e1d /src/screen_setting.c | |
| parent | b877ae23ac5d380ab3aa48d7724045cf4883b186 (diff) | |
- prekopanie adresarovej struktury, prva cast
git-svn-id: http://opensvn.csie.org/tuxanci_ng@77 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/screen_setting.c')
| -rw-r--r-- | src/screen_setting.c | 527 |
1 files changed, 0 insertions, 527 deletions
diff --git a/src/screen_setting.c b/src/screen_setting.c deleted file mode 100644 index 5a42135..0000000 --- a/src/screen_setting.c +++ /dev/null @@ -1,527 +0,0 @@ - -#include <stdio.h> -#include <stdlib.h> -#include <assert.h> - -#include "main.h" -#include "language.h" -#include "interface.h" -#include "screen.h" -#include "image.h" -#include "music.h" -#include "sound.h" -#include "fake_audio.h" - -#include "screen_mainMenu.h" -#include "list.h" -#include "homeDirector.h" -#include "screen_setting.h" -#include "tux.h" -#include "textFile.h" -#include "configFile.h" -#include "director.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" - -static widget_image_t *image_backgorund; - -static widget_button_t *button_back; - -static widget_label_t *label_count_round; -static widget_label_t *label_name_player1; -static widget_label_t *label_name_player2; -static widget_label_t *label_ai; - -#ifndef NO_SOUND -static widget_label_t *label_music; -static widget_label_t *label_sound; -#endif - -static widget_check_t *check[ITEM_COUNT]; -#ifndef NO_SOUND -static widget_check_t *check_music; -static widget_check_t *check_sound; -#endif - -static widget_image_t *image_gun_dual_revolver; -static widget_image_t *image_gun_scatter; -static widget_image_t *image_gun_tommy; -static widget_image_t *image_gun_lasser; -static widget_image_t *image_gun_mine; -static widget_image_t *image_gun_bombball; - -static widget_image_t *image_bonus_speed; -static widget_image_t *image_bonus_shot; -static widget_image_t *image_bonus_teleport; -static widget_image_t *image_bonus_ghost; -static widget_image_t *image_bonus_4x; -static widget_image_t *image_bonus_hidden; - -static widget_textfield_t *textfield_count_cound; -static widget_textfield_t *textfield_name_player1; -static widget_textfield_t *textfield_name_player2; - -static widget_select_t *select_ai; - -static textFile_t *configFile; - -void startScreenSetting() -{ - playMusic("menu", MUSIC_GROUP_BASE); -} - -void drawScreenSetting() -{ - int i; - - drawWidgetImage(image_backgorund); - - drawWidgetLabel(label_count_round); - drawWidgetLabel(label_name_player1); - drawWidgetLabel(label_name_player2); - drawWidgetLabel(label_ai); - -#ifndef NO_SOUND - drawWidgetLabel(label_music); - drawWidgetLabel(label_sound); -#endif - - drawWidgetTextfield(textfield_count_cound); - drawWidgetTextfield(textfield_name_player1); - drawWidgetTextfield(textfield_name_player2); - - drawWidgetImage(image_gun_dual_revolver); - drawWidgetImage(image_gun_scatter); - drawWidgetImage(image_gun_tommy); - drawWidgetImage(image_gun_lasser); - drawWidgetImage(image_gun_mine); - drawWidgetImage(image_gun_bombball); - - drawWidgetImage(image_bonus_speed); - drawWidgetImage(image_bonus_shot); - drawWidgetImage(image_bonus_teleport); - drawWidgetImage(image_bonus_ghost); - drawWidgetImage(image_bonus_4x); - drawWidgetImage(image_bonus_hidden); - -#ifndef NO_SOUND - drawWidgetCheck(check_music); - drawWidgetCheck(check_sound); -#endif - - for( i = GUN_DUAL_SIMPLE ; i <= GUN_BOMBBALL ; i++ ) - { - drawWidgetCheck(check[i]); - } - - for( i = BONUS_SPEED ; i <= BONUS_HIDDEN ; i++ ) - { - drawWidgetCheck(check[i]); - } - - drawWidgetSelect(select_ai); - - drawWidgetButton(button_back); -} - -void eventScreenSetting() -{ - int i; -/* - int x, y; - - getMousePosition(&x, &y); - - if( isMouseClicked() ) - { - printf("x = %d y = %d\n", x, y); - } -*/ - eventWidgetTextfield(textfield_count_cound); - eventWidgetTextfield(textfield_name_player1); - eventWidgetTextfield(textfield_name_player2); - -#ifndef NO_SOUND - eventWidgetCheck(check_music); - eventWidgetCheck(check_sound); -#endif - - for( i = GUN_DUAL_SIMPLE ; i <= GUN_BOMBBALL ; i++ ) - { - eventWidgetCheck(check[i]); - } - - for( i = BONUS_SPEED ; i <= BONUS_HIDDEN ; i++ ) - { - eventWidgetCheck(check[i]); - } - - eventWidgetSelect(select_ai); - - eventWidgetButton(button_back); -} - -void stopScreenSetting() -{ -} - -static void eventWidget(void *p) -{ - widget_button_t *button; - widget_check_t *check; - - button = (widget_button_t *)(p); - check = (widget_check_t *)(p); - - if( button == button_back ) - { - setScreen("mainMenu"); - } - -#ifndef NO_SOUND - if( check == check_music ) - { - setMusicActive( check_music->status ); - } - - if( check == check_sound ) - { - setSoundActive( check_sound->status ); - } -#endif -} - -static void initSettingFile() -{ - char path[STR_PATH_SIZE]; - char val[STR_SIZE]; - - sprintf(path, "%s/tuxanci-ng.conf", getHomeDirector()); - - configFile = loadTextFile(path); - - if( configFile == NULL ) - { - fprintf(stderr, "Don't load %s\n", path); - fprintf(stderr, "I create %s\n", path); - - configFile = newTextFile(path); - } - - if( configFile == NULL ) - { - fprintf(stderr, "Don't create %s\n", path); - return; - } - - loadValueFromConfigFile(configFile, "COUNT_ROUND", val, STR_SIZE, "15"); - strcpy(textfield_count_cound->text, val); - loadValueFromConfigFile(configFile, "NAME_PLAYER_RIGHT", val, STR_SIZE, "name1"); - strcpy(textfield_name_player1->text, val); - loadValueFromConfigFile(configFile, "NAME_PLAYER_LEFT", val, STR_SIZE, "name2"); - strcpy(textfield_name_player2->text, val); - - loadValueFromConfigFile(configFile, "GUN_DUAL_SIMPLE", val, STR_SIZE, "YES"); - check[GUN_DUAL_SIMPLE]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "GUN_SCATTER", val, STR_SIZE, "YES"); - check[GUN_SCATTER]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "GUN_TOMMY", val, STR_SIZE, "YES"); - check[GUN_TOMMY]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "GUN_LASSER", val, STR_SIZE, "YES"); - check[GUN_LASSER]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "GUN_MINE", val, STR_SIZE, "YES"); - check[GUN_MINE]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "GUN_BOMBBALL", val, STR_SIZE, "YES"); - check[GUN_BOMBBALL]->status = isYesOrNO(val); - - loadValueFromConfigFile(configFile, "BONUS_SPEED", val, STR_SIZE, "YES"); - check[BONUS_SPEED]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "BONUS_SHOT", val, STR_SIZE, "YES"); - check[BONUS_SHOT]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "BONUS_TELEPORT", val, STR_SIZE, "YES"); - check[BONUS_TELEPORT]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "BONUS_GHOST", val, STR_SIZE, "YES"); - check[BONUS_GHOST]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "BONUS_4X", val, STR_SIZE, "YES"); - check[BONUS_4X]->status = isYesOrNO(val); - loadValueFromConfigFile(configFile, "BONUS_HIDDEN", val, STR_SIZE, "YES"); - check[BONUS_HIDDEN]->status = isYesOrNO(val); - -#ifndef NO_SOUND - loadValueFromConfigFile(configFile, "MUSIC", val, STR_SIZE, "YES"); - check_music->status = isYesOrNO(val); - - loadValueFromConfigFile(configFile, "SOUND", val, STR_SIZE, "YES"); - check_sound->status = isYesOrNO(val); -#endif - - saveTextFile(configFile); -} - -static void saveAndDestroyConfigFile() -{ - if( configFile == NULL ) - { - fprintf(stderr, "i can't save configure, " - "because config file not created !\n"); - - return; - } - - setValueInConfigFile(configFile, "COUNT_ROUND", textfield_count_cound->text ); - setValueInConfigFile(configFile, "NAME_PLAYER_RIGHT", textfield_name_player1->text ); - setValueInConfigFile(configFile, "NAME_PLAYER_LEFT", textfield_name_player2->text ); - - setValueInConfigFile(configFile, "GUN_DUAL_SIMPLE", getYesOrNo(check[GUN_DUAL_SIMPLE]->status) ); - setValueInConfigFile(configFile, "GUN_SCATTER", getYesOrNo(check[GUN_SCATTER]->status) ); - setValueInConfigFile(configFile, "GUN_TOMMY", getYesOrNo(check[GUN_TOMMY]->status) ); - setValueInConfigFile(configFile, "GUN_LASSER", getYesOrNo(check[GUN_LASSER]->status) ); - setValueInConfigFile(configFile, "GUN_MINE", getYesOrNo(check[GUN_MINE]->status) ); - setValueInConfigFile(configFile, "GUN_BOMBBALL", getYesOrNo(check[GUN_BOMBBALL]->status) ); - setValueInConfigFile(configFile, "BONUS_SPEED", getYesOrNo(check[BONUS_SPEED]->status) ); - setValueInConfigFile(configFile, "BONUS_SHOT", getYesOrNo(check[BONUS_SHOT]->status) ); - setValueInConfigFile(configFile, "BONUS_TELEPORT", getYesOrNo(check[BONUS_TELEPORT]->status) ); - setValueInConfigFile(configFile, "BONUS_GHOST", getYesOrNo(check[BONUS_GHOST]->status) ); - setValueInConfigFile(configFile, "BONUS_4X", getYesOrNo(check[BONUS_4X]->status) ); - setValueInConfigFile(configFile, "BONUS_HIDDEN", getYesOrNo(check[BONUS_HIDDEN]->status) ); - -#ifndef NO_SOUND - setValueInConfigFile(configFile, "MUSIC", getYesOrNo(check_music->status) ); - setValueInConfigFile(configFile, "SOUND", getYesOrNo(check_sound->status) ); -#endif - - saveTextFile(configFile); - destroyTextFile(configFile); -} - -static void findModulesAI() -{ - director_t *listModules; - int i; - - listModules = loadDirector(PATH_MODULES); - - for( i = 0 ; i < listModules->list->count ; i++) - { - char *line; - - line = (char *)listModules->list->list[i]; - - if( strstr(line,"AI") != NULL && - strstr(line,".so") != NULL ) - { - addToWidgetSelect(select_ai, line); - } - } - - destroyDirector(listModules); -} - -void initScreenSetting() -{ - SDL_Surface *image; - int i; - - image = getImage(IMAGE_GROUP_BASE, "screen_main"); - image_backgorund = newWidgetImage(0, 0, image); - - button_back = newWidgetButton(getMyText("BACK"), WINDOW_SIZE_X-200, WINDOW_SIZE_Y-100, eventWidget); - - label_count_round = newWidgetLabel(getMyText("COUNT_ROUND"), 100, WINDOW_SIZE_Y-200, WIDGET_LABEL_LEFT); - label_name_player1 = newWidgetLabel(getMyText("NAME_PLAYER1"), 100, WINDOW_SIZE_Y-160, WIDGET_LABEL_LEFT); - label_name_player2 = newWidgetLabel(getMyText("NAME_PLAYER2"), 100, WINDOW_SIZE_Y-120, WIDGET_LABEL_LEFT); - label_ai = newWidgetLabel("AI :", 430, 400, WIDGET_LABEL_LEFT); - - textfield_count_cound = newWidgetTextfield(getParamElse("--count", "15"), 110+label_count_round->w, WINDOW_SIZE_Y-200); - - textfield_name_player1 = newWidgetTextfield(getParamElse("--name1", "name1"), 110+label_name_player1->w, WINDOW_SIZE_Y-160); - textfield_name_player2 = newWidgetTextfield(getParamElse("--name2", "name2"), 110+label_name_player2->w, WINDOW_SIZE_Y-120); - -#ifndef NO_SOUND - label_music = newWidgetLabel(getMyText("MUSIC"), 100, WINDOW_SIZE_Y-85, WIDGET_LABEL_LEFT); - check_music = newWidgetCheck(label_music->x + label_music->w + 10, - WINDOW_SIZE_Y-80, isMusicActive() , eventWidget); - label_sound = newWidgetLabel(getMyText("SOUND"), check_music->x + WIDGET_CHECK_WIDTH + 10, - WINDOW_SIZE_Y-85, WIDGET_LABEL_LEFT); - check_sound = newWidgetCheck(label_sound->x + label_sound->w + 10, - WINDOW_SIZE_Y-80, isSoundActive() , eventWidget); -#endif - - 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] = newWidgetCheck(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] = newWidgetCheck(x, y, TRUE, NULL); - } - - image_gun_dual_revolver = newWidgetImage(110 + WIDGET_CHECK_WIDTH, 200, getImage(IMAGE_GROUP_BASE, "panel_dual")); - image_gun_scatter = newWidgetImage(110 + WIDGET_CHECK_WIDTH, 250, getImage(IMAGE_GROUP_BASE, "panel_scatter")); - image_gun_tommy = newWidgetImage(110 + WIDGET_CHECK_WIDTH, 300, getImage(IMAGE_GROUP_BASE, "panel_tommy")); - image_gun_lasser = newWidgetImage(260 + WIDGET_CHECK_WIDTH, 200, getImage(IMAGE_GROUP_BASE, "panel_lasser")); - image_gun_mine = newWidgetImage(260 + WIDGET_CHECK_WIDTH, 250, getImage(IMAGE_GROUP_BASE, "panel_mine")); - image_gun_bombball = newWidgetImage(260 + WIDGET_CHECK_WIDTH, 300, getImage(IMAGE_GROUP_BASE, "panel_bombball")); - - image_bonus_speed = newWidgetImage(430 + WIDGET_CHECK_WIDTH, 200, getImage(IMAGE_GROUP_BASE, "panel_speed"));; - image_bonus_shot = newWidgetImage(430 + WIDGET_CHECK_WIDTH, 250, getImage(IMAGE_GROUP_BASE, "panel_shot"));; - image_bonus_teleport = newWidgetImage(430 + WIDGET_CHECK_WIDTH, 300, getImage(IMAGE_GROUP_BASE, "panel_teleport"));; - image_bonus_ghost = newWidgetImage(580 + WIDGET_CHECK_WIDTH, 200, getImage(IMAGE_GROUP_BASE, "panel_ghost"));; - image_bonus_4x = newWidgetImage(580 + WIDGET_CHECK_WIDTH, 250, getImage(IMAGE_GROUP_BASE, "panel_4x"));; - image_bonus_hidden = newWidgetImage(580 + WIDGET_CHECK_WIDTH, 300, getImage(IMAGE_GROUP_BASE, "panel_hidden"));; - - registerScreen( newScreen("setting", startScreenSetting, eventScreenSetting, - drawScreenSetting, stopScreenSetting) ); - - initSettingFile(); - - select_ai = newWidgetSelect(label_ai->x, label_ai->y+40, eventWidget); - addToWidgetSelect(select_ai, "none"); - findModulesAI(); - -#ifndef NO_SOUND - eventWidget(check_music); - eventWidget(check_sound); -#endif -} - -void getSettingNameRight(char *s) -{ - strcpy(s, textfield_name_player1->text); -} - -void getSettingNameLeft(char *s) -{ - strcpy(s, textfield_name_player2->text); -} - -void getSettingCountRound(int *n) -{ - *n = atoi( textfield_count_cound->text ); -} - -char* getSettingAI() -{ - return (char *) select_ai->list->list[ select_ai->select ]; -} - -bool_t isSettingAnyItem() -{ - int i; - - for( i = GUN_DUAL_SIMPLE ; i <= GUN_BOMBBALL ; i++ ) - { - if( check[i]->status == TRUE ) - { - return TRUE; - } - } - - for( i = BONUS_SPEED ; i <= BONUS_HIDDEN ; i++ ) - { - if( check[i]->status == TRUE ) - { - return TRUE; - } - } - - return FALSE; -} - -bool_t isSettingItem(int item) -{ - return check[item]->status; -} - -void quitScreenSetting() -{ - int i; - - saveAndDestroyConfigFile(); - - destroyWidgetImage(image_backgorund); - - destroyWidgetLabel(label_count_round); - destroyWidgetLabel(label_name_player1); - destroyWidgetLabel(label_name_player2); - destroyWidgetLabel(label_ai); - -#ifndef NO_SOUND - destroyWidgetLabel(label_music); - destroyWidgetLabel(label_sound); -#endif - - destroyWidgetTextfield(textfield_count_cound); - destroyWidgetTextfield(textfield_name_player1); - destroyWidgetTextfield(textfield_name_player2); - - destroyWidgetImage(image_gun_dual_revolver); - destroyWidgetImage(image_gun_scatter); - destroyWidgetImage(image_gun_tommy); - destroyWidgetImage(image_gun_lasser); - destroyWidgetImage(image_gun_mine); - destroyWidgetImage(image_gun_bombball); - - destroyWidgetImage(image_bonus_speed); - destroyWidgetImage(image_bonus_shot); - destroyWidgetImage(image_bonus_teleport); - destroyWidgetImage(image_bonus_ghost); - destroyWidgetImage(image_bonus_4x); - destroyWidgetImage(image_bonus_hidden); - -#ifndef NO_SOUND - destroyWidgetCheck(check_music); - destroyWidgetCheck(check_sound); -#endif - - for( i = GUN_DUAL_SIMPLE ; i <= GUN_BOMBBALL ; i++ ) - { - destroyWidgetCheck(check[i]); - } - - for( i = BONUS_SPEED ; i <= BONUS_HIDDEN ; i++ ) - { - destroyWidgetCheck(check[i]); - } - - destroyWidgetSelect(select_ai); - - destroyWidgetButton(button_back); -} - |