diff --git a/engine/gl/gl_vidsdl.c b/engine/gl/gl_vidsdl.c index aa9a9c190..06558b62f 100644 --- a/engine/gl/gl_vidsdl.c +++ b/engine/gl/gl_vidsdl.c @@ -26,25 +26,9 @@ unsigned short intitialgammaramps[3][256]; qboolean ActiveApp; qboolean mouseactive; extern qboolean mouseusedforgui; -void IN_ActivateMouse(void) -{ - if (mouseactive) - return; - mouseactive = true; - SDL_ShowCursor(0); - SDL_WM_GrabInput(SDL_GRAB_ON); -} -void IN_DeactivateMouse(void) -{ - if (!mouseactive) - return; - mouseactive = false; - SDL_ShowCursor(1); - SDL_WM_GrabInput(SDL_GRAB_OFF); -} qboolean GLVID_Init (rendererstate_t *info, unsigned char *palette) { @@ -215,7 +199,7 @@ void GLVID_SetPalette (unsigned char *palette) g = pal[1]; b = pal[2]; pal += 3; - + // v = (255<<24) + (r<<16) + (g<<8) + (b<<0); // v = (255<<0) + (r<<8) + (g<<16) + (b<<24); v = (255<<24) + (r<<0) + (g<<8) + (b<<16); @@ -235,7 +219,7 @@ void GLVID_SetPalette (unsigned char *palette) g = gammatable[pal[1]]; b = gammatable[pal[2]]; pal += 3; - + // v = (255<<24) + (r<<16) + (g<<8) + (b<<0); // v = (255<<0) + (r<<8) + (g<<16) + (b<<24); v = (255<<24) + (r<<0) + (g<<8) + (b<<16); @@ -251,7 +235,7 @@ void GLVID_SetPalette (unsigned char *palette) void GLVID_ShiftPalette (unsigned char *palette) { extern unsigned short ramps[3][256]; - + if (vid_hardwaregamma.value) //this is needed because ATI drivers don't work properly (or when task-switched out). { if (gammaworks) @@ -268,262 +252,3 @@ void GLVID_ShiftPalette (unsigned char *palette) - - - -#define tenoh 0,0,0,0,0, 0,0,0,0,0 -#define fiftyoh tenoh, tenoh, tenoh, tenoh, tenoh -#define hundredoh fiftyoh, fiftyoh -static unsigned int tbl_sdltoquake[] = -{ - 0,0,0,0, //SDLK_UNKNOWN = 0, - 0,0,0,0, //SDLK_FIRST = 0, - K_BACKSPACE, //SDLK_BACKSPACE = 8, - K_TAB, //SDLK_TAB = 9, - 0,0, - 0, //SDLK_CLEAR = 12, - K_ENTER, //SDLK_RETURN = 13, - 0,0,0,0,0, - K_PAUSE, //SDLK_PAUSE = 19, - 0,0,0,0,0,0,0, - K_ESCAPE, //SDLK_ESCAPE = 27, - 0,0,0,0, - K_SPACE, //SDLK_SPACE = 32, - '!', //SDLK_EXCLAIM = 33, - '"', //SDLK_QUOTEDBL = 34, - '#', //SDLK_HASH = 35, - '$', //SDLK_DOLLAR = 36, - 0, - '&', //SDLK_AMPERSAND = 38, - '\'', //SDLK_QUOTE = 39, - '(', //SDLK_LEFTPAREN = 40, - ')', //SDLK_RIGHTPAREN = 41, - '*', //SDLK_ASTERISK = 42, - '+', //SDLK_PLUS = 43, - ',', //SDLK_COMMA = 44, - '-', //SDLK_MINUS = 45, - '.', //SDLK_PERIOD = 46, - '/', //SDLK_SLASH = 47, - '0', //SDLK_0 = 48, - '1', //SDLK_1 = 49, - '2', //SDLK_2 = 50, - '3', //SDLK_3 = 51, - '4', //SDLK_4 = 52, - '5', //SDLK_5 = 53, - '6', //SDLK_6 = 54, - '7', //SDLK_7 = 55, - '8', //SDLK_8 = 56, - '9', //SDLK_9 = 57, - ':', //SDLK_COLON = 58, - ';', //SDLK_SEMICOLON = 59, - '<', //SDLK_LESS = 60, - '=', //SDLK_EQUALS = 61, - '>', //SDLK_GREATER = 62, - '?', //SDLK_QUESTION = 63, - '@', //SDLK_AT = 64, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - '[', //SDLK_LEFTBRACKET = 91, - '\\', //SDLK_BACKSLASH = 92, - ']', //SDLK_RIGHTBRACKET = 93, - '^', //SDLK_CARET = 94, - '_', //SDLK_UNDERSCORE = 95, - '`', //SDLK_BACKQUOTE = 96, - 'a', //SDLK_a = 97, - 'b', //SDLK_b = 98, - 'c', //SDLK_c = 99, - 'd', //SDLK_d = 100, - 'e', //SDLK_e = 101, - 'f', //SDLK_f = 102, - 'g', //SDLK_g = 103, - 'h', //SDLK_h = 104, - 'i', //SDLK_i = 105, - 'j', //SDLK_j = 106, - 'k', //SDLK_k = 107, - 'l', //SDLK_l = 108, - 'm', //SDLK_m = 109, - 'n', //SDLK_n = 110, - 'o', //SDLK_o = 111, - 'p', //SDLK_p = 112, - 'q', //SDLK_q = 113, - 'r', //SDLK_r = 114, - 's', //SDLK_s = 115, - 't', //SDLK_t = 116, - 'u', //SDLK_u = 117, - 'v', //SDLK_v = 118, - 'w', //SDLK_w = 119, - 'x', //SDLK_x = 120, - 'y', //SDLK_y = 121, - 'z', //SDLK_z = 122, - 0,0,0,0, - K_DEL, //SDLK_DELETE = 127, - hundredoh /*227*/, tenoh, tenoh, 0,0,0,0,0,0,0,0, - K_KP_INS, //SDLK_KP0 = 256, - K_KP_END, //SDLK_KP1 = 257, - K_KP_DOWNARROW, //SDLK_KP2 = 258, - K_KP_PGDN, //SDLK_KP3 = 259, - K_KP_LEFTARROW, //SDLK_KP4 = 260, - K_KP_5, //SDLK_KP5 = 261, - K_KP_RIGHTARROW, //SDLK_KP6 = 262, - K_KP_HOME, //SDLK_KP7 = 263, - K_KP_UPARROW, //SDLK_KP8 = 264, - K_KP_PGUP, //SDLK_KP9 = 265, - K_KP_DEL,//SDLK_KP_PERIOD = 266, - K_KP_SLASH,//SDLK_KP_DIVIDE = 267, - K_KP_STAR,//SDLK_KP_MULTIPLY= 268, - K_KP_MINUS, //SDLK_KP_MINUS = 269, - K_KP_PLUS, //SDLK_KP_PLUS = 270, - K_KP_ENTER, //SDLK_KP_ENTER = 271, - K_KP_EQUALS,//SDLK_KP_EQUALS = 272, - K_UPARROW, //SDLK_UP = 273, - K_DOWNARROW,//SDLK_DOWN = 274, - K_RIGHTARROW,//SDLK_RIGHT = 275, - K_LEFTARROW,//SDLK_LEFT = 276, - K_INS, //SDLK_INSERT = 277, - K_HOME, //SDLK_HOME = 278, - K_END, //SDLK_END = 279, - K_PGUP, //SDLK_PAGEUP = 280, - K_PGDN, //SDLK_PAGEDOWN = 281, - K_F1, //SDLK_F1 = 282, - K_F2, //SDLK_F2 = 283, - K_F3, //SDLK_F3 = 284, - K_F4, //SDLK_F4 = 285, - K_F5, //SDLK_F5 = 286, - K_F6, //SDLK_F6 = 287, - K_F7, //SDLK_F7 = 288, - K_F8, //SDLK_F8 = 289, - K_F9, //SDLK_F9 = 290, - K_F10, //SDLK_F10 = 291, - K_F11, //SDLK_F11 = 292, - K_F12, //SDLK_F12 = 293, - 0, //SDLK_F13 = 294, - 0, //SDLK_F14 = 295, - 0, //SDLK_F15 = 296, - 0,0,0, - 0,//K_NUMLOCK, //SDLK_NUMLOCK = 300, - K_CAPSLOCK, //SDLK_CAPSLOCK = 301, - 0,//K_SCROLLOCK,//SDLK_SCROLLOCK= 302, - K_SHIFT, //SDLK_RSHIFT = 303, - K_SHIFT, //SDLK_LSHIFT = 304, - K_CTRL, //SDLK_RCTRL = 305, - K_CTRL, //SDLK_LCTRL = 306, - K_ALT, //SDLK_RALT = 307, - K_ALT, //SDLK_LALT = 308, - 0, //SDLK_RMETA = 309, - 0, //SDLK_LMETA = 310, - 0, //SDLK_LSUPER = 311, /* Left "Windows" key */ - 0, //SDLK_RSUPER = 312, /* Right "Windows" key */ - 0, //SDLK_MODE = 313, /* "Alt Gr" key */ - 0, //SDLK_COMPOSE = 314, /* Multi-key compose key */ - 0, //SDLK_HELP = 315, - 0, //SDLK_PRINT = 316, - 0, //SDLK_SYSREQ = 317, - K_PAUSE, //SDLK_BREAK = 318, - 0, //SDLK_MENU = 319, - 0, //SDLK_POWER = 320, /* Power Macintosh power key */ - 'e', //SDLK_EURO = 321, /* Some european keyboards */ - 0 //SDLK_UNDO = 322, /* Atari keyboard has Undo */ -}; - -int mouse_x, mouse_y; - -void Sys_SendKeyEvents(void) -{ - SDL_Event event; - while(SDL_PollEvent(&event)) - { - switch(event.type) - { - case SDL_ACTIVEEVENT: - if (event.active.state & SDL_APPINPUTFOCUS) - { //follow keyboard status - ActiveApp = !!event.active.gain; - break; - } - break; - - case SDL_VIDEORESIZE: - glwidth = event.resize.w; - glheight = event.resize.h; - break; - - case SDL_KEYUP: - case SDL_KEYDOWN: - Key_Event(tbl_sdltoquake[event.key.keysym.sym], event.key.state); - break; - - case SDL_MOUSEMOTION: - mouse_x += event.motion.xrel; - mouse_y += event.motion.yrel; - break; - - case SDL_MOUSEBUTTONDOWN: - case SDL_MOUSEBUTTONUP: - //Hmm. SDL allows for 255 buttons... - if (event.button.button > 6) - event.button.button = 6; - Key_Event(K_MOUSE1+event.button.button-1, event.button.state); - break; - - case SDL_QUIT: - Cbuf_AddText("quit", RESTRICT_LOCAL); - break; - } - } -} - - - - - - -void IN_Shutdown (void) -{ -} -void IN_Init (void) -{ - Cvar_Register (&in_xflip, "input controls"); -} -void IN_Move (usercmd_t *cmd, int pnum) //add mouse movement to cmd -{ - mouse_x *= sensitivity.value; - mouse_y *= sensitivity.value; - - - if (!cl.paused && mouseactive) - { -// add mouse X/Y movement to cmd - if ( (in_strafe.state[pnum] & 1) || (lookstrafe.value && (in_mlook.state[pnum] & 1) )) - cmd->sidemove += m_side.value * mouse_x; - else - cl.viewangles[pnum][YAW] -= m_yaw.value * mouse_x; - - if (in_mlook.state[pnum] & 1) - V_StopPitchDrift (pnum); - - if ( (in_mlook.state[pnum] & 1) && !(in_strafe.state[pnum] & 1)) - { - cl.viewangles[pnum][PITCH] += m_pitch.value * mouse_y; - - CL_ClampPitch(pnum); - } - else - { - if ((in_strafe.state[pnum] & 1) && noclip_anglehack) - cmd->upmove -= m_forward.value * mouse_y; - else - cmd->forwardmove -= m_forward.value * mouse_y; - } - } - - mouse_x = 0; - mouse_y = 0; -} -void IN_Accumulate(void) //input polling -{ -} -void IN_Commands (void) //used to Cbuf_AddText joystick button events in windows. -{ -} - - -