MCPcopy Create free account
hub / github.com/DFHack/dfhack / paint

Function paint

plugins/liquids.cpp:640–662  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

638}
639
640static int paint(lua_State *L)
641{
642 df::coord pos;
643 OperationMode mode;
644
645 lua_settop(L, 8);
646 Lua::CheckDFAssign(L, &pos, 1);
647 if (!pos.isValid())
648 luaL_argerror(L, 1, "invalid cursor position");
649 mode.brush = (BrushType)luaL_checkoption(L, 2, NULL, brush_name);
650 mode.paint = (PaintMode)luaL_checkoption(L, 3, NULL, paint_mode_name);
651 mode.amount = luaL_optint(L, 4, 7);
652 if (mode.amount < 0 || mode.amount > 7)
653 luaL_argerror(L, 4, "invalid liquid amount");
654 if (!lua_isnil(L, 5))
655 Lua::CheckDFAssign(L, &mode.size, 5);
656 mode.setmode = (ModifyMode)luaL_checkoption(L, 6, ".", modify_mode_name);
657 mode.flowmode = (ModifyMode)luaL_checkoption(L, 7, "+", modify_mode_name);
658 mode.permaflow = (PermaflowMode)luaL_checkoption(L, 8, ".", permaflow_name);
659
660 lua_pushboolean(L, df_liquids_execute(*Lua::GetOutput(L), mode, pos));
661 return 1;
662}
663
664DFHACK_PLUGIN_LUA_COMMANDS {
665 DFHACK_LUA_COMMAND(paint),

Callers

nothing calls this directly

Calls 7

lua_settopFunction · 0.85
CheckDFAssignFunction · 0.85
luaL_argerrorFunction · 0.85
luaL_checkoptionFunction · 0.85
lua_pushbooleanFunction · 0.85
df_liquids_executeFunction · 0.85
isValidMethod · 0.45

Tested by

no test coverage detected