X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_api.h;h=68f5aca348d6ebd5c676b22d3ecde082705bbe42;hb=HEAD;hp=ad9e4ca496a0043ed229ebd2b1678fc33fa76c4e;hpb=1b522daa02f28128498b04def4d60b63e590d1f3;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_api.h b/player_api.h index ad9e4ca..68f5aca 100644 --- a/player_api.h +++ b/player_api.h @@ -1,20 +1,35 @@ -#ifndef PLAYER_API_H -#define PLAYER_API_H - +#pragma once #include "model.h" #include "camera.h" -#include "entity.h" -#define PLAYER_API VG_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_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; -struct player_animation -{ - player_pose pose; - v3f root_co; - v4f root_q; + mdl_keyframe keyframes[32]; + + struct player_board_pose { + f32 lean; + } + board; }; -#endif /* PLAYER_API_H */ +enum player_subsystem{ + k_player_subsystem_walk = 0, + k_player_subsystem_skate = 1, + k_player_subsystem_dead = 2, + k_player_subsystem_drive = 3, + k_player_subsystem_basic_info = 4, + k_player_subsystem_glide = 5, + k_player_subsystem_max, + k_player_subsystem_invalid = 255 +};