small compression
[carveJwlIkooP6JGAAIwe30JlM.git] / network.c
index da0be1e392e07fc65f7df722041a4c913e2af1a9..786250605d56d0d78e378c32bbf62c5fd98c950f 100644 (file)
--- a/network.c
+++ b/network.c
@@ -137,7 +137,7 @@ static void network_scoreboard_callback( netmsg_request *res, vg_msg *body,
 static void network_request_scoreboard( const char *mod_uid, 
                                         const char *route_uid,
                                         u32 week, u64 userdata ){
-   if( !network_client.remote )
+   if( !network_connected() ) 
       return;
 
    netmsg_request *req = alloca( sizeof(netmsg_request) + 512 );
@@ -161,7 +161,7 @@ static void network_publish_callback( netmsg_request *res, vg_msg *body,
 
 static void network_publish_laptime( const char *mod_uid, 
                                      const char *route_uid, f64 lap_time ){
-   if( !network_client.remote )
+   if( !network_connected() )
       return;
 
    i32 time_centiseconds = lap_time * 100.0;
@@ -210,7 +210,7 @@ static void network_request_rx_300_400( SteamNetworkingMessage_t *msg ){
 }
 
 static void network_send_item( enum netmsg_playeritem_type type ){
-   if( !network_client.remote )
+   if( !network_connected() )
       return;
 
    netmsg_playeritem *item = 
@@ -326,27 +326,35 @@ static void on_server_connect_status( CallbackMsg_t *msg ){
 }
 
 static void on_persona_state_change( CallbackMsg_t *msg ){
-   if( network_client.remote ){
-      PersonaStateChange_t *info = (void *)msg->m_pubParam;
+   if( !network_connected() )
+      return;
 
-      ISteamUser *hSteamUser = SteamAPI_SteamUser();
-   
-      vg_info( "User: %llu, change: %u\n", info->m_ulSteamID, 
-                                           info->m_nChangeFlags );
+   PersonaStateChange_t *info = (void *)msg->m_pubParam;
+   ISteamUser *hSteamUser = SteamAPI_SteamUser();
 
-      if( info->m_ulSteamID == SteamAPI_ISteamUser_GetSteamID(hSteamUser) ){
-         if( info->m_nChangeFlags & k_EPersonaChangeName ){
-            network_send_username();
-         }
+   vg_info( "User: %llu, change: %u\n", info->m_ulSteamID, 
+                                        info->m_nChangeFlags );
+
+   if( info->m_ulSteamID == SteamAPI_ISteamUser_GetSteamID(hSteamUser) ){
+      if( info->m_nChangeFlags & k_EPersonaChangeName ){
+         network_send_username();
       }
    }
 }
 
 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 );