Changeset - r11258:7a85130e9153
[Not reviewed]
master
0 1 0
rubidium - 15 years ago 2009-03-04 14:25:53
rubidium@openttd.org
(svn r15612) -Codechange: unduplicate directory creation
1 file changed with 8 insertions and 7 deletions:
0 comments (0 inline, 0 general)
src/fileio.cpp
Show inline comments
 
@@ -926,37 +926,38 @@ void DeterminePaths(const char *exe)
 
					_config_file = str_fmt("%sopenttd.cfg", _personal_dir);
 
					break;
 
				}
 
			}
 
		}
 
	}
 

	
 
	DEBUG(misc, 3, "%s found as personal directory", _personal_dir);
 

	
 
	_highscore_file = str_fmt("%shs.dat", _personal_dir);
 
	_log_file = str_fmt("%sopenttd.log",  _personal_dir);
 

	
 
	char *save_dir     = str_fmt("%s%s", _personal_dir, FioGetSubdirectory(SAVE_DIR));
 
	char *autosave_dir = str_fmt("%s%s", _personal_dir, FioGetSubdirectory(AUTOSAVE_DIR));
 

	
 
	/* Make the necessary folders */
 
#if !defined(__MORPHOS__) && !defined(__AMIGA__) && defined(WITH_PERSONAL_DIR)
 
	FioCreateDirectory(_personal_dir);
 
#endif
 

	
 
	FioCreateDirectory(save_dir);
 
	FioCreateDirectory(autosave_dir);
 
	static const Subdirectory default_subdirs[] = {
 
		SAVE_DIR, AUTOSAVE_DIR
 
	};
 

	
 
	free(save_dir);
 
	free(autosave_dir);
 
	for (uint i = 0; i < lengthof(default_subdirs); i++) {
 
		char *dir = str_fmt("%s%s", _personal_dir, FioGetSubdirectory(default_subdirs[i]));
 
		FioCreateDirectory(dir);
 
		free(dir);
 
	}
 

	
 
	/* If we have network we make a directory for the autodownloading of content */
 
	_searchpaths[SP_AUTODOWNLOAD_DIR] = str_fmt("%s%s", _personal_dir, "content_download" PATHSEP);
 
#ifdef ENABLE_NETWORK
 
	FioCreateDirectory(_searchpaths[SP_AUTODOWNLOAD_DIR]);
 

	
 
	/* Create the directory for each of the types of content */
 
	const Subdirectory dirs[] = { SCENARIO_DIR, HEIGHTMAP_DIR, DATA_DIR, AI_DIR, AI_LIBRARY_DIR };
 
	for (uint i = 0; i < lengthof(dirs); i++) {
 
		char *tmp = str_fmt("%s%s", _searchpaths[SP_AUTODOWNLOAD_DIR], FioGetSubdirectory(dirs[i]));
 
		FioCreateDirectory(tmp);
 
		free(tmp);
0 comments (0 inline, 0 general)