X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=vid_sdl.c;h=872f8cffe30e49b061ee73a235c937961fbcb55d;hb=ee66bae6438ee948c6facb49534a4776f4034515;hp=3902899cc15bc0666f0bca3be8a236454d30b075;hpb=fb1b3b2455f1c45ec43b3b55b4d51fe5d55c8f20;p=xonotic%2Fdarkplaces.git diff --git a/vid_sdl.c b/vid_sdl.c index 3902899c..872f8cff 100644 --- a/vid_sdl.c +++ b/vid_sdl.c @@ -331,14 +331,14 @@ void IN_Move( void ) static int Sys_EventFilter( SDL_Event *event ) { //TODO: Add a quit query in linux, too - though linux user are more likely to know what they do + if (event->type == SDL_QUIT) + { #ifdef WIN32 - if( event->type == SDL_QUIT && MessageBox( NULL, "Are you sure you want to quit?", "Confirm Exit", MB_YESNO | MB_SETFOREGROUND | MB_ICONQUESTION ) == IDNO ) - return 0; - else - return 1; -#else - return 1; + if (MessageBox( NULL, "Are you sure you want to quit?", "Confirm Exit", MB_YESNO | MB_SETFOREGROUND | MB_ICONQUESTION ) == IDNO) + return 0; #endif + } + return 1; } static keynum_t buttonremap[18] = @@ -491,9 +491,15 @@ static void VID_SetCaption() icon = LoadIcon( GetModuleHandle( NULL ), MAKEINTRESOURCE( IDI_ICON1 ) ); #ifndef _W64 //If Windows 64bit data types don't exist +#ifndef SetClassLongPtr #define SetClassLongPtr SetClassLong +#endif +#ifndef GCLP_HICON #define GCLP_HICON GCL_HICON +#endif +#ifndef LONG_PTR #define LONG_PTR LONG +#endif #endif SetClassLongPtr( info.window, GCLP_HICON, (LONG_PTR)icon ); } @@ -623,7 +629,7 @@ static void VID_OutputVersion() version->major, version->minor, version->patch ); } -int VID_InitMode(int fullscreen, int width, int height, int bpp, int refreshrate, int stereobuffer) +int VID_InitMode(int fullscreen, int width, int height, int bpp, int refreshrate, int stereobuffer, int samples) { int i; static int notfirstvideomode = false; @@ -688,9 +694,9 @@ int VID_InitMode(int fullscreen, int width, int height, int bpp, int refreshrate } else { - SDL_GL_SetAttribute (SDL_GL_RED_SIZE, 1); - SDL_GL_SetAttribute (SDL_GL_GREEN_SIZE, 1); - SDL_GL_SetAttribute (SDL_GL_BLUE_SIZE, 1); + SDL_GL_SetAttribute (SDL_GL_RED_SIZE, 5); + SDL_GL_SetAttribute (SDL_GL_GREEN_SIZE, 5); + SDL_GL_SetAttribute (SDL_GL_BLUE_SIZE, 5); SDL_GL_SetAttribute (SDL_GL_DEPTH_SIZE, 16); } if (stereobuffer) @@ -699,6 +705,11 @@ int VID_InitMode(int fullscreen, int width, int height, int bpp, int refreshrate SDL_GL_SetAttribute (SDL_GL_SWAP_CONTROL, 1); else SDL_GL_SetAttribute (SDL_GL_SWAP_CONTROL, 0); + if (samples > 1) + { + SDL_GL_SetAttribute (SDL_GL_MULTISAMPLEBUFFERS, 1); + SDL_GL_SetAttribute (SDL_GL_MULTISAMPLESAMPLES, samples); + } video_bpp = bpp; video_flags = flags;