X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_remote.c;h=43c56079cd436123f39f638e8f4706aa7e6581f4;hb=HEAD;hp=d9ee7b8243a8f95e190add9c2075dc802ec160d9;hpb=46f4e9ee87dc67402166e4c6b05efbe922cd7574;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_remote.c b/player_remote.c deleted file mode 100644 index d9ee7b8..0000000 --- a/player_remote.c +++ /dev/null @@ -1,94 +0,0 @@ -#include "player_remote.h" - -static void player_remote_unwatch( struct network_player *player ){ - addon_cache_unwatch( k_addon_type_player, player->playermodel_view_slot ); - addon_cache_unwatch( k_addon_type_board, player->board_view_slot ); -} - -static void player_remote_clear( struct network_player *player ){ - player_remote_unwatch( player ); - memset( player, 0, sizeof(*player) ); - strcpy( player->username, "unknown" ); - player->subsystem = k_player_subsystem_invalid; -} - -static void player_remote_packet( SteamNetworkingMessage_t *msg ){ - netmsg_blank *tmp = msg->m_pData; - - if( tmp->inetmsg_id == k_inetmsg_playerjoin ){ - netmsg_playerjoin *playerjoin = msg->m_pData; - - if( playerjoin->index < vg_list_size(netplayers.list) ){ - struct network_player *player = &netplayers.list[ playerjoin->index ]; - player_remote_clear( player ); - player->active = 1; - - /* TODO: interpret the uids */ - player->board_view_slot = 0; - player->playermodel_view_slot = 0; - } - else { - vg_error( "inetmsg_playerjoin: player index out of range\n" ); - } - } - else if( tmp->inetmsg_id == k_inetmsg_playerleave ){ - netmsg_playerleave *playerleave = msg->m_pData; - - if( playerleave->index < vg_list_size(netplayers.list) ){ - struct network_player *player = &netplayers.list[ playerleave->index ]; - player_remote_unwatch( player ); - player->active = 0; - } - else { - vg_error( "inetmsg_playerleave: player index out of range\n" ); - } - } -} - -static void remote_player_network_imgui(void){ - if( !network_client.network_info ) - return; - - ui_rect panel = { (vg.window_x / 2) - 200, 0, 400, 600 }; - ui_fill( panel, (ui_colour(k_ui_bg)&0x00ffffff)|0x50000000 ); - - char buf[512]; - const char *netstatus = "PROGRAMMING ERROR"; - - struct { enum ESteamNetworkingConnectionState state; const char *str; } - states[] = { - { k_ESteamNetworkingConnectionState_None, "None" }, - { k_ESteamNetworkingConnectionState_Connecting, "Connecting" }, - { k_ESteamNetworkingConnectionState_FindingRoute, "Finding Route" }, - { k_ESteamNetworkingConnectionState_Connected, "Connected" }, - { k_ESteamNetworkingConnectionState_ClosedByPeer, "Closed by peer" }, - { k_ESteamNetworkingConnectionState_ProblemDetectedLocally, - "Problem Detected Locally" }, - { k_ESteamNetworkingConnectionState_FinWait, "Fin Wait" }, - { k_ESteamNetworkingConnectionState_Linger, "Linger" }, - { k_ESteamNetworkingConnectionState_Dead, "Dead" } - }; - for( u32 i=0; iactive ){ - const char *sysname = "invalid"; - - if( (player->subsystem >= 0) && - (player->subsystem < k_player_subsystem_max) ){ - sysname = player_subsystems[ player->subsystem ]->name; - } - snprintf( buf, 512, "#%u: %s [%s]", i, player->username, sysname ); - ui_info( panel, buf ); - } - } -}