110,898 Commits over 3,897 Days - 1.19cph!
Bugfix: avoid leaking repeating invoke when taking snapshots
- Also avoids ambiguity of taking multiple snapshots
Tests: generated 2 snapshots in editor back to back with a delay
- Truncate menu tip text so it doesn't overrun loading screen
- Filter rich text tags from menu tip text except color, b, u, and i
- Added string extension method for escaping specific tags
- Updated StringView to allow StringComparison options when comparing to a string
- Track queue wait times and reasons for exiting the queue
Update: notify that a snapshot was taken when no delay was requested
Tests: none, trivial change
Merge: from main
Tests: built all modes in editor, exported snapshot from editor's Craggy 5 times in a row, built standalone release server and exported snapshot 3 times
Restored hibox, protection, mounting logic and corpse
More refined screen shake
deployable targets type a and type b
type a is more human-like
type b is like a dueling tree
will need a programmer to look over stuff, again
wip: Kill sync var tick on object death
wip: Automatically sync vars should any change. Uses a polling method for now:
- Invoke poll in fixed repeat time
- Syncvar handler no longer requires default value
Code cleanup
Collision damage tweaks
Perform type checks on initial sync var generation pass
wip: Added bidirectional client -> server / server -> client var sync. Syncvars can be declared as chaving client authority
Update: Add chat feedback when perf snapshot is being taken
It'll warn users if they're in the middle of something important
Tests: exported in editor with no delay and default standalone delay
Splitted the code in client/server files
Updated naming and moved everything in the right folders
wip: working server -> client syncing
wip: Took me a day to realise there were seperate writer methods for client and server
Replaced the metal bonk effect for something more appropriate
Clean: remove unnecessary params in ProfilerExporter
Tests: none, trivial change
Update: Add commandline argument support to explicitly turn on profiler instrumentation
- Added log to explicitly confirm if it's enabled or disabled
Tests: ran in editor and server standalone with and without it being enabled
Collision damage
Ragdoll the rider when taking too much damage (hitting a tree at full speed, running off a cliff etc)
Bugfix: avoid a rare case of dealocating main thread's Allocs storage
- Code is written with the assumption that it's always there, but if 1 frame didn't record any allocs, it would nuke the storage, tripping up the profiler.
Discovered when doing additional testing in standalone (somehow editor was unaffected)
Tests: did 6 snapshots of standalone server with 6k map - no crashes
properly disposing native structures in-editor when stopping play in editor
- ▉▍▋▋█ ▌▅▋▇ ▇▆▋ █▌ █▊▊▄▍▇▆█▇▄ ▇▇▇ ▌▍▅▄ ▍▋▍▅ █▌ ▅▌▌█ ▋▉▆ ▇█▆▉▍▄ ▆▌▇▇ ▉▄▊ ▊█▄█▆▋▆▇▇▍ █▋▄ ▌█▅▄▍▉▌
- ▄▋▌ ▅▋▌▌ ▍▅▉ ██▄▋▆▋▋▇▅▍ ▇▍▄▉▋▌▍▆▌▊ ▆█ ▄▆▊ ▍▉▍▊█▌ ▇▅▌ ▉▄▋▇▉▊▇
merge from native_mesh_simplification
cleanup and logging procedural mesh stats with a logmeshstats convar
Horse head and body bounciness, so we don't lose too much speed when bumping on trees
Physics tweaks, updated grounded checks
merge from Twitch_Rivals_24
Trying a wheel collider approach to reduce unwanted friction when riding on uneven terrain
Merge from localcoord-blend-layer
Added talk_06 anim as cinematic gesture
deployable target
will need a programmer to look over stuff again
work around horrible flickering when in 2D editor view
chicken coup deployable test
will need looking over with an actual programmers eyes just in case
support applying vertex color/alpha on Standard Packed Mask Blend
color and/or alpha be applied to albedo color, ao, or neither
Server receive methods
- Setup testing
- More logcs
- Client sync var debugging
add metallic workflow version of LocalCoord Diffuse
Update: Don't allocate storage for alloc marks on worker threads
Tests: exported a couple snapshots in the editor
Update: truncate snapshot names to 32 chars
Tests: none, trivial change
not trying to simplify the mesh to 10% anymore
Setup both client and server send methods