Treat angle values as floating point numbers
authorAlberto Mardegan <mardy@users.sourceforge.net>
Wed, 6 Jul 2011 11:02:08 +0000 (14:02 +0300)
committerAlberto Mardegan <mardy@users.sourceforge.net>
Wed, 6 Jul 2011 11:02:08 +0000 (14:02 +0300)
This avoids having the floor suddenly tilt when the angle changes from 0.9 to 1.

ball/game_server.c
ball/game_server.h
ball/main.c
ball/st_shared.c
ball/st_shared.h
share/state.c
share/state.h

index deba45d..b82bd45 100644 (file)
@@ -823,7 +823,7 @@ void game_set_z(float k)
     input_set_z(+ANGLE_BOUND * k);
 }
 
-void game_set_ang(int x, int z)
+void game_set_ang(float x, float z)
 {
     input_set_x(x);
     input_set_z(z);
index 2235a44..3437bec 100644 (file)
@@ -16,7 +16,7 @@ float game_server_blend(void);
 
 void  game_set_goal(void);
 
-void  game_set_ang(int, int);
+void  game_set_ang(float, float);
 void  game_set_pos(int, int);
 void  game_set_x  (float);
 void  game_set_z  (float);
index 98a33d9..40ff383 100644 (file)
@@ -233,8 +233,8 @@ static int loop(void)
         int b;
         int s;
 
-        st_angle((int) tilt_get_x(),
-                 (int) tilt_get_z());
+        st_angle(tilt_get_x(),
+                 tilt_get_z());
 
         while (tilt_get_button(&b, &s))
         {
index c6fa4ca..a60ff24 100644 (file)
@@ -69,7 +69,7 @@ void shared_stick(int id, int a, float v, int bump)
     shared_stick_basic(id, a, v, bump);
 }
 
-void shared_angle(int id, int x, int z)
+void shared_angle(int id, float x, float z)
 {
     game_set_ang(x, z);
 }
index 49bc3ab..3fc3b9e 100644 (file)
@@ -10,7 +10,7 @@ int  shared_point_basic(int id, int x, int y);
 void shared_point(int id, int x, int y, int dx, int dy);
 int  shared_stick_basic(int id, int a, float v, int bump);
 void shared_stick(int id, int a, float v, int bump);
-void shared_angle(int id, int x, int z);
+void shared_angle(int id, float x, float z);
 int  shared_click(int b, int d);
 
 #endif
index a144527..36fc960 100644 (file)
@@ -140,7 +140,7 @@ void st_stick(int a, float v)
         state->stick(state->gui_id, a, v, bump);
 }
 
-void st_angle(int x, int z)
+void st_angle(float x, float z)
 {
     if (state && state->angle)
         state->angle(state->gui_id, x, z);
index 437b726..1247fc6 100644 (file)
@@ -11,7 +11,7 @@ struct state
     void (*timer)(int id, float dt);
     void (*point)(int id, int x, int y, int dx, int dy);
     void (*stick)(int id, int a, float v, int bump);
-    void (*angle)(int id, int x, int z);
+    void (*angle)(int id, float x, float z);
     int  (*click)(int b,  int d);
     int  (*keybd)(int c,  int d);
     int  (*buttn)(int b,  int d);
@@ -29,7 +29,7 @@ void st_paint(float);
 void st_timer(float);
 void st_point(int, int, int, int);
 void st_stick(int, float);
-void st_angle(int, int);
+void st_angle(float, float);
 int  st_click(int, int);
 int  st_keybd(int, int);
 int  st_buttn(int, int);