X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=vid_sdl.c;h=0df9e422a0b1649ca1d809584d86c9c1bdc23d13;hp=258bd8e50181a05b65a82c7dce6ceb373e234b8b;hb=cfdb5e3a8a32fc197877a86e1774d1bc4dbd6cc1;hpb=1ca8da0a7e099c73fa4007531e0a544058231083 diff --git a/vid_sdl.c b/vid_sdl.c index 258bd8e5..0df9e422 100644 --- a/vid_sdl.c +++ b/vid_sdl.c @@ -16,6 +16,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#undef WIN32_LEAN_AND_MEAN //hush a warning, SDL.h redefines this #include #include @@ -346,11 +347,12 @@ static void VID_SetCaption() return; icon = LoadIcon( GetModuleHandle( NULL ), MAKEINTRESOURCE( IDI_ICON1 ) ); -#ifndef WIN64 - SetClassLong( info.window, GCL_HICON, (LONG) icon ); -#else - SetClassLongPtr( info.window, GCLP_HICON, (LONG_PTR)icon ); +#ifndef _W64 //If Windows 64bit data types don't exist +#define SetClassLongPtr SetClassLong +#define GCLP_HICON GCL_HICON +#define LONG_PTR LONG #endif + SetClassLongPtr( info.window, GCLP_HICON, (LONG_PTR)icon ); } #else static void VID_SetCaption() @@ -471,17 +473,17 @@ void VID_Shutdown (void) SDL_QuitSubSystem(SDL_INIT_VIDEO); } -int VID_SetGamma (unsigned short *ramps) +int VID_SetGamma (unsigned short *ramps, int rampsize) { - return !SDL_SetGammaRamp (ramps, ramps + 256, ramps + 512); + return !SDL_SetGammaRamp (ramps, ramps + rampsize, ramps + rampsize*2); } -int VID_GetGamma (unsigned short *ramps) +int VID_GetGamma (unsigned short *ramps, int rampsize) { - return !SDL_GetGammaRamp( ramps, ramps + 256, ramps + 512); + return !SDL_GetGammaRamp (ramps, ramps + rampsize, ramps + rampsize*2); } -void VID_Finish (void) +void VID_Finish (qboolean allowmousegrab) { Uint8 appstate; qboolean vid_usemouse; @@ -501,7 +503,7 @@ void VID_Finish (void) vid_activewindow = true; vid_usemouse = false; - if( vid_mouse.integer && !key_consoleactive && !cls.demoplayback ) + if( allowmousegrab && vid_mouse.integer && !key_consoleactive && !cls.demoplayback ) vid_usemouse = true; if( vid_isfullscreen ) vid_usemouse = true; @@ -509,4 +511,6 @@ void VID_Finish (void) vid_usemouse = false; IN_Activate(vid_usemouse); + + VID_UpdateGamma(false, 256); }