Fix saving xlogfile realtime
This commit is contained in:
@@ -14,7 +14,7 @@
|
|||||||
* Incrementing EDITLEVEL can be used to force invalidation of old bones
|
* Incrementing EDITLEVEL can be used to force invalidation of old bones
|
||||||
* and save files.
|
* and save files.
|
||||||
*/
|
*/
|
||||||
#define EDITLEVEL 61
|
#define EDITLEVEL 62
|
||||||
|
|
||||||
#define COPYRIGHT_BANNER_A \
|
#define COPYRIGHT_BANNER_A \
|
||||||
"NetHack, Copyright 1985-2015"
|
"NetHack, Copyright 1985-2015"
|
||||||
|
|||||||
+1
-1
@@ -67,7 +67,7 @@ struct u_achieve {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct u_realtime {
|
struct u_realtime {
|
||||||
time_t realtime; /* actual playing time up until the last restore */
|
long realtime; /* actual playing time up until the last restore, seconds */
|
||||||
time_t restored; /* time the game was started or restored */
|
time_t restored; /* time the game was started or restored */
|
||||||
time_t endtime;
|
time_t endtime;
|
||||||
};
|
};
|
||||||
|
|||||||
+1
-1
@@ -537,7 +537,7 @@ newgame()
|
|||||||
#endif
|
#endif
|
||||||
program_state.something_worth_saving++; /* useful data now exists */
|
program_state.something_worth_saving++; /* useful data now exists */
|
||||||
|
|
||||||
urealtime.realtime = (time_t)0L;
|
urealtime.realtime = 0L;
|
||||||
#if defined(BSD) && !defined(POSIX_TYPES)
|
#if defined(BSD) && !defined(POSIX_TYPES)
|
||||||
(void) time((long *)&urealtime.restored);
|
(void) time((long *)&urealtime.restored);
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -916,7 +916,7 @@ die:
|
|||||||
topten figure it out separately and possibly getting different
|
topten figure it out separately and possibly getting different
|
||||||
time or even day if player is slow responding to --More-- */
|
time or even day if player is slow responding to --More-- */
|
||||||
endtime = getnow();
|
endtime = getnow();
|
||||||
urealtime.realtime += (endtime - urealtime.restored);
|
urealtime.realtime += (long)(endtime - urealtime.restored);
|
||||||
|
|
||||||
/* Sometimes you die on the first move. Life's not fair.
|
/* Sometimes you die on the first move. Life's not fair.
|
||||||
* On those rare occasions you get hosed immediately, go out
|
* On those rare occasions you get hosed immediately, go out
|
||||||
|
|||||||
+1
-1
@@ -568,7 +568,7 @@ unsigned int *stuckid, *steedid;
|
|||||||
foo = time_from_yyyymmddhhmmss(timebuf);
|
foo = time_from_yyyymmddhhmmss(timebuf);
|
||||||
|
|
||||||
ReadTimebuf(ubirthday);
|
ReadTimebuf(ubirthday);
|
||||||
ReadTimebuf(urealtime.realtime);
|
mread(fd, &urealtime.realtime, sizeof(urealtime.realtime));
|
||||||
ReadTimebuf(urealtime.restored);
|
ReadTimebuf(urealtime.restored);
|
||||||
#if defined(BSD) && !defined(POSIX_TYPES)
|
#if defined(BSD) && !defined(POSIX_TYPES)
|
||||||
(void) time((long *)&urealtime.restored);
|
(void) time((long *)&urealtime.restored);
|
||||||
|
|||||||
+2
-2
@@ -307,10 +307,10 @@ register int fd, mode;
|
|||||||
#ifdef SYSFLAGS
|
#ifdef SYSFLAGS
|
||||||
bwrite(fd, (genericptr_t) &sysflags, sizeof(struct sysflag));
|
bwrite(fd, (genericptr_t) &sysflags, sizeof(struct sysflag));
|
||||||
#endif
|
#endif
|
||||||
urealtime.realtime += (getnow() - urealtime.restored);
|
urealtime.realtime += (long)(getnow() - urealtime.restored);
|
||||||
bwrite(fd, (genericptr_t) &u, sizeof(struct you));
|
bwrite(fd, (genericptr_t) &u, sizeof(struct you));
|
||||||
bwrite(fd, yyyymmddhhmmss(ubirthday), 14);
|
bwrite(fd, yyyymmddhhmmss(ubirthday), 14);
|
||||||
bwrite(fd, yyyymmddhhmmss(urealtime.realtime), 14);
|
bwrite(fd, (genericptr_t) &urealtime.realtime, sizeof(urealtime.realtime));
|
||||||
bwrite(fd, yyyymmddhhmmss(urealtime.restored), 14);
|
bwrite(fd, yyyymmddhhmmss(urealtime.restored), 14);
|
||||||
save_killers(fd, mode);
|
save_killers(fd, mode);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user