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 ];
}
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;
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;
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 ){