Actually use the "joystick" config option
authorparasti <parasti@78b8d119-cf0a-0410-b17c-f493084dd1d7>
Thu, 18 Jun 2009 10:42:31 +0000 (10:42 +0000)
committerparasti <parasti@78b8d119-cf0a-0410-b17c-f493084dd1d7>
Thu, 18 Jun 2009 10:42:31 +0000 (10:42 +0000)
(Thanks to Elviz for spotting this.)

git-svn-id: https://s.snth.net/svn/neverball/trunk@2888 78b8d119-cf0a-0410-b17c-f493084dd1d7

ball/main.c
putt/main.c

index 2f1f1df..9bfcaed 100644 (file)
@@ -403,6 +403,7 @@ int main(int argc, char *argv[])
 {
     SDL_Joystick *joy = NULL;
     int t1, t0, uniform;
+    Uint32 flags = 0;
 
     if (!fs_init(argv[0]))
     {
@@ -419,7 +420,11 @@ int main(int argc, char *argv[])
 
     /* Initialize SDL system and subsystems */
 
-    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK) == -1)
+    flags |= SDL_INIT_VIDEO;
+    flags |= SDL_INIT_AUDIO;
+    flags |= config_get_d(CONFIG_JOYSTICK) ? SDL_INIT_JOYSTICK : 0;
+
+    if (SDL_Init(flags) == -1)
     {
         fprintf(stderr, "%s\n", SDL_GetError());
         return 1;
@@ -446,7 +451,7 @@ int main(int argc, char *argv[])
 
     /* Initialize the joystick. */
 
-    if (SDL_NumJoysticks() > 0)
+    if (SDL_WasInit(SDL_INIT_JOYSTICK) && SDL_NumJoysticks() > 0)
     {
         joy = SDL_JoystickOpen(config_get_d(CONFIG_JOYSTICK_DEVICE));
         if (joy)
@@ -522,7 +527,7 @@ int main(int argc, char *argv[])
 
     /* Gracefully close the game */
 
-    if (SDL_JoystickOpened(0))
+    if (SDL_WasInit(SDL_INIT_JOYSTICK) && SDL_JoystickOpened(0))
         SDL_JoystickClose(joy);
 
     tilt_free();
index eef897f..2d90160 100644 (file)
@@ -193,6 +193,7 @@ int main(int argc, char *argv[])
 {
     int camera = 0;
     SDL_Joystick *joy = NULL;
+    Uint32 flags = 0;
 
     if (!fs_init(argv[0]))
     {
@@ -206,7 +207,11 @@ int main(int argc, char *argv[])
     config_paths(argc > 1 ? argv[1] : NULL);
     fs_mkdir("Screenshots");
 
-    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK) == 0)
+    flags |= SDL_INIT_VIDEO;
+    flags |= SDL_INIT_AUDIO;
+    flags |= config_get_d(CONFIG_JOYSTICK) ? SDL_INIT_JOYSTICK : 0;
+
+    if (SDL_Init(flags) == 0)
     {
         config_init();
         config_load();
@@ -217,7 +222,7 @@ int main(int argc, char *argv[])
 
         /* Initialize the joystick. */
 
-        if (SDL_NumJoysticks() > 0)
+        if (SDL_WasInit(SDL_INIT_JOYSTICK) && SDL_NumJoysticks() > 0)
         {
             joy = SDL_JoystickOpen(config_get_d(CONFIG_JOYSTICK_DEVICE));
             if (joy)