From b0a4fb814d794157c55212191df200915ab99515 Mon Sep 17 00:00:00 2001 From: hgn Date: Wed, 14 Sep 2022 01:44:28 +0100 Subject: [PATCH] inertia tensors --- blender_export.py | 179 +++++++- common.h | 3 +- model.h | 15 +- models_src/ch_new.mdl | Bin 446824 -> 447840 bytes models_src/mp_dev.mdl | Bin 11026106 -> 11023970 bytes physics_test.h | 8 +- player.h | 966 +----------------------------------------- player_model.h | 110 ++++- player_walkgrid.h | 963 +++++++++++++++++++++++++++++++++++++++++ rigidbody.h | 413 +++++++++++------- skeleton.h | 44 +- 11 files changed, 1546 insertions(+), 1155 deletions(-) create mode 100644 player_walkgrid.h diff --git a/blender_export.py b/blender_export.py index 3f2dd79..edb758f 100644 --- a/blender_export.py +++ b/blender_export.py @@ -144,18 +144,17 @@ class classtype_skeleton(Structure): _pack_ = 1 _fields_ = [("channels",c_uint32), ("ik_count",c_uint32), + ("collider_count",c_uint32), ("anim_start",c_uint32), ("anim_count",c_uint32)] class classtype_bone(Structure): - _pack_ = 1 - _fields_ = [("deform",c_uint32)] - -class classtype_ik_bone(Structure): _pack_ = 1 _fields_ = [("deform",c_uint32), - ("target",c_uint32), - ("pole",c_uint32)] + ("ik_target",c_uint32), + ("ik_pole",c_uint32), + ("collider",c_uint32), + ("hitbox",(c_float*3)*2)] # Exporter # ============================================================================== @@ -281,6 +280,7 @@ def write_model(collection_name): if n.type == 'ARMATURE': tree["bones"] = [None] # None is the root transform tree["ik_count"] = 0 + tree["collider_count"] = 0 def _extendb( p, n, d ): nonlocal tree @@ -302,6 +302,9 @@ def write_model(collection_name): btree["pole"] = c.pole_subtarget tree["ik_count"] += 1 + if n.cv_data.collider: + tree['collider_count'] += 1 + btree['deform'] = n.use_deform p['children'] += [btree] @@ -371,10 +374,7 @@ def write_model(collection_name): node.parent = node_def["parent"]["uid"] if objt == 'BONE': - if 'target' in node_def: - classtype = 'k_classtype_ik_bone' - else: - classtype = 'k_classtype_bone' + classtype = 'k_classtype_bone' elif objt == 'ARMATURE': classtype = 'k_classtype_skeleton' else: @@ -399,6 +399,8 @@ def write_model(collection_name): if mod.type == 'ARMATURE': classtype = 'k_classtype_skin' armature_def = graph_lookup[mod.object] + POSE_OR_REST_CACHE = armature_def['obj'].data.pose_position + armature_def['obj'].data.pose_position = 'REST' if can_use_cache and obj.data.name in mesh_cache: @@ -580,7 +582,7 @@ def write_model(collection_name): s005 = "" if classtype == 'k_classtype_skin': - armature_def['obj'].data.pose_position = 'POSE' + armature_def['obj'].data.pose_position = POSE_OR_REST_CACHE s005 = F" [armature -> {armature_def['obj'].cv_data.uid}]" scmp = F"{s002:<32} {s003:<22} {s004} {s005}" @@ -614,6 +616,7 @@ def write_model(collection_name): bones = armature_def['bones'] skeleton.channels = len(bones) skeleton.ik_count = armature_def["ik_count"] + skeleton.collider_count = armature_def["collider_count"] if armature.animation_data: previous_frame = bpy.context.scene.frame_current @@ -698,18 +701,32 @@ def write_model(collection_name): bone = classtype_bone() bone.deform = node_def['deform'] - entdata_buffer += [bone] - - elif classtype == 'k_classtype_ik_bone': - node.classtype = 13 - entdata_length += sizeof( classtype_ik_bone ) - ikbone = classtype_ik_bone() - ikbone.target = armature_def['bones'].index( node_def['target'] ) - ikbone.pole = armature_def['bones'].index( node_def['pole'] ) - ikbone.deform = node_def['deform'] + if 'target' in node_def: + bone.ik_target = armature_def['bones'].index( node_def['target'] ) + bone.ik_pole = armature_def['bones'].index( node_def['pole'] ) + else: + bone.ik_target = 0 + bone.ik_pole = 0 + + bone.collider = 1 if obj.cv_data.collider else 0 + if obj.cv_data.collider: + bone.hitbox[0][0] = obj.cv_data.v0[0] + bone.hitbox[0][1] = obj.cv_data.v0[2] + bone.hitbox[0][2] = -obj.cv_data.v1[1] + bone.hitbox[1][0] = obj.cv_data.v1[0] + bone.hitbox[1][1] = obj.cv_data.v1[2] + bone.hitbox[1][2] = -obj.cv_data.v0[1] + else: + bone.hitbox[0][0] = 0.0 + bone.hitbox[0][1] = 0.0 + bone.hitbox[0][2] = 0.0 + bone.hitbox[1][0] = 0.0 + bone.hitbox[1][1] = 0.0 + bone.hitbox[1][2] = 0.0 - entdata_buffer += [ikbone] + bone.deform = node_def['deform'] + entdata_buffer += [bone] elif classtype == 'k_classtype_gate': node.classtype = 1 @@ -973,6 +990,76 @@ def cv_draw(): colours += [c0,c1] for obj in bpy.context.collection.objects: + if obj.type == 'ARMATURE': + for bone in obj.data.bones: + if bone.cv_data.collider: + c = bone.head_local + a = bone.cv_data.v0 + b = bone.cv_data.v1 + + vs = [None]*8 + vs[0]=obj.matrix_world@Vector((c[0]+a[0],c[1]+a[1],c[2]+a[2])) + vs[1]=obj.matrix_world@Vector((c[0]+a[0],c[1]+b[1],c[2]+a[2])) + vs[2]=obj.matrix_world@Vector((c[0]+b[0],c[1]+b[1],c[2]+a[2])) + vs[3]=obj.matrix_world@Vector((c[0]+b[0],c[1]+a[1],c[2]+a[2])) + vs[4]=obj.matrix_world@Vector((c[0]+a[0],c[1]+a[1],c[2]+b[2])) + vs[5]=obj.matrix_world@Vector((c[0]+a[0],c[1]+b[1],c[2]+b[2])) + vs[6]=obj.matrix_world@Vector((c[0]+b[0],c[1]+b[1],c[2]+b[2])) + vs[7]=obj.matrix_world@Vector((c[0]+b[0],c[1]+a[1],c[2]+b[2])) + + indices = [(0,1),(1,2),(2,3),(3,0),(4,5),(5,6),(6,7),(7,4),\ + (0,4),(1,5),(2,6),(3,7)] + + for l in indices: + v0 = vs[l[0]] + v1 = vs[l[1]] + verts += [(v0[0],v0[1],v0[2])] + verts += [(v1[0],v1[1],v1[2])] + colours += [(0.5,0.5,0.5,0.5),(0.5,0.5,0.5,0.5)] + + center=obj.matrix_world@c + + def _angle_lim( major, minor, amin, amax, colour ): + nonlocal verts, colours + f = 0.05 + ay = major*f + ax = minor*f + + for x in range(16): + t0 = x/16 + t1 = (x+1)/16 + a0 = amin*(1.0-t0)+amax*t0 + a1 = amin*(1.0-t1)+amax*t1 + + p0 = c + major*f*math.cos(a0) + minor*f*math.sin(a0) + p1 = c + major*f*math.cos(a1) + minor*f*math.sin(a1) + + p0=obj.matrix_world @ p0 + p1=obj.matrix_world @ p1 + verts += [p0,p1] + colours += [colour,colour] + + if x == 0: + verts += [p0,c] + colours += [colour,colour] + if x == 15: + verts += [p1,c] + colours += [colour,colour] + + verts += [c+major*1.2*f,c+major*f*0.8] + colours += [colour,colour] + + if bone.cv_data.con0: + _angle_lim( Vector((0,1,0)),Vector((0,0,1)), \ + bone.cv_data.mins[0], bone.cv_data.maxs[0], \ + (1,0,0,1)) + _angle_lim( Vector((0,0,1)),Vector((1,0,0)), \ + bone.cv_data.mins[1], bone.cv_data.maxs[1], \ + (0,1,0,1)) + _angle_lim( Vector((1,0,0)),Vector((0,1,0)), \ + bone.cv_data.mins[2], bone.cv_data.maxs[2], \ + (0,0,1,1)) + if obj.cv_data.classtype == 'k_classtype_gate': if obj.type == 'MESH': @@ -1225,6 +1312,52 @@ class CV_OBJ_SETTINGS(bpy.types.PropertyGroup): ('k_classtype_SKIN',"","",12) ]) +class CV_BONE_SETTINGS(bpy.types.PropertyGroup): + collider: bpy.props.BoolProperty(name="Collider",default=False) + v0: bpy.props.FloatVectorProperty(name="v0",size=3) + v1: bpy.props.FloatVectorProperty(name="v1",size=3) + + mins: bpy.props.FloatVectorProperty(name="mins",size=3) + maxs: bpy.props.FloatVectorProperty(name="maxs",size=3) + + con0: bpy.props.BoolProperty(name="Constriant 0",default=False) + c0: bpy.props.FloatVectorProperty(name="dir",size=3) + s0: bpy.props.FloatVectorProperty(name="limits",size=3) + + con1: bpy.props.BoolProperty(name="Constriant 1",default=False) + c1: bpy.props.FloatVectorProperty(name="dir",size=3) + s1: bpy.props.FloatVectorProperty(name="limits",size=3) + +class CV_BONE_PANEL(bpy.types.Panel): + bl_label="Bone Config" + bl_idname="SCENE_PT_cv_bone" + bl_space_type='PROPERTIES' + bl_region_type='WINDOW' + bl_context='bone' + + def draw(_,context): + active_object = context.active_object + if active_object == None: return + + bone = active_object.data.bones.active + if bone == None: return + + _.layout.prop( bone.cv_data, "collider" ) + _.layout.prop( bone.cv_data, "v0" ) + _.layout.prop( bone.cv_data, "v1" ) + + _.layout.label( text="Angle Limits" ) + _.layout.prop( bone.cv_data, "mins" ) + _.layout.prop( bone.cv_data, "maxs" ) + + _.layout.prop( bone.cv_data, "con0" ) + _.layout.prop( bone.cv_data, "c0" ) + _.layout.prop( bone.cv_data, "s0" ) + + _.layout.prop( bone.cv_data, "con1" ) + _.layout.prop( bone.cv_data, "c1" ) + _.layout.prop( bone.cv_data, "s1" ) + class CV_SCENE_SETTINGS(bpy.types.PropertyGroup): use_hidden: bpy.props.BoolProperty( name="use hidden", default=False ) @@ -1300,7 +1433,8 @@ class CV_COMPILE(bpy.types.Operator): return {'FINISHED'} classes = [CV_OBJ_SETTINGS,CV_OBJ_PANEL,CV_COMPILE,CV_INTERFACE,\ - CV_MESH_SETTINGS, CV_SCENE_SETTINGS] + CV_MESH_SETTINGS, CV_SCENE_SETTINGS, CV_BONE_SETTINGS,\ + CV_BONE_PANEL] def register(): global cv_view_draw_handler @@ -1311,6 +1445,7 @@ def register(): bpy.types.Object.cv_data = bpy.props.PointerProperty(type=CV_OBJ_SETTINGS) bpy.types.Mesh.cv_data = bpy.props.PointerProperty(type=CV_MESH_SETTINGS) bpy.types.Scene.cv_data = bpy.props.PointerProperty(type=CV_SCENE_SETTINGS) + bpy.types.Bone.cv_data = bpy.props.PointerProperty(type=CV_BONE_SETTINGS) cv_view_draw_handler = bpy.types.SpaceView3D.draw_handler_add(\ cv_draw,(),'WINDOW','POST_VIEW') diff --git a/common.h b/common.h index efe9a88..587c31b 100644 --- a/common.h +++ b/common.h @@ -23,8 +23,7 @@ enum classtype k_classtype_route = 9, k_classtype_bone = 10, k_classtype_skeleton = 11, - k_classtype_skin = 12, - k_classtype_ik_bone = 13 + k_classtype_skin = 12 }; /* TODO: he needs a home somewhere */ diff --git a/model.h b/model.h index 54874bd..fe238e1 100644 --- a/model.h +++ b/model.h @@ -148,21 +148,22 @@ struct classtype_route }; struct classtype_bone -{ - u32 deform; -}; - -struct classtype_ik_bone { u32 deform, - target, - pole; + + ik_target, + ik_pole, + + collider; + + boxf hitbox; }; struct classtype_skeleton { u32 channels, ik_count, + collider_count, anim_start, anim_count; }; diff --git a/models_src/ch_new.mdl b/models_src/ch_new.mdl index c9febadfc2c83708edc7f1d23b8702b463d67e4a..7b8184815f130bf92bc426ce5639213acbdccd80 100644 GIT binary patch delta 95258 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�FD+p~Loa+X>QTT9h_^NSSO})k;BeY62b;=0}jmc-JI;^rKKgqC~ zDkt%U#xKH2{(?6MH9R*rcY7&Kmh2?E;3Q<+FHg8FzLIjLjH4Bf@1|1nS?vE8)_AhC)-Vx57+j<+@myL*Ma zfW*23i9Ky}gzfrZfP%!@hv<|Av``1&Ua2cHeQdI zOsJ@V!*g z6+TrW94u$F<#kjT?XcQ8M8EB)7o5Wq>VA&sP+&CFMv@pR8dIu>U`zwa!BD|^8e_w{ z+1QjA=Fp;pyiS_y3OY#+G}M`l!hJbF6G&WL(M78jwu_xPuB3g1X}Y^UkhHow$#8fO zs!-!&zq74s?O^*{t%w+v+Dh^ScITb44)s)=GSsKXWa3{cP8phJPxO-%Q!7ycb+kwy zOv%=xy@H7mFwqjJjs6dQ**5m0^xr=%nVu{tr&N_t)t-@wF!5WVOsFy%(l<(1!7UG! zTt6RX!^X-$CkQ=>9}aiYISU6XnC(kA5FMsEaB$SoI^Z;&0aqb z%Bad9y|obOEuo>PN^+&DE_4NS15Yt16a4NCwAK}9EyNlk(3-iCO8AO`$KCO>C(v5# z>=|tOf%0PYRX9Y|BSWO)d+N!_&a8*mtx=v;-IZ7L$Z#5NZED5f6sS$3rs>m5dX-H- z{N`g=8UQbe(S1a0$9XqO5i@AWd^2(* zjMp-mVgXJ`~HC%

