X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=network_msg.h;h=dfd6dabad717bc6676416e8a858aa7114c501fba;hb=78cc452a8343821ba47c0905d755657847dafd25;hp=2e62521bb72d6eaa38b8b66c38bf3d631f768507;hpb=7e1fe6c7931ba4492aa10ac5eebc316b74fb5dac;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/network_msg.h b/network_msg.h index 2e62521..dfd6dab 100644 --- a/network_msg.h +++ b/network_msg.h @@ -13,12 +13,14 @@ #pragma pack(push,1) typedef struct netmsg_blank netmsg_blank; +enum{ k_inetmsg_blank = 0 }; struct netmsg_blank{ u16 inetmsg_id; }; -enum{ k_inetmsg_blank = 0 }; +/* send after version */ typedef struct netmsg_auth netmsg_auth; +enum{ k_inetmsg_auth = 1 }; struct netmsg_auth { u16 inetmsg_id; @@ -26,54 +28,17 @@ struct netmsg_auth u32 ticket_length; u8 ticket[]; }; -enum{ k_inetmsg_auth = 1 }; - -typedef struct netmsg_scores_request netmsg_scores_request; -struct netmsg_scores_request -{ - u16 inetmsg_id; -}; -enum{ k_inetmsg_scores_request = 2 }; -typedef struct netmsg_set_score netmsg_set_score; -struct netmsg_set_score -{ +/* version should be sent before auth */ +typedef struct netmsg_version netmsg_version; +enum{ k_inetmsg_version = 2 }; +struct netmsg_version{ u16 inetmsg_id; - - u32 record_count; - struct netmsg_score_record - { - u32 trackid; - u64 playerid; - u16 points, time; - } - records[]; + u32 version; }; -enum{ k_inetmsg_set_score = 6 }; -/* 31.05.23: k_inetmsg_set_score id changed from ID 3 to ID 6, - * 3 is now INVALID */ - -typedef struct netmsg_scoreboard netmsg_scoreboard; -enum{ k_inetmsg_scoreboard = 5 }; -struct netmsg_scoreboard{ - u16 inetmsg_id; - - u32 board_count; - struct netmsg_board - { - char data[27*13]; - } - boards[ vg_list_size(track_infos) ]; -} -static scoreboard_client_data = { - .inetmsg_id = k_inetmsg_scoreboard, - .board_count = vg_list_size(track_infos) -}; -/* probably about 10k */ /* server control 100 */ - /* player updates 200 */ #define NETMSG_BOUNDARY_BIT 0x8000 @@ -90,12 +55,7 @@ struct netmsg_playerframe{ instance_id, sound_effects; u16 boundary_hash; /* used for animating correctly through gates, teleport.. msb is a flip flop for teleporting - second msb is flip flop for gate - -TODO: disable oblique clipping on cam mtx when rendering remote players - also render over the portal stencil? somehow. - - detransform, interp, retransform. render in dest world. */ + second msb is flip flop for gate */ u8 animdata[]; }; @@ -105,6 +65,7 @@ enum{ k_inetmsg_playerjoin = 201 }; struct netmsg_playerjoin{ u16 inetmsg_id; u8 index; + u64 steamid; }; typedef struct netmsg_playerleave netmsg_playerleave; @@ -146,6 +107,15 @@ struct netmsg_chat { char msg[]; }; +typedef struct netmsg_region netmsg_region; +enum{ k_inetmsg_region = 206 }; +struct netmsg_region { + u16 inetmsg_id; + u8 client; + u32 flags; + char loc[]; +}; + /* requests 300 */ typedef struct netmsg_request netmsg_request; enum{ k_inetmsg_request = 300, k_inetmsg_response = 301 };