stop air sound while paused
[carveJwlIkooP6JGAAIwe30JlM.git] / player_remote.h
index 4df9c32c6298b9b5ee75da4407c012531f8343c6..265409c873933cca4a665002c1bd773a1a44f4bd 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
 
@@ -17,13 +18,24 @@ struct {
       /* this is set IF they exist in a world that we have loaded */
       world_instance *active_world;
       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];
+      char chat[ NETWORK_MAX_CHAT ];
+      char region[ NETWORK_REGION_MAX ];
+      u32 region_flags;
+      f64 chat_time;
+
+      /* ui */
+      u32 medals[3];
+      f32 opacity;
 
       u32 down_bytes;
       f32 down_kbs;
+      
+      struct player_effects_data effect_data;
    }
    list[ NETWORK_MAX_PLAYERS ];
 
@@ -38,9 +50,12 @@ struct {
          u16 boundary_hash;
 
          union interp_animdata {
-            struct player_skate_animator _skate;
-            struct player_walk_animator _walk;
-            struct player_dead_animator _dead;
+            /* these aren't accessed directly, just used to take the 
+             * max(sizeof) all systems */
+            struct player_skate_animator __skate;
+            struct player_walk_animator __walk;
+            struct player_dead_animator __dead;
+            struct player_basic_info_animator __basic;
          } 
          data;
       }
@@ -58,6 +73,10 @@ struct {
    u32 up_bytes;
    f32 up_kbs, down_kbs;
    f64 last_data_measurement;
+
+   int chatting;
+   char chat_buffer[ NETWORK_MAX_CHAT ], chat_message[ NETWORK_MAX_CHAT ];
+   f64 chat_time;
 }
 static netplayers;