| 2662 | |
| 2663 | |
| 2664 | void |
| 2665 | rm_mapseen(int ledger_num) |
| 2666 | { |
| 2667 | mapseen *mptr, *mprev = (mapseen *) 0; |
| 2668 | struct cemetery *bp, *bpnext; |
| 2669 | |
| 2670 | for (mptr = svm.mapseenchn; mptr; mprev = mptr, mptr = mptr->next) |
| 2671 | if (svd.dungeons[mptr->lev.dnum].ledger_start + mptr->lev.dlevel |
| 2672 | == ledger_num) |
| 2673 | break; |
| 2674 | if (!mptr) |
| 2675 | return; |
| 2676 | |
| 2677 | if (mptr->custom) |
| 2678 | free((genericptr_t) mptr->custom), mptr->custom = (char *) NULL; |
| 2679 | |
| 2680 | bpnext = mptr->final_resting_place; |
| 2681 | while ((bp = bpnext) != NULL) { |
| 2682 | bpnext = bp->next; |
| 2683 | free((genericptr_t) bp); |
| 2684 | } |
| 2685 | |
| 2686 | if (mprev) { |
| 2687 | mprev->next = mptr->next; |
| 2688 | } else { |
| 2689 | svm.mapseenchn = mptr->next; |
| 2690 | } |
| 2691 | free(mptr); |
| 2692 | } |
| 2693 | |
| 2694 | staticfn void |
| 2695 | save_mapseen(NHFILE *nhfp, mapseen *mptr) |