X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=network_msg.h;h=b76e695fbb75031d931131303e5c478008e6bf55;hb=157e4700f0557248a606555dcc7960404ac1c7f0;hp=1df9434a8ca1cb03d91ef7a586192cfbb73fddea;hpb=9fb26bfce5b8130703a8c31818783912c2b3dfac;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/network_msg.h b/network_msg.h index 1df9434..b76e695 100644 --- a/network_msg.h +++ b/network_msg.h @@ -8,6 +8,7 @@ #include "vg/vg_stdint.h" #include "world_info.h" #include "vg/vg_platform.h" +; #pragma pack(push,1) @@ -75,11 +76,55 @@ struct netmsg_scoreboard } boards[ vg_list_size(track_infos) ]; } -VG_STATIC scoreboard_client_data = { +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 */ + +/* client -> remote */ +typedef struct netmsg_playerframe netmsg_playerframe; +enum{ k_inetmsg_playerframe = 200 }; +struct netmsg_playerframe{ + u32 inetmsg_id; + u8 client, subsystem; + u8 animdata[]; +}; + +/* remote -> client */ +typedef struct netmsg_playerjoin netmsg_playerjoin; +enum{ k_inetmsg_playerjoin = 201 }; +struct netmsg_playerjoin{ + u32 inetmsg_id; + + u32 index; + char username[32]; /* UNUSED */ + char playermodel_uid[76]; /* UNUSED */ + char board_uid[76]; /* UNUSED */ +}; + + +/* remote -> client */ +typedef struct netmsg_playerleave netmsg_playerleave; +enum{ k_inetmsg_playerleave = 202 }; +struct netmsg_playerleave{ + u32 inetmsg_id; + u32 index; +}; + +/* client <-> remote */ +typedef struct netmsg_playerusername netmsg_playerusername; +enum{ k_inetmsg_playerusername = 203 }; +struct netmsg_playerusername{ + u32 inetmsg_id; + u32 index; + char username[32]; +}; + #pragma pack(pop) #endif /* NETWORK_MSG_H */