53 Commits

Author SHA1 Message Date
Aaron Suen
b73d1d1290 Pre-clean-transparent filter on all textures
Some users may use filtering but not have the "clean transparent"
filter enabled in the Minetest engine config.  Bake this filter
into all images to (1) avoid the consequences of this (i.e. black
halos), and (2) possibly speed up startup time (the filter will
converge immediately).
2021-09-23 07:36:21 -04:00
Aaron Suen
3a425f5459 Fix writing orientation on walls 2021-08-19 20:51:43 -04:00
Aaron Suen
215c2cd36e Flora hints 2021-07-05 11:34:33 -04:00
Aaron Suen
01c2e17e4b Fix glyph kerning issues
Glyphs were too close to texture edge, causing
them to run into each other and bleed/wrap around
with filtering enabled.
2021-07-04 11:20:30 -04:00
Aaron Suen
75bb408590 More crisp charcoal glyph textures
Also separate into mask layers
2021-07-04 11:02:21 -04:00
Aaron Suen
a034287dd7 Thump raked sand back to smooth 2021-07-04 09:38:46 -04:00
Aaron Suen
56a5028646 Tweak texture compositing, vary alpha
- Make texture pure black so it can be used to
  darken gravel as well.
- Bolden texture alpha so it can be controlled per
  node def with opacity.
- Use lighter effect on sand, heavier on gravel.
2021-07-03 10:50:25 -04:00
Aaron Suen
43d1b6df2f Genericize sand-raking API, add gravel support 2021-07-03 10:42:45 -04:00
Aaron Suen
84bdd1d57a Add on_door_convey API, unrake sand w/ doors 2021-07-02 23:15:31 -04:00
Aaron Suen
04bb7d083e New raked sand prototype
New pattern textures by GreenXenith
- Linear and Nexus shapes
- Recipe determined by player looking direction
- Rake same again to clear
- Handle pattern loss on digging, silktouch
2021-07-02 23:08:04 -04:00
Aaron Suen
20eae3dc49 Simplify sand raking, add recipe 2021-07-02 17:51:35 -04:00
Aaron Suen
a87c7391e6 Fix missing pattern 2021-07-02 15:52:11 -04:00
Aaron Suen
40e8d23a16 Proof of concept sand-raking nodes 2021-07-02 15:40:52 -04:00
Aaron Suen
95f0fb0ee9 Heaviest image compression option 2021-03-09 08:33:58 -05:00
Aaron Suen
410ebd5d8d Recompression using ECT
https://github.com/fhanau/Efficient-Compression-Tool
2021-03-09 08:16:23 -05:00
Aaron Suen
01332c2a0b Prevent writing breaking on unloaded areas
If the glyph is in an active area but the node it's
attached to isn't loaded (so we can't check it for
eligibility) then let the writing stay.
2021-03-02 18:53:02 -05:00
Aaron Suen
c10e80ef87 Set name in mod.conf as demanded by 5.5+ 2021-03-01 20:10:27 -05:00
Aaron Suen
dabf8ac697 Fix node registration alpha for 5.4+ 2021-02-07 12:40:10 -05:00
Aaron Suen
e2fe637ca4 Remove debug code 2020-09-07 15:28:00 -04:00
Aaron Suen
1632b6352a Revert "Appease 5.4-dev texture_alpha warnings"
This reverts commit 253c2282917ecade5b8356d592edab40b1d517f5.

Apparently this warning is full of crap.  Explicitly
setting use_texture_alpha in the node def does
something DIFFERENT than what the engine says
it's doing enabling it internally.  use_texture_alpha
enables alpha BLENDING, which is what we
don't want with interpolation filters, whereas
leaving it off enables alpha THRESHOLDING which
is exactly what we want.
2020-09-05 23:46:44 -04:00
Aaron Suen
95d0368f46 Tree and writing hints 2020-09-05 21:51:10 -04:00
Aaron Suen
18b01c1ae7 Redistribute hints into each mod
Hints themselves have not been tided up
much, but this makes the project of fixing the
hints for each mod a little more manageable
and breaks up the hard-to-navigate single
monolithic hints file in the old guide mod.

