static void game_run_cmd(const union cmd *cmd)
{
static void game_run_cmd(const union cmd *cmd)
{
- static const float gup[] = { 0.0f, +9.8f, 0.0f };
- static const float gdn[] = { 0.0f, -9.8f, 0.0f };
-
/*
* Neverball <= 1.5.1 does not send explicit tilt axes, rotation
* happens directly around view vectors. So for compatibility if
/*
* Neverball <= 1.5.1 does not send explicit tilt axes, rotation
* happens directly around view vectors. So for compatibility if
/* Compute gravity for particle effects. */
if (status == GAME_GOAL)
/* Compute gravity for particle effects. */
if (status == GAME_GOAL)
- game_tilt_grav(v, gup, &dr.tilt);
+ game_tilt_grav(v, GRAVITY_UP, &dr.tilt);
- game_tilt_grav(v, gdn, &dr.tilt);
+ game_tilt_grav(v, GRAVITY_DN, &dr.tilt);
/* Step particle, goal and jump effects. */
/* Step particle, goal and jump effects. */
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
+const float GRAVITY_UP[] = { 0.0f, +9.8f, 0.0f };
+const float GRAVITY_DN[] = { 0.0f, -9.8f, 0.0f };
+
void game_tilt_init(struct game_tilt *tilt)
{
tilt->x[0] = 1.0f;
void game_tilt_init(struct game_tilt *tilt)
{
tilt->x[0] = 1.0f;
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
+extern const float GRAVITY_UP[];
+extern const float GRAVITY_DN[];
+
struct game_tilt
{
float x[3], rx;
struct game_tilt
{
float x[3], rx;
static void game_server_iter(float dt)
{
static void game_server_iter(float dt)
{
- static const float gup[] = { 0.0f, +9.8f, 0.0f };
- static const float gdn[] = { 0.0f, -9.8f, 0.0f };
-
- case GAME_GOAL: game_step(gup, dt, 0); break;
- case GAME_FALL: game_step(gdn, dt, 0); break;
+ case GAME_GOAL: game_step(GRAVITY_UP, dt, 0); break;
+ case GAME_FALL: game_step(GRAVITY_DN, dt, 0); break;
- if ((status = game_step(gdn, dt, 1)) != GAME_NONE)
+ if ((status = game_step(GRAVITY_DN, dt, 1)) != GAME_NONE)
game_cmd_status();
break;
}
game_cmd_status();
break;
}