1116 Commits

Author SHA1 Message Date
Aaron Suen
6ebb08c146 Begin prototype for "growing" trees. 2020-01-15 21:27:12 -05:00
Aaron Suen
39f8abb703 Adzes can dig grass.
They act like a weak shovel now.  This should
ease some early game frustrations for new
players until they figure out proper tools.
2020-01-12 15:07:45 -05:00
Aaron Suen
c5a4f42359 Fix (C) year in translations. 2020-01-12 11:28:02 -05:00
Aaron Suen
e096958d24 Translaton update. 2020-01-12 11:21:02 -05:00
Aaron Suen
361f69065d Make mapgen disable logic a bit more dynamic.
Mods may change singlenode mapgen to generate stone,
in which case we want them to be able to also reenable
the standard mapgen_shared hooks.

- If def.enabled == true, always run the hook.
- If def.enabled == false, never run it.
- If def.enabled is not set (nil) then run it based on
  standard logic, i.e. not on singlenode.
2020-01-12 11:01:30 -05:00
Aaron Suen
19de5dfd1e mapgen_shared improvements.
- Register def tables instead of bare funcs.
- Add labels for mod logic use.
- Automatically skip for singlenode mapgens,
  e.g. for the skyblock modpack.
2020-01-12 10:30:02 -05:00
Aaron Suen
2c4e502c21 Soaking API requires explicit field name.
This guards against possible bugs caused by
running multiple conflicting processes on the
same thing.
2020-01-11 08:42:23 -05:00
Aaron Suen
5e97fc3bcb Envsound consistency for multiple players.
Ensure players can't cause a blast of loud
wind or drip sounds to happen within the near
clipping boundaries of other nearby players
just because they're in the same general
area and played their sounds first in the tick.
2020-01-11 08:31:33 -05:00
Aaron Suen
0c39f34ebb Fix falling_node rapid column settling. 2020-01-11 00:34:13 -05:00
Aaron Suen
25be3b07a8 Small pos key calc optimization. 2020-01-10 21:11:52 -05:00
Aaron Suen
d0e6dcc410 Add "stasis" option and command.
This freezes many things that normally happen automatically
in the world, including most ABMs and AISMs, and a few other
custom step logic items like the player "hot potato" logic.

This can be used for "creative mode" purposes to setup a complex
build without it running itself away from you, and for texture
pack authors, to have time to see things that are normally
transient or difficult to observe because of the effects they have
on nearby things or players.
2020-01-10 06:26:07 -05:00
Aaron Suen
ed95bc1f33 Convert Tree Trunk item stacks to Logs. 2020-01-09 23:01:03 -05:00
Aaron Suen
23e7a789cb Try to make stone chipping recipe less boring.
- Items don't down settle when rising.
- Give stone chips some upward kick.
2020-01-09 22:32:33 -05:00
Aaron Suen
c6584d79d4 Settle craft excess immediately. 2020-01-09 22:23:32 -05:00
Aaron Suen
0aa054792c Falling nodes should be non-pointable. 2020-01-07 21:41:00 -05:00
Aaron Suen
9bf3b88483 One more entity behavior regression. 2020-01-07 21:36:59 -05:00
Aaron Suen
000d87ab0d Fix entity regressions. 2020-01-07 21:35:05 -05:00
Aaron Suen
726fd63183 Fix some entity behavior bugs.
- Items shooting upward on ladders.
- Suspected crash on hitting unloaded areas.
2020-01-07 21:20:18 -05:00
Aaron Suen
cda6c1a445 Notes sync from Discord. 2020-01-07 06:56:11 -05:00
Aaron Suen
672199368d Merge branch 'master' into dev 2020-01-05 15:25:08 -05:00
Aaron Suen
62d7447d67 Backport new nc_api_all to release. 2020-01-05 15:24:44 -05:00
Aaron Suen
87e181720f Crush damage for tree trunks. 2020-01-05 15:13:01 -05:00
Aaron Suen
edf94dd666 Efficient item merging. 2020-01-05 15:07:40 -05:00
Aaron Suen
5d7f033c81 Rudimentary (inefficient) item merge. 2020-01-05 14:21:54 -05:00
Aaron Suen
c2e014a776 Attenuate scans for dropped items. 2020-01-05 13:48:53 -05:00
Aaron Suen
9916922432 Drop float support, displace lava.
BOLO gameplay that feels too "exploity" with ability
to forcibly transport lava upwards.
2020-01-05 13:26:45 -05:00
Aaron Suen
4d47ab2e75 NC API dependency simplification.
Treat all API mods as a "layer", and use the new
nc_api_all registration to indicate that a mod depends
on the NC API (which ALL NC mods assume they do).
This means that each non-API mod does not need to
worry about which API mods it really needs and which
it does not, nor will they need to be updated for any
internal API restructures.

