+ u32 size = sizeof(netmsg_auth) + steam_app_ticket_length;
+ netmsg_auth *auth = alloca(size);
+
+ auth->inetmsg_id = k_inetmsg_auth;
+ auth->ticket_length = steam_app_ticket_length;
+ for( int i=0; i<steam_app_ticket_length; i++ )
+ auth->ticket[i] = steam_app_ticket[i];
+
+ SteamAPI_ISteamNetworkingSockets_SendMessageToConnection(
+ hSteamNetworkingSockets, cremote, auth, size,
+ k_nSteamNetworkingSend_Reliable, NULL );
+}
+
+static void send_score_request(void)
+{
+ vg_info( "Requesting scores\n" );
+ netmsg_scores_request req;
+ req.inetmsg_id = k_inetmsg_scores_request;
+
+ SteamAPI_ISteamNetworkingSockets_SendMessageToConnection(
+ hSteamNetworkingSockets, cremote, &req, sizeof(netmsg_scores_request),
+ k_nSteamNetworkingSend_Reliable, NULL );
+}
+
+static void send_score_update(void)
+{
+ vg_info( "Sending scores\n" );
+ u32 size = sizeof(netmsg_set_score) +
+ vg_list_size(track_infos)*sizeof(struct netmsg_score_record);
+ netmsg_set_score *setscore = alloca( size );
+ setscore->inetmsg_id = k_inetmsg_set_score;
+
+ int count = 0;
+ for( u32 i=0; i<vg_list_size(track_infos); i++ )
+ {
+ if( track_infos[i].push )
+ {
+ track_infos[i].push = 0;
+ highscore_record *user_record = highscore_find_user_record( 0, i );
+
+ if( !user_record )
+ {
+ vg_error( "No score set but tried to upload for track %u\n", i );
+ continue;
+ }
+
+ setscore->records[count].trackid = i;
+ setscore->records[count].playerid = 0;
+ setscore->records[count].points = user_record->points;
+ setscore->records[count].time = user_record->time;
+
+ count ++;
+ }
+ }
+
+ if( count == 0 )
+ return;
+
+ u32 send_size = sizeof(netmsg_set_score) +
+ count*sizeof(struct netmsg_score_record);
+ setscore->record_count = count;
+
+ SteamAPI_ISteamNetworkingSockets_SendMessageToConnection(
+ hSteamNetworkingSockets, cremote, setscore, send_size,
+ k_nSteamNetworkingSend_Reliable, NULL );
+}
+
+static void send_nickname(void)
+{
+ netmsg_set_nickname nick;
+ nick.inetmsg_id = k_inetmsg_set_nickname;
+
+ memset( nick.nickname, 0, 10 );
+ strcpy( nick.nickname, "Harry" );