5 #include "solid_vary.h"
7 /*---------------------------------------------------------------------------*/
9 #define AUD_MENU "snd/menu.ogg"
10 #define AUD_START _("snd/select.ogg")
11 #define AUD_READY _("snd/ready.ogg")
12 #define AUD_SET _("snd/set.ogg")
13 #define AUD_GO _("snd/go.ogg")
14 #define AUD_BALL "snd/ball.ogg"
15 #define AUD_BUMPS "snd/bumplil.ogg"
16 #define AUD_BUMPM "snd/bump.ogg"
17 #define AUD_BUMPL "snd/bumpbig.ogg"
18 #define AUD_COIN "snd/coin.ogg"
19 #define AUD_TICK "snd/tick.ogg"
20 #define AUD_TOCK "snd/tock.ogg"
21 #define AUD_SWITCH "snd/switch.ogg"
22 #define AUD_JUMP "snd/jump.ogg"
23 #define AUD_GOAL "snd/goal.ogg"
24 #define AUD_SCORE _("snd/record.ogg")
25 #define AUD_FALL _("snd/fall.ogg")
26 #define AUD_TIME _("snd/time.ogg")
27 #define AUD_OVER _("snd/over.ogg")
28 #define AUD_GROW "snd/grow.ogg"
29 #define AUD_SHRINK "snd/shrink.ogg"
31 /*---------------------------------------------------------------------------*/
44 const char *status_to_str(int);
46 /*---------------------------------------------------------------------------*/
59 const char *view_to_str(int);
61 /*---------------------------------------------------------------------------*/
63 extern const float GRAVITY_UP[];
64 extern const float GRAVITY_DN[];
72 void game_tilt_init(struct game_tilt *);
73 void game_tilt_axes(struct game_tilt *, float view_e[3][3]);
74 void game_tilt_grav(float h[3], const float g[3], const struct game_tilt *);
76 /*---------------------------------------------------------------------------*/
80 float dc; /* Ideal view distance above ball */
81 float dp; /* Ideal view distance above ball */
82 float dz; /* Ideal view distance behind ball */
84 float c[3]; /* Current view center */
85 float p[3]; /* Current view position */
86 float e[3][3]; /* Current view reference frame */
88 float a; /* Ideal view rotation about Y axis */
91 void game_view_init(struct game_view *);
92 void game_view_fly(struct game_view *, const struct s_vary *, float);
94 /*---------------------------------------------------------------------------*/
97 #define DT (1.0f / (float) UPS)
100 * Simple fixed time step scheme.
107 float dt; /* Time step length */
108 float at; /* Accumulator */
109 float ts; /* Time scale factor */
112 void lockstep_clr(struct lockstep *);
113 void lockstep_run(struct lockstep *, float);
114 void lockstep_scl(struct lockstep *, float);
116 #define lockstep_blend(ls) ((ls)->at / (ls)->dt)
118 /*---------------------------------------------------------------------------*/
120 extern struct s_base game_base;
122 int game_base_load(const char *);
123 void game_base_free(const char *);
125 /*---------------------------------------------------------------------------*/