better nametag
[carveJwlIkooP6JGAAIwe30JlM.git] / network.c
index de3d545855518b44844f6cf3c7fd9f1cd24a5fe0..9bf240046db3c20d02ba3c44669a32223286ae31 100644 (file)
--- a/network.c
+++ b/network.c
@@ -340,13 +340,30 @@ static void on_persona_state_change( CallbackMsg_t *msg ){
          network_send_username();
       }
    }
+
+   if( info->m_nChangeFlags & k_EPersonaChangeRelationshipChanged ){
+      for( u32 i=0; i<NETWORK_MAX_PLAYERS; i ++ ){
+         struct network_player *rp = &netplayers.list[i];
+         if( rp->steamid == info->m_ulSteamID ){
+            player_remote_update_friendflags( rp );
+         }
+      }
+   }
 }
 
 static void network_connect(void){
+   char ip_buf[128];
+   vg_str str;
+   vg_strnull( &str, ip_buf, sizeof(ip_buf) );
+   vg_strcat( &str, network_client.server_adress );
+   vg_strcat( &str, ":" );
+   vg_strcati32( &str, NETWORK_PORT );
+
+   if( !vg_strgood(&str) ) return;
+
    /* Connect to server if not connected */
    SteamNetworkingIPAddr remoteAddr;
-   SteamAPI_SteamNetworkingIPAddr_ParseString( &remoteAddr, 
-                                               network_client.server_adress );
+   SteamAPI_SteamNetworkingIPAddr_ParseString( &remoteAddr, str.buffer );
 
    char buf[256];
    SteamAPI_SteamNetworkingIPAddr_ToString( &remoteAddr, buf, 256, 1 );