X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=ent_skateshop.h;h=ff11e62f84ff863230358d2eb0fe294b8e68a6c9;hb=badfa88dd109bbae5628f58504402f4707569f73;hp=f73b875d069004144d3123fd18a01fd97a3b9426;hpb=63b5ac44f74599b21c4b9b18398c29b797337bea;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/ent_skateshop.h b/ent_skateshop.h index f73b875..ff11e62 100644 --- a/ent_skateshop.h +++ b/ent_skateshop.h @@ -2,15 +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_WORLDS_MAX 32 #define SKATESHOP_VIEW_SLOT_MAX 6 -#define SKATESHOP_REGISTRYID_NONE 0xffffffff struct{ v3f look_target; @@ -28,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; @@ -42,15 +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 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, @@ -63,24 +64,30 @@ struct{ u32 t1_registry_count, registry_count; - u32 selected_registry_id; - /* 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; + 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 );