72 Commits

Author SHA1 Message Date
Aaron Suen
81ccebddc8 Revert player backface culling
Just realized that this breaks certain custom skins,
like WintersKnight's prosthetic arm.  The
performance improvement from culling a handful of
polygons is really nothing compared to the loss of
unique use of transparency in texture art.
2020-07-07 22:47:27 -04:00
LoneWolfHT
762c72315a Fix player model normals 2020-07-06 21:20:12 -07:00
Aaron Suen
8074e0a639 Enable backface culling for players 2020-07-05 17:52:14 -04:00
Aaron Suen
553d67c538 Apply extra "hold" to controls for anim
This effectively "debounces" the controls for
waving and mining anims, so players who
are just doing quick punches like for pummel
will still animate visibly for other players
instead of just a "flickering" of the action.
2020-07-05 09:56:52 -04:00
Aaron Suen
5379c14935 Fix some player visibility bugs 2020-06-23 00:44:54 -04:00
Aaron Suen
b44ad836a3 Fix skin bug, add shirt cuffs 2020-06-23 00:21:17 -04:00
Aaron Suen
cb009e7201 Merge branch 'playerstep' into dev 2020-06-22 23:49:55 -04:00
Aaron Suen
466805da48 Enroll skybox, fix some bugs 2020-06-22 23:17:01 -04:00
Aaron Suen
5648331c9f Replace all perplayer with playerstep 2020-06-22 22:47:33 -04:00
Aaron Suen
4559f92694 Newest player skin by WintersKnight94 2020-06-22 09:59:52 -04:00
Aaron Suen
f514990ea4 Merge more issues from discord. 2020-06-20 10:45:44 -04:00
Aaron Suen
30cb1d2908 Another player skin update by WK 2020-06-19 14:34:00 -04:00
Aaron Suen
8c09305e2c Fix player skin and overlays 2020-06-19 13:46:08 -04:00
Aaron Suen
950dd195ea Revert swimming eye_height changes
This is severely jarring when actually trying
to mine or build in or near water.  We will
just need to find a better solution.
2020-06-18 20:20:58 -04:00
Aaron Suen
fece086b12 New player skin by WintersKnight
Showing off the new layers :-)
2020-06-18 20:15:57 -04:00
LoneWolfHT
058a30d30b Improve wave anim 2020-06-17 21:45:21 -07:00
LoneWolfHT
aa32ca5190 Fix wield/bando bugs 2020-06-17 18:44:17 -07:00
Aaron Suen
984e87e155 Consistent ABM labeling
- Make sure every ABM has a label
- Use consistent case
- More concise names / consistent voice
2020-06-17 07:09:20 -04:00
LoneWolfHT
37ef785450 Add new model 2020-06-16 21:46:49 -07:00
Aaron Suen
79674b7519 Swimming hysterisis, "swim stand" anim 2020-06-16 21:37:56 -04:00
Aaron Suen
f509f9fba8 Change eye height when swimming
Suggested by oilboi to make the swimming eye
height match the model anim.   There is a bit of
jank switching between swimming and standing
height, but it doesn't seem to be too bad, and it
makes players have to actually break the
surface to breathe, and makes swimming a little
less bizarre in 3rd person view.
2020-06-16 21:14:11 -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
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
LoneWolfHT
a6d52f5942 Add second layer to player model 2020-06-10 12:33:04 -07:00
LoneWolfHT
bf72a05da1 Apply lots of sunscreen to player neck 2020-06-09 16:34:11 -07:00
LoneWolfHT
079c1ebe79 Add waving anim 2020-06-09 12:33:40 -07:00
Aaron Suen
11438a1625 Deprecate ent_prop_set() method 2020-05-25 11:43:51 -04:00
Aaron Suen
fe23c34208 Player buoyancy fixes/refinements
- Nerf effect by 50% to be less disruptive
- Effect can be avoided by not being in a
  swimming position (matching model anim)
- Refactor swimming check into API
- Special checking and handling for linkdead
  players, for whom client knockback
  wouldn't work anyway.
2020-05-22 07:30:12 -04:00
Aaron Suen
afa36f1236 Standardize obj property setting.
This should more reliably minimize network traffic
incurred by excess property setting.

We could probably standardize a few more things,
like set attach, anim, yaw, pos...
2020-03-25 09:20:37 -04:00
LoneWolfHT
36d8a173e4 Fix hand UV and improve swim anims 2020-01-31 18:22:42 -08:00
Aaron Suen
31e659b90d Animation speed fixes
- Adjust animation speed to walking speed.
- Fix fwd+back and left+right cancellation.
2020-01-26 16:34:13 -05:00
Aaron Suen
dda8a58bae Make the base model anim data public too.
This allows overriding the data to use the same
logic but a different model, overriding the function
to use the same data but different logic, or both.
2020-01-20 21:32:59 -05:00
Aaron Suen
1c914568c0 Fully API-ify player model.
Mods can now override all player visuals, including
animations, model, scale, etc.  Full functionality
via overriding API methods.  Simpler overrides for
skin and mesh by setting player meta attrs.
2020-01-20 21:25:56 -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
4291592b78 Fixed player model UV mapping by Elkien. 2020-01-04 01:07:08 -05:00
Aaron Suen
10f3ce71a3 Return raw layers to mod overrides too. 2019-12-24 12:27:05 -05:00
Aaron Suen
15fecf01cb Player skin overhaul.
- Make skin overridable by mods.
- Add a second skin customization method via meta.
- Remove holiday skins; should be a separate mod.
2019-12-24 11:21:45 -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
LoneWolfHT
3e793863ff Add bandolier bone 2019-11-25 18:29:53 -08:00
Aaron Suen
a0bdf98ca1 Major damage simplification.
- Healing rate is always the same, regardless of environment.
- Remove visible damage from player.

Lasting injury has just never really been a major gameplay
factor, and making players wait to heal under certain
circumstances did not feel like it made gameplay "better" in
any way.

Now, if you get hurt, you drop your stuff, and have to wait a
MINIMAL amount of time before you can pick it up again.

Similarly, with visible inventory, the damage textures are
redundant, and with the gameplay importance of injury being
so diminished, they were visual overkill.
2019-11-20 23:58:42 -05:00
Aaron Suen
a9531b5225 Show bandolier slots as placeholder ents. 2019-11-18 20:28:58 -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
LoneWolfHT
310206dd4e Add swim animation and increase size of head overlay 2019-09-14 11:23:00 -07: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
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
fd52006a7a Image optimizations. 2019-08-19 22:31:00 -04:00
Aaron Suen
d92f40b494 LoneWolfHT sent a new model.
- Tweaked some proportions to be more realistic.
- Fixed the hat/hair overlay (it's subtle but present).
2019-08-12 21:04:07 -04:00