X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=ent_skateshop.h;h=1d0699a58b97edef1e690e5580e3633732646abf;hb=ca35eceae3abfcfb9ba266d6ea8e664bc06b0a3e;hp=e68816861cd9a583f29d25b8f44d1954d87e19f1;hpb=ac6288a8951db15eab6c681b8add8f350eb60746;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/ent_skateshop.h b/ent_skateshop.h index e688168..1d0699a 100644 --- a/ent_skateshop.h +++ b/ent_skateshop.h @@ -2,69 +2,43 @@ #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 +#define SKATESHOP_VIEW_SLOT_MAX 5 struct{ v3f look_target; ent_skateshop *ptr_ent; - - int active; float factive; - struct cache_board{ - enum cache_board_state{ - k_cache_board_state_none, - k_cache_board_state_loaded, - k_cache_board_state_load_request - } - state; - - struct player_board board; - u32 registry_id; - - u32 ref_count; - double last_use_time; - } - *cache; - SDL_SpinLock sl_cache_access; - struct shop_view_slot{ - struct cache_board *cache_ptr; + u16 cache_id; float view_blend; } shop_view_slots[ SKATESHOP_VIEW_SLOT_MAX ]; - struct registry_board{ - PublishedFileId_t workshop_id; - struct cache_board *cache_ptr; + u32 selected_world_id, + selected_board_id, + selected_player_id, + pointcloud_world_id; - char filename[64]; /* if workshop, string version of its published ID. */ - u32 filename_hash; + struct { + const char *item_title, *item_desc; + u32 reg_id; - enum registry_board_state{ - k_registry_board_state_none, - k_registry_board_state_indexed, - k_registry_board_state_indexed_absent /*was found but is now missing*/ - } - state; - } - *registry; - u32 t1_registry_count, - registry_count; + const char *world_title, *world_loc; + u32 world_reg; + } + render; - u32 selected_registry_id; - float interaction_cooldown; + camera cam; } -static global_skateshop; +static global_skateshop={.render={.reg_id=0xffffffff,.world_reg=0xffffffff}}; -VG_STATIC void watch_cache_board( struct cache_board *ptr ); -VG_STATIC void unwatch_cache_board( struct cache_board *ptr ); +VG_STATIC void global_skateshop_exit(void); #endif /* ENT_SKATESHOP_H */