Commit Graph

470 Commits

Author SHA1 Message Date
Starbeamrainbowlabs
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
Starbeamrainbowlabs
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
Starbeamrainbowlabs
d657ce1abe
//sculptlist: fix bugs. It works! 2021-12-27 19:36:57 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
c030acfd7e
Vector3: add new .clamp() function 2021-12-27 02:18:56 +00:00
Starbeamrainbowlabs
eab498aac2
comment debug logging 2021-12-27 01:58:01 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
f7a5e223d4
really fix #72 2021-12-26 22:40:00 +00:00
Starbeamrainbowlabs
502595579e
Try fixing #72 2021-12-26 22:36:24 +00:00
Starbeamrainbowlabs
607f2bfdea
//move+: bugfix 2021-11-13 12:41:00 +00:00
Starbeamrainbowlabs
8ec89c3e67
Implement //move+, but it isn't working right just yet. 2021-11-13 12:36:10 +00:00
Starbeamrainbowlabs
d560583121
Make //copy+ a thing using the new wea.parse.axes 2021-11-11 02:20:37 +00:00
Starbeamrainbowlabs
9729e82e35
parse_axes: support "true" as alias to activate mirrorring submode 2021-11-11 01:50:12 +00:00
Starbeamrainbowlabs
94f675ddce
parse_axes: add mirroring function 2021-11-11 01:47:22 +00:00
Starbeamrainbowlabs
41604d19ac
player.lua: tidy up comments 2021-11-11 01:33:08 +00:00
Starbeamrainbowlabs
43ea6e34c1
fixup 2021-11-10 02:07:34 +00:00
Starbeamrainbowlabs
e82440a096
Add deep copy table function 2021-11-10 02:07:13 +00:00
Starbeamrainbowlabs
35970b31b3
Implement tests for parse_axes 2021-11-08 00:47:35 +00:00
Starbeamrainbowlabs
4fb59a160f
parse_relative_axis_name: write tests 2021-11-08 00:16:51 +00:00
Starbeamrainbowlabs
96c3ede365
parse_axes: bugfix, start writing tests 2021-11-07 18:04:18 +00:00
Starbeamrainbowlabs
2babba9c55
first pass on writing an advanced axes parser, but it's untested 2021-11-07 17:14:11 +00:00
VorTechnix
46bd5d4fce Merge branch 'VorTechnix' of https://github.com/sbrl/Minetest-WorldEditAdditions into VorTechnix 2021-11-07 07:36:45 -08:00
VorTechnix
54268431b5 added missing quotation marks 2021-11-07 07:36:43 -08:00
VorTechnix
f7d4c5c6ac
Fix shadowing error 2021-11-07 07:04:07 -08:00
Starbeamrainbowlabs
3f48832fff
Merge branch 'main' into VorTechnix 2021-11-07 14:31:01 +00:00
Starbeamrainbowlabs
33a2ff1ed4
//spiral2 circle: round down 2021-10-31 19:48:40 +00:00
Starbeamrainbowlabs
9d7000baed
Add circular spirals :D 2021-10-31 16:59:52 +00:00
Starbeamrainbowlabs
d3a8efb9b8
Add //spiral2, write glue for square spirals
Next up: circular spirals!
2021-10-31 15:11:01 +00:00
Starbeamrainbowlabs
a3f26200a0
init: call spiral_square 2021-10-30 02:47:19 +01:00
Starbeamrainbowlabs
ad789d500a
Implement spiral square, but it's untested.
It would also be awesome to customise the directional plane upon which 
the spiral is generated. It might actually be possible without melting 
my brain I think....


