show playernames in debug view
[carveJwlIkooP6JGAAIwe30JlM.git] / player_remote.c
index da0ee296e7e431d20a33dc578ed63c5895f6e5ac..71d12d1aa2e0f09967e96240089a08776e7726e8 100644 (file)
@@ -31,7 +31,8 @@ static void player_remote_rx_200_300( SteamNetworkingMessage_t *msg ){
          vg_strncpy( playerjoin->username, player->username, 
                      sizeof(player->username), k_strncpy_always_add_null );
 
-         vg_info( "#%u joined with name: %s\n", player->username );
+         vg_info( "#%u joined with name: %s\n", 
+                  playerjoin->index, player->username );
       }
       else {
          vg_error( "inetmsg_playerjoin: player index out of range\n" );
@@ -135,7 +136,7 @@ static void remote_player_debug_update(void){
    }
 }
 
-static void remote_player_network_imgui(void){
+static void remote_player_network_imgui( m4x4f pv ){
    if( !network_client.network_info ) 
       return;
 
@@ -191,6 +192,24 @@ static void remote_player_network_imgui(void){
             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 );
+            }
          }
       }
    }