summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapdef.h
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-11-02 06:52:42 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-11-02 06:52:42 +0000
commit7657abf4394bc49be231940e2cfccf7d35a9e13d (patch)
tree2b9b49621dfe2ed444ea708bece81e4f5b3bf82c /crawl-ref/source/mapdef.h
parentb072984d6840b43de8121f3262b699a8f59dbefa (diff)
downloadcrawl-ref-7657abf4394bc49be231940e2cfccf7d35a9e13d.tar.gz
crawl-ref-7657abf4394bc49be231940e2cfccf7d35a9e13d.zip
Fixed LFLAGS not working right when conditionalised (bobbens).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2722 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/mapdef.h')
-rw-r--r--crawl-ref/source/mapdef.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/crawl-ref/source/mapdef.h b/crawl-ref/source/mapdef.h
index cb0488b325..451e088e93 100644
--- a/crawl-ref/source/mapdef.h
+++ b/crawl-ref/source/mapdef.h
@@ -485,6 +485,7 @@ struct map_flags
unsigned long flags_set, flags_unset;
map_flags();
+ void clear();
static map_flags parse(const std::string flag_list[],
const std::string &s) throw(std::string);
@@ -555,6 +556,31 @@ struct map_file_place
}
};
+/////////////////////////////////////////////////////////////////////////////
+// map_def: map definitions for maps loaded from .des files.
+//
+// Please read this before changing map_def.
+//
+// When adding Lua-visible fields to map_def, note that there are two
+// kinds of fields:
+//
+// * Fields that determine placement of the map, or are unchanging,
+// such as "place", "depths" (determine placement), or "name" (does
+// not change between different evaluations of the map). Such fields
+// must be reset to their default values in map_def::init() if they
+// determine placement, or just initialised in the constructor if
+// they will not change.
+//
+// * Fields that do not determine placement and may change between
+// different uses of the map (such as "mons", "items",
+// "level_flags", etc.). Such fields must be reset to their default
+// values in map_def::reinit(), which is called before the map is
+// used.
+//
+// If you do not do this, maps will not work correctly, and will break
+// in obscure, hard-to-find ways. The level-compiler will not (cannot)
+// warn you.
+//
class map_def
{
public: