X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=ent_skateshop.h;h=9f76251246f31620a1ce2139f4795edf065ac272;hb=9eb3de757a997becb8406417a4bf613f4cb04900;hp=7e2fcf220ac335be03bf5c9365aa61456871a21f;hpb=a99e5f5d5c16a3e865796a96ad648e3c570d32ac;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/ent_skateshop.h b/ent_skateshop.h index 7e2fcf2..9f76251 100644 --- a/ent_skateshop.h +++ b/ent_skateshop.h @@ -2,11 +2,13 @@ #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 MAX_LOCAL_BOARDS 64 -#define BILL_TIN_BOARDS 1 -#define MAX_DYNAMIC_BOARDS 9 +#define SKATESHOP_VIEW_SLOT_MAX 5 struct{ v3f look_target; @@ -15,63 +17,28 @@ struct{ int active; float factive; - enum skateshop_loc{ - k_skateshop_loc_page__viewing, - - k_skateshop_loc_select_use, - k_skateshop_loc_select_cancel, - k_skateshop_loc_select_upload, - k_skateshop_loc_page__selected, - - k_skateshop_loc_page__upload, - } - interface_loc; - - struct dynamic_board - { - enum dynamic_board_state{ - k_dynamic_board_state_none, - k_dynamic_board_state_loaded, - k_dynamic_board_state_loading, - } - state; - - u32 ref_count; - - struct player_board board; - - u32 registry_id; - double last_use_time; - } - *dynamic_boards; - - struct shop_view_slot - { - struct dynamic_board *db; + struct shop_view_slot{ + u16 cache_id; float view_blend; } - shop_view_slots[6]; - - struct board_registry - { - int workshop; - u64 uid; - - struct dynamic_board *dynamic; + shop_view_slots[ SKATESHOP_VIEW_SLOT_MAX ]; - char filename[64]; /* if workshop, string version of uid. */ - u32 filename_hash; + u32 selected_world_id, + selected_board_id, + selected_player_id, + pointcloud_world_id; - int ghost; - } - *registry; - u32 registry_count; + struct { + const char *item_title, *item_desc; + u32 reg_id; - int loading; - float interaction_cooldown; - - u32 selected_registry_id; + const char *world_title, *world_loc; + u32 world_reg; + } + render; } -static global_skateshop; +static global_skateshop={.render={.reg_id=0xffffffff,.world_reg=0xffffffff}}; + +VG_STATIC void global_skateshop_exit(void); #endif /* ENT_SKATESHOP_H */