Lua voxelmanip: Add optional buffer param for 'get param2 data'
Update lua_api.txt.
This commit is contained in:
parent
380a4b6d60
commit
70e2df4f86
|
@ -3263,7 +3263,9 @@ will place the schematic inside of the VoxelManip.
|
||||||
* `set_light_data(light_data)`: Sets the `param1` (light) contents of each node
|
* `set_light_data(light_data)`: Sets the `param1` (light) contents of each node
|
||||||
in the `VoxelManip`
|
in the `VoxelManip`
|
||||||
* expects lighting data in the same format that `get_light_data()` returns
|
* expects lighting data in the same format that `get_light_data()` returns
|
||||||
* `get_param2_data()`: Gets the raw `param2` data read into the `VoxelManip` object
|
* `get_param2_data([buffer])`: Gets the raw `param2` data read into the `VoxelManip` object
|
||||||
|
* Returns an array (indices 1 to volume) of integers ranging from `0` to `255`
|
||||||
|
* If the param `buffer` is present, this table will be used to store the result instead
|
||||||
* `set_param2_data(param2_data)`: Sets the `param2` contents of each node in the `VoxelManip`
|
* `set_param2_data(param2_data)`: Sets the `param2` contents of each node in the `VoxelManip`
|
||||||
* `calc_lighting([p1, p2], [propagate_shadow])`: Calculate lighting within the `VoxelManip`
|
* `calc_lighting([p1, p2], [propagate_shadow])`: Calculate lighting within the `VoxelManip`
|
||||||
* To be used only by a `VoxelManip` object from `minetest.get_mapgen_object`
|
* To be used only by a `VoxelManip` object from `minetest.get_mapgen_object`
|
||||||
|
|
|
@ -277,11 +277,17 @@ int LuaVoxelManip::l_get_param2_data(lua_State *L)
|
||||||
NO_MAP_LOCK_REQUIRED;
|
NO_MAP_LOCK_REQUIRED;
|
||||||
|
|
||||||
LuaVoxelManip *o = checkobject(L, 1);
|
LuaVoxelManip *o = checkobject(L, 1);
|
||||||
|
bool use_buffer = lua_istable(L, 2);
|
||||||
|
|
||||||
MMVManip *vm = o->vm;
|
MMVManip *vm = o->vm;
|
||||||
|
|
||||||
u32 volume = vm->m_area.getVolume();
|
u32 volume = vm->m_area.getVolume();
|
||||||
|
|
||||||
lua_newtable(L);
|
if (use_buffer)
|
||||||
|
lua_pushvalue(L, 2);
|
||||||
|
else
|
||||||
|
lua_newtable(L);
|
||||||
|
|
||||||
for (u32 i = 0; i != volume; i++) {
|
for (u32 i = 0; i != volume; i++) {
|
||||||
lua_Integer param2 = vm->m_data[i].param2;
|
lua_Integer param2 = vm->m_data[i].param2;
|
||||||
lua_pushinteger(L, param2);
|
lua_pushinteger(L, param2);
|
||||||
|
|
Loading…
Reference in New Issue