diff options
author | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-04 05:05:42 +0000 |
---|---|---|
committer | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-04 05:05:42 +0000 |
commit | 13f47218bbda7251a2521eda0c4a858ea333bbee (patch) | |
tree | fef4d2076355461b7c64dedd1676a90351cbc23d /crawl-ref/source/tags.cc | |
parent | 92c238f2c7ed33f3ebffc22fe08b1c51f98814b1 (diff) | |
download | crawl-ref-13f47218bbda7251a2521eda0c4a858ea333bbee.tar.gz crawl-ref-13f47218bbda7251a2521eda0c4a858ea333bbee.zip |
Moved all of the bazaar specific logic/code to dat/bazaar (or turned the
code into Lua utility functions which can be reused by things other than
bazaars). Related changes:
* Portal vault entrances now work if they have destinations ("dst" property)
besides "bazaar" (though it still causes an assert if no matchng
maps for the destination can be found).
* The floor and rock colour for a level are generated once and then stored
in the save file, rather than being constantly regenerated (which means
that bazaar floor colours are now truly random, rather than being tied
to the depth of the bazaar entrance).
* The floor and rock colour for a portal vault (or for any level containing
any vault) can be set with ROCKCOL and FLOORCOL (which currently only
accepts a single colour, unlike COLOUR); there are also Lua functions for
querying and setting the colours.
* Each portal vault level_type_name can have an associated Lua callback
which is called when level generation is complete; it can be used for
things like stair fixup.
I also moved the Halls of Zot rock/floor colour special casing to the
dat/zot.des file, since it was easy once ROCKCOL and FLOORCOL had been
implemented.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2314 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/tags.cc')
-rw-r--r-- | crawl-ref/source/tags.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/crawl-ref/source/tags.cc b/crawl-ref/source/tags.cc index 478c53d5ad..757717c248 100644 --- a/crawl-ref/source/tags.cc +++ b/crawl-ref/source/tags.cc @@ -1477,6 +1477,9 @@ static void tag_read_lost_monsters(tagHeader &th, int minorVersion) static void tag_construct_level(struct tagHeader &th) { + marshallByte(th, env.floor_colour); + marshallByte(th, env.rock_colour); + marshallLong(th, env.level_flags); marshallFloat(th, (float)you.elapsed_time); @@ -1698,6 +1701,9 @@ void tag_construct_level_attitude(struct tagHeader &th) static void tag_read_level( struct tagHeader &th, char minorVersion ) { + env.floor_colour = unmarshallByte(th); + env.rock_colour = unmarshallByte(th); + env.level_flags = (unsigned long) unmarshallLong(th); env.elapsed_time = unmarshallFloat(th); |