#include <signal.h>
#include <unistd.h>
#include <time.h>
+#include <string.h>
volatile sig_atomic_t sig_stop;
#include "gameserver.h"
-#include "highscores.c"
#include "vg/vg_opt.h"
#include "network_common.h"
#include "gameserver_db.h"
basic->sound_effects = 0;
struct gameserver_client *c0 = &gameserver.clients[client_id];
- c0->instance = frame->instance_id;
+ c0->instance = frame->flags & NETMSG_PLAYERFRAME_INSTANCE_ID;
for( int i=0; i<vg_list_size(gameserver.clients); i++ ){
if( i == client_id )
continue;
vg_msg_frame( msg, "" );
- vg_msg_wkvu32( msg, "time", time );
- vg_msg_wkvu64( msg, "steamid", steamid );
+ vg_msg_wkvnum( msg, "time", k_vg_msg_u32, 1, &time );
+ vg_msg_wkvnum( msg, "steamid", k_vg_msg_u64, 1, &steamid );
char username[32];
if( db_getuserinfo( steamid, username, sizeof(username), NULL ) )
if( !strcmp( endpoint, "scoreboard" ) ){
const char *mod = vg_msg_getkvstr( &data, "mod" );
const char *route = vg_msg_getkvstr( &data, "route" );
- u32 week = vg_msg_getkvu32( &data, "week", 0 );
+ u32 week;
+ vg_msg_getkvintg( &data, "week", k_vg_msg_u32, &week, NULL );
if( week == NETWORK_LEADERBOARD_CURRENT_WEEK ){
gameserver_cat_table( &body, mod, route,
return;
}
- i32 centiseconds = vg_msg_getkvi32( &data, "time", -1 );
+ i32 centiseconds;
+ vg_msg_getkvintg( &data, "time", k_vg_msg_i32, ¢iseconds, NULL );
if( centiseconds < 5*100 ){
gameserver_request_respond( k_request_status_client_error,
res, NULL, msg );
db_writeusertime( alltime_table, client->steamid, centiseconds, 1 );
db_writeusertime( weekly_table, client->steamid, centiseconds, 1 );
-
gameserver_request_respond( k_request_status_ok, res, NULL, msg );
}
else{