(50c0271)
[carveJwlIkooP6JGAAIwe30JlM.git] / network_common.h
index da197d8d02ad993c0423e1d354cdd4d7cf7fa5a9..ca46e4784ad0584ccc390836efd40e06cefac79a 100644 (file)
@@ -1,16 +1,15 @@
-#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
@@ -28,4 +27,16 @@ static u32 network_msgstring( const char *src,
    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;
+}