foliage windy shader
[carveJwlIkooP6JGAAIwe30JlM.git] / player_remote.c
index 7256fbd08548feb7cf7b2d39127bd25b071eeccf..2234c6dc994aa3f50b8fdc0cf217603762dd551a 100644 (file)
@@ -616,6 +616,8 @@ static void render_remote_players( world_instance *world, camera *cam ){
       struct network_player *player = &netplayers.list[i];
       if( !player->active || player->isblocked ) continue;
       if( player->active_world != world ) continue;
+      if( !player->isfriend && 
+            (world-world_static.instances == k_world_purpose_hub)) continue;
       
       m4x3f *final_mtx = &netplayers.final_mtx[ sk->bone_count*i ];
 
@@ -855,15 +857,20 @@ static void remote_player_gui_info( ui_rect box,
 }
 
 static void remote_players_imgui_lobby(void){
-    /*
-    * TODO: send location string over the network */
+   if( network_client.user_intent == k_server_intent_online ){
+      if( !(steam_ready &&
+         (network_client.state == k_ESteamNetworkingConnectionState_Connected)))
+      {
+         return;
+      }
+   }
 
    ui_px y = 50, width = 200, height = 42, gap = 2,
          x = vg.window_x - width;
 
    vg_ui.font = &vg_ui_font_big;
    ui_text( (ui_rect){ x, 0, width, height }, 
-            "Online Players", 1, k_ui_align_middle_center, 0 );
+            "In World", 1, k_ui_align_middle_center, 0 );
    vg_ui.font = &vg_ui_font_small;
 
 
@@ -877,8 +884,7 @@ static void remote_players_imgui_lobby(void){
       struct network_player *player = &netplayers.list[i];
       if( !player->active || player->isblocked ) continue;
 
-      int in_same_world = player->active_world != world_current_instance();
-
+      int in_same_world = player->active_world == world_current_instance();
       if( !player->isfriend && !in_same_world )
          continue;
 
@@ -906,6 +912,8 @@ static void remote_players_imgui_world( world_instance *world, m4x4f pv,
 
          if( !player->active_world )
             continue;
+         if( !player->isfriend && 
+               (world-world_static.instances == k_world_purpose_hub)) continue;
 
          /* their in our active subworld */
          if( player->active_world != world ){