Do not reject 1.5 format SOLs
[neverball] / share / state.c
index d964300..0088874 100644 (file)
@@ -55,8 +55,6 @@ int goto_state(struct state *st)
 
 /*---------------------------------------------------------------------------*/
 
-extern void gui_pointer(void);
-
 void st_paint(float t)
 {
     int stereo = config_get_d(CONFIG_STEREO);
@@ -70,18 +68,15 @@ void st_paint(float t)
             glDrawBuffer(GL_BACK_LEFT);
             video_clear();
             state->paint(state->gui_id, t);
-            gui_pointer();
 
             glDrawBuffer(GL_BACK_RIGHT);
             video_clear();
             state->paint(state->gui_id, t);
-            gui_pointer();
         }
         else
         {
             video_clear();
             state->paint(state->gui_id, t);
-            gui_pointer();
         }
     }
 }
@@ -105,6 +100,14 @@ void st_point(int x, int y, int dx, int dy)
 
 void st_stick(int a, int k)
 {
+    if ((config_tst_d(CONFIG_JOYSTICK_AXIS_X, a) &&
+         config_get_d(CONFIG_JOYSTICK_AXIS_X_INVERT)) ||
+        (config_tst_d(CONFIG_JOYSTICK_AXIS_Y, a) &&
+         config_get_d(CONFIG_JOYSTICK_AXIS_Y_INVERT)) ||
+        (config_tst_d(CONFIG_JOYSTICK_AXIS_U, a) &&
+         config_get_d(CONFIG_JOYSTICK_AXIS_U_INVERT)))
+        k = -k;
+
     if (state && state->stick)
         state->stick(state->gui_id, a, k);
 }