Commit Graph

91 Commits

Author SHA1 Message Date
Vanessa Ezekowitz
13114913f5 forgot to include benchmark for external function call
also default debug to false again
2013-03-31 01:07:45 -04:00
Vanessa Ezekowitz
3b3425c1e6 made the benchmark output report times in ms instead of seconds. 2013-03-31 00:55:39 -04:00
Vanessa Ezekowitz
2102cf269a added rudimentary benchmarking output to chunk processing and tree gen calls 2013-03-30 23:30:33 -04:00
Vanessa
aefb98c60e Fixed waterlilies to use proper facedir range ("6d facedir" code fixes an
oversight in the engine that in turn revealed a bug in my code)
2013-03-24 03:36:13 -04:00
Vanessa Ezekowitz
aaee2d50cc fixed a minor bug:
plants_lib/init.lua:83: bad argument #1 to 'getn' (table expected, got nil)
2013-03-10 00:38:20 -05:00
Vanessa Ezekowitz
340ac5e0bf move rest of biome defaults into set_defaults() function 2013-03-09 17:06:21 -05:00
Vanessa Ezekowitz
8767ebb1f3 various internal code improvements
better way to set default biome params, optimized-out some copypasta, thanks
to thexyz for spotting these.
2013-03-09 16:47:58 -05:00
Vanessa Ezekowitz
5c2860ed53 p_top should be pos at lines 376, 377 2013-02-24 12:13:09 -05:00
Vanessa Ezekowitz
e88c54213f copy&paste bugfix, biome.seed_diff at line 375 should be just seeddiff. 2013-02-24 01:55:03 -05:00
Vanessa Ezekowitz
199fa00b0b Added a couple features to the API to allow for turning off checking for air,
deleting nodes surrounding the spawn target during the mapgen code, replacing
the spawn target, and checking the type of node directly below the spawn
target.
2013-02-23 12:33:46 -05:00
Vanessa Ezekowitz
96df170e2d Made a couple of perlin functions global so they aren't being redefined
every time an ABM or on_generated is called.  Optimized a number of nil
comparisons ("if x == nil" -> "if not x" and similar).
2013-02-23 00:34:03 -05:00
Vanessa Ezekowitz
6bfb454178 routed spawn_tree() through a wrapper function so that other mods can hook into
plants_lib's calls to do something extra when a tree is generated at mapgen
time or spawned via the growing code.
2013-02-19 21:50:56 -05:00
Vanessa Ezekowitz
a86c52cfa8 changed perlin settings for humidity layer to match deserts
Thanks to paramat for spotting this!
2013-02-03 03:01:44 -05:00
Vanessa Ezekowitz
8df8e44a0c add experimental support for calling an arbitrary function
in the spawning ABM after all other biome tests and general checks (aside from
spawning at the sides/bottom/top of a node) are done.
2013-01-29 16:22:33 -05:00
Vanessa Ezekowitz
8015cc24a5 Added experimental settings to allow for a humidity perlin layer
and to allow the spawned object to *replace* the node it would otherwise
spawn on top of.

Also, extended API to allow for a node to be directly named in the
register_generate_plant() call.
2013-01-29 00:13:03 -05:00
Vanessa Ezekowitz
18ef2a32e4 Forgot to add the bit of code needed to make the facedir parameter
in the spawn_on_surfaces call actually work.  Fixed.
2013-01-27 15:06:11 -05:00
Vanessa Ezekowitz
68a6ce43a7 Changed plants_lib API to require a table argument when not using legacy
calling options.  This opens the door for even more features in the future.
Changed flowers, junglegrass, poisonivy to match.

Made plants lib faster in some places, especially the surface-hunting
algorithm, and especially over water.  Fixed a few other misc. bugs.

Made growth code properly execute all biome-control code before executing
any string-named function or spawn_tree().

Tuned flowers settings.  Made flowers require at least some light to spawn,
made waterlilies require shallower water.  Fixed a bug in water depth detection
and made water depth depend on whether the bottom of the water area is dirt,
dirt with grass, or sand, rather than just anything.

Made waterlilies randomly rotate on spawning to break up the patterns (now has
16 orientations with the help of nodeboxes and facedir, requires only 3 new
nodes). Smoothed edges of the regular waterlily texture.  Made all flowers and
water- lilies spawn using only 3 ABM calls instead of 8.

Got rid of colon prefix node def overrides on all plants, since this is a
modpack now instead of an integrated mod.  Fixed a misspelled folder name for
poisonivy.

Fixed a bug in the wall detection routine - it returned the last wall found,
not the first.

Made the top-side-check for air only apply when spawning on top of the
target rather than its sides/bottom.

