-#ifndef NETWORK_COMMON_H
-#define NETWORK_COMMON_H
-
-#include "vg/vg_stdint.h"
+#pragma once
#include "vg/vg_platform.h"
+#include "vg/vg_string.h"
#define NETWORK_USERNAME_MAX 32
#define NETWORK_MAX_PLAYERS 20
#define NETWORK_FRAMERATE 0.1
#define NETWORK_BUFFERFRAMES 6
-#define NETWORK_LEADERBOARD_MAX_SIZE 1024
#define NETWORK_MAX_CHAT 128
-#define NETWORK_SKATERIFT_VERSION 8
+#define NETWORK_REGION_MAX 32
+#define NETWORK_SKATERIFT_VERSION 10
+#define NETWORK_REQUEST_MAX 2048
#define NETWORK_LEADERBOARD_ALLTIME 0
#define NETWORK_LEADERBOARD_CURRENT_WEEK 1
return vg_strncpy( src, buf, string_len, k_strncpy_always_add_null );
}
-#endif /* NETWORK_COMMON_H */
+static u32 network_pair_index( u32 _a, u32 _b ){
+ const u32 N = NETWORK_MAX_PLAYERS;
+
+ if( !((_a != _b) && (_a<N) && (_b<N) ) )
+ {
+ vg_fatal_error( "Programming error\n" );
+ }
+
+ u32 a = VG_MIN( _a, _b ),
+ b = VG_MAX( _a, _b );
+
+ return ((N-a)*((N-a)-1))/2 - b + a;
+}