13,176 Commits over 1,522 Days - 0.36cph!
Don't make VectorInt properties readonly since some games set them already (fixes tests failing)
Asset picker: only allow multi selection if we want that
Added a lot more functionality to Vector2Int and Vector3Int. Much more in line with their floating-point counterparts now, only including what makes the most sense for integer values. Also added documentation/summaries to everything. Resolves Facepunch/sbox-issues#5254
Fix Vector3Int converter error
Stop prefab source widget changing value and closing picker before a selection has been submitted
Asset picker: will now grab/install remote cloud assets when selected (fixes Facepunch/sbox-issues#5904), improved validation so you can only select resource types you're supposed to
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
Fix Vector2.Json serialization only loading x value when supplying string as json object and not number array. Also updated function summaries that said "vector4" instead of "vector2"
Vector2Int and Vector3Int values now serialize to/from JSON properly. Resolves Facepunch/sbox-issues#5821
Created Vector2Int/Vector3Int ControlWidgets. Resolves Facepunch/sbox-issues#5606
Fix new game objects created thru heirarchy context menu always spawning at 0,0,0
Add ParticleModelRenderer
Restore skeleton compile to how it used to be, we're missing optimizations by just keeping every bone no matter what
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
Fix bug in capsule tracing, fixes picker in modeldoc when using capsules
Fix IBL not working, Transparency in AmbientColor is used to lerp between artist's decided flat color and IBL/GI, defaults to GI
AmbientLight component defaults to Gray color
Don't implicitly set zfar as infinity, if we want to do so we can do from C# side, but make it respect what we pass as zfar
LineRenderer has a UseVectorPoints option
Fix Json.PopulateReflectionCache
JsonTypeInfos would only be stored if the JsonSerializerOptions is immutable
Add serialization_warn_time con var
https://files.facepunch.com/ziks/2024-07-24/sbox-dev_0DtqgKK1dt.png
Fix for AO outline
AO moved in PP to post-transparent to ensure that sky-dome is rendered before AO
Merge branch 'master' of sbox
Tidy and make some context menus more consistent, prevent selecting unworkable options, add hierarchal path support to create asset menus
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.
Don't use internal message type for changing level
Fixed retry logic
Docs
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
Populate Json reflection cache in Json.Initialize
We were seeing some long frame times during first-time prefab instantiation caused by this
Fix some download toasts sticking around forever, and incorrectly displaying as cancelled
Fix warnings in ParticleVector3ControlWidget
Revert "Add LargeNetworkFiles table"
This reverts commit 7365c616af37ef1665abe4961344013815e89b70.
Accidentally rebased master onto a branch - Metapyziks
Add LargeNetworkFiles table
Respect JsonIgnoreAttribute when serializing component properties
We were already checking it for fields
Support more than 1 gamepad input action with the same button
Fix errors when first creating terrain, make sure it's all updated, don't render without storage
Only recreate clipmap if we have to, this takes time to build
Wake touching when disabling a body, why would we not want to?
Some games rely on map having a collider
CollisionEventSystem has less reliance on Collider
MapInstance uses SceneMap instead of Map so it can manage it's own collision. Build collision from physics group desc instead of using CreateAggregateInstance
Fix map collider destroying body when it shouldn't, causing a crash when map physics aggregate is destroyed
For legacy hammer maps, take global volumetric fog scale from VolumetricFogController
Fix ortho lights in SceneMapLoader and custom shadow size, note that shadow culling will suck on ortho lights until we change tiled culling to use frusta
Don't allow zero quaternion in body transform, check against quat zero and use identity, if we find more invalid quaternions there's extra checks we can do
Use IsValid checks in AddShapeCollision, shape/body might have been removed from under us
Recreate mesh shape on update, this is the safe option until we get proper fixes
Only check for StartupScene in Publish Wizard if Type == "game"
Clear triangle cache on mesh update to stop crashes until we get the proper fix
Particle sprite alignment mode
Range check UpdateMesh on the C# side instead so the user knows they fucked it
Fix error when startup scene is set but not immediately recognized
Message and remove toast if the download has been cancelled
Fix ambient light hanging around and stomping
Do the same for UpdateMeshShape because this is likely where the crash is coming from (grubs)
Check BVH indexing outside of vertex list, if this is still getting hit then something else is at fault