summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/maps.cc
Commit message (Collapse)AuthorAgeFilesLines
* All secondary vaults in the Swamp get an implicit water_ok tag, since ↵Darshan Shaligram2010-01-171-1/+2
| | | | they'll otherwise never be placed.
* Experimental level builder changes for Swamp.Darshan Shaligram2010-01-161-1/+1
| | | | The Swamp now gets a border of trees and uses trees instead of walls. Swamp:5 vaults may need tweaking to fit in better.
* Fix bug in handling .des map validation failures (Eifeltrampel).Darshan Shaligram2010-01-071-2/+2
| | | | snake_hunt would very rarely fail validation 25 times without vetoing the level, leaving Snake:$ without a rune.
* Move map sanity checks into read_maps.Darshan Shaligram2010-01-071-0/+2
|
* Crawl now checks for the availability of branch ending vaults before ↵Darshan Shaligram2010-01-071-0/+5
| | | | starting up.
* Fix Shoals:$ sometimes producing huts with entrances facing each other, so ↵Darshan Shaligram2010-01-051-13/+16
| | | | that both huts are isolated from the rest of the level.
* Guarantee a small guard around the shoal rune.Darshan Shaligram2010-01-011-0/+15
|
* Fix map masks not being checked correctly for collisions.Darshan Shaligram2009-12-281-1/+1
|
* [160] Fixing vaults not spawning in Pan.Enne Walker2009-12-241-1/+1
| | | | | | | Because layout vaults were changed to be true vaults rather than just writing to grd, they also wrote MMT_OPAQUE. This caused vault placement to fail (usually) on top of the layout vaults. Fixed by letting MMT_VAULT be the only mask that causes vault placement to fail.
* Replace long debug message calls with dprf(), except for cases where a dumb ↵Adam Borowski2009-12-201-3/+1
| | | | | | compiler could call unnecessary functions. For paranoia, I left even any uses of std::string.
* Switch to dpeg's new unique placement system.Jude Brown2009-12-071-0/+1
| | | | Requires overall weight chance in unique.des and new dummies per-branch.
* Unique placement-related function find_maps_for_tag.Jude Brown2009-12-061-0/+31
| | | | | | | | | | | Generates a vector of map_defs that have the relevant tag. Can check depth (defaults to false) as well as whether or not a vault has previously been placed (defaults to true). Convenience function weight_map_vector returns an integer corresponding to the total weight of all of the maps contained within the vector. These functions will be used to re-do unique placement as per dpeg's design (see c-r-d email).
* Reduce dependency on travel.hMatthew Cline2009-11-291-0/+1
| | | | | | | | Removed inclusion of travel.h from most .h files to reduce the number of .cc files dependant on it. This involved moving the level_pos declaration to externs.h, moving the flood_find template to it's own header file, and moving two typedefs from travel.h to travel_defs.h because typedefs can't be forward declared (argh).
* Don't rotate or mirror 1x1 vaults.Enne Walker2009-11-281-2/+7
| | | | This cuts down on message spam when placing uniques.
* Subvaults.Enne Walker2009-11-281-3/+111
| | | | | | | | Vaults can now include other vaults as a part of their definition. These subvaults are currently included by tag only and replace glyphs in their parent vault. See documentation for more details. Vault:8 has been modified to use subvaults.
* Quiet debug message spam.Robert Vollmert2009-11-271-2/+2
|
* Remove header includes from mon-place.h.Robert Vollmert2009-11-271-0/+1
|
* Remove unnecessary header-header includes.Robert Vollmert2009-11-271-0/+1
|
* Flatten header dependencies a bit.Robert Vollmert2009-11-171-1/+2
| | | | | | This removes a couple of unnecessary includes from header files. I may have missed adding some tiles includes.
* Randomly placed overflow templesMatthew Cline2009-11-121-2/+4
| | | | | | | | | Specialized single-altar overflow temples which also have the tag "uniq_altar_GODNAME" can be placed randomly even if that altar has been chosen at new-game time to be an overflow temple on a specific level, and if it's randomly placed before being generated specifically then it will only be placed once, rather than also being placed a second time at the location chosen at new-game time.
* Rename monspeak/monplace/monstuff to mon-speak/place/stuff.Jude Brown2009-11-121-1/+1
| | | | | I'm pretty sure I've managed to replace every instance of a reference to these files, so I hopefully haven't missed anything.
* Place arbitrarily sized main templeMatthew Cline2009-11-111-2/+2
| | | | | | | The main Temple (temple branch) can now have an arbitrary number of altars, decided at new-game initialization time. Vaults with differing numbers of altars can be given the tag "temple_main_N", with N being the number of altars.
* Place some of the altars outside of the TempleMatthew Cline2009-11-111-0/+2
| | | | | | | | | | | | Framework for placing altars outside the Temple, into what I call "overflow temples". It currently places twelve altars in the Ecumenical Temple and two outside at D:2 through D:9, with each of the two overflow altars being placed in a "temple" which consists of a bare altar. The overflow temples can actually contain any number of altars, but I'm not a vault designer, so I went the minimalistic route. The levels the overflow temples are placed on can be listed with the wizard command "&:".
* Finally move unique monster placement to Lua.Jude Brown2009-11-091-0/+2
| | | | | | | See dat/uniques.des for more information and a quick run down on how things work. Unique placement now should be roughly similar to unique placement before; weights may need to be adjusted, but initial statistics seem to be very, very similar.
* Forgot to include some include filesMatthew Cline2009-11-061-0/+1
| | | | Didn't check compilation with DEBUG_DIAGNOSITCS (oops)
* Make many checks for monster (non)existence on squares use monster_at().David Lawrence Ramsey2009-11-051-3/+4
| | | | | | | Not all are changed yet, as there are several index checks still needed for debugging purposes. Also, make many checks for player/monster (non)existence use actor_at().
* Make parse_maps not call end() when reading old .des files.Robert Vollmert2009-11-031-1/+1
| | | | | | | | | | Instead, it just returns without doing anything. I don't know why the call to end() was there in the first place. May well be missing something but this change hasn't had any obvious bad effects for me. This was causing problems with different tests trying to load the same .des file multiple times.
* Splitting up stuff.cc.Robert Vollmert2009-10-301-1/+1
| | | | New: colour.cc, coord.cc, coordit.cc, random.cc, rng.cc.
* versioning: remove SVN-specific revision data, add Git versioningSteven Noonan2009-10-181-1/+0
| | | | Signed-off-by: Steven Noonan <steven@uplinklabs.net>
* Naming consistency.Robert Vollmert2009-10-171-3/+3
| | | | | Mostly rename functions from terrain.h that accept features of typ dgn_feature_type from grid_is_* to feat_is_*.
* platform detection: clean up abuse of '_MSC_VER' macroSteven Noonan2009-10-131-1/+1
| | | | | | | Use TARGET_COMPILER_VC instead, unless you need to find the Visual C++ version information. Signed-off-by: Steven Noonan <steven@uplinklabs.net>
* Remove a lot of unneccessary includes.Robert Vollmert2009-10-091-1/+0
| | | | | | | The console version still compiles on Linux; both console and tiles version compile in OS X. I haven't been able to test the DOS and Windows compiles -- please fix or tell me about any errors that show up.
* Drop obsolete CVS last-committed headers ($Author$).Adam Borowski2009-10-061-2/+0
|
* Fix Shoal:5 not being generated.dshaligram2009-08-221-7/+23
| | | | | | | | | | | | Reinstate the distinction between minivaults and regular vaults when placing maps based on PLACE:, because minivaults cannot be placed before the rest of the level is built. Change Shoal huts to be picked by tag instead of PLACE. Allow DEPTH: to use branch:$. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10591 c06c8d41-db1a-0410-9941-cceddc491573
* Fix broken minivault placement guarantee: minivaults could be placed without ↵dshaligram2009-08-071-0/+2
| | | | | | overlapping existing floor squares. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10498 c06c8d41-db1a-0410-9941-cceddc491573
* Detected secret doors are now treated as a distinct new door type, soj-p-e-g2009-07-111-2/+2
| | | | | | | | | | | | that stupid monsters will continue to ignore them as long as they've never been opened. Shifts wall and door types of existing save files. Also apply patch by one the "nobodies" to make bloody tiles show up again. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10167 c06c8d41-db1a-0410-9941-cceddc491573
* Fix errno includes, and hopefully DOS compile [2573206].haranp2009-02-081-1/+0
| | | | | | | | If errno.h doesn't exist on DOS, this will fail, but then it would have failed anyway. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8978 c06c8d41-db1a-0410-9941-cceddc491573
* Adding REVISION() macro to all source files.ennewalker2009-01-041-0/+2
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8217 c06c8d41-db1a-0410-9941-cceddc491573
* [2468791] Reduce distinction between minivaults and floating vaults. All ↵dshaligram2009-01-031-64/+136
| | | | | | vaults are now handled by _build_vaults. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8169 c06c8d41-db1a-0410-9941-cceddc491573
* Fix broken sewer messaging (dpeg).dshaligram2008-12-021-11/+18
| | | | | | Fixed bad bounds checks for minivaults placed by dgn_place_map. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7716 c06c8d41-db1a-0410-9941-cceddc491573
* When entering a portal vault, don't prompt wizards for which map to usezelgadis2008-11-271-0/+8
| | | | | | | if there's only one possibility to choose from. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7649 c06c8d41-db1a-0410-9941-cceddc491573
* Start of moving special room definitions (monster lairs and monster pits)zelgadis2008-11-261-2/+12
| | | | | | | | | | | | | | | | | to lua. As of now all special rooms are filled with rats. Introduces two new members to map_def, weight_depth_mult and weight_depth_div, which change a map's weight based on the absolute dungeon depth (not yet accesible via lua or vault definitions). This needs to be done in C++ rather than in lua since a map's lua isn't re-invoked every time a random map is chosen, but only when the map is placed. NOTE: When I first made this change crawl started crashing until I manually forced the recompilation of util/levcomp.lex.o and util/levcomp.tab.o; if crawl starts crashing after this change, try doing that. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7629 c06c8d41-db1a-0410-9941-cceddc491573
* Place external loot chamber for ziggurat levels with jellies.dshaligram2008-11-251-1/+14
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7625 c06c8d41-db1a-0410-9941-cceddc491573
* Use map_def* instead of map indices.dshaligram2008-11-231-32/+29
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7562 c06c8d41-db1a-0410-9941-cceddc491573
* Removed redundant buffer used to go from map_def to env.grid and all the ↵dshaligram2008-11-231-31/+7
| | | | | | tedious code used to mess with this pointless buffer. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7560 c06c8d41-db1a-0410-9941-cceddc491573
* Discard more junk parameters from vault building routines.dshaligram2008-11-231-13/+10
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7558 c06c8d41-db1a-0410-9941-cceddc491573
* Clean up legacy cruft involved in placing vaults.dshaligram2008-11-231-48/+42
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7557 c06c8d41-db1a-0410-9941-cceddc491573
* Remove labyrinth entry placement from dungeon.cc, added support for "luniq" ↵dshaligram2008-11-191-5/+10
| | | | | | and "extra" tags. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7511 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed process_disconnected_zones sometimes filling the whole level with ↵dshaligram2008-11-191-35/+52
| | | | | | solid rock (affecting layout_big_octagon). Speeded up mapstat report for random vault probabilities. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7507 c06c8d41-db1a-0410-9941-cceddc491573
* Separate CHANCE and WEIGHT. CHANCE is a probability, WEIGHT is a raw number ↵dshaligram2008-11-191-86/+235
| | | | | | used as a generation weight (i.e. WEIGHT is what the old CHANCE used to be). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7501 c06c8d41-db1a-0410-9941-cceddc491573