X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=common.h;h=5e2f48298dbdafcb43c784d532b87b799f3c794e;hb=681a5c0d7a135ba78655d9cb6d1476a50a4e4709;hp=2ee2d7cd55f70669b1cc310d12da17e31f68bbc1;hpb=6d66c67945f84476d6ac75a0497007cc30bcf58c;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/common.h b/common.h index 2ee2d7c..5e2f482 100644 --- a/common.h +++ b/common.h @@ -16,7 +16,11 @@ enum classtype k_classtype_block = 2, k_classtype_spawn = 3, k_classtype_water = 4, - k_classtype_car_path = 5 + k_classtype_car_path = 5, + k_classtype_instance = 6, + k_classtype_capsule = 7, + k_classtype_route_node = 8, + k_classtype_route = 9 }; /* TODO: he needs a home somewhere */ @@ -28,4 +32,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 */