Commit Graph

77 Commits

Author SHA1 Message Date
Vanessa Ezekowitz 985111d17c that wasn't a memory leak
the table falls out of context at the end of the loop anyway
so the GC will delete it when the loop ends. No reason to delete it manually.
2014-08-15 18:58:05 -04:00
Vanessa Ezekowitz 1e4ad757a5 route most of the various recent print statements through plantslib:dbg()
(still defaults to false)
2014-08-15 16:25:32 -04:00
Vanessa Ezekowitz 8e4c942d9a don't register surface types if their nodes aren't defined. 2014-08-15 16:14:09 -04:00
Vanessa Ezekowitz a25fb55c57 print a final report of the number of actions and legacy mapgen hooks that were registered 2014-08-15 15:51:03 -04:00
Vanessa Ezekowitz 760160d638 legacy stuff should always be marked as "Warning:"
and make warnings more consistent
2014-08-15 11:10:17 -04:00
Vanessa Ezekowitz 5cf07fd39f remove useless mention of last revision. 2014-08-15 11:01:42 -04:00
Vanessa Ezekowitz da732bb18e use real function calls instead of the old string method where possible
(basically leaving only the old legacy mapgen calls still using the string method)
2014-08-15 10:47:44 -04:00
Vanessa Ezekowitz 8f9b8014c7 Don't allow registration of actions for undefined nodes 2014-08-15 00:51:08 -04:00
Vanessa Ezekowitz 6a13ffc5d2 don't bother testing if air check is enabled in legacy
...because it never will be :P
2014-08-15 00:00:30 -04:00
Vanessa Ezekowitz c312c4e52f local-ize the block cache table 2014-08-14 23:52:23 -04:00
Vanessa Ezekowitz 33c565fbdb move perlin1 (perlin_fertile_area) out of the inner loop
(it only needs to be inside the action loop)
2014-08-14 23:47:23 -04:00
Vanessa Ezekowitz 6bc8fead15 optimize out table.insert() and ipairs() calls 2014-08-14 23:35:02 -04:00
Vanessa Ezekowitz c311de6694 free the block cache memory after using it (fix mem leak) 2014-08-13 21:19:53 -04:00
Vanessa Ezekowitz c636c62480 new mapgen algorithm - do the surface eval in one pass. 2014-08-12 22:04:48 -04:00
Vanessa Ezekowitz da211cc07d get rid of the old clone_node function. nothing uses or needs it now.
use minetest.override_item() instead
2014-07-30 14:29:42 -04:00
Vanessa Ezekowitz ca88a35f26 use minetest built-in functions for node protection
phase out the old hand-rolled protection function
drops support for old protection mods
2014-06-22 22:20:51 -04:00
SoniEx2 ce8433ac1e Use the length operator instead of table.getn
Should also be faster...
2014-05-25 10:03:29 -03:00
SoniEx2 ebeb286c31 Added function support in ABM growing code 2014-05-24 18:51:32 -04:00
Vanessa Ezekowitz 753cb01234 ...and make it local. 2014-05-24 17:08:15 -04:00
Vanessa Ezekowitz 591a917e21 performance improvement
cache type() check of node/function/model, always check if it's string
before trying to execute that string as a function.
2014-05-24 16:39:35 -04:00
SoniEx2 942aefd7dd Better handling of function calls
Make sure that bad function calls fail safely, and failed function
calls don't leave spawned=true
2014-05-24 16:26:59 -04:00
Vanessa Ezekowitz c1d3d6b454 couple small optimizations in mapgen code 2014-05-16 17:04:12 -04:00
Vanessa Ezekowitz 6b65eeb1fb better way to test for valid function name in generate call, by SoniEx2 2014-05-16 16:39:32 -04:00
Vanessa Ezekowitz 5eb48a2c67 got rid of more debugging stuff 2014-05-15 06:26:18 -04:00
Vanessa Ezekowitz 2e0293a3f3 got rid of all extraneous debugging statements
left the actual function in, and replaced one call with a print statement
since if it happens, it indicates a non-fatal error that should always be
reported anyway (invalid object refs in mapgen calls)
2014-05-15 06:23:50 -04:00
Vanessa Ezekowitz df6f23baed last revision date 2014-05-15 06:09:59 -04:00
Vanessa Ezekowitz 087c661090 more robust handling of function/table/string values
in register_generate_plant() call (to handle e.g. unknown nodes being spawned)
2014-05-15 06:08:25 -04:00
Xanthin 2cb4435a85 little translation update
I fear the dbg
2014-03-20 01:57:17 +01:00
Vanessa Ezekowitz e7d6a2e993 local-ize a couple of variables 2013-12-15 13:41:07 -05:00
Vanessa Ezekowitz f168f0acb2 Take time_speed into account
when setting spawning and growing ABM intervals.

also, add some basic sanity checks to the interval value just in case
the math comes out wrong.  Rearranged a bit of code to accommodate these
changes.
2013-11-15 20:48:28 -05:00
Vanessa Ezekowitz 94e21c0cf6 multiple changes
Make bushes use default farming mod's flour for making pies instead of
jungle grass, if that mod is installed.  Junglegrass will be used if farming
is not present.

Make bushes mod support farming_plus more completely - either its or
bushes' strawberries may be used to make a strawberry pie or a mixed
fruit pie - mix and match the two types of strawberries as desired.

move clone node function from junglegrass mod to plants_lib so that
other mods can use it.
2013-11-02 19:52:08 -04:00
Vanessa Ezekowitz 2d619ab154 add missing S() function def for intllib 2013-10-26 17:29:50 -04:00
Vanessa Ezekowitz c34828ef9d slight clean up in the lines that check for node density 2013-09-14 22:44:16 -04:00
Vanessa Ezekowitz a401f1369d Make waterliles placable on the surface of standing water.
Lilies will be rotated randomly on place, in the same manner as they're
usually generated.

Hold 'sneak' (usually shift) while placing to force them to follow your
facedir instead.

Liles will replace buildable_to nodes when placed, including themselves.
This will cause a loss of lilies if you just keep placing them over and
over, but this is intentional.

node_ownership, glomie's protection mod, and zeg9's protection mod are
accounted for, as are infinite item stacks (e.g. plain creative mode).

Also, compact the waterlily register node calls into a loop.
2013-08-19 02:16:00 -04:00
Vanessa Ezekowitz 448e3d2be2 Phased out all deprecated minetest.env:* uses in favor of minetest.* 2013-06-30 23:55:07 -04:00
PilzAdam bd1300409d Dont use dump() hack 2013-06-16 10:42:29 -04:00
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