197 Commits

Author SHA1 Message Date
Aaron Suen
a4f53947a2 Official issue number. 2019-10-13 09:38:07 -04:00
Aaron Suen
8cffc156ba Workaround for another builtin bug. 2019-10-13 09:31:22 -04:00
Aaron Suen
c32c32ed55 Bugfix for tree growth.
Dirt was repacking around planted eggcorns, killing them.
2019-10-12 17:09:42 -04:00
Aaron Suen
fb0aecaaea Make all loose nodes self-repack over time. 2019-10-06 11:22:56 -04:00
Aaron Suen
c147da4dde Convert from depends.txt to mod.conf 2019-10-05 11:24:16 -04:00
Aaron Suen
0c494955ef Setup weblate sync tools, and pull a snapshot. 2019-10-04 19:27:56 -04:00
Aaron Suen
27e9a218b0 Don't retranslate any mod's translated strings, not just ours. 2019-10-02 07:40:14 -04:00
Aaron Suen
05c60e031a Attach wielded item sounds to moving player. 2019-09-12 20:20:59 -04:00
Aaron Suen
07239de73c Scaling overhaul as a "navigate caves by feel" system.
- Make handhold nodes glow, to visually simulate the player
  character's now "familarity" with them by feel.  We have to
  represent it synesthetically because the game only gives us
  sight and sound to work with.
- Make floors "scalable" so that they glow, even though they
  don't affect maneuverability.

The effect of this is to allow a player who has fallen into a dark
cavern to navigate, slowly, by feel, allowing more extensive
self-rescue possibilities.
2019-09-09 08:14:07 -04:00
Aaron Suen
a99ba82831 Remember to clear queue. 2019-09-09 07:05:31 -04:00
Aaron Suen
52de19a28c Unified falling check, check after craft. 2019-09-09 07:05:01 -04:00
Aaron Suen
0c9544d6b5 Some scaling/particle cleanup, make scaling particles distinct. 2019-09-07 09:32:36 -04:00
Aaron Suen
310ce1bc6c Treat NodeCore as a unified thing.
- Collapse all nodecore "core" mods in the /mods listing, so it's
  easier to find the actual add-on mods.
- Parameterize in-game branding to make renaming derivatives just
  a little easier.
2019-09-07 09:08:57 -04:00
Aaron Suen
a74829cf5c Make this a public API. 2019-09-06 19:26:39 -04:00
Aaron Suen
0bf2e6923e Remove debugging code. 2019-09-05 22:49:07 -04:00
Aaron Suen
cbf035e0d5 Finished Soaking API, converted trees and infusion to it. 2019-09-05 22:48:30 -04:00
Aaron Suen
71469e3990 Fix a couple bugs/warnings. 2019-09-05 07:36:28 -04:00
Aaron Suen
d616c5ad66 Change how silktouch is defined.
- Leave it nil to use the default (5 levels over).
- Set it to false to disable (always drop_in_place).
- Set it to a custom set of groups to skip drop-in-place if the
  tool would be able to dig a node with those groups.
2019-09-04 20:33:37 -04:00
Aaron Suen
f74b7b3767 "Silk Touch" effect for tools 5+ levels over material.
Tools up to and including Tempered Lode should still behave the
same.  Lux tools should now be able to skip the "loose" stage of
some materials.
2019-09-04 19:04:19 -04:00
Aaron Suen
d9ff4f0406 Add Lux Flux fluid and Lode tool infusion. 2019-09-04 18:44:08 -04:00
Aaron Suen
3a4bfdb258 One last refactor to ambient sounds.
Make tree sounds managed by the mod that defines the nodes in
question using register_ambient, consistent with other things like
fluids.

nc_envsounds is now responsible for just the air moving and
cave dripping sounds made by air itself.

Common windiness logic moved into api layer.
2019-09-02 11:34:14 -04:00
Aaron Suen
25b2831826 Add cave dripping, rename environment sound mod one more time. 2019-09-02 11:24:03 -04:00
Aaron Suen
ae4003b6de Remove debugging code. 2019-09-01 10:18:22 -04:00
Aaron Suen
46c8a6d555 Add wind ambiance to trees, varying with altitude. 2019-09-01 10:07:48 -04:00
Aaron Suen
39dea8a2ae MAJOR: Code quality audit using luacheck.
- Removed lots of unused variables, a few shadowed identifiers.
- Removed a few sections of dead code.
2019-08-31 09:26:53 -04:00
Aaron Suen
80a2f8277c Be even more conservative about using stackfamily merge logic. 2019-08-31 08:02:06 -04:00
Aaron Suen
7d1d1e9602 Fix a long-standing race condition bug in limited_abm processing.
ABM action calls are delayed until a background timer picks them
up, but it passes in the original args and assumes that the nodes
haven't changed.  In addition, it bypasses our bug #8378 hack,
because that check is done in the abm action call but NOT the
background worker timer.

Do a check in the worker to make sure the node to be acted on has
not changed since the call was queued, and just let the call miss
and waste in that case.

Note that this automatically implicitly handles any #8378 issues
that may still be present since it has to force a fresh check of
the node to be operated on anyway.
2019-08-30 23:49:00 -04:00
Aaron Suen
3c5d7e200b "Family" stacking API
If items have a common "stackfamily" property in definition, then
they combine stacks; name and metadata are effectively ignored and
any name is considered acceptable for the combined stack name.

