mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Noise: Create a deep copy of NoiseParams
This commit is contained in:
parent
88c28414f4
commit
fb2bc956b1
9 changed files with 91 additions and 91 deletions
|
@ -546,7 +546,14 @@ int ModApiMapgen::l_register_ore(lua_State *L)
|
|||
getflagsfield(L, index, "flags", flagdesc_ore, &ore->flags, NULL);
|
||||
|
||||
lua_getfield(L, index, "noise_params");
|
||||
ore->np = get_noiseparams(L, -1);
|
||||
if (read_noiseparams(L, -1, &ore->np)) {
|
||||
ore->flags |= OREFLAG_USE_NOISE;
|
||||
} else if (ore->NEEDS_NOISE) {
|
||||
errorstream << "register_ore: specified ore type requires valid "
|
||||
"noise parameters" << std::endl;
|
||||
delete ore;
|
||||
return 0;
|
||||
}
|
||||
lua_pop(L, 1);
|
||||
|
||||
u32 id = oremgr->add(ore);
|
||||
|
|
|
@ -161,7 +161,7 @@ int LuaPerlinNoiseMap::l_get2dMap(lua_State *L)
|
|||
for (int y = 0; y != n->sy; y++) {
|
||||
lua_newtable(L);
|
||||
for (int x = 0; x != n->sx; x++) {
|
||||
float noiseval = n->np->offset + n->np->scale * n->result[i++];
|
||||
float noiseval = n->np.offset + n->np.scale * n->result[i++];
|
||||
lua_pushnumber(L, noiseval);
|
||||
lua_rawseti(L, -2, x + 1);
|
||||
}
|
||||
|
@ -185,7 +185,7 @@ int LuaPerlinNoiseMap::l_get2dMap_flat(lua_State *L)
|
|||
|
||||
lua_newtable(L);
|
||||
for (int i = 0; i != maplen; i++) {
|
||||
float noiseval = n->np->offset + n->np->scale * n->result[i];
|
||||
float noiseval = n->np.offset + n->np.scale * n->result[i];
|
||||
lua_pushnumber(L, noiseval);
|
||||
lua_rawseti(L, -2, i + 1);
|
||||
}
|
||||
|
@ -210,7 +210,7 @@ int LuaPerlinNoiseMap::l_get3dMap(lua_State *L)
|
|||
for (int y = 0; y != n->sy; y++) {
|
||||
lua_newtable(L);
|
||||
for (int x = 0; x != n->sx; x++) {
|
||||
lua_pushnumber(L, n->np->offset + n->np->scale * n->result[i++]);
|
||||
lua_pushnumber(L, n->np.offset + n->np.scale * n->result[i++]);
|
||||
lua_rawseti(L, -2, x + 1);
|
||||
}
|
||||
lua_rawseti(L, -2, y + 1);
|
||||
|
@ -236,7 +236,7 @@ int LuaPerlinNoiseMap::l_get3dMap_flat(lua_State *L)
|
|||
|
||||
lua_newtable(L);
|
||||
for (int i = 0; i != maplen; i++) {
|
||||
float noiseval = n->np->offset + n->np->scale * n->result[i];
|
||||
float noiseval = n->np.offset + n->np.scale * n->result[i];
|
||||
lua_pushnumber(L, noiseval);
|
||||
lua_rawseti(L, -2, i + 1);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue