1 #ifndef PLAYER_REMOTE_H
2 #define PLAYER_REMOTE_H
6 #include "network_common.h"
9 struct network_player
{
11 u16 board_view_slot
, playermodel_view_slot
;
12 enum player_subsystem subsystem
;
14 /* this is set IF they exist in a world that we have loaded */
15 world_instance
*active_world
;
16 int hub_match
, client_match
;
18 /* TODO: Compression with server code */
19 char username
[ NETWORK_USERNAME_MAX
];
20 char items
[k_netmsg_playeritem_max
][ADDON_UID_MAX
];
25 list
[ NETWORK_MAX_PLAYERS
];
27 struct interp_buffer
{
28 /* collect the most recent 6 frames of animation data */
32 enum player_subsystem subsystem
;
37 union interp_animdata
{
38 struct player_skate_animator _skate
;
39 struct player_walk_animator _walk
;
40 struct player_dead_animator _dead
;
48 interp_data
[ NETWORK_MAX_PLAYERS
];
51 struct player_board_pose board_poses
[ NETWORK_MAX_PLAYERS
];
55 f64 last_data_measurement
;
59 static void player_remote_rx_200_300( SteamNetworkingMessage_t
*msg
);
60 static void remote_player_debug_update(void);
61 static void remote_player_send_playerframe(void);
62 static void animate_remote_player( u32 index
);
63 static void render_remote_players( world_instance
*world
, camera
*cam
);
65 #endif /* PLAYER_REMOTE_H */