Refuse to restore if the character is dead.
This prevents recovering from death by killing the game between death and exit, producing an automatic save.
This commit is contained in:
parent
5a47554e45
commit
2d117230ed
4 changed files with 28 additions and 0 deletions
|
|
@ -245,6 +245,12 @@ char **envp;
|
|||
}
|
||||
}
|
||||
|
||||
if (pstats.s_hpt <= 0) {
|
||||
endwin();
|
||||
printf("This character is already dead.\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
environ = envp;
|
||||
strcpy(file_name, file);
|
||||
setup();
|
||||
|
|
|
|||
|
|
@ -234,6 +234,12 @@ restore(char *file, char **envp)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (pstats.s_hpt <= 0) {
|
||||
endwin();
|
||||
printf("This character is already dead.\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
environ = envp;
|
||||
strcpy(file_name, file);
|
||||
setup();
|
||||
|
|
|
|||
|
|
@ -245,6 +245,7 @@ char **envp;
|
|||
|
||||
if (slines > LINES)
|
||||
{
|
||||
endwin();
|
||||
printf("Sorry, original game was played on a screen with %d lines.\n",slines);
|
||||
printf("Current screen only has %d lines. Unable to restore game\n",LINES);
|
||||
return(FALSE);
|
||||
|
|
@ -252,6 +253,7 @@ char **envp;
|
|||
|
||||
if (scols > COLS)
|
||||
{
|
||||
endwin();
|
||||
printf("Sorry, original game was played on a screen with %d columns.\n",scols);
|
||||
printf("Current screen only has %d columns. Unable to restore game\n",COLS);
|
||||
return(FALSE);
|
||||
|
|
@ -276,6 +278,7 @@ char **envp;
|
|||
#endif
|
||||
md_unlink(file) < 0)
|
||||
{
|
||||
endwin();
|
||||
printf("Cannot unlink file\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -288,10 +291,17 @@ char **envp;
|
|||
#endif
|
||||
if (sbuf2.st_nlink != 1 || syml)
|
||||
{
|
||||
endwin();
|
||||
printf("Cannot restore from a linked file\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (pstats.s_hpt <= 0) {
|
||||
endwin();
|
||||
printf("This character is already dead.\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#ifdef SIGTSTP
|
||||
signal(SIGTSTP, tstp);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -342,6 +342,12 @@ char *file, **envp;
|
|||
|
||||
}
|
||||
|
||||
if (him->s_hpt <= 0) {
|
||||
endwin();
|
||||
printf("This character is already dead.\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
environ = envp;
|
||||
|
||||
strcpy(file_name, file);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue