From cca4f09ba15eca707a6ae1717a00fcf73c6efa6f Mon Sep 17 00:00:00 2001 From: kwolekr Date: Sun, 17 Nov 2013 02:22:24 -0500 Subject: Decoration: Stop DecoSimple::resolveNodeNames from complaining about no node name if decolist is used Fix warning message for spawnby nodes Prevent type-punning warning caused by casting enum to int --- src/mapgen.cpp | 4 ++-- src/script/lua_api/l_mapgen.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mapgen.cpp b/src/mapgen.cpp index 301601b6c..f63118491 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -382,7 +382,7 @@ void Decoration::placeCutoffs(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax) void DecoSimple::resolveNodeNames(INodeDefManager *ndef) { Decoration::resolveNodeNames(ndef); - if (c_deco == CONTENT_IGNORE) { + if (c_deco == CONTENT_IGNORE && !decolist_names.size()) { c_deco = ndef->getId(deco_name); if (c_deco == CONTENT_IGNORE) { errorstream << "DecoSimple::resolveNodeNames: decoration node '" @@ -394,7 +394,7 @@ void DecoSimple::resolveNodeNames(INodeDefManager *ndef) { c_spawnby = ndef->getId(spawnby_name); if (c_spawnby == CONTENT_IGNORE) { errorstream << "DecoSimple::resolveNodeNames: spawnby node '" - << deco_name << "' not defined" << std::endl; + << spawnby_name << "' not defined" << std::endl; nspawnby = -1; c_spawnby = CONTENT_AIR; } diff --git a/src/script/lua_api/l_mapgen.cpp b/src/script/lua_api/l_mapgen.cpp index 822685e34..b0ad202be 100644 --- a/src/script/lua_api/l_mapgen.cpp +++ b/src/script/lua_api/l_mapgen.cpp @@ -522,11 +522,11 @@ int ModApiMapgen::l_place_schematic(lua_State *L) if (!read_schematic(L, 2, &dschem, getServer(L))) return 0; - Rotation rot = ROTATE_0; + int rot = ROTATE_0; if (lua_isstring(L, 3)) - string_to_enum(es_Rotation, (int &)rot, std::string(lua_tostring(L, 3))); + string_to_enum(es_Rotation, rot, std::string(lua_tostring(L, 3))); - dschem.rotation = rot; + dschem.rotation = (Rotation)rot; if (lua_istable(L, 4)) { int index = 4; -- cgit v1.2.3