qv5hNMlstXiRVhRS(@S@8NT{+D2^Y!?a!OC5+C? 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 M&93Sv46Qu=KZ$>Bg8%>k delta 122896 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

u7)1S9IKp4AdB@S{&?*s0_X#19`;zS~Yo`{# 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 U?YQY_^S5T}|O`k0HKWE2Pk^lez diff --git a/models_src/mp_dev.mdl b/models_src/mp_dev.mdl index e5166ff034057863f42217b1a586fcd686214ffd..f2f09ccc76b8856f061cfd0657917d663a8d5b78 100644 GIT binary patch delta 179859 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±OIet_iC?7OP2T1X!g9Oy~X4a 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 z≫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 world.sm_geo_std_oob.vertex_count; -} - -/* - * Get a sample at this pole location, will return 1 if the sample is valid, - * and pos will be updated to be the intersection location. - */ -static void player_walkgrid_samplepole( struct grid_sample *s ) -{ - boxf region = {{ s->pos[0] -0.01f, s->pos[1] - 4.0f, s->pos[2] -0.01f}, - { s->pos[0] +0.01f, s->pos[1] + 4.0f, s->pos[2] +0.01f}}; - - u32 geo[256]; - v3f tri[3]; - int len = bh_select( &world.geo.bhtris, region, geo, 256 ); - - const float k_minworld_y = -2000.0f; - - float walk_height = k_minworld_y, - block_height = k_minworld_y; - - s->type = k_sample_type_air; - - for( int i=0; ipos, sample_from ); - sample_from[1] = region[1][1]; - - float dist; - if( ray_tri( tri, sample_from, vdown, &dist )) - { - v3f p0; - v3_muladds( sample_from, vdown, dist, p0 ); - - if( player_walkgrid_tri_walkable(ptri) ) - { - if( p0[1] > walk_height ) - { - walk_height = p0[1]; - } - } - else - { - if( p0[1] > block_height ) - block_height = p0[1]; - } - } - } - - s->pos[1] = walk_height; - - if( walk_height > k_minworld_y ) - if( block_height > walk_height ) - s->type = k_sample_type_invalid; - else - s->type = k_sample_type_valid; - else - s->type = k_sample_type_air; -} - -float const k_gridscale = 0.5f; - -enum eclipdir -{ - k_eclipdir_h = 0, - k_eclipdir_v = 1 -}; - -static void player_walkgrid_clip_blocker( struct grid_sample *sa, - struct grid_sample *sb, - struct grid_sample *st, - enum eclipdir dir ) -{ - v3f clipdir, pos; - int valid_a = sa->type == k_sample_type_valid, - valid_b = sb->type == k_sample_type_valid; - struct grid_sample *target = valid_a? sa: sb, - *other = valid_a? sb: sa; - v3_copy( target->pos, pos ); - v3_sub( other->pos, target->pos, clipdir ); - - boxf cell_region; - v3_muladds( pos, (v3f){1.0f,1.0f,1.0f}, -k_gridscale*2.1f, cell_region[0]); - v3_muladds( pos, (v3f){1.0f,1.0f,1.0f}, k_gridscale*2.1f, cell_region[1]); - - u32 geo[256]; - v3f tri[3]; - int len = bh_select( &world.geo.bhtris, cell_region, geo, 256 ); - - float start_time = v3_length( clipdir ), - min_time = start_time; - v3_normalize( clipdir ); - v3_muls( clipdir, 0.0001f, st->clip[dir] ); - - for( int i=0; i 0.0f && dist < min_time ) - { - min_time = dist; - sb->type = k_sample_type_air; - } - } - } - - if( !(min_time < start_time) ) - min_time = 0.5f * k_gridscale; - - min_time = vg_clampf( min_time/k_gridscale, 0.01f, 0.99f ); - - v3_muls( clipdir, min_time, st->clip[dir] ); - - v3f p0; - v3_muladds( target->pos, st->clip[dir], k_gridscale, p0 ); -} - -static void player_walkgrid_clip_edge( struct grid_sample *sa, - struct grid_sample *sb, - struct grid_sample *st, /* data store */ - enum eclipdir dir ) -{ - v3f clipdir = { 0.0f, 0.0f, 0.0f }, pos; - int valid_a = sa->type == k_sample_type_valid, - valid_b = sb->type == k_sample_type_valid; - - struct grid_sample *target = valid_a? sa: sb, - *other = valid_a? sb: sa; - - v3_sub( other->pos, target->pos, clipdir ); - clipdir[1] = 0.0f; - - v3_copy( target->pos, pos ); - - boxf cell_region; - v3_muladds( pos, (v3f){1.0f,1.0f,1.0f}, -k_gridscale*1.1f, cell_region[0]); - v3_muladds( pos, (v3f){1.0f,1.0f,1.0f}, k_gridscale*1.1f, cell_region[1]); - - u32 geo[256]; - int len = bh_select( &world.geo.bhtris, cell_region, geo, 256 ); - - float max_dist = 0.0f; - v3f tri[3]; - v3f perp; - v3_cross( clipdir,(v3f){0.0f,1.0f,0.0f},perp ); - v3_muls( clipdir, 0.001f, st->clip[dir] ); - - for( int i=0; i= max_dist && h <= 1.0f ) - { - max_dist = h; - float l = 1.0f/v3_length(clipdir); - v3_muls( p0, l, st->clip[dir] ); - } - } - } - } -} - -static const struct conf -{ - struct confedge - { - /* i: sample index - * d: data index - * a: axis index - * o: the 'other' point to do a A/B test with - * if its -1, all AB is done. - */ - int i0, i1, - d0, d1, - a0, a1, - o0, o1; - } - edges[2]; - int edge_count; -} -k_walkgrid_configs[16] = { - {{},0}, - {{{ 3,3, 3,0, 1,0, -1,-1 }}, 1}, - {{{ 2,2, 1,3, 0,1, -1,-1 }}, 1}, - {{{ 2,3, 1,0, 0,0, 3,-1 }}, 1}, - - {{{ 1,1, 0,1, 1,0, -1,-1 }}, 1}, - {{{ 3,3, 3,0, 1,0, -1,-1 }, - { 1,1, 0,1, 1,0, -1,-1 }}, 2}, - {{{ 1,2, 0,3, 1,1, 2,-1 }}, 1}, - {{{ 1,3, 0,0, 1,0, 2, 2 }}, 1}, - - {{{ 0,0, 0,0, 0,1, -1,-1 }}, 1}, - {{{ 3,0, 3,0, 1,1, 0,-1 }}, 1}, - {{{ 2,2, 1,3, 0,1, -1,-1 }, - { 0,0, 0,0, 0,1, -1,-1 }}, 2}, - {{{ 2,0, 1,0, 0,1, 3, 3 }}, 1}, - - {{{ 0,1, 0,1, 0,0, 1,-1 }}, 1}, - {{{ 3,1, 3,1, 1,0, 0, 0 }}, 1}, - {{{ 0,2, 0,3, 0,1, 1, 1 }}, 1}, - {{},0}, -}; - -/* - * Get a buffer of edges from cell location - */ -static const struct conf *player_walkgrid_conf( struct walkgrid *wg, - v2i cell, - struct grid_sample *corners[4] ) -{ - corners[0] = &wg->samples[cell[1] ][cell[0] ]; - corners[1] = &wg->samples[cell[1]+1][cell[0] ]; - corners[2] = &wg->samples[cell[1]+1][cell[0]+1]; - corners[3] = &wg->samples[cell[1] ][cell[0]+1]; - - u32 vd0 = corners[0]->type == k_sample_type_valid, - vd1 = corners[1]->type == k_sample_type_valid, - vd2 = corners[2]->type == k_sample_type_valid, - vd3 = corners[3]->type == k_sample_type_valid, - config = (vd0<<3) | (vd1<<2) | (vd2<<1) | vd3; - - return &k_walkgrid_configs[ config ]; -} - -static void player_walkgrid_floor(v3f pos) -{ - v3_muls( pos, 1.0f/k_gridscale, pos ); - v3_floor( pos, pos ); - v3_muls( pos, k_gridscale, pos ); -} - -/* - * Computes the barycentric coordinate of location on a triangle (vertical), - * then sets the Y position to the interpolation of the three points - */ -static void player_walkgrid_stand_tri( v3f a, v3f b, v3f c, v3f pos ) -{ - v3f v0,v1,v2; - v3_sub( b, a, v0 ); - v3_sub( c, a, v1 ); - v3_sub( pos, a, v2 ); - - float d = v0[0]*v1[2] - v1[0]*v0[2], - v = (v2[0]*v1[2] - v1[0]*v2[2]) / d, - w = (v0[0]*v2[2] - v2[0]*v0[2]) / d, - u = 1.0f - v - w; - - vg_line( pos, a, 0xffff0000 ); - vg_line( pos, b, 0xff00ff00 ); - vg_line( pos, c, 0xff0000ff ); - pos[1] = u*a[1] + v*b[1] + w*c[1]; -} - -/* - * Get the minimum time value of pos+dir until a cell edge - * - * t[0] -> t[3] are the individual time values - * t[5] & t[6] are the maximum axis values - * t[6] is the minimum value - * - */ -static void player_walkgrid_min_cell( float t[7], v2f pos, v2f dir ) -{ - v2f frac = { 1.0f/dir[0], 1.0f/dir[1] }; - - t[0] = 999.9f; - t[1] = 999.9f; - t[2] = 999.9f; - t[3] = 999.9f; - - if( fabsf(dir[0]) > 0.0001f ) - { - t[0] = (0.0f-pos[0]) * frac[0]; - t[1] = (1.0f-pos[0]) * frac[0]; - } - if( fabsf(dir[1]) > 0.0001f ) - { - t[2] = (0.0f-pos[1]) * frac[1]; - t[3] = (1.0f-pos[1]) * frac[1]; - } - - t[4] = vg_maxf(t[0],t[1]); - t[5] = vg_maxf(t[2],t[3]); - t[6] = vg_minf(t[4],t[5]); -} - -static void player_walkgrid_iter(struct walkgrid *wg, int iter) -{ - - /* - * For each walkgrid iteration we are stepping through cells and determining - * the intersections with the grid, and any edges that are present - */ - - u32 icolours[] = { 0xffff00ff, 0xff00ffff, 0xffffff00 }; - - v3f pa, pb, pc, pd, pl0, pl1; - pa[0] = wg->region[0][0] + (float)wg->cell_id[0] *k_gridscale; - pa[1] = (wg->region[0][1] + wg->region[1][1]) * 0.5f + k_gridscale; - pa[2] = wg->region[0][2] + (float)wg->cell_id[1] *k_gridscale; -#if 0 - pb[0] = pa[0]; - pb[1] = pa[1]; - pb[2] = pa[2] + k_gridscale; - pc[0] = pa[0] + k_gridscale; - pc[1] = pa[1]; - pc[2] = pa[2] + k_gridscale; - pd[0] = pa[0] + k_gridscale; - pd[1] = pa[1]; - pd[2] = pa[2]; - /* if you want to draw the current cell */ - vg_line( pa, pb, 0xff00ffff ); - vg_line( pb, pc, 0xff00ffff ); - vg_line( pc, pd, 0xff00ffff ); - vg_line( pd, pa, 0xff00ffff ); -#endif - pl0[0] = pa[0] + wg->pos[0]*k_gridscale; - pl0[1] = pa[1]; - pl0[2] = pa[2] + wg->pos[1]*k_gridscale; - - /* - * If there are edges present, we need to create a 'substep' event, where - * we find the intersection point, find the fully resolved position, - * then the new pos dir is the intersection->resolution - * - * the resolution is applied in non-discretized space in order to create a - * suitable vector for finding outflow, we want it to leave the cell so it - * can be used by the quad - */ - - v2f pos, dir; - v2_copy( wg->pos, pos ); - v2_muls( wg->dir, wg->move, dir ); - - struct grid_sample *corners[4]; - v2f corners2d[4] = {{0.0f,0.0f},{0.0f,1.0f},{1.0f,1.0f},{1.0f,0.0f}}; - const struct conf *conf = player_walkgrid_conf( wg, wg->cell_id, corners ); - - float t[7]; - player_walkgrid_min_cell( t, pos, dir ); - - for( int i=0; iedge_count; i++ ) - { - const struct confedge *edge = &conf->edges[i]; - - v2f e0, e1, n, r, target, res, tangent; - e0[0] = corners2d[edge->i0][0] + corners[edge->d0]->clip[edge->a0][0]; - e0[1] = corners2d[edge->i0][1] + corners[edge->d0]->clip[edge->a0][2]; - e1[0] = corners2d[edge->i1][0] + corners[edge->d1]->clip[edge->a1][0]; - e1[1] = corners2d[edge->i1][1] + corners[edge->d1]->clip[edge->a1][2]; - - v3f pe0 = { pa[0] + e0[0]*k_gridscale, - pa[1], - pa[2] + e0[1]*k_gridscale }; - v3f pe1 = { pa[0] + e1[0]*k_gridscale, - pa[1], - pa[2] + e1[1]*k_gridscale }; - - v2_sub( e1, e0, tangent ); - n[0] = -tangent[1]; - n[1] = tangent[0]; - v2_normalize( n ); - - /* - * If we find ourselfs already penetrating the edge, move back out a - * little - */ - v2_sub( e0, pos, r ); - float p1 = v2_dot(r,n); - - if( -p1 < 0.0001f ) - { - v2_muladds( pos, n, p1+0.0001f, pos ); - v2_copy( pos, wg->pos ); - v3f p_new = { pa[0] + pos[0]*k_gridscale, - pa[1], - pa[2] + pos[1]*k_gridscale }; - v3_copy( p_new, pl0 ); - } - - v2_add( pos, dir, target ); - - v2f v1, v2, v3; - v2_sub( e0, pos, v1 ); - v2_sub( target, pos, v2 ); - - v2_copy( n, v3 ); - - v2_sub( e0, target, r ); - float p = v2_dot(r,n), - t1 = v2_dot(v1,v3)/v2_dot(v2,v3); - - if( t1 < t[6] && t1 > 0.0f && -p < 0.001f ) - { - v2_muladds( target, n, p+0.0001f, res ); - - v2f intersect; - v2_muladds( pos, dir, t1, intersect ); - v2_copy( intersect, pos ); - v2_sub( res, intersect, dir ); - - v3f p_res = { pa[0] + res[0]*k_gridscale, - pa[1], - pa[2] + res[1]*k_gridscale }; - v3f p_int = { pa[0] + intersect[0]*k_gridscale, - pa[1], - pa[2] + intersect[1]*k_gridscale }; - - vg_line( pl0, p_int, icolours[iter%3] ); - v3_copy( p_int, pl0 ); - v2_copy( pos, wg->pos ); - - player_walkgrid_min_cell( t, pos, dir ); - } - } - - /* - * Compute intersection with grid cell moving outwards - */ - t[6] = vg_minf( t[6], 1.0f ); - - pl1[0] = pl0[0] + dir[0]*k_gridscale*t[6]; - pl1[1] = pl0[1]; - pl1[2] = pl0[2] + dir[1]*k_gridscale*t[6]; - vg_line( pl0, pl1, icolours[iter%3] ); - - if( t[6] < 1.0f ) - { - /* - * To figure out what t value created the clip so we know which edge - * to wrap around - */ - - if( t[4] < t[5] ) - { - wg->pos[1] = pos[1] + dir[1]*t[6]; - - if( t[0] > t[1] ) /* left edge */ - { - wg->pos[0] = 0.9999f; - wg->cell_id[0] --; - - if( wg->cell_id[0] == 0 ) - wg->move = -1.0f; - } - else /* Right edge */ - { - wg->pos[0] = 0.0001f; - wg->cell_id[0] ++; - - if( wg->cell_id[0] == WALKGRID_SIZE-2 ) - wg->move = -1.0f; - } - } - else - { - wg->pos[0] = pos[0] + dir[0]*t[6]; - - if( t[2] > t[3] ) /* bottom edge */ - { - wg->pos[1] = 0.9999f; - wg->cell_id[1] --; - - if( wg->cell_id[1] == 0 ) - wg->move = -1.0f; - } - else /* top edge */ - { - wg->pos[1] = 0.0001f; - wg->cell_id[1] ++; - - if( wg->cell_id[1] == WALKGRID_SIZE-2 ) - wg->move = -1.0f; - } - } - - wg->move -= t[6]; - } - else - { - v2_muladds( wg->pos, dir, wg->move, wg->pos ); - wg->move = 0.0f; - } -} - -static void player_walkgrid_stand_cell(struct walkgrid *wg) -{ - /* - * NOTE: as opposed to the other function which is done in discretized space - * this use a combination of both. - */ - - v3f world; - world[0] = wg->region[0][0]+((float)wg->cell_id[0]+wg->pos[0])*k_gridscale; - world[1] = player.rb.co[1]; - world[2] = wg->region[0][2]+((float)wg->cell_id[1]+wg->pos[1])*k_gridscale; - - struct grid_sample *corners[4]; - const struct conf *conf = player_walkgrid_conf( wg, wg->cell_id, corners ); - - if( conf != k_walkgrid_configs ) - { - if( conf->edge_count == 0 ) - { - v3f v0; - - /* Split the basic quad along the shortest diagonal */ - if( fabsf(corners[2]->pos[1] - corners[0]->pos[1]) < - fabsf(corners[3]->pos[1] - corners[1]->pos[1]) ) - { - vg_line( corners[2]->pos, corners[0]->pos, 0xffaaaaaa ); - - if( wg->pos[0] > wg->pos[1] ) - player_walkgrid_stand_tri( corners[0]->pos, - corners[3]->pos, - corners[2]->pos, world ); - else - player_walkgrid_stand_tri( corners[0]->pos, - corners[2]->pos, - corners[1]->pos, world ); - } - else - { - vg_line( corners[3]->pos, corners[1]->pos, 0xffaaaaaa ); - - if( wg->pos[0] < 1.0f-wg->pos[1] ) - player_walkgrid_stand_tri( corners[0]->pos, - corners[3]->pos, - corners[1]->pos, world ); - else - player_walkgrid_stand_tri( corners[3]->pos, - corners[2]->pos, - corners[1]->pos, world ); - } - } - else - { - for( int i=0; iedge_count; i++ ) - { - const struct confedge *edge = &conf->edges[i]; - - v3f p0, p1; - v3_muladds( corners[edge->i0]->pos, - corners[edge->d0]->clip[edge->a0], k_gridscale, p0 ); - v3_muladds( corners[edge->i1]->pos, - corners[edge->d1]->clip[edge->a1], k_gridscale, p1 ); - - /* - * Find penetration distance between player position and the edge - */ - - v2f normal = { -(p1[2]-p0[2]), p1[0]-p0[0] }, - rel = { world[0]-p0[0], world[2]-p0[2] }; - - if( edge->o0 == -1 ) - { - /* No subregions (default case), just use triangle created by - * i0, e0, e1 */ - player_walkgrid_stand_tri( corners[edge->i0]->pos, - p0, - p1, world ); - } - else - { - /* - * Test if we are in the first region, which is - * edge.i0, edge.e0, edge.o0, - */ - v3f v0, ref; - v3_sub( p0, corners[edge->o0]->pos, ref ); - v3_sub( world, corners[edge->o0]->pos, v0 ); - - vg_line( corners[edge->o0]->pos, p0, 0xffffff00 ); - vg_line( corners[edge->o0]->pos, world, 0xff000000 ); - - if( ref[0]*v0[2] - ref[2]*v0[0] < 0.0f ) - { - player_walkgrid_stand_tri( corners[edge->i0]->pos, - p0, - corners[edge->o0]->pos, world ); - } - else - { - if( edge->o1 == -1 ) - { - /* - * No other edges mean we just need to use the opposite - * - * e0, e1, o0 (in our case, also i1) - */ - player_walkgrid_stand_tri( p0, - p1, - corners[edge->o0]->pos, world ); - } - else - { - /* - * Note: this v0 calculation can be ommited with the - * current tileset. - * - * the last two triangles we have are: - * e0, e1, o1 - * and - * e1, i1, o1 - */ - v3_sub( p1, corners[edge->o1]->pos, ref ); - v3_sub( world, corners[edge->o1]->pos, v0 ); - vg_line( corners[edge->o1]->pos, p1, 0xff00ffff ); - - if( ref[0]*v0[2] - ref[2]*v0[0] < 0.0f ) - { - player_walkgrid_stand_tri( p0, - p1, - corners[edge->o1]->pos, - world ); - } - else - { - player_walkgrid_stand_tri( p1, - corners[edge->i1]->pos, - corners[edge->o1]->pos, - world ); - } - } - } - } - } - } - } - - v3_copy( world, player.rb.co ); -} - -static void player_walkgrid_getsurface(void) -{ - float const k_stepheight = 0.5f; - float const k_miny = 0.6f; - float const k_height = 1.78f; - float const k_region_size = (float)WALKGRID_SIZE/2.0f * k_gridscale; - - static struct walkgrid wg; - - v3f cell; - v3_copy( player.rb.co, cell ); - player_walkgrid_floor( cell ); - - v3_muladds( cell, (v3f){-1.0f,-1.0f,-1.0f}, k_region_size, wg.region[0] ); - v3_muladds( cell, (v3f){ 1.0f, 1.0f, 1.0f}, k_region_size, wg.region[1] ); - - - /* - * Create player input vector - */ - v3f delta = {0.0f,0.0f,0.0f}; - v3f fwd = { -sinf(-player.angles[0]), 0.0f, -cosf(-player.angles[0]) }, - side = { -fwd[2], 0.0f, fwd[0] }; - - /* Temp */ - if( !vg_console_enabled() ) - { - if( glfwGetKey( vg_window, GLFW_KEY_W ) ) - v3_muladds( delta, fwd, ktimestep*k_walkspeed, delta ); - if( glfwGetKey( vg_window, GLFW_KEY_S ) ) - v3_muladds( delta, fwd, -ktimestep*k_walkspeed, delta ); - - if( glfwGetKey( vg_window, GLFW_KEY_A ) ) - v3_muladds( delta, side, -ktimestep*k_walkspeed, delta ); - if( glfwGetKey( vg_window, GLFW_KEY_D ) ) - v3_muladds( delta, side, ktimestep*k_walkspeed, delta ); - - v3_muladds( delta, fwd, - vg_get_axis("vertical")*-ktimestep*k_walkspeed, delta ); - v3_muladds( delta, side, - vg_get_axis("horizontal")*ktimestep*k_walkspeed, delta ); - } - - /* - * Create our move in grid space - */ - wg.dir[0] = delta[0] * (1.0f/k_gridscale); - wg.dir[1] = delta[2] * (1.0f/k_gridscale); - wg.move = 1.0f; - - v2f region_pos = - { - (player.rb.co[0] - wg.region[0][0]) * (1.0f/k_gridscale), - (player.rb.co[2] - wg.region[0][2]) * (1.0f/k_gridscale) - }; - v2f region_cell_pos; - v2_floor( region_pos, region_cell_pos ); - v2_sub( region_pos, region_cell_pos, wg.pos ); - - wg.cell_id[0] = region_cell_pos[0]; - wg.cell_id[1] = region_cell_pos[1]; - - for(int y=0; ypos ); - s->state = k_traverse_none; - s->type = k_sample_type_air; - v3_zero( s->clip[0] ); - v3_zero( s->clip[1] ); - } - } - - v2i border[WALKGRID_SIZE*WALKGRID_SIZE]; - v2i *cborder = border; - u32 border_length = 1; - - struct grid_sample *base = NULL; - - v2i starters[] = {{0,0},{1,1},{0,1},{1,0}}; - - for( int i=0;i<4;i++ ) - { - v2i test; - v2i_add( wg.cell_id, starters[i], test ); - v2i_copy( test, border[0] ); - base = &wg.samples[test[1]][test[0]]; - - base->pos[1] = cell[1]; - player_walkgrid_samplepole( base ); - - if( base->type == k_sample_type_valid ) - break; - else - base->type = k_sample_type_air; - } - - vg_line_pt3( base->pos, 0.1f, 0xffffffff ); - - int iter = 0; - - while( border_length ) - { - v2i directions[] = {{1,0},{0,1},{-1,0},{0,-1}}; - - v2i *old_border = cborder; - int len = border_length; - - border_length = 0; - cborder = old_border+len; - - for( int i=0; istate & thismove) == 0x00 || - sb->type == k_sample_type_air ) - { - sb->pos[1] = sa->pos[1]; - - player_walkgrid_samplepole( sb ); - - if( sb->type != k_sample_type_air ) - { - /* - * Need to do a blocker pass - */ - - struct grid_sample *store = (j>>1 == 0)? sa: sb; - player_walkgrid_clip_blocker( sa, sb, store, j%2 ); - - - if( sb->type != k_sample_type_air ) - { - vg_line( sa->pos, sb->pos, 0xffffffff ); - - if( sb->state == k_traverse_none ) - v2i_copy( newp, cborder[ border_length ++ ] ); - } - else - { - v3f p1; - v3_muladds( sa->pos, store->clip[j%2], k_gridscale, p1 ); - vg_line( sa->pos, p1, 0xffffffff ); - } - } - else - { - /* - * A clipping pass is now done on the edge of the walkable - * surface - */ - - struct grid_sample *store = (j>>1 == 0)? sa: sb; - player_walkgrid_clip_edge( sa, sb, store, j%2 ); - - v3f p1; - v3_muladds( sa->pos, store->clip[j%2], k_gridscale, p1 ); - vg_line( sa->pos, p1, 0xffffffff ); - } - - sb->state |= thismove; - } - } - - sa->state = k_traverse_h|k_traverse_v; - } - - iter ++; - if( iter == walk_grid_iterations ) - break; - } - - /* Draw connections */ - struct grid_sample *corners[4]; - for( int x=0; xedge_count; i++ ) - { - const struct confedge *edge = &conf->edges[i]; - - v3f p0, p1; - v3_muladds( corners[edge->i0]->pos, - corners[edge->d0]->clip[edge->a0], k_gridscale, p0 ); - v3_muladds( corners[edge->i1]->pos, - corners[edge->d1]->clip[edge->a1], k_gridscale, p1 ); - - vg_line( p0, p1, 0xff0000ff ); - } - } - } - - /* - * Commit player movement into the grid - */ - - if( v3_length2(delta) <= 0.00001f ) - return; - - int i=0; - for(; i<8 && wg.move > 0.001f; i++ ) - player_walkgrid_iter( &wg, i ); - - player_walkgrid_stand_cell( &wg ); -} - -static void player_walkgrid(void) -{ - player_walkgrid_getsurface(); - - m4x3_mulv( player.rb.to_world, (v3f){0.0f,1.8f,0.0f}, player.camera_pos ); - player_mouseview(); - rb_update_transform( &player.rb ); -} - /* * Animation */ @@ -2002,6 +1046,12 @@ static void player_update(void) player.on_board ^= 0x1; } + if( glfwGetKey( vg_window, GLFW_KEY_O ) ) + { + character_ragdoll_copypose( &player.mdl, player.rb.v ); + player.is_dead = 1; + } + if( player.is_dead ) { character_ragdoll_iter( &player.mdl ); @@ -2020,10 +1070,6 @@ static void player_update(void) if( !freecam ) player_animate_camera(); } - else - { - player_walkgrid(); - } } if( freecam ) diff --git a/player_model.h b/player_model.h index 95b5a76..542c7b2 100644 --- a/player_model.h +++ b/player_model.h @@ -6,6 +6,7 @@ #include "rigidbody.h" #include "render.h" #include "skeleton.h" +#include "world.h" #include "skeleton_animator.h" #include "shaders/viewchar.h" @@ -41,6 +42,15 @@ struct character v3f cam_pos; + struct ragdoll_part + { + u32 bone_id; + v3f offset; + rigidbody rb; + } + *ragdoll; + u32 ragdoll_count; + int shoes[2]; }; @@ -54,11 +64,7 @@ static int character_load( struct character *ch, const char *name ) if( !src ) return 0; - int error_count = 0; mdl_unpack_glmesh( src, &ch->mesh ); - - if( !error_count ) - vg_success( "Loaded character file '%s' with no errors\n", name ); skeleton_setup( &ch->sk, src ); ch->anim_stand = skeleton_get_anim( &ch->sk, "pose_stand" ); @@ -76,6 +82,42 @@ static int character_load( struct character *ch, const char *name ) ch->id_ik_elbow_r = skeleton_bone_id( &ch->sk, "elbow.R" ); ch->id_head = skeleton_bone_id( &ch->sk, "head" ); + /* setup ragdoll */ + + if( ch->sk.collider_count ) + { + vg_info( "Alloc: %d\n", ch->sk.collider_count ); + ch->ragdoll = malloc(sizeof(struct ragdoll_part) * ch->sk.collider_count); + ch->ragdoll_count = 0; + + for( u32 i=0; isk.bone_count; i ++ ) + { + struct skeleton_bone *bone = &ch->sk.bones[i]; + + if( bone->collider ) + { + struct ragdoll_part *rp = &ch->ragdoll[ ch->ragdoll_count ++ ]; + rp->bone_id = i; + + v3f delta; + v3_sub( bone->hitbox[1], bone->hitbox[0], delta ); + v3_muls( delta, 0.5f, delta ); + + v3_add( bone->hitbox[0], delta, rp->offset ); + + v3_copy( delta, rp->rb.bbx[1] ); + v3_muls( delta, -1.0f, rp->rb.bbx[0] ); + + q_identity( rp->rb.q ); + v3_add( bone->co, rp->offset, rp->rb.co ); + rp->rb.type = k_rb_shape_box; + rp->rb.is_world = 0; + + rb_init( &rp->rb ); + } + } + } + free( src ); return 1; } @@ -85,8 +127,62 @@ static void character_draw( struct character *ch, float temp, m4x3f camera ){} static void character_init_ragdoll_joints( struct character *ch ){} static void character_init_ragdoll( struct character *ch ){} static void character_ragdoll_go( struct character *ch, v3f pos ){} -static void character_ragdoll_copypose( struct character *ch, v3f v ){} -static void character_debug_ragdoll( struct character *ch ){} -static void character_ragdoll_iter( struct character *ch ){} +static void character_ragdoll_copypose( struct character *ch, v3f v ) +{ + for( int i=0; iragdoll_count; i++ ) + { + struct ragdoll_part *part = &ch->ragdoll[i]; + + v3f pos, offset; + u32 bone = part->bone_id; + + m4x3_mulv( ch->sk.final_mtx[bone], ch->sk.bones[bone].co, pos ); + m3x3_mulv( ch->sk.final_mtx[bone], part->offset, offset ); + v3_add( pos, offset, part->rb.co ); + m3x3_q( ch->sk.final_mtx[bone], part->rb.q ); + v3_copy( v, part->rb.v ); + v3_zero( part->rb.w ); + + rb_update_transform( &part->rb ); + } +} + +static void character_debug_ragdoll( struct character *ch ) +{ + for( u32 i=0; iragdoll_count; i ++ ) + rb_debug( &ch->ragdoll[i].rb, 0xff00ff00 ); +} + +static void character_ragdoll_iter( struct character *ch ) +{ + rb_solver_reset(); + + for( int i=0; iragdoll_count; i ++ ) + rb_collide( &ch->ragdoll[i].rb, &world.rb_geo ); + + rb_presolve_contacts( rb_contact_buffer, rb_contact_count ); + + v3f rv; + + float shoe_vel[2] = {0.0f,0.0f}; + for( int i=0; i<2; i++ ) + if( ch->shoes[i] ) + shoe_vel[i] = v3_length( ch->ragdoll[i].rb.v ); + + /* CONSTRAINTS */ + for( int i=0; i<5; i++ ) + { + rb_solve_contacts( rb_contact_buffer, rb_contact_count ); + } + + /* INTEGRATION */ + for( int i=0; iragdoll_count; i++ ) + rb_iter( &ch->ragdoll[i].rb ); + + /* SHOES */ + + for( int i=0; iragdoll_count; i++ ) + rb_update_transform( &ch->ragdoll[i].rb ); +} #endif diff --git a/player_walkgrid.h b/player_walkgrid.h new file mode 100644 index 0000000..937c305 --- /dev/null +++ b/player_walkgrid.h @@ -0,0 +1,963 @@ +#ifndef PLAYER_WALKGRID_H +#define PLAYER_WALKGRID_H + +#include "common.h" +#include "player.h" + +/* + * Walkgrid implementation, + * loosely based of cmuratoris youtube video 'Killing the Walkmonster' + */ + +#define WALKGRID_SIZE 16 +struct walkgrid +{ + struct grid_sample + { + enum sample_type + { + k_sample_type_air, /* Nothing was hit. */ + k_sample_type_invalid, /* The point is invalid, but there is a sample + underneath that can be used */ + k_sample_type_valid, /* This point is good */ + } + type; + + v3f clip[2]; + v3f pos; + + enum traverse_state + { + k_traverse_none = 0x00, + k_traverse_h = 0x01, + k_traverse_v = 0x02 + } + state; + } + samples[WALKGRID_SIZE][WALKGRID_SIZE]; + + boxf region; + + float move; /* Current amount of movement we have left to apply */ + v2f dir; /* The movement delta */ + v2i cell_id;/* Current cell */ + v2f pos; /* Local position (in cell) */ + float h; +}; + +static int player_walkgrid_tri_walkable( u32 tri[3] ) +{ + return tri[0] > world.sm_geo_std_oob.vertex_count; +} + +/* + * Get a sample at this pole location, will return 1 if the sample is valid, + * and pos will be updated to be the intersection location. + */ +static void player_walkgrid_samplepole( struct grid_sample *s ) +{ + boxf region = {{ s->pos[0] -0.01f, s->pos[1] - 4.0f, s->pos[2] -0.01f}, + { s->pos[0] +0.01f, s->pos[1] + 4.0f, s->pos[2] +0.01f}}; + + u32 geo[256]; + v3f tri[3]; + int len = bh_select( &world.geo.bhtris, region, geo, 256 ); + + const float k_minworld_y = -2000.0f; + + float walk_height = k_minworld_y, + block_height = k_minworld_y; + + s->type = k_sample_type_air; + + for( int i=0; ipos, sample_from ); + sample_from[1] = region[1][1]; + + float dist; + if( ray_tri( tri, sample_from, vdown, &dist )) + { + v3f p0; + v3_muladds( sample_from, vdown, dist, p0 ); + + if( player_walkgrid_tri_walkable(ptri) ) + { + if( p0[1] > walk_height ) + { + walk_height = p0[1]; + } + } + else + { + if( p0[1] > block_height ) + block_height = p0[1]; + } + } + } + + s->pos[1] = walk_height; + + if( walk_height > k_minworld_y ) + if( block_height > walk_height ) + s->type = k_sample_type_invalid; + else + s->type = k_sample_type_valid; + else + s->type = k_sample_type_air; +} + +float const k_gridscale = 0.5f; + +enum eclipdir +{ + k_eclipdir_h = 0, + k_eclipdir_v = 1 +}; + +static void player_walkgrid_clip_blocker( struct grid_sample *sa, + struct grid_sample *sb, + struct grid_sample *st, + enum eclipdir dir ) +{ + v3f clipdir, pos; + int valid_a = sa->type == k_sample_type_valid, + valid_b = sb->type == k_sample_type_valid; + struct grid_sample *target = valid_a? sa: sb, + *other = valid_a? sb: sa; + v3_copy( target->pos, pos ); + v3_sub( other->pos, target->pos, clipdir ); + + boxf cell_region; + v3_muladds( pos, (v3f){1.0f,1.0f,1.0f}, -k_gridscale*2.1f, cell_region[0]); + v3_muladds( pos, (v3f){1.0f,1.0f,1.0f}, k_gridscale*2.1f, cell_region[1]); + + u32 geo[256]; + v3f tri[3]; + int len = bh_select( &world.geo.bhtris, cell_region, geo, 256 ); + + float start_time = v3_length( clipdir ), + min_time = start_time; + v3_normalize( clipdir ); + v3_muls( clipdir, 0.0001f, st->clip[dir] ); + + for( int i=0; i 0.0f && dist < min_time ) + { + min_time = dist; + sb->type = k_sample_type_air; + } + } + } + + if( !(min_time < start_time) ) + min_time = 0.5f * k_gridscale; + + min_time = vg_clampf( min_time/k_gridscale, 0.01f, 0.99f ); + + v3_muls( clipdir, min_time, st->clip[dir] ); + + v3f p0; + v3_muladds( target->pos, st->clip[dir], k_gridscale, p0 ); +} + +static void player_walkgrid_clip_edge( struct grid_sample *sa, + struct grid_sample *sb, + struct grid_sample *st, /* data store */ + enum eclipdir dir ) +{ + v3f clipdir = { 0.0f, 0.0f, 0.0f }, pos; + int valid_a = sa->type == k_sample_type_valid, + valid_b = sb->type == k_sample_type_valid; + + struct grid_sample *target = valid_a? sa: sb, + *other = valid_a? sb: sa; + + v3_sub( other->pos, target->pos, clipdir ); + clipdir[1] = 0.0f; + + v3_copy( target->pos, pos ); + + boxf cell_region; + v3_muladds( pos, (v3f){1.0f,1.0f,1.0f}, -k_gridscale*1.1f, cell_region[0]); + v3_muladds( pos, (v3f){1.0f,1.0f,1.0f}, k_gridscale*1.1f, cell_region[1]); + + u32 geo[256]; + int len = bh_select( &world.geo.bhtris, cell_region, geo, 256 ); + + float max_dist = 0.0f; + v3f tri[3]; + v3f perp; + v3_cross( clipdir,(v3f){0.0f,1.0f,0.0f},perp ); + v3_muls( clipdir, 0.001f, st->clip[dir] ); + + for( int i=0; i= max_dist && h <= 1.0f ) + { + max_dist = h; + float l = 1.0f/v3_length(clipdir); + v3_muls( p0, l, st->clip[dir] ); + } + } + } + } +} + +static const struct conf +{ + struct confedge + { + /* i: sample index + * d: data index + * a: axis index + * o: the 'other' point to do a A/B test with + * if its -1, all AB is done. + */ + int i0, i1, + d0, d1, + a0, a1, + o0, o1; + } + edges[2]; + int edge_count; +} +k_walkgrid_configs[16] = { + {{},0}, + {{{ 3,3, 3,0, 1,0, -1,-1 }}, 1}, + {{{ 2,2, 1,3, 0,1, -1,-1 }}, 1}, + {{{ 2,3, 1,0, 0,0, 3,-1 }}, 1}, + + {{{ 1,1, 0,1, 1,0, -1,-1 }}, 1}, + {{{ 3,3, 3,0, 1,0, -1,-1 }, + { 1,1, 0,1, 1,0, -1,-1 }}, 2}, + {{{ 1,2, 0,3, 1,1, 2,-1 }}, 1}, + {{{ 1,3, 0,0, 1,0, 2, 2 }}, 1}, + + {{{ 0,0, 0,0, 0,1, -1,-1 }}, 1}, + {{{ 3,0, 3,0, 1,1, 0,-1 }}, 1}, + {{{ 2,2, 1,3, 0,1, -1,-1 }, + { 0,0, 0,0, 0,1, -1,-1 }}, 2}, + {{{ 2,0, 1,0, 0,1, 3, 3 }}, 1}, + + {{{ 0,1, 0,1, 0,0, 1,-1 }}, 1}, + {{{ 3,1, 3,1, 1,0, 0, 0 }}, 1}, + {{{ 0,2, 0,3, 0,1, 1, 1 }}, 1}, + {{},0}, +}; + +/* + * Get a buffer of edges from cell location + */ +static const struct conf *player_walkgrid_conf( struct walkgrid *wg, + v2i cell, + struct grid_sample *corners[4] ) +{ + corners[0] = &wg->samples[cell[1] ][cell[0] ]; + corners[1] = &wg->samples[cell[1]+1][cell[0] ]; + corners[2] = &wg->samples[cell[1]+1][cell[0]+1]; + corners[3] = &wg->samples[cell[1] ][cell[0]+1]; + + u32 vd0 = corners[0]->type == k_sample_type_valid, + vd1 = corners[1]->type == k_sample_type_valid, + vd2 = corners[2]->type == k_sample_type_valid, + vd3 = corners[3]->type == k_sample_type_valid, + config = (vd0<<3) | (vd1<<2) | (vd2<<1) | vd3; + + return &k_walkgrid_configs[ config ]; +} + +static void player_walkgrid_floor(v3f pos) +{ + v3_muls( pos, 1.0f/k_gridscale, pos ); + v3_floor( pos, pos ); + v3_muls( pos, k_gridscale, pos ); +} + +/* + * Computes the barycentric coordinate of location on a triangle (vertical), + * then sets the Y position to the interpolation of the three points + */ +static void player_walkgrid_stand_tri( v3f a, v3f b, v3f c, v3f pos ) +{ + v3f v0,v1,v2; + v3_sub( b, a, v0 ); + v3_sub( c, a, v1 ); + v3_sub( pos, a, v2 ); + + float d = v0[0]*v1[2] - v1[0]*v0[2], + v = (v2[0]*v1[2] - v1[0]*v2[2]) / d, + w = (v0[0]*v2[2] - v2[0]*v0[2]) / d, + u = 1.0f - v - w; + + vg_line( pos, a, 0xffff0000 ); + vg_line( pos, b, 0xff00ff00 ); + vg_line( pos, c, 0xff0000ff ); + pos[1] = u*a[1] + v*b[1] + w*c[1]; +} + +/* + * Get the minimum time value of pos+dir until a cell edge + * + * t[0] -> t[3] are the individual time values + * t[5] & t[6] are the maximum axis values + * t[6] is the minimum value + * + */ +static void player_walkgrid_min_cell( float t[7], v2f pos, v2f dir ) +{ + v2f frac = { 1.0f/dir[0], 1.0f/dir[1] }; + + t[0] = 999.9f; + t[1] = 999.9f; + t[2] = 999.9f; + t[3] = 999.9f; + + if( fabsf(dir[0]) > 0.0001f ) + { + t[0] = (0.0f-pos[0]) * frac[0]; + t[1] = (1.0f-pos[0]) * frac[0]; + } + if( fabsf(dir[1]) > 0.0001f ) + { + t[2] = (0.0f-pos[1]) * frac[1]; + t[3] = (1.0f-pos[1]) * frac[1]; + } + + t[4] = vg_maxf(t[0],t[1]); + t[5] = vg_maxf(t[2],t[3]); + t[6] = vg_minf(t[4],t[5]); +} + +static void player_walkgrid_iter(struct walkgrid *wg, int iter) +{ + + /* + * For each walkgrid iteration we are stepping through cells and determining + * the intersections with the grid, and any edges that are present + */ + + u32 icolours[] = { 0xffff00ff, 0xff00ffff, 0xffffff00 }; + + v3f pa, pb, pc, pd, pl0, pl1; + pa[0] = wg->region[0][0] + (float)wg->cell_id[0] *k_gridscale; + pa[1] = (wg->region[0][1] + wg->region[1][1]) * 0.5f + k_gridscale; + pa[2] = wg->region[0][2] + (float)wg->cell_id[1] *k_gridscale; +#if 0 + pb[0] = pa[0]; + pb[1] = pa[1]; + pb[2] = pa[2] + k_gridscale; + pc[0] = pa[0] + k_gridscale; + pc[1] = pa[1]; + pc[2] = pa[2] + k_gridscale; + pd[0] = pa[0] + k_gridscale; + pd[1] = pa[1]; + pd[2] = pa[2]; + /* if you want to draw the current cell */ + vg_line( pa, pb, 0xff00ffff ); + vg_line( pb, pc, 0xff00ffff ); + vg_line( pc, pd, 0xff00ffff ); + vg_line( pd, pa, 0xff00ffff ); +#endif + pl0[0] = pa[0] + wg->pos[0]*k_gridscale; + pl0[1] = pa[1]; + pl0[2] = pa[2] + wg->pos[1]*k_gridscale; + + /* + * If there are edges present, we need to create a 'substep' event, where + * we find the intersection point, find the fully resolved position, + * then the new pos dir is the intersection->resolution + * + * the resolution is applied in non-discretized space in order to create a + * suitable vector for finding outflow, we want it to leave the cell so it + * can be used by the quad + */ + + v2f pos, dir; + v2_copy( wg->pos, pos ); + v2_muls( wg->dir, wg->move, dir ); + + struct grid_sample *corners[4]; + v2f corners2d[4] = {{0.0f,0.0f},{0.0f,1.0f},{1.0f,1.0f},{1.0f,0.0f}}; + const struct conf *conf = player_walkgrid_conf( wg, wg->cell_id, corners ); + + float t[7]; + player_walkgrid_min_cell( t, pos, dir ); + + for( int i=0; iedge_count; i++ ) + { + const struct confedge *edge = &conf->edges[i]; + + v2f e0, e1, n, r, target, res, tangent; + e0[0] = corners2d[edge->i0][0] + corners[edge->d0]->clip[edge->a0][0]; + e0[1] = corners2d[edge->i0][1] + corners[edge->d0]->clip[edge->a0][2]; + e1[0] = corners2d[edge->i1][0] + corners[edge->d1]->clip[edge->a1][0]; + e1[1] = corners2d[edge->i1][1] + corners[edge->d1]->clip[edge->a1][2]; + + v3f pe0 = { pa[0] + e0[0]*k_gridscale, + pa[1], + pa[2] + e0[1]*k_gridscale }; + v3f pe1 = { pa[0] + e1[0]*k_gridscale, + pa[1], + pa[2] + e1[1]*k_gridscale }; + + v2_sub( e1, e0, tangent ); + n[0] = -tangent[1]; + n[1] = tangent[0]; + v2_normalize( n ); + + /* + * If we find ourselfs already penetrating the edge, move back out a + * little + */ + v2_sub( e0, pos, r ); + float p1 = v2_dot(r,n); + + if( -p1 < 0.0001f ) + { + v2_muladds( pos, n, p1+0.0001f, pos ); + v2_copy( pos, wg->pos ); + v3f p_new = { pa[0] + pos[0]*k_gridscale, + pa[1], + pa[2] + pos[1]*k_gridscale }; + v3_copy( p_new, pl0 ); + } + + v2_add( pos, dir, target ); + + v2f v1, v2, v3; + v2_sub( e0, pos, v1 ); + v2_sub( target, pos, v2 ); + + v2_copy( n, v3 ); + + v2_sub( e0, target, r ); + float p = v2_dot(r,n), + t1 = v2_dot(v1,v3)/v2_dot(v2,v3); + + if( t1 < t[6] && t1 > 0.0f && -p < 0.001f ) + { + v2_muladds( target, n, p+0.0001f, res ); + + v2f intersect; + v2_muladds( pos, dir, t1, intersect ); + v2_copy( intersect, pos ); + v2_sub( res, intersect, dir ); + + v3f p_res = { pa[0] + res[0]*k_gridscale, + pa[1], + pa[2] + res[1]*k_gridscale }; + v3f p_int = { pa[0] + intersect[0]*k_gridscale, + pa[1], + pa[2] + intersect[1]*k_gridscale }; + + vg_line( pl0, p_int, icolours[iter%3] ); + v3_copy( p_int, pl0 ); + v2_copy( pos, wg->pos ); + + player_walkgrid_min_cell( t, pos, dir ); + } + } + + /* + * Compute intersection with grid cell moving outwards + */ + t[6] = vg_minf( t[6], 1.0f ); + + pl1[0] = pl0[0] + dir[0]*k_gridscale*t[6]; + pl1[1] = pl0[1]; + pl1[2] = pl0[2] + dir[1]*k_gridscale*t[6]; + vg_line( pl0, pl1, icolours[iter%3] ); + + if( t[6] < 1.0f ) + { + /* + * To figure out what t value created the clip so we know which edge + * to wrap around + */ + + if( t[4] < t[5] ) + { + wg->pos[1] = pos[1] + dir[1]*t[6]; + + if( t[0] > t[1] ) /* left edge */ + { + wg->pos[0] = 0.9999f; + wg->cell_id[0] --; + + if( wg->cell_id[0] == 0 ) + wg->move = -1.0f; + } + else /* Right edge */ + { + wg->pos[0] = 0.0001f; + wg->cell_id[0] ++; + + if( wg->cell_id[0] == WALKGRID_SIZE-2 ) + wg->move = -1.0f; + } + } + else + { + wg->pos[0] = pos[0] + dir[0]*t[6]; + + if( t[2] > t[3] ) /* bottom edge */ + { + wg->pos[1] = 0.9999f; + wg->cell_id[1] --; + + if( wg->cell_id[1] == 0 ) + wg->move = -1.0f; + } + else /* top edge */ + { + wg->pos[1] = 0.0001f; + wg->cell_id[1] ++; + + if( wg->cell_id[1] == WALKGRID_SIZE-2 ) + wg->move = -1.0f; + } + } + + wg->move -= t[6]; + } + else + { + v2_muladds( wg->pos, dir, wg->move, wg->pos ); + wg->move = 0.0f; + } +} + +static void player_walkgrid_stand_cell(struct walkgrid *wg) +{ + /* + * NOTE: as opposed to the other function which is done in discretized space + * this use a combination of both. + */ + + v3f world; + world[0] = wg->region[0][0]+((float)wg->cell_id[0]+wg->pos[0])*k_gridscale; + world[1] = player.rb.co[1]; + world[2] = wg->region[0][2]+((float)wg->cell_id[1]+wg->pos[1])*k_gridscale; + + struct grid_sample *corners[4]; + const struct conf *conf = player_walkgrid_conf( wg, wg->cell_id, corners ); + + if( conf != k_walkgrid_configs ) + { + if( conf->edge_count == 0 ) + { + v3f v0; + + /* Split the basic quad along the shortest diagonal */ + if( fabsf(corners[2]->pos[1] - corners[0]->pos[1]) < + fabsf(corners[3]->pos[1] - corners[1]->pos[1]) ) + { + vg_line( corners[2]->pos, corners[0]->pos, 0xffaaaaaa ); + + if( wg->pos[0] > wg->pos[1] ) + player_walkgrid_stand_tri( corners[0]->pos, + corners[3]->pos, + corners[2]->pos, world ); + else + player_walkgrid_stand_tri( corners[0]->pos, + corners[2]->pos, + corners[1]->pos, world ); + } + else + { + vg_line( corners[3]->pos, corners[1]->pos, 0xffaaaaaa ); + + if( wg->pos[0] < 1.0f-wg->pos[1] ) + player_walkgrid_stand_tri( corners[0]->pos, + corners[3]->pos, + corners[1]->pos, world ); + else + player_walkgrid_stand_tri( corners[3]->pos, + corners[2]->pos, + corners[1]->pos, world ); + } + } + else + { + for( int i=0; iedge_count; i++ ) + { + const struct confedge *edge = &conf->edges[i]; + + v3f p0, p1; + v3_muladds( corners[edge->i0]->pos, + corners[edge->d0]->clip[edge->a0], k_gridscale, p0 ); + v3_muladds( corners[edge->i1]->pos, + corners[edge->d1]->clip[edge->a1], k_gridscale, p1 ); + + /* + * Find penetration distance between player position and the edge + */ + + v2f normal = { -(p1[2]-p0[2]), p1[0]-p0[0] }, + rel = { world[0]-p0[0], world[2]-p0[2] }; + + if( edge->o0 == -1 ) + { + /* No subregions (default case), just use triangle created by + * i0, e0, e1 */ + player_walkgrid_stand_tri( corners[edge->i0]->pos, + p0, + p1, world ); + } + else + { + /* + * Test if we are in the first region, which is + * edge.i0, edge.e0, edge.o0, + */ + v3f v0, ref; + v3_sub( p0, corners[edge->o0]->pos, ref ); + v3_sub( world, corners[edge->o0]->pos, v0 ); + + vg_line( corners[edge->o0]->pos, p0, 0xffffff00 ); + vg_line( corners[edge->o0]->pos, world, 0xff000000 ); + + if( ref[0]*v0[2] - ref[2]*v0[0] < 0.0f ) + { + player_walkgrid_stand_tri( corners[edge->i0]->pos, + p0, + corners[edge->o0]->pos, world ); + } + else + { + if( edge->o1 == -1 ) + { + /* + * No other edges mean we just need to use the opposite + * + * e0, e1, o0 (in our case, also i1) + */ + player_walkgrid_stand_tri( p0, + p1, + corners[edge->o0]->pos, world ); + } + else + { + /* + * Note: this v0 calculation can be ommited with the + * current tileset. + * + * the last two triangles we have are: + * e0, e1, o1 + * and + * e1, i1, o1 + */ + v3_sub( p1, corners[edge->o1]->pos, ref ); + v3_sub( world, corners[edge->o1]->pos, v0 ); + vg_line( corners[edge->o1]->pos, p1, 0xff00ffff ); + + if( ref[0]*v0[2] - ref[2]*v0[0] < 0.0f ) + { + player_walkgrid_stand_tri( p0, + p1, + corners[edge->o1]->pos, + world ); + } + else + { + player_walkgrid_stand_tri( p1, + corners[edge->i1]->pos, + corners[edge->o1]->pos, + world ); + } + } + } + } + } + } + } + + v3_copy( world, player.rb.co ); +} + +static void player_walkgrid_getsurface(void) +{ + float const k_stepheight = 0.5f; + float const k_miny = 0.6f; + float const k_height = 1.78f; + float const k_region_size = (float)WALKGRID_SIZE/2.0f * k_gridscale; + + static struct walkgrid wg; + + v3f cell; + v3_copy( player.rb.co, cell ); + player_walkgrid_floor( cell ); + + v3_muladds( cell, (v3f){-1.0f,-1.0f,-1.0f}, k_region_size, wg.region[0] ); + v3_muladds( cell, (v3f){ 1.0f, 1.0f, 1.0f}, k_region_size, wg.region[1] ); + + + /* + * Create player input vector + */ + v3f delta = {0.0f,0.0f,0.0f}; + v3f fwd = { -sinf(-player.angles[0]), 0.0f, -cosf(-player.angles[0]) }, + side = { -fwd[2], 0.0f, fwd[0] }; + + /* Temp */ + if( !vg_console_enabled() ) + { + if( glfwGetKey( vg_window, GLFW_KEY_W ) ) + v3_muladds( delta, fwd, ktimestep*k_walkspeed, delta ); + if( glfwGetKey( vg_window, GLFW_KEY_S ) ) + v3_muladds( delta, fwd, -ktimestep*k_walkspeed, delta ); + + if( glfwGetKey( vg_window, GLFW_KEY_A ) ) + v3_muladds( delta, side, -ktimestep*k_walkspeed, delta ); + if( glfwGetKey( vg_window, GLFW_KEY_D ) ) + v3_muladds( delta, side, ktimestep*k_walkspeed, delta ); + + v3_muladds( delta, fwd, + vg_get_axis("vertical")*-ktimestep*k_walkspeed, delta ); + v3_muladds( delta, side, + vg_get_axis("horizontal")*ktimestep*k_walkspeed, delta ); + } + + /* + * Create our move in grid space + */ + wg.dir[0] = delta[0] * (1.0f/k_gridscale); + wg.dir[1] = delta[2] * (1.0f/k_gridscale); + wg.move = 1.0f; + + v2f region_pos = + { + (player.rb.co[0] - wg.region[0][0]) * (1.0f/k_gridscale), + (player.rb.co[2] - wg.region[0][2]) * (1.0f/k_gridscale) + }; + v2f region_cell_pos; + v2_floor( region_pos, region_cell_pos ); + v2_sub( region_pos, region_cell_pos, wg.pos ); + + wg.cell_id[0] = region_cell_pos[0]; + wg.cell_id[1] = region_cell_pos[1]; + + for(int y=0; ypos ); + s->state = k_traverse_none; + s->type = k_sample_type_air; + v3_zero( s->clip[0] ); + v3_zero( s->clip[1] ); + } + } + + v2i border[WALKGRID_SIZE*WALKGRID_SIZE]; + v2i *cborder = border; + u32 border_length = 1; + + struct grid_sample *base = NULL; + + v2i starters[] = {{0,0},{1,1},{0,1},{1,0}}; + + for( int i=0;i<4;i++ ) + { + v2i test; + v2i_add( wg.cell_id, starters[i], test ); + v2i_copy( test, border[0] ); + base = &wg.samples[test[1]][test[0]]; + + base->pos[1] = cell[1]; + player_walkgrid_samplepole( base ); + + if( base->type == k_sample_type_valid ) + break; + else + base->type = k_sample_type_air; + } + + vg_line_pt3( base->pos, 0.1f, 0xffffffff ); + + int iter = 0; + + while( border_length ) + { + v2i directions[] = {{1,0},{0,1},{-1,0},{0,-1}}; + + v2i *old_border = cborder; + int len = border_length; + + border_length = 0; + cborder = old_border+len; + + for( int i=0; istate & thismove) == 0x00 || + sb->type == k_sample_type_air ) + { + sb->pos[1] = sa->pos[1]; + + player_walkgrid_samplepole( sb ); + + if( sb->type != k_sample_type_air ) + { + /* + * Need to do a blocker pass + */ + + struct grid_sample *store = (j>>1 == 0)? sa: sb; + player_walkgrid_clip_blocker( sa, sb, store, j%2 ); + + + if( sb->type != k_sample_type_air ) + { + vg_line( sa->pos, sb->pos, 0xffffffff ); + + if( sb->state == k_traverse_none ) + v2i_copy( newp, cborder[ border_length ++ ] ); + } + else + { + v3f p1; + v3_muladds( sa->pos, store->clip[j%2], k_gridscale, p1 ); + vg_line( sa->pos, p1, 0xffffffff ); + } + } + else + { + /* + * A clipping pass is now done on the edge of the walkable + * surface + */ + + struct grid_sample *store = (j>>1 == 0)? sa: sb; + player_walkgrid_clip_edge( sa, sb, store, j%2 ); + + v3f p1; + v3_muladds( sa->pos, store->clip[j%2], k_gridscale, p1 ); + vg_line( sa->pos, p1, 0xffffffff ); + } + + sb->state |= thismove; + } + } + + sa->state = k_traverse_h|k_traverse_v; + } + + iter ++; + if( iter == walk_grid_iterations ) + break; + } + + /* Draw connections */ + struct grid_sample *corners[4]; + for( int x=0; xedge_count; i++ ) + { + const struct confedge *edge = &conf->edges[i]; + + v3f p0, p1; + v3_muladds( corners[edge->i0]->pos, + corners[edge->d0]->clip[edge->a0], k_gridscale, p0 ); + v3_muladds( corners[edge->i1]->pos, + corners[edge->d1]->clip[edge->a1], k_gridscale, p1 ); + + vg_line( p0, p1, 0xff0000ff ); + } + } + } + + /* + * Commit player movement into the grid + */ + + if( v3_length2(delta) <= 0.00001f ) + return; + + int i=0; + for(; i<8 && wg.move > 0.001f; i++ ) + player_walkgrid_iter( &wg, i ); + + player_walkgrid_stand_cell( &wg ); +} + +static void player_walkgrid(void) +{ + player_walkgrid_getsurface(); + + m4x3_mulv( player.rb.to_world, (v3f){0.0f,1.8f,0.0f}, player.camera_pos ); + player_mouseview(); + rb_update_transform( &player.rb ); +} + +#endif /* PLAYER_WALKGRID_H */ diff --git a/rigidbody.h b/rigidbody.h index 2714c43..32753d1 100644 --- a/rigidbody.h +++ b/rigidbody.h @@ -63,10 +63,10 @@ struct rigidbody boxf bbx, bbx_world; float inv_mass; - v3f delta; /* where is the origin of this in relation to a parent body - TODO: Move this somewhere other than rigidbody struct - it is only used by character.h's ragdoll - */ + /* inertia model and inverse world tensor */ + v3f I; + m3x3f iI, iIw; + m4x3f to_world, to_local; }; @@ -92,7 +92,9 @@ static struct contact rigidbody *rba, *rbb; v3f co, n; v3f t[2]; - float mass_total, p, bias, norm_impulse, tangent_impulse[2]; + float p, bias, norm_impulse, tangent_impulse[2], + normal_mass, tangent_mass[2]; + u32 element_id; } rb_contact_buffer[256]; @@ -116,6 +118,9 @@ static void rb_update_transform( rigidbody *rb ) m3x3_mulv( rb->to_world, (v3f){0.0f,1.0f, 0.0f}, rb->up ); m3x3_mulv( rb->to_world, (v3f){0.0f,0.0f,-1.0f}, rb->forward ); + m3x3_mul( rb->iI, rb->to_local, rb->iIw ); + m3x3_mul( rb->to_world, rb->iIw, rb->iIw ); + rb_update_bounds( rb ); } @@ -134,12 +139,17 @@ static void rb_init( rigidbody *rb ) v3f dims; v3_sub( rb->bbx[1], rb->bbx[0], dims ); volume = dims[0]*dims[1]*dims[2]; + + if( !rb->is_world ) + vg_info( "Box volume: %f\n", volume ); } else if( rb->type == k_rb_shape_sphere ) { volume = sphere_volume( rb->inf.sphere.radius ); v3_fill( rb->bbx[0], -rb->inf.sphere.radius ); v3_fill( rb->bbx[1], rb->inf.sphere.radius ); + + vg_info( "Sphere volume: %f\n", volume ); } else if( rb->type == k_rb_shape_capsule ) { @@ -161,11 +171,32 @@ static void rb_init( rigidbody *rb ) if( rb->is_world ) { rb->inv_mass = 0.0f; + v3_zero( rb->I ); + m3x3_zero(rb->iI); } else { - rb->inv_mass = 1.0f/(8.0f*volume); /* TODO: Things get weird when mass - passes a certain point??? */ + float mass = 2.0f*volume; + rb->inv_mass = 1.0f/mass; + + v3f extent; + v3_sub( rb->bbx[1], rb->bbx[0], extent ); + v3_muls( extent, 0.5f, extent ); + + /* local intertia tensor */ + float ex2 = 4.0f*extent[0]*extent[0], + ey2 = 4.0f*extent[1]*extent[1], + ez2 = 4.0f*extent[2]*extent[2]; + + rb->I[0] = ((1.0f/12.0f) * mass * (ey2+ez2)); + rb->I[1] = ((1.0f/12.0f) * mass * (ex2+ez2)); + rb->I[2] = ((1.0f/12.0f) * mass * (ex2+ey2)); + + m3x3_identity( rb->iI ); + rb->iI[0][0] = rb->I[0]; + rb->iI[1][1] = rb->I[1]; + rb->iI[2][2] = rb->I[2]; + m3x3_inv( rb->iI, rb->iI ); } v3_zero( rb->v ); @@ -176,7 +207,7 @@ static void rb_init( rigidbody *rb ) static void rb_iter( rigidbody *rb ) { - v3f gravity = { 0.0f, -9.6f, 0.0f }; + v3f gravity = { 0.0f, -9.8f, 0.0f }; v3_muladds( rb->v, gravity, k_rb_delta, rb->v ); /* intergrate velocity */ @@ -569,8 +600,8 @@ int rb_intersect_planes_1( v4f a, v4f b, v4f c, v3f p ) static void rb_debug_contact( rb_ct *ct ) { v3f p1; - v3_muladds( ct->co, ct->n, 0.2f, p1 ); - vg_line_pt3( ct->co, 0.1f, 0xff0000ff ); + v3_muladds( ct->co, ct->n, 0.1f, p1 ); + vg_line_pt3( ct->co, 0.025f, 0xff0000ff ); vg_line( ct->co, p1, 0xffffffff ); } @@ -1077,16 +1108,83 @@ static float rb_box_plane_interval( rigidbody *rba, v4f p ) return r-s; } +static int rb_box_triangle_interval( v3f extent, v3f axis, v3f tri[3] ) +{ + float + + r = extent[0] * fabsf(axis[0]) + + extent[1] * fabsf(axis[1]) + + extent[2] * fabsf(axis[2]), + + p0 = v3_dot( axis, tri[0] ), + p1 = v3_dot( axis, tri[1] ), + p2 = v3_dot( axis, tri[2] ), + + e = vg_maxf(-vg_maxf(p0,vg_maxf(p1,p2)), vg_minf(p0,vg_minf(p1,p2))); + + if( e > r ) return 0; + else return 1; +} + +static int rb_box_triangle_sat( rigidbody *rba, v3f tri_src[3] ) +{ + v3f tri[3]; + + v3f extent, c; + v3_sub( rba->bbx[1], rba->bbx[0], extent ); + v3_muls( extent, 0.5f, extent ); + v3_add( rba->bbx[0], extent, c ); + + for( int i=0; i<3; i++ ) + { + m4x3_mulv( rba->to_local, tri_src[i], tri[i] ); + v3_sub( tri[i], c, tri[i] ); + } + + /* u0, u1, u2 */ + if(!rb_box_triangle_interval( extent, (v3f){1.0f,0.0f,0.0f}, tri )) return 0; + if(!rb_box_triangle_interval( extent, (v3f){0.0f,1.0f,0.0f}, tri )) return 0; + if(!rb_box_triangle_interval( extent, (v3f){0.0f,0.0f,1.0f}, tri )) return 0; + + v3f v0,v1,v2,n, e0,e1,e2; + v3_sub( tri[1], tri[0], v0 ); + v3_sub( tri[2], tri[0], v1 ); + v3_sub( tri[2], tri[1], v2 ); + v3_normalize( v0 ); + v3_normalize( v1 ); + v3_normalize( v2 ); + v3_cross( v0, v1, n ); + v3_cross( v0, n, e0 ); + v3_cross( n, v1, e1 ); + v3_cross( v2, n, e2 ); + + /* normal */ + if(!rb_box_triangle_interval( extent, n, tri )) return 0; + + v3f axis[9]; + v3_cross( e0, (v3f){1.0f,0.0f,0.0f}, axis[0] ); + v3_cross( e0, (v3f){0.0f,1.0f,0.0f}, axis[1] ); + v3_cross( e0, (v3f){0.0f,0.0f,1.0f}, axis[2] ); + v3_cross( e1, (v3f){1.0f,0.0f,0.0f}, axis[3] ); + v3_cross( e1, (v3f){0.0f,1.0f,0.0f}, axis[4] ); + v3_cross( e1, (v3f){0.0f,0.0f,1.0f}, axis[5] ); + v3_cross( e2, (v3f){1.0f,0.0f,0.0f}, axis[6] ); + v3_cross( e2, (v3f){0.0f,1.0f,0.0f}, axis[7] ); + v3_cross( e2, (v3f){0.0f,0.0f,1.0f}, axis[8] ); + + for( int i=0; i<9; i++ ) + if(!rb_box_triangle_interval( extent, axis[i], tri )) return 0; + + return 1; +} + static int rb_box_vs_scene( rigidbody *rba, rigidbody *rbb, rb_ct *buf ) { -#if 1 scene *sc = rbb->inf.scene.pscene; u32 geo[128]; v3f tri[3]; int len = bh_select( &sc->bhtris, rba->bbx_world, geo, 128 ); - - vg_info( "%d\n", len ); int count = 0; @@ -1097,123 +1195,127 @@ static int rb_box_vs_scene( rigidbody *rba, rigidbody *rbb, rb_ct *buf ) for( int j=0; j<3; j++ ) v3_copy( sc->verts[ptri[j]].co, tri[j] ); - vg_line(tri[0],tri[1],0xff00ff00 ); - vg_line(tri[1],tri[2],0xff00ff00 ); - vg_line(tri[2],tri[0],0xff00ff00 ); + if( rb_box_triangle_sat( rba, tri ) ) + { + vg_line(tri[0],tri[1],0xff50ff00 ); + vg_line(tri[1],tri[2],0xff50ff00 ); + vg_line(tri[2],tri[0],0xff50ff00 ); + } + else + { + vg_line(tri[0],tri[1],0xff0000ff ); + vg_line(tri[1],tri[2],0xff0000ff ); + vg_line(tri[2],tri[0],0xff0000ff ); - //count += rb_sphere_vs_triangle( rba, rbb, tri, buf+count ); - // - - /* TODO: SAT test first */ - - /* - * each pair of faces on the box vs triangle normal - */ + continue; + } - v3f v0, v1; - v4f tn; + v3f v0,v1,n; + v3_sub( tri[1], tri[0], v0 ); + v3_sub( tri[2], tri[0], v1 ); + v3_cross( v0, v1, n ); + v3_normalize( n ); - v3_sub( tri[1],tri[0], v0 ); - v3_sub( tri[2],tri[0], v1 ); - v3_cross( v0, v1, tn ); - v3_normalize( tn ); + /* find best feature */ + float best = v3_dot( rba->right, n ); + int axis = 0; - tn[3] = v3_dot( tn, tri[0] ); - - v4f pa, pb, pc, pd, pe, pf; - v3_copy( rba->right, pa ); - v3_muls( rba->right, -1.0f, pb ); - v3_copy( rba->up, pc ); - v3_muls( rba->up, -1.0f, pd ); - v3_copy( rba->forward, pf ); - v3_muls( rba->forward, -1.0f, pe ); - - float dx = v3_dot( rba->co, rba->right ), - dy = v3_dot( rba->co, rba->up ), - dz = -v3_dot( rba->co, rba->forward ); - - pa[3] = dx + rba->bbx[1][0]; - pb[3] = -dx - rba->bbx[0][0]; - pc[3] = dy + rba->bbx[1][1]; - pd[3] = -dy - rba->bbx[0][1]; - pe[3] = dz + rba->bbx[1][2]; - pf[3] = -dz - rba->bbx[0][2]; - - float *pairs[][2] = { {pc, pa}, {pc,pe}, {pc,pb}, {pc,pf}, - {pd, pa}, {pd,pe}, {pd,pb}, {pd,pf}, - {pf, pa}, {pa,pe}, {pe,pb}, {pb,pf}}; - for( int j=0; jup, n ); + if( fabsf(cy) > fabsf(best) ) { - v3f p; - - if( rb_intersect_planes_1( pairs[j][0], pairs[j][1], tn, p )) - { - v3f p_tri, p_box; - closest_point_obb( p, rba, p_box ); - closest_on_triangle_1( p, tri, p_tri ); - - //vg_line_pt3( p, 0.1f, 0xffeeaaff ); - - if( v3_dist( p_tri, p ) < 0.001f && v3_dist( p_box, p ) < 0.001f ) - { - if( count == 12 ) - { - vg_warn( "Exceeding box_vs_scene capacity." - "Geometry too dense!\n" ); - return count; - } - - rb_ct *ct = buf+count; - - v3_copy( tn, ct->n ); - v3_copy( p_box, ct->co ); - - ct->p = rb_box_plane_interval( rba, tn ); - ct->rba = rba; - ct->rbb = rbb; - count ++; - } - } + best = cy; + axis = 1; + } + + /* TODO: THIS IS WRONG DIRECTION */ + float cz = -v3_dot( rba->forward, n ); + if( fabsf(cz) > fabsf(best) ) + { + best = cz; + axis = 2; } - } -#else - - v3f pts[8]; - float *p000 = pts[0], *p001 = pts[1], *p010 = pts[2], *p011 = pts[3], - *p100 = pts[4], *p101 = pts[5], *p110 = pts[6], *p111 = pts[7]; - p000[0]=rba->bbx[0][0];p000[1]=rba->bbx[0][1];p000[2]=rba->bbx[0][2]; - p001[0]=rba->bbx[0][0];p001[1]=rba->bbx[0][1];p001[2]=rba->bbx[1][2]; - p010[0]=rba->bbx[0][0];p010[1]=rba->bbx[1][1];p010[2]=rba->bbx[0][2]; - p011[0]=rba->bbx[0][0];p011[1]=rba->bbx[1][1];p011[2]=rba->bbx[1][2]; - p100[0]=rba->bbx[1][0];p100[1]=rba->bbx[0][1];p100[2]=rba->bbx[0][2]; - p101[0]=rba->bbx[1][0];p101[1]=rba->bbx[0][1];p101[2]=rba->bbx[1][2]; - p110[0]=rba->bbx[1][0];p110[1]=rba->bbx[1][1];p110[2]=rba->bbx[0][2]; - p111[0]=rba->bbx[1][0];p111[1]=rba->bbx[1][1];p111[2]=rba->bbx[1][2]; + v3f manifold[4]; - int count = 0; - for( int i=0; i<8; i++ ) - { - m4x3_mulv( rba->to_world, pts[i], pts[i] ); + if( axis == 0 ) + { + float px = best > 0.0f? rba->bbx[0][0]: rba->bbx[1][0]; + manifold[0][0] = px; + manifold[0][1] = rba->bbx[0][1]; + manifold[0][2] = rba->bbx[0][2]; + manifold[1][0] = px; + manifold[1][1] = rba->bbx[1][1]; + manifold[1][2] = rba->bbx[0][2]; + manifold[2][0] = px; + manifold[2][1] = rba->bbx[1][1]; + manifold[2][2] = rba->bbx[1][2]; + manifold[3][0] = px; + manifold[3][1] = rba->bbx[0][1]; + manifold[3][2] = rba->bbx[1][2]; + } + else if( axis == 1 ) + { + float py = best > 0.0f? rba->bbx[0][1]: rba->bbx[1][1]; + manifold[0][0] = rba->bbx[0][0]; + manifold[0][1] = py; + manifold[0][2] = rba->bbx[0][2]; + manifold[1][0] = rba->bbx[1][0]; + manifold[1][1] = py; + manifold[1][2] = rba->bbx[0][2]; + manifold[2][0] = rba->bbx[1][0]; + manifold[2][1] = py; + manifold[2][2] = rba->bbx[1][2]; + manifold[3][0] = rba->bbx[0][0]; + manifold[3][1] = py; + manifold[3][2] = rba->bbx[1][2]; + } + else + { + float pz = best > 0.0f? rba->bbx[0][2]: rba->bbx[1][2]; + manifold[0][0] = rba->bbx[0][0]; + manifold[0][1] = rba->bbx[0][1]; + manifold[0][2] = pz; + manifold[1][0] = rba->bbx[1][0]; + manifold[1][1] = rba->bbx[0][1]; + manifold[1][2] = pz; + manifold[2][0] = rba->bbx[1][0]; + manifold[2][1] = rba->bbx[1][1]; + manifold[2][2] = pz; + manifold[3][0] = rba->bbx[0][0]; + manifold[3][1] = rba->bbx[1][1]; + manifold[3][2] = pz; + } + + for( int j=0; j<4; j++ ) + m4x3_mulv( rba->to_world, manifold[j], manifold[j] ); - vg_line_pt3( pts[i], 0.1f, 0xffff00ff ); + vg_line( manifold[0], manifold[1], 0xffffffff ); + vg_line( manifold[1], manifold[2], 0xffffffff ); + vg_line( manifold[2], manifold[3], 0xffffffff ); + vg_line( manifold[3], manifold[0], 0xffffffff ); - if( pts[i][1] < 0.0f ) + for( int j=0; j<4; j++ ) { rb_ct *ct = buf+count; - v3_copy( (v3f){0.0f,1.0f,0.0f}, ct->n ); - v3_copy( pts[i], ct->co ); - - ct->p = 0.0f-pts[i][1]; + v3_copy( manifold[j], ct->co ); + v3_copy( n, ct->n ); + + float l0 = v3_dot( tri[0], n ), + l1 = v3_dot( manifold[j], n ); + + ct->p = (l0-l1)*0.5f; + if( ct->p < 0.0f ) + continue; + ct->rba = rba; ct->rbb = rbb; count ++; + + if( count >= 12 ) + return count; } } - -#endif - return count; } @@ -1516,13 +1618,42 @@ static void rb_presolve_contacts( rb_ct *buffer, int len ) for( int i=0; ibias = -0.2f * k_rb_rate * vg_minf(0.0f,-ct->p+0.04f); + ct->bias = -0.2f * k_rb_rate * vg_minf(0.0f,-ct->p+0.01f); rb_tangent_basis( ct->n, ct->t[0], ct->t[1] ); ct->norm_impulse = 0.0f; ct->tangent_impulse[0] = 0.0f; ct->tangent_impulse[1] = 0.0f; - ct->mass_total = 1.0f/(ct->rba->inv_mass + ct->rbb->inv_mass); + + v3f ra, rb, raCn, rbCn, raCt, rbCt; + v3_sub( ct->co, ct->rba->co, ra ); + v3_sub( ct->co, ct->rbb->co, rb ); + v3_cross( ra, ct->n, raCn ); + v3_cross( rb, ct->n, rbCn ); + + /* orient inverse inertia tensors */ + v3f raCnI, rbCnI; + m3x3_mulv( ct->rba->iIw, raCn, raCnI ); + m3x3_mulv( ct->rbb->iIw, rbCn, rbCnI ); + + ct->normal_mass = ct->rba->inv_mass + ct->rbb->inv_mass; + ct->normal_mass += v3_dot( raCn, raCnI ); + ct->normal_mass += v3_dot( rbCn, rbCnI ); + ct->normal_mass = 1.0f/ct->normal_mass; + + for( int j=0; j<2; j++ ) + { + v3f raCtI, rbCtI; + v3_cross( ct->t[j], ra, raCt ); + v3_cross( ct->t[j], rb, rbCt ); + m3x3_mulv( ct->rba->iIw, raCt, raCtI ); + m3x3_mulv( ct->rbb->iIw, rbCt, rbCtI ); + + ct->tangent_mass[j] = ct->rba->inv_mass + ct->rbb->inv_mass; + ct->tangent_mass[j] += v3_dot( raCt, raCtI ); + ct->tangent_mass[j] += v3_dot( rbCt, rbCtI ); + ct->tangent_mass[j] = 1.0f/ct->tangent_mass[j]; + } rb_debug_contact( ct ); } @@ -1556,18 +1687,17 @@ static void rb_standard_impulse( rb_ct *ct, v3f da, v3f db, v3f impulse ) rigidbody *rba = ct->rba, *rbb = ct->rbb; - v3f ia, ib; - v3_muls( impulse, ct->mass_total*rba->inv_mass, ia ); - v3_muls( impulse, -ct->mass_total*rbb->inv_mass, ib ); - - /* response */ - v3_add( rba->v, ia, rba->v ); - v3_add( rbb->v, ib, rbb->v ); + v3_muladds( rba->v, impulse, rba->inv_mass, rba->v ); + v3_muladds( rbb->v, impulse, -rbb->inv_mass, rbb->v ); /* Angular velocity */ - v3f wa, wb; - v3_cross( da, ia, wa ); - v3_cross( db, ib, wb ); + v3f wa, wb, invim; + v3_cross( da, impulse, wa ); + v3_negate( impulse, invim ); + v3_cross( db, invim, wb ); + + m3x3_mulv( ct->rba->iIw, wa, wa ); + m3x3_mulv( ct->rbb->iIw, wb, wb ); v3_add( rba->w, wa, rba->w ); v3_add( rbb->w, wb, rbb->w ); } @@ -1577,9 +1707,8 @@ static void rb_standard_impulse( rb_ct *ct, v3f da, v3f db, v3f impulse ) */ static void rb_solve_contacts( rb_ct *buf, int len ) { - float k_friction = 0.5f; + float k_friction = 0.2f; - /* Friction Impulse */ for( int i=0; inorm_impulse, - vt = -v3_dot( rv, ct->t[j] ); + float f = k_friction * ct->norm_impulse, + vt = v3_dot( rv, ct->t[j] ), + lambda = ct->tangent_mass[j] * -vt; float temp = ct->tangent_impulse[j]; - ct->tangent_impulse[j] = vg_clampf( temp+vt, -f, f ); - vt = ct->tangent_impulse[j] - temp; + ct->tangent_impulse[j] = vg_clampf( temp + lambda, -f, f ); + lambda = ct->tangent_impulse[j] - temp; v3f impulse; - v3_muls( ct->t[j], vt, impulse ); + v3_muls( ct->t[j], lambda, impulse ); rb_standard_impulse( ct, da, db, impulse ); } - } - - /* Normal Impulse */ - for( int i=0; irba, - *rbb = ct->rbb; - v3f rv, da, db; + /* Normal */ rb_rcv( ct, rv, da, db ); - - float vn = -v3_dot( rv, ct->n ) + ct->bias; + float vn = v3_dot( rv, ct->n ), + lambda = ct->normal_mass * (-vn + ct->bias); float temp = ct->norm_impulse; - ct->norm_impulse = vg_maxf( temp + vn, 0.0f ); - vn = ct->norm_impulse - temp; + ct->norm_impulse = vg_maxf( temp + lambda, 0.0f ); + lambda = ct->norm_impulse - temp; v3f impulse; - v3_muls( ct->n, vn, impulse ); + v3_muls( ct->n, lambda, impulse ); rb_standard_impulse( ct, da, db, impulse ); } } diff --git a/skeleton.h b/skeleton.h index ce71283..dc50fe9 100644 --- a/skeleton.h +++ b/skeleton.h @@ -19,6 +19,9 @@ struct skeleton mdl_keyframe kf; + int collider; + boxf hitbox; + char name[16]; } *bones; @@ -42,6 +45,7 @@ struct skeleton u32 bone_count, ik_count, + collider_count, anim_count, bindable_count; /* TODO: try to place IK last in the rig from export so that we dont always upload transforms for @@ -385,7 +389,7 @@ static struct skeleton_anim *skeleton_get_anim( struct skeleton *skele, /* Setup an animated skeleton from model */ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl ) { - u32 bone_count = 1, skeleton_root = 0, ik_count = 0; + u32 bone_count = 1, skeleton_root = 0, ik_count = 0, collider_count = 0; skele->bone_count = 0; skele->bones = NULL; skele->final_mtx = NULL; @@ -408,14 +412,14 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl ) skele->bone_count = inf->channels; skele->ik_count = inf->ik_count; + skele->collider_count = inf->collider_count; skele->bones = malloc(sizeof(struct skeleton_bone)*skele->bone_count); skele->ik = malloc(sizeof(struct skeleton_ik)*skele->ik_count); skeleton_root = i; } else if( skele->bone_count ) { - int is_ik = pnode->classtype == k_classtype_ik_bone, - is_bone = (pnode->classtype == k_classtype_bone) || is_ik; + int is_bone = pnode->classtype == k_classtype_bone; if( is_bone ) { @@ -429,16 +433,17 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl ) } struct skeleton_bone *sb = &skele->bones[bone_count]; + struct classtype_bone *bone_inf = mdl_get_entdata( mdl, pnode ); + int is_ik = bone_inf->ik_target; v3_copy( pnode->co, sb->co ); v3_copy( pnode->s, sb->end ); sb->parent = pnode->parent-skeleton_root; strncpy( sb->name, mdl_pstr(mdl,pnode->pstr_name), 15 ); + sb->deform = bone_inf->deform; if( is_ik ) { - struct classtype_ik_bone *ik_inf = mdl_get_entdata( mdl, pnode ); - sb->deform = ik_inf->deform; sb->ik = 1; /* TODO: place into new IK array */ skele->bones[ sb->parent ].ik = 1; @@ -451,16 +456,28 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl ) struct skeleton_ik *ik = &skele->ik[ ik_count ++ ]; ik->upper = bone_count; ik->lower = sb->parent; - ik->target = ik_inf->target; - ik->pole = ik_inf->pole; + ik->target = bone_inf->ik_target; + ik->pole = bone_inf->ik_pole; } else { - struct classtype_bone *bone_inf = mdl_get_entdata( mdl, pnode ); - sb->deform = bone_inf->deform; sb->ik = 0; } + sb->collider = bone_inf->collider; + box_copy( bone_inf->hitbox, sb->hitbox ); + + if( bone_inf->collider ) + { + if( collider_count == skele->collider_count ) + { + vg_error( "Too many collider bones\n" ); + goto error_dealloc; + } + + collider_count ++; + } + bone_count ++; } else @@ -476,6 +493,13 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl ) return 0; } + if( collider_count != skele->collider_count ) + { + vg_error( "Loaded %u colliders out of %u\n", collider_count, + skele->collider_count ); + goto error_dealloc; + } + if( bone_count != skele->bone_count ) { vg_error( "Loaded %u bones out of %u\n", bone_count, skele->bone_count ); @@ -492,6 +516,7 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl ) v3_zero( skele->bones[0].co ); v3_copy( (v3f){0.0f,1.0f,0.0f}, skele->bones[0].end ); skele->bones[0].parent = 0xffffffff; + skele->bones[0].collider = 0; skele->final_mtx = malloc( sizeof(m4x3f) * skele->bone_count ); skele->anim_count = inf->anim_count; @@ -516,6 +541,7 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl ) skeleton_create_inverses( skele ); vg_success( "Loaded skeleton with %u bones\n", skele->bone_count ); + vg_success( " %u colliders\n", skele->collider_count ); return 1; error_dealloc: -- 2.25.1