static u8 steam_app_ticket[ 1024 ];
static u32 steam_app_ticket_length;
static int network_name_update = 1;
+static int network_scores_updated = 0;
static HSteamNetConnection cremote;
static ESteamNetworkingConnectionState cremote_state =
{
vg_info( "Sending scores\n" );
u32 size = sizeof(netmsg_set_score) +
- 1 * sizeof(struct netmsg_score_record);
-
+ vg_list_size(track_infos)*sizeof(struct netmsg_score_record);
netmsg_set_score *setscore = alloca( size );
setscore->inetmsg_id = k_inetmsg_set_score;
- setscore->record_count = 1;
- setscore->records[0].trackid = 0;
- setscore->records[0].playerid = 0;
- setscore->records[0].points = 1386;
- setscore->records[0].time = 19432;
+
+ 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, size,
+ hSteamNetworkingSockets, cremote, setscore, send_size,
k_nSteamNetworkingSend_Reliable, NULL );
}
nick.inetmsg_id = k_inetmsg_set_nickname;
memset( nick.nickname, 0, 10 );
- strcpy( nick.nickname, "real H" );
+ strcpy( nick.nickname, "Harry" );
SteamAPI_ISteamNetworkingSockets_SendMessageToConnection(
hSteamNetworkingSockets, cremote, &nick, sizeof(netmsg_set_nickname),
/* We dont need to stay on the server currently */
SteamAPI_ISteamNetworkingSockets_CloseConnection(
hSteamNetworkingSockets, cremote, 0, NULL, 1 );
+
+ network_scores_updated = 1;
}
static void poll_connection(void)
}
}
-#endif
+#else /* SR_NETWORKED */
+
+static void network_init(void){}
+static void network_update(void){}
+static void network_end(void){}
+
+#endif /* SR_NETWORKED */
#endif /* NETWORK_H */