+++ /dev/null
-#ifndef ENT_SKATESHOP_H
-#define ENT_SKATESHOP_H
-
-#include "world.h"
-#include "world_load.h"
-#include "player.h"
-#include "vg/vg_steam_remote_storage.h"
-#include "workshop.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;
- 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;
- float view_blend;
- }
- shop_view_slots[ SKATESHOP_VIEW_SLOT_MAX ];
-
- struct registry_board{
- PublishedFileId_t workshop_id;
-
- /* only for steam workshop files */
- //struct workshop_file_info workshop;
- struct cache_board *cache_ptr;
-
- char foldername[64]; /* if workshop, string version of its published ID. */
- u32 foldername_hash;
-
- 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;
-
- 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,
- 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 );
-
-#endif /* ENT_SKATESHOP_H */