settings are paged now

This commit is contained in:
p.kosyh 2011-04-22 09:02:12 +00:00
parent 01b8e48444
commit e86e2dbfc9
7 changed files with 142 additions and 29 deletions

View file

@ -51,19 +51,38 @@ KBD_MODE_SCROLL = Scroll
FROM_THEME = Theme
SETTINGS_MENU = \
Sound volume: <a:/vol--><<</a><a:/vol-><</a> <a:/mtoggle>%d%%</a> <a:/vol+>></a><a:/vol++>>></a>\n\
Sound quality: <a:/hz-><<</a> %dHz <a:/hz+>>></a>\n\
Music: <a:/music>%s</a> Click sound: <a:/click>%s</a>\n\
SETTINGS_SND_MENU = \
<a:/settings-gfx>[Graphics]</a><w: ><u>[Sound]</u><w: ><a:/settings-oth>[Other]</a>\n\
\n\
Volume: <a:/vol--><<</a><a:/vol-><</a> <a:/mtoggle>%d%%</a> <a:/vol+>></a><a:/vol++>>></a>\n\
\n\
Quality: <a:/hz-><<</a> %dHz <a:/hz+>>></a>\n\
\n\
Music: <a:/music>%s</a>\n\
Click sound: <a:/click>%s</a>\n\
\n\
<a:/main>Apply</a>
SETTINGS_GFX_MENU = \
<u>[Graphics]</u><w: ><a:/settings-snd>[Sound]</a><w: ><a:/settings-oth>[Other]</a>\n\
\n\
Resolution: <a:/mode--><<</a>%s<a:/mode++>>></a>\n\
Full screen: <a:/fs>%s</a>\n\
Font scaling: <a:/fs--><<</a>%d<a:/fs++>>></a>\n\
\n\
Links highlighting: <a:/hl>%s</a>\n\
Custom game themes: <a:/owntheme>%s</a>\n\
\n\
<a:/main>Apply</a>
SETTINGS_OTH_MENU = \
<a:/settings-gfx>[Graphics]</a><w: ><a:/settings-snd>[Sound]</a><w: ><u>[Other]</u>\n\
\n\
Scrolling mode: <a:/motion>%s</a>\n\
Mouse filter: <a:/filter>%s</a>\n\
Keyboard mode: <a:/kbd>%s</a>\n\
\n\
Language: <a:/lang--><<</a>%s<a:/lang++>>></a>\n\
Custom game themes: <a:/owntheme>%s</a>\n\
Аutosave: <a:/autosave>%s</a>\n\
\n\
<a:/main>Apply</a>

View file

@ -51,19 +51,38 @@ KBD_MODE_SCROLL = Scroll
FROM_THEME = Tema
SETTINGS_MENU = \
Volumen Sonido: <a:/vol--><<</a><a:/vol-><</a> <a:/mtoggle>%d%%</a> <a:/vol+>></a><a:/vol++>>></a>\n\
Calidad Sonido: <a:/hz-><<</a> %dHz <a:/hz+>>></a>\n\
Música: <a:/music>%s</a> Sonido Click: <a:/click>%s</a>\n\
SETTINGS_SND_MENU = \
<a:/settings-gfx>[Gráficos]</a><w: ><u>[Sonido]</u><w: ><a:/settings-oth>[Otros]</a>\n\
\n\
Volumen: <a:/vol--><<</a><a:/vol-><</a> <a:/mtoggle>%d%%</a> <a:/vol+>></a><a:/vol++>>></a>\n\
\n\
Calidad: <a:/hz-><<</a> %dHz <a:/hz+>>></a>\n\
\n\
Música: <a:/music>%s</a>\n\
Sonido Click: <a:/click>%s</a>\n\
\n\
<a:/main>Aceptar</a>
SETTINGS_GFX_MENU = \
<u>[Gráficos]</u><w: ><a:/settings-snd>[Sonido]</a><w: ><a:/settings-oth>[Otros]</a>\n\
\n\
Resolución: <a:/mode--><<</a>%s<a:/mode++>>></a>\n\
Pantalla Completa: <a:/fs>%s</a>\n\
Escala de Fuente: <a:/fs--><<</a>%d<a:/fs++>>></a>\n\
\n\
Resaltar Links: <a:/hl>%s</a>\n\
Temas específicos del juego: <a:/owntheme>%s</a>\n\
\n\
<a:/main>Aceptar</a>
SETTINGS_OTH_MENU = \
<a:/settings-gfx>[Gráficos]</a><w: ><a:/settings-snd>[Sonido]</a><w: ><u>[Otros]</u>\n\
\n\
Modo Scrolling: <a:/motion>%s</a>\n\
Filtrar Mouse: <a:/filter>%s</a>\n\
Modo Teclado: <a:/kbd>%s</a>\n\
\n\
Idioma: <a:/lang--><<</a>%s<a:/lang++>>></a>\n\
Temas específicos del juego: <a:/owntheme>%s</a>\n\
AutoGuardar: <a:/autosave>%s</a>\n\
\n\
<a:/main>Aceptar</a>

