scalable themes

This commit is contained in:
p.kosyh 2011-04-16 11:50:04 +00:00
parent 05471cf2f9
commit 0814734759
3 changed files with 12 additions and 3 deletions

View file

@ -409,14 +409,16 @@ int game_menu_act(const char *a)
#ifndef ANDROID
if (gfx_next_mode(&opt_mode[0], &opt_mode[1]))
opt_mode[0] = opt_mode[1] = -1;
restart_needed = 1;
if (SCALABLE_THEME)
restart_needed = 1;
game_menu_box(1, game_menu_gen());
#endif
} else if (!strcmp(a, "/mode--")) {
#ifndef ANDROID
if (gfx_prev_mode(&opt_mode[0], &opt_mode[1]))
opt_mode[0] = opt_mode[1] = -1;
restart_needed = 1;
if (SCALABLE_THEME)
restart_needed = 1;
game_menu_box(1, game_menu_gen());
#endif
} else if (!strcmp(a, "/fs--")) {

View file

@ -134,6 +134,7 @@ static int parse_include(const char *v, void *data)
struct parser cmd_parser[] = {
{ "scr.w", parse_int, &game_theme.w },
{ "scr.h", parse_int, &game_theme.h },
{ "scr.gfx.scalable", parse_int, &game_theme.gfx_scalable },
{ "scr.col.bg", parse_color, &game_theme.bgcol },
{ "scr.gfx.bg", parse_full_path, &game_theme.bg_name, CHANGED_BG },
{ "scr.gfx.cursor.normal", parse_full_path, &game_theme.cursor_name, CHANGED_CURSOR },
@ -259,6 +260,7 @@ struct game_theme game_theme = {
.scale = 1.0f,
.w = 800,
.h = 480,
.gfx_scalable = 1,
.bg_name = NULL,
.bg = NULL,
.use_name = NULL,
@ -713,7 +715,10 @@ int game_theme_init(void)
w = opt_mode[0];
h = opt_mode[1];
}
if (!SCALABLE_THEME) { /* no scalable? TODO: message? */
w = game_theme.w;
h = game_theme.h;
}
game_theme_scale(w, h);
if (gfx_set_mode(game_theme.w, game_theme.h, opt_fs)) {

View file

@ -15,6 +15,7 @@ struct game_theme {
float scale;
int w;
int h;
int gfx_scalable;
color_t bgcol;
char *bg_name;
img_t bg;
@ -157,5 +158,6 @@ extern int theme_relative;
#define INV_ALIGN_SET(v) ((v)<<8)
#define DIRECT_MODE (game_theme.gfx_mode == GFX_MODE_DIRECT)
#define SCALABLE_THEME (game_theme.gfx_scalable)
#endif