X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fsetup.cpp;h=ffd9e3f188451c2b632687184273bb1e61e2c117;hb=8649bd473126548ff289351cb425beddb29f4e07;hp=dba7cf02ee94fb15c9bf3c88b9075e2820c89f62;hpb=c0f792760991950d94443a09cacf777db4a617e8;p=supertux.git diff --git a/src/setup.cpp b/src/setup.cpp index dba7cf02e..ffd9e3f18 100644 --- a/src/setup.cpp +++ b/src/setup.cpp @@ -373,7 +373,11 @@ void st_menu(void) 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) { @@ -510,13 +514,13 @@ void process_options_menu(void) 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) @@ -573,21 +577,21 @@ void st_general_setup(void) /* 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); @@ -599,20 +603,20 @@ void st_general_free(void) /* 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; @@ -628,7 +632,6 @@ void st_general_free(void) void st_video_setup(void) { - if(screen != NULL) SDL_FreeSurface(screen); @@ -644,18 +647,15 @@ void st_video_setup(void) } /* 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)