#pragma once #include "object.h" #include "camera.h" struct PLAYER_INPUT { PLAYER_CAMERA cam; struct PLAYER* pobj; // for nulls U8 fwd_held{}, bk_held{}, left_held{}, right_held{}; VEC2 move; }; struct PLAYER : OBJECT { static const U32 CLASSID = OBJCLASS_PLAYER; U32 health; F32 fov{72.f}; F32 eyeoffset{40.f}; PLAYER_INPUT input; VEC3 mins; VEC3 maxs; VEC3 velocity; }; extern PLAYER* player_create( VEC3 origin, F32 yaw ); extern void player_input( struct GAME_DATA* game, PLAYER* player ); extern void player_move( struct GAME_DATA* game, PLAYER* player ); extern VEC3 player_get_view_pos( PLAYER* player );