20,840 Commits over 1,522 Days - 0.57cph!
ModelDoc option to disable keyframe interpolation to allow for constant keyframe animations
Vulkan: Show error message box and bail on VK_ERROR_DEVICE_LOST
Vulkan: Enable Nvidia Aftermath for GPU crashdumps with VK_NV_device_diagnostic_checkpoints
Vulkan: Add VK_EXT_device_fault support and dump info after device loss
Vulkan: out-of-date or suboptimal swapchains are verbose logging
Vulkan: Assert for absurd swapchain width/height that are happening during shutdown
Vulkan: Log layers that are older than specified API version, these are the most likely cause of GPU device crashes
Cubemap fog uses material inside hammer now
MapInstance now loads Cubemap fog reference
Fix crashes due to returning address to temporary locals
Split this off
Merge property or variable get / set nodes
https://files.facepunch.com/ziks/1b1611b1/sbox-dev_Bj6e15WZ0F.mp4
These should be continue, not return
Precache the sound before trying to preload it
These refs aren't really for us
Unused
We don't really need this cache size logic, right
Reconfigure this
Give some warnings if we fail here, just so we know
Tweak SoundFile.LoadAsync, GetSamplesAsync
Reset anim graph instance on model change
Make control sheet labels draggable
Dropping a component property will create a set node
https://files.facepunch.com/ziks/2024-03-12/sbox-dev_4FnI6RmoK5.mp4
Facepunch/sbox-issues#5129
EditorNode display fixes for embedded targets
Transform local bounds by scene object transform in CMeshSystem::ChangeModel, fixes incorrect bounds on mesh renderer model change
Rename ProjectSettings to ProjectSettingsWindow
Blank off AudioReflections profile so we're not left with old data
Expose the audio processors
Serialize the processors
Tweak NavigationView
Allow adding audio processors
Style tweaks
Remove unused sheets
Fixed AssetBrowser disaster - Fixes sbox-issues/issues/5201
Don't do SA simulate in unit tests
Handle missing type in CheckRequireComponent nicer
editor Shortcut can be widget, window, or application scope, can have autorepeat, and can respond when input is ambiguous
Show exception info in EventSystem errors
Add TreeView.StartEditing, simulates pressing F2
Add object.GetSerialized()
Fix AudioMeter exception due to being empty
Add configurable version of Layout.AddSeparator
In VirtualWidget.PaintBackground, only paint if alpha > 0
BaseItemWidget only stomp ShotcutPressed if it doesn't have any modifiers
Switch mixers to be tree based, allow saving and loading
Default reflection off, don't do any reflection processing if it's off
Add Model.Physics.Surfaces to get all physics surfaces used in a model
Resolve sbox-issues/issues/5171 by making dragValue match
Style tweaks
ControlWidget doesn't create a struct editor for readonly structs
Fix gameobject multi-select editing (blame @kurozael)
)(
Move Networking.HostConnection to Connection.Host
Whitelist TaskExtensions.Unwrap
Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples
Assert isn't valid anymore in ComputeImageViews since we can pass a cube array
Created bone objects on skinned model renderer update on model reload and model change
Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler
Fix asset browser not finding files on T and U drives
Resolves sbox-issues/issues/4560
Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV
Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders
ShaderGraph: Fix ScreenPosition.XY incorrect component count
Sprite shader flips with uv sign
Add SpriteRenderer FlipHorizontal and FlipVertical
ModelPhysics recreates physics on active model change, fixes some props not initializing physics when created in code
Fix all sounds being downmixed to mono
Fix terrain trace hit normal
Fix BaseSoundComponent NRE
Fix stereo sounds playing one channel
Fix RedirectFileSystem DirectoryExists case sensitive
Remove key when SetMeta a null value
Add ConfigData type
Save/load Collision data to ProjectSettings/Collision.config
Remove obsolete calls
Support per triangle physics surfaces on mesh shapes https://files.facepunch.com/layla/1b1411b1/sbox-dev_WzjagCCSeA.mp4
Editor startup cleanup & remove Editor.Utility
Fix path stretching asset browser size - fixes sbox-issues/issues/4609
If we pass in an invalid transform to Steam Audio, just ignore it
Fix SerializedList/Dictionary not converting property - fixes sbox-issues/issues/5104
Refactor Networking/Connection - fixes sbox-issues/issues/4676
Add [RequireComponent]
Postprocess components use [RequireComponent]
https://files.facepunch.com/garry/436210e0-e5e0-44d2-86b5-3456d99bfa33.png
Move Json.Upgrader out of Sandbox,Game, have it filter by type
Add GameResource.ResourceVersion
Inject version into gameresource saves
Change DeserializeToObject to use JsonNodes
GameResources can define JsonUpgraders
v1 upgraders for SceneFile and PrefabFile
Add GameResource.LoadFromJson and use that anywhere we load a GameResource
Fix PrefabFile upgrader doing nothing
Fix tests, supply upgraders
Remove unused UnregisterProperties methods
Simplify a bunch - allow setting property if slot not registered
Authority RPC now correctly uses invoke permissions from the AuthorityAttribute. When calling Authority RPC, if there's no owner, the target would be the host connection
Authority check for network destroy - can never arbitrarily destroy unnetworked objects
In the PrefabFile upgrader, upgrade Id to __guid as well if possible, fixes corrupt prefabs from before when it was called Id
Cubemapper tests
Remove all ggx code for now & just copy directly to cubemap array
TextureCube with mipmaps and arrays and mipmaps
Move texture logic from cubemapper to c#
Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU
Handle all array index stuff in cubemapper
Fix NRE if destroying object in animation event
Ensure PanelComponent finds its parent
If PanelComponent gets enabled before WorldPanel it fails to find a valid parent
Resolves sbox-issues/issues/5024
Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU
Handle all array index stuff in cubemapper
ImageFormat.Default uses RGBA8888
Fixes unable to parse guid error when trying to load properties called "id" but the type is not a guid (Fixes Facepunch/sbox-issues#5181)
NetworkMode can't be changed from NetworkMode.Object if we are actually a networked object (_net is valid)