X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=network_msg.h;h=1df9434a8ca1cb03d91ef7a586192cfbb73fddea;hb=1d06671f87a9d24596fc6808d8e0db889a818750;hp=6c072f14fc44196f9ce7f6af2912a0a2431cd908;hpb=5ee174baa9b2c30e01dc0ca0dfa38f916f805636;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/network_msg.h b/network_msg.h index 6c072f1..1df9434 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,43 +18,68 @@ 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_scores_info = 2 }; +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_auth netmsg_auth; -struct netmsg_auth +typedef struct netmsg_set_nickname netmsg_set_nickname; +struct netmsg_set_nickname { u32 inetmsg_id; - - u32 ticket_length; - u8 ticket[]; + char nickname[16]; }; -enum{ k_inetmsg_auth = 3 }; +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 */