char worlds[3][4096];
u32 i=0;
- DIR *dir = opendir( folder.buffer );
- if( !dir ){
+ vg_dir dir;
+ if( !vg_dir_open(&dir, folder.buffer) ){
vg_error( "opendir('%s') failed\n", folder.buffer );
vg_async_call( async_skaterift_world_loaded, NULL, 0 );
return;
}
- struct dirent *entry;
- while( (entry = readdir(dir)) ){
- if( entry->d_type == DT_REG ){
- if( entry->d_name[0] == '.' ) continue;
+ while( vg_dir_next_entry(&dir) ){
+ if( vg_dir_entry_type(&dir) == k_vg_entry_type_file ){
+ const char *d_name = vg_dir_entry_name(&dir);
+ if( d_name[0] == '.' ) continue;
vg_str file = folder;
vg_strcat( &file, "/" );
- vg_strcat( &file, entry->d_name );
+ vg_strcat( &file, d_name );
if( !vg_strgood( &file ) ) continue;
char *ext = vg_strch( &file, '.' );
strcpy( worlds[i++], file.buffer );
}
}
- closedir(dir);
+ vg_dir_close(&dir);
if( i == 0 ){
vg_warn( "There are no .mdl files in the map folder.\n" );