Commit graph

421 commits

Author SHA1 Message Date
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
73e07eb013
bit polyfill: tiny tweak 2021-07-19 00:26:52 +01:00
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
fa2c0642c1
Fix typo in comment 2021-07-18 20:11:10 +01:00
e4d3f26692
perlin: use wea.bit.band 2021-07-17 21:34:50 +01:00
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
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
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
0d1900d37c
Add airlike backend command, but it's nto tested or hooked up yet 2021-07-13 23:49:21 +01:00
aeea17524d
benchmark the new LRU cache implementation 2021-07-13 23:42:19 +01:00
81957070f9
Implement an LRU cache 2021-07-13 23:42:08 +01:00
e799a2ea61
Refactor Queue implementation into separate file 2021-07-13 22:02:34 +01:00
e85b91d074
//noise2d infrared: remove debug print 2021-07-13 00:56:26 +01:00
03038689e2
Add infrared noise 2021-07-13 00:54:52 +01:00
8891c47e98
wea.parse.map: fix crash if keywords isn't specified 2021-07-13 00:22:35 +01:00
0dee65ca1d
//noise2d: add red noise 2021-07-13 00:15:23 +01:00
7db2207aea
noise2d/make_2d: add todo 2021-07-12 02:46:47 +01:00
46c2a02ade
//noise2d: add white algorithm; fix nasty bug in apply_2d 2021-07-12 02:45:32 +01:00
a42e296f4e
Reference: Document //noise2d 2021-07-06 01:08:36 +01:00
40173b2647
Vector3: default to 0 for unspecified args 2021-07-04 23:30:29 +01:00
8a14d35c04
noise2d: add comment 2021-07-04 16:14:48 +01:00
30f7927af4
Delete failed test :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( 2021-07-04 16:13:55 +01:00
457f436a09
Failed implementation of xoshiro256++ becaause Lua doesn't have an integer type :-( :-( :-( :-( :-( :-( :-( 2021-07-04 16:13:32 +01:00
0b0595a1d3
Remove a whole bunch of stray debug print statements 2021-07-04 14:35:02 +01:00
0212950d87
wea.apply_heightmap_changes: fix loop 2021-07-04 14:30:22 +01:00
1d82013d86
//noise2d: add sin; sort out apply_mode as number 2021-07-04 13:21:13 +01:00
49bf0f19bc
Perlin: remove debug functions 2021-07-04 12:03:29 +01:00
b2eb76d280
//noise2d works!
...just.

Next up more engines and documentation
2021-07-03 22:53:16 +01:00
ad8d8eab6b
wea.format.map: use tostring on values to avoid crashes 2021-07-03 14:44:59 +01:00
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
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
1984c67295
Vector3, Face, Mesh: unconditionally return class 2021-06-28 01:00:38 +01:00
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
624abc899b
node_distribution: add missing \n 2021-06-27 23:52:16 +01:00
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
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
dbdf509d79
Add dofile for vector3 2021-06-26 19:48:32 +01:00
65c07d59ea
Vector3: add sort, is_contained, expand_region, mean, min, and max 2021-06-26 17:48:39 +01:00
91b77c981b
Vector3: add abs 2021-06-26 17:06:53 +01:00
88214aef57
Vector3: add min_component, max_component 2021-06-26 17:02:35 +01:00
0a3680aa7d
Vector3: add unit / normalise 2021-06-26 16:56:26 +01:00
c76a049286
Vector3: tweak 2021-06-26 16:47:22 +01:00
112bb96e99
Vector3: add equals, equality operator 2021-06-26 16:28:39 +01:00
cfa086ce46
Vector3: add dot product 2021-06-26 15:47:53 +01:00
dc5645cfeb
Vector3: add set_to 2021-06-26 15:43:42 +01:00
133cae587c
Vector3: add move_towards 2021-06-26 15:39:47 +01:00
773e6354ad
Vector3: add limit_to 2021-06-26 15:32:47 +01:00
6d0447a02f
Vector3: add clone 2021-06-26 15:23:16 +01:00
7549b0eaea
Vector3: add length, length_squared, sqrt 2021-06-26 15:15:32 +01:00
cde3c3360c
Vector3: add snap_to 2021-06-26 14:44:40 +01:00
8ae0d92e3d
Vector3/tests: flip assert orderings 2021-06-26 14:40:14 +01:00
57df2d045f
Vector3: add area 2021-06-26 14:26:40 +01:00
1e1112c34a
Vector3: Add round 2021-06-26 14:22:26 +01:00
06e19248c7
Vector3: add floor/ceil 2021-06-26 14:19:18 +01:00
9d197aefd2
Start implementing vector3.
Currently we have the 4 basic operations down, plus tostring.
2021-06-26 14:10:28 +01:00
90b456a687
Merge branch 'main' into vortechnix 2021-06-26 02:18:48 +01:00
afce954306
Test the rest of the sring polyfills 2021-06-26 02:17:49 +01:00
6a42aa6838
Set out the basics of automated tests for str_padend 2021-06-26 02:05:01 +01:00
VorTechnix
2d6bd676d6
Update --remove tocharset testing tags
Co-authored-by: Starbeamrainbowlabs <sbrl@starbeamrainbowlabs.com>
2021-06-25 17:25:09 -07:00
VorTechnix
a6a858046f
Update tochars.lua grammar
Co-authored-by: Starbeamrainbowlabs <sbrl@starbeamrainbowlabs.com>
2021-06-25 16:30:38 -07:00
VorTechnix
a40b65af3e
Update --remove old tochars syntax
Co-authored-by: Starbeamrainbowlabs <sbrl@starbeamrainbowlabs.com>
2021-06-25 16:29:47 -07:00
VorTechnix
92c7d0447a
Fixed indentation in torus 2021-06-25 11:53:23 -07:00
VorTechnix
efef201fde //smake added 2021-06-22 09:33:49 -07:00
VorTechnix
7553163e11 split tochars to separate file 2021-06-03 10:02:17 -07:00
VorTechnix
622ea7a683 added worldeditadditions.tochars 2021-06-02 21:29:36 -07:00
VorTechnix
3c7cd38459 initialized worldeditadditions.tables 2021-06-02 19:27:23 -07:00
VorTechnix
3dff6fe66c added PARSE header 2021-06-02 19:27:04 -07:00
VorTechnix
0026bcdab7 added sets.lua, reordered dofiles in /tables/init.luas 2021-06-02 19:18:49 -07:00
VorTechnix
38335e291f Merge branch 'main' into vortechnix 2021-06-02 18:03:16 -07:00
VorTechnix
8bffeda5b5 Merge branch 'main' into vortechnix 2021-06-02 17:59:06 -07:00
1f44e240fb
utils/tables: refactor into separate files
..it was getting rather long, because Lua doesn't exactly come with 
batteries included :-/
2021-06-03 01:57:46 +01:00
9cb746e86a
noise: add comment 2021-05-31 00:38:07 +01:00
VorTechnix
6e04b11e18 added vector.abs 2021-05-30 14:34:57 -07:00
VorTechnix
8884c938e0 Merge branch 'main' into vortechnix 2021-05-30 09:35:41 -07:00
0474f5a0ee
wea.table_filter: also pass i as the 2nd argument 2021-05-30 16:17:19 +01:00
8bc2e543da
polyfill str_starts: make less dense and mroe readable 2021-05-30 13:06:47 +01:00
9b53b73bc9
//erode river: Update docs,rename some parameters for consistency 2021-05-30 02:09:52 +01:00
74bde4e60c
//erode river: comment debug
...we might need them again in the future
2021-05-30 01:44:00 +01:00
ccf27c8629
Bugfix new //erode river implementation
next stop: docs!
2021-05-30 01:42:06 +01:00
dc7ccf49f3
wea.parse.map: support bools 2021-05-30 01:40:18 +01:00
0498125ca7
Bugfix table_map: avoid infinite loop 2021-05-30 00:12:13 +01:00
a5c6e82ef3
Bugfix table_map: return result 2021-05-30 00:11:13 +01:00
00a60eba17
//erode → river: Change only 1 height at a time for extra granularity
this also simplifies it a bit too
2021-05-30 00:04:01 +01:00
9ecdd01914
//erode: initial river algorithm implementation 2021-05-30 00:02:21 +01:00
17b8f8a555
erode/snowballs: correct comment 2021-05-29 23:20:34 +01:00
a8ddc7831a
wea.table_filter: add API function
Really, Lua should have this already. At this rate, I'll be implementing 
the entire Javascript standard library... :P
2021-05-29 23:20:11 +01:00
b23f353b19
wea.min, wea.max: add API functions 2021-05-29 23:13:10 +01:00
c7c6a848dc
wea.table_unique(): Add API function 2021-05-29 22:49:50 +01:00
8eb9a8ed0f
wea.table_map(): Add api function 2021-05-29 22:49:35 +01:00
1e677c1f3f
wea.split: Standardise comment 2021-05-29 22:49:14 +01:00
98a04b12db
tokenise_commands: fix ordering 2021-05-29 00:57:42 +01:00
46eaf10884
tokenise_commands: improve comments 2021-05-29 00:54:30 +01:00
50da328c67
fixup 2021-05-29 00:44:17 +01:00
a937740275
Implement tokenise_commands utility function
This function is intended for use in //multi.
2021-05-29 00:43:09 +01:00
87b7254350
erode: add future comment 2021-05-22 02:36:56 +01:00
75a5f14f01
//erode snowballs: Fix assignment to global variable; slightly refactor changelog
Sincce we've got a number of bugfixes here and the changelog is getting 
a bit longer, I've split bugfixes up.
2021-05-22 01:39:59 +01:00
VorTechnix
912ecf09c2 Merge branch 'main' into vortechnix 2021-05-21 09:21:17 -07:00
e3e5710217
Merge branch 'main' of github.com:sbrl/Minetest-WorldEditAdditions into main 2021-05-21 02:11:11 +01:00
97aa24bcd3
wea.parse.weighted_nodes: comment out debug 2021-05-21 02:11:03 +01:00
VorTechnix
639c2061ef
Bugfix/torus: fix hollow implementation; improve clarity 2021-05-18 15:22:52 +01:00
VorTechnix
0a44992676
reference: add hollow example to torus 2021-05-18 14:56:19 +01:00
VorTechnix
2b02f9ff2e
Fix typos in comments 2021-05-18 14:55:43 +01:00
VorTechnix
184ca1a328 recovery 2021-05-17 21:12:46 -07:00
VorTechnix
d4b457f85d
Merge branch 'main' into vortechnix 2021-05-17 20:45:28 -07:00
VorTechnix
cb841bfb80 Update torus.lua 2021-05-17 18:57:51 -07:00
VorTechnix
7defe829c3 Revert "Merge branch 'main' of https://github.com/sbrl/Minetest-WorldEditAdditions into main"
This reverts commit d9069b3cfa, reversing
changes made to 35eeb918d0.
2021-05-17 18:49:07 -07:00
VorTechnix
d7f328c65b Revert "Update torus.lua"
This reverts commit 35eeb918d0.
2021-05-17 18:47:34 -07:00
VorTechnix
ec1623b230 Merge branch 'main' into vortechnix 2021-05-17 17:40:36 -07:00
VorTechnix
5b893901dc //torus update 2021-05-17 17:16:04 -07:00
VorTechnix
9bb9aeda5c Update torus.lua 2021-05-17 11:18:09 -07:00
VorTechnix
63d284b35b axes + safeguards 2021-05-17 10:41:52 -07:00
VorTechnix
d9069b3cfa Merge branch 'main' of https://github.com/sbrl/Minetest-WorldEditAdditions into main 2021-05-17 09:14:55 -07:00
VorTechnix
35eeb918d0 Update torus.lua 2021-05-17 09:13:43 -07:00
57ff577694
torus: add comment 2021-05-15 02:18:41 +01:00
0100725a7b
torus: finish rework 2021-05-15 02:09:43 +01:00
3fbfc1fb15
torus: rework to add axes, but it's not finished yet 2021-05-15 02:00:40 +01:00
f9eb67b4cc
bonemeal: Try bonemealing everything that isn't an air block
fixes #49
2021-05-11 22:17:10 +01:00
81f3a87180
wea.parse.chance: add weight mode 2021-05-11 22:12:04 +01:00
040d7fbfde
wea.parse.chance: use not 2021-05-11 21:59:43 +01:00
4ec04c03b3
worldeditadditions.parse.chance: add API function 2021-05-11 21:55:44 +01:00
d6d11c6b1a
README: Update quick reference 2021-03-20 02:17:56 +00:00
7639bd2c2b
worldeditadditions.apply_heightmap_changes: properly comment it
It's a pretty complicated function, so it's probably a good idea to 
document how it works.
2021-03-20 02:09:28 +00:00
1f273e4b13
comment worldeditadditions.eta 2021-03-20 01:56:14 +00:00
6af8bba987
selector_helps → axes
It makes sense to me at least that we should keep stuff to do with 
parsing axes together.
2021-03-20 01:53:01 +00:00
8877e356f0
refactor: refactor utils/strings.lua into multiple files 2021-03-20 01:48:56 +00:00
VorTechnix
866748a5c3 dir function rename 2021-03-19 16:25:26 -07:00
VorTechnix
a027130917
Merge pull request #5 from sbrl/main
Updates + noise
2021-03-18 17:31:34 -07:00
VorTechnix
d4edeaeff7 renamed translation function 2021-03-18 09:37:53 -07:00
VorTechnix
00b9a1f517 srel stable? 2021-03-17 11:36:12 -07:00
a1911037d2
Fill out noise.make_2d, but it's untested
Next, we need to do the make_3d version, followed by the plumbing to 
worldeditadditions.noise(), followed by the chat command

....there's a lot to do.
2021-03-16 21:39:12 +00:00
VorTechnix
20a879a7af scentre and some sorting 2021-03-15 20:51:23 -07:00
683a742fe2
Merge pull request #44 from VorTechnix/master
//scloud and cloud wand refactor
2021-03-13 12:11:27 +00:00
VorTechnix
18347f93bf wea.selection declared 2021-03-12 18:11:43 -08:00
VorTechnix
c39fc1c9e8 Removed unneeded local 2021-03-12 18:09:24 -08:00
VorTechnix
5ffa67b7ac refactor func names, move punchnode function 2021-03-12 18:01:17 -08:00
d20764cffd
Add pure Lua perlin implementation, but it's untested. 2021-03-13 00:37:26 +00:00
VorTechnix
3df23e8086 scloud and cloud wand refactor 2021-03-12 15:47:10 -08:00
VorTechnix
a671f742e9 scol and srect refactor 2021-03-09 11:05:03 -08:00
587d430e48
vector.floor: add resilience 2021-03-09 18:45:04 +00:00
feb4d6a4bf
//overlay: Don't place nodes above water
Fixes #38
2021-03-02 00:09:46 +00:00
e8d97959b2
Add //spush, //spop, and //sstack 2021-03-01 22:23:36 +00:00
108c280843
Start laying out stuff for our noise experiment, but it isn't hooked up yet and isn't finished. 2021-03-01 21:26:33 +00:00
2acc6b3470
Merge pull request #34 from VorTechnix/master
Added //srect and //basename
2021-03-01 20:54:13 +00:00
VorTechnix
727ee41e72 Simplify srect function 2021-02-28 09:59:09 -08:00
VorTechnix
e82c8b1e81
error handling
Co-authored-by: Starbeamrainbowlabs <sbrl@starbeamrainbowlabs.com>
2021-02-28 07:25:31 -08:00
VorTechnix
cb1d54c665 Added getsign, fixed srect glitch 2021-02-25 20:22:39 -08:00
56380f149b
heightmap_size: refactor to use { x, z } instead of [0] / [1] 2021-02-26 02:20:53 +00:00
VorTechnix
b62e4f706d added description 2021-02-24 19:42:24 -08:00
VorTechnix
191f1385b1 fixed modulo 2021-02-24 09:08:49 -08:00
VorTechnix
489d856176 Added srect and basename
Also moved saplingaliases and corrected the block text in forest.lua
2021-02-24 08:40:53 -08:00
78572e453e
Implement point cloud wand 2021-02-23 22:56:56 +00:00
f2aa87b396
terrain: pick the node to replace with from higher up in the column in question
....unless we hit the ignore node, in which case we default to air.
2021-02-23 01:31:24 +00:00
4ba59a6ec3
//conv, //erode: treat liquids as air 2021-02-23 00:20:57 +00:00
aef4fe4380
fillcaves: treat liquids as air 2021-02-23 00:19:24 +00:00
4368f74e30
Fix directionality in worldedit region update when scaling down 2021-02-18 02:33:26 +00:00
3f871e01f5
//scale: fix more bugs, and also update the worldedit region after scaling 2021-02-18 02:18:34 +00:00
a63923fec9
//scale: scaling up works! Can't say the same about scaling down though, but that will come in time. 2021-02-18 01:24:53 +00:00
ed3adde56a
//scale: fix some bugs, and rename direction → anchor internally
It's nice to have some consistency, and find&replace saves soooo much 
time :P
2021-02-18 00:30:24 +00:00
17a67fc5f9
Merge branch 'master' of github.com:sbrl/Minetest-WorldEditAdditions 2021-02-17 23:46:11 +00:00
2a268d9ff8
Implement scale_up
Next up: testing!
2021-02-17 23:46:03 +00:00
756c1c12f2
scale_down: fix a number of runtime errors
Note that we still haven't tested it :P
2021-02-17 23:09:25 +00:00
bl-ue
1d3c2a0416 Fix typos 2021-02-09 19:53:30 -05:00
ad9e5a26b1
Start working on //scale, but it isn't finished yet. 2021-02-07 23:39:09 +00:00
03afd7e75c
//subdivide: comment out debug statements
....we're pretty sure what the issue is, and our server on elessar 
doesn't even emit them
2021-02-07 03:13:02 +00:00
555058b4ac
//subdivide: tweak update message display 2021-02-07 03:12:09 +00:00
151afadf6c
//many: fix running commands that take no arguments 2021-02-07 02:59:19 +00:00
a360f06138
Fix eta calculations 2021-02-07 02:45:34 +00:00
9d76c5d98a
wea.eta: fix obscure edge case 2021-02-07 01:37:50 +00:00
888ee04f9d
//subdivide: fix a number of other issues 2021-02-07 01:28:07 +00:00
edb80d7478
//subdivide: fix debug logging 2021-02-07 01:07:21 +00:00
122ff381f1
//subdivide: debug logging 2021-02-07 01:02:03 +00:00
ebed73fc49
//subdivide: fix emerge_area to only emerge individual chunked areas 2021-02-05 23:44:33 +00:00
38e5c81d33
//subdivide: tally total times so far as we go
- Don't use wea.sum() on a table full of all the times we've recorded
   so far
 - Limit individual stats list lengths to 25 to avoid memory issues when
   running with a large number of chunks
 - Tally total times / metrics as we go to avoid memory issues
2021-02-03 03:04:33 +00:00
25e659321a
//subdivide: reimplement count_chunks
this does the maths properly, so we'e going from O(n³) to O(1) :D

//subdivide should get started *so much faster* now :D
2021-02-03 02:25:33 +00:00
85a715a0ea
wea.emerge_area: remove debug prints 2021-02-03 00:45:54 +00:00
a511d85e29
human_time: correctly handle non-number inputs 2021-02-03 00:44:42 +00:00
e8584c4ec6
hollow: fix undefined variable 2021-01-31 21:30:13 +00:00
0be205dae7
Start implementing //hollow, but it isn't finished yet 2021-01-31 18:03:07 +00:00
4b1cf074d5
//count: make numbers human-readable
Fixes #14
2021-01-31 17:43:08 +00:00
4b2f2b0001
Add //line
Fixes #25.
2021-01-16 18:36:17 +00:00
d2f101e9dd
It works! 2020-10-10 22:22:53 +01:00
008519177c
//subdivide: Fix more issues, there are a few more to go 2020-10-10 21:57:19 +01:00
2ac6ea03a7
Fix some bugs, but the new //subdivide still doesn't work yet 2020-10-10 21:50:03 +01:00
aa234595a8
Refactor //subdivide to call minetest.emerge_blocks
....whether it actually works or not is another question entirely 
though.....
2020-10-10 21:43:22 +01:00
ef165b9c58
Add ETA to //many, and tidy up message generation in //subdivide 2020-10-10 17:01:08 +01:00
fea89f2e3c
//maze, //maze3d: Allow non-number seeds
This uses a simple (non-crypto!) hash function to hash non-number 
strings to a number. Existing seeds are *not* affected - they will still 
work as before.
2020-09-28 01:31:15 +01:00
39103a046f
//maze: fix some areas of generated mazes not being explored 2020-09-28 01:30:15 +01:00
130524a7d0
Disable some debug prints, and update docs 2020-09-20 22:07:47 +01:00
a6f5fe5123
Finish initial //ellipsoidapply implementation 2020-09-20 21:19:29 +01:00
e0e64dc6b9
Start ellipseapply, but it isn't finished 2020-09-20 18:03:29 +01:00
13278570cb
Optimise //count 2020-09-20 17:53:55 +01:00
5967db2496
Update depends.txt 2020-09-20 13:29:16 +01:00