Fail loudly when config isn't writable

This commit is contained in:
AJ Martinez 2022-05-27 20:07:37 -05:00
parent 34fd13be14
commit 7f46eb72bc

View file

@ -999,6 +999,7 @@ void D_SRB2Main(void)
lumpinfo_t *lumpinfo; lumpinfo_t *lumpinfo;
UINT16 wadnum; UINT16 wadnum;
char *name; char *name;
FILE *tmpfile;
INT32 pstartmap = 1; INT32 pstartmap = 1;
boolean autostart = false; boolean autostart = false;
@ -1126,6 +1127,19 @@ void D_SRB2Main(void)
configfile[sizeof configfile - 1] = '\0'; configfile[sizeof configfile - 1] = '\0';
// If config isn't writable, tons of behavior will be broken.
// Fail loudly before things get confusing!
tmpfile = fopen(configfile, "w");
if (!tmpfile)
{
#if defined (_WIN32)
I_Error("Couldn't write game config.\nMake sure the game is installed somewhere it has write permissions.\n\n(Don't use the Downloads folder, Program Files, or your desktop!\nIf unsure, we recommend making a subfolder in your Documents folder.)");
#else
I_Error("Couldn't write game config.\nMake sure you've installed the game somewhere it has write permissions.");
#endif
}
fclose(tmpfile);
#ifdef _arch_dreamcast #ifdef _arch_dreamcast
strcpy(downloaddir, "/ram"); // the dreamcast's TMP strcpy(downloaddir, "/ram"); // the dreamcast's TMP
#endif #endif