//////////////////////////////////////////////////////////// //~ Transcode types Enum(P_Tv) { P_Tv_None = 0, P_Tv_Initial = 1, P_Tv_COUNT }; #define P_Tv_Latest (P_Tv_COUNT - 1) Struct(P_UnpackedWorld) { P_Tv version; u64 seed; i64 tick; i64 time_ns; P_EntList ents; u8 *tiles; }; //////////////////////////////////////////////////////////// //~ World String P_PackWorld(Arena *arena, P_World *src_world); P_UnpackedWorld P_UnpackWorld(Arena *arena, String packed); //////////////////////////////////////////////////////////// //~ Message String P_PackMessages(BB_Writer *bbw, P_MsgList msgs); P_MsgList P_UnpackMessages(Arena *arena, String packed, NET_Key sender);