summaryrefslogtreecommitdiff
path: root/src/script/common/c_content.cpp
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2014-12-10 01:49:57 -0500
committerkwolekr <kwolekr@minetest.net>2014-12-10 01:49:57 -0500
commitdcc48976ce92dc0385037e8bf16075396bcb6943 (patch)
tree909b831ec2d2d59d88efabca0b9d459a82a1800e /src/script/common/c_content.cpp
parent4cf8042b7c8c4dd56cb0a749fb03d9653aa48983 (diff)
downloadminetest-dcc48976ce92dc0385037e8bf16075396bcb6943.tar.gz
minetest-dcc48976ce92dc0385037e8bf16075396bcb6943.tar.bz2
minetest-dcc48976ce92dc0385037e8bf16075396bcb6943.zip
Move get_schematic and read_schematic to l_mapgen.cpp
Diffstat (limited to 'src/script/common/c_content.cpp')
-rw-r--r--src/script/common/c_content.cpp99
1 files changed, 0 insertions, 99 deletions
diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp
index cab346cae..4eba280e0 100644
--- a/src/script/common/c_content.cpp
+++ b/src/script/common/c_content.cpp
@@ -1002,105 +1002,6 @@ bool read_noiseparams(lua_State *L, int index, NoiseParams *np)
}
/******************************************************************************/
-
-bool get_schematic(lua_State *L, int index, Schematic *schem,
- INodeDefManager *ndef, std::map<std::string, std::string> &replace_names)
-{
- if (index < 0)
- index = lua_gettop(L) + 1 + index;
-
- if (lua_istable(L, index)) {
- return read_schematic(L, index, schem, ndef, replace_names);
- } else if (lua_isstring(L, index)) {
- NodeResolver *resolver = ndef->getResolver();
- const char *filename = lua_tostring(L, index);
- return schem->loadSchematicFromFile(filename, resolver, replace_names);
- } else {
- return false;
- }
-}
-
-bool read_schematic(lua_State *L, int index, Schematic *schem,
- INodeDefManager *ndef, std::map<std::string, std::string> &replace_names)
-{
- //// Get schematic size
- lua_getfield(L, index, "size");
- v3s16 size = read_v3s16(L, -1);
- lua_pop(L, 1);
-
- //// Get schematic data
- lua_getfield(L, index, "data");
- luaL_checktype(L, -1, LUA_TTABLE);
-
- int numnodes = size.X * size.Y * size.Z;
- MapNode *schemdata = new MapNode[numnodes];
- int i = 0;
-
- lua_pushnil(L);
- while (lua_next(L, -2)) {
- if (i < numnodes) {
- // same as readnode, except param1 default is MTSCHEM_PROB_CONST
- lua_getfield(L, -1, "name");
- std::string name = luaL_checkstring(L, -1);
- lua_pop(L, 1);
-
- u8 param1;
- lua_getfield(L, -1, "param1");
- param1 = !lua_isnil(L, -1) ? lua_tonumber(L, -1) : MTSCHEM_PROB_ALWAYS;
- lua_pop(L, 1);
-
- u8 param2;
- lua_getfield(L, -1, "param2");
- param2 = !lua_isnil(L, -1) ? lua_tonumber(L, -1) : 0;
- lua_pop(L, 1);
-
- std::map<std::string, std::string>::iterator it;
- it = replace_names.find(name);
- if (it != replace_names.end())
- name = it->second;
-
- schemdata[i] = MapNode(ndef, name, param1, param2);
- }
-
- i++;
- lua_pop(L, 1);
- }
-
- if (i != numnodes) {
- errorstream << "read_schematic: incorrect number of "
- "nodes provided in raw schematic data (got " << i <<
- ", expected " << numnodes << ")." << std::endl;
- return false;
- }
-
- //// Get Y-slice probability values (if present)
- u8 *slice_probs = new u8[size.Y];
- for (i = 0; i != size.Y; i++)
- slice_probs[i] = MTSCHEM_PROB_ALWAYS;
-
- lua_getfield(L, index, "yslice_prob");
- if (lua_istable(L, -1)) {
- lua_pushnil(L);
- while (lua_next(L, -2)) {
- if (getintfield(L, -1, "ypos", i) && i >= 0 && i < size.Y) {
- slice_probs[i] = getintfield_default(L, -1,
- "prob", MTSCHEM_PROB_ALWAYS);
- }
- lua_pop(L, 1);
- }
- }
-
- // Here, we read the nodes directly from the INodeDefManager - there is no
- // need for pending node resolutions so we'll mark this schematic as updated
- schem->flags = SCHEM_CIDS_UPDATED;
-
- schem->size = size;
- schem->schemdata = schemdata;
- schem->slice_probs = slice_probs;
- return true;
-}
-
-/******************************************************************************/
// Returns depth of json value tree
static int push_json_value_getdepth(const Json::Value &value)
{