improve selectsave handling for Windows

If there were outdated savefiles encountered during
startup, each individual one was getting a wait_synch
that required a <return> even though a message window
wasn't being used at that point.

Allow suppression of the individual per-file wait_synch()
calls on Windows, so that a single one can be done once
the selectsave processing is overwith.

This was a little messy because an indicator had to flow
down through validate(), uptodate(), etc.

There shouldn't be any change in how things behave on
any non-Windows platforms.
This commit is contained in:
nhmall
2023-09-22 15:14:53 -04:00
parent c868feb383
commit 14faa682c4
11 changed files with 41 additions and 61 deletions

View File

@@ -939,7 +939,7 @@ extern void paniclog(const char *, const char *);
extern void testinglog(const char *, const char *, const char *);
extern int validate_prefix_locations(char *);
#ifdef SELECTSAVED
extern char *plname_from_file(const char *);
extern char *plname_from_file(const char *, boolean);
#endif
extern char **get_saved_games(void);
extern void free_saved_games(char **);
@@ -2421,7 +2421,7 @@ extern int restore_menu(winid);
#endif
extern void minit(void);
extern boolean lookup_id_mapping(unsigned, unsigned *);
extern int validate(NHFILE *, const char *);
extern int validate(NHFILE *, const char *, boolean);
extern void reset_restpref(void);
extern void set_restpref(const char *);
extern void set_savepref(const char *);

View File

@@ -830,6 +830,7 @@ typedef struct {
#define UTD_CHECKFIELDCOUNTS 0x02
#define UTD_SKIP_SANITY1 0x04
#define UTD_SKIP_SAVEFILEINFO 0x08
#define UTD_WITHOUT_WAITSYNCH_PERFILE 0x10
#define ENTITIES 2
struct valuable_data {