diff --git a/src/save.c b/src/save.c index 3ba551ea9..974f25995 100644 --- a/src/save.c +++ b/src/save.c @@ -316,7 +316,6 @@ savegamestate(NHFILE *nhfp) save_dungeon(nhfp, (boolean) !!perform_bwrite(nhfp), (boolean) !!release_data(nhfp)); savelevchn(nhfp); - /* svm.moves below will actually be read back into svo.omoves on restore */ if (nhfp->structlevel) { bwrite(nhfp->fd, (genericptr_t) &svm.moves, sizeof svm.moves); bwrite(nhfp->fd, (genericptr_t) &svq.quest_status, @@ -532,9 +531,12 @@ savelev_core(NHFILE *nhfp, xint8 lev) bwrite(nhfp->fd, (genericptr_t) &svl.lastseentyp[c][r], sizeof(schar)); } + /* svm.moves below will actually be read back into svo.omoves on restore */ if (nhfp->structlevel) { bwrite(nhfp->fd, (genericptr_t) &svm.moves, sizeof svm.moves); - save_stairs(nhfp); + } + save_stairs(nhfp); + if (nhfp->structlevel) { bwrite(nhfp->fd, (genericptr_t) &svu.updest, sizeof(dest_area)); bwrite(nhfp->fd, (genericptr_t) &svd.dndest, sizeof(dest_area)); bwrite(nhfp->fd, (genericptr_t) &svl.level.flags,