gameserver optimisations
[carveJwlIkooP6JGAAIwe30JlM.git] / network_common.h
index b3abade7705e2573e04b7d48313b5a5866218482..7b6f81d22b8cffb2b9c7b82df493b929eaa5282a 100644 (file)
@@ -29,4 +29,14 @@ static u32 network_msgstring( const char *src,
    return vg_strncpy( src, buf, string_len, k_strncpy_always_add_null );
 }
 
+static u32 network_pair_index( u32 _a, u32 _b ){
+   const u32 N = NETWORK_MAX_PLAYERS;
+   assert( (_a != _b) && (_a<N) && (_b<N) );
+
+   u32 a = VG_MIN( _a, _b ),
+       b = VG_MAX( _a, _b );
+
+   return ((N-a)*((N-a)-1))/2 - b + a;
+}
+
 #endif /* NETWORK_COMMON_H */