diff --git a/urogue/main.c b/urogue/main.c index eb0da36..fdb9932 100644 --- a/urogue/main.c +++ b/urogue/main.c @@ -27,6 +27,7 @@ #include "rogue.h" #define SAVEDIR "." +#define SCOREFILE "/var/local/games/roguelike/urogue.scr" FILE *fd_score = NULL; @@ -94,13 +95,21 @@ main(int argc, char *argv[]) /* Get default score file */ +#ifdef SCOREFILE + strncpy(score_file, SCOREFILE, 2*LINELEN); + score_file[2*LINELEN - 1] = '\0'; +#else strcpy(score_file, "urogue.scr"); +#endif fd_score = fopen(score_file, "r+"); if (fd_score == NULL) fd_score = fopen(score_file, "a+"); + if (!use_savedir) + md_normaluser(); + if ((env = getenv("OPTIONS")) != NULL) parse_opts(env); diff --git a/urogue/rogue.h b/urogue/rogue.h index a3bd889..8f6d64a 100644 --- a/urogue/rogue.h +++ b/urogue/rogue.h @@ -1811,6 +1811,7 @@ long md_random(void); void md_srandom(long seed); int md_readchar(WINDOW *win); int md_getuid(void); +void md_normaluser(void); #define NOOP(x) (x += 0) #define CCHAR(x) ( (char) (x & A_CHARTEXT) ) diff --git a/urogue/state.c b/urogue/state.c index 623cca6..5b68f99 100644 --- a/urogue/state.c +++ b/urogue/state.c @@ -1436,7 +1436,8 @@ restore_file(FILE *savef) // The file_name stored in the file no longer replaces its actual name. ur_free(str); str = ur_read_string(savef); - strcpy(score_file,str); + if (!use_savedir) + strcpy(score_file,str); ur_free(str); DUMPSTRING