Fix saving xlogfile realtime

This commit is contained in:
Pasi Kallinen
2015-04-17 10:35:05 +03:00
parent e1155aca6f
commit 8c41a962a7
6 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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);