int game_theme_free(void) { free_theme_strings(); if (game_theme.font) fnt_free(game_theme.font); if (game_theme.inv_font) fnt_free(game_theme.inv_font); if (game_theme.menu_font) fnt_free(game_theme.menu_font); if (game_theme.a_up) gfx_free_image(game_theme.a_up); if (game_theme.a_down) gfx_free_image(game_theme.a_down); if (game_theme.inv_a_up) gfx_free_image(game_theme.inv_a_up); if (game_theme.inv_a_down) gfx_free_image(game_theme.inv_a_down); if (game_theme.use) gfx_free_image(game_theme.use); if (game_theme.cursor) { gfx_free_image(game_theme.cursor); gfx_set_cursor(NULL, 0, 0); } if (game_theme.bg) gfx_free_image(game_theme.bg); if (game_theme.menu_button) gfx_free_image(game_theme.menu_button); if (game_theme.click) { sound_put(game_theme.click); } if (game_theme.icon) { gfx_set_icon(NULL); gfx_free_image(game_theme.icon); } game_theme.font = game_theme.inv_font = game_theme.menu_font = NULL; game_theme.a_up = game_theme.a_down = game_theme.use = NULL; game_theme.inv_a_up = game_theme.inv_a_down = NULL; game_theme.menu_button = NULL; game_theme.bg = NULL; game_theme.click = NULL; game_theme.cur_x = game_theme.cur_y = 0; game_theme.cursor = game_theme.use = NULL; game_theme.icon = NULL; return 0; }
void dmsg_shutdown(void) { if (dmsg_buff != NULL) { gfx_free_image(dmsg_buff_id); #ifndef STATIC_BUFF free(dmsg_buff); #endif } }
int theme_img_scale(img_t *p) { img_t pic; float v = game_theme.scale; if (!p || !*p || v == 1.0f) return 0; if (!cache_have(gfx_image_cache(), *p)) return 0; /* do not scale sprites! */ pic = gfx_scale(*p, v, v, SCALABLE_THEME_SMOOTH); if (!pic) return -1; gfx_free_image(*p); *p = pic; return 0; }