store relative timestamps in save and bones

This commit is contained in:
nhmall
2026-04-13 06:39:54 -04:00
parent 7ed50f6ef8
commit 337c5189dd
3 changed files with 37 additions and 2 deletions

View File

@@ -35,6 +35,7 @@ staticfn boolean restgamestate(NHFILE *);
staticfn void rest_bubbles(NHFILE *);
staticfn void restore_gamelog(NHFILE *);
staticfn void restore_msghistory(NHFILE *);
staticfn void rest_adjust_levelflags(void);
#endif
/*
@@ -1106,7 +1107,7 @@ getlev(NHFILE *nhfp, int pid, xint8 lev)
Sfi_dest_area(nhfp, &svu.updest, "lev-updest");
Sfi_dest_area(nhfp, &svd.dndest, "lev-dndest");
Sfi_levelflags(nhfp, &svl.level.flags, "lev-level_flags");
rest_adjust_levelflags();
if (svd.doors) {
free(svd.doors);
svd.doors = 0;
@@ -1302,6 +1303,13 @@ getlev(NHFILE *nhfp, int pid, xint8 lev)
program_state.in_getlev = FALSE;
}
void
rest_adjust_levelflags(void)
{
/* adjust timestamps */
relative_time_to_moves(&svl.level.flags.stasis_until);
}
/* "name-role-race-gend-algn" occurs very early in a save file; sometimes we
want the whole thing, other times just "name" (for svp.plname[]) */
void