X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_render.h;h=44f26e14dee7f18bb6304f4bc94906516e4c38d1;hb=333430b27b5f9f73cbe9ad7921a4735aaff444f1;hp=a31f19a86fe128f4c4c48952c3389ff75a2fbd5c;hpb=fdd41609e59c7df548682b25001f0015dc1acbea;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_render.h b/player_render.h index a31f19a..44f26e1 100644 --- a/player_render.h +++ b/player_render.h @@ -38,11 +38,15 @@ enum eboard_wheel{ k_board_wheel_br = 3, }; -struct player_board{ - mdl_context model; - +/* 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], @@ -54,8 +58,7 @@ struct player_board{ }; struct player_model{ - glmesh mesh; - GLuint texture; + struct dynamic_model_1texture mdl; }; enum board_shader{ @@ -63,10 +66,26 @@ enum board_shader{ k_board_shader_entity }; -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 render_board( camera *cam, world_instance *world, +static void dynamic_model_load( mdl_context *ctx, + struct dynamic_model_1texture *mdl, + const char *path ); +static void dynamic_model_unload( struct dynamic_model_1texture *mdl ); + +static void player_board_load( struct player_board *mdl, const char *path ); +static void player_board_unload( struct player_board *mdl ); + +static void player_model_load( struct player_model *board, const char *path); +static void player_model_unload( struct player_model *board ); + +static void render_board( camera *cam, world_instance *world, struct player_board *board, m4x3f root, + struct player_board_pose *pose, enum board_shader shader ); +static void render_playermodel( camera *cam, world_instance *world, + int depth_compare, + struct player_model *model, + struct skeleton *skeleton, + m4x3f *final_mtx ); + #endif /* PLAYER_RENDER_H */