diff options
-rw-r--r-- | src/d_main.c | 76 | ||||
-rw-r--r-- | src/doomstat.h | 1 | ||||
-rw-r--r-- | src/m_misc.c | 67 | ||||
-rw-r--r-- | src/m_misc.h | 5 |
4 files changed, 74 insertions, 75 deletions
diff --git a/src/d_main.c b/src/d_main.c index b4d77961..d9f7e997 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -38,14 +38,6 @@ #include <stdlib.h> #include <string.h> -#ifdef _WIN32 -#include <io.h> -#else -#include <sys/stat.h> -#include <sys/types.h> -#endif - - #include "config.h" #include "deh_main.h" #include "doomdef.h" @@ -102,11 +94,6 @@ // void D_DoomLoop (void); -// Location where all configuration data is stored - -// default.cfg, savegames, etc. - -char * configdir; - // Location where savegames are stored char * savegamedir; @@ -1142,63 +1129,6 @@ void PrintDehackedBanners(void) } } -static void MakeDirectory(char *path) -{ -#ifdef _WIN32 - mkdir(path); -#else - mkdir(path, 0755); -#endif -} - - -// -// SetConfigDir: -// -// Sets the location of the configuration directory, where configuration -// files are stored - default.cfg, chocolate-doom.cfg, savegames, etc. -// - -static void SetConfigDir(void) -{ - char *homedir; - - homedir = getenv("HOME"); - - if (homedir != NULL) - { - // put all configuration in a config directory off the - // homedir - - configdir = malloc(strlen(homedir) + strlen(PACKAGE_TARNAME) + 5); - - sprintf(configdir, "%s/.%s/", homedir, PACKAGE_TARNAME); - - // make the directory if it doesnt already exist - - MakeDirectory(configdir); - - - } - else - { -#ifdef _WIN32 - // when given the -cdrom option, save config+savegames in - // c:\doomdata. This only applies under Windows. - - if (M_CheckParm("-cdrom") > 0) - { - printf(D_CDROM); - configdir = strdup("c:\\doomdata\\"); - } - else -#endif - { - configdir = strdup(""); - } - } -} - // // SetSaveGameDir // @@ -1222,7 +1152,7 @@ static void SetSaveGameDir(void) savegamedir = malloc(strlen(configdir) + 30); sprintf(savegamedir, "%ssavegames", configdir); - MakeDirectory(savegamedir); + M_MakeDirectory(savegamedir); // Find what subdirectory to use for savegames // @@ -1243,7 +1173,7 @@ static void SetSaveGameDir(void) strcat(savegamedir, "/"); strcat(savegamedir, iwads[i].name); strcat(savegamedir, "/"); - MakeDirectory(savegamedir); + M_MakeDirectory(savegamedir); break; } } @@ -1418,7 +1348,7 @@ void D_DoomMain (void) // find which dir to use for config files - SetConfigDir(); + M_SetConfigDir(); // turbo option if ( (p=M_CheckParm ("-turbo")) ) diff --git a/src/doomstat.h b/src/doomstat.h index 7d2ba3f9..e49ee54f 100644 --- a/src/doomstat.h +++ b/src/doomstat.h @@ -255,7 +255,6 @@ extern int maxammo[NUMAMMO]; // // File handling stuff. -extern char * configdir; extern char * savegamedir; extern char basedefault[1024]; extern FILE* debugfile; diff --git a/src/m_misc.c b/src/m_misc.c index 90e97da6..9f346212 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -109,6 +109,19 @@ M_DrawText return x; } +// +// Create a directory +// + +void M_MakeDirectory(char *path) +{ +#ifdef _WIN32 + mkdir(path); +#else + mkdir(path, 0755); +#endif +} + @@ -171,7 +184,11 @@ int M_ReadFile(char const *name, byte **buffer) // DEFAULTS // -// locations of config files +// Location where all configuration data is stored - +// default.cfg, savegames, etc. + +char * configdir; + int usemouse = 1; int usejoystick = 0; @@ -594,6 +611,54 @@ void M_LoadDefaults (void) LoadDefaultCollection(&extra_defaults); } +// +// SetConfigDir: +// +// Sets the location of the configuration directory, where configuration +// files are stored - default.cfg, chocolate-doom.cfg, savegames, etc. +// + +void M_SetConfigDir(void) +{ + char *homedir; + + homedir = getenv("HOME"); + + if (homedir != NULL) + { + // put all configuration in a config directory off the + // homedir + + configdir = malloc(strlen(homedir) + strlen(PACKAGE_TARNAME) + 5); + + sprintf(configdir, "%s/.%s/", homedir, PACKAGE_TARNAME); + + // make the directory if it doesnt already exist + + M_MakeDirectory(configdir); + } + else + { +#ifdef _WIN32 + // when given the -cdrom option, save config+savegames in + // c:\doomdata. This only applies under Windows. + + if (M_CheckParm("-cdrom") > 0) + { + printf(D_CDROM); + configdir = strdup("c:\\doomdata\\"); + + M_MakeDirectory(configdir); + } + else +#endif + { + configdir = strdup(""); + } + } +} + + // // SCREEN SHOTS diff --git a/src/m_misc.h b/src/m_misc.h index bbd4f269..2258ec78 100644 --- a/src/m_misc.h +++ b/src/m_misc.h @@ -53,6 +53,10 @@ void M_LoadDefaults (void); void M_SaveDefaults (void); +void M_SetConfigDir(void); + +void M_MakeDirectory(char *dir); + int M_DrawText @@ -61,5 +65,6 @@ M_DrawText boolean direct, char* string ); +extern char *configdir; #endif |