View file

@ -51,19 +51,38 @@ KBD_MODE_SCROLL = Scroll
FROM_THEME = Tema
SETTINGS_MENU = \
Volume della Musica: <a:/vol--><<</a><a:/vol-><</a> <a:/mtoggle>%d%%</a> <a:/vol+>></a><a:/vol++>>></a>\n\
Qualità del Suono: <a:/hz-><<</a> %dHz <a:/hz+>>></a>\n\
Musica: <a:/music>%s</a> Suono Click: <a:/click>%s</a>\n\
SETTINGS_SND_MENU = \
<a:/settings-gfx>[Grafica]</a><w: ><u>[Sound]</u><w: ><a:/settings-oth>[Altri]</a>\n\
\n\
Volume: <a:/vol--><<</a><a:/vol-><</a> <a:/mtoggle>%d%%</a> <a:/vol+>></a><a:/vol++>>></a>\n\
\n\
Qualità: <a:/hz-><<</a> %dHz <a:/hz+>>></a>\n\
\n\
Musica: <a:/music>%s</a>\n\
Suono Click: <a:/click>%s</a>\n\
\n\
<a:/main>Applica</a>
SETTINGS_GFX_MENU = \
<u>[Grafica]</u><w: ><a:/settings-snd>[Sound]</a><w: ><a:/settings-oth>[Altri]</a>\n\
\n\
Risoluzione: <a:/mode--><<</a>%s<a:/mode++>>></a>\n\
Schermo intero: <a:/fs>%s</a>\n\
Dimensione dei Caratteri: <a:/fs--><<</a>%d<a:/fs++>>></a>\n\
\n\
Evidenziazione dei Links: <a:/hl>%s</a>\n\
Tema personalizzato del gioco: <a:/owntheme>%s</a>\n\
\n\
<a:/main>Applica</a>
SETTINGS_OTH_MENU = \
<a:/settings-gfx>[Grafica]</a><w: ><a:/settings-snd>[Sound]</a><w: ><u>[Altri]</u>\n\
\n\
Modalità di Scorrimento: <a:/motion>%s</a>\n\
Filtro Mouse: <a:/filter>%s</a>\n\
Modalità Tastiera: <a:/kbd>%s</a>\n\
\n\
Lingua: <a:/lang--><<</a>%s<a:/lang++>>></a>\n\
Tema personalizzato del gioco: <a:/owntheme>%s</a>\n\
Аutosalvataggio: <a:/autosave>%s</a>\n\
\n\
<a:/main>Applica</a>

View file

@ -52,19 +52,38 @@ KBD_MODE_SCROLL = Прокрутка
FROM_THEME = Тема
SETTINGS_MENU = \
SETTINGS_SND_MENU = \
<a:/settings-gfx>[Графика]</a><w: ><u>[Звук]</u><w: ><a:/settings-oth>[Другое]</a>\n\
\n\
Громкость: <a:/vol--><<</a><a:/vol-><</a> <a:/mtoggle>%d%%</a> <a:/vol+>></a><a:/vol++>>></a>\n\
Качество звука: <a:/hz-><<</a> %dГц <a:/hz+>>></a>\n\
Музыка: <a:/music>%s</a> Звук щелчка: <a:/click>%s</a>\n\
\n\
Качество: <a:/hz-><<</a> %dГц <a:/hz+>>></a>\n\
\n\
Музыка: <a:/music>%s</a>\n\
Звук щелчка: <a:/click>%s</a>\n\
\n\
<a:/main>Применить</a>
SETTINGS_GFX_MENU = \
<u>[Графика]</u><w: ><a:/settings-snd>[Звук]</a><w: ><a:/settings-oth>[Другое]</a>\n\
\n\
Размер окна: <a:/mode--><<</a>%s<a:/mode++>>></a>\n\
Полный экран: <a:/fs>%s</a>\n\
Масштаб шрифта: <a:/fs--><<</a>%d<a:/fs++>>></a>\n\
\n\
Подсветка ссылок: <a:/hl>%s</a>\n\
Собственные темы игр: <a:/owntheme>%s</a>\n\
\n\
<a:/main>Применить</a>
SETTINGS_OTH_MENU = \
<a:/settings-gfx>[Графика]</a><w: ><a:/settings-snd>[Звук]</a><w: ><u>[Другое]</u>\n\
\n\
Режим прокрутки: <a:/motion>%s</a>\n\
Фильтр мышки: <a:/filter>%s</a>\n\
Режим клавиатуры: <a:/kbd>%s</a>\n\
\n\
Язык: <a:/lang--><<</a>%s<a:/lang++>>></a>\n\
Собственные темы игр: <a:/owntheme>%s</a>\n\
Автосохранение: <a:/autosave>%s</a>\n\
\n\
<a:/main>Применить</a>

View file

@ -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;

View file

@ -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 },

View file

@ -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);