Many other features and enhancements have been made.  Too many to list here.
Please see API.txt for details.
2013-01-25 23:16:54 -05:00
Vanessa Ezekowitz
3024c78c2b fixed a bug where plants_lib depended on poisonivy for a table it needed.
thanks to bas080 for spotting that one.
2013-01-24 02:29:23 -05:00
Vanessa Ezekowitz
a8491ae232 added some code to further trim the number of nodes that have to be checked.
This causes trees to be just a tad more sparse than intended, but greatly
speeds up the map generator.

Worst case drops from thousands of nodes to test per tree type to a 5-15 nodes
per tree type.
2013-01-21 23:41:02 -05:00
Vanessa Ezekowitz
07f426ae45 disable debug by default 2013-01-20 14:53:22 -05:00
Vanessa Ezekowitz
592d0df84f fixed bugs in use of debugging function from having class-ified it. 2013-01-20 14:44:21 -05:00
Vanessa Ezekowitz
e327630ea5 Fixed a minor bug, made growing abm always check for grow_nodes
under the plant to be grown and to check for air above it.
2013-01-20 14:16:05 -05:00
Vanessa Ezekowitz
693f59a3fc moved some forgotten print statements into debugging facility 2013-01-20 13:56:13 -05:00
Vanessa Ezekowitz
147aee56db move debugging into a separate function, disable by default 2013-01-20 13:51:09 -05:00
Vanessa Ezekowitz
34b7ad4f32 Fixed a bug in direct growing of trees 2013-01-20 13:37:58 -05:00
Vanessa Ezekowitz
40b4cc677a forgot to set default value for rarity control, 50. 2013-01-20 12:02:59 -05:00
Vanessa Ezekowitz
5abcd9034e Added random-number-based rarity control 2013-01-20 12:01:07 -05:00
Vanessa Ezekowitz
b41cf5570c updated the date in init.lua 2013-01-20 01:38:43 -05:00
Vanessa Ezekowitz
b434ff4370 Added option to allow plants_lib to directly spawn a tree if passed a table
instead of a function name in the appropriate field.
2013-01-19 23:21:33 -05:00
Vanessa Ezekowitz
1229b10014 sped up mapgen functions massively. I think it's suitable
for general use now!
2013-01-19 14:24:15 -05:00
Vanessa Ezekowitz
0580a2f416 just a minor logic tweak to try to speed the mapgen code up further. 2013-01-19 13:12:07 -05:00
Vanessa Ezekowitz
a83979e342 sped up the biome evaluation code somewhat, but it's still slow. 2013-01-19 02:10:26 -05:00
Vanessa Ezekowitz
7dd3ec2525 Added a function to let one spawn plants at mapgen time,
but it's slow as molasses in January.  Not recommended for
general use yet.
2013-01-19 00:45:46 -05:00
Vanessa Ezekowitz
4eff513bbd Extended the API yet again, this time adding a Perlin-based temperature map
(two new variables defining min and max temperature, normalized to 0.53 = 0
degrees centigrade).

The values used for this new Perlin layer come from Splizard's Snow Biomes mod,
so other mods that use plantlife to create biomes should be able to blend
nicely with that mod.
2013-01-12 00:47:50 -05:00
Vanessa Ezekowitz
94770d713b extended the API again - this time adding a function to allow a custom check
for air surrounding the plant spawn location (defaults to 1, just the target
node).  Values of 1 and 9 for the two new variables would check the 3x3 area
around the spawn location.  Don't make these numbers too large or it will
slow the abm down.
2013-01-11 11:52:34 -05:00
Vanessa Ezekowitz
b0de25407d Expanded the API to allow for additional biome controls.
See API.txt for details.
2013-01-09 21:33:37 -05:00
Vanessa Ezekowitz
af7aaca77a moved perlin seeddiff settings to respective mods' init.lua's, tweaked default
perlin values to be the same as used in the game's mapgen for spawning dry
shrubs and jungle grass, so that jungle grass mod will replenish the game's
biomes.
2013-01-04 18:56:09 -05:00
Vanessa Ezekowitz
e2794f71f4 Added feature to API to allow for limits on spawning altitude also. None of
the included plants use this, it's mainly for the conifers mod.
2012-12-29 17:24:47 -05:00
Vanessa Ezekowitz
f9df1b5965 Updated API to allow for height controls. 2012-12-17 16:01:16 -05:00
Vanessa Ezekowitz
7006416227 finished splitting up the three components into separate folders, by moving
texture files to their respective components' folders (<f>/textures).  Also,
began working on extending the API for the growing code to allow for checking
for the height of a node.  Poisonivy is the only component that uses it for
now; this is more intended to be used with nature pack eventually.
2012-12-09 22:02:30 -05:00
Vanessa Ezekowitz
498dad83e4 Renamed the "plants" module to "plants_lib". Any modder that directly depends
on that library need only adjust their mods' depends.txt files.  I've already
done this for flowers, junglegrass and poisonivy as included in this modpack,
so any mod that depends on one of *those* needs no changes at all.  No changes
to the API or any functionality.
2012-12-04 19:29:23 -05:00