X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_interface.h;h=acd9e1e9082daace25308df87a95cfa0a8076159;hb=f82c365a9144c3e5e57df88cb57ef273e9e9d47b;hp=54173455e9be62569a9b68cb23037761a41bc2ae;hpb=68f26d6267708e76af28e7790c708948a90379b3;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_interface.h b/player_interface.h index 5417345..acd9e1e 100644 --- a/player_interface.h +++ b/player_interface.h @@ -153,6 +153,8 @@ VG_STATIC void player_use_mesh( player_interface *player, glmesh *mesh ) player->playermesh = mesh; } +/* FIXME: Seperate concepts for binding and equip. + */ VG_STATIC void player_use_device( player_interface *player, player_device *dev, void *storage ) { @@ -241,16 +243,23 @@ VG_STATIC void player_pre_render( player_interface *player ) player_pose pose; m4x3f transform; - player->dev.device->pose( player, &player->dev, pose, transform ); + /* FIXME: Give devices more control over these render stages, and have + * 'API calls' + * for this kindof crap instead of it dictating order... */ + + if( player->dev.device->pose ) + { + player->dev.device->pose( player, &player->dev, pose, transform ); - struct skeleton *sk = &player->playeravatar->sk; + struct skeleton *sk = &player->playeravatar->sk; - skeleton_apply_pose( sk, pose, k_anim_apply_defer_ik ); - skeleton_apply_ik_pass( sk ); - skeleton_apply_pose( sk, pose, k_anim_apply_deffered_only ); - skeleton_apply_inverses( sk ); - skeleton_apply_transform( sk, transform ); - skeleton_debug( sk ); + skeleton_apply_pose( sk, pose, k_anim_apply_defer_ik ); + skeleton_apply_ik_pass( sk ); + skeleton_apply_pose( sk, pose, k_anim_apply_deffered_only ); + skeleton_apply_inverses( sk ); + skeleton_apply_transform( sk, transform ); + skeleton_debug( sk ); + } player->dev.device->get_camera( player, &player->dev, &player->cam ); /* TODO: if dead copy ragdoll.. . */ @@ -321,6 +330,11 @@ VG_STATIC void player_spawn( player_interface *player, player->dev.device->reset( player, &player->dev, rp ); } +VG_STATIC void player_kill( player_interface *player ) +{ + +} + /* * Apply per render-frame mouse look from player to angles */