+VG_STATIC void world_write_preview( pointcloud_buffer *pcbuf ){
+ char path_buf[4096];
+ vg_str path;
+ vg_strnull( &path, path_buf, 4096 );
+
+ if( world_loader.reg ){
+ /* Don't want to override the one we get from the workshop */
+ if( world_loader.reg->alias.workshop_id ) return;
+
+ addon_get_content_folder( world_loader.reg, &path );
+ }
+ else{
+ vg_strcat( &path, "maps/" );
+ vg_strcat( &path, world_loader.override_name );
+ }
+
+ vg_strcat( &path, "/preview.bin" );
+
+ if( !vg_strgood( &path ) ) vg_fatal_error( "Path too long\n" );
+ FILE *fp = fopen( path_buf, "wb" );
+ if( !fp ) vg_fatal_error( "Cannot open '%s' for writing\n", path_buf );
+
+ fwrite( pcbuf, sizeof(struct pointcloud_buffer) +
+ sizeof(struct pointcloud_vert)*pcbuf->count, 1, fp );
+ fclose( fp );
+}
+