From e86e2dbfc9df21589269225b313267204a070ad7 Mon Sep 17 00:00:00 2001 From: "p.kosyh" Date: Fri, 22 Apr 2011 09:02:12 +0000 Subject: [PATCH] settings are paged now --- lang/en.ini | 29 +++++++++++++++++++++----- lang/es.ini | 29 +++++++++++++++++++++----- lang/it.ini | 29 +++++++++++++++++++++----- lang/ru.ini | 27 ++++++++++++++++++++---- src/sdl-instead/config.c | 4 ++++ src/sdl-instead/menu.c | 45 ++++++++++++++++++++++++++++++++-------- src/sdl-instead/menu.h | 8 ++++++- 7 files changed, 142 insertions(+), 29 deletions(-) diff --git a/lang/en.ini b/lang/en.ini index 00bec06..b1ab8cf 100644 --- a/lang/en.ini +++ b/lang/en.ini @@ -51,19 +51,38 @@ KBD_MODE_SCROLL = Scroll FROM_THEME = Theme -SETTINGS_MENU = \ -Sound volume: <<< %d%% >>>\n\ -Sound quality: << %dHz >>\n\ -Music: %s Click sound: %s\n\ +SETTINGS_SND_MENU = \ +[Graphics][Sound][Other]\n\ +\n\ +Volume: <<< %d%% >>>\n\ +\n\ +Quality: << %dHz >>\n\ +\n\ +Music: %s\n\ +Click sound: %s\n\ +\n\ +Apply + +SETTINGS_GFX_MENU = \ +[Graphics][Sound][Other]\n\ +\n\ Resolution: <<%s>>\n\ Full screen: %s\n\ Font scaling: <<%d>>\n\ +\n\ Links highlighting: %s\n\ +Custom game themes: %s\n\ +\n\ +Apply + +SETTINGS_OTH_MENU = \ +[Graphics][Sound][Other]\n\ +\n\ Scrolling mode: %s\n\ Mouse filter: %s\n\ Keyboard mode: %s\n\ +\n\ Language: <<%s>>\n\ -Custom game themes: %s\n\ Аutosave: %s\n\ \n\ Apply diff --git a/lang/es.ini b/lang/es.ini index d411fb0..7f59dd7 100644 --- a/lang/es.ini +++ b/lang/es.ini @@ -51,19 +51,38 @@ KBD_MODE_SCROLL = Scroll FROM_THEME = Tema -SETTINGS_MENU = \ -Volumen Sonido: <<< %d%% >>>\n\ -Calidad Sonido: << %dHz >>\n\ -Música: %s Sonido Click: %s\n\ +SETTINGS_SND_MENU = \ +[Gráficos][Sonido][Otros]\n\ +\n\ +Volumen: <<< %d%% >>>\n\ +\n\ +Calidad: << %dHz >>\n\ +\n\ +Música: %s\n\ +Sonido Click: %s\n\ +\n\ +Aceptar + +SETTINGS_GFX_MENU = \ +[Gráficos][Sonido][Otros]\n\ +\n\ Resolución: <<%s>>\n\ Pantalla Completa: %s\n\ Escala de Fuente: <<%d>>\n\ +\n\ Resaltar Links: %s\n\ +Temas específicos del juego: %s\n\ +\n\ +Aceptar + +SETTINGS_OTH_MENU = \ +[Gráficos][Sonido][Otros]\n\ +\n\ Modo Scrolling: %s\n\ Filtrar Mouse: %s\n\ Modo Teclado: %s\n\ +\n\ Idioma: <<%s>>\n\ -Temas específicos del juego: %s\n\ AutoGuardar: %s\n\ \n\ Aceptar diff --git a/lang/it.ini b/lang/it.ini index 95ae937..5708f6d 100644 --- a/lang/it.ini +++ b/lang/it.ini @@ -51,19 +51,38 @@ KBD_MODE_SCROLL = Scroll FROM_THEME = Tema -SETTINGS_MENU = \ -Volume della Musica: <<< %d%% >>>\n\ -Qualità del Suono: << %dHz >>\n\ -Musica: %s Suono Click: %s\n\ +SETTINGS_SND_MENU = \ +[Grafica][Sound][Altri]\n\ +\n\ +Volume: <<< %d%% >>>\n\ +\n\ +Qualità: << %dHz >>\n\ +\n\ +Musica: %s\n\ +Suono Click: %s\n\ +\n\ +Applica + +SETTINGS_GFX_MENU = \ +[Grafica][Sound][Altri]\n\ +\n\ Risoluzione: <<%s>>\n\ Schermo intero: %s\n\ Dimensione dei Caratteri: <<%d>>\n\ +\n\ Evidenziazione dei Links: %s\n\ +Tema personalizzato del gioco: %s\n\ +\n\ +Applica + +SETTINGS_OTH_MENU = \ +[Grafica][Sound][Altri]\n\ +\n\ Modalità di Scorrimento: %s\n\ Filtro Mouse: %s\n\ Modalità Tastiera: %s\n\ +\n\ Lingua: <<%s>>\n\ -Tema personalizzato del gioco: %s\n\ Аutosalvataggio: %s\n\ \n\ Applica diff --git a/lang/ru.ini b/lang/ru.ini index 6858f71..1c99a84 100644 --- a/lang/ru.ini +++ b/lang/ru.ini @@ -52,19 +52,38 @@ KBD_MODE_SCROLL = Прокрутка FROM_THEME = Тема -SETTINGS_MENU = \ +SETTINGS_SND_MENU = \ +[Графика][Звук][Другое]\n\ +\n\ Громкость: <<< %d%% >>>\n\ -Качество звука: << %dГц >>\n\ -Музыка: %s Звук щелчка: %s\n\ +\n\ +Качество: << %dГц >>\n\ +\n\ +Музыка: %s\n\ +Звук щелчка: %s\n\ +\n\ +Применить + +SETTINGS_GFX_MENU = \ +[Графика][Звук][Другое]\n\ +\n\ Размер окна: <<%s>>\n\ Полный экран: %s\n\ Масштаб шрифта: <<%d>>\n\ +\n\ Подсветка ссылок: %s\n\ +Собственные темы игр: %s\n\ +\n\ +Применить + +SETTINGS_OTH_MENU = \ +[Графика][Звук][Другое]\n\ +\n\ Режим прокрутки: %s\n\ Фильтр мышки: %s\n\ Режим клавиатуры: %s\n\ +\n\ Язык: <<%s>>\n\ -Собственные темы игр: %s\n\ Автосохранение: %s\n\ \n\ Применить diff --git a/src/sdl-instead/config.c b/src/sdl-instead/config.c index 8a044ea..f8f3bdf 100644 --- a/src/sdl-instead/config.c +++ b/src/sdl-instead/config.c @@ -1,7 +1,11 @@ #include "externals.h" #include "internals.h" +#if defined(ANDROID) || defined(S60) || defined(_WIN32_WCE) +int opt_fsize = 12; +#else int opt_fsize = 0; +#endif #if defined(MAEMO) || defined(ANDROID) int opt_fs = 1; int opt_owntheme = 0; diff --git a/src/sdl-instead/menu.c b/src/sdl-instead/menu.c index f63bdca..4563c84 100644 --- a/src/sdl-instead/menu.c +++ b/src/sdl-instead/menu.c @@ -21,7 +21,9 @@ char *SELECT_SAVE_MENU = NULL; char *MAIN_MENU = NULL; char *ABOUT_MENU = NULL; char *BACK_MENU = NULL; -char *SETTINGS_MENU = NULL; +char *SETTINGS_SND_MENU = NULL; +char *SETTINGS_GFX_MENU = NULL; +char *SETTINGS_OTH_MENU = NULL; char *CUSTOM_THEME_MENU = NULL; char *OWN_THEME_MENU = NULL; char *SELECT_GAME_MENU = NULL; @@ -332,7 +334,7 @@ static char *opt_get_mode(void) } static int gtr = 0; - +static int menu_settings_num = 0; char *game_menu_gen(void) { if (cur_menu == menu_main) { @@ -341,10 +343,22 @@ char *game_menu_gen(void) snprintf(menu_buff, sizeof(menu_buff), ABOUT_MENU, VERSION); } else if (cur_menu == menu_settings) { char *kbd [KBD_MAX] = { KBD_MODE_SMART, KBD_MODE_LINKS, KBD_MODE_SCROLL }; - snprintf(menu_buff, sizeof(menu_buff), SETTINGS_MENU, - snd_vol_to_pcn(snd_volume_mus(-1)), snd_hz(), opt_music?ON:OFF, opt_click?ON:OFF, - opt_get_mode(), opt_fs?ON:OFF, opt_fsize, opt_hl?ON:OFF, opt_motion?ON:OFF, opt_filter?ON:OFF, kbd[opt_kbd], - langs[cur_lang].name, opt_owntheme?ON:OFF, opt_autosave?ON:OFF); + + switch (menu_settings_num) { + case 0: + snprintf(menu_buff, sizeof(menu_buff), SETTINGS_GFX_MENU, + opt_get_mode(), opt_fs?ON:OFF, opt_fsize, opt_hl?ON:OFF, opt_owntheme?ON:OFF); + break; + case 1: + snprintf(menu_buff, sizeof(menu_buff), SETTINGS_SND_MENU, + snd_vol_to_pcn(snd_volume_mus(-1)), snd_hz(), opt_music?ON:OFF, opt_click?ON:OFF); + break; + case 2: + snprintf(menu_buff, sizeof(menu_buff), SETTINGS_OTH_MENU, + opt_motion?ON:OFF, opt_filter?ON:OFF, kbd[opt_kbd], + langs[cur_lang].name, opt_autosave?ON:OFF); + break; + } } else if (cur_menu == menu_askquit) { snprintf(menu_buff, sizeof(menu_buff), QUIT_MENU); } else if (cur_menu == menu_saved) { @@ -559,6 +573,15 @@ int game_menu_act(const char *a) game_menu_box(0, NULL); } else if (!strcmp(a, "/settings")) { game_menu(menu_settings); + } else if (!strcmp(a, "/settings-gfx")) { + menu_settings_num = 0; + game_menu_box(1, game_menu_gen()); + } else if (!strcmp(a, "/settings-snd")) { + menu_settings_num = 1; + game_menu_box(1, game_menu_gen()); + } else if (!strcmp(a, "/settings-oth")) { + menu_settings_num = 2; + game_menu_box(1, game_menu_gen()); } else if (!strcmp(a, "/vol--")) { game_change_vol(-10, 0); game_menu_box(1, game_menu_gen()); @@ -679,7 +702,9 @@ static void lang_free(void) FREE(MAIN_MENU); FREE(ABOUT_MENU); FREE(BACK_MENU); - FREE(SETTINGS_MENU); + FREE(SETTINGS_SND_MENU); + FREE(SETTINGS_GFX_MENU); + FREE(SETTINGS_OTH_MENU); FREE(CUSTOM_THEME_MENU); FREE(OWN_THEME_MENU); FREE(SELECT_GAME_MENU); @@ -704,7 +729,7 @@ static int lang_ok(void) { if (UNKNOWN_ERROR && ERROR_MENU && WARNING_MENU && SAVE_SLOT_EMPTY && SELECT_LOAD_MENU && AUTOSAVE_SLOT && BROKEN_SLOT && SELECT_SAVE_MENU && - MAIN_MENU && ABOUT_MENU && BACK_MENU && SETTINGS_MENU && + MAIN_MENU && ABOUT_MENU && BACK_MENU && SETTINGS_SND_MENU && SETTINGS_GFX_MENU && SETTINGS_OTH_MENU && CUSTOM_THEME_MENU && OWN_THEME_MENU && SELECT_GAME_MENU && SELECT_THEME_MENU && SAVED_MENU && NOGAMES_MENU && NOTHEMES_MENU && QUIT_MENU && REMOVE_MENU && ON && OFF && KBD_MODE_LINKS && KBD_MODE_SMART && KBD_MODE_SCROLL && CANCEL_MENU && @@ -725,7 +750,9 @@ struct parser lang_parser[] = { { "MAIN_MENU", parse_esc_string, &MAIN_MENU }, { "ABOUT_MENU", parse_esc_string, &ABOUT_MENU }, { "BACK_MENU", parse_esc_string, &BACK_MENU }, - { "SETTINGS_MENU", parse_esc_string, &SETTINGS_MENU }, + { "SETTINGS_GFX_MENU", parse_esc_string, &SETTINGS_GFX_MENU }, + { "SETTINGS_SND_MENU", parse_esc_string, &SETTINGS_SND_MENU }, + { "SETTINGS_OTH_MENU", parse_esc_string, &SETTINGS_OTH_MENU }, { "CUSTOM_THEME_MENU", parse_esc_string, &CUSTOM_THEME_MENU }, { "OWN_THEME_MENU", parse_esc_string, &OWN_THEME_MENU }, { "SELECT_GAME_MENU", parse_esc_string, &SELECT_GAME_MENU }, diff --git a/src/sdl-instead/menu.h b/src/sdl-instead/menu.h index a21b98b..155a841 100644 --- a/src/sdl-instead/menu.h +++ b/src/sdl-instead/menu.h @@ -1,9 +1,15 @@ #ifndef __MENU_H_INCLUDED #define __MENU_H_INCLUDED +#if defined(ANDROID) || defined(S60) || defined(_WIN32_WCE) +#define MENU_GAMES_MAX 5 +#define MENU_THEMES_MAX 5 +#define MENU_PER_PAGER 5 +#else #define MENU_GAMES_MAX 8 #define MENU_THEMES_MAX 8 #define MENU_PER_PAGER 7 +#endif #define FONT_MIN_SZ 8 #define FONT_MAX_SZ 64 @@ -11,7 +17,7 @@ #define MAX_SAVE_SLOTS 6 #define LANG_DEF "en" -#define MAX_MENU_LINES 18 +#define MAX_MENU_LINES 16 extern int cur_menu; extern char *game_menu_gen(void);