Luanti 5.15.0-dev
 
Loading...
Searching...
No Matches
l_vmanip.h
Go to the documentation of this file.
1// Luanti
2// SPDX-License-Identifier: LGPL-2.1-or-later
3// Copyright (C) 2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
4
5#pragma once
6
7#include "irr_v3d.h"
8#include "lua_api/l_base.h"
9
10class Map;
11class MMVManip;
12
13/*
14 VoxelManip
15 */
17{
18private:
19 bool is_mapgen_vm = false;
20
21 static const luaL_Reg methods[];
22
23 static int gc_object(lua_State *L);
24
25 static int l_read_from_map(lua_State *L);
26 static int l_initialize(lua_State *L);
27 static int l_get_data(lua_State *L);
28 static int l_set_data(lua_State *L);
29 static int l_write_to_map(lua_State *L);
30
31 static int l_get_node_at(lua_State *L);
32 static int l_set_node_at(lua_State *L);
33
34 static int l_update_map(lua_State *L);
35 static int l_update_liquids(lua_State *L);
36
37 static int l_calc_lighting(lua_State *L);
38 static int l_set_lighting(lua_State *L);
39 static int l_get_light_data(lua_State *L);
40 static int l_set_light_data(lua_State *L);
41
42 static int l_get_param2_data(lua_State *L);
43 static int l_set_param2_data(lua_State *L);
44
45 static int l_was_modified(lua_State *L);
46 static int l_get_emerged_area(lua_State *L);
47
48 static int l_close(lua_State *L);
49
50public:
51 MMVManip *vm = nullptr;
52
54 LuaVoxelManip(Map *map);
56
57 // LuaVoxelManip()
58 // Creates a LuaVoxelManip and leaves it on top of stack
59 static int create_object(lua_State *L);
60 // Not callable from Lua
61 static void create(lua_State *L, MMVManip *mmvm, bool is_mapgen_vm);
62
63 static void *packIn(lua_State *L, int idx);
64 static void packOut(lua_State *L, void *ptr);
65
66 static void Register(lua_State *L);
67
68 static const char className[];
69};
Definition l_vmanip.h:17
static int l_was_modified(lua_State *L)
Definition l_vmanip.cpp:353
static int l_set_light_data(lua_State *L)
Definition l_vmanip.cpp:275
static int l_get_param2_data(lua_State *L)
Definition l_vmanip.cpp:299
LuaVoxelManip(MMVManip *mmvm, bool is_mapgen_vm)
Definition l_vmanip.cpp:393
MMVManip * vm
Definition l_vmanip.h:51
static int l_set_node_at(lua_State *L)
Definition l_vmanip.cpp:180
static int l_initialize(lua_State *L)
Definition l_vmanip.cpp:49
static int l_set_lighting(lua_State *L)
Definition l_vmanip.cpp:222
static int l_update_map(lua_State *L)
Definition l_vmanip.cpp:348
static int l_get_emerged_area(lua_State *L)
Definition l_vmanip.cpp:368
static int l_write_to_map(lua_State *L)
Definition l_vmanip.cpp:138
bool is_mapgen_vm
Definition l_vmanip.h:19
static int l_get_node_at(lua_State *L)
Definition l_vmanip.cpp:169
static const char className[]
Definition l_vmanip.h:68
static int l_close(lua_State *L)
Definition l_vmanip.cpp:380
~LuaVoxelManip()
Definition l_vmanip.cpp:403
static int l_set_param2_data(lua_State *L)
Definition l_vmanip.cpp:324
static int gc_object(lua_State *L)
Definition l_vmanip.cpp:18
static int l_set_data(lua_State *L)
Definition l_vmanip.cpp:108
static int l_update_liquids(lua_State *L)
Definition l_vmanip.cpp:192
static int l_get_data(lua_State *L)
Definition l_vmanip.cpp:83
static void * packIn(lua_State *L, int idx)
Definition l_vmanip.cpp:443
static int l_get_light_data(lua_State *L)
Definition l_vmanip.cpp:250
static int l_read_from_map(lua_State *L)
Definition l_vmanip.cpp:26
static void create(lua_State *L, MMVManip *mmvm, bool is_mapgen_vm)
Definition l_vmanip.cpp:435
static int create_object(lua_State *L)
Definition l_vmanip.cpp:411
static const luaL_Reg methods[]
Definition l_vmanip.h:483
static int l_calc_lighting(lua_State *L)
Definition l_vmanip.cpp:199
static void packOut(lua_State *L, void *ptr)
Definition l_vmanip.cpp:452
Definition map.h:301
Definition map.h:100
Definition l_base.h:27
#define idx(x, y)
Definition noise.cpp:495