X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=sidebyside;f=addon.c;h=b599c304a04e2c91f3965460774db4ba22bd6864;hb=b1d22bbb87583cea9fde7620eb1fc16189be5113;hp=fde9f9d06750dfc0b86311b5c1b703c0dd08e05d;hpb=cb1d2f9fbec8a274aaf7a80c5fb552b928148b1e;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/addon.c b/addon.c index fde9f9d..b599c30 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 ); @@ -189,7 +217,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