This is used by Lux to allow it to stack naturally instead of the
player having to lay them out spaced on the ground to "cool" them
all to the same level, since all Lux changes dynamically anyway.
2019-08-30 22:36:44 -04:00
Aaron Suen
458043fa18 Make ezschematic from tree growth into a full-fledged API.
I may use this for other companion content.
2019-08-27 21:41:03 -04:00
Aaron Suen
fe2c153f9e Clean up all lua code style.
Formatting rules based on Paul Kulchenko's perl-based formatter...
http://notebook.kulchenko.com/programming/lua-beautifier-in-55-lines-of-perl
...using a single tab for indent.

Mostly pure whitespace changes.
2019-08-27 19:14:51 -04:00
Aaron Suen
aa1c5d860f Fix some warnings.
- Missing "local" in translation code.
- Super-long-standing warning about duplicate aliases via oldnames.
2019-08-27 07:31:45 -04:00
Aaron Suen
d1ff1d400c More succinct translation to better fit screen. 2019-08-26 21:27:12 -04:00
Aaron Suen
5a07edbb5a Player Guide Translations
- Fix tab switching events for formspecs.
- Add padding to fix cutoff text rendering issue.
- Added more pt and pt_BR translations from Terifo.

Note that when you call translate() on a piece of
text, it merely adds translation tags around it to
request that it be translated client-side, but when
the client submits formspecs, the button values are
the actually translated text, which you can't
trivially access server-side.  That means that we
need to use different button fields, not just count on
different button name/values, for events.
2019-08-26 21:02:06 -04:00
Aaron Suen
8a0319e7d1 Fix new player guide translations... 2019-08-26 01:01:58 -04:00
Aaron Suen
bc7b449b05 Translations to Portugese by Terifo. 2019-08-25 19:06:16 -04:00
Aaron Suen
4d245b850b Fix lualocals. 2019-08-23 21:18:14 -04:00
Aaron Suen
28108e1e40 Add translation support, esp. for TouchTips.
Translations are currently by holistic strings, i.e.
no parameterization.  This may create some busy
work for translators, but gives them more freedom
to account for differences between languages.

A translation template file is written out to the world
path on game start, so translators have a seed to
work from.
2019-08-23 20:40:33 -04:00
Aaron Suen
8c2181b250 Make node sounds on spinning too. 2019-08-14 21:46:55 -04:00
Aaron Suen
5651e94100 Slightly randomize sound pitch by default.
This will make stacked/repeated sounds play slightly differently
so you can hear from the interference patterns that there is more
going on underneath the surface.  It also adds volume to dispersed
ambient effects like fire.
2019-08-14 18:28:24 -04:00
Aaron Suen
86cc55c12b Basic door node setup and recipes.
- Craft door panels by chiseling with a rod.
- Rotate door panels.
- Hammer in rod to act as hinge pin.
- Dig out hinge pin, dig up panel.
2019-08-13 21:06:13 -04:00
Aaron Suen
22e11bf471 Revert "Remove (expensive) issue8738 workaround."
This reverts commit 68c6f6671121b1b72b62db97858c25c82f6e834f.

I was able to reproduce the issue, in a case when it was definitely
NOT a falling_node mishap.  Snuffing fire by placing a node against
the last bare face of embers apparently creates a race condition,
in which the node you place can be removed instead of only fire
being removed.
2019-04-13 00:11:03 -04:00
Aaron Suen
db5cbd3de4 Avoid lighting bugs, players messing w/ inventory via CSM. 2019-04-09 21:06:55 -04:00
Aaron Suen
3a8908e9d8 Sound code crash. 2019-04-07 17:45:26 -04:00
Aaron Suen
54293a24be Oops... 2019-04-07 00:03:06 -04:00
Aaron Suen
c1828219e6 Refactor social sounds subsystem.
Standardize the "play a sound for everybody except the player who
is already playing it client-locally" logic into one place.

Fix failure to correctly detect tool speeds for some things, i.e.
when the player is using a tool but the capability used on a node
is actually inherited from the hand.

Note that this may allow pummeling with wrong tools (e.g. repacking
soils with spades) along with accompanying inappropriate tool wear,
but this should be minor and avoidable, and can be fixed later...
2019-04-06 23:51:05 -04:00
Aaron Suen
eba101c93a Fix sound doubling issues. 2019-04-06 23:42:23 -04:00
Aaron Suen
617aa4704f Dug sounds for old node, not new. 2019-04-06 21:28:11 -04:00
Aaron Suen
68c6f66711 Remove (expensive) issue8738 workaround.
I suspect that the problem that I actually observed was caused by
falling_node behavior, and NOT by an abm.  This workaround cannot
remain without firm evidence that it solves an actual problem.
2019-04-06 20:50:58 -04:00
Aaron Suen
80d3d9708c Deprecate player:get/set_attribute to player:get_meta(). 2019-04-06 20:46:13 -04:00
Aaron Suen
a674184df0 Fix deprecated getpos -> get_pos. 2019-04-06 20:34:13 -04:00