Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define GRID_META "denisbaic.gridmanager"
- #define checkgrid(L) \
- *static_cast<GridManager**>(luaL_checkudata(L,1,GRID_META))
- int l_sin(lua_State* L)
- {
- const double d = luaL_checknumber(L,1);
- lua_pushnumber(L, sin(d));
- return 1;
- }
- int l_GenerateAndCalculateCorridors(lua_State* L)
- {
- const int RoomsToGenerate = luaL_checkinteger(L, 1);
- const int MinSideSize = luaL_checkinteger(L, 2);
- const int MaxSideSize = luaL_checkinteger(L, 3);
- const float MaxStep = luaL_checknumber(L, 4);
- const float Buffer = luaL_checknumber(L, 5);
- lua_pop(L, 5);
- std::vector<Room> Rooms;
- std::vector<EdgeDelaunay> Corridors;
- DungeonGenerator::GenerateAndCalculateCorridors(Rooms, Corridors, RoomsToGenerate, MinSideSize, MaxSideSize, MaxStep, Buffer);
- GridManager** grid_manager_ptr = static_cast<GridManager**>(lua_newuserdata(L, sizeof *grid_manager_ptr));
- *grid_manager_ptr = new GridManager(Rooms, Corridors);
- luaL_getmetatable(L, GRID_META);
- lua_setmetatable(L, -2);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment