projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More ARB tagging.
[open-adventure.git]
/
saveresume.c
diff --git
a/saveresume.c
b/saveresume.c
index de3ebfe7980ed1c36121fa0a127e02be84b8e984..6cb48ae058c557bdb5b22e86faa540beefeb9242 100644
(file)
--- a/
saveresume.c
+++ b/
saveresume.c
@@
-3,6
+3,7
@@
#include "advent.h"
#include "database.h"
#include "advent.h"
#include "database.h"
+#include "newdb.h"
#include "linenoise/linenoise.h"
/*
#include "linenoise/linenoise.h"
/*
@@
-33,32
+34,33
@@
int saveresume(FILE *input, bool resume)
{
long i, k;
FILE *fp = NULL;
{
long i, k;
FILE *fp = NULL;
- char *name;
-
+
if (!resume) {
/* Suspend. Offer to save things in a file, but charging
* some points (so can't win by using saved games to retry
* battles or to start over after learning zzword). */
if (!resume) {
/* Suspend. Offer to save things in a file, but charging
* some points (so can't win by using saved games to retry
* battles or to start over after learning zzword). */
- RSPEAK(260);
- if (!YES(input,
200,54,54)) return(2012)
;
+ RSPEAK(
ARB_
260);
+ if (!YES(input,
ARB_200,ARB_54,ARB_54)) return GO_CLEAROBJ
;
game.saved=game.saved+5;
}
else
{
/* Resume. Read a suspended game back from a file. */
if (game.loc != 1 || game.abbrev[1] != 1) {
game.saved=game.saved+5;
}
else
{
/* Resume. Read a suspended game back from a file. */
if (game.loc != 1 || game.abbrev[1] != 1) {
- RSPEAK(268);
- if (!YES(input,
200,54,54)) return(2012)
;
+ RSPEAK(
ARB_
268);
+ if (!YES(input,
ARB_200,ARB_54,ARB_54)) return GO_CLEAROBJ
;
}
}
while (fp == NULL) {
}
}
while (fp == NULL) {
- name = linenoise("File name: ");
+ char* name = linenoise("\nFile name: ");
+ if (name == NULL)
+ return GO_TOP;
fp = fopen(name,(resume ? READ_MODE : WRITE_MODE));
if (fp == NULL)
printf("Can't open file %s, try again.\n", name);
fp = fopen(name,(resume ? READ_MODE : WRITE_MODE));
if (fp == NULL)
printf("Can't open file %s, try again.\n", name);
+ linenoiseFree(name);
}
}
- linenoiseFree(name);
DATIME(&i,&k);
k=i+650*k;
DATIME(&i,&k);
k=i+650*k;
@@
-72,7
+74,7
@@
int saveresume(FILE *input, bool resume)
save.bivalve = OBJTXT[OYSTER];
IGNORE(fwrite(&save, sizeof(struct save_t), 1, fp));
fclose(fp);
save.bivalve = OBJTXT[OYSTER];
IGNORE(fwrite(&save, sizeof(struct save_t), 1, fp));
fclose(fp);
- RSPEAK(266);
+ RSPEAK(
ARB_
266);
exit(0);
} else {
IGNORE(fread(&save, sizeof(struct save_t), 1, fp));
exit(0);
} else {
IGNORE(fread(&save, sizeof(struct save_t), 1, fp));
@@
-80,14
+82,14
@@
int saveresume(FILE *input, bool resume)
if (save.version != VRSION) {
SETPRM(1,k/10,MOD(k,10));
SETPRM(3,VRSION/10,MOD(VRSION,10));
if (save.version != VRSION) {
SETPRM(1,k/10,MOD(k,10));
SETPRM(3,VRSION/10,MOD(VRSION,10));
- RSPEAK(269);
- return(2000);
+ RSPEAK(ARB_269);
+ } else {
+ memcpy(&game, &save.game, sizeof(struct game_t));
+ OBJSND[BIRD] = save.bird;
+ OBJTXT[OYSTER] = save.bivalve;
+ game.zzword=RNDVOC(3,game.zzword);
}
}
- memcpy(&game, &save.game, sizeof(struct game_t));
- OBJSND[BIRD] = save.bird;
- OBJTXT[OYSTER] = save.bivalve;
- game.zzword=RNDVOC(3,game.zzword);
- return(2000);
+ return GO_TOP;
}
}
}
}