X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=network_msg.h;h=5f1bc416a67e96b82d72813d1a063a62344097cb;hb=47941822dae18a018c985847b052e70214a3ccc6;hp=b26300926fc3412b971dc01e63971989da7d405f;hpb=91d035f4845a6f9f62487b43e5142c4148e7f047;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/network_msg.h b/network_msg.h index b263009..5f1bc41 100644 --- a/network_msg.h +++ b/network_msg.h @@ -1,7 +1,13 @@ +/* + * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved + */ + #ifndef NETWORK_MSG_H #define NETWORK_MSG_H #include "vg/vg_stdint.h" +#include "world_info.h" +#include "vg/vg_platform.h" #pragma pack(push,1) @@ -12,33 +18,66 @@ struct netmsg_blank }; enum{ k_inetmsg_blank = 0 }; +typedef struct netmsg_auth netmsg_auth; +struct netmsg_auth +{ + u32 inetmsg_id; + + u32 ticket_length; + u8 ticket[]; +}; +enum{ k_inetmsg_auth = 1 }; + typedef struct netmsg_scores_request netmsg_scores_request; struct netmsg_scores_request { u32 inetmsg_id; }; -enum{ k_inetmsg_scores_request = 1 }; +enum{ k_inetmsg_scores_request = 2 }; -typedef struct netmsg_scores_info netmsg_scores_info; -struct netmsg_scores_info +typedef struct netmsg_set_score netmsg_set_score; +struct netmsg_set_score { u32 inetmsg_id; - + u32 record_count; struct netmsg_score_record { u32 trackid; - - struct netmsg_score_entry - { - u64 steamid64; - u16 points, time; - } - top10[10]; + u64 playerid; + u16 points, time; } - scores[]; + records[]; +}; +enum{ k_inetmsg_set_score = 3 }; + +typedef struct netmsg_set_nickname netmsg_set_nickname; +struct netmsg_set_nickname +{ + u32 inetmsg_id; + char nickname[16]; }; -enum{ k_inetmsg_scores_info = 2 }; +enum{ k_inetmsg_set_nickname = 4 }; + + +typedef struct netmsg_scoreboard netmsg_scoreboard; +enum{ k_inetmsg_scoreboard = 5 }; +struct netmsg_scoreboard +{ + u32 inetmsg_id; + + u32 board_count; + struct netmsg_board + { + char data[27*13]; + } + boards[ vg_list_size(track_infos) ]; +} +VG_STATIC scoreboard_client_data = { + .inetmsg_id = k_inetmsg_scoreboard, + .board_count = vg_list_size(track_infos) +}; +/* probably about 10k */ #pragma pack(pop) #endif /* NETWORK_MSG_H */