update helpers/location to 'frosted' ui
[carveJwlIkooP6JGAAIwe30JlM.git] / network_common.h
index 59d08bdf348025f054e46f6db9b9c2e7d7266f32..ca46e4784ad0584ccc390836efd40e06cefac79a 100644 (file)
@@ -1,10 +1,21 @@
-#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_MAX_CHAT 128
+#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
+#define NETWORK_LEADERBOARD_ALLTIME_AND_CURRENT_WEEK 2
+#define NETWORK_PORT 27403
+#define NETWORK_PORT_STR(STR, X) STR #X
 
 #include "addon_types.h"
 
@@ -16,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;
+}