Correct logic of BSP back/front tests
[neverball] / share / state.c
index 7af4bc0..a4073af 100644 (file)
@@ -52,9 +52,9 @@ int goto_state(struct state *st)
 
 /*---------------------------------------------------------------------------*/
 
-void st_paint(void)
+void st_paint(float t)
 {
-    int stereo  = config_get_d(CONFIG_STEREO);
+    int stereo = config_get_d(CONFIG_STEREO);
 
     if (state && state->paint)
     {
@@ -62,16 +62,16 @@ void st_paint(void)
         {
             glDrawBuffer(GL_BACK_LEFT);
             config_clear();
-            state->paint(state->gui_id, (float) (+stereo));
+            state->paint(state->gui_id, t);
 
             glDrawBuffer(GL_BACK_RIGHT);
             config_clear();
-            state->paint(state->gui_id, (float) (-stereo));
+            state->paint(state->gui_id, t);
         }
         else
         {
             config_clear();
-            state->paint(state->gui_id, 0.0f);
+            state->paint(state->gui_id, t);
         }
     }
 }
@@ -96,6 +96,12 @@ void st_stick(int a, int k)
         state->stick(state->gui_id, a, k);
 }
 
+void st_angle(int x, int z)
+{
+    if (state && state->angle)
+        state->angle(state->gui_id, x, z);
+}
+
 /*---------------------------------------------------------------------------*/
 
 int st_click(int b, int d)