cl_ignoremousemoves = 2;
SDL_WM_GrabInput( SDL_GRAB_ON );
SDL_ShowCursor( SDL_DISABLE );
- }
+ }
}
else
{
{
// have the mouse stuck in the middle, example use: prevent expose effect of beryl during the game when not using
// window grabbing. --blub
-
+
// we need 2 frames to initialize the center position
if(!stuck)
{
* Somewhat restricted XPM reader. Only supports XPMs saved by GIMP 2.4 at
* default settings with less than 91 colors and transparency.
*/
-
+
int width, height, colors, isize, i, j;
int thenone = -1;
static SDL_Color palette[256];
unsigned short palenc[256]; // store color id by char
-
+
char **idata = ENGINE_ICON;
char *data = idata[0];
Con_Printf("This XPM's palette is either huge or idiotically unoptimized. It's key size is %i\n", isize);
return;
}
-
+
for(i = 0; i < colors; ++i)
{
int r, g, b;
data[j * width + i] = palenc[((unsigned char*)idata[colors+j+1])[i]];
}
}
-
+
if(icon != NULL)
{
// SDL_FreeSurface should free the data too
icon->pixels = data;
SDL_SetPalette(icon, SDL_PHYSPAL|SDL_LOGPAL, palette, 0, colors);
SDL_SetColorKey(icon, SDL_SRCCOLORKEY, thenone);
-
+
SDL_WM_SetIcon(icon, NULL);
}
Con_Printf("Unable to load GL driver \"%s\": %s\n", drivername, SDL_GetError());
return false;
}
-
+
if ((qglGetString = (const GLubyte* (GLAPIENTRY *)(GLenum name))GL_GetProcAddress("glGetString")) == NULL)
{
VID_Shutdown();
}
if (stereobuffer)
SDL_GL_SetAttribute (SDL_GL_STEREO, 1);
+ if (vid_vsync.integer)
+ SDL_GL_SetAttribute (SDL_GL_SWAP_CONTROL, 1);
+ else
+ SDL_GL_SetAttribute (SDL_GL_SWAP_CONTROL, 0);
video_bpp = bpp;
video_flags = flags;
VID_SetIcon();
screen = SDL_SetVideoMode(width, height, bpp, flags);
-
+
if (screen == NULL)
{
Con_Printf("Failed to set video mode to %ix%i: %s\n", width, height, SDL_GetError());