browse beta complete
This commit is contained in:
parent
b65386681d
commit
e7f451da17
|
@ -21,7 +21,7 @@ LUA_LFLAGS=-llua5.1 -L../windows/
|
||||||
SDL_CFLAGS=-I../windows/SDL
|
SDL_CFLAGS=-I../windows/SDL
|
||||||
SDL_LFLAGS=-lSDL -lSDLmain -lSDL_ttf -lSDL_mixer -lSDL_image -L../windows/SDL
|
SDL_LFLAGS=-lSDL -lSDLmain -lSDL_ttf -lSDL_mixer -lSDL_image -L../windows/SDL
|
||||||
|
|
||||||
CFLAGS += -Wall -mwindows -D_HAVE_ICONV -D_USE_UNPACK
|
CFLAGS += -Wall -mwindows -D_HAVE_ICONV -D_USE_UNPACK -D_USE_BROWSE
|
||||||
LDFLAGS += -liconv
|
LDFLAGS += -liconv
|
||||||
|
|
||||||
CC=i486-mingw32-gcc
|
CC=i486-mingw32-gcc
|
||||||
|
|
|
@ -19,7 +19,7 @@ LUA_LFLAGS=-llua5.1
|
||||||
SDL_CFLAGS=-IC:\MinGW\include\SDL
|
SDL_CFLAGS=-IC:\MinGW\include\SDL
|
||||||
SDL_LFLAGS=-lSDL -lSDLmain -lSDL_ttf -lSDL_mixer -lSDL_image
|
SDL_LFLAGS=-lSDL -lSDLmain -lSDL_ttf -lSDL_mixer -lSDL_image
|
||||||
|
|
||||||
CFLAGS += -Wall -mwindows -D_HAVE_ICONV -D_USE_UNPACK
|
CFLAGS += -Wall -mwindows -D_HAVE_ICONV -D_USE_UNPACK -D_USE_BROWSE
|
||||||
LDFLAGS += -liconv
|
LDFLAGS += -liconv
|
||||||
|
|
||||||
CC=gcc
|
CC=gcc
|
||||||
|
|
|
@ -109,7 +109,7 @@ fi
|
||||||
echo -n "Generating config.make..."
|
echo -n "Generating config.make..."
|
||||||
echo "# autamatically generated by configure.sh" >config.make
|
echo "# autamatically generated by configure.sh" >config.make
|
||||||
if [[ ! -z "$gtk_cflags" ]]; then
|
if [[ ! -z "$gtk_cflags" ]]; then
|
||||||
echo "EXTRA_CFLAGS+=-D_USE_GTK" >> config.make
|
echo "EXTRA_CFLAGS+=-D_USE_GTK -D_USE_BROWSE" >> config.make
|
||||||
echo "EXTRA_CFLAGS+=\$(shell $gtk_cflags)" >> config.make
|
echo "EXTRA_CFLAGS+=\$(shell $gtk_cflags)" >> config.make
|
||||||
echo "EXTRA_LDFLAGS+=\$(shell $gtk_libs)" >> config.make
|
echo "EXTRA_LDFLAGS+=\$(shell $gtk_libs)" >> config.make
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -119,3 +119,5 @@ CANCEL_MENU = <a:/resume>Cancel</a>
|
||||||
DISABLED_SAVE_MENU = \
|
DISABLED_SAVE_MENU = \
|
||||||
Saving is disabled by game.\n
|
Saving is disabled by game.\n
|
||||||
|
|
||||||
|
BROWSE_MENU = \
|
||||||
|
...
|
||||||
|
|
|
@ -119,3 +119,5 @@ CANCEL_MENU = <a:/resume>Cancelar</a>
|
||||||
DISABLED_SAVE_MENU = \
|
DISABLED_SAVE_MENU = \
|
||||||
Guardar está deshabilitado desde el juego.\n
|
Guardar está deshabilitado desde el juego.\n
|
||||||
|
|
||||||
|
BROWSE_MENU = \
|
||||||
|
...
|
||||||
|
|
|
@ -120,3 +120,5 @@ CANCEL_MENU = <a:/resume>Отмена</a>
|
||||||
DISABLED_SAVE_MENU = \
|
DISABLED_SAVE_MENU = \
|
||||||
Сохранение запрещено игрой.\n
|
Сохранение запрещено игрой.\n
|
||||||
|
|
||||||
|
BROWSE_MENU = \
|
||||||
|
...
|
|
@ -2352,11 +2352,15 @@ int game_from_disk(void)
|
||||||
d = dirname(d);
|
d = dirname(d);
|
||||||
b = basename(b);
|
b = basename(b);
|
||||||
/* fprintf(stderr,"%s:%s\n", d, b); */
|
/* fprintf(stderr,"%s:%s\n", d, b); */
|
||||||
|
#ifdef _USE_UNPACK
|
||||||
p = game_tmp_path();
|
p = game_tmp_path();
|
||||||
fprintf(stderr,"Trying to install: %s\n", g);
|
fprintf(stderr,"Trying to install: %s\n", g);
|
||||||
if (!unpack(g, p) && zip_game_dirname[0]) {
|
if (!unpack(g, p) && zip_game_dirname[0]) {
|
||||||
games_replace(p, zip_game_dirname);
|
games_replace(p, zip_game_dirname);
|
||||||
p = zip_game_dirname;
|
p = zip_game_dirname;
|
||||||
|
#else
|
||||||
|
if (0) {
|
||||||
|
#endif
|
||||||
} else if (games_replace(d, b)) {
|
} else if (games_replace(d, b)) {
|
||||||
return -1;
|
return -1;
|
||||||
} else
|
} else
|
||||||
|
|
|
@ -63,6 +63,8 @@ extern int game_paused(void);
|
||||||
|
|
||||||
extern char *open_file_dialog(void);
|
extern char *open_file_dialog(void);
|
||||||
|
|
||||||
|
extern int game_from_disk(void);
|
||||||
|
|
||||||
#define CURSOR_CLEAR -1
|
#define CURSOR_CLEAR -1
|
||||||
#define CURSOR_OFF 0
|
#define CURSOR_OFF 0
|
||||||
#define CURSOR_ON 1
|
#define CURSOR_ON 1
|
||||||
|
|
|
@ -194,6 +194,9 @@ int main(int argc, char **argv)
|
||||||
out:
|
out:
|
||||||
if (debug_sw)
|
if (debug_sw)
|
||||||
debug_done();
|
debug_done();
|
||||||
|
#ifdef _USE_GTK
|
||||||
|
gtk_main_quit ();
|
||||||
|
#endif
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ char *SELECT_THEME_MENU = NULL;
|
||||||
char *SAVED_MENU = NULL;
|
char *SAVED_MENU = NULL;
|
||||||
char *NOGAMES_MENU = NULL;
|
char *NOGAMES_MENU = NULL;
|
||||||
char *NOTHEMES_MENU = NULL;
|
char *NOTHEMES_MENU = NULL;
|
||||||
|
char *BROWSE_MENU = NULL;
|
||||||
char *QUIT_MENU = NULL;
|
char *QUIT_MENU = NULL;
|
||||||
char *ON = NULL;
|
char *ON = NULL;
|
||||||
char *OFF = NULL;
|
char *OFF = NULL;
|
||||||
|
@ -141,7 +142,7 @@ static void save_menu(void)
|
||||||
strcat(menu_buff, CANCEL_MENU);
|
strcat(menu_buff, CANCEL_MENU);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pages_menu(char *res, int nr, int max, const char *menu)
|
static int pages_menu(char *res, int nr, int max, const char *menu, const char *append)
|
||||||
{
|
{
|
||||||
static char buff[256];
|
static char buff[256];
|
||||||
int k = MENU_PER_PAGER;
|
int k = MENU_PER_PAGER;
|
||||||
|
@ -170,18 +171,26 @@ static int pages_menu(char *res, int nr, int max, const char *menu)
|
||||||
else
|
else
|
||||||
sprintf(buff, ">>");
|
sprintf(buff, ">>");
|
||||||
strcat(res, buff);
|
strcat(res, buff);
|
||||||
strcat(res, "\n");
|
strcat(res, append);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void games_menu(void)
|
static void games_menu(void)
|
||||||
{
|
{
|
||||||
int i, n;
|
int i, n, append_browse = 0;
|
||||||
|
char tmp[PATH_MAX];
|
||||||
|
#ifdef _USE_BROWSE
|
||||||
|
snprintf(tmp, sizeof(tmp), " <u><a:/browse>%s</a></u>\n", BROWSE_MENU);
|
||||||
|
#else
|
||||||
|
snprintf(tmp, sizeof(tmp), "\n");
|
||||||
|
#endif
|
||||||
sprintf(menu_buff, SELECT_GAME_MENU);
|
sprintf(menu_buff, SELECT_GAME_MENU);
|
||||||
if ((games_nr - 1) / MENU_GAMES_MAX)
|
if ((games_nr - 1) / MENU_GAMES_MAX)
|
||||||
pages_menu(menu_buff, games_menu_from / MENU_GAMES_MAX, (games_nr - 1) / MENU_GAMES_MAX + 1, "games");
|
pages_menu(menu_buff, games_menu_from / MENU_GAMES_MAX, (games_nr - 1) / MENU_GAMES_MAX + 1, "games", tmp);
|
||||||
|
else
|
||||||
|
append_browse = 1;
|
||||||
for (i = games_menu_from, n = 0; i < games_nr && n < MENU_GAMES_MAX; i ++) {
|
for (i = games_menu_from, n = 0; i < games_nr && n < MENU_GAMES_MAX; i ++) {
|
||||||
char tmp[PATH_MAX];
|
|
||||||
if (!games[i].name[0]) /* empty */
|
if (!games[i].name[0]) /* empty */
|
||||||
continue;
|
continue;
|
||||||
if (curgame_dir && !strcmp(games[i].dir, curgame_dir))
|
if (curgame_dir && !strcmp(games[i].dir, curgame_dir))
|
||||||
|
@ -191,9 +200,14 @@ static void games_menu(void)
|
||||||
strcat(menu_buff, tmp);
|
strcat(menu_buff, tmp);
|
||||||
n ++;
|
n ++;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(;n < MENU_GAMES_MAX && games_nr > MENU_GAMES_MAX; n++) /* align h */
|
for(;n < MENU_GAMES_MAX && games_nr > MENU_GAMES_MAX; n++) /* align h */
|
||||||
strcat(menu_buff, "\n");
|
strcat(menu_buff, "\n");
|
||||||
|
#ifdef _USE_BROWSE
|
||||||
|
if (append_browse) {
|
||||||
|
snprintf(tmp, sizeof(tmp), "<u><a:/browse>%s</a></u>\n", BROWSE_MENU);
|
||||||
|
strcat(menu_buff, tmp);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (!games_nr)
|
if (!games_nr)
|
||||||
sprintf(menu_buff, NOGAMES_MENU, GAMES_PATH);
|
sprintf(menu_buff, NOGAMES_MENU, GAMES_PATH);
|
||||||
strcat(menu_buff,"\n");
|
strcat(menu_buff,"\n");
|
||||||
|
@ -205,7 +219,7 @@ static void themes_menu(void)
|
||||||
int i, n;
|
int i, n;
|
||||||
sprintf(menu_buff, SELECT_THEME_MENU);
|
sprintf(menu_buff, SELECT_THEME_MENU);
|
||||||
if ((themes_nr - 1) / MENU_THEMES_MAX)
|
if ((themes_nr - 1) / MENU_THEMES_MAX)
|
||||||
pages_menu(menu_buff, themes_menu_from / MENU_THEMES_MAX, (themes_nr - 1) / MENU_THEMES_MAX + 1, "themes");
|
pages_menu(menu_buff, themes_menu_from / MENU_THEMES_MAX, (themes_nr - 1) / MENU_THEMES_MAX + 1, "themes", "\n");
|
||||||
for (i = themes_menu_from, n = 0; i < themes_nr && n < MENU_THEMES_MAX; i ++) {
|
for (i = themes_menu_from, n = 0; i < themes_nr && n < MENU_THEMES_MAX; i ++) {
|
||||||
char tmp[PATH_MAX];
|
char tmp[PATH_MAX];
|
||||||
if (!themes[i].name[0]) /* empty */
|
if (!themes[i].name[0]) /* empty */
|
||||||
|
@ -489,6 +503,9 @@ int game_menu_act(const char *a)
|
||||||
game_menu_box(1, game_menu_gen());
|
game_menu_box(1, game_menu_gen());
|
||||||
} else if (!strcmp(a,"/quit")) {
|
} else if (!strcmp(a,"/quit")) {
|
||||||
return -1;
|
return -1;
|
||||||
|
} else if (!strcmp(a,"/browse")) {
|
||||||
|
game_from_disk();
|
||||||
|
return 0;
|
||||||
} else if (cur_menu == menu_games) {
|
} else if (cur_menu == menu_games) {
|
||||||
char *p;
|
char *p;
|
||||||
p = strdup(a);
|
p = strdup(a);
|
||||||
|
@ -562,6 +579,7 @@ static void lang_free(void)
|
||||||
FREE(CANCEL_MENU);
|
FREE(CANCEL_MENU);
|
||||||
FREE(FROM_THEME);
|
FREE(FROM_THEME);
|
||||||
FREE(DISABLED_SAVE_MENU);
|
FREE(DISABLED_SAVE_MENU);
|
||||||
|
FREE(BROWSE_MENU);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int lang_ok(void)
|
static int lang_ok(void)
|
||||||
|
@ -572,7 +590,7 @@ static int lang_ok(void)
|
||||||
CUSTOM_THEME_MENU && OWN_THEME_MENU && SELECT_GAME_MENU && SELECT_THEME_MENU &&
|
CUSTOM_THEME_MENU && OWN_THEME_MENU && SELECT_GAME_MENU && SELECT_THEME_MENU &&
|
||||||
SAVED_MENU && NOGAMES_MENU && NOTHEMES_MENU && QUIT_MENU &&
|
SAVED_MENU && NOGAMES_MENU && NOTHEMES_MENU && QUIT_MENU &&
|
||||||
ON && OFF && KBD_MODE_LINKS && KBD_MODE_SMART && KBD_MODE_SCROLL && CANCEL_MENU &&
|
ON && OFF && KBD_MODE_LINKS && KBD_MODE_SMART && KBD_MODE_SCROLL && CANCEL_MENU &&
|
||||||
FROM_THEME && DISABLED_SAVE_MENU)
|
FROM_THEME && DISABLED_SAVE_MENU && BROWSE_MENU)
|
||||||
return 0;
|
return 0;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -606,6 +624,7 @@ struct parser lang_parser[] = {
|
||||||
{ "CANCEL_MENU", parse_esc_string, &CANCEL_MENU },
|
{ "CANCEL_MENU", parse_esc_string, &CANCEL_MENU },
|
||||||
{ "FROM_THEME", parse_esc_string, &FROM_THEME },
|
{ "FROM_THEME", parse_esc_string, &FROM_THEME },
|
||||||
{ "DISABLED_SAVE_MENU", parse_esc_string, &DISABLED_SAVE_MENU },
|
{ "DISABLED_SAVE_MENU", parse_esc_string, &DISABLED_SAVE_MENU },
|
||||||
|
{ "BROWSE_MENU", parse_esc_string, &BROWSE_MENU },
|
||||||
{ NULL, },
|
{ NULL, },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -130,8 +130,8 @@ char *open_file_dialog(void)
|
||||||
g_free (filename);
|
g_free (filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_signal_handler_disconnect (file_dialog, response_handler);
|
g_signal_handler_disconnect (GTK_WIDGET(file_dialog), response_handler);
|
||||||
gtk_widget_destroy(file_dialog);
|
gtk_widget_destroy(GTK_WIDGET(file_dialog));
|
||||||
while(gtk_events_pending())
|
while(gtk_events_pending())
|
||||||
gtk_main_iteration();
|
gtk_main_iteration();
|
||||||
return (file[0])?file:NULL;
|
return (file[0])?file:NULL;
|
||||||
|
|
Loading…
Reference in a new issue