Minetest-WorldEditAdditions/worldeditadditions/lib/sculpt/init.lua

39 lines
2.1 KiB
Lua
Raw Permalink Normal View History

local wea = worldeditadditions
2023-08-02 23:03:13 +00:00
--- Sculpting brush engine.
-- @namespace worldeditadditions.sculpt
local sculpt = {
brushes = {
circle_soft1 = dofile(wea.modpath.."/lib/sculpt/brushes/circle_soft1.lua"),
2021-12-28 18:32:40 +00:00
circle = dofile(wea.modpath.."/lib/sculpt/brushes/circle.lua"),
square = dofile(wea.modpath.."/lib/sculpt/brushes/square.lua"),
gaussian_hard = dofile(wea.modpath.."/lib/sculpt/brushes/gaussian_hard.lua"),
gaussian = dofile(wea.modpath.."/lib/sculpt/brushes/gaussian.lua"),
gaussian_soft = dofile(wea.modpath.."/lib/sculpt/brushes/gaussian_soft.lua"),
},
make_brush = dofile(wea.modpath.."/lib/sculpt/make_brush.lua"),
2021-12-28 17:45:20 +00:00
make_preview = dofile(wea.modpath.."/lib/sculpt/make_preview.lua"),
preview_brush = dofile(wea.modpath.."/lib/sculpt/preview_brush.lua"),
apply_heightmap = dofile(wea.modpath.."/lib/sculpt/apply_heightmap.lua"),
apply = dofile(wea.modpath.."/lib/sculpt/apply.lua"),
scan_static = dofile(wea.modpath.."/lib/sculpt/scan_static.lua"),
import_static = dofile(wea.modpath.."/lib/sculpt/import_static.lua"),
parse_static = dofile(wea.modpath.."/lib/sculpt/parse_static.lua")
}
2023-08-03 01:42:46 +00:00
--- Brushes for use with the sculpting system.
-- Dump your own in the directory `worldeditadditions/lib/sculpt/brushes` (relative to the WorldEditAdditions git repository root), and WorldEditAdditions will automatically read them!
--
-- See the documentation for more information: <https://worldeditadditions.mooncarrot.space/Reference/#sculpt>
-- @namespace worldeditadditions.sculpt.brushes
2021-12-31 01:39:04 +00:00
-- scan_sculpt is called after everything is loaded in the main init file
2021-12-27 19:36:57 +00:00
return sculpt
-- TODO: Automatically find & register all text file based brushes in the brushes directory
-- TODO: Implement automatic scaling of static brushes to the correct size. We have scale already, but we probably need to implement a proper 2d canvas scaling algorithm. Some options to consider: linear < [bi]cubic < nohalo/lohalo
-- Note that we do NOT automatically find & register computed brushes because that's an easy way to execute arbitrary Lua code & cause a security issue unless handled very carefully