X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=ent_skateshop.h;h=ff11e62f84ff863230358d2eb0fe294b8e68a6c9;hb=badfa88dd109bbae5628f58504402f4707569f73;hp=e68816861cd9a583f29d25b8f44d1954d87e19f1;hpb=ac6288a8951db15eab6c681b8add8f350eb60746;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/ent_skateshop.h b/ent_skateshop.h index e688168..ff11e62 100644 --- a/ent_skateshop.h +++ b/ent_skateshop.h @@ -2,14 +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" +#include "addon.h" -#define SKATESHOP_REGISTRY_MAX 64 #define SKATESHOP_BOARD_CACHE_MAX 10 #define SKATESHOP_VIEW_SLOT_MAX 6 -#define SKATESHOP_REGISTRYID_NONE 0xffffffff struct{ v3f look_target; @@ -27,7 +27,8 @@ struct{ state; struct player_board board; - u32 registry_id; + u32 reg_index; + addon_reg *reg_ptr; u32 ref_count; double last_use_time; @@ -41,12 +42,16 @@ struct{ } shop_view_slots[ SKATESHOP_VIEW_SLOT_MAX ]; +#if 0 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, @@ -59,11 +64,30 @@ struct{ u32 t1_registry_count, 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; +#endif + u32 selected_world_id, + selected_board_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 );