interp test 1
[carveJwlIkooP6JGAAIwe30JlM.git] / player_remote.h
1 #ifndef PLAYER_REMOTE_H
2 #define PLAYER_REMOTE_H
3
4 #include "player.h"
5 #include "network.h"
6
7 struct {
8 struct network_player {
9 int active;
10 u16 board_view_slot, playermodel_view_slot;
11 enum player_subsystem subsystem;
12
13 char username[32];
14 u32 down_bytes;
15 f32 down_kbs;
16 }
17 list[32];
18
19 struct interp_buffer {
20 /* collect the most recent 6 frames of animation data */
21 struct interp_frame {
22 int active;
23 f64 timestamp;
24 enum player_subsystem subsystem;
25
26 union interp_animdata {
27 struct player_skate_animator _skate;
28 struct player_walk_animator _walk;
29 struct player_dead_animator _dead;
30 }
31 data;
32 }
33 frames[6];
34
35 f64 t;
36 }
37 interp_data[32];
38
39 m4x3f *final_mtx;
40
41 u32 up_bytes;
42 f32 up_kbs, down_kbs;
43 f64 last_data_measurement;
44 }
45 static netplayers;
46
47 static void player_remote_rx_200_300( SteamNetworkingMessage_t *msg );
48 static void remote_player_debug_update(void);
49 static void remote_player_send_playerframe(void);
50 static void animate_remote_player( u32 index );
51
52 #endif /* PLAYER_REMOTE_H */