refactor network packets
[carveJwlIkooP6JGAAIwe30JlM.git] / addon.h
diff --git a/addon.h b/addon.h
index 768bede37bf8f10487aa4ca15658cfa2d71bb139..2b9d9ac4f7906e9af0ce3142b0ba12a5fe95fb14 100644 (file)
--- a/addon.h
+++ b/addon.h
@@ -1,6 +1,14 @@
 #ifndef ADDON_H
 #define ADDON_H
 
+#define ADDON_FOLDERNAME_MAX 64
+
+/* total count that we have knowledge of */
+#define ADDON_MOUNTED_MAX 128
+#define ADDON_UID_MAX 76
+
+#ifndef ADDON_DEFINE_ONLY
+
 #include "skaterift.h"
 #include "vg/vg_steam_ugc.h"
 #include "addon_types.h"
@@ -9,11 +17,6 @@
 #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;
@@ -73,17 +76,19 @@ 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 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,
+static u32 addon_match( addon_alias *alias );
+static void addon_alias_uid( addon_alias *alias, char buf[ADDON_UID_MAX] );
+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,
+static void addon_mount_workshop_items(void);
+static void async_addon_reg_update( void *data, u32 size );
+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 );
@@ -96,5 +101,8 @@ 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 );
+static u16 addon_cache_create_viewer_from_uid( enum addon_type type,
+                                               char uid[ADDON_UID_MAX] );
 
+#endif
 #endif /* ADDON_H */