}
}
-static void remote_player_network_imgui(void){
+static void remote_player_network_imgui( m4x4f pv ){
if( !network_client.network_info )
return;
snprintf( buf, 512, "#%u: %s [%s] D%.1fkbs",
i, player->username, sysname, player->down_kbs );
ui_info( panel, buf );
+
+ v4f wpos = { 0.0f, 2.0f, 0.0f, 1.0f };
+ m4x3_mulv( netplayers.final_mtx[0], wpos, wpos );
+ m4x4_mulv( pv, wpos, wpos );
+
+ if( wpos[3] > 0.0f ){
+ v2_muls( wpos, (1.0f/wpos[3]) * 0.5f, wpos );
+ v2_add( wpos, (v2f){ 0.5f, 0.5f }, wpos );
+
+ ui_rect wr;
+ wr[0] = vg_clampf(wpos[0] * vg.window_x, -32000.0f,32000.0f);
+ wr[1] = vg_clampf((1.0f-wpos[1]) * vg.window_y,
+ -32000.0f,32000.0f);
+ wr[2] = 300;
+ wr[3] = 17;
+ ui_fill( wr, (ui_colour(k_ui_bg)&0x00ffffff)|0x50000000 );
+ ui_text( wr, buf, 1, k_ui_align_middle_center, 0 );
+ }
}
}
}