22 Commits

Author SHA1 Message Date
Aaron Suen
c865746d7f Remove redundant singleplayer check 2021-07-25 09:59:05 -04:00
Aaron Suen
c326d24d1b Fix singleplayer skin
Handle single player as a special case and use the
default, un-colorized skin.  This should also make
it easier for people to change the SP skin without
having to interact with the colorization system.
2021-07-25 09:58:01 -04:00
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
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
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
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
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
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
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
LoneWolfHT
079c1ebe79 Add waving anim 2020-06-09 12:33:40 -07: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
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