The old guide mod has now been completely
retired.  Hints are now a full-fledged API-layer
standard feature.
2020-09-04 19:07:45 -04:00
Aaron Suen
253c228291 Appease 5.4-dev texture_alpha warnings
Apparently we will be required to enable
use_texture_alpha explicitly for anything using
any level of transparency, not just alpha
blending, in some future version.
2020-08-31 23:36:35 -04:00
Aaron Suen
1d35109312 Admin tool auditing, fix falling check 2020-07-07 08:04:05 -04:00
Aaron Suen
34259f12fa Back out stylus for now
The stylus is not ready for use, BUT the
changes already in are worth merging.
2020-06-28 16:08:44 -04:00
Aaron Suen
f16acdc638 Initial glyph facing relative to player
When drawing a glyph, it will always be
oriented relative to the player's looking dir
(except in gymbal lock).
2020-06-28 16:04:44 -04:00
Aaron Suen
f8cfd5a316 Fix missing writing sounds 2020-06-28 15:32:27 -04:00
Aaron Suen
b65593dadc Fix writing glyph order 2020-06-28 15:21:49 -04:00
Aaron Suen
4ba018b31f Assign a glyph to stylus on creation 2020-06-28 14:32:14 -04:00
Aaron Suen
76a4af96af Fix stack placement sounds again 2020-06-28 14:28:16 -04:00
Aaron Suen
61b7fffd15 Create charcoal stylus item 2020-06-28 14:11:09 -04:00
Aaron Suen
32ab8b775a Refactor writing code 2020-06-28 13:55:43 -04:00
Aaron Suen
2d1f61ee97 Touchtips support "touch thru" API
Allow the "above" node to override the "under"
node's description.  Use this mechanism to
append charcoal glyph descriptions to the
touchtips, but only when punching a face that
has a glyph on it.
2020-06-28 12:38:14 -04:00
Aaron Suen
787d548e3b Make filenames consistent with new names 2020-06-28 12:13:41 -04:00
Aaron Suen
e2b2e0acc7 New names for charcoal glyphs 2020-06-28 12:10:58 -04:00
Aaron Suen
f514990ea4 Merge more issues from discord. 2020-06-20 10:45:44 -04:00
Aaron Suen
e0156b4742 Add profiler instrumentation metadata everywhere
N.B. the MT built-in profiler doesn't yet actually support reading
labels from bare-function registrations, so a builtin hack is
needed.
2020-06-15 07:21:39 -04:00
Aaron Suen
c6b3836e6b Fix a couple more non-16x-TP-non-comapt textures. 2020-01-22 23:22:16 -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
c7a90debcb Fix scaling and charcoal writing.
Making hand dig everything broke logic that was
depending on things being "not hand diggable".
Continue to treat things as not-hand-diggable if they
would take a long enough time to dig.
2019-12-29 13:57:49 -05:00
Aaron Suen
ddfbd8e863 Another z-fighting regression... 2019-12-09 20:50:57 -05:00
Aaron Suen
7050568938 Dammit dammit z-fighting hacks.
- Unbake the scaling tweak from models, apply it
  using mesh scaling in MT instead.
- Standardize ratio definition in one place.
- Default all nodeboxes to winning z-fights.
2019-12-08 23:14:56 -05:00
Aaron Suen
3d11536b81 Fix ugly frames/ladders/staves/rods.
Automatic z-fighting prevention was causing some
nodes to fail to connect to neighbors due to the tiny
gaps.  Allow certain nodes to "win" the z-fight instead
so they also connect to neighbors properly.
2019-12-08 17:19:47 -05:00
Aaron Suen
6e1f3fee94 Standardize intra-line spacing in code. 2019-12-01 11:08:12 -05:00
Aaron Suen
0904c78987 Retire unnecessary "blank" images. 2019-11-10 10:44:41 -05:00
Aaron Suen
6f3bb30825 Fix rake taking credit for hand-digging nodes.
When you have a thing in your hand that doesn't help
you dig a node, but you can dig that node by hand,
then apparently the after_use callback still seems to
trigger, causing the rake effect, and wear-out.
2019-10-31 21:33:53 -04:00
Aaron Suen
9dee17440e Cannot write on more surfaces.
Don't allow writing on surfaces of nodes that can transmit
light, which includes:
- Glass, which is too slick.
- Non-solids like frames, shelves, totes, which aren't flat enough.
2019-10-30 07:32:25 -04:00
Aaron Suen
42cc3a1632 Fix floating glyphs sticking to air. 2019-10-30 07:29:29 -04:00
Aaron Suen
0ed1c497fd Missing some coremod registrations...?! 2019-10-05 17:42:02 -04:00