getting stuff working on windows again
[carveJwlIkooP6JGAAIwe30JlM.git] / world_load.c
index d62029dbccab3b44321a6a3fb3881761dbd13f0c..4f5f8f4628fe242a7da595018420f1191690f24d 100644 (file)
@@ -131,21 +131,21 @@ static void skaterift_world_changer_thread( void *data )
    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, '.' );
@@ -160,7 +160,7 @@ static void skaterift_world_changer_thread( void *data )
          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" );