- int client_id = gameserver_client_index( msg->m_conn );
- if( client_id != -1 ){
- struct gameserver_client *client = &gameserver.clients[ client_id ];
- netmsg_playerusername *src = msg->m_pData;
-
- vg_strncpy( src->username, client->username, sizeof(client->username),
- k_strncpy_always_add_null );
-
- /* update other users about this change */
- netmsg_playerusername msg;
- memset( &msg, 0, sizeof(msg) );
- msg.inetmsg_id = k_inetmsg_playerusername;
- msg.index = client_id;
- vg_strncpy( client->username, msg.username, sizeof(msg.username),
- k_strncpy_always_add_null );
-
- gameserver_send_to_all( client_id, &msg, sizeof(msg),
- k_nSteamNetworkingSend_Reliable );
- }
+ struct gameserver_client *client = &gameserver.clients[ client_id ];
+ netmsg_playerusername *src = msg->m_pData;
+
+ vg_info( "%d change name '%s' -> '%s'\n",
+ client_id, client->username, src->username );
+
+ vg_strncpy( src->username, client->username, sizeof(client->username),
+ k_strncpy_always_add_null );
+
+ /* update other users about this change */
+ netmsg_playerusername msg;
+ memset( &msg, 0, sizeof(msg) );
+ msg.inetmsg_id = k_inetmsg_playerusername;
+ msg.index = client_id;
+ vg_strncpy( client->username, msg.username, sizeof(msg.username),
+ k_strncpy_always_add_null );
+
+ gameserver_send_to_all( client_id, &msg, sizeof(msg),
+ k_nSteamNetworkingSend_Reliable );
+ }
+ else if( tmp->inetmsg_id == k_inetmsg_playerframe ){
+ /* propogate */
+
+ netmsg_playerframe *frame = alloca(msg->m_cbSize);
+ memcpy( frame, msg->m_pData, msg->m_cbSize );
+ frame->client = client_id;
+ gameserver_send_to_all( client_id, frame, msg->m_cbSize,
+ k_nSteamNetworkingSend_Unreliable );