45 Commits

Author SHA1 Message Date
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
Aaron Suen
41963a009a Exclude some large files from exports.
- Consolidate any "source-only" files into "src" dirs.
- Exclude "docs" dir, mainly in root atm.
- Exclude all dotfiles.

This significantly reduces the size of delivered files, since
esp the player model .blend file is very large.
2019-04-09 07:54:46 -04:00
Aaron Suen
29dbe0f411 Holy moly, it's the first new tool in like forever! 2019-03-23 17:41:31 -04:00
Aaron Suen
9607bcc6a6 Start working on sounds, plus minor refinements.
- Clean up registered_* usage patterns.
- Reduce tendancy of leaves to create stack nodes.
  Now they tend to stack up properly in-world more often.
- Tweak damage system to create "headroom" where minor
  damage doesn't cost inv slots immediately.
- Make player hand skin color match model skin.
- Cleanup/unify grass abm logic.
- Start installing new sounds by MagikEh

Sound source:
  https://github.com/MagikEh/SoundsOfWarr
2019-03-13 23:51:59 -04:00
Aaron Suen
92d1877b99 Hotbar textures.
Hexagonal gradients aren't actually a thing, but 6 linear gradients
are a thing.  Render them in high-res to minimize the effect of
anti-aliasing gaps, and then shrink them to fit.
2019-03-11 21:53:32 -04:00
Aaron Suen
4d0f0734ba Beginning of a bold new health system.
- Eliminate health and breath stat bars.
- Players NO LONGER DIE FROM INJURY.
- Players no longer lose walking speed or mobility.
- Players lose inventory slots in proportion to injury; they're
  stuffed with an "injury" item, and items they displace are
  ejected.  Slots are displaced in random order.
- Healing rate is much faster, so players are usually mildly
  inconvenienced by injury, but can soon enough pick up their
  stuff and leave.
- Health and breath HUDs are gone.  Health is visible based on
  number of lost slots, and breath uses a vignette to narrow
  tunnel vision for O2 loss.

Overall, the old health system has been more of an immersion-
breaking annoyance than anything.  This allows health to get out
of the way of the primary gameplay.

UNFINISHED: Need a replacement for the old "suicide to get unstuck"
mechanic.
2019-03-10 15:47:22 -04:00
Aaron Suen
c7ac1f63db Reorg all player mods, give them lexically grouped names. 2019-03-02 20:32:50 -05:00