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; count<addon_system.registry_type_counts[type]; i++ ){
+ addon_reg *reg = &addon_system.registry[i];
+ if( reg->type == 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 );
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<addon_system.registry_count; i++ ){
addon_reg *reg = &addon_system.registry[i];