86 Commits

Author SHA1 Message Date
Aaron Suen
5bb89ebae9 Optimize and reorder player skin layers
- Put base skin on top so custom skins can more
  easily override colored regions.
- Eliminate redundant texture areas.
- General image optimizations.
2021-07-24 21:48:58 -04:00
Aaron Suen
9a85ddcac9 Remove use of player meta in skins
- This was never known to be used.
- Player meta is only available for online players, so
  this would prevent looking up skins for offline
  players.
- This API arguably needs more overhauling to work
  with offline player properly though (e.g. pass
  player name instead of player object).
2021-07-04 11:31:58 -04:00
Aaron Suen
852f351213 Fix options nil crash 2021-07-03 10:51:50 -04:00
Aaron Suen
448480066e Expand base skins API, player colors in screenshot 2021-07-03 10:35:03 -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
c10e80ef87 Set name in mod.conf as demanded by 5.5+ 2021-03-01 20:10:27 -05:00
Aaron Suen
96cbdc3f25 Fix missed color patch 2021-02-28 21:30:46 -05:00
Aaron Suen
f3febbb6c1 Cache player color textures
The hashing and trig funcs may be a little
expensive, and it's pretty easy to cache the
results.
2021-02-28 14:26:13 -05:00
Aaron Suen
9e9474d25f Wash out colors and rebalance with SP skin 2021-02-28 14:20:18 -05:00
Aaron Suen
8a79633465 Brighten colors to compensate for multiply filter 2021-02-28 14:14:46 -05:00
Aaron Suen
2270f84336 Unique per-player default skin
Colorize player clothes based on a hash of player
name.  This should make it easier to distinguish
players from each other even when you can't see
their names, by remembering clothing colors.

Unfortunately there's no good way currently to
prevent some ugly color combinations, which may
risk incentivizing players to mess with their name
until they get a combination they like, creating a
bunch of junk accounts.  Making colors never
clash (i.e. always matching or complementary
hues) would reduce the variation in colorations,
causing more player color collisions.

Finding a way to ensure colors are "pretty" but
still having enough variation to give each player
name a unique color scheme would be ideal.  Also
there's room for more variations, e.g. adding some
stripes, patterns, emblems, etc. that can be
colorized separately, ideally something visible
from every angle.
2021-02-28 14:09:29 -05:00
Aaron Suen
d712ad3668 Stone brick hints 2020-09-10 23:21:36 -04:00
Aaron Suen
efa2446e42 Add hints for player mods 2020-09-10 22:28:25 -04:00
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