mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 07:12:02 +00:00
- Added SDL joystick support.
SVN r2939 (trunk)
This commit is contained in:
parent
55585a36eb
commit
0d10718e67
4 changed files with 22 additions and 20 deletions
|
@ -538,6 +538,7 @@ else( WIN32 )
|
||||||
sdl/hardware.cpp
|
sdl/hardware.cpp
|
||||||
sdl/i_cd.cpp
|
sdl/i_cd.cpp
|
||||||
sdl/i_input.cpp
|
sdl/i_input.cpp
|
||||||
|
sdl/i_joystick.cpp
|
||||||
sdl/i_main.cpp
|
sdl/i_main.cpp
|
||||||
sdl/i_movie.cpp
|
sdl/i_movie.cpp
|
||||||
sdl/i_system.cpp
|
sdl/i_system.cpp
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
#include "dikeys.h"
|
#include "dikeys.h"
|
||||||
#include "templates.h"
|
#include "templates.h"
|
||||||
#include "s_sound.h"
|
#include "s_sound.h"
|
||||||
#include "m_joy.h"
|
|
||||||
|
|
||||||
static void I_CheckGUICapture ();
|
static void I_CheckGUICapture ();
|
||||||
static void I_CheckNativeMouse ();
|
static void I_CheckNativeMouse ();
|
||||||
|
@ -437,6 +436,18 @@ void MessagePump (const SDL_Event &sev)
|
||||||
D_PostEvent (&event);
|
D_PostEvent (&event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SDL_JOYBUTTONDOWN:
|
||||||
|
case SDL_JOYBUTTONUP:
|
||||||
|
if (!GUICapture)
|
||||||
|
{
|
||||||
|
event.type = sev.type == SDL_JOYBUTTONDOWN ? EV_KeyDown : EV_KeyUp;
|
||||||
|
event.data1 = KEY_FIRSTJOYBUTTON + sev.jbutton.button;
|
||||||
|
if(event.data1 != 0)
|
||||||
|
D_PostEvent(&event);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -468,21 +479,3 @@ void I_StartFrame ()
|
||||||
InitKeySymMap ();
|
InitKeySymMap ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void I_GetJoysticks(TArray<IJoystickConfig *> &sticks)
|
|
||||||
{
|
|
||||||
sticks.Clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
void I_GetAxes(float axes[NUM_JOYAXIS])
|
|
||||||
{
|
|
||||||
for (int i = 0; i < NUM_JOYAXIS; ++i)
|
|
||||||
{
|
|
||||||
axes[i] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
IJoystickConfig *I_UpdateDeviceList()
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
|
@ -245,6 +245,9 @@ static void unprotect_rtext()
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void I_StartupJoysticks();
|
||||||
|
void I_ShutdownJoysticks();
|
||||||
|
|
||||||
int main (int argc, char **argv)
|
int main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
printf(GAMENAME" v%s - SVN revision %s - SDL version\nCompiled on %s\n\n",
|
printf(GAMENAME" v%s - SVN revision %s - SDL version\nCompiled on %s\n\n",
|
||||||
|
@ -268,7 +271,7 @@ int main (int argc, char **argv)
|
||||||
|
|
||||||
setlocale (LC_ALL, "C");
|
setlocale (LC_ALL, "C");
|
||||||
|
|
||||||
if (SDL_Init (SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_NOPARACHUTE) == -1)
|
if (SDL_Init (SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_NOPARACHUTE|SDL_INIT_JOYSTICK) == -1)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "Could not initialize SDL:\n%s\n", SDL_GetError());
|
fprintf (stderr, "Could not initialize SDL:\n%s\n", SDL_GetError());
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -316,11 +319,13 @@ int main (int argc, char **argv)
|
||||||
progdir = "./";
|
progdir = "./";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
I_StartupJoysticks();
|
||||||
C_InitConsole (80*8, 25*8, false);
|
C_InitConsole (80*8, 25*8, false);
|
||||||
D_DoomMain ();
|
D_DoomMain ();
|
||||||
}
|
}
|
||||||
catch (class CDoomError &error)
|
catch (class CDoomError &error)
|
||||||
{
|
{
|
||||||
|
I_ShutdownJoysticks();
|
||||||
if (error.GetMessage ())
|
if (error.GetMessage ())
|
||||||
fprintf (stderr, "%s\n", error.GetMessage ());
|
fprintf (stderr, "%s\n", error.GetMessage ());
|
||||||
exit (-1);
|
exit (-1);
|
||||||
|
|
|
@ -71,6 +71,8 @@ class FTTYStartupScreen : public FStartupScreen
|
||||||
|
|
||||||
// PUBLIC FUNCTION PROTOTYPES ----------------------------------------------
|
// PUBLIC FUNCTION PROTOTYPES ----------------------------------------------
|
||||||
|
|
||||||
|
void I_ShutdownJoysticks();
|
||||||
|
|
||||||
// PRIVATE FUNCTION PROTOTYPES ---------------------------------------------
|
// PRIVATE FUNCTION PROTOTYPES ---------------------------------------------
|
||||||
|
|
||||||
static void DeleteStartupScreen();
|
static void DeleteStartupScreen();
|
||||||
|
@ -347,5 +349,6 @@ bool FTTYStartupScreen::NetLoop(bool (*timer_callback)(void *), void *userdata)
|
||||||
|
|
||||||
void ST_Endoom()
|
void ST_Endoom()
|
||||||
{
|
{
|
||||||
|
I_ShutdownJoysticks();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue