X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=traffic.h;h=004c62485f470f98580095b2ba5a1cebdbadd679;hb=e311bbe2fa903a7e2a922f202f389b799193195d;hp=98b8c7b57aa0de3df514ac7d13aceecb3076c2b1;hpb=1030b1e134d422a3cbc1e06102053447da59ceba;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/traffic.h b/traffic.h index 98b8c7b..004c624 100644 --- a/traffic.h +++ b/traffic.h @@ -4,6 +4,7 @@ #include "common.h" #include "model.h" #include "rigidbody.h" +#include "world.h" typedef struct traffic_node traffic_node; typedef struct traffic_driver traffic_driver; @@ -137,9 +138,9 @@ static void traffic_drive( traffic_driver *driver ) v3_muladds( next->co, next->h, -1.0f, h1 ); eval_bezier_time( p0,p1,h0,h1, driver->t, pc ); - eval_bezier_time( p0,p1,h0,h1, driver->t + ktimestep, pn ); + eval_bezier_time( p0,p1,h0,h1, driver->t + vg.time_delta, pn ); - float mod = ktimestep / v3_dist( pc, pn ); + float mod = vg.time_delta / v3_dist( pc, pn ); v3f dir,side,up; v3_sub( pn, pc, dir ); v3_normalize(dir); @@ -178,13 +179,13 @@ static void traffic_drive( traffic_driver *driver ) * Jesus take the wheel */ float steer_penalty = 1.0f-v3_dot( dir, driver->transform[0] ); - steer_penalty /= ktimestep; + steer_penalty /= vg.time_delta; steer_penalty *= 30.0f; float target_speed = vg_maxf( 16.0f * (1.0f-steer_penalty), 0.1f ), accel = target_speed - driver->speed; - driver->speed = stable_force( driver->speed, accel*ktimestep*2.0f ); - driver->t += driver->speed*mod*ktimestep; + driver->speed = stable_force( driver->speed, accel*vg.time_delta*2.0f ); + driver->t += driver->speed*mod*vg.time_delta; /* * Update transform