X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_ragdoll.c;h=0952eb69777075c2a52e5697602086d3f9696edb;hb=ca35eceae3abfcfb9ba266d6ea8e664bc06b0a3e;hp=7b5308816d228d173df193b93f2569c9ea80b44a;hpb=ec90a4b46865009c1e1b1679f6926e35d2ee3f12;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_ragdoll.c b/player_ragdoll.c index 7b53088..0952eb6 100644 --- a/player_ragdoll.c +++ b/player_ragdoll.c @@ -46,7 +46,7 @@ VG_STATIC void player_init_ragdoll_bone_collider( struct skeleton_bone *bone, v3_zero( v1 ); v1[ major_axis ] = 1.0f; - rb_tangent_basis( v1, tx, ty ); + v3_tangent_basis( v1, tx, ty ); float r = (fabsf(v3_dot(tx,v0)) + fabsf(v3_dot(ty,v0))) * 0.25f, l = fabsf(v0[ major_axis ]); @@ -269,7 +269,7 @@ VG_STATIC void player_debug_ragdoll(void) */ VG_STATIC void player_ragdoll_iter( struct player_ragdoll *rd ) { - world_instance *world = get_active_world(); + world_instance *world = world_current_instance(); int run_sim = 0; ragdoll_frame ++; @@ -346,14 +346,15 @@ VG_STATIC void player_ragdoll_iter( struct player_ragdoll *rd ) } } - for( int j=0; jpart_count; j++ ){ - struct ragdoll_part *pj = &rd->parts[j]; + if( world->water.enabled ){ + for( int j=0; jpart_count; j++ ){ + struct ragdoll_part *pj = &rd->parts[j]; - if( run_sim ){ - v4f plane = {0.0f,1.0f,0.0f,0.0f}; - rb_effect_simple_bouyency( &pj->obj.rb, plane, - k_ragdoll_floatyiness, - k_ragdoll_floatydrag ); + if( run_sim ){ + rb_effect_simple_bouyency( &pj->obj.rb, world->water.plane, + k_ragdoll_floatyiness, + k_ragdoll_floatydrag ); + } } }