+++ /dev/null
-#ifndef ADDON_H
-#define ADDON_H
-
-#include "workshop.h"
-#include "workshop_types.h"
-#define ADDON_MOUNTED_MAX 128
-#define ADDON_FOLDERNAME_MAX 64
-
-typedef struct addon_reg addon_reg;
-struct {
- struct addon_reg{
- PublishedFileId_t workshop_id;
-
- enum workshop_file_type type;
- u8 metadata[512]; /* vg_msg buffer */
- u32 metadata_len;
-
- char foldername[ ADDON_FOLDERNAME_MAX ];
- u32 foldername_hash;
- void *userdata;
-
- 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_workshop_file_type_max];
-}
-static addon_system;
-
-static void addon_system_init( void );
-static u32 addon_count( enum workshop_file_type type );
-static addon_reg *get_addon_from_index(enum workshop_file_type type, u32 index);
-static u32 get_index_from_addon( enum workshop_file_type type, addon_reg *a );
-
-/* scanning routines */
-VG_STATIC void addon_mount_content_folder( enum workshop_file_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 workshop_file_type type,
- const char *content_ext );
-
-#endif /* ADDON_H */