Commit graph

407 commits

Author SHA1 Message Date
3311d80a2a
Rework metaballs backend
We need a way of defining metaballs per-player. Our solution to this is 
a custom in-memory per-player storage system. The reason for this is 
because just a position (e.g. that provided by pos1/pos2) is not enough 
- we need a radius as well.
2022-05-16 01:01:01 +01:00
f34617a3d3
Add backend functionality for metaballs
Implementing a frontend command sounds like a headache to me
2022-05-15 17:42:19 +01:00
03fb033b70
//dome+: add option to make the resulting dome hollow inside 2022-05-15 15:38:50 +01:00
04e971e12d
Add //dome+
Improvements oveer //dome:

 - Allow customising the direction it points in
 - Allow multiple pointing directions at once to give the effect of 
creating multiple domes on top of each other in a single command (it's 
actually implemented as an implicit union, and doesn't actually call 
wea.dome more than once).
2022-05-15 15:27:43 +01:00
a4237dcca5
depends.txt → mod.conf 2022-05-01 17:07:30 +01:00
c443459282
wireframe/corner_set: fix luacheck warnings 2022-01-03 13:30:22 +00:00
bc1ded787c
wea.sculpt.apply: Comment debug logging 2022-01-02 17:19:53 +00:00
80e230a9d7
saplingnames: update cool_trees bamboo 2022-01-02 17:16:38 +00:00
d9204e95b5
selection: Improve message shown to players 2022-01-02 13:19:31 +00:00
1da5599e80
remove debug logging 2021-12-31 14:46:23 +00:00
2d53869f11
//move+: fix leaving-source-behind problem 2021-12-31 13:38:13 +00:00
d6cd0cdb59
tokenize_commands: fix crash 2021-12-31 13:16:09 +00:00
d252ec4675
wea.move: add potential solution as a comment 2021-12-31 03:05:02 +00:00
934007c07b
//move+ add comment about bug 2021-12-31 03:01:51 +00:00
56a83572e7
fixup 2021-12-31 02:46:15 +00:00
1310dae884
Refactor: Split up terrain.lua, make subtable wea.terrain
This is just the start, if my plans work out.

The eventual aim here is to implement a generic Heightmap2D class, just 
like Vector3.

This will make interacting with heightmaps much easier.
2021-12-31 02:42:32 +00:00
9df5ba6fe5
//sculpt, //sculptlist: fix naming of static brushes; prettify output 2021-12-31 01:43:53 +00:00
227265db72
//sculpt: fix importing static brushes 2021-12-31 01:39:04 +00:00
dd8cd78d6b
wea.inspect: pull metatable names from item.__name
this is completely arbitrary, but will assist in discovering types of 
tables etc.
2021-12-31 01:38:24 +00:00
4597edcf1e
str_ends: write tests 2021-12-31 01:33:44 +00:00
08cff1c967
strings/polyfill/str_ends: actually export it correctly 2021-12-31 01:14:08 +00:00
f19b22e906
//sculpt: add simple test ellipse static brush 2021-12-31 01:04:27 +00:00
ec04cc58be
Add support for autoloading static brushes on server start 2021-12-31 01:03:56 +00:00
f259f85771
Add io compatibility layer
....I can't believe that Lua doesn't have an inbuilt scandir 
equivalent?!
2021-12-31 00:57:17 +00:00
1e9a651537
stings/polyfill: add str_ends
....because seriously, Lua *really* should have this.
2021-12-31 00:55:46 +00:00
ef2dbc1806
Reorder brushes
circle_soft1 is now the default brush, as it's awesome
2021-12-28 19:07:02 +00:00
b0e0b83c0d
//sculpt: Add buffer to catch height variations in terrain 2021-12-28 19:04:13 +00:00
ca6f1e7cea
//sculpt: sort pos{1,2}_compute 2021-12-28 18:38:10 +00:00
1de037c341
//sculpt brushes: __smooth → __gaussian 2021-12-28 18:35:16 +00:00
3e2687f82d
Add soft circle brush 2021-12-28 18:32:40 +00:00
1cad9f4064
Minor layout tweaks 2021-12-28 18:32:10 +00:00
db5d25d1de
//convolve: update matrix & kernel to use Vector3
A lot of the maths remains in the old style, but at least it doesn't 
take a zero-indexed table
2021-12-28 18:31:46 +00:00
17cc91ba1c
//sculpt: implement circle brush 2021-12-28 17:45:20 +00:00
2da0f2dcc2
Add circle brush, but it isn't working right just yet. 2021-12-28 17:22:18 +00:00
a2a9108d36
//sculpt: fix a bunch of bugs
including, but certainly not limited to, wea.make_heightmap now returns 
a Vector3 instance for heightmap_size
2021-12-28 15:22:51 +00:00
bbafca2020
apply: use wea.sculpt.apply_heightmap() 2021-12-28 02:20:47 +00:00
b0c3d34dd0
Implement apply function for VoxelManipulators 2021-12-28 02:17:26 +00:00
f1a433b5e3
split_shell: automatically trim whitespace; ignore args that consist solely of whitespace
Hence "//bonemeal       1     4     " now functions correctly
2021-12-28 01:27:39 +00:00
58d3c1e43b
Add optional frame to brush previews
This way, it's easiere to see where the edges are of the preview
2021-12-27 19:45:13 +00:00
d657ce1abe
//sculptlist: fix bugs. It works! 2021-12-27 19:36:57 +00:00
10c9d6f886
Start implementing a //sculpt command, but it's not finished or tested yet.
First up: test that our initial basic dynamic brushes work as intended 
with the //sculptlist [preview] command.

Also on the todo list: document it in the chat command reference!
2021-12-27 03:11:52 +00:00
c030acfd7e
Vector3: add new .clamp() function 2021-12-27 02:18:56 +00:00
eab498aac2
comment debug logging 2021-12-27 01:58:01 +00:00
6e89fc868f
//maze: fix generated maze not reaching to the very edge of the defined region
Fixes #60.
2021-12-26 22:57:47 +00:00
f7a5e223d4
really fix #72 2021-12-26 22:40:00 +00:00
502595579e
Try fixing #72 2021-12-26 22:36:24 +00:00
607f2bfdea
//move+: bugfix 2021-11-13 12:41:00 +00:00
8ec89c3e67
Implement //move+, but it isn't working right just yet. 2021-11-13 12:36:10 +00:00
d560583121
Make //copy+ a thing using the new wea.parse.axes 2021-11-11 02:20:37 +00:00
9729e82e35
parse_axes: support "true" as alias to activate mirrorring submode 2021-11-11 01:50:12 +00:00