4,700 Commits over 1,399 Days - 0.14cph!
Fix NRE in SceneNetworkSystem.OnLeave
Add ParticleTrailRenderer, TrailRenderer components
Add a margin to the right of component sheet, to accommodate the scrollbar
Expose BlendMode
Move D_BLENDMODE to common/blendmode.hlsl - so we can pull it into other shaders easy
SceneLineObject supports texture + uvs
Expose particle DeathTime, so effects can use it to do calculations
Fix ParticleSpriteRenderer error when no texture defined
Add ParticleEmitter.RateOverDistance , overrides for manipulating burst count, rate count
Add ParticleModelRenderer
Fix LineRenderer bug
ParticleFloat, ParticleGradient have evaluations where you pass in the particle , which reduces the risk of fucking up the parameters
Move ParticleRenderer's into own folder
ParticleController has OnParticleCreated
Add Particle.BaseListener - allows creating of classes that run on particle create, update and destroy - with instance data and guaranteed destroy
Add ParticleLightRenderer
LineRenderer has a UseVectorPoints option
Download from server (#1632)
Download game asset files from the server, when not using a package. This allows people to make "local only" games and test them locally and multiplayer.
In the future we can change the download method to upload and download from our backend instead of over network.
Simplify RedirectFileSystem, fix not mounting
Add LargeNetworkFiles table
No network files needed for remote packages
File download framework
Add Connection.SendRequest<T> - allows async waiting for a response to a specific message, instead of routing through global handlers
Request files loop
Fix filesystems not clearing properly between games
Download required files from server
Move the asset download cache to a single purpose class
Respect JsonIgnoreAttribute when serializing component properties
We were already checking it for fields
Revert "Add LargeNetworkFiles table"
This reverts commit 7365c616af37ef1665abe4961344013815e89b70.
Accidentally rebased master onto a branch - Metapyziks
Fix warnings in ParticleVector3ControlWidget
Fix some download toasts sticking around forever, and incorrectly displaying as cancelled
Populate Json reflection cache in Json.Initialize
We were seeing some long frame times during first-time prefab instantiation caused by this
Do panel bind/parameter events when things change even if tree is empty, Facepunch/sbox-issues#5908
Custom panels that do stuff/populate from attributes etc should work again now, incl settings page
Don't use internal message type for changing level
Fixed retry logic
Docs
Merge branch 'master' into local_files
Merge fixes
Merge branch 'master' into local_files
Move the asset download cache to a single purpose class
Fix filesystems not clearing properly between games
Download required files from server
No network files needed for remote packages
File download framework
Add Connection.SendRequest<T> - allows async waiting for a response to a specific message, instead of routing through global handlers
Request files loop
Add LargeNetworkFiles table
Particle sprite alignment mode
Fix ambient light hanging around and stomping
Don't download package dlls
Compile package on download
Fix errors when trying to render dynamic cubemaps in editor
Don't set cursor position if !IsAppActive()
Fix WatchPhysical() test, shouldn't be ticking before check
Oops - don't need obsoleted KeyModifiers anymore
Don't inject EnsureSufficientExecutionStack calls, see if that changes performance in any way
Lets see if CollectionsMarshal.AsSpan is any faster or if Nick Chapsas is a liar
Skip all this if we have no rendertree
Clean up
Use SRGB texture in text shader
Fix calling Update for the active scene in editor for every scene that was open
Only sort children if it's needed
More optimizing
I'm not sure that the RENDER_BUFFER_DYNAMIC_VERTEX_FIXED_SIZE size restriction still exists
Text rendering use anisotropic
Switch text shader to use bindless (to see if there are any perf changes)
Convert the rest of RenderAttributes stuff to use StringToken
Move SetRenderState out of the draw loop, called manually
Add internal, templated Graphics.Draw<T>
Delete PanelRenderer.Text.cs
VertexLayout is public, has attribute system to define vertex layout
Don't push identity matrices when rendering UI
Fix last particle not processing
Add pitch and yaw to particles
Particle system optimzations
PerformanceStats.Timings lockless
Remove SceneObject.GetSceneWorld()
Remove SceneObject_UpdateRayTraceTransform
Instead of updating SceneObject RayTrace's every time they move, lets mark them dirty and update them when the raytrace is actually used (which is probably never)
Move CodeGen to Engine, add engine assembly reference to allow it to resolve symbols from that
Add StringToken.ConvertAttribute, for codegen to detect situations where we want to upgrade
Add MurmurHash2 to generator
When a StringToken parameter is passed a string literal we codegen that to the token, to avoid the lookup/generation
"chicken" becomes StringToken.Literal( "chicken", 855234573 ), which returns a StringToken
Add ProjectReference from Sandbox.Game to CodeGen, to avoid out of order compiling
Fix post processing (was passing in ITexture as an int)
Add StringToken alternatives to RenderAttributes
Create Sandbox.StringToken, delete NativeEngine.StringToken
Cache SteamRichPresenceSystem values, avoid 1ms spike every 5 seconds
Introduce ContextLocal<T>
MenuDll has its own Json options
This isn't ever used
This isn't ever used
Never used
Never used
Never used
Remove unused
This really does not need to be routed via an interface
Not used
Lets uncomplicate this the input system kickoff by dropping the event dispatch
Add instrumentation
Add a c# version of MurmurHash2
Trim a bunch of sound stuff we don't use
More telemetry
move fps_max to c# - make it more accurate