update model format
[carveJwlIkooP6JGAAIwe30JlM.git] / common.h
index 21251546e00336095bbc8b857d3e17d77e4093c4..afa32fd9fb3e71b488b649fb3ec153ccc49ba744 100644 (file)
--- a/common.h
+++ b/common.h
@@ -15,7 +15,14 @@ enum classtype
    k_classtype_gate = 1,
    k_classtype_block = 2,
    k_classtype_spawn = 3,
-   k_classtype_water = 4
+   k_classtype_water = 4,
+   k_classtype_car_path = 5,
+   k_classtype_instance = 6,
+   k_classtype_capsule = 7,
+   k_classtype_route_node = 8,
+   k_classtype_route = 9,
+   k_classtype_bone = 10,
+   k_classtype_skeleton = 11
 };
 
 /* TODO: he needs a home somewhere */
@@ -27,4 +34,16 @@ struct ray_hit
    v3f pos, normal;
 };
 
+/* TODO: he needs a home somewhere */
+static void eval_bezier_time( v3f p0, v3f p1, v3f h0, v3f h1, float t, v3f p )
+{
+   float tt = t*t,
+         ttt = tt*t;
+
+   v3_muls( p1, ttt, p );
+   v3_muladds( p, h1, 3.0f*tt  -3.0f*ttt, p );
+   v3_muladds( p, h0, 3.0f*ttt -6.0f*tt  +3.0f*t, p );
+   v3_muladds( p, p0, 3.0f*tt  -ttt -3.0f*t +1.0f, p );
+}
+
 #endif /* COMMON_H */