Windows Store support for NetHack 3.6.
This commit is contained in:
47
src/files.c
47
src/files.c
@@ -944,7 +944,7 @@ boolean regularize_it;
|
||||
|
||||
/* Obtain the name of the logged on user and incorporate
|
||||
* it into the name. */
|
||||
Sprintf(fnamebuf, "%s-%s", get_username(0), plname);
|
||||
Sprintf(fnamebuf, "%s", plname);
|
||||
if (regularize_it)
|
||||
++legal; /* skip '*' wildcard character */
|
||||
(void) fname_encode(legal, '%', fnamebuf, encodedfnamebuf, BUFSZ);
|
||||
@@ -1138,6 +1138,10 @@ get_saved_games()
|
||||
{
|
||||
char *foundfile;
|
||||
const char *fq_save;
|
||||
const char *fq_new_save;
|
||||
const char *fq_old_save;
|
||||
char **files = 0;
|
||||
int i;
|
||||
|
||||
Strcpy(plname, "*");
|
||||
set_savefile_name(FALSE);
|
||||
@@ -1153,20 +1157,44 @@ get_saved_games()
|
||||
++n;
|
||||
} while (findnext());
|
||||
}
|
||||
|
||||
if (n > 0) {
|
||||
result = (char **) alloc((n + 1) * sizeof(char *)); /* at most */
|
||||
(void) memset((genericptr_t) result, 0, (n + 1) * sizeof(char *));
|
||||
files = (char **) alloc((n + 1) * sizeof(char *)); /* at most */
|
||||
(void) memset((genericptr_t) files, 0, (n + 1) * sizeof(char *));
|
||||
if (findfirst((char *) fq_save)) {
|
||||
j = n = 0;
|
||||
i = 0;
|
||||
do {
|
||||
char *r;
|
||||
r = plname_from_file(foundfile);
|
||||
if (r)
|
||||
result[j++] = r;
|
||||
++n;
|
||||
files[i++] = strdup(foundfile);
|
||||
} while (findnext());
|
||||
}
|
||||
}
|
||||
|
||||
if (n > 0) {
|
||||
result = (char **) alloc((n + 1) * sizeof(char *)); /* at most */
|
||||
(void) memset((genericptr_t) result, 0, (n + 1) * sizeof(char *));
|
||||
for(i = 0; i < n; i++) {
|
||||
char *r;
|
||||
r = plname_from_file(files[i]);
|
||||
|
||||
if (r) {
|
||||
|
||||
/* rename file if it is not named as expected */
|
||||
Strcpy(plname, r);
|
||||
set_savefile_name(FALSE);
|
||||
fq_new_save = fqname(SAVEF, SAVEPREFIX, 0);
|
||||
fq_old_save = fqname(files[i], SAVEPREFIX, 1);
|
||||
|
||||
if(strcmp(fq_old_save, fq_new_save) != 0 &&
|
||||
!file_exists(fq_new_save))
|
||||
rename(fq_old_save, fq_new_save);
|
||||
|
||||
result[j++] = r;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
free_saved_games(files);
|
||||
|
||||
}
|
||||
#endif
|
||||
#if defined(UNIX) && defined(QT_GRAPHICS)
|
||||
@@ -3169,6 +3197,7 @@ fopen_sym_file()
|
||||
FILE *fp;
|
||||
|
||||
fp = fopen_datafile(SYMBOLS, "r", HACKPREFIX);
|
||||
|
||||
return fp;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user