Windows Store support for NetHack 3.6.

This commit is contained in:
Bart House
2019-10-29 21:28:39 -07:00
parent 9258cb99e6
commit 43ef5ef7fa
66 changed files with 963 additions and 136 deletions

View File

@@ -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;
}