1 #ifndef ENT_SKATESHOP_H
2 #define ENT_SKATESHOP_H
6 #include "vg/vg_steam_remote_storage.h"
9 #define SKATESHOP_REGISTRY_MAX 64
10 #define SKATESHOP_BOARD_CACHE_MAX 10
11 #define SKATESHOP_VIEW_SLOT_MAX 6
12 #define SKATESHOP_REGISTRYID_NONE 0xffffffff
16 ent_skateshop
*ptr_ent
;
22 enum cache_board_state
{
23 k_cache_board_state_none
,
24 k_cache_board_state_loaded
,
25 k_cache_board_state_load_request
29 struct player_board board
;
36 SDL_SpinLock sl_cache_access
;
38 struct shop_view_slot
{
39 struct cache_board
*cache_ptr
;
42 shop_view_slots
[ SKATESHOP_VIEW_SLOT_MAX
];
44 struct registry_board
{
45 PublishedFileId_t workshop_id
;
46 struct cache_board
*cache_ptr
;
48 char filename
[64]; /* if workshop, string version of its published ID. */
51 enum registry_board_state
{
52 k_registry_board_state_none
,
53 k_registry_board_state_indexed
,
54 k_registry_board_state_indexed_absent
/*was found but is now missing*/
59 u32 t1_registry_count
,
62 u32 selected_registry_id
;
63 float interaction_cooldown
;
65 static global_skateshop
;
67 VG_STATIC
void watch_cache_board( struct cache_board
*ptr
);
68 VG_STATIC
void unwatch_cache_board( struct cache_board
*ptr
);
70 #endif /* ENT_SKATESHOP_H */