X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_remote.h;h=fe72e603f7228741db1008b5673757f899730866;hb=b35ac7383d4aba1d0b8a74be7bf1695996ff57f4;hp=3c795b24c08b01d76529632a0661c5f79645f3c5;hpb=074fa69f479724f9800849430bad5caf730b01ef;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_remote.h b/player_remote.h index 3c795b2..fe72e60 100644 --- a/player_remote.h +++ b/player_remote.h @@ -5,15 +5,19 @@ #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 ]; @@ -41,12 +45,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 ]; @@ -61,5 +67,7 @@ static void remote_player_debug_update(void); 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 */