X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=network_msg.h;h=440facd8c13c6198ba7f31ad1fa517ff7f53e7ec;hb=825c3bce18272c0f81659e0eac469709d0462836;hp=4ab094227cc014935397656e3082507695aedf87;hpb=f9656a800d0262a2096c3525c2160ce38bc16828;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/network_msg.h b/network_msg.h index 4ab0942..440facd 100644 --- a/network_msg.h +++ b/network_msg.h @@ -1,7 +1,14 @@ +/* + * 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) @@ -43,7 +50,9 @@ struct netmsg_set_score } records[]; }; -enum{ k_inetmsg_set_score = 3 }; +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_set_nickname netmsg_set_nickname; struct netmsg_set_nickname @@ -53,5 +62,70 @@ struct netmsg_set_nickname }; 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) ]; +} +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 */ + +typedef struct netmsg_playerframe netmsg_playerframe; +enum{ k_inetmsg_playerframe = 200 }; +struct netmsg_playerframe{ + u32 inetmsg_id; + f64 timestamp; + u8 client, subsystem; + u8 animdata[]; +}; + +typedef struct netmsg_playerjoin netmsg_playerjoin; +enum{ k_inetmsg_playerjoin = 201 }; +struct netmsg_playerjoin{ + u32 inetmsg_id; + u32 index; +}; + +typedef struct netmsg_playerleave netmsg_playerleave; +enum{ k_inetmsg_playerleave = 202 }; +struct netmsg_playerleave{ + u32 inetmsg_id; + u32 index; +}; + +typedef struct netmsg_playerusername netmsg_playerusername; +enum{ k_inetmsg_playerusername = 203 }; +struct netmsg_playerusername{ + u32 inetmsg_id; + u32 index; + char name[]; +}; + +typedef struct netmsg_playeritem netmsg_playeritem; +enum{ k_inetmsg_playeritem = 204 }; +struct netmsg_playeritem{ + u32 inetmsg_id; + u32 index; + u8 type; + char uid[]; +}; + #pragma pack(pop) #endif /* NETWORK_MSG_H */