#define _DEFAULT_SOURCE
#include <unistd.h>
#include <signal.h>
+#include <time.h>
volatile sig_atomic_t sig_stop;
-void inthandler( int signum )
-{
+static void inthandler( int signum ) {
sig_stop = 1;
}
#include "network_msg.h"
#include "highscores.h"
+/* implementation */
+#include "highscores.c"
+
static const u64 k_connection_unauthorized = 0xffffffffffffffff;
static void *hSteamHTTP,
static u8 steam_symetric_key[ k_nSteamEncryptedAppTicketSymmetricKeyLen ];
static HSteamNetPollGroup client_pollgroup;
+#if 0
static void recieve_http( void *callresult, void *context )
{
HTTPRequestCompleted_t *result = callresult;
vg_free( buffer );
SteamAPI_ISteamHTTP_ReleaseHTTPRequest( hSteamHTTP, result->m_hRequest );
}
+#endif
static u64_steamid get_connection_authsteamid( SteamNetworkingMessage_t *msg )
{
SteamNetworkingMessage_t *messages[32];
int len;
- while(1)
- {
+ while(1){
len = SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnPollGroup(
hSteamNetworkingSockets,
client_pollgroup, messages, vg_list_size(messages) );
if( len <= 0 )
return;
- for( int i=0; i<len; i++ )
- {
+ for( int i=0; i<len; i++ ){
SteamNetworkingMessage_t *msg = messages[i];
- if( msg->m_cbSize < sizeof(netmsg_blank) )
- {
+ if( msg->m_cbSize < sizeof(netmsg_blank) ){
vg_warn( "Discarding message (too small: %d)\n",
msg->m_cbSize );
continue;
on_inet_set_nickname( msg );
else if( tmp->inetmsg_id == k_inetmsg_set_score )
on_inet_set_score( msg );
+ else {
+ vg_warn( "Unknown inetmsg_id recieved from client. (%u)\n",
+ tmp->inetmsg_id );
+ }
SteamAPI_SteamNetworkingMessage_t_Release( msg );
}
{
FILE *fp = fopen( "www/html/srhighscores.txt", "w" );
- for( int i=0; i<vg_list_size(track_infos); i++ )
- {
+ for( int i=0; i<vg_list_size(track_infos); i++ ){
struct netmsg_board *board = &scoreboard_client_data.boards[i];
highscores_board_generate( board->data, i, 10 );
/* TODO: Options to override, ammend, remove etc */
+ vg_set_mem_quota( 80*1024*1024 );
+ vg_alloc_quota();
+
highscores_init( 250000, 10000 );
+
if( !highscores_read() )
highscores_create_db();
client_pollgroup = SteamAPI_ISteamNetworkingSockets_CreatePollGroup(
hSteamNetworkingSockets );
-#if 0
- HTTPRequestHandle test_req = SteamAPI_ISteamHTTP_CreateHTTPRequest(
- hSteamHTTP, k_EHTTPMethodGET,
- "https://www.harrygodden.com/hello.txt" );
-
- steam_async *call1 = steam_new_async();
- call1->data = NULL;
- call1->p_handler = recieve_http;
- SteamAPI_ISteamHTTP_SendHTTPRequest( hSteamHTTP, test_req, &call1->id );
-#endif
-
u64 server_ticks = 8000,
last_record_save = 8000,
last_scoreboard_gen = 0;
}
highscores_serialize_all();
- highscores_free();
SteamAPI_ISteamNetworkingSockets_DestroyPollGroup( hSteamNetworkingSockets,
client_pollgroup );