revision to walk animation/system
[carveJwlIkooP6JGAAIwe30JlM.git] / gameserver.h
index fa856cee1785aed63b10e9112a84d411cd58dec2..07ba7a0d62d3df8e8cf20078517202e74fb485e9 100644 (file)
 #include "highscores.h"
 #include <sys/socket.h>
 
+#define CLIENT_KNOWLEDGE_SAME_WORLD0 0x1
+#define CLIENT_KNOWLEDGE_SAME_WORLD1 0x2
+#define CLIENT_KNOWLEDGE_FRIENDS     0x4 /* TODO? */
+
 struct {
    HSteamNetPollGroup client_group;
    EServerMode auth_mode;
@@ -23,13 +27,26 @@ struct {
       int authenticated;
       HSteamNetConnection connection;
       char username[ NETWORK_USERNAME_MAX ];
-      char items[k_netmsg_playeritem_max][ADDON_UID_MAX];
+
+      u8 instance;
+
+      struct gameserver_item {
+         char uid[ADDON_UID_MAX];
+         u32  hash;
+      }
+      items[k_netmsg_playeritem_max];
+
+      char region[ NETWORK_REGION_MAX ];
+      u32  region_flags;
+
       u64  steamid;
    }
    clients[ NETWORK_MAX_PLAYERS ];
 
+   u8 client_knowledge_mask[ (NETWORK_MAX_PLAYERS*(NETWORK_MAX_PLAYERS-1))/2 ];
    u8 app_symmetric_key[ k_nSteamEncryptedAppTicketSymmetricKeyLen ];
 
+   /* TODO: Consider removing this */
    int monitor_fd;
    int monitor_clients[ 4 ];
 }