X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=addon_types.h;fp=addon_types.h;h=fa8ab96a7cf286bf45a8420fc0974d0cd2706c08;hb=02e009ae6e20938675277e9ce2f467e17b170cc7;hp=0000000000000000000000000000000000000000;hpb=cbeec2e44e93ab43ccde54c2dd9cd02f559ebef8;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/addon_types.h b/addon_types.h new file mode 100644 index 0000000..fa8ab96 --- /dev/null +++ b/addon_types.h @@ -0,0 +1,42 @@ +#ifndef ADDON_TYPES_H +#define ADDON_TYPES_H + +enum addon_type{ + k_addon_type_none = 0, + k_addon_type_board = 1, + k_addon_type_world = 2, + k_addon_type_player = 3, + k_addon_type_max +}; + +#ifdef VG_GAME + +#include "vg/vg_stdint.h" +#include "stddef.h" +#include "world.h" +#include "player.h" + +struct addon_type_info { + size_t cache_stride; + u16 cache_count; + const char *local_content_folder; +} +static addon_type_infos[] = { + [k_addon_type_board] = { + .local_content_folder = "boards/", + .cache_stride = sizeof(struct player_board), + .cache_count = 10 + }, + [k_addon_type_player] = { + .local_content_folder = "playermodels/", + .cache_stride = sizeof(struct player_model), + .cache_count = 10 + }, + [k_addon_type_world] = { + .local_content_folder = "maps/" + } +}; + +#endif + +#endif /* ADDON_TYPES_H */