Looking at http://www.mathematische-basteleien.de/spiral.htm it should 
be possible to go this for circles too. But there's 1 particular 
function in Vector2.js that we need to port to Vector3.lua that we 
haven't yet which we'd need for that.....
2021-10-30 02:46:25 +01:00
Starbeamrainbowlabs
84741f5cb9
ellipsoid2: remove todo 2021-10-23 14:32:44 +01:00
Starbeamrainbowlabs
2ae241aee5
Add //ellipsoid2 2021-10-14 01:50:27 +01:00
Starbeamrainbowlabs
91d5b9abc2
ellipsoid: add comment 2021-10-13 22:50:37 +01:00
Starbeamrainbowlabs
5bdd8ddb5e
ellipsoid: remove redundant minetest.get_content_id("air") call
wea.is_airlike() is the new function that should be used instead,  but 
in this case the call wasn't even necessary
2021-10-13 22:46:14 +01:00
Starbeamrainbowlabs
653864be99
Start working on //copy, but it's not finished yet.
We need to merge @VorTechnix's branch in first to gain access to 
advanced axis parsing functions before we can complete it.

For this reason, the command registration for //copy is currently 
commented out.
2021-10-11 02:41:45 +01:00
VorTechnix
191e99f0b5 refactored table_tosting 2021-10-10 14:39:50 -07:00
VorTechnix
b72d36816e added to_boolean 2021-10-10 14:39:30 -07:00
Starbeamrainbowlabs
55982b2eab
cloud wand: Improve chat message text 2021-10-03 15:31:27 +01:00
VorTechnix
a5960983e7 Merge branch 'main' into VorTechnix 2021-09-05 09:34:54 -07:00
Starbeamrainbowlabs
62582b6abb
Update sapling alias compatibility 2021-08-12 01:09:24 +01:00
Starbeamrainbowlabs
2920f7081d
Add //noiseapply 2021-08-07 23:01:15 +01:00
Starbeamrainbowlabs
b131970f16
fixup 2021-08-07 22:30:38 +01:00
Starbeamrainbowlabs
6f00394d3d
Noise: add perlinmt algorithm & set as default 2021-08-07 22:30:10 +01:00
Starbeamrainbowlabs
fc2444c5cd
//floodfill: remove debug 2021-08-07 02:31:21 +01:00
Starbeamrainbowlabs
d1b0866af2
//floodfill: fix crash 2021-08-07 02:30:38 +01:00
VorTechnix
551f0c7e16 player_dir debugged (hopefully) 2021-08-05 20:38:59 -07:00
VorTechnix
cff58792bf Merge branch 'main' into VorTechnix 2021-08-05 10:43:00 -07:00
VorTechnix
4cf30a0e74 updated @return on sort 2021-08-05 10:41:35 -07:00
VorTechnix
533519d318 streamlined getsign 2021-08-05 10:40:36 -07:00
Starbeamrainbowlabs
e9398862b9
wea.inspect: comment out debug 2021-08-05 15:58:14 +01:00
Starbeamrainbowlabs
9bcf242443
Add worldeditadditions.inspect function 2021-08-05 15:55:30 +01:00
Starbeamrainbowlabs
35777b7ae5
//layers: comment debug 2021-08-05 02:38:57 +01:00
Starbeamrainbowlabs
f30ddbae3b
//walls: add optional thickness argument 2021-08-05 02:00:38 +01:00
Starbeamrainbowlabs
87f84e2482
//bonmeal: add optional node list constraint 2021-08-05 01:17:43 +01:00
Starbeamrainbowlabs
c48e9f2ab8
Vector3.min, Vector3.max: allow arguments to be numbers 2021-08-04 21:23:01 +01:00
Starbeamrainbowlabs
7c7abf4509
Queue: document with comments 2021-08-04 21:11:47 +01:00
Starbeamrainbowlabs
ef678e6a05
//layers: fix 2021-08-04 12:17:39 +01:00
Starbeamrainbowlabs
db830c6633
Implement slope constraint for //layers, but it isn't tested yet 2021-08-04 01:41:51 +01:00
Starbeamrainbowlabs
902d5ddc8b
wea.calculate_normals: update comment 2021-08-04 00:53:47 +01:00
Starbeamrainbowlabs
1833e68ec5
terrain.lua: add wea.calculate_slope() 2021-08-04 00:51:16 +01:00
VorTechnix
77ffda46f7 added axis and dir checks 2021-08-02 18:16:50 -07:00
VorTechnix
74ba9cc36f more lib/selector refactoring 2021-08-02 16:01:02 -07:00
VorTechnix
325f1cc11e added init for lib/selectors 2021-08-02 13:29:55 -07:00
VorTechnix
b20c8f9af1 Merge branch 'main' into VorTechnix 2021-08-01 07:03:31 -07:00
Starbeamrainbowlabs
a9b746986a
fixup 2021-07-31 16:08:01 +01:00
Starbeamrainbowlabs
07c55dc740
split_shell: comment debug
also, in 45def53 we fixed a bug with quotes being left behind at the and 
of a string
2021-07-31 16:07:48 +01:00
Starbeamrainbowlabs
45def53294
various commands: Upgrade to use wea.split_shell 2021-07-31 16:03:04 +01:00
Starbeamrainbowlabs
8c76b3b760
Queue: fix accessing undefined variable result 2021-07-30 19:57:16 +01:00
Starbeamrainbowlabs
f0e1111b7c
tokenise_commands: fix luacheck issue 2021-07-30 19:56:44 +01:00
Starbeamrainbowlabs
0164a9b9eb
wea.parse.map: fix autoconverting to number / bool 2021-07-30 19:56:01 +01:00
Starbeamrainbowlabs
05eaf01912
nodes.lua: fix shadowing definition of loop variable i on line 22 2021-07-30 19:54:57 +01:00
Starbeamrainbowlabs
3ac0fa14f9
is_airlike: Fix accessing undefined global variable 2021-07-30 19:54:13 +01:00
Starbeamrainbowlabs
a8e0a3088b
lru_benchmark: fix luacheck errors 2021-07-30 19:53:29 +01:00
Starbeamrainbowlabs
3c414f2dbd
Fix more issues discovered by luacheck 2021-07-30 19:52:36 +01:00
Starbeamrainbowlabs
64ed01132e
scale_down: fix redefining posi_copy 2021-07-30 19:49:11 +01:00
Starbeamrainbowlabs
54d0f5a3a3
run2d: Fix accidental redefining global variable 2021-07-30 19:48:10 +01:00
Starbeamrainbowlabs
51e1e7dcbd
noise.params_apply_default: Fix shadowing variable 2021-07-30 19:47:21 +01:00
Starbeamrainbowlabs
1f4a115063
//maze3d: Fix accidental global variable definition 2021-07-30 19:46:33 +01:00
Starbeamrainbowlabs
f37a2aabcf
//forest: Fix redefining variable i in loop 2021-07-30 19:45:09 +01:00
Starbeamrainbowlabs
c6bae3b7e0
//erode river: fix redefining i in nested loop 2021-07-30 19:44:02 +01:00
Starbeamrainbowlabs
910d4b036f
maze2d: squash another undefined variable 2021-07-30 19:03:54 +01:00
Starbeamrainbowlabs
ecb846fcfe
//erode river: fix undefined global variable 2021-07-30 18:03:39 +01:00
VorTechnix
8225199520 renamed axes.lua to player.lua 2021-07-28 18:06:10 -07:00
Starbeamrainbowlabs
bd1da727a4
Integrate split_shell into worldeditadditions
...it's not used anywhere yet though
2021-07-28 18:32:41 +01:00
Starbeamrainbowlabs
b708fec2db
fixup 2021-07-28 18:07:21 +01:00
Starbeamrainbowlabs
6a77b3cd21
split_shell: fix escape handling by unwinding escaping by 1 level 2021-07-28 17:54:44 +01:00
Starbeamrainbowlabs
c282e286bb
split_shell: correctly handle escaping edge cases 2021-07-28 17:49:18 +01:00
Starbeamrainbowlabs
31a4d89a49
TEST: implement split_shell 2021-07-28 17:39:09 +01:00
VorTechnix
415f36013f comment tweak 2021-07-27 19:56:29 -07:00
VorTechnix
af07a158a8 shaved some milliseconds off split 2021-07-23 18:05:54 -07:00
VorTechnix
6e3b9d99e9 removed tests 2021-07-23 16:21:58 -07:00
VorTechnix
8718e59206 added wcompass 2021-07-23 12:11:08 -07:00
VorTechnix
72513b350a revert to fsplit 2021-07-23 10:46:23 -07:00
VorTechnix
ce1ba27728 new split function 2021-07-22 13:29:41 -07:00
VorTechnix
40f0e437fb Merge branch 'main' into VorTechnix 2021-07-21 12:38:18 -07:00
VorTechnix
d7d96ae263 //wbox added 2021-07-20 12:52:19 -07:00
VorTechnix
7b17c3675a Update corner_set.lua 2021-07-19 09:50:10 -07:00
VorTechnix
0c9987c745 corner set working 2021-07-19 08:55:39 -07:00
VorTechnix
1e7ab670f7 fix typo 2021-07-19 07:47:22 -07:00
VorTechnix
2c42e0495c cornerset broken 2021-07-19 07:42:47 -07:00
VorTechnix
dbab2e4a0d added wireframe stuff 2021-07-18 19:29:17 -07:00
VorTechnix
9420be3896 untangle init.lua 2021-07-18 19:24:57 -07:00
VorTechnix
f7323afe10 wireframe corner 2021-07-18 17:27:37 -07:00
Starbeamrainbowlabs
73e07eb013
bit polyfill: tiny tweak 2021-07-19 00:26:52 +01:00
Starbeamrainbowlabs
9020948dc5
bit polyfill: fix undeclared global accessed warning 2021-07-19 00:26:19 +01:00
VorTechnix
0b01520118 sets (not working) 2021-07-18 12:39:48 -07:00
Starbeamrainbowlabs
fa2c0642c1
Fix typo in comment 2021-07-18 20:11:10 +01:00
Starbeamrainbowlabs
e4d3f26692
perlin: use wea.bit.band 2021-07-17 21:34:50 +01:00
Starbeamrainbowlabs
5c7b5432d9
Add bit polyfill from https://github.com/Rabios/polyfill.lua 2021-07-17 21:31:31 +01:00
VorTechnix
c57e8e6558 Merge branch 'main' into VorTechnix 2021-07-15 13:27:30 -07:00
Starbeamrainbowlabs
0fef39d707
Vector3: Implement __concat operator overloading
Now you can do this:

