mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2025-01-31 13:00:52 +00:00
* Always show the mouse cursor when the mouse is disabled
* Rename IN_StartupJoystick to IN_InitJoystick, add IN_ShutdownJoystick * Add IN_Restart, which avoids calling IN_DeactivateMouse at the wrong time * Call IN_Restart when changing r_fullscreen * Add CVAR_ROM r_sdlDriver for easy checking of the SDL driver in use * Random README tweaks
This commit is contained in:
parent
d4d5527a89
commit
c29417b42a
5 changed files with 58 additions and 21 deletions
|
@ -30,6 +30,9 @@ void IN_Frame (void) {
|
||||||
void IN_Shutdown( void ) {
|
void IN_Shutdown( void ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IN_Restart( void ) {
|
||||||
|
}
|
||||||
|
|
||||||
void Sys_SendKeyEvents (void) {
|
void Sys_SendKeyEvents (void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,7 @@ typedef enum
|
||||||
static SDL_Surface *screen = NULL;
|
static SDL_Surface *screen = NULL;
|
||||||
|
|
||||||
cvar_t *r_allowSoftwareGL; // Don't abort out if a hardware visual can't be obtained
|
cvar_t *r_allowSoftwareGL; // Don't abort out if a hardware visual can't be obtained
|
||||||
|
cvar_t *r_sdlDriver;
|
||||||
|
|
||||||
void (APIENTRYP qglActiveTextureARB) (GLenum texture);
|
void (APIENTRYP qglActiveTextureARB) (GLenum texture);
|
||||||
void (APIENTRYP qglClientActiveTextureARB) (GLenum texture);
|
void (APIENTRYP qglClientActiveTextureARB) (GLenum texture);
|
||||||
|
@ -423,6 +424,7 @@ static qboolean GLimp_StartDriverAndSetMode( int mode, qboolean fullscreen )
|
||||||
|
|
||||||
SDL_VideoDriverName( driverName, sizeof( driverName ) - 1 );
|
SDL_VideoDriverName( driverName, sizeof( driverName ) - 1 );
|
||||||
ri.Printf( PRINT_ALL, "SDL using driver \"%s\"\n", driverName );
|
ri.Printf( PRINT_ALL, "SDL using driver \"%s\"\n", driverName );
|
||||||
|
Cvar_Set( "r_sdlDriver", driverName );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fullscreen && Cvar_VariableIntegerValue( "in_nograb" ) )
|
if (fullscreen && Cvar_VariableIntegerValue( "in_nograb" ) )
|
||||||
|
@ -642,6 +644,7 @@ void GLimp_Init( void )
|
||||||
qboolean success = qtrue;
|
qboolean success = qtrue;
|
||||||
|
|
||||||
r_allowSoftwareGL = ri.Cvar_Get( "r_allowSoftwareGL", "0", CVAR_LATCH );
|
r_allowSoftwareGL = ri.Cvar_Get( "r_allowSoftwareGL", "0", CVAR_LATCH );
|
||||||
|
r_sdlDriver = ri.Cvar_Get( "r_sdlDriver", "", CVAR_ROM );
|
||||||
|
|
||||||
Sys_GLimpInit( );
|
Sys_GLimpInit( );
|
||||||
|
|
||||||
|
@ -732,6 +735,8 @@ void GLimp_EndFrame( void )
|
||||||
if( !sdlToggled )
|
if( !sdlToggled )
|
||||||
Cbuf_AddText( "vid_restart" );
|
Cbuf_AddText( "vid_restart" );
|
||||||
|
|
||||||
|
IN_Restart( );
|
||||||
|
|
||||||
r_fullscreen->modified = qfalse;
|
r_fullscreen->modified = qfalse;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -323,7 +323,15 @@ IN_DeactivateMouse
|
||||||
*/
|
*/
|
||||||
static void IN_DeactivateMouse( void )
|
static void IN_DeactivateMouse( void )
|
||||||
{
|
{
|
||||||
if (!mouseAvailable || !SDL_WasInit( SDL_INIT_VIDEO ) )
|
if( !SDL_WasInit( SDL_INIT_VIDEO ) )
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Always show the cursor when the mouse is disabled,
|
||||||
|
// but not when fullscreen
|
||||||
|
if( !r_fullscreen->integer )
|
||||||
|
SDL_ShowCursor( 1 );
|
||||||
|
|
||||||
|
if( !mouseAvailable )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#ifdef MACOS_X_ACCELERATION_HACK
|
#ifdef MACOS_X_ACCELERATION_HACK
|
||||||
|
@ -349,7 +357,6 @@ static void IN_DeactivateMouse( void )
|
||||||
{
|
{
|
||||||
SDL_WM_GrabInput( SDL_GRAB_OFF );
|
SDL_WM_GrabInput( SDL_GRAB_OFF );
|
||||||
SDL_WarpMouse( glConfig.vidWidth / 2, glConfig.vidHeight / 2 );
|
SDL_WarpMouse( glConfig.vidWidth / 2, glConfig.vidHeight / 2 );
|
||||||
SDL_ShowCursor( 1 );
|
|
||||||
|
|
||||||
mouseActive = qfalse;
|
mouseActive = qfalse;
|
||||||
}
|
}
|
||||||
|
@ -398,10 +405,10 @@ struct
|
||||||
|
|
||||||
/*
|
/*
|
||||||
===============
|
===============
|
||||||
IN_StartupJoystick
|
IN_InitJoystick
|
||||||
===============
|
===============
|
||||||
*/
|
*/
|
||||||
static void IN_StartupJoystick( void )
|
static void IN_InitJoystick( void )
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int total = 0;
|
int total = 0;
|
||||||
|
@ -452,8 +459,22 @@ static void IN_StartupJoystick( void )
|
||||||
Com_DPrintf( "Balls: %d\n", SDL_JoystickNumBalls(stick) );
|
Com_DPrintf( "Balls: %d\n", SDL_JoystickNumBalls(stick) );
|
||||||
|
|
||||||
SDL_JoystickEventState(SDL_QUERY);
|
SDL_JoystickEventState(SDL_QUERY);
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
/*
|
||||||
|
===============
|
||||||
|
IN_ShutdownJoystick
|
||||||
|
===============
|
||||||
|
*/
|
||||||
|
static void IN_ShutdownJoystick( void )
|
||||||
|
{
|
||||||
|
if (stick)
|
||||||
|
{
|
||||||
|
SDL_JoystickClose(stick);
|
||||||
|
stick = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -773,18 +794,22 @@ void IN_Init(void)
|
||||||
in_disablemacosxmouseaccel = Cvar_Get ("in_disablemacosxmouseaccel", "1", CVAR_ARCHIVE);
|
in_disablemacosxmouseaccel = Cvar_Get ("in_disablemacosxmouseaccel", "1", CVAR_ARCHIVE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Cvar_Set( "cl_platformSensitivity", "1.0" );
|
|
||||||
|
|
||||||
SDL_EnableUNICODE(1);
|
SDL_EnableUNICODE(1);
|
||||||
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
|
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
|
||||||
keyRepeatEnabled = qtrue;
|
keyRepeatEnabled = qtrue;
|
||||||
|
|
||||||
if (in_mouse->value)
|
if( in_mouse->value )
|
||||||
|
{
|
||||||
mouseAvailable = qtrue;
|
mouseAvailable = qtrue;
|
||||||
|
IN_ActivateMouse( );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
IN_DeactivateMouse( );
|
||||||
mouseAvailable = qfalse;
|
mouseAvailable = qfalse;
|
||||||
|
}
|
||||||
|
|
||||||
IN_StartupJoystick( );
|
IN_InitJoystick( );
|
||||||
Com_DPrintf ("------------------------------------\n");
|
Com_DPrintf ("------------------------------------\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -793,17 +818,21 @@ void IN_Init(void)
|
||||||
IN_Shutdown
|
IN_Shutdown
|
||||||
===============
|
===============
|
||||||
*/
|
*/
|
||||||
void IN_Shutdown(void)
|
void IN_Shutdown( void )
|
||||||
{
|
{
|
||||||
IN_DeactivateMouse();
|
IN_DeactivateMouse( );
|
||||||
|
|
||||||
mouseAvailable = qfalse;
|
mouseAvailable = qfalse;
|
||||||
|
|
||||||
if (stick)
|
IN_ShutdownJoystick( );
|
||||||
{
|
}
|
||||||
SDL_JoystickClose(stick);
|
|
||||||
stick = NULL;
|
/*
|
||||||
}
|
===============
|
||||||
|
IN_Restart
|
||||||
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
|
===============
|
||||||
|
*/
|
||||||
|
void IN_Restart( void )
|
||||||
|
{
|
||||||
|
IN_ShutdownJoystick( );
|
||||||
|
IN_Init( );
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
void IN_Init( void );
|
void IN_Init( void );
|
||||||
void IN_Frame( void );
|
void IN_Frame( void );
|
||||||
void IN_Shutdown( void );
|
void IN_Shutdown( void );
|
||||||
|
void IN_Restart( void );
|
||||||
|
|
||||||
// Console
|
// Console
|
||||||
void CON_Shutdown( void );
|
void CON_Shutdown( void );
|
||||||
|
|
|
@ -112,8 +112,7 @@ Restart the input subsystem
|
||||||
*/
|
*/
|
||||||
void Sys_In_Restart_f( void )
|
void Sys_In_Restart_f( void )
|
||||||
{
|
{
|
||||||
IN_Shutdown();
|
IN_Restart( );
|
||||||
IN_Init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue