X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=addon.c;h=d408654100b3d5c5a8a0d66c7e7a45993c59fe08;hb=fdd41609e59c7df548682b25001f0015dc1acbea;hp=fde9f9d06750dfc0b86311b5c1b703c0dd08e05d;hpb=cb1d2f9fbec8a274aaf7a80c5fb552b928148b1e;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/addon.c b/addon.c index fde9f9d..d408654 100644 --- a/addon.c +++ b/addon.c @@ -42,6 +42,34 @@ static u32 get_index_from_addon( enum workshop_file_type type, addon_reg *a ){ return 0xffffffff; } +static u32 addon_match( enum workshop_file_type type, + u64 workshop_id, const char *foldername ){ + u32 foldername_djb2 = vg_strdjb2( foldername ); + + u32 count = 0; + for( u32 i=0; counttype == type ){ + + if( workshop_id ){ + if( workshop_id == reg->workshop_id ) + return count; + } + else{ + if( reg->foldername_hash == foldername_djb2 ){ + if( !strcmp( reg->foldername, foldername ) ){ + return count; + } + } + } + + count ++; + } + } + + return 0xffffffff; +} + 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 ); @@ -140,6 +168,7 @@ VG_STATIC void addon_print_info( addon_reg *reg ){ } VG_STATIC void addon_mount_finish( addon_reg *reg ){ + addon_print_info( reg ); addon_system.registry_count ++; } @@ -189,7 +218,7 @@ VG_STATIC addon_reg *addon_mount_local_addon( const char *folder, vg_strnull( &folder_path, folder_path_buf, 4096 ); vg_strcat( &folder_path, folder ); - const char *folder_name = vg_strch( &folder_path, '/' ); + const char *folder_name = vg_strch( &folder_path, '/' )+1; u32 folder_hash = vg_strdjb2(folder_name); for( u32 i=0; i