reposboxcancel

22,418 Commits over 1,614 Days - 0.58cph!

25 Days Ago
ShaderGraph GraphCompiler can now resolve the results of Subgraph nodes (only in a few cases at the moment) GraphCompiler now resolves nodes referenced in NodeResult.Func outputs when in subgraphs appropriately
25 Days Ago
Add TextureGenerator boilerplate TextureControlWidget poc Fix NRE in SpriteRenderer when texture is null TextureControlWidget creates a child ResourceControlWidget instead of trying to be one Draw texture preview Standardize internal way to async replace placeholder textures Add Sandbox.Utility.ForAsync TextureGenerators are async Add IPopupEditor<T>, EditorUtility.OpenControlSheet looks for this interface when creating a popup Rename ControlSheetPopup to PopupEditor, make more modular so we can override important bits Add TextureEditorPopup Clean up TextureControlWidget Add Color.Rgba16 (half based color) Add Bitmap class More bitmap stuff Bitmap draw and bitmap pen Bitmap drawing fixes Bitmap clone, IDisposable, IValid Wrap IResourceCompilerContext Find "$compiler" in resource json and launch compiler Add more ResourceCompiler functionality Managed can override compiling of any resource Add Texture.GetBitmap Simple texture compiling from managed Add Bitmap.ToFormat( ImageFormat format ) Add TextureBuilder.WithMips() - auto mip count Bitmap.ToTexture supports mipmaps ResourceCompiler.Compile is async (but we have to run it syncronously) ResourceCompiler,. ResourceCompilerContext are in Engine Add transient filesystem Add Texture.IsError Compile embedded textures to transient folder Double height texturcontrolwidget Remove debug Add Bitmap.DrawText Clean up Lock FontManager cache when accessing Refactor Generated resources get weak cached in memory for re-use Cleanup floatbitmap, add LoadFromInMemoryTGA Load Bitmap.CreateFromBytes supports tga Better tooltips on TextureControlWidget Don't support mipmaps if npot (until we figure out how/why) Create Bitmap.Filters.cs Bitmap supports psd loading Fix a bunch of bitmap filters Add Margin.IsNearlyZero Fix blur/sharpen thinking the edge of the bitmap is the end Control widget tweaks Pass ResourceCompiler in ResourceGenerator options, allowing us to add references Fix asset picker ignoring AdditionalTypes Move ColorTextureGenerator Move RandomTextureGenerator to engine, allow normals creation Add Widget.GetDescendants<T> Expose OpenColorPopup on ColorControlWidget Add [TextureImagePath] - allows selecting an image or a texture Don't cache resource if hash changed while generating Expose CreateEmbeddedResource on TextureResource Bitmap.Rotate resizes the texture TextureControlWidget has shortcut buttons for selecting a file, or color Add bitmap SVG loader Return white for default colors, instead of transparent Add MainThread.Wait() Add EngineFileSystem.Mounted (!) Create TextTextureGenerator.cs Create RadialGradientTextureGenerator.cs Create LinearGradientTextureGenerator.cs Create ImageFileTextureGenerator.cs Expose Svg texture generator Expose TypeDescription.Order TextTextureGenerator tweaks Fix warnings and errors
25 Days Ago
Add bitmap SVG loader Return white for default colors, instead of transparent Add MainThread.Wait() Add EngineFileSystem.Mounted (!) Create TextTextureGenerator.cs Create RadialGradientTextureGenerator.cs Create LinearGradientTextureGenerator.cs Create ImageFileTextureGenerator.cs Expose Svg texture generator Expose TypeDescription.Order TextTextureGenerator tweaks Fix warnings and errors
25 Days Ago
Pass ResourceCompiler in ResourceGenerator options, allowing us to add references Fix asset picker ignoring AdditionalTypes Move ColorTextureGenerator Move RandomTextureGenerator to engine, allow normals creation Add Widget.GetDescendants<T> Expose OpenColorPopup on ColorControlWidget Add [TextureImagePath] - allows selecting an image or a texture Don't cache resource if hash changed while generating Expose CreateEmbeddedResource on TextureResource Bitmap.Rotate resizes the texture TextureControlWidget has shortcut buttons for selecting a file, or color
25 Days Ago
Throw when trying to destroy uninstantiated prefab Handle references in prefab variables to prefab root differently
25 Days Ago
Compile shaders
25 Days Ago
Compute Shader Skinning (#1786) Calculate skinning in compute shader instead of vertex shader
25 Days Ago
Remove these debug logs
25 Days Ago
Only find this attribute if we need it
25 Days Ago
SyncFlags.Interpolate, support for float, Vector3, Angles, Rotation, Transform (with internal interface right now)
25 Days Ago
Fix blur/sharpen thinking the edge of the bitmap is the end Control widget tweaks
25 Days Ago
Don't accept "game" command while Application.IsEditor
25 Days Ago
Don't accept "game" command while Application.IsEditor
25 Days Ago
Bitmap supports psd loading Fix a bunch of bitmap filters Add Margin.IsNearlyZero
26 Days Ago
MeshTools: Refresh Pivot after undo/redo
26 Days Ago
Rename to be more inline with other scopes (e.g. Gizmo.Scope) Less verbose flag name
26 Days Ago
Less verbose UndoScope initialization & capture selections by default.
26 Days Ago
Precompute vertex layout offsets and bits in rendermesh instead of doing it every compute dispatch, as valve comments suggest
26 Days Ago
Add TextureGenerator boilerplate TextureControlWidget poc Fix NRE in SpriteRenderer when texture is null TextureControlWidget creates a child ResourceControlWidget instead of trying to be one Draw texture preview Standardize internal way to async replace placeholder textures Add Sandbox.Utility.ForAsync TextureGenerators are async Add IPopupEditor<T>, EditorUtility.OpenControlSheet looks for this interface when creating a popup Rename ControlSheetPopup to PopupEditor, make more modular so we can override important bits Add TextureEditorPopup Clean up TextureControlWidget Add Color.Rgba16 (half based color) Add Bitmap class More bitmap stuff Bitmap draw and bitmap pen Bitmap drawing fixes Bitmap clone, IDisposable, IValid Wrap IResourceCompilerContext Find "$compiler" in resource json and launch compiler Add more ResourceCompiler functionality Managed can override compiling of any resource Add Texture.GetBitmap Simple texture compiling from managed Add Bitmap.ToFormat( ImageFormat format ) Add TextureBuilder.WithMips() - auto mip count Bitmap.ToTexture supports mipmaps ResourceCompiler.Compile is async (but we have to run it syncronously) ResourceCompiler,. ResourceCompilerContext are in Engine Add transient filesystem Add Texture.IsError Compile embedded textures to transient folder Double height texturcontrolwidget Remove debug Add Bitmap.DrawText Clean up Lock FontManager cache when accessing Refactor Generated resources get weak cached in memory for re-use Cleanup floatbitmap, add LoadFromInMemoryTGA Load Bitmap.CreateFromBytes supports tga Better tooltips on TextureControlWidget Don't support mipmaps if npot (until we figure out how/why) Create Bitmap.Filters.cs
26 Days Ago
Disabling D_SKINNING and D_MORPH when D_CS_VERTEX_ANIMATION is enabled would be a mistake because it would break older compiled shaders
26 Days Ago
Cleanup floatbitmap, add LoadFromInMemoryTGA Load Bitmap.CreateFromBytes supports tga Better tooltips on TextureControlWidget Don't support mipmaps if npot (until we figure out how/why) Create Bitmap.Filters.cs
26 Days Ago
Remove this toolvis shit from skinning compute, I don't think it's needed
26 Days Ago
These newer decompress normal functions can be removed, we're not using them yet
26 Days Ago
Remove SV_VertexID from depth_only
26 Days Ago
Update cable.vmat_c
26 Days Ago
use shader_c from master, these somehow got fucked
26 Days Ago
Add octohedral_encoding.fxc Add skinning_cs.shader Try and use animated vertex cache when D_CS_VERTEX_ANIMATION is enabled Store vb size offsets in rendermesh Create GPU buffers for skinned vertex cache and vertex cache offsets Dispatch requested vertex cache updates Animatables requests vertex cache updates Compile shaders Make sure both buffers are destroyed Add SV_VertexID to VS_INPUT, this can be used for indexing vertex cache instead of using D_MORPH nVertexIndex Don't call CalculateInstancingObjectToWorldMatrix when using D_CS_VERTEX_ANIMATION, it's already calculated in the cache Decode cached vertex normals and tangents Compute morphs, normals and tangents in skinning compute shader Define MORPH_TEXTURE_ATLAS_WIDTH as g_nMorphTextureAtlasWidth when in compute Fix incorrect offset to CalculateMorphSubrectData Don't run morph code when using vertex cache Compile shaders Use remaining bytes in extra shader data to hold base vertex cache offset, add another vertex id lookup buffer relative to meshes vertex buffer size offsets - this allows correct indexing into cached vertices while remaining backwards compatible Compile shaders Resize vertex cache buffer when out of space Use descriptor set for vertex cache so that it doesn't need to be set with an attribute (which would be set too early if resize is needed) Compile shaders Fix decompressing normals in skinning compute shader Add back vertex cache request batching now we know everything works
26 Days Ago
WIP minimal public API Fleshing out how movies get applied to a scene
26 Days Ago
Humans/animgraph: added Sprint_NW & Sprint_NE
26 Days Ago
Make sure errors are also displayed in Subgraphs
26 Days Ago
Remove obsolete func calls from recteditor
26 Days Ago
Reapply "Bindless lightmaps/Lightmap Combo Removal (#1765)" This reverts commit de7b93d17c7a036a567347794ca51163132ef42a. Reapply BATCH_FLAGS_CONTROLLING_COMBO_CHANGES for legacy shaders, accidentally removed binding lightmap for legacy shaders Initialize vertex output of lightmap uv when lightmapping is disabled Update drivers with bindless lightmaps & amd fix
26 Days Ago
update shaders
26 Days Ago
Initialize vertex output of lightmap uv when lightmapping is disabled
26 Days Ago
Cleanup unused code
26 Days Ago
Remove debug log Replace ParameterNode.CanEditOnNode with ParameterNode.IsRequiredInput since thats a bit more user-friendly Don't include inline editor when UI.Type is set to Default Default values of subgraphs are now editable via Properties if not a required input Custom subgraph nodes now produce errors when required inputs are left without connections https://files.facepunch.com/CarsonKompon/2025/January/23_11-38-RudeFattaileddunnart.png
26 Days Ago
Get rid of mouse up hack for new undo system
26 Days Ago
Fix NodeResult shader compile error Slight refactor to BaseNode.CreateEditor Added IParameterNode.GetRangeMin and GetRangeMax. Parameter Nodes have "CanEditOnNode" instead of "IsAttribute" when in a subgraph. Determines whether or not an inline editor is created on the node Use SubgraphNode.InputReferences when creating the DefaultEditor and drawing the default Plug Value Ensure that inline DefaultEditors for subgraphs grab the UI.Step value for sliders Make Color Editor works with SubgraphNodes
26 Days Ago
Rewrite drop object undos
26 Days Ago
Rewrite all undos using new iteration of undo & add some missing undos
26 Days Ago
VR: Remove obsolete controller checking bools that nobody's using VR: Add IsHandTracked bool to VRController, update fpxr to 5cf7ff24f5b157166102c8e4898bb84b4accb952 VR: Add MotionRange to VRController.GetJoints, update fpxr to 8822f0461709fbd2eda8fe004d51af79d47e6aa9 e.g. ```csharp Input.VR.LeftHand.GetJoints( MotionRange.Hand ); // default Input.VR.LeftHand.GetJoints( MotionRange.Controller ); // tries to wrap hands around the controller ``` VR: Better controller interactions in menu, move panel to a more comfortable height
26 Days Ago
Lock FontManager cache when accessing Refactor Generated resources get weak cached in memory for re-use
26 Days Ago
Add Simulate Packet Loss alongside Simulate Lag in editor network options - it's working for simulating outgoing lost packets from the host right now
26 Days Ago
Some tidy up - data table ReadFilter instead of other method, reset delta snapshot cache on owner change and after network refresh is received
26 Days Ago
Reapply "Bindless lightmaps/Lightmap Combo Removal (#1765)" This reverts commit de7b93d17c7a036a567347794ca51163132ef42a. Reapply BATCH_FLAGS_CONTROLLING_COMBO_CHANGES for legacy shaders, accidentally removed binding lightmap for legacy shaders Build shaders
26 Days Ago
Make sure it doesn't run in headless (errors out on dedicated server)
26 Days Ago
Expose Application.ShutdownUnitTest() Throws if not currently running a unit test
26 Days Ago
If we have any command line arguments from the Steam client (sbox.game -rungame), parse it via ISteamApps.GetLaunchCommandLine
26 Days Ago
Revert "Bindless lightmaps/Lightmap Combo Removal (#1765)" This reverts commit 1fdcdeab689851f1093853faa8d8b4d6041d63f7. # Conflicts: # game/addons/base/Assets/postprocess/ObjectHighlight/objecthighlight.shader_c # game/addons/base/Assets/shaders/atmosphere_sky.shader_c # game/addons/base/Assets/shaders/blendable.shader_c # game/addons/base/Assets/shaders/foliage.shader_c # game/addons/base/Assets/shaders/fur.shader_c # game/addons/base/Assets/shaders/gizmo/gizmo_grid.shader_c # game/addons/base/Assets/shaders/gizmo/gizmo_line.shader_c # game/addons/base/Assets/shaders/glass.shader_c # game/addons/base/Assets/shaders/line.shader_c # game/addons/base/Assets/shaders/lpv_debug.shader_c # game/addons/base/Assets/shaders/sprite.shader_c # game/addons/base/Assets/shaders/terrain.shader_c # game/addons/base/Assets/shaders/terrain_brush.shader_c # game/addons/base/Assets/shaders/terrain_preview.shader_c # game/addons/base/Assets/shaders/tiled_light_culling_cs.shader_c # game/addons/base/Assets/shaders/ui_backdropfilter.shader_c # game/addons/base/Assets/shaders/ui_basic.shader_c # game/addons/base/Assets/shaders/ui_borderwrap.shader_c # game/addons/base/Assets/shaders/ui_cssbox.shader_c # game/addons/base/Assets/shaders/ui_cssshadow.shader_c # game/addons/base/Assets/shaders/ui_dropshadow.shader_c # game/addons/base/Assets/shaders/ui_filter.shader_c # game/addons/base/Assets/shaders/ui_text.shader_c # game/addons/base/Assets/shaders/vertex_color.shader_c # game/addons/base/Assets/shaders/water.shader_c # game/core/shaders/black_unlit.shader_c # game/core/shaders/cables.shader_c # game/core/shaders/complex.shader_c # game/core/shaders/complex_reflections.shader_c # game/core/shaders/cs_volumetric_fog.shader_c # game/core/shaders/debug_wireframe_2d.shader_c # game/core/shaders/decal.shader_c # game/core/shaders/depth_only.shader_c # game/core/shaders/eyeball.shader_c # game/core/shaders/generic.shader_c # game/core/shaders/hair.shader_c # game/core/shaders/post_process.shader_c # game/core/shaders/projected_decals.shader_c # game/core/shaders/projected_sheet_decals.shader_c # game/core/shaders/simple.shader_c # game/core/shaders/skin.shader_c # game/core/shaders/sky.shader_c # game/core/shaders/spritecard.shader_c # game/core/shaders/static_overlay.shader_c # game/core/shaders/tools_shading_complexity.shader_c # game/core/shaders/tools_solid.shader_c # game/core/shaders/tools_visualize_collision_mesh.shader_c # game/core/shaders/tools_wireframe.shader_c # game/core/shaders/ui.shader_c # game/core/shaders/visualize_cloth.shader_c # game/core/shaders/visualize_nav.shader_c # game/core/shaders/visualize_physics.shader_c # game/core/shaders/vr_tools_shading_complexity.shader_c Build shaders
27 Days Ago
Update Facepunch.ActionGraphs to 1.9.15 * Fix exposed property deserialization regression Add some conditional [JsonIgnore]s to GameObjectReference Add warning if we got a reconnect message not from the host Deserialize GameObjectFlags.Hidden - Fixes saved hidden gameobjects not being restored with hidden flag Get rid of S_NON_DIRECTIONAL_DIFFUSE_LIGHTING, use g_bNonDirectionalDiffuseLighting attribute instead Dragging a prefab into an action graph creates a scene.ref node Fix scene.ref thumbnail for prefab references More informative / nicer display info for scene ref nodes https://files.facepunch.com/ziks/2025-01-14/QYoZj9M8T7.png Add analytic to SceneNetworkSystem.GetSnapshot Add Application.IsDedicatedServer Dedicated server performance analytics Launch sbdb with datacore Added GraphCompiler.RegisterFunction, allows you to create your own custom ShaderGraph nodes without modifying the base addon. Resolves Facepunch/sbox-issues#4141 Resolves Facepunch/sbox-issues#4389 Server Console Status Bar (#1770) Added Cut, Copy and Delete options when Right Clicking node(s). Resolves Facepunch/sbox-issues#4096 https://files.facepunch.com/CarsonKompon/2025/January/14_10-42-DotingLoon.png Added Paste Node(s) option when right clicking in ShaderGraph (only visible when nodes in your clipboard) Add Debug -> Log Last Compiled menu option to action graph editor Update Facepunch.ActionGraphs to 1.9.17 * Fix incorrect pure method call compilation with out parameters Clicking off from the Color Picker in ShaderGraph will no longer instantly re-open it. Resolves Facepunch/sbox-issues#5897 ShaderGraph will no longer completely error out it can't find a node, and will instead create a "Missing Node" which resolves itself once the node is found. Resolves Facepunch/sbox-issues#5805 https://files.facepunch.com/CarsonKompon/2025/January/14_11-56-FloralwhiteGrackle.png Don't rebuild the entire ShaderGraph UI when we hotload. Fix dedicated server on older terminals Some float skyboxes have negative color, don't sample negative values when doing GGX filtering https://files.facepunch.com/sampavlovic/1b1411b1/mspaint_YDO07zEdFf.png Add 'jump to code' asset inspector toolbar shortcut for custom resource types Swap dead wiki page link for docs url Use [IconName] for PrefabFile.MenuIcon Custom resource types will inherit custom editors of base types if they've not got one Can drag/drop files and folders onto path widget segments to copy/move there Add VertexLayout attributes to SimpleVertex Add Graphics.ResourceBarrierTransition that takes a before and after resource state, src and dst do actually matter Use proper grid-based background in all GraphViews by default (instead of just ActionGraph) Add option to toggle Grid-Aligned Wires in ShaderGraph Added OnPaint method to OneMinus ShaderNode for indicating node at a glance Added Icons to a few of the Binary nodes in ShaderGraph. Don't display icon in header since it's already drawn on the node itself. Added Icons to all the Texture, Transform, Noise, and Channel nodes in ShaderGraph Added OnPaint overrides to a few more common ShaderNodes so they are easier to read/understand https://files.facepunch.com/CarsonKompon/2025/January/14_15-12-ImmediateMartin.png Add Icons to the last of the ShaderNodes that have fitting icons Added [IconName] to EditorActionGraph.Icon Hide EditorActionGraph.CanModifyParameters Unbreak asset inspectors for some resource types, resolves Facepunch/sbox-issues#7382 Make the Step property affect the sliders within ShaderGraph. Resolves Facepunch/sbox-issues#3852 Get rid of string allocations in ComponentReference.Resolve() Graphics.ResourceBarrierTransition for non generic GpuBuffer Add Graphics.Draw that takes vertex and index gpu buffers Don't clamp Collider.Friction Add PlayerController.BrakePower - Player will stop instantly when direction input - Player will reach max walk/run/duck speeds - Player will slow down quickly when switching from run to walk etc Compiler: copy references from CodeArchive Was causing assemblies to be loaded in the wrong order when joining a server, so old versions of assemblies would be referenced. Fixes Facepunch/sbox-issues#7317 Add test for Compiler.CopyReferencesFromArchive Facepunch/sbox-issues#7317 Update Facepunch.ActionGraphs to 1.9.18 * Fix switch node regression with mixed async case bodies Add Collider.IsDynamic PlayerController doesn't slip down slopes when standing still Tweak ladder movement code, more grippy, faster Add PlayerController.UseLookControls and PitchClamp and LookSensitivity Keep dedicated server alive when reloading a game. Allow managed to decide if a connection should be accepted. Improve auto-retry. Added net_dump_objects command to print all networked object names to console Hide a dedicated server from the server list when disconnecting - re-enable it when a lobby is created again Up TEXTURE_COMPILER_VERSION_MIP_GGXCUBEMAPBLUR version ( Negative cubemap color check ) No need to log that we can't find sound event if we're headless - we won't be playing any sounds anyway Remove DebugOverlay.Sphere in PlayerController Add OnParticleDestroyed to ParticleController Fix network thread choking itself out if no network system Unconnected ShaderGraph inputs with a default value will now draw the default directly on the plug. Can specify default properties with BaseNode.InputDefault. https://files.facepunch.com/CarsonKompon/2025/January/15_12-07-TrustingSeaslug.png More ShaderNode improvements - Exposed InputDefault to all nodes that needed it - Fixed icon drawing on a few Binary nodes - Added color pickers to Blend node - Can now specify certain default values without a connecting node for Remap, Lerp, Apply TRS and Smooth Step nodes - Fix incorrect input types on a few nodes Don't try to play voice on dedicated server Add player count to DedicatedStatus Add extra info to snapshot analytic Rename SceneNetworkSystem.LoadScene to LoadSceneBroadcast Remove Nav_WaitBuild, make it a LoadingTask instead - there's no reason this should be special Fix fov in settings not working Print in console when client connects/disconnects When running commands from command line, enclose args in quotes so they aren't split again by spaces internally (Fixes Facepunch/sbox-issues#7388) Material.FromShader uses path and not just name - allows shaders of same name in different folders Delta snapshot improvements. Fixed a bug where it was possible for a snapshot ack to be ignored - should fix a rare and difficult to reproduce bug where sync vars can become stuck Fix failing to start game if VRSystem returns nullptr for extensions Improve CommandLine parser. Added CommandLineTest. Some backwards compat Update test Additional cmd line fix and extra test TrimQuoted... Do the same when setting var VR: More stuttering-related fixes, don't alloc joint data every frame VR: Improved main menu scene VR: Only create debug callback if `-vrdebug` is specified as a launch parameter When loading ShaderGraphs and a connected property cannot be found, check for [Alias] attributes. This will resolve issues where loading old ShaderGraphs would look for old variable names. Facepunch/sbox-issues#5822 Added [Alias] to Combine node since its output was renamed at some point Add Context Menu to Asset Browser Path Segments. Resolves Facepunch/sbox-issues#7391 https://files.facepunch.com/CarsonKompon/2025/January/16_10-33-GreedyQuahog.png Fix Asset Browser Forward Button enabling/disabling based on the Back Button instead of itself. Fixed connecting/connect rejection messages not using correct Name/SteamId Disable PathWidget "Copy Relative Path" if the path is not within the Project's Assets folder, just like files/assets. Humans: improved Run_N_m When publishing an asset with IncludeSourceFiles, seek the asset and its dependencies for input dependencies (should include animgraph animations, texture source files) Fixed p2p lobby clients not being able to connect to lobbies LobbyConfig.HideInServerList would let you hide a lobby from appearing in any server lists in s&box but still queryable with QueryLobbies Fix IsHidden support Filter in the query HideInServerList -> Hidden User perms config Allow Json comments Add default users.json file and change structure of config Don't ignore game/config/users.json because we want to keep the default with comments Return true in Connection.HasPermission if the connection is the host. We'll check user permissions from the config file for connections to a dedicated server. Remove some test logs and make HasPermission available Automatically hotload user permissions if users.json is edited while the server is running - can change or add permissions without restarting the server Rebuild content Rebuild shaders Don't reset the menu environment when you quit a game, so you're on the same page Allow TryJoinLobby to be called only once at a time Disable play button when joining a game, so we can't keep pressing it Fix disconnect message showing "Unknown Player" Editor: Launch dedicated server option (we probably want some way to join it from editor?) Don't "step down" when on a dynamic physics object (let physics work) Stomp z velocity when stepping down Stomp z velocity when stepping up Amend MoveMode.IsStandableSurace typo, though I can't Obsolete the old one without an error Materials store the shader version they were compiled against, added Source( ShaderVersion ) for shaders to query what the current material was compiled against for backwards compatability Blendable: Use hemi octahedron encoded normals same as complex for better quality, remove a redundant texture lookup per layer, remove the 5th unused blend layer because wtf https://files.facepunch.com/matt/1b1811b1/mspaint_qIv6MYpn8Y.png Don't try to auto-switch hosts if LobbyConfig.DestroyWhenHostLeaves is true. If that's true, we should only ever have the same host.. Delete ResourceConverterFactory, ResourceJsonConvert safe to pick to main Add TypeLibrary.Current Add TypeLibrary.Current Remove hacky Scene.IsWaitingForLoad Give NavMesh a proper place to generate during loading (after everything is loaded) KeyValuesToJson Add Material.Shader Add TypeLibrary.CreateProperty, Obsolete SerializedProperty.Create TypeLibrary.CreateProperty takes attributes - allowing further customization Make ParseToJsonObject public Add Asset.SetInMemoryReplacement, ClearInMemoryReplacement Pass on description, title, source info to property Widget.Parent checks for valid Fix warnings Scene loading only happens once Revert "Widget.Parent checks for valid" This reverts commit 0da86010868490ff4bbe0b0cb524e5a5fcbb0bf7. Run pending component starts at the end of loading, before host joins game Fix crash in unit test when creating SoundStream Push time scope when calling pending starts Humans/animgraph: added Sprint_N (+ temp derived NE/NW) Humans: small tweak to Sprint_N + export the copy of the graph assigned to Humans Refactor GameObject serialization tests a little A couple of object cloning edge case tests CloneActionGraphProperty test Add CloneActionGraphSceneReference test Possible fix for fragile tests Restore old TypeLibrary at end of SerializeTest Move VR scene switcher logic into OnStart Add support for custom specialised asset pickers per-resource type via AssetPickerAttribute Add SimplePicker, use for shaders until we get something better so that's not awful to use https://files.facepunch.com/solw/2025/January/20_13-12-GentlePinkriverdolphin.png Fixed a bug where calling GameObject.GetPrefab could network spawn game objects. Never network spawn game objects if its scene is a PrefabScene. Merge branch 'master' of sbox New Clothing - Headphones https://files.facepunch.com/daniel/1b2011b1/0OyFzoEgI6.png LODs and Human aswell CommandList.GetRenderTarget with SizeFactor, don't allocate DepthTexture for it since it's not being used anywhere yet Overlay is considered a game layer since it draws to color, fixes depth prepass for overlays, remove overlay prepass from renderpipeline_standard Optimze Pixmap.FromTexture (don't swizzle the format 3 times) 4096x4096 339ms -> 115ms 2048x2048 90ms -> 50ms 1024x1024 20ms -> 10ms Bottleneck is going to be the data read from GPU -> CPU, not much else to do Fixed an issue where FromHost sync vars could get stomped. Optimized delta snapshot updates - we no longer need to even try to process networked objects we don't own. Fixes Facepunch/sbox-issues#7261 Security check in snapshot processing - don't process snapshots we receive for an object if the source connection doesn't own it and isn't the host Force add compiled VR menu scene Stop "Create Sound Event" pranking people by opening to the wrong directory, resolves Facepunch/sbox-issues#7421 Move VRSceneSwitcher + add warning and move back to OnAwake, recompile main menu In VR, menu defaults to having VR tag enabled Added SoundscapeTrigger.Volume so you can control the volume of a Soundscape from the component Added more property/enum docs to SoundscapeTrigger and gave TriggerType entries [Icon] Vulkan 1.2 is minimum requirement, device support remains the same. We already required several extensions that are core in 1.2 such as descriptor indexing Shaders compiler uses scalar layout instead of std140/std430 layout (VK_EXT_scalar_block_layout is core in 1.2) This is a much less confusing layout for structures in HLSL, allowing for tighter packing and generally matching their C++/C# counter parts. e.g: ```hlsl struct T { float a_float; float3 b_float3; } ``` The size of struct T was previously 32 bytes with GL layout and is now 16 bytes. The offset of b_float3 was previously 16 bytes and is now 4 bytes with scalar layout. More info on rules (previously GL, new Scalar) microsoft/DirectXShaderCompiler/blob/main/docs/SPIR-V.rst#memory-layout-rules https://maraneshi.github.io/HLSL-ConstantBufferLayoutVisualizer/ Reduce JSON usage in GameObject.Clone (#1781) We no longer converts the complete GameObject to and from JSON for cloning. JSON is only used as a last resort for complex properties we cannot clone directly. Should result in 1.5 to 3 times faster clones (depends on object size). Catch null typedescriptor when cloning Build shaders Revert "Catch null typedescriptor when cloning" This reverts commit 04c9f070c908428fd86eea9cbe8355e15aa069c5. Revert "Reduce JSON usage in GameObject.Clone (#1781)" This reverts commit 3975bc70bb23755766f1767725aab376864a5260. Enable vulkan 1.2 features (scalarBlockLayout, bda, descriptor indexing, etc.) instead of using all the extensions don't require everyone to have a raytracing capable gpu (: Don't try to use shaderFloat16 either since this is only avaliable on gtx1660+ Add clone tests to master Improvements to how delta snapshots are stored. Make sure we apply all snapshots so long as the last processed value for an entry has an older snapshot id. When dragging multiple GameObjects onto a ListControlWidget of Components, get the first component from each GameObject similarly to if we were to drag them each individually. FloatControlWidget keeps the drag delta intact, fixes janky drag on int controls Fixed Cloud Browser @installed tag not being filterable by query Removed unused from InputContext Added net_fakepacketloss ConVar for testing (0-100%). Fixed an issue where if a delta snapshot was received before an object was created on the client-side, it would remember the state wrongly. Fixed an issue with Network Refresh messages where, if arriving late, could overwrite Sync Vars with the wrong values Protocol++ Fix minor error Add test for cloning prefabs that contain a nested prefab instance which has a variable that references the outer prefabs root Bindless lightmaps/Lightmap Combo Removal (#1765) Multiply light cookie rgb by alpha Compile shaders Merge branch 'master' into improved-undo-system