This is a game, not a modpack, so all mods will be
loaded anyway, and we only care about order.  That
means that we don't really need to worry about
having excess dependencies because any mod we
don't actually need will be needed by something that's
loaded anyway.  If somebody wants to reuse a
component elsewhere, they're likely to need to do
some work to untangle it anyway, because of the
amount that NodeCore mechanics interact and
interdepend.
2020-01-05 12:59:12 -05:00
Aaron Suen
dcfc80b367 Remove explicit names in mod.confs. 2020-01-05 12:38:45 -05:00
Aaron Suen
8c029817bb Remove laser ablation timing jitter. 2020-01-05 12:34:15 -05:00
Aaron Suen
89020e8340 Major rebuild of item_entity.
This created a ton of dependency inversions, which
necessitated moving a number of API functions up into
higher layers, and restructuring dependency lists for
a number of mods.

BOLO: non-deterministic load errors due to missed
dependencies.
2020-01-05 11:42:22 -05:00
Aaron Suen
047f420cdf Make a note of an architectural issue. 2020-01-05 10:18:03 -05:00
Aaron Suen
b1fab67491 Start work on unifying/simplifying builtins.
falling_node rebuilt from scratch so far.
2020-01-04 10:51:10 -05:00
Aaron Suen
4291592b78 Fixed player model UV mapping by Elkien. 2020-01-04 01:07:08 -05:00
Aaron Suen
511455fff9 Player/ent freefall physics cleanup.
- Thrown objects inherit initial velocity.
- Player and objects have matched terminal
  velocity and can free-fall in tandem.
- Thrown objects experience horizontal air
  friction too.
2020-01-02 23:03:23 -05:00
Aaron Suen
93c59357fc Update copyright year.
We already had one revision this year that
wasn't recorded correctly...
2020-01-02 21:05:06 -05:00
Aaron Suen
f9bacc9d96 Door catapult preserves item metadata. 2020-01-01 00:17:43 -05:00
Aaron Suen
fb256cf8bd Experimental player terminal velocity.
Note that for extremely long falls, something
still needs to be done for items falling in
parallel with players, since as it is right now,
then fall at different speeds.

Even with player velocity being limited,
objects tend to fall at much slower speeds
initially than players, and collide with
unloaded areas and "settle" into node space,
requriing an ABM to release them again.
Instead, when a falling item collides with an
unloaded area, we need a way to preserve
its speed until the area is loaded, and then
continue falling.
2019-12-31 23:24:29 -05:00
Aaron Suen
5a7567a73c Fix crash on blank/nil HUD text. 2019-12-31 20:08:45 -05:00
Aaron Suen
2f07b1efdb Drop fancy hotbar from roadmap.
This idea has resulted in 2 failed branches
and exposed a handful of engine bugs.

The way things stand right now, it's a miracle
that HUDs are usable at all, and probably not
worth messing around with them to try to
get them "just right."
2019-12-31 16:59:17 -05:00
Aaron Suen
ffb8b12ab6 Re-quantize/optimize breath image. 2019-12-31 13:29:54 -05:00
Aaron Suen
24decd3c47 Fade bottom of breath HUD to unobscure hotbar. 2019-12-31 13:25:08 -05:00
Aaron Suen
76e43ed07f Fix breath HUD regression. 2019-12-31 13:23:36 -05:00
Aaron Suen
ca16c1f294 Fix hud_change inefficiency using deep-compare. 2019-12-31 13:20:42 -05:00
Aaron Suen
13f9d246f4 Notes cleanup. 2019-12-31 10:35:19 -05:00
Aaron Suen
a7d004052b Clear out some resolved issues. 2019-12-31 09:55:36 -05:00
Aaron Suen
7fa3d405cd Merge multiline handling into nc_api_hud.
Most of the complexity of touchtip multiline handling
is now done in the unified HUD API.
2019-12-31 09:51:07 -05:00
Aaron Suen
248dbda2da Create unified HUD API.
- Handles upsert, TTL, caching, players leaving.
- Unify breath and player name HUD logic for now.

Touchtips are more complex (multiline, translate) so
those will need more work to unify.
2019-12-31 09:32:17 -05:00
Aaron Suen
15134ad90c Fix pulverize priv not covering clearinv cmd. 2019-12-31 08:49:37 -05:00
Aaron Suen
348f6f97c1 Yet another new crack texture.
- Intermediate number of stages.
- No dizzying rotation.
- Still has a blank first stage for emergency hand-dig.
- More reminiscent of isometric cube motif.
- Lines coming from center make it more "crack-like".
2019-12-30 19:05:18 -05:00
Aaron Suen
0d3f26b861 Fix particles for non-16x textures.
Resize base texture down to 16x first, so mask works
as expected.  Some textures may be blurred, but
we're more concerned with getting the overal color
right more than showing actual patterns.
2019-12-30 14:16:14 -05:00