refactor (reduction)
[carveJwlIkooP6JGAAIwe30JlM.git] / addon.c
diff --git a/addon.c b/addon.c
index ee3f803392a964795bf96f6615bf32f8f105a251..7e03050c9435f8d6e20ffde6314dc77f58e5c147 100644 (file)
--- a/addon.c
+++ b/addon.c
@@ -69,6 +69,17 @@ static u32 addon_match( addon_alias *alias ){
    return 0xffffffff;
 }
 
+static void addon_alias_uid( addon_alias *alias, char buf[76] ){
+   if( alias->workshop_id ){
+      snprintf( buf, 128, "sr%03d-steam-"PRINTF_U64, 
+            alias->type, alias->workshop_id );
+   }
+   else {
+      snprintf( buf, 128, "sr%03d-local-%s",
+            alias->type, alias->foldername );
+   }
+}
+
 static void addon_system_init( void ){
    u32 reg_size   = sizeof(addon_reg)*ADDON_MOUNTED_MAX;
    addon_system.registry = vg_linear_alloc( vg_mem.rtmemory, reg_size );
@@ -112,7 +123,7 @@ static void addon_system_init( void ){
 /*
  * Reciever for scan completion. copies the registry counts back into main fred
  */
-VG_STATIC void async_addon_reg_update( void *data, u32 size )
+static void async_addon_reg_update( void *data, u32 size )
 {
    vg_info( "Registry update notify\n" );
    
@@ -126,7 +137,7 @@ VG_STATIC void async_addon_reg_update( void *data, u32 size )
    }
 }
 
-VG_STATIC void addon_set_foldername( addon_reg *reg, const char name[64] ){
+static void addon_set_foldername( addon_reg *reg, const char name[64] ){
    vg_strncpy( name, reg->alias.foldername, 64, k_strncpy_always_add_null );
    reg->foldername_hash = vg_strdjb2( reg->alias.foldername );
 }
@@ -134,7 +145,7 @@ VG_STATIC void addon_set_foldername( addon_reg *reg, const char name[64] ){
 /*
  * Create a new registry 
  */
-VG_STATIC addon_reg *addon_alloc_reg( PublishedFileId_t workshop_id,
+static addon_reg *addon_alloc_reg( PublishedFileId_t workshop_id,
                                       enum addon_type type ){
    if( addon_system.registry_count == ADDON_MOUNTED_MAX ){
       vg_error( "You have too many addons installed!\n" );
@@ -160,7 +171,7 @@ VG_STATIC addon_reg *addon_alloc_reg( PublishedFileId_t workshop_id,
 /*
  * If the addon.inf exists int the folder, load into the reg
  */
-VG_STATIC int addon_try_load_metadata( addon_reg *reg, vg_str folder_path ){
+static int addon_try_load_metadata( addon_reg *reg, vg_str folder_path ){
    vg_str meta_path = folder_path;
    vg_strcat( &meta_path, "/addon.inf" );
    if( !vg_strgood( &meta_path ) ){
@@ -187,7 +198,7 @@ VG_STATIC int addon_try_load_metadata( addon_reg *reg, vg_str folder_path ){
    return 1;
 }
 
-VG_STATIC void addon_print_info( addon_reg *reg ){
+static void addon_print_info( addon_reg *reg ){
    vg_info( "addon_reg #%u{\n", addon_system.registry_count );
    vg_info( "  type: %d\n", reg->alias.type );
    vg_info( "  workshop_id: " PRINTF_U64 "\n", reg->alias.workshop_id );
@@ -197,15 +208,17 @@ VG_STATIC void addon_print_info( addon_reg *reg ){
    vg_info( "}\n" );
 }
 
-VG_STATIC void addon_mount_finish( addon_reg *reg ){
+static void addon_mount_finish( addon_reg *reg ){
+#if 0
    addon_print_info( reg );
+#endif
    addon_system.registry_count ++;
 }
 
 /*
  * Mount a fully packaged addon, one that certainly has a addon.inf
  */
-VG_STATIC addon_reg *addon_mount_workshop_folder( PublishedFileId_t workshop_id,
+static addon_reg *addon_mount_workshop_folder( PublishedFileId_t workshop_id,
                                                   vg_str folder_path )
 {
    addon_reg *reg = addon_alloc_reg( workshop_id, k_addon_type_none );
@@ -239,7 +252,7 @@ VG_STATIC addon_reg *addon_mount_workshop_folder( PublishedFileId_t workshop_id,
 /*
  * Mount a local folder. may or may not have addon.inf
  */
-VG_STATIC addon_reg *addon_mount_local_addon( const char *folder,
+static addon_reg *addon_mount_local_addon( const char *folder,
                                               enum addon_type type,
                                               const char *content_ext )
 {
@@ -318,7 +331,7 @@ VG_STATIC addon_reg *addon_mount_local_addon( const char *folder,
 /*
  * Check all subscribed items
  */
-VG_STATIC void addon_mount_workshop_items(void){
+static void addon_mount_workshop_items(void){
    if( !steam_ready ) return;
    /*
     * Steam workshop scan
@@ -370,7 +383,7 @@ next_file_workshop:;
  * Scan a local content folder for addons. It must find at least one file with 
  * the specified content_ext to be considered.
  */
-VG_STATIC void addon_mount_content_folder( enum addon_type type,
+static void addon_mount_content_folder( enum addon_type type,
                                            const char *base_folder, 
                                            const char *content_ext )
 {