X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_render.h;h=5a11bea841d77d47c2483b5c53c0995b1baa7bdd;hb=da1a0abc0c32b4283746949ba9a135a7d3c0b82c;hp=f6c8194373c0d0abfc8b44f7881babef9225fbfd;hpb=342fcbf6fda017bdd38d56ce0fa7c9e59e589f3b;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_render.h b/player_render.h index f6c8194..5a11bea 100644 --- a/player_render.h +++ b/player_render.h @@ -26,12 +26,6 @@ struct player_avatar id_board; }; -struct player_model -{ - glmesh mesh; - GLuint texture; -}; - enum eboard_truck{ k_board_truck_back = 0, k_board_truck_front = 1 @@ -44,10 +38,15 @@ enum eboard_wheel{ k_board_wheel_br = 3, }; -struct player_board -{ +/* TODO: Fully featured dynamic models + * This is FAR from the final system we want at all, but it will do for now */ +struct dynamic_model_1texture{ glmesh mesh; GLuint texture; +}; + +struct player_board{ + struct dynamic_model_1texture mdl; v4f wheel_positions[4], truck_positions[2], @@ -58,15 +57,34 @@ struct player_board board; }; +struct player_model{ + struct dynamic_model_1texture mdl; +}; + enum board_shader{ k_board_shader_player, k_board_shader_entity }; +VG_STATIC void dynamic_model_load( mdl_context *ctx, + struct dynamic_model_1texture *mdl, + const char *path ); +VG_STATIC void dynamic_model_unload( struct dynamic_model_1texture *mdl ); + VG_STATIC void player_board_load( struct player_board *mdl, const char *path ); VG_STATIC void player_board_unload( struct player_board *mdl ); + +VG_STATIC void player_model_load( struct player_model *board, const char *path); +VG_STATIC void player_model_unload( struct player_model *board ); + VG_STATIC void render_board( camera *cam, world_instance *world, struct player_board *board, m4x3f root, + struct player_board_pose *pose, enum board_shader shader ); +VG_STATIC void render_playermodel( camera *cam, world_instance *world, + int depth_compare, + struct player_model *model, + struct skeleton *skeleton ); + #endif /* PLAYER_RENDER_H */