local v = wea.Vector3.new(3, 4, 5)
print(v.."yay")
2021-07-15 02:18:21 +01:00
Starbeamrainbowlabs
0b379c48cb
Implement //airapply
For #56, but the docs aren't written yet so we'll wait on closing it 
until I've written them.
2021-07-15 02:17:14 +01:00
Starbeamrainbowlabs
0d1900d37c
Add airlike backend command, but it's nto tested or hooked up yet 2021-07-13 23:49:21 +01:00
Starbeamrainbowlabs
aeea17524d
benchmark the new LRU cache implementation 2021-07-13 23:42:19 +01:00
Starbeamrainbowlabs
81957070f9
Implement an LRU cache 2021-07-13 23:42:08 +01:00
Starbeamrainbowlabs
e799a2ea61
Refactor Queue implementation into separate file 2021-07-13 22:02:34 +01:00
Starbeamrainbowlabs
e85b91d074
//noise2d infrared: remove debug print 2021-07-13 00:56:26 +01:00
Starbeamrainbowlabs
03038689e2
Add infrared noise 2021-07-13 00:54:52 +01:00
Starbeamrainbowlabs
8891c47e98
wea.parse.map: fix crash if keywords isn't specified 2021-07-13 00:22:35 +01:00
Starbeamrainbowlabs
0dee65ca1d
//noise2d: add red noise 2021-07-13 00:15:23 +01:00
Starbeamrainbowlabs
7db2207aea
noise2d/make_2d: add todo 2021-07-12 02:46:47 +01:00
Starbeamrainbowlabs
46c2a02ade
//noise2d: add white algorithm; fix nasty bug in apply_2d 2021-07-12 02:45:32 +01:00
Starbeamrainbowlabs
a42e296f4e
Reference: Document //noise2d 2021-07-06 01:08:36 +01:00
Starbeamrainbowlabs
40173b2647
Vector3: default to 0 for unspecified args 2021-07-04 23:30:29 +01:00
Starbeamrainbowlabs
8a14d35c04
noise2d: add comment 2021-07-04 16:14:48 +01:00
Starbeamrainbowlabs
30f7927af4
Delete failed test :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( 2021-07-04 16:13:55 +01:00
Starbeamrainbowlabs
457f436a09
Failed implementation of xoshiro256++ becaause Lua doesn't have an integer type :-( :-( :-( :-( :-( :-( :-( 2021-07-04 16:13:32 +01:00
Starbeamrainbowlabs
0b0595a1d3
Remove a whole bunch of stray debug print statements 2021-07-04 14:35:02 +01:00
Starbeamrainbowlabs
0212950d87
wea.apply_heightmap_changes: fix loop 2021-07-04 14:30:22 +01:00
Starbeamrainbowlabs
1d82013d86
//noise2d: add sin; sort out apply_mode as number 2021-07-04 13:21:13 +01:00
Starbeamrainbowlabs
49bf0f19bc
Perlin: remove debug functions 2021-07-04 12:03:29 +01:00
Starbeamrainbowlabs
b2eb76d280
//noise2d works!
...just.

Next up more engines and documentation
2021-07-03 22:53:16 +01:00
Starbeamrainbowlabs
ad8d8eab6b
wea.format.map: use tostring on values to avoid crashes 2021-07-03 14:44:59 +01:00
Starbeamrainbowlabs
ee2e5716eb
Implement more of the noise command backend
It's still not hooked up yet though, and there's no command parsing 
logic either
2021-07-03 01:44:36 +01:00
Starbeamrainbowlabs
cae75ec5a2
Add moar comments 2021-07-03 00:42:19 +01:00
VorTechnix
f709d12b75 Update table_tostring.lua 2021-06-30 22:11:34 -07:00
VorTechnix
484b7532eb fixed table.tostring 2021-06-30 11:59:19 -07:00
Starbeamrainbowlabs
1984c67295
Vector3, Face, Mesh: unconditionally return class 2021-06-28 01:00:38 +01:00
Starbeamrainbowlabs
db7b20d485
Refactor table functions into subtable of wea
Also, you can return a value from dofile()!!!!

This changes everything.
2021-06-28 00:56:29 +01:00
Starbeamrainbowlabs
624abc899b
node_distribution: add missing \n 2021-06-27 23:52:16 +01:00
Starbeamrainbowlabs
810d3049ee
format.make_ascii_table: make filename match function name 2021-06-27 23:52:05 +01:00
VorTechnix
3467f9c5b6
fixed min and max 2021-06-26 21:39:16 -07:00
Starbeamrainbowlabs
f32d8588e0
Add Mesh & Face classes for #59
Together, these classes provide a way to represent a mesh of faces
generated from the Minetest world. This way, the generation of a mesh
can be abstracted away from any potential output file writers, thereby
allowing for multiple different output file formats to be supported.
2021-06-26 22:03:55 +01:00
Starbeamrainbowlabs
dbdf509d79
Add dofile for vector3 2021-06-26 19:48:32 +01:00
Starbeamrainbowlabs
65c07d59ea
Vector3: add sort, is_contained, expand_region, mean, min, and max 2021-06-26 17:48:39 +01:00
Starbeamrainbowlabs
91b77c981b
Vector3: add abs 2021-06-26 17:06:53 +01:00
Starbeamrainbowlabs
88214aef57
Vector3: add min_component, max_component 2021-06-26 17:02:35 +01:00
Starbeamrainbowlabs
0a3680aa7d
Vector3: add unit / normalise 2021-06-26 16:56:26 +01:00
Starbeamrainbowlabs
c76a049286
Vector3: tweak 2021-06-26 16:47:22 +01:00
Starbeamrainbowlabs
112bb96e99
Vector3: add equals, equality operator 2021-06-26 16:28:39 +01:00