options_menu->additem(MN_LABEL,"Options",0,0);
options_menu->additem(MN_HL,"",0,0);
+#ifndef NOOPENGL
options_menu->additem(MN_TOGGLE,"OpenGL",use_gl,0);
+#else
+ options_menu->additem(MN_DEACTIVE,"OpenGL (not supported)",use_gl,0);
+#endif
options_menu->additem(MN_TOGGLE,"Fullscreen",use_fullscreen,0);
if(audio_device)
{
switch (options_menu->check())
{
case 2:
+#ifndef NOOPENGL
if(use_gl != options_menu->item[2].toggled)
{
-#ifndef NOOPENGL
use_gl = !use_gl;
st_video_setup();
-#endif
}
+#endif
break;
case 3:
if(use_fullscreen != options_menu->item[3].toggled)
/* Load global images: */
- text_load(&black_text, datadir + "/images/status/letters-black.png", TEXT_TEXT, 16,18);
- text_load(&gold_text,datadir + "/images/status/letters-gold.png", TEXT_TEXT, 16,18);
- text_load(&blue_text,datadir + "/images/status/letters-blue.png", TEXT_TEXT, 16,18);
- text_load(&red_text,datadir + "/images/status/letters-red.png", TEXT_TEXT, 16,18);
- text_load(&white_text,datadir + "/images/status/letters-white.png", TEXT_TEXT, 16,18);
- text_load(&white_small_text,datadir + "/images/status/letters-white-small.png", TEXT_TEXT, 8,9);
- text_load(&white_big_text,datadir + "/images/status/letters-white-big.png", TEXT_TEXT, 20,23);
- text_load(&yellow_nums,datadir + "/images/status/numbers.png", TEXT_NUM, 32,32);
+ black_text = new Text(datadir + "/images/status/letters-black.png", TEXT_TEXT, 16,18);
+ gold_text = new Text(datadir + "/images/status/letters-gold.png", TEXT_TEXT, 16,18);
+ blue_text = new Text(datadir + "/images/status/letters-blue.png", TEXT_TEXT, 16,18);
+ red_text = new Text(datadir + "/images/status/letters-red.png", TEXT_TEXT, 16,18);
+ white_text = new Text(datadir + "/images/status/letters-white.png", TEXT_TEXT, 16,18);
+ white_small_text = new Text(datadir + "/images/status/letters-white-small.png", TEXT_TEXT, 8,9);
+ white_big_text = new Text(datadir + "/images/status/letters-white-big.png", TEXT_TEXT, 20,23);
+ yellow_nums = new Text(datadir + "/images/status/numbers.png", TEXT_NUM, 32,32);
/* Load GUI/menu images: */
- texture_load(&checkbox, datadir + "/images/status/checkbox.png", USE_ALPHA);
- texture_load(&checkbox_checked, datadir + "/images/status/checkbox-checked.png", USE_ALPHA);
- texture_load(&back, datadir + "/images/status/back.png", USE_ALPHA);
- texture_load(&arrow_left, datadir + "/images/icons/left.png", USE_ALPHA);
- texture_load(&arrow_right, datadir + "/images/icons/right.png", USE_ALPHA);
+ checkbox = new Surface(datadir + "/images/status/checkbox.png", USE_ALPHA);
+ checkbox_checked = new Surface(datadir + "/images/status/checkbox-checked.png", USE_ALPHA);
+ back = new Surface(datadir + "/images/status/back.png", USE_ALPHA);
+ arrow_left = new Surface(datadir + "/images/icons/left.png", USE_ALPHA);
+ arrow_right = new Surface(datadir + "/images/icons/right.png", USE_ALPHA);
/* Load the mouse-cursor */
mouse_cursor = new MouseCursor( datadir + "/images/status/mousecursor.png",1);
/* Free global images: */
- text_free(&black_text);
- text_free(&gold_text);
- text_free(&white_text);
- text_free(&blue_text);
- text_free(&red_text);
- text_free(&white_small_text);
- text_free(&white_big_text);
+ delete black_text;
+ delete gold_text;
+ delete white_text;
+ delete blue_text;
+ delete red_text;
+ delete white_small_text;
+ delete white_big_text;
/* Free GUI/menu images: */
- texture_free(&checkbox);
- texture_free(&checkbox_checked);
- texture_free(&back);
- texture_free(&arrow_left);
- texture_free(&arrow_right);
+ delete checkbox;
+ delete checkbox_checked;
+ delete back;
+ delete arrow_left;
+ delete arrow_right;
/* Free mouse-cursor */
delete mouse_cursor;
void st_video_setup(void)
{
-
if(screen != NULL)
SDL_FreeSurface(screen);
}
/* Open display: */
-
if(use_gl)
st_video_setup_gl();
else
st_video_setup_sdl();
- texture_setup();
+ Surface::reload_all();
/* Set window manager stuff: */
-
SDL_WM_SetCaption("SuperTux " VERSION, "SuperTux");
-
}
void st_video_setup_sdl(void)