ignore this 2
[carveJwlIkooP6JGAAIwe30JlM.git] / addon.h
diff --git a/addon.h b/addon.h
deleted file mode 100644 (file)
index 768bede..0000000
--- a/addon.h
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef ADDON_H
-#define ADDON_H
-
-#include "skaterift.h"
-#include "vg/vg_steam_ugc.h"
-#include "addon_types.h"
-#include "vg/vg_mem_pool.h"
-
-#include "world.h"
-#include "player.h"
-
-#define ADDON_FOLDERNAME_MAX 64
-
-/* total count that we have knowledge of */
-#define ADDON_MOUNTED_MAX 128
-
-typedef struct addon_reg addon_reg;
-typedef struct addon_cache_entry addon_cache_entry;
-typedef struct addon_alias addon_alias;
-
-struct addon_alias {
-   enum addon_type type;
-   PublishedFileId_t workshop_id;
-   char foldername[ ADDON_FOLDERNAME_MAX ];
-};
-
-struct {
-   struct addon_reg{
-      addon_alias alias;
-      u32 foldername_hash;
-      u8 metadata[512];  /* vg_msg buffer */
-      u32 metadata_len;
-
-      u16 cache_id;
-
-      enum addon_state{
-         k_addon_state_none,
-         k_addon_state_indexed,
-         k_addon_state_indexed_absent /* gone but not forgotten */
-      }
-      state;
-   }
-   *registry;
-   u32 registry_count;
-
-   /* deffered: updates in main thread */
-   u32 registry_type_counts[k_addon_type_max];
-
-   struct addon_cache{
-      struct addon_cache_entry{
-         u32 reg_index;
-         addon_reg *reg_ptr;     /* TODO: only use reg_index? */
-
-         vg_pool_node poolnode;
-
-         enum addon_cache_state{
-            k_addon_cache_state_none,
-            k_addon_cache_state_loaded,
-            k_addon_cache_state_load_request
-         }
-         state;
-      }
-      *allocs;
-      vg_pool pool;
-
-      void *items;  /* the real data */
-      size_t stride;
-   }
-   cache[k_addon_type_max];
-   SDL_SpinLock sl_cache_using_resources;
-}
-static addon_system;
-
-static void addon_system_init( void );
-static u32 addon_count( enum addon_type type );
-static addon_reg *get_addon_from_index(enum addon_type type, u32 index);
-static u32 get_index_from_addon( enum addon_type type, addon_reg *a );
-static int addon_get_content_folder( addon_reg *reg, vg_str *folder );
-
-/* scanning routines */
-VG_STATIC void addon_mount_content_folder( enum addon_type type,
-                                           const char *base_folder, 
-                                           const char *content_ext );
-VG_STATIC void addon_mount_workshop_items(void);
-VG_STATIC void async_addon_reg_update( void *data, u32 size );
-VG_STATIC addon_reg *addon_mount_local_addon( const char *folder,
-                                              enum addon_type type,
-                                              const char *content_ext );
-static u16 addon_cache_fetch( enum addon_type type, u32 reg_index );
-static u16 addon_cache_alloc( enum addon_type type, u32 reg_index );
-static void *addon_cache_item( enum addon_type type, u16 id );
-static void *addon_cache_item_if_loaded( enum addon_type type, u16 id );
-static void async_addon_setstate( void *data, u32 size );
-static void addon_cache_load_loop(void);
-static u16 addon_cache_create_viewer( enum addon_type type, u16 reg_id);
-
-static void addon_cache_watch( enum addon_type type, u16 cache_id );
-static void addon_cache_unwatch( enum addon_type type, u16 cache_id );
-
-#endif /* ADDON_H */