save timing version in replay frame
[carveJwlIkooP6JGAAIwe30JlM.git] / player_remote.h
index 5ba0105277bacf456073da567a08c6b6b32be2f1..2d6200b365c6bbfcc39df8932df95f57ec457bef 100644 (file)
@@ -4,6 +4,7 @@
 #include "player.h"
 #include "network.h"
 #include "network_common.h"
+#include "player_effects.h"
 
 #define NETWORK_SFX_QUEUE_LENGTH 12
 
@@ -23,6 +24,8 @@ struct {
       char username[ NETWORK_USERNAME_MAX ];
       char items[k_netmsg_playeritem_max][ADDON_UID_MAX];
       char chat[ NETWORK_MAX_CHAT ];
+      char region[ NETWORK_REGION_MAX ];
+      u32 region_flags;
       f64 chat_time;
 
       /* ui */
@@ -31,6 +34,9 @@ struct {
 
       u32 down_bytes;
       f32 down_kbs;
+      
+      struct player_effects_data effect_data;
+      bool render_glider;
    }
    list[ NETWORK_MAX_PLAYERS ];
 
@@ -41,7 +47,7 @@ struct {
          f64 timestamp;
          enum player_subsystem subsystem;
 
-         u8 instance_id;
+         u8 flags;
          u16 boundary_hash;
 
          union interp_animdata {
@@ -53,6 +59,8 @@ struct {
             struct player_basic_info_animator __basic;
          } 
          data;
+
+         struct remote_glider_animator data_glider;
       }
       frames[ NETWORK_BUFFERFRAMES ];
 
@@ -62,7 +70,8 @@ struct {
 
    struct net_sfx sfx_queue[ NETWORK_SFX_QUEUE_LENGTH ];
 
-   m4x3f *final_mtx;
+   m4x3f *final_mtx,
+         *glider_mtx;
    struct player_board_pose board_poses[ NETWORK_MAX_PLAYERS ];
 
    u32 up_bytes;