130,619 Commits over 4,232 Days - 1.29cph!
    
    
    
        
            
            
            
                
                Fixed 32bit builds crashing when creating decals on certain models
 
                
                
                
                
                
             
         
        
            
            
            
                
                █▄▅▊▌▊▆ ▇█▇▅█▅▊ ▍▆▍ ▇▊▉▌▇
 
                
                
                
                
                
             
         
        
            
            
            
                
                Fix weapon spawnmenu autorefresh adding icons to nil parent
 
                
                
                
                
                
             
         
        
            
            
            
                
                Temporarly ragdoll the horse when colliding at high speed (wip stupid code)
 
                
                
                
                
                
             
         
        
            
            
            
                
                Fix weapon spawnmenu autorefresh adding icons to nil parent
ClientSignOnStateChanged is no longer called for HLTV clients
util.IsValidModel uses meshcount to determine useless models
If mesh count is 0 - it's a useless model, instead of using hardcoded model name substrings. This fixes certain valid models being unable to be spawned in Sandbox
 
                
                
                
                
                
             
         
        
            
            
            
                
                Merge: from profiling_improvements
- This brings ServerProfiler over, our own tool to generate server profiling snapshots
- To activate, start your server with "-enableProfiler", to take a snapshot use admin server command profile.perfsnapshot (files in <root>/server/<ident>/profiler/)
Tests: Exported multiple snapshots from Editor running Craggy, Release server running 6k Procgen world and a couple from Debug server.
 
                
                
                
                
                
             
         
        
            
            
            
                
                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
 
                
                
                
                
                
             
         
        
            
            
            
                
                Make flex controller names case insensitive again
Optimizations for weapon autorefresh in spawnmenu
Fix branch specific build error
 
                
                
                
                
                
             
         
        
            
            
            
                
                ▊▊█▅ ▌▆▋ ▅▅▊▌▊▌▅▅▋ ▌█▇██▍▇█ ▉█▊ ▆▊▊▆▇▄█▉ ▌▍▍▋ ▇▅▇ ▋▊ ▆▉▅▊▆▆█▆█▇
▋▋▇▍▊█▊ ███▇█▊▇▊ ▇▌▌▋ ▍▇ ▄▅▋▅▍, ▇▍▄▇▆▍▌▋, ▋▋▉▍▇ ▇▋ ▋▌▇ ▆▌▌ ▋▍▍█▉ ▉▉▍▊▊▊▋▊, ▄▊▇▄▅ ▇▉▍ ▊▌▋ ▌█▇▆▊▅▋ █▇ ▅▉▍ ▅▍▊▇▇▋▅ ▅▍▅▋▆▄, █▌ ▅▌ ▆▍▅▅ ▅▉ ▄▆▆ ▇█▌▅█▉▉▊ ▅▅█▍▅ ▅█▋▌▊▋▄▅▆
! ▇▊▊▄▅ █▌▄▇▊▅▅▇ ▊▇ ▋▋▆ ▋▇▆▋ ▊▌▄▋▊▇
▆▍▇▆▄▅▄ ▆ ▉▇▇▅▋ ▄▋ ▌▌▄▌▌▇▄ ▌█▆▌▍▊▍▋▍▇▋ █▋█▆▍▄▆ ▉▄▆█▌▊▊▅▍▌▄ ▄▍ ▌▄▅▄, ▌▍▆▅ █▆ ▌▇▄▇
▆▆▇▉▍▄▊ "▆▆▌█" ▉▊▅▋▋▅▋▍█▍
█▊▇█▍ ▋▄▅▋█▅▌
!▇▇▌▉▆▄ ▍▇▊▋▇▊▇▆▄█▊, ▅▄▇▊▇▌▊▍▅ ▍▇▉▄▉, █▇▋▇▌▌▅▌▊ ▄▄▆▋▆, ▋▄▊▊▊█ ▊▇▋▆▍
▉▅▊▄▄▊▋ ▉ ▆▍▆▉▍ ▅▉ ▉▇█▇▉▅▄ █▅▄▆▊▍▉▍▄▉▉▇▇▋▉ ▋▉█▇▋▉▇▉
█▊█▄▍▆▍█▊▌█▋ █▄▋▍▋
▄▇▌ ▋▄▊▌▌▄▉▌▌▆██  ▄▊▉▊▅ ▍▊▊▅▄▌ ▉▍▍▄▋
▋█▉▊▆ █▋▇▄▊▆▌▋▄▉▇█ ▍▋▌█▅▌ ▌▇▊▋▊▆▄▍▍ ▄▌▄█▋ ▋▆▉▌▅▉▉ ▊▋▌▄ ▉█▅▍ ▅▆ ▇▊▉▊ ▇▉ ▋▅▅▄▋▇▌▍▍
▅▊▊▋▅▍▆ -▊▇▆▊▋▊▅▋ ▍▄▋▋██
▌▄▇▊▌ ▋▄▉▋▆▌▍▅
▇▋█▅▄▆▄ ▍▆█▋▋▅▄▇▅▋▊▄█▉▆▉ ▇▅▇▆▅▅▉ ▍▋ ▌█▋▍█▌:▊▉▇█▊▊▊▌▊▋▊▇
▄▊▋▉▊▅:▅▅▄▋▍▌▌▋▉▍▍▊ ▆▇▊▌▍ ▉▄▄▊▍ ▊▆▊▉▉▋▉, ▆▄▆▌▉▌▇▌▍▉ █▊ ▍▅▊▍▄█ ▇▋▅▊
▆▉▉▉▆ █▌▅ █▇▅▅▆ ▍▋▋▊ ▉▇ ▄▄▍▉▇▊▌▍▇ ▉▄▆▄▇▉▋▋▆ ▍▉▌▍▋▅
!▅▉▋▌▊ ▅▆ ▋▋▇▄▊▆
▍▆▌▇ ██▉▇ ▅▅ ▌▊▅▍█▋ ▍▉ ▄▆▌█▌▍▍▇ ▅▆▇█▊▇ ▍▉ ▋▄▅▆ ▇▉ ▆▋▍█▍▆█▆
▌▄▋▌▍▇█ ▉ █▍▇ ▅▇▆▄▋██ ▊▊▅▇▊ ▋▅▉▄ ▄█▇▄▋▌ ▍█▆▊▌ ▇▊▄ ▆▊▆▌▅▅▍ ▋▆▄█▉▌▄██
▄▊█▆█ ▄▄▌▊▇█▌ ▋▄▉▅ ▄▊▍▋█▌▄ █▅▆▆▇▊▅ ▍▍▍▌▊▆▍
▇▉ ▆▊▇▆ ▌▊▄▄▆█▆▉▅ ▅▋▄ ▅▊▍▅_▆▋▊▆█▇_▉▌▌█_▇▆▊▄▊▄▄▊▅▋
▄▆▄▍▇ "▊▌▌▆ ▌█ ▊▍▆▇█▍▅▋ █▅▅▅▌" ▄▄▍▄█▊▍█ █▆▄▍▋▊▌
▋▉▋▉▄ ▍▊▆▇▋▅▄ ▍▍▋▉ ▌▄▆▌▆▋▋▇▊ ▌▍▆▋▆▇▋ ▇▆▍▍█▉ ▄▌▇▌▉▇▆▉ ▄▉▊▊▅
▌▉▌▊ ▄▋▇ ▍▆▍ █▉ "▅▇█▋ ▊▍▋▅▆" ▄▇█▇▆▇▄
▅▋█▉▄▄ ▉▆▉▉▌▅ ▅▊▌▍▍ ▇▇▄▌ ▋_█▉_▌▉▌▌▅▇▆▌▇▆▋█
█▍█▄▌▆▆▄ ▄▊:▄▊ ▆█▉▄, ▌▇ ▅█▇ ▍▊▉▅▊ ▄▅▇▄▌▌▌▇█▄▍.
▇▆▊█▇ █▆▉▆ ▊▋▋▆▄ ▄▅ ▇▅▉▆▌▍ ▅ ▅▄▋▄▌▆▋▌▄ ▉▅▉▄▉▍▄-▉
▇ ▄▍▄▆ ▇▅ ▄▋▊ █▅▌ ▋▄▇▄█▇▉ ▇█▇█▋▊ ▆▄▉▍▊█
 
                
                
                
                
                
             
         
        
            
            
            
                
                Only use networked velocity for entities that set it serverside
Physics entities such as props, vehicles, SENTS do not set their velocity, since its all handled by the physics engine, so it ends up not actually being networked
Make particle preview background slightly lighter (32,32,32)
Fixed more crashing issues to do with particles