Commit Graph

224 Commits

Author SHA1 Message Date
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
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
Starbeamrainbowlabs
cfa086ce46
Vector3: add dot product 2021-06-26 15:47:53 +01:00
Starbeamrainbowlabs
dc5645cfeb
Vector3: add set_to 2021-06-26 15:43:42 +01:00
Starbeamrainbowlabs
133cae587c
Vector3: add move_towards 2021-06-26 15:39:47 +01:00
Starbeamrainbowlabs
773e6354ad
Vector3: add limit_to 2021-06-26 15:32:47 +01:00
Starbeamrainbowlabs
6d0447a02f
Vector3: add clone 2021-06-26 15:23:16 +01:00
Starbeamrainbowlabs
7549b0eaea
Vector3: add length, length_squared, sqrt 2021-06-26 15:15:32 +01:00
Starbeamrainbowlabs
cde3c3360c
Vector3: add snap_to 2021-06-26 14:44:40 +01:00
Starbeamrainbowlabs
8ae0d92e3d
Vector3/tests: flip assert orderings 2021-06-26 14:40:14 +01:00
Starbeamrainbowlabs
57df2d045f
Vector3: add area 2021-06-26 14:26:40 +01:00
Starbeamrainbowlabs
1e1112c34a
Vector3: Add round 2021-06-26 14:22:26 +01:00
Starbeamrainbowlabs
06e19248c7
Vector3: add floor/ceil 2021-06-26 14:19:18 +01:00
Starbeamrainbowlabs
9d197aefd2
Start implementing vector3.
Currently we have the 4 basic operations down, plus tostring.
2021-06-26 14:10:28 +01:00
Starbeamrainbowlabs
90b456a687
Merge branch 'main' into vortechnix 2021-06-26 02:18:48 +01:00
Starbeamrainbowlabs
afce954306
Test the rest of the sring polyfills 2021-06-26 02:17:49 +01:00
Starbeamrainbowlabs
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
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
Starbeamrainbowlabs
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
VorTechnix
6e04b11e18 added vector.abs 2021-05-30 14:34:57 -07:00
Starbeamrainbowlabs
0474f5a0ee
wea.table_filter: also pass i as the 2nd argument 2021-05-30 16:17:19 +01:00
Starbeamrainbowlabs
8bc2e543da
polyfill str_starts: make less dense and mroe readable 2021-05-30 13:06:47 +01:00
Starbeamrainbowlabs
ccf27c8629
Bugfix new //erode river implementation
next stop: docs!
2021-05-30 01:42:06 +01:00
Starbeamrainbowlabs
dc7ccf49f3
wea.parse.map: support bools 2021-05-30 01:40:18 +01:00
Starbeamrainbowlabs
0498125ca7
Bugfix table_map: avoid infinite loop 2021-05-30 00:12:13 +01:00
Starbeamrainbowlabs
a5c6e82ef3
Bugfix table_map: return result 2021-05-30 00:11:13 +01:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
b23f353b19
wea.min, wea.max: add API functions 2021-05-29 23:13:10 +01:00
Starbeamrainbowlabs
c7c6a848dc
wea.table_unique(): Add API function 2021-05-29 22:49:50 +01:00
Starbeamrainbowlabs
8eb9a8ed0f
wea.table_map(): Add api function 2021-05-29 22:49:35 +01:00
Starbeamrainbowlabs
1e677c1f3f
wea.split: Standardise comment 2021-05-29 22:49:14 +01:00
Starbeamrainbowlabs
98a04b12db
tokenise_commands: fix ordering 2021-05-29 00:57:42 +01:00
Starbeamrainbowlabs
46eaf10884
tokenise_commands: improve comments 2021-05-29 00:54:30 +01:00
Starbeamrainbowlabs
50da328c67
fixup 2021-05-29 00:44:17 +01:00
Starbeamrainbowlabs
a937740275
Implement tokenise_commands utility function
This function is intended for use in //multi.
2021-05-29 00:43:09 +01:00
Starbeamrainbowlabs
97aa24bcd3
wea.parse.weighted_nodes: comment out debug 2021-05-21 02:11:03 +01:00
Starbeamrainbowlabs
81f3a87180
wea.parse.chance: add weight mode 2021-05-11 22:12:04 +01:00
Starbeamrainbowlabs
040d7fbfde
wea.parse.chance: use not 2021-05-11 21:59:43 +01:00
Starbeamrainbowlabs
4ec04c03b3
worldeditadditions.parse.chance: add API function 2021-05-11 21:55:44 +01:00
Starbeamrainbowlabs
d6d11c6b1a
README: Update quick reference 2021-03-20 02:17:56 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
1f273e4b13
comment worldeditadditions.eta 2021-03-20 01:56:14 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
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
d4edeaeff7 renamed translation function 2021-03-18 09:37:53 -07:00
VorTechnix
00b9a1f517 srel stable? 2021-03-17 11:36:12 -07:00
VorTechnix
20a879a7af scentre and some sorting 2021-03-15 20:51:23 -07:00
VorTechnix
a671f742e9 scol and srect refactor 2021-03-09 11:05:03 -08:00
Starbeamrainbowlabs
587d430e48
vector.floor: add resilience 2021-03-09 18:45:04 +00:00
Starbeamrainbowlabs
feb4d6a4bf
//overlay: Don't place nodes above water
Fixes #38
2021-03-02 00:09:46 +00:00
Starbeamrainbowlabs
e8d97959b2
Add //spush, //spop, and //sstack 2021-03-01 22:23:36 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
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
Starbeamrainbowlabs
78572e453e
Implement point cloud wand 2021-02-23 22:56:56 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
4ba59a6ec3
//conv, //erode: treat liquids as air 2021-02-23 00:20:57 +00:00
bl-ue
1d3c2a0416 Fix typos 2021-02-09 19:53:30 -05:00
Starbeamrainbowlabs
151afadf6c
//many: fix running commands that take no arguments 2021-02-07 02:59:19 +00:00
Starbeamrainbowlabs
a360f06138
Fix eta calculations 2021-02-07 02:45:34 +00:00
Starbeamrainbowlabs
9d76c5d98a
wea.eta: fix obscure edge case 2021-02-07 01:37:50 +00:00
Starbeamrainbowlabs
888ee04f9d
//subdivide: fix a number of other issues 2021-02-07 01:28:07 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
85a715a0ea
wea.emerge_area: remove debug prints 2021-02-03 00:45:54 +00:00
Starbeamrainbowlabs
a511d85e29
human_time: correctly handle non-number inputs 2021-02-03 00:44:42 +00:00
Starbeamrainbowlabs
4b1cf074d5
//count: make numbers human-readable
Fixes #14
2021-01-31 17:43:08 +00:00
Starbeamrainbowlabs
008519177c
//subdivide: Fix more issues, there are a few more to go 2020-10-10 21:57:19 +01:00
Starbeamrainbowlabs
2ac6ea03a7
Fix some bugs, but the new //subdivide still doesn't work yet 2020-10-10 21:50:03 +01:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
ef165b9c58
Add ETA to //many, and tidy up message generation in //subdivide 2020-10-10 17:01:08 +01:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
130524a7d0
Disable some debug prints, and update docs 2020-09-20 22:07:47 +01:00
Starbeamrainbowlabs
0ddf160e84
Fix minor string manipulation crash 2020-09-15 02:00:24 +01:00
Starbeamrainbowlabs
2a592a808c
Finish bugfixing //forest!
moretrees still doesn't work with it though, and I don't understand 
why....
2020-09-14 01:19:15 +01:00
Starbeamrainbowlabs
0b285fa681
Start implementing //forest, but it isn't finished yet 2020-09-13 20:32:55 +01:00
Starbeamrainbowlabs
44efb9bb38
Add .is_sapling() and new forest command.
It's not hooked up yet and we haven't implemented the chat command, so 
it's obviously untested.
2020-09-13 15:43:49 +01:00
Starbeamrainbowlabs
b303f8758a
//erode snowballs: make tweaks & add new noconv param 2020-08-21 22:01:24 +01:00
Starbeamrainbowlabs
fd5804dd9c
//erode: Finish the initial round of bugfixing, but I'm on the fence about it.
Specifically, I'm unsure about whether I'm happy with the effects of the 
algorithm.
Also, we convolve with a 3x3 gaussian kernel after erosion is complete - 
and we have verified that the erosion is having an positive effect at 
"roughening up" a terrain surface.
It seems like the initial blog post was correct: the algorithm does tend 
to make steep surfaces steeper.
It also appears that it's more effective on larger areas, and 'gentler' 
curves. THis might be because the surface normals are more conducive to 
making the snowballs roll.
Finally, we need to decide whether we want to keep the precomputed 
normals as we have now, or whether we want to dynamically compute them 
at the some of request.
2020-08-21 20:59:50 +01:00
Starbeamrainbowlabs
997eb4d101
fix all the crashes with the new erosion algorithm
......but it doesn't look like it's functioning as intended just yet
2020-08-21 15:21:10 +01:00
Starbeamrainbowlabs
acb288b984
Fix a ton of bugs but there are lots more to go..... 2020-08-21 13:27:40 +01:00
Starbeamrainbowlabs
cdba38d37d
Start implementing snowball erosion algorithm.
There's still a long way to go - we're only just getting warmed up!
2020-08-20 01:53:26 +01:00
Starbeamrainbowlabs
91f11a2b0d
Comment out debug line 2020-08-11 21:17:23 +01:00
Starbeamrainbowlabs
0afbba4deb
os.clock() → minetest.get_us_time()
....how did I miss that :P
2020-06-26 20:46:35 +01:00
Starbeamrainbowlabs
c0624f5a94
Port human_time from Pepperminty Wiki & put it to use in //multi
Also, we've got a changelog!
2020-06-25 23:45:27 +01:00
Starbeamrainbowlabs
f8a6a204f8
Tidy up debug messages 2020-06-15 13:04:42 +01:00
Starbeamrainbowlabs
fbf2b894e5
Finish farwand implementation 2020-06-13 14:23:14 +01:00
Starbeamrainbowlabs
6f20b31763
Strat work on a far-reaching wand, but it isn't finished yet.
We've got all the backend functions we'll probably need implemented 
though!
2020-06-13 02:08:03 +01:00
Starbeamrainbowlabs
75a17ed64f
Add //layers command
Also add aliases //naturalise and //naturalize
2020-06-11 00:38:16 +01:00
Starbeamrainbowlabs
d96f169950
It works! :D 2020-06-10 00:48:39 +01:00
Starbeamrainbowlabs
32e786401a
Remove debugging code 2020-06-09 22:04:38 +01:00
Starbeamrainbowlabs
2dbbeef9c9
convolve: fix a bunch of bugs.
It's still behaving reeaallllly strangely though
2020-06-09 22:00:56 +01:00
Starbeamrainbowlabs
6dac57c53e
Implement (untested!) manip interface on top of the raw convolutional code 2020-06-09 20:43:29 +01:00
Starbeamrainbowlabs
9b9a471aa8
Implement initial (untested) convolution system.
Next we need to implement a worldedit function to handle fetching the 
manip data, calculating the heightmap, pushing it through this 
convolutional system, and saving the changes back again.
2020-06-09 01:21:32 +01:00
Starbeamrainbowlabs
e26d5b1580
Upgrade //overlay to support a mix of nodes 2020-06-07 20:46:46 +01:00
Starbeamrainbowlabs
c0b40266c8
//replacemix: add command 2020-05-14 21:37:27 +01:00
Starbeamrainbowlabs
f3a8c1dd64
Add //count 2020-05-12 00:38:42 +01:00