X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=character.h;h=bc2ccb5a52c3f8c2d29d7f48de61f19ceb674f59;hb=afa80c76d03f5e983092e9d7be33a9102a7ab25e;hp=f86830a7838964f79726733e03e29a2eefa64aed;hpb=1f1d636056450dcd23cce55c0795ec6276272531;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/character.h b/character.h index f86830a..bc2ccb5 100644 --- a/character.h +++ b/character.h @@ -1,16 +1,25 @@ #ifndef CHARACTER_H #define CHARACTER_H -/* TODO: -> Common.h */ -#define VG_3D -#include "vg/vg.h" - +#include "common.h" #include "model.h" #include "scene.h" #include "ik.h" #include "rigidbody.h" #include "shaders/character.h" +vg_tex2d tex_pallet = { .path = "textures/ch_gradient.qoi" }; + +static void character_register(void) +{ + shader_character_register(); +} + +static void character_init(void) +{ + vg_tex2d_init( (vg_tex2d *[]){ &tex_pallet }, 1 ); +} + #define FOREACH_PART(FN) \ FN( foot_l ) \ FN( foot_r ) \ @@ -39,6 +48,7 @@ #define ADD_ONE(_) +1 #define PART_COUNT FOREACH_PART(ADD_ONE) + enum character_part { FOREACH_PART( MAKE_ENUM ) @@ -503,8 +513,9 @@ static void character_testpose( struct character *ch, float t ) static void character_draw( struct character *ch, float temp ) { shader_character_use(); - shader_character_uPv( vg_pv ); + + vg_tex2d_bind( &tex_pallet, 0 ); shader_character_uTexMain( 0 ); shader_character_uOpacity( temp ); @@ -536,12 +547,6 @@ static void character_draw( struct character *ch, float temp ) } } -static void character_register(void) -{ - shader_character_register(); -} - - /* * Ragdoll Stuff */ @@ -823,12 +828,10 @@ static void character_debug_ragdoll( struct character *ch ) rb_debug( &ch->ragdoll[k_chpart_foot_r], 0xff00a5ff ); } -static void character_ragdoll_iter( struct character *ch, scene *sc ) +static void character_ragdoll_iter( struct character *ch ) { for( int i=0; iragdoll[i], sc ); - } + rb_build_manifold( &ch->ragdoll[i] ); v3f rv;