13,863 Commits over 1,552 Days - 0.37cph!
Protect against host being null when downloading network files
Keep a count of the number of hosts a lobby has had
Mark lobby as toxic if became owner while joining
LargeNetworkFiles output num files
Tweak JoinBestLobby logic
Don't show toxic lobbies
Fix RunDownloadQueue using wrong connection
Don't disconnect from own server and mark it as toxic!
Disconnect from active lobby if it becomes toxic
Fix open_asset crashing in non-tools
Don't show lobby cards for games marked as hidden (unless you're in that org)
Only show lobbies of the same game build
Another out of memory fatal error
Fix error when map couldn't be downloaded
Less simultaneous downloads
Add some high level sentry breadcrumbs
Fix possible NRE in network connect
Add commented out DSN for testing sentry un-rate-limited
Fix NRE in Prop
Add breadcrumb for failed downloads, let us diagnose why it's happening
Don't let OnNetworkSpawn errors break everything
Tweak how httpimages are loaded to make errors more obvious
Wrap RPC resume so things don't fall to bits if it errors
Fix NRE in Rigidbody.OnDisabledInternal
Validate descriptor bindings of a shader (for real this time, not in a dead method) - prevent crashing by not loading these invalid shaders
Tag map for sentry too (if launched with a map)
Fix WorldPanel NRE (if the underlying panel gets deleted, somehow)
Don't report TargetInvocationException, report its InnerException
Fix steam callback crash
Fix text cannot be empty exception
Remove Compiler.OnCompilePartialSuccess , don't load assemblies on compile fail, fixes BadImageFormatException
Promote task exceptions to errors, instead of warnings
Fix exception with no camera
Some error reporting breadcrumbs/tag for identifying game package
Breadcrumb pipeline creation to see what shaders crashing us
Running out of video and system memory is a fatal error
Move all terrain attributes into 1 structured buffer, create a Terrain class any shader can use to provide things like Terrain::GetHeight( worldPos )
Use an AssetPicker for browsing terrain materials instead
Fix possible project startup NREs
Use is valid checks in rigidbody
Fix index out of range accessing backing data collision attributes
Apply aggregate tags in C# instead of this massive inline bind function
PhysicsGroupDescription grabs physics tags from aggregate backing data so they can be string token cached. This allows trace result tags to be valid because they'll be reversable by string token
Fix NRE in SceneNetworkSystem.OnLeave
Add ParticleTrailRenderer, TrailRenderer components
Add a margin to the right of component sheet, to accommodate the scrollbar
Set collision attributes on map instance collision shapes, I missed this out when switching from native aggregate instances
Stop big server lists squashing the rows, styling tweaks Facepunch/sbox-issues#5943
Stick verbose network files messages behind 'debug_network_files' convar, print elapsed time Facepunch/sbox-issues#5912
Make sure directory tree exists when downloading from server
UI: Do not render invalid texture background images
Fix missing map select button
Autoswitch to game tab when going into playmode again (oops)
Expose BlendMode
Move D_BLENDMODE to common/blendmode.hlsl - so we can pull it into other shaders easy
SceneLineObject supports texture + uvs
Disallow np2 textures, crashes the DXT compressor we use, plus disables mips etc.
CRenderDeviceBase::AsyncSetTextureData2: Fix nullptr crash with invalid rects
Don't completely fail to start with an invalid controller plugged in, needs to be properly fixed in C++ though
Don't set active scene on tab hover but still do gizmo hover interactions, drag drop etc. Avoid needing awkward 2nd input, Facepunch/sbox-issues#5728
Use same asset picker size/location cookie regardless of what control created it
Get rid of special case map picker
Reference package.base from libraries when publishing
Fixes Facepunch/sbox-issues#5899
Cache versioned packages separately
AssertNoGraphErrorsInScene: assert downloaded package version
Package.FetchAsync: allow fetching specific version
Disable AssertNoGraphErrorsInScene test temporarily
Added OnOrg to PackageCard and PackageList. Added basic Org Page when clicking org on Main Menu. Helps users find games made by the same creator(s).
https://files.facepunch.com/CarsonKompon/2024/July/26_01-31-CuddlyCaracal.mp4
VectorInts are fields instead of properies (like they used to) with [JsonInclude] fields
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