active ragdolls
[carveJwlIkooP6JGAAIwe30JlM.git] / player_api.h
index ad9e4ca496a0043ed229ebd2b1678fc33fa76c4e..b3b6907c047b165e372baabcb7e9c495a1fd990c 100644 (file)
@@ -5,16 +5,26 @@
 #include "camera.h"
 #include "entity.h"
 
-#define PLAYER_API VG_STATIC
+#define PLAYER_API static
 typedef struct player_instance player_instance;
-typedef mdl_keyframe player_pose[32];
-typedef struct player_animation player_animation;
+typedef struct player_pose player_pose;
 
-struct player_animation
-{
-   player_pose pose;
-   v3f         root_co;
-   v4f         root_q;
+struct player_pose{
+   enum player_pose_type {
+      k_player_pose_type_ik,      /* regular IK animation */
+      k_player_pose_type_fk_2,
+   }
+   type;
+
+   v3f root_co;
+   v4f root_q;
+
+   mdl_keyframe keyframes[32];
+
+   struct player_board_pose {
+      f32 lean;
+   }
+   board;
 };
 
 #endif /* PLAYER_API_H */