X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=ent_skateshop.h;h=3b432c168a506a8bbc9df9f6557998de2ab3c39b;hb=6afe1eb8c0283fdf65aaf117db8c33689c21552d;hp=e68816861cd9a583f29d25b8f44d1954d87e19f1;hpb=ac6288a8951db15eab6c681b8add8f350eb60746;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/ent_skateshop.h b/ent_skateshop.h index e688168..3b432c1 100644 --- a/ent_skateshop.h +++ b/ent_skateshop.h @@ -2,12 +2,14 @@ #define ENT_SKATESHOP_H #include "world.h" +#include "world_load.h" #include "player.h" #include "vg/vg_steam_remote_storage.h" #include "workshop.h" #define SKATESHOP_REGISTRY_MAX 64 #define SKATESHOP_BOARD_CACHE_MAX 10 +#define SKATESHOP_WORLDS_MAX 32 #define SKATESHOP_VIEW_SLOT_MAX 6 #define SKATESHOP_REGISTRYID_NONE 0xffffffff @@ -43,10 +45,13 @@ struct{ struct registry_board{ PublishedFileId_t workshop_id; + + /* only for steam workshop files */ + //struct workshop_file_info workshop; struct cache_board *cache_ptr; - char filename[64]; /* if workshop, string version of its published ID. */ - u32 filename_hash; + char foldername[64]; /* if workshop, string version of its published ID. */ + u32 foldername_hash; enum registry_board_state{ k_registry_board_state_none, @@ -60,10 +65,29 @@ struct{ registry_count; u32 selected_registry_id; - float interaction_cooldown; + + /* worlds */ + struct registry_world{ + PublishedFileId_t workshop_id; + enum registry_board_state state; + char foldername[64]; + u32 foldername_hash; + enum world_load_type type; + +#if 0 + int meta_present; + ent_worldinfo info; +#endif + } + *world_registry; + u32 t1_world_registry_count, + world_registry_count, + selected_world_id, + pointcloud_world_id; } static global_skateshop; +VG_STATIC void global_skateshop_exit(void); VG_STATIC void watch_cache_board( struct cache_board *ptr ); VG_STATIC void unwatch_cache_board( struct cache_board *ptr );