9 #include "shaders/viewchar.h"
11 vg_tex2d tex_characters
= { .path
= "textures/ch_gradient.qoi" };
13 static void character_register(void)
15 shader_viewchar_register();
18 static void character_init(void)
20 vg_tex2d_init( (vg_tex2d
*[]){ &tex_characters
}, 1 );
27 struct skeleton_anim
*anim_stand
,
31 *anim_push
, *anim_push_reverse
;
45 static int character_load( struct character
*ch
, const char *name
)
49 snprintf( buf
, sizeof(buf
)-1, "models/%s.mdl", name
);
50 mdl_header
*src
= mdl_load( buf
);
56 mdl_unpack_glmesh( src
, &ch
->mesh
);
59 vg_success( "Loaded character file '%s' with no errors\n", name
);
61 skeleton_setup( &ch
->sk
, src
);
62 ch
->anim_stand
= skeleton_get_anim( &ch
->sk
, "pose_stand" );
63 ch
->anim_highg
= skeleton_get_anim( &ch
->sk
, "pose_highg" );
64 ch
->anim_slide
= skeleton_get_anim( &ch
->sk
, "pose_slide" );
65 ch
->anim_air
= skeleton_get_anim( &ch
->sk
, "pose_air" );
66 ch
->anim_push
= skeleton_get_anim( &ch
->sk
, "push" );
67 ch
->anim_push_reverse
= skeleton_get_anim( &ch
->sk
, "push_reverse" );
69 ch
->id_hip
= skeleton_bone_id( &ch
->sk
, "hips" );
70 ch
->id_ik_hand_l
= skeleton_bone_id( &ch
->sk
, "hand.IK.L" );
71 ch
->id_ik_hand_r
= skeleton_bone_id( &ch
->sk
, "hand.IK.R" );
72 ch
->id_ik_elbow_l
= skeleton_bone_id( &ch
->sk
, "elbow.L" );
73 ch
->id_ik_elbow_r
= skeleton_bone_id( &ch
->sk
, "elbow.R" );
74 ch
->id_head
= skeleton_bone_id( &ch
->sk
, "head" );
80 static void character_eval( struct character
*ch
){}
81 static void character_draw( struct character
*ch
, float temp
, m4x3f camera
){}
82 static void character_init_ragdoll_joints( struct character
*ch
){}
83 static void character_init_ragdoll( struct character
*ch
){}
84 static void character_ragdoll_go( struct character
*ch
, v3f pos
){}
85 static void character_ragdoll_copypose( struct character
*ch
, v3f v
){}
86 static void character_debug_ragdoll( struct character
*ch
){}
87 static void character_ragdoll_iter( struct character
*ch
){}