X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=network.h;h=8c1d656133d004269e9c60059025fa78f98b6b64;hb=6ba5c35d106d749a1ebafbd3cbe18c3a02f781d3;hp=16594e84184c1f01ad8519142d7f48fca77986c2;hpb=22f62f001f21d1b91fefd9fc495c122d9ddf205a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/network.h b/network.h index 16594e8..8c1d656 100644 --- a/network.h +++ b/network.h @@ -10,8 +10,9 @@ #include "steam.h" #include "network_msg.h" #include "highscores.h" +#include "addon_types.h" -static int network_scores_updated = 0; +#define NETWORK_MAX_REQUESTS 8 /* * Interface @@ -42,19 +43,38 @@ struct { u8 app_symmetric_key[ 1024 ]; u32 app_key_length; EServerMode auth_mode; - - int name_update; HSteamNetConnection remote; ESteamNetworkingConnectionState state; f64 last_attempt, last_frame; u32 retries; + + i32 network_info; + + struct network_request { + vg_pool_node poolnode; + void (*callback)( netmsg_request *res, vg_msg *body, u64 userdata ); + f64 sendtime; + u64 userdata; + } + *request_buffer; + vg_pool request_pool; + + char server_adress[64]; } static network_client = { - .state = k_ESteamNetworkingConnectionState_None, .auth_mode = eServerModeAuthentication, - .name_update = 1 + .state = k_ESteamNetworkingConnectionState_None, + .server_adress = "46.101.34.155:27402" }; +static int packet_minsize( SteamNetworkingMessage_t *msg, u32 size ); +static void network_send_item( enum netmsg_playeritem_type type ); +static void network_request_scoreboard( const char *mod_uid, + const char *route_uid, + u32 week, u64 userdata ); +static void network_publish_laptime( const char *mod_uid, + const char *route_uid, f64 lap_time ); + #endif /* NETWORK_H */