56 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
c2ec7cb942 Emergency dig time upper bound
Make sure no matter how badly players are
trapped, they can still make an emergency
tunnel out.
2021-08-08 08:36:34 -04:00
Aaron Suen
3f0c49a31a Revert "Fix hand wield model regression"
This reverts commit 134977cb49ebae2b8086f2a47fce299f4cbaa0c9.
2021-07-25 14:54:38 -04:00
Aaron Suen
134977cb49 Fix hand wield model regression 2021-07-25 09:59:43 -04:00
Aaron Suen
476f13080d Merge branch 'dev' into flora 2021-06-23 22:24:29 -04:00
Aaron Suen
11c7fb02f7 Revert "Remove emergency digging"
This reverts commit 405833bf32dd0e501c2f79b4728ebe2478569371.

...to use as the basis for the new emergency escape idea.
2021-06-23 20:01:54 -04:00
Aaron Suen
161dbf5f68 Merge branch 'dev' into flora 2021-04-01 22:36:07 -04:00
Aaron Suen
405833bf32 Remove emergency digging
This was added to allow a player to get out of a
rare softlock (trapped inside a cobble room without
any tools).  Since then we have not seen much use
of it for this intended purpose.

However, it has caused MUCH confusion among new
players, wondering why it takes so long to mine
dirt or tree trunks, instead of trying to figure out how
to make the proper tool.

Emergency digging is causing more problems than
it's solving and thus it makes more sense to remove
it than to keep it.  If we need some mechanic to fill
its niche (i.e. a way out of softlock) then we will need
to consider something that's harder to discover
accidentally to avoid confusion.
2021-03-24 09:36:04 -04:00
Aaron Suen
c706163bc1 Model object file optimization
https://github.com/ExeVirus/Compress-Obj
2021-03-09 08:25:01 -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
7214dd5f5b Initial import of rushes, by WintersKnight
No behavior yet, just the resource itself, and
basic mapgen spawning.
2021-03-02 22:52:21 -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
51b5aa8b94 Playerstep microoptimization
Avoid calling get_player_name too much
2021-03-01 18:58:34 -05:00
Aaron Suen
dabf8ac697 Fix node registration alpha for 5.4+ 2021-02-07 12:40:10 -05:00
Aaron Suen
dc912f776c Make sure all things have explicit descriptions
This avoids issues with the translation informer
including technical names in the translation source
2020-10-18 11:50:04 -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
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
675c1891a3 Add "dig anything" mode to admin tool
Bypass all group checks, dig literally any node, and try to put
the result in player inventory.  Note that this may effectively
DESTROY certain delicate features like the Dais Ex Machina core,
but it can be used to fix virtually any kind of unbreakable node
mess created in a world.
2020-07-07 07:48:28 -04:00
LoneWolfHT
f733264ecc Fix up hand model 2020-07-06 21:20:12 -07:00
Aaron Suen
5648331c9f Replace all perplayer with playerstep 2020-06-22 22:47:33 -04:00
LoneWolfHT
9a8662757e Add overlay to hand model 2020-06-19 11:15:17 -07: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
dc347a3ffc Add another admin "cheat" code
Add a hand that can dig pretty much anything
in the game that's supposed to be diggable,
and a shortcut command to summon one.
2020-06-14 09:15:00 -04:00
Aaron Suen
d4cc03625e Fix player hand UV maps 2020-06-10 21:33:16 -04:00
Aaron Suen
3817811014 Fix scaling node placement prediction 2020-05-31 20:47:11 -04:00
Aaron Suen
35292eb259 Switch to an internal sound API
Avoid mangling official Minetest API
functions that mods may want to
use directly.
2020-04-05 21:22:51 -04:00
Aaron Suen
9dd9192bfa Get rid of transient hand wieldmesh. 2020-02-27 22:33:04 -05:00
Aaron Suen
65c21683a3 Fix burn/injury inventory/hand appearance. 2020-02-24 21:45:13 -05:00
Aaron Suen
de5d88b753 Allow for "hand node" cleanup. 2020-02-24 06:23:47 -05:00
Aaron Suen
5a5c546596 Use actual mesh and skin for player hand. 2020-02-24 06:22:09 -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
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
a67706b0bc Embolden crack texture. 2019-12-30 13:22:06 -05:00
Aaron Suen
57c40bc5d7 New crack texture/animation.
- Now has 24 stages instead of 12.
- First stage is blank, to prevent very long digs from
  giving player too much positive feedback.
- Rotation effect.

The key thing here is that for the first 1/24 of the
dig animation, no positive feedback is given to the
player to indicate that the dig is "working."  This
should discourage new players from being distracted
by the emergency hand-digging feature.

More dig stages also help players get a better sense
of progress as they're digging things that do take a
long time, since digging in NodeCore tends to be
slower overall than digging in most MT games.

The rotation was thrown in as an afterthought, but
helps give a sense of progress.  Hopefully it's not
too distracting or seizure-inducing on very short dig
times; it ends up sort of all blurring into a circle to me
when digging with advanced tools...
2019-12-30 13:15:50 -05:00
Aaron Suen
df19716624 Make everything diggable by hand.
This should keep players from being able to trap
themselves permanently by burying or sealing
themselves inside a room with no tools, in theory.

Adjust silk touch logic to prevent presence of dig times
by hand from tripping it.

This may affect game balance of things like not being
able to punch trees in the early game, but since dig
times by hand are so very long, hopefully the effect
will be small.

Item drops are left as-is for now; it just takes a LOT
of patience to dig something without the right tool.
2019-12-29 11:51:25 -05:00
Aaron Suen
d7819762e5 Full proper support for spectator mods.
If players are invisible, NodeCore will not add any visible or
audible effects for them, allowing such players to be completely
non-interactive with gameplay.

This allows things like spectator or stealth-admin mods to
function properly.
2019-12-11 06:52:09 -05:00
Aaron Suen
c147da4dde Convert from depends.txt to mod.conf 2019-10-05 11:24:16 -04:00
Aaron Suen
6a012aeacb Move all src dirs to subdirs of output targets.
This should make organization a little more consistent, and more
specific.
2019-10-04 19:13:30 -04:00
Aaron Suen
05c60e031a Attach wielded item sounds to moving player. 2019-09-12 20:20:59 -04:00
Aaron Suen
9e20b3ce66 Sneaking actually makes player make less sound. 2019-09-09 08:11:06 -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
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
f3115fce2b Incorporate LoneWolf's model updates, sent via discord. 2019-08-09 08:54:05 -04:00
Aaron Suen
6f2316a455 Simplify hand texture so it looks right on all faces.
We can't actually fully texture the top, bottom, and ends of the
hand because it's a wield extrusion, so make the whole thing
consistently banded so all faces look as bad as the ones we have
the least control over.
2019-04-14 01:11:39 -04:00
Aaron Suen
701efa73d2 Cleanup/refac. 2019-04-14 00:57:14 -04:00
Aaron Suen
e09ee314fc Debounce wield selection sounds. 2019-04-14 00:44:18 -04:00
Aaron Suen
a0670867c1 Experimental item switching sounds. 2019-04-14 00:09:03 -04:00
Aaron Suen
285a21b796 New hand appearance.
- Matches player model.
- Stays down by player's side (off-screen) when not in use.
  The game looks even more minimalistic when first started.
2019-04-13 23:39:46 -04:00