diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-11-25 00:01:38 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-11-25 00:01:38 +0000 |
commit | 97f93f7d2dd30fee884ee4eeb8a16dcb51cf4a7c (patch) | |
tree | ef959b41c9373a02d6424717be5cbcbd1c72782f /crawl-ref/source/ouch.cc | |
parent | be49ad27a08b4d5a5e347e6d8a2e6852f81c4a8b (diff) | |
download | crawl-ref-97f93f7d2dd30fee884ee4eeb8a16dcb51cf4a7c.tar.gz crawl-ref-97f93f7d2dd30fee884ee4eeb8a16dcb51cf4a7c.zip |
Allow ziggurats placed in Pandemonium to return to the same Pan level when the player leaves the ziggurat. Breaks saves.
Cleaned up up_stairs() and down_stairs() to remove spurious depth changes when changing you.level_type - depth (you.your_level) now changes only for stairs with both ends in LEVEL_DUNGEON.
All levels are now saved on exit, including non LEVEL_DUNGEON levels. Re-entering non-dungeon levels from down_stairs will still delete the old level. Re-entering non-dungeon levels from up_stairs (i.e. returning to a non-dungeon level from some other place, like a ziggurat) will reload the old level.
Fixed bogus marker trashing when player attempts to use a Zot entrance with insufficient runes.
Delete .msg files when game ends.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7598 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/ouch.cc')
-rw-r--r-- | crawl-ref/source/ouch.cc | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/crawl-ref/source/ouch.cc b/crawl-ref/source/ouch.cc index 8d797a1e31..a00a296e8d 100644 --- a/crawl-ref/source/ouch.cc +++ b/crawl-ref/source/ouch.cc @@ -1007,18 +1007,16 @@ void end_game( scorefile_entry &se ) } // clean all levels that we think we have ever visited - for (int level = 0; level < MAX_LEVELS; level++) + for (level_id_set::const_iterator i = Generated_Levels.begin(); + i != Generated_Levels.end(); ++i) { - for (int dungeon = 0; dungeon < NUM_BRANCHES; dungeon++) - { - if (tmp_file_pairs[level][dungeon]) - { - unlink( - make_filename( you.your_name, level, - static_cast<branch_type>(dungeon), - LEVEL_DUNGEON, false ).c_str() ); - } - } + const level_id &place(*i); + unlink( + make_filename( you.your_name, + place.absdepth(), + place.branch, + place.level_type, + false ).c_str() ); } // temp levels, if any @@ -1041,7 +1039,7 @@ void end_game( scorefile_entry &se ) #ifdef PACKAGE_SUFFIX PACKAGE_SUFFIX , #endif - ".st", ".kil", ".tc", ".nts", ".tut", ".sav" + ".st", ".kil", ".tc", ".nts", ".tut", ".sav", ".msg" }; const int num_suffixes = sizeof(suffixes) / sizeof(const char*); |