-PLAYER_API void player__render( camera *cam, player_instance *player )
-{
- shader_viewchar_use();
- vg_tex2d_bind( player->playertex, 0 );
- shader_viewchar_uTexMain( 0 );
- shader_viewchar_uCamera( cam->transform[3] );
- shader_viewchar_uPv( cam->mtx.pv );
- shader_link_standard_ub( _shader_viewchar.id, 2 );
- glUniformMatrix4x3fv( _uniform_viewchar_uTransforms,
- player->playeravatar->sk.bone_count,
- 0,
- (float *)player->playeravatar->sk.final_mtx );
-
- mesh_bind( player->playermesh );
- mesh_draw( player->playermesh );
+static void player__im_gui(void){
+ if( !k_player_debug_info ) return;
+
+ ui_rect box = {
+ vg.window_x - 300,
+ 0,
+ 300,
+ vg.window_y
+ };
+
+ ui_fill( box, (ui_colour(k_ui_bg)&0x00ffffff)|0x50000000 );
+
+ g_player_debugger[0] = box[0];
+ g_player_debugger[1] = 0;
+ g_player_debugger[2] = 300;
+ g_player_debugger[3] = 32;
+
+ player__debugtext( 2, "instance #%u", world_static.active_instance );
+
+ char buf_hub[96],
+ buf_client[96];
+ if( world_static.addon_client )
+ addon_alias_uid( &world_static.addon_client->alias, buf_client );
+ else
+ strcpy( buf_client, "none" );
+
+ if( world_static.addon_hub )
+ addon_alias_uid( &world_static.addon_hub->alias, buf_hub );
+ else
+ strcpy( buf_hub, "none" );
+
+ player__debugtext( 1, "hub uid: %s", buf_hub );
+ player__debugtext( 1, "client uid: %s", buf_client );
+ player__debugtext( 2, "director" );
+ player__debugtext( 1, "activity: %s",
+ (const char *[]){ [k_skaterift_menu] = "menu",
+ [k_skaterift_replay] = "replay",
+ [k_skaterift_ent_focus] = "ent_focus",
+ [k_skaterift_default] = "default",
+ [k_skaterift_respawning]= "respawning",
+ } [skaterift.activity] );
+ player__debugtext( 1, "time_rate: %.4f", skaterift.time_rate );
+
+ player__debugtext( 2, "player" );
+ player__debugtext( 1, "angles: " PRINTF_v3f( localplayer.cam.angles ) );
+ player__debugtext( 1, "basis: " PRINTF_v4f( localplayer.qbasis ) );
+
+ if( player_subsystems[ localplayer.subsystem ]->im_gui )
+ player_subsystems[ localplayer.subsystem ]->im_gui();
+
+ skaterift_replay_debug_info();