X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=network.c;h=3235c697e84ee7359a9d9a3bd4c739fdd082d2a6;hb=d680579754c876a74bf77ac74a224900ce0b3ff9;hp=8b34fb092a9668a820dc662e2d20846769af77e7;hpb=b1f5771eda7a9788b86604a4368eb83babdf486d;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/network.c b/network.c index 8b34fb0..3235c69 100644 --- a/network.c +++ b/network.c @@ -123,17 +123,6 @@ static void send_nickname(void){ } #endif -static void network_send_playerframe(void){ - netmsg_playerframe frame; - frame.inetmsg_id = k_inetmsg_playerframe; - v3_copy( localplayer.rb.co, frame.pos_temp ); - - SteamAPI_ISteamNetworkingSockets_SendMessageToConnection( - hSteamNetworkingSockets, network_client.remote, - &frame, sizeof(frame), - k_nSteamNetworkingSend_Unreliable, NULL ); -} - #if 0 static void server_routine_update(void){ send_score_update(); @@ -157,6 +146,16 @@ static void network_send_username(void){ k_nSteamNetworkingSend_Reliable, NULL ); } +static void network_disconnect(void){ + SteamAPI_ISteamNetworkingSockets_CloseConnection( + hSteamNetworkingSockets, network_client.remote, 0, NULL, 0 ); + network_client.remote = 0; + + for( int i=0; im_pubParam; vg_info( " Connection status changed for %lu\n", info->m_hConn ); @@ -193,16 +192,11 @@ static void on_server_connect_status( CallbackMsg_t *msg ){ k_ESteamNetConnectionEnd_Remote_Max ){ network_client.retries = 40; } - - SteamAPI_ISteamNetworkingSockets_CloseConnection( - hSteamNetworkingSockets, info->m_hConn, 0, NULL, 0 ); - network_client.remote = 0; + network_disconnect(); } else if( info->m_info.m_eState == k_ESteamNetworkingConnectionState_ProblemDetectedLocally ){ - SteamAPI_ISteamNetworkingSockets_CloseConnection( - hSteamNetworkingSockets, info->m_hConn, 0, NULL, 0 ); - network_client.remote = 0; + network_disconnect(); } } else{ @@ -215,8 +209,12 @@ static void on_persona_state_change( CallbackMsg_t *msg ){ PersonaStateChange_t *info = (void *)msg->m_pubParam; ISteamUser *hSteamUser = SteamAPI_SteamUser(); + + 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_EPersonaChangeNickname ){ + if( info->m_nChangeFlags & k_EPersonaChangeName ){ network_send_username(); } } @@ -233,6 +231,8 @@ static void network_connect(void){ const char *server_lon1 = "46.101.34.155:27402"; SteamAPI_SteamNetworkingIPAddr_ParseString( &remoteAddr, server_lon1 ); #endif + const char *server_lan = "192.168.1.32:27402"; + SteamAPI_SteamNetworkingIPAddr_ParseString( &remoteAddr, server_lan ); char buf[256]; SteamAPI_SteamNetworkingIPAddr_ToString( &remoteAddr, buf, 256, 1 ); @@ -319,8 +319,10 @@ static void network_update(void){ if( frame_delta > 0.1 ){ network_client.last_frame = vg.time_real; - network_send_playerframe(); + remote_player_send_playerframe(); } + + remote_player_debug_update(); } else { if( (state == k_ESteamNetworkingConnectionState_Connecting) ||