A2JHMM2QW2Q5OZ4DY4N3VIT53SOPTI434NJB72XBMJD67YJRI4CQC RJIGO3YE7LKSLASPVA7K6CNWJAPKXD7ENJDURI5GXBGIEXFBBINAC 3A5FX3Y4RPKWQEHKKXZKXZJ7RKV6RKWT7GTR4WFE5UBWKV2HT4RQC O6QYS2KYXUXMODO3X4SYX7SPZE7AOIFT2XJZHRABMMQFEUN4UXLAC IVVTHLTTLOP5TSULXJWUSSXHOKYWVU3OWKYVK45A7RIB6V34MYQAC 7Y5HSDFKA5TPLS2TWTRFMQVX6UXUDHXU5MUMXQSDFAIY4THQ3BIQC AUXHSGS4EFOPZ6TVZYWNVOUDO7NYKUKE3HBKGQQWTALSVFOE3HAAC LE5U6CTXEIETQN5GOVYF2K2VCISRXR3ULORXDKIKWYDVBG5GS3WAC 6LJ7HNA6M2RVACJM4OASJPQAQ42UZGCXW636AVJ4CPICGQZBKLWQC HWTL2S7OVOJRJAAN66ZTT26HJDAOIW6RKAG5NFMNZJU63CTU2U5AC NOUFW6ACJ7KPVHSPF4WLRAVOWI7PZ6OAVYDRMI3WYNPXVMGAB3QAC ZLQAAP55CJ77XIJN3DZVPT4GTTVLIBFJLIJJKI6L5UBSHX7VUK6AC ED62QWGKBPORWVKDFOQRKJXEIWZVNGR3O4KWQBDSRNPT36AYOQYAC QEEJFAETO6B2J4IWDIDCJ5UNIFNNHHG22IWF2CUJRTJJBNE47CWQC ASLW3Z5PAVZSWJEMMMVZT226P44EKSAD47QS72JIFJESAI3RPN3AC }/** Functions for library "dgn".*/static const char *dgn_event_type_names[] ={"none", "turn", "mons_move", "player_move", "leave_level","entering_level", "entered_level", "player_los", "player_climb","monster_dies", "item_pickup", "item_moved", "feat_change","wall_hit"};static dgn_event_type dgn_event_type_by_name(const std::string &name){for (unsigned i = 0; i < ARRAYSZ(dgn_event_type_names); ++i)if (dgn_event_type_names[i] == name)return static_cast<dgn_event_type>(i? 1 << (i - 1) : 0);return (DET_NONE);
static const char *dgn_event_type_name(unsigned evmask){if (evmask == 0)return (dgn_event_type_names[0]);for (unsigned i = 1; i < ARRAYSZ(dgn_event_type_names); ++i)if (evmask & (1 << (i - 1)))return (dgn_event_type_names[i]);return (dgn_event_type_names[0]);}static void dgn_push_event_type(lua_State *ls, int n){if (lua_isstring(ls, n))lua_pushnumber(ls, dgn_event_type_by_name(lua_tostring(ls, n)));else if (lua_isnumber(ls, n))lua_pushstring(ls, dgn_event_type_name(luaL_checkint(ls, n)));elselua_pushnil(ls);}static int dgn_dgn_event(lua_State *ls){const int start = lua_isuserdata(ls, 1)? 2 : 1;int retvals = 0;for (int i = start, nargs = lua_gettop(ls); i <= nargs; ++i){dgn_push_event_type(ls, i);retvals++;}return (retvals);}const struct luaL_reg dgn_event_lib[] ={{ "dgn_event_type", dgn_dgn_event },{ NULL, NULL }};
}static const char *dgn_event_type_names[] ={"none", "turn", "mons_move", "player_move", "leave_level","entering_level", "entered_level", "player_los", "player_climb","monster_dies", "item_pickup", "item_moved", "feat_change","wall_hit"};static dgn_event_type dgn_event_type_by_name(const std::string &name){for (unsigned i = 0; i < ARRAYSZ(dgn_event_type_names); ++i)if (dgn_event_type_names[i] == name)return static_cast<dgn_event_type>(i? 1 << (i - 1) : 0);return (DET_NONE);
static const char *dgn_event_type_name(unsigned evmask){if (evmask == 0)return (dgn_event_type_names[0]);for (unsigned i = 1; i < ARRAYSZ(dgn_event_type_names); ++i)if (evmask & (1 << (i - 1)))return (dgn_event_type_names[i]);return (dgn_event_type_names[0]);}static void dgn_push_event_type(lua_State *ls, int n){if (lua_isstring(ls, n))lua_pushnumber(ls, dgn_event_type_by_name(lua_tostring(ls, n)));else if (lua_isnumber(ls, n))lua_pushstring(ls, dgn_event_type_name(luaL_checkint(ls, n)));elselua_pushnil(ls);}static int dgn_dgn_event(lua_State *ls){const int start = lua_isuserdata(ls, 1)? 2 : 1;int retvals = 0;for (int i = start, nargs = lua_gettop(ls); i <= nargs; ++i){dgn_push_event_type(ls, i);retvals++;}return (retvals);}