#endif
uid = (unsigned long) getuid();
bwrite(fd, (genericptr_t) &uid, sizeof uid);
- bwrite(fd, (genericptr_t) &g.context, sizeof(struct context_info));
- bwrite(fd, (genericptr_t) &flags, sizeof(struct flag));
- bwrite(fd, (genericptr_t) &context, sizeof context);
++ bwrite(fd, (genericptr_t) &g.context, sizeof g.context);
+ bwrite(fd, (genericptr_t) &flags, sizeof flags);
#ifdef SYSFLAGS
- bwrite(fd, (genericptr_t) &sysflags, sizeof(struct sysflag));
+ bwrite(fd, (genericptr_t) &sysflags, sysflags);
#endif
urealtime.finish_time = getnow();
urealtime.realtime += (long) (urealtime.finish_time
saveobjchn(fd, (struct obj *) 0, mode);
}
- saveobjchn(fd, migrating_objs, mode);
- savemonchn(fd, migrating_mons, mode);
+ saveobjchn(fd, g.migrating_objs, mode);
+ savemonchn(fd, g.migrating_mons, mode);
if (release_data(mode)) {
- invent = 0;
- migrating_objs = 0;
- migrating_mons = 0;
+ g.invent = 0;
+ g.migrating_objs = 0;
+ g.migrating_mons = 0;
}
- bwrite(fd, (genericptr_t) g.mvitals, sizeof(g.mvitals));
- bwrite(fd, (genericptr_t) mvitals, sizeof mvitals);
++ bwrite(fd, (genericptr_t) g.mvitals, sizeof g.mvitals);
save_dungeon(fd, (boolean) !!perform_bwrite(mode),
(boolean) !!release_data(mode));
savelevchn(fd, mode);
- bwrite(fd, (genericptr_t) &moves, sizeof moves);
- bwrite(fd, (genericptr_t) &monstermoves, sizeof monstermoves);
- bwrite(fd, (genericptr_t) &quest_status, sizeof quest_status);
- bwrite(fd, (genericptr_t) spl_book,
+ bwrite(fd, (genericptr_t) &g.moves, sizeof g.moves);
+ bwrite(fd, (genericptr_t) &g.monstermoves, sizeof g.monstermoves);
- bwrite(fd, (genericptr_t) &g.quest_status, sizeof(struct q_score));
++ bwrite(fd, (genericptr_t) &g.quest_status, sizeof g.quest_status);
+ bwrite(fd, (genericptr_t) g.spl_book,
sizeof(struct spell) * (MAXSPELL + 1));
save_artifacts(fd);
save_oracles(fd, mode);
if (tricked_fileremoved(fd, whynot))
return;
- (void) read(fd, (genericptr_t) &hpid, sizeof(hpid));
+ (void) read(fd, (genericptr_t) &hpid, sizeof hpid);
- if (hackpid != hpid) {
+ if (g.hackpid != hpid) {
Sprintf(whynot, "Level #0 pid (%d) doesn't match ours (%d)!",
- hpid, hackpid);
+ hpid, g.hackpid);
pline1(whynot);
- Strcpy(killer.name, whynot);
+ Strcpy(g.killer.name, whynot);
done(TRICKED);
}
(void) nhclose(fd);
done(TRICKED);
return;
}
- (void) write(fd, (genericptr_t) &g.hackpid, sizeof(g.hackpid));
- (void) write(fd, (genericptr_t) &hackpid, sizeof hackpid);
++ (void) write(fd, (genericptr_t) &g.hackpid, sizeof g.hackpid);
if (flags.ins_chkpt) {
int currlev = ledger_no(&u.uz);
count_only = (mode & COUNT_SAVE);
#endif
if (lev >= 0 && lev <= maxledgerno())
- level_info[lev].flags |= VISITED;
- bwrite(fd, (genericptr_t) &hackpid, sizeof hackpid);
+ g.level_info[lev].flags |= VISITED;
- bwrite(fd, (genericptr_t) &g.hackpid, sizeof(g.hackpid));
++ bwrite(fd, (genericptr_t) &g.hackpid, sizeof g.hackpid);
#ifdef TOS
tlev = lev;
tlev &= 0x00ff;
- bwrite(fd, (genericptr_t) &tlev, sizeof(tlev));
+ bwrite(fd, (genericptr_t) &tlev, sizeof tlev);
#else
- bwrite(fd, (genericptr_t) &lev, sizeof(lev));
+ bwrite(fd, (genericptr_t) &lev, sizeof lev);
#endif
- savecemetery(fd, mode, &level.bonesinfo);
+ savecemetery(fd, mode, &g.level.bonesinfo);
- savelevl(fd,
- (boolean) ((sfsaveinfo.sfi1 & SFI1_RLECOMP) == SFI1_RLECOMP));
- bwrite(fd, (genericptr_t) g.lastseentyp, sizeof(g.lastseentyp));
- bwrite(fd, (genericptr_t) &g.monstermoves, sizeof(g.monstermoves));
- bwrite(fd, (genericptr_t) &g.upstair, sizeof(stairway));
- bwrite(fd, (genericptr_t) &g.dnstair, sizeof(stairway));
- bwrite(fd, (genericptr_t) &g.upladder, sizeof(stairway));
- bwrite(fd, (genericptr_t) &g.dnladder, sizeof(stairway));
- bwrite(fd, (genericptr_t) &g.sstairs, sizeof(stairway));
- bwrite(fd, (genericptr_t) &g.updest, sizeof(dest_area));
- bwrite(fd, (genericptr_t) &g.dndest, sizeof(dest_area));
- bwrite(fd, (genericptr_t) &g.level.flags, sizeof(g.level.flags));
- bwrite(fd, (genericptr_t) g.doors, sizeof(g.doors));
+ savelevl(fd, (boolean) ((sfsaveinfo.sfi1 & SFI1_RLECOMP) == SFI1_RLECOMP));
- bwrite(fd, (genericptr_t) lastseentyp, sizeof lastseentyp);
- bwrite(fd, (genericptr_t) &monstermoves, sizeof monstermoves);
- bwrite(fd, (genericptr_t) &upstair, sizeof (stairway));
- bwrite(fd, (genericptr_t) &dnstair, sizeof (stairway));
- bwrite(fd, (genericptr_t) &upladder, sizeof (stairway));
- bwrite(fd, (genericptr_t) &dnladder, sizeof (stairway));
- bwrite(fd, (genericptr_t) &sstairs, sizeof (stairway));
- bwrite(fd, (genericptr_t) &updest, sizeof (dest_area));
- bwrite(fd, (genericptr_t) &dndest, sizeof (dest_area));
- bwrite(fd, (genericptr_t) &level.flags, sizeof level.flags);
- bwrite(fd, (genericptr_t) doors, sizeof doors);
++ bwrite(fd, (genericptr_t) g.lastseentyp, sizeof g.lastseentyp);
++ bwrite(fd, (genericptr_t) &g.monstermoves, sizeof g.monstermoves);
++ bwrite(fd, (genericptr_t) &g.upstair, sizeof (stairway));
++ bwrite(fd, (genericptr_t) &g.dnstair, sizeof (stairway));
++ bwrite(fd, (genericptr_t) &g.upladder, sizeof (stairway));
++ bwrite(fd, (genericptr_t) &g.dnladder, sizeof (stairway));
++ bwrite(fd, (genericptr_t) &g.sstairs, sizeof (stairway));
++ bwrite(fd, (genericptr_t) &g.updest, sizeof (dest_area));
++ bwrite(fd, (genericptr_t) &g.dndest, sizeof (dest_area));
++ bwrite(fd, (genericptr_t) &g.level.flags, sizeof g.level.flags);
++ bwrite(fd, (genericptr_t) g.doors, sizeof g.doors);
save_rooms(fd); /* no dynamic memory to reclaim */
- /* from here on out, saving also involves allocated memory cleanup */
- skip_lots:
+ /* from here on out, saving also involves allocated memory cleanup */
+ skip_lots:
/* this comes before the map, so need cleanup here if we skipped */
if (mode == FREE_SAVE)
- savecemetery(fd, mode, &level.bonesinfo);
+ savecemetery(fd, mode, &g.level.bonesinfo);
/* must be saved before mons, objs, and buried objs */
save_timers(fd, mode, RANGE_LEVEL);
save_light_sources(fd, mode, RANGE_LEVEL);
s_level *tmplev, *tmplev2;
int cnt = 0;
- for (tmplev = sp_levchn; tmplev; tmplev = tmplev->next)
+ for (tmplev = g.sp_levchn; tmplev; tmplev = tmplev->next)
cnt++;
if (perform_bwrite(mode))
- bwrite(fd, (genericptr_t) &cnt, sizeof(int));
+ bwrite(fd, (genericptr_t) &cnt, sizeof cnt);
- for (tmplev = sp_levchn; tmplev; tmplev = tmplev2) {
+ for (tmplev = g.sp_levchn; tmplev; tmplev = tmplev2) {
tmplev2 = tmplev->next;
if (perform_bwrite(mode))
- bwrite(fd, (genericptr_t) tmplev, sizeof(s_level));
+ bwrite(fd, (genericptr_t) tmplev, sizeof *tmplev);
if (release_data(mode))
free((genericptr_t) tmplev);
}
mtmp = mtmp2;
}
if (perform_bwrite(mode))
- bwrite(fd, (genericptr_t) &minusone, sizeof(int));
+ bwrite(fd, (genericptr_t) &minusone, sizeof (int));
}
-/* save traps; ftrap is the only trap chain so the 2nd arg is superfluous */
+/* save traps; g.ftrap is the only trap chain so the 2nd arg is superfluous */
STATIC_OVL void
savetrapchn(fd, trap, mode)
int fd;
bufoff(fd);
/* bwrite() before bufon() uses plain write() */
- bwrite(fd, (genericptr_t) &plsiztmp, sizeof(plsiztmp));
+ bwrite(fd, (genericptr_t) &plsiztmp, sizeof plsiztmp);
- bwrite(fd, (genericptr_t) plname, plsiztmp);
+ bwrite(fd, (genericptr_t) g.plname, plsiztmp);
bufon(fd);
return;
}