summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/luadgn.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-11-24 20:57:52 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-11-24 20:57:52 +0000
commit0e3ada71c222f6905af710f63177bbee83bd409b (patch)
tree665eacc555be053462694fb6f152e08c7e769d8c /crawl-ref/source/luadgn.cc
parent376669c4079cfc19380a15b7791f744d06fe0ed1 (diff)
downloadcrawl-ref-0e3ada71c222f6905af710f63177bbee83bd409b.tar.gz
crawl-ref-0e3ada71c222f6905af710f63177bbee83bd409b.zip
Don't call viewwindow when generating ziggurat to avoid mapping glitches.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7592 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/luadgn.cc')
-rw-r--r--crawl-ref/source/luadgn.cc20
1 files changed, 13 insertions, 7 deletions
diff --git a/crawl-ref/source/luadgn.cc b/crawl-ref/source/luadgn.cc
index 152368bb6a..0e81370fbe 100644
--- a/crawl-ref/source/luadgn.cc
+++ b/crawl-ref/source/luadgn.cc
@@ -340,6 +340,11 @@ static dungeon_feature_type _check_lua_feature(lua_State *ls, int idx)
return (f);
}
+static inline bool _lua_boolean(lua_State *ls, int ndx, bool defval)
+{
+ return lua_isnone(ls, ndx)? defval : lua_toboolean(ls, ndx);
+}
+
#define GETCOORD(c, p1, p2, boundfn) \
coord_def c; \
c.x = luaL_checkint(ls, p1); \
@@ -1136,8 +1141,11 @@ static int _lua_colour(lua_State *ls, int ndx,
static int dgn_change_floor_colour(lua_State *ls)
{
const int colour = _lua_colour(ls, 1, BLACK);
+ const bool update_now = _lua_boolean(ls, 2, true);
+
env.floor_colour = (unsigned char) colour;
- if (crawl_state.need_save)
+
+ if (crawl_state.need_save && update_now)
viewwindow(true, false);
return (0);
}
@@ -1145,8 +1153,11 @@ static int dgn_change_floor_colour(lua_State *ls)
static int dgn_change_rock_colour(lua_State *ls)
{
const int colour = _lua_colour(ls, 1, BLACK);
+ const bool update_now = _lua_boolean(ls, 2, true);
+
env.rock_colour = (unsigned char) colour;
- if (crawl_state.need_save)
+
+ if (crawl_state.need_save && update_now)
viewwindow(true, false);
return (0);
}
@@ -2233,11 +2244,6 @@ LUAFN(dgn_set_level_type_origin)
return(0);
}
-static inline bool _lua_boolean(lua_State *ls, int ndx, bool defval)
-{
- return lua_isnone(ls, ndx)? defval : lua_toboolean(ls, ndx);
-}
-
static int _lua_push_map(lua_State *ls, const map_def *map)
{
if (map)