gate frame fix
[carveJwlIkooP6JGAAIwe30JlM.git] / common.h
1 #ifndef COMMON_H
2 #define COMMON_H
3
4 #define VG_3D
5 #define VG_FRAMEBUFFER_RESIZE 1
6 #include "vg/vg.h"
7
8 /* TODO: he needs a home somewhere */
9 static float ktimestep = 1.0f/60.0f;
10
11 /* TODO: he needs a home somewhere */
12 enum classtype
13 {
14 k_classtype_none = 0,
15 k_classtype_gate = 1,
16 k_classtype_block = 2,
17 k_classtype_spawn = 3,
18 k_classtype_water = 4,
19 k_classtype_car_path = 5,
20 k_classtype_instance = 6,
21 k_classtype_capsule = 7,
22 k_classtype_route_node = 8,
23 k_classtype_route = 9,
24 k_classtype_bone = 10,
25 k_classtype_skeleton = 11,
26 k_classtype_skin = 12
27 };
28
29 /* TODO: he needs a home somewhere */
30 typedef struct ray_hit ray_hit;
31 struct ray_hit
32 {
33 float dist;
34 u32 *tri;
35 v3f pos, normal;
36 };
37
38 /* TODO: he needs a home somewhere */
39 static void eval_bezier_time( v3f p0, v3f p1, v3f h0, v3f h1, float t, v3f p )
40 {
41 float tt = t*t,
42 ttt = tt*t;
43
44 v3_muls( p1, ttt, p );
45 v3_muladds( p, h1, 3.0f*tt -3.0f*ttt, p );
46 v3_muladds( p, h0, 3.0f*ttt -6.0f*tt +3.0f*t, p );
47 v3_muladds( p, p0, 3.0f*tt -ttt -3.0f*t +1.0f, p );
48 }
49
50 static int network_scores_updated = 0;
51
52 #endif /* COMMON_H */