diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-06-27 19:42:23 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-06-27 19:42:23 +0000 |
commit | 9b41135da821d07d54c7a6ee75ed6dcbd19e9322 (patch) | |
tree | b5151b3dd9d18dbfb50646ee91155382b22a2c59 /crawl-ref/source/clua.cc | |
parent | 6a2be1555b3d27614a7a5d3a8fd973cebc0865c8 (diff) | |
download | crawl-ref-9b41135da821d07d54c7a6ee75ed6dcbd19e9322.tar.gz crawl-ref-9b41135da821d07d54c7a6ee75ed6dcbd19e9322.zip |
Added glyphs_connected and friends for maps to test connectedness of points
after map transforms are applied.
Fixed conflicts in bison grammar.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1669 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/clua.cc')
-rw-r--r-- | crawl-ref/source/clua.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/crawl-ref/source/clua.cc b/crawl-ref/source/clua.cc index 6a4e54074e..33047c504e 100644 --- a/crawl-ref/source/clua.cc +++ b/crawl-ref/source/clua.cc @@ -315,9 +315,7 @@ void CLua::fnreturns(const char *format, ...) va_list args; va_start(args, format); - vfnreturns(format, args); - va_end(args); } @@ -367,7 +365,6 @@ void CLua::vfnreturns(const char *format, va_list args) } static void push_monster(lua_State *ls, monsters *mons); -static void push_map(lua_State *ls, map_def *map); static int push_activity_interrupt(lua_State *ls, activity_interrupt_data *t); int CLua::push_args(lua_State *ls, const char *format, va_list args, va_list *targ) @@ -415,7 +412,7 @@ int CLua::push_args(lua_State *ls, const char *format, va_list args, lua_pushboolean(ls, va_arg(args, int)); break; case 'm': - push_map(ls, va_arg(args, map_def *)); + clua_push_map(ls, va_arg(args, map_def *)); break; case 'M': push_monster(ls, va_arg(args, monsters *)); @@ -583,7 +580,7 @@ void CLua::init_lua() return; lua_atpanic(_state, clua_panic); - + luaopen_base(_state); luaopen_string(_state); luaopen_table(_state); @@ -611,6 +608,8 @@ void CLua::init_lua() execfile("clua/userbase.lua", true, true); } + + lua_settop(_state, 1); } void CLua::load_chooks() @@ -1830,6 +1829,7 @@ static int crawl_split(lua_State *ls) } LUARET1(crawl_game_started, boolean, crawl_state.need_save) +LUARET1(crawl_random2, number, random2( luaL_checkint(ls, 1) )) static int crawl_err_trace(lua_State *ls) { @@ -1860,14 +1860,15 @@ static int crawl_err_trace(lua_State *ls) // What's on top should be the error. lua_error(ls); } - - return (lua_gettop(ls)); + + return (lua_gettop(ls)); } static const struct luaL_reg crawl_lib[] = { { "mpr", crawl_mpr }, { "mesclr", crawl_mesclr }, + { "random2", crawl_random2 }, { "redraw_screen", crawl_redraw_screen }, { "input_line", crawl_input_line }, { "c_input_line", crawl_c_input_line}, @@ -2166,7 +2167,7 @@ static void push_monster(lua_State *ls, monsters *mons) mw->mons = mons; } -static void push_map(lua_State *ls, map_def *map) +void clua_push_map(lua_State *ls, map_def *map) { map_def **mapref = clua_new_userdata<map_def *>(ls, MAP_METATABLE); *mapref = map; |