summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/maps.h
Commit message (Collapse)AuthorAgeFilesLines
* Crawl now checks for the availability of branch ending vaults before ↵Darshan Shaligram2010-01-071-0/+1
| | | | starting up.
* Fix Shoals:$ sometimes producing huts with entrances facing each other, so ↵Darshan Shaligram2010-01-051-0/+4
| | | | that both huts are isolated from the rest of the level.
* Guarantee a small guard around the shoal rune.Darshan Shaligram2010-01-011-0/+12
|
* Unique placement-related function find_maps_for_tag.Jude Brown2009-12-061-0/+6
| | | | | | | | | | | 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).
* Temporary hack to make set_border_fill_type work.Jude Brown2009-12-061-1/+1
| | | | | | See the comment in l_dgn.cc:dgn_set_border_fill_type. Should be replaced with something that works on map_lines instead, but this will do for the meantime.
* Revert "Convert dgn.set_border_fill_type to BORDER."Jude Brown2009-11-301-1/+1
| | | | | | | This reverts commit 941444076c26e5e5149c6368a4261d60842fe3ec. After consultation with Enne, this doesn't really fix the issue, and is therefore superfluous.
* Convert dgn.set_border_fill_type to BORDER.Jude Brown2009-11-301-1/+1
| | | | | | | | | | The Lua prelude of maps isn't executed early enough now. Using 'BORDER' sets map->border_fill_type as soon as the map is read, rather than after it is placed. This commit increases the value of MAP_CACHE_VERSION. Can be reverted if it causes issues or is unwanted.
* Subvaults.Enne Walker2009-11-281-0/+2
| | | | | | | | 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.
* Remove further header-header includes.Robert Vollmert2009-11-271-3/+5
|
* Flatten header dependencies a bit.Robert Vollmert2009-11-171-1/+0
| | | | | | This removes a couple of unnecessary includes from header files. I may have missed adding some tiles includes.
* Rename fixary.h and fixvec.h.Robert Vollmert2009-11-151-1/+1
|
* Split dgn_lib out of luadgn.cc; rename luadgn to dlua.Robert Vollmert2009-10-191-0/+1
|
* Lua map improvements.Enne Walker2009-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | The previous dungeon layout.des functions all apply directly to the grid and so are unsuitable for use in vaults. This aims to correct that by providing lua functions that can manipulate maps (of glyphs). grd[x][y] in a .des file can now be used to get and set glyphs in the current map. This should allow for less cumbersome map variations than what you can do with just SUBST and SHUFFLE. To support that, map_def no longer batches up transforms--it applies them all immediately. This resulted in a good bit of refactoring. FTILE/RTILE map commands now support setting the tile for multiple features at once. There are also a small number of new lua functions that apply to maps (map_octa_room, map_smear, and map_extend). Ideally, these will eventually replace the existing builder funcs that work on grd.
* Drop obsolete CVS last-committed headers ($Author$).Adam Borowski2009-10-061-2/+0
|
* Move 'FixAry.h' -> 'fixary.h', 'FixVec.h' -> 'fixvec.h' for file naming ↵Steven Noonan2009-09-291-1/+1
| | | | | | consistency Signed-off-by: Steven Noonan <steven@uplinklabs.net>
* Fix Shoal:5 not being generated.dshaligram2009-08-221-1/+1
| | | | | | | | | | | | 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 bug that prevented the random placement of minivaults (syllogism)dshaligram2009-07-141-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10211 c06c8d41-db1a-0410-9941-cceddc491573
* [2468791] Reduce distinction between minivaults and floating vaults. All ↵dshaligram2009-01-031-7/+5
| | | | | | 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-1/+2
| | | | | | 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/+2
| | | | | | | 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
* Place external loot chamber for ziggurat levels with jellies.dshaligram2008-11-251-0/+8
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7625 c06c8d41-db1a-0410-9941-cceddc491573
* Enable vault generation for non-LEVEL_DUNGEON levels, make ziggurat eligible ↵dshaligram2008-11-251-1/+1
| | | | | | for random gen in main dungeon and Pan; still needs entry portal timing/charging fixes, and ziggurat builder is still incomplete. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7601 c06c8d41-db1a-0410-9941-cceddc491573
* Use map_def* instead of map indices.dshaligram2008-11-231-6/+8
| | | | 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-25/+2
| | | | | | 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-2/+1
| | | | 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-1/+7
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7557 c06c8d41-db1a-0410-9941-cceddc491573
* Separate CHANCE and WEIGHT. CHANCE is a probability, WEIGHT is a raw number ↵dshaligram2008-11-191-1/+1
| | | | | | 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
* Remove pre-Stone Soup change history from source files, and push it allj-p-e-g2008-09-141-4/+0
| | | | | | | | | | into a file crawlhistory.txt in docs/obsolete. I used a perl script to do this under the assumption that all these change logs used the same system following the keyword "Change History". git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6930 c06c8d41-db1a-0410-9941-cceddc491573
* Add whitespace fix.dolorous2008-06-231-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6058 c06c8d41-db1a-0410-9941-cceddc491573
* [Bug 1907221] Add "Modified for Crawl Reference" statement and author to aj-p-e-g2008-03-081-0/+2
| | | | | | | | huge number of files. Also correct file name comments. No coding changes. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3539 c06c8d41-db1a-0410-9941-cceddc491573
* Tweaked -mapstat to show random maps available by depth. Added a floating ↵dshaligram2007-10-291-0/+5
| | | | | | dummy vault to correct probabilities of vaults in non-dungeon branches. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2653 c06c8d41-db1a-0410-9941-cceddc491573
* dgn_place_map takes a coord_def to specify the centre of the map for ↵dshaligram2007-10-251-3/+8
| | | | | | minivaults and floating vaults. This placement can be activated using an asterisk (mapname*) when entering the name of the map in the &L command. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2559 c06c8d41-db1a-0410-9941-cceddc491573
* Implemented patch 1773718 (improved wizard commands) andj-p-e-g2007-09-021-0/+2
| | | | | | | patch 1783003 (ímproved menu sorting), both by zelgadis. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2041 c06c8d41-db1a-0410-9941-cceddc491573
* Added wizmode &L command to place a map on the current level by name. Thisdshaligram2007-07-281-1/+3
| | | | | | | | only really works for non-encompass vaults, and dungeon fixups are not applied (so random deep water -> shallow water conversion, auto-placement of water creatures, etc. will not happen). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1942 c06c8d41-db1a-0410-9941-cceddc491573
* Updated level-design.txt.dshaligram2007-07-211-1/+1
| | | | | | | | | | | Moved map markers to mapmark.cc. Added support for timer markers that remove a feature after a certain timeout. Need to hook up messaging to Lua. Added bazaars (need more bazaar layouts). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1899 c06c8d41-db1a-0410-9941-cceddc491573
* Added elf arrival vaults (Eino).dshaligram2007-07-191-1/+1
| | | | | | | | | | | | | Tweaked dungeon builder so you always land on { on level 1 of a branch (using a map marker to identify which stair was a {). Maps with the "uniq" tag will be used only once in a game. Maps with a "uniq_foo" tag will be used only once, and will also prevent any other maps tagged "uniq_foo" from being used thereafter. Breaks saves. Oklob plants should not receive stab brands, fixed. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1897 c06c8d41-db1a-0410-9941-cceddc491573
* Allow full-level (encompass) vaults to be placed outside the main dungeon.dshaligram2007-07-111-1/+1
| | | | | | Fixed a bug where secondary vaults and minivaults could overwrite special rooms. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1834 c06c8d41-db1a-0410-9941-cceddc491573
* More debug stats for maps.dshaligram2007-07-091-0/+1
| | | | | | | | | | | | | | level_range was segfaulting when compared against Abyss and Pan level_ids, fixed. Fixed level_id operator < (). Enabled use of vaults in non-Dungeon areas (Lair specific vaults were unused). These vaults are placed as extras, and are subject to the same constraints as branch entry vaults (the smaller the vault, the better the chance of being placed). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1811 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed level-compiler not warning of maps with the same name consistently.dshaligram2007-07-081-7/+10
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1799 c06c8d41-db1a-0410-9941-cceddc491573
* Fix level compiler to validate PLACE: declarations.dshaligram2007-07-061-3/+3
| | | | | | Places are saved as level_ids, not strings. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1776 c06c8d41-db1a-0410-9941-cceddc491573
* Moved the list of required .des files into loadmaps.lua.dshaligram2007-06-291-0/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1687 c06c8d41-db1a-0410-9941-cceddc491573
* The dungeon builder now caches compiled Lua chunks instead of Lua source in thedshaligram2007-06-271-0/+2
| | | | | | .dsc to save on compile time (at the expense of larger .dsc files). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1663 c06c8d41-db1a-0410-9941-cceddc491573
* Added support for a validation hook for maps to check if they're A-Ok.dshaligram2007-06-261-1/+1
| | | | | | | | | Tweaked savefile format (breaks saves) to allow the game to perform emergency saves if level-generation fails (followers are lost, needs to be fixed). [1743698] Re-refixed SP_ELF stub (Eino). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1659 c06c8d41-db1a-0410-9941-cceddc491573
* .des files can use a global Lua prelude (before maps are defined) that runsdshaligram2007-06-251-1/+2
| | | | | | | at start of game, before any maps are loaded, and does not run in the context of any specific map. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1654 c06c8d41-db1a-0410-9941-cceddc491573
* Implemented .des file caching (speeds startup a fair bit): .des files aredshaligram2007-06-241-0/+10
| | | | | | | | | | parsed only once (unless they're modified again). Crawl also keeps only map stubs in memory (name, place, orient, tags) and loads the map body only when it is actually selected by the dungeon builder. This probably breaks the Windows build, will be fixed soonish. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1637 c06c8d41-db1a-0410-9941-cceddc491573
* Added Lemuel's mines minivaults.dshaligram2007-05-091-1/+1
| | | | | | | Extended map DEPTH: attribute to support branch specifiers and negated depth specifiers. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1442 c06c8d41-db1a-0410-9941-cceddc491573
* Branch entry vaults now respect DEPTH: declarations so you can put tough ↵dshaligram2007-04-251-1/+2
| | | | | | | | branch entries deeper. Detect creatures no longer clears the level map of detected items. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1366 c06c8d41-db1a-0410-9941-cceddc491573
* Allow "any trap" and "any shop" (alternatives to "random trap" and "randomdshaligram2007-04-101-1/+0
| | | | | | | | | | shop") in des files. Allow using '8', '9' and '0' in monster specifications. Tossed out some unused functions. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1281 c06c8d41-db1a-0410-9941-cceddc491573
* [1638394] Added support for portal vaults.dshaligram2007-02-071-4/+8
| | | | | | Included David's portal vaults for the Mines, Lair and Vaults. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@930 c06c8d41-db1a-0410-9941-cceddc491573
* New entry vaults and regular vaults (Lemuel). The regular vaults are probablydshaligram2007-01-181-3/+3
| | | | | | | | | intended to be portal vaults for Hell portals; we need to add support for portal vaults. Added support for monster slot randomisation for maps. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@865 c06c8d41-db1a-0410-9941-cceddc491573