username medals display
[carveJwlIkooP6JGAAIwe30JlM.git] / player_remote.h
index afef269aec7ee42eb1e18c7c154a43d2458d03cc..9ac3186b7eaf5c69d25a32cf5699e8c913bc3842 100644 (file)
@@ -5,20 +5,26 @@
 #include "network.h"
 #include "network_common.h"
 
+#define NETWORK_SFX_QUEUE_LENGTH 12
+
 struct {
    struct network_player {
-      int active;
+      int active, isfriend, isblocked;
+      u64 steamid;
       u16 board_view_slot, playermodel_view_slot;
       enum player_subsystem subsystem;
 
       /* this is set IF they exist in a world that we have loaded */
       world_instance *active_world;
-      int hub_match, client_match;
+      int world_match[ k_world_max ];
+      u32 location_pstr; /* TODO: valid if active_world set. */
 
       /* TODO: Compression with server code */
       char username[ NETWORK_USERNAME_MAX ];
       char items[k_netmsg_playeritem_max][ADDON_UID_MAX];
 
+      u32 medals[3];
+
       u32 down_bytes;
       f32 down_kbs;
    }
@@ -41,12 +47,14 @@ struct {
          } 
          data;
       }
-      frames[6];
+      frames[ NETWORK_BUFFERFRAMES ];
 
       f64 t;
    }
    interp_data[ NETWORK_MAX_PLAYERS ];
 
+   struct net_sfx sfx_queue[ NETWORK_SFX_QUEUE_LENGTH ];
+
    m4x3f *final_mtx;
    struct player_board_pose board_poses[ NETWORK_MAX_PLAYERS ];
 
@@ -62,5 +70,6 @@ static void remote_player_send_playerframe(void);
 static void animate_remote_player( u32 index );
 static void render_remote_players( world_instance *world, camera *cam );
 static void relink_all_remote_player_worlds(void);
+static void player_remote_update_friendflags( struct network_player *remote );
 
 #endif /* PLAYER_REMOTE_H */