X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_remote.c;h=f829ec0512de5585cc54a5a21c2feb1e53af0439;hb=5f6a4f9df6c8accc89f1920bfe9ace3cbac4c4b6;hp=ba07abea312a44ebcae783bb00c9c16d792a05d6;hpb=a109f126d8adab622e38fbcc2d4281e75255246a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_remote.c b/player_remote.c index ba07abe..f829ec0 100644 --- a/player_remote.c +++ b/player_remote.c @@ -1,6 +1,7 @@ #include "player_remote.h" #include "skeleton.h" #include "player_render.h" +#include "player_api.h" #include "network_common.h" #include "addon.h" #include "font.h" @@ -8,10 +9,14 @@ #include "ent_miniworld.h" #include "ent_region.h" #include "shaders/model_entity.h" +#include "vg/vg_steam_friends.h" + +struct global_netplayers netplayers; static i32 k_show_own_name = 0; -static void player_remote_clear( struct network_player *player ){ +static void player_remote_clear( 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 ); @@ -53,7 +58,8 @@ static void relink_remote_player_worlds( u32 client_id ){ * * Run if local worlds change */ -static void relink_all_remote_player_worlds(void){ +void relink_all_remote_player_worlds(void) +{ for( u32 i=0; iactive ) @@ -61,7 +67,8 @@ static void relink_all_remote_player_worlds(void){ } } -static void player_remote_update_friendflags( struct network_player *remote ){ +void player_remote_update_friendflags( struct network_player *remote ) +{ ISteamFriends *hSteamFriends = SteamAPI_SteamFriends(); remote->isfriend = SteamAPI_ISteamFriends_HasFriend( hSteamFriends, remote->steamid, k_EFriendFlagImmediate ); @@ -69,7 +76,8 @@ static void player_remote_update_friendflags( struct network_player *remote ){ remote->steamid, k_EFriendFlagBlocked ); } -static void player_remote_rx_200_300( SteamNetworkingMessage_t *msg ){ +void player_remote_rx_200_300( SteamNetworkingMessage_t *msg ) +{ netmsg_blank *tmp = msg->m_pData; if( tmp->inetmsg_id == k_inetmsg_playerjoin ){ @@ -313,7 +321,8 @@ static void player_remote_rx_200_300( SteamNetworkingMessage_t *msg ){ /* * Write localplayer pose to network */ -static void remote_player_send_playerframe(void){ +void remote_player_send_playerframe(void) +{ u8 sysid = localplayer.subsystem; if( sysid >= k_player_subsystem_max ) return; @@ -386,7 +395,8 @@ static void remote_player_send_playerframe(void){ /* * Updates network traffic stats */ -static void remote_player_debug_update(void){ +void remote_player_debug_update(void) +{ if( (vg.time_real - netplayers.last_data_measurement) > 1.0 ){ netplayers.last_data_measurement = vg.time_real; u32 total_down = 0; @@ -409,7 +419,8 @@ static void remote_player_debug_update(void){ /* * Debugging information */ -static void remote_player_network_imgui( m4x4f pv ){ +void remote_player_network_imgui( m4x4f pv ) +{ if( network_client.user_intent == k_server_intent_online ){ if( !(steam_ready && (network_client.state == k_ESteamNetworkingConnectionState_Connected))) @@ -596,8 +607,8 @@ static void pose_remote_player( u32 index, /* * animate remote player and store in final_mtx */ -static void animate_remote_player( u32 index ){ - +void animate_remote_player( u32 index ) +{ /* * Trys to keep the cursor inside the buffer */ @@ -652,7 +663,8 @@ static void animate_remote_player( u32 index ){ /* * Update full final_mtx for all remote players */ -static void animate_remote_players(void){ +void animate_remote_players(void) +{ for( u32 i=0; iactive ) continue; @@ -664,7 +676,8 @@ static void animate_remote_players(void){ /* * Draw remote players */ -static void render_remote_players( world_instance *world, camera *cam ){ +void render_remote_players( world_instance *world, vg_camera *cam ) +{ u32 draw_list[ NETWORK_MAX_PLAYERS ], draw_list_count = 0, gliders = 0; @@ -774,7 +787,8 @@ static int remote_players_randomize( int argc, const char *argv[] ){ return 0; } -static void remote_players_init(void){ +void remote_players_init(void) +{ vg_console_reg_cmd( "add_test_players", remote_players_randomize, NULL ); vg_console_reg_var( "k_show_own_name", &k_show_own_name, k_var_dtype_i32, 0 ); @@ -783,7 +797,8 @@ static void remote_players_init(void){ } } -static void remote_sfx_pre_update(void){ +void remote_sfx_pre_update(void) +{ for( u32 i=0; i