255,146 Commits over 3,990 Days - 2.66cph!

6 Minutes Ago
Remove IO from workbench tech trees
25 Minutes Ago
Standalone: don't export citizen addon separately (we already work out which assets we need) Standalone: skip Sentry Load startup backgrounds from vtex Standalone: can pick custom startup image Standalone: Custom icon support Standalone: Don't set icon/splash screen if not specified Editor: add non-collapsable group widget Standalone: make initial wizard page more bearable Add EditorUtility.TranslateString Localize some of the menu Add localization.build command Menu localization Use BC7 for default material input, higher precision than DXT5, this whole material input stuff feels like bogus now Make sure we don't composite SSAO/SSR to glass, this can handled better https://files.facepunch.com/sampavlovic/1b2911b1/rcWAoleK3t.png GrabFrameTexture/GrabDepthTexture returns grabbed render target instead of void Mode fallback / VrForward > Forward (#1805) * Add Mode fallback, used for both using Depth() as a fallback if shader doesn't have DepthNormal() and to move VrForward() to just Forward() * VrForward > Forward, reverse fallback so that old shaders with VrForward use that still * Remove duplicate Forward() and remove DepthNormal fallback * Put mode fallbacks on materialsystem init instead of gameinfo Update shaders Fix implicit truncation Improve AppendComponentsFromMesh PlayerController - halve automatic duck animation distance SvgTextureGenerator can scale, offset and rotate Protect AssetEntry from file not existing Don't try to create a gizmo scope if no active instance Switch "Unable to create world for map" to a warning Fix NRE in VrHand.UpdatePose Fix JsonException in HammerSession.OnPaste Remove a bunch of stuff from Facepunch.Steamworks (we should try to delete all of this) Add assert to diagnose "Can't parent to a gameobject in a different scene" Add Plane.IntersectLine Only allow vertices to be connected if the line between vertices is inside face https://files.facepunch.com/layla/1b3011b1/sbox-dev_yFepkU8mgI.mp4 Fix typo in this summary Reorder edge operations to match hammers Add combine faces operation https://files.facepunch.com/layla/1b3011b1/sbox-dev_ydJIifDVMg.mp4 Fixed an instance where an editor lobby could be public even when it's set to private in the editor. This could have happened if CreateLobby was called with Privacy = LobbyPrivacy.Public - now the editor option will dictate the privacy of all editor lobbies. Fixed an issue where performing a network refresh might not synchronize the tags with the owner's version of the object. Fixes Facepunch/sbox-issues#7301 Double max string table snapshot entry size from 4mb to 8mb (Fixes Facepunch/sbox-issues#7250) SyncFlags.Interpolate (#1789) MapInstance: use InvokeWithWarning() for loaded / unloaded actions Fixes SBOX-2WM2 Fixes SBOX-2X2S Fix assert to diagnose "Can't parent to a gameobject in a different scene" breaking if Components ToString is overwritten Fixed network info being incorrect / unset in OnNetworkSpawn callbacks because _net is not set yet. Fixes (Facepunch/sbox-issues#6447) Fix sphere trace returning incorrect HitPosition when using SceneTrace.RunAll() Hook up Sound.Play delay parameter AssetPreviewWidget builds dynamic layout, passes parent widget correctly Add SoundPlayer, use as preview widget for sound files https://files.facepunch.com/solw/2025/January/30_11-51-FarflungUrubu.png PreviewSound automatically plays from 0,0 Remove opaque automatic sound playback from AssetList Rework anim parameter inspector to emit changed events (#1812) Standalone: core file whitelist, reduces minimal export size by 300MB (1.2GB -> 800MB) https://files.facepunch.com/alexguthrie/1b3011b1/WizTree64_hoaOoWymnw.png Standalone: move stuff over to whitelist system, remove EnabledAddons (we only have `base` now) Standalone: export presets https://files.facepunch.com/alexguthrie/1b3011b1/sbox-dev_zi12A4W7uN.mp4 Fix NavMeshAreas not linking to their collider correctly if deserialized in the "wrong" order Standalone: build page shows failures and progress more clearly, don't auto advance so we can see what's fucking up https://files.facepunch.com/alexguthrie/1b3011b1/sbox-dev_1Nb5BFbmtw.png Fix NavAgent ground trace for MapColliders (Run two traces instead of one trace with RunAll) New Outfit piece - Wind Breaker https://files.facepunch.com/daniel/1b3111b1/Screenshot%202025-01-31%20001512.png https://files.facepunch.com/daniel/1b3111b1/Screenshot%202025-01-31%20001151.png Make light cookie in texture in light desc a strong copyable so it doesn't get yanked out from under us. Cache light cookie texture in light scene object for good measure. Avoid TypeLibrary for component creation during cloning Cache member list of cloneable properties (-> 2 times faster clone) Cache property list for CheckRequireComponent (another 2x improvement in clone) Tiny optimization in GameObject.MakeNameUnique Fix property filter for cloning & Fix NRE in CheckRequiredComponents Add support for custom I16F color format, a generic grayscale 16-bpp float texture, unlike R16F it'll sample all channels to gray (#1813) Optimize Network.RegisterProperties by caching reflection data (#1815) Refactor parts of CloneHelpers into a ReflectionQueryCache Can now move the handle on grid-aligned wires properly in ShaderGraph. Resolves Facepunch/sbox-issues#7474 GraphCompiler will now detect circular references and present an error instead of hard crashing. Resolves Facepunch/sbox-issues#7470 https://files.facepunch.com/CarsonKompon/2025/January/31_10-42-HurtfulPig.mp4 Clicking and Dragging a PlugIn will allow you to easily re-plug it instead of trying dragging out another input when it can only have one. Works in ShaderGraph + ActionGraph. Resolves #1525 https://files.facepunch.com/CarsonKompon/2025/January/31_11-34-EachSnowyowl.mp4 Remove unused function in Connection Use ReflectionQueryCache in Component Serialization Asset Browser no longer deletes a folder when renaming it to the same thing. Also allows you to rename the folder to the same name with different capitalization. Resolves Facepunch/sbox-issues#7464 Prevent Reroute Nodes from creating circular reference errors where none existed ShaderGraph Reroute Nodes now preserve the input type correctly. Resolves Facepunch/sbox-issues#7466 Optimize ComponentList.GetAll by getting rid of LINQ The combination of recursion and LINQ allocated a lot of garbage in GetAll, this would result in a heap reallocation during many GetAll calls. Removing LINQ yielded a nice performance improvement. Getting rid of the recursion gives another tiny performance improvement, but not big enough to justify the reduction in code readability. I can not show results directly for ComponentList.GetAll, because the function executes too fast after the optimization and is no longer captured by the sample profiler. But here are the improvements for PhysiscsWorld.OnIntersection, which makes heavy use of ComponentList.GetAll internally via InvokeListeners<T>(). Before: Function Name: Sandbox.PhysicsWorld.OnIntersection Number of Functions: 2907 Total time: 9s 406ms 99µs Maximum: 11ms 86µs Top Quartile: 3ms 848µs Average: 3ms 235µs Median: 3ms 176µs Bottom Quartile: 2ms 684µs Minimum: 20µs After: Function Name: Sandbox.PhysicsWorld.OnIntersection Number of Functions: 2779 Total time: 3s 661ms 358µs Maximum: 6ms 971µs Top Quartile: 1ms 552µs Average: 1ms 317µs Median: 1ms 220µs Bottom Quartile: 975µs Minimum: 19µs Related to sbox-deathmatch/issues/104 Catch type library returning null, event if it really shouldn't return null in the first place. Related: sbox-issues/issues/7496 Skip hotload for DtNode, hopefully fixes issue when hotreloading while navmesh query is in progress. Add viewport option to toggle default prefab lighting https://files.facepunch.com/lolleko/2025/February/02_20-07-ConsciousCormorant.mp4 sbox-issues/issues/5527 MapInstance also reloads the map on Hammer compile when it prev. failed to load Menu: Add slider and input limits to Field of View option, resolves Facepunch/sbox-issues#7501 Fixed ui_dropshadow shader appearing transparent at 1px blur and drop shadow not rendering at 0px blur. Resolves Facepunch/sbox-issues#7438 Fix breaking from prefab not refreshing editor selection Fixes sbox-issues/issues/7502 Add vertex merge operation https://files.facepunch.com/layla/1b0311b1/sbox-dev_9rg7HaFZHm.mp4 Add shortcut for vertex merge Fix drop-shadow css filter appearing cutoff at 0px blur Forgot to save last change before commit 🤦 Allow mesh trace to request face cull, none, front, back Trace front and back of scene meshes when selecting https://files.facepunch.com/layla/1b0311b1/sbox-dev_eewaDMTxLk.mp4 Add editor preference for backface selection, default to true because it's likely to be more desirable Only draw vertices in vertex tool Fix vertex merging from multiple meshes, all other meshes get merged into the first Support multi open edge extrude using edge extend until edge bevel is added (bevel is needed for closed edge extrude) https://files.facepunch.com/layla/1b0311b1/sbox-dev_v10zWWneqA.mp4 Enable no cull on face hover material to see selected backfaces https://files.facepunch.com/layla/1b0311b1/sbox-dev_xA8GKNxwIK.png Dispatch edit event when changing SkinnedModelRenderer.Sequence Fix incorrect bounds on Gizmo.Draw.Sprite Added Object property to WrappedMethod<T> (Fixes Facepunch/sbox-issues#7497) Fixed Show Interpolation Debug not being able to be toggled in the UI. If a ConVar value is a boolean, use its integer form. Fixes Facepunch/sbox-issues#7503 ActionGraph: add warning frame for graphs that can't be saved Fix case where empty editor scene is opened Fixes Facepunch/sbox-issues#7026 Added Show Hitbox Debug option in Debugging Menu in the editor. debug_hitbox ConVar. Can debug hitboxes in the editor or in-game similar to Show Interpolation Debug. Fixes Facepunch/sbox-issues#7505 Update mouse capture position if we get new absolute pos while locked (eg when unfocused, tabbed) Keeps cursor position predictable/reliable, stops occasional out of date position being restored and yeeting my mouse across the screen Only SetCursorPosition while engine window's got mouse focus, prevents unwanted movement in editor Add bitmap loader for IES files, treat them as images Do InputRouter::OnWindowActive based on engine window (not app) focus, fixes click-to-focus going thru as an input and shooting or whatever IES should be using RgbaF16 to avoid banding Default WindowedLocalInstances preference to true Remove logic to migrate from old project cookie, editor layout locations Fix default layout raising cloud browser, do asset browser instead Invert Ladder climbing controls when looking down (just like half-life) Fixed previous Show Hitbox Debug displaying BBox hitboxes in the wrong place Standalone: projects that only have the VR control mode enabled should automatically launch in VR, otherwise default to using the `-vr` launch param Moved DirectoryMetadata from Project Cookies to Project Config folder. Metadata is only saved when changes are made instead of saving a bunch of default values that are identical. If folder metadata isn't found, check ProjectCookie for legacy data Make ResourceLibrary work for all Resources - meaning we can network resource references Revert sbox/commit/11b227aac0ff5e756beae0ced2410445b1270c70, it's causing hammer objects to duplicate for remote clients over the network Gpu decals point towards forward and not left 🤦 Fix Gpu Decals normals not transforming to world space New decal component - https://sbox.game/dev/doc/reference/components/decals/ Add missing shader include Build shaders Decal: Update transform when dirty too Fixes Facepunch/sbox-issues#7518 Add thumb to published workshop clothing Fixed issue with calling RPCs from within RPCs when using HostOnly / permissions and Caller not being set correctly. Fixes Facepunch/sbox-issues#7452 Make use of the return type of Scene.Load and return false if SceneLoadOptions has no valid scene set Calling Network.AssignOwnership with a null connection will pass empty guid instead of throwing NRE Standalone: Separate operations up into build steps & sort Standalone: ignore dxcompiler Shader Graph Functions (Sub-Graphs) (#1806) - Adds a new Asset type with `.shdrfunc` extension. - Shader Functions do not have the "Material" node as their final output node. Instead they have a "Result" node which has a variable amount of inputs defined by the user - You can change the preview type of a Function Output so the value can be previewed while working on it - Dragging a `.shdrfunc` file into a Shader Graph (or a subgraph) will create the subgraph node - When "Add To Node Library" is set to `true` on a Shader Function it will be added to the Right Click -> Create menu - Double Clicking on a Shader Function Node will open the Shader Function - GraphCompiler now keeps track of the current Subgraph stack when compiling the preview and the output code, fully supports subgraphs within subgraphs. - Constant nodes now have a "Preview" input when you're in a Shader Function - Can Right Click -> Create Custom Node with a bunch of nodes already selected to instantly create a Shader Function. Will automatically create all the input parameters and result outputs. - Texture Parameters/Attributes are fed the whole way up from each nested subgraph since you cannot define a default texture in the `.shader` file. - Subgraph Nodes are now colour-coded Green and Result nodes are now colour-coded Blue https://files.facepunch.com/CarsonKompon/2025/January/28_18-05-OddAsiantrumpetfish.mp4 Require DropOwnership() to clear owner instead, document exception Remove Parameter.GetDefaultValue() and grab the current value as the default value Fix Default Color Editor in Subgraph Node Properties Subgraph Node ColorEditors are now bound to the defaults properly Add [SkipHotload] to RcSortedQueue comparator Simple AssetPicker displays Cloud Assets in a separate tab by default (with the option to combine them like it used to be). Show Cloud Assets is set to true by default so you can set Cloud Assets for anything called from native (like material/modeldoc) https://files.facepunch.com/CarsonKompon/2025/February/05_16-10-CoarseTasmaniandevil.mp4 We aren't using m_pTransformBufferPrevData and probably won't need to with compute transforms, also remove m_hTransformTexture which has been deprecated for years Allow texture asset type to be dragged into texture image control Default texture generator to empty image file for null texture properties instead of showing vtex resource control Add "list_sound_handles" console command To help investigate Facepunch/sbox-issues#7450 Warn if the mixing thread is choking https://files.facepunch.com/ziks/2025-02-06/sbox-dev_0l4IVOqJgB.mp4 Facepunch/sbox-issues#7450 Example networking test for asserting certain message types Some safety around ResourceLibrary.Unregister Resources get unregistered in their finalizer, so this race condition could have happened: 1. Resources are loaded 2. Resource library gets cleared 3. Resources are loaded again 4. Old resources get GC'd, remove new resources from ResourceIndex Fix warning when using AssetSystem.CreateResource Remove TypeKey from EditorShortcuts and use Type instead of string as key. EditorShortcuts will now resolve shortcuts in parent classes. Resolves Facepunch/sbox-issues#7531 Remove some logs Standalone: we might need this DLL actually 🙈 Dispose SoundStream in VoiceComponent when finished. Facepunch/sbox-issues#7450 First person: move FireModeSelectAnim weightlists into prefabs Decals gradient uv scales off the proper axis (stops mipmapping way too soon) Delete unused (or should be unused) shaders * ui * ui_texture_on_model * visualize_cloth * visualize_nav * visualize_physics * blur * unlit (ui shader) Deleted unused non-compute gaussian blur shader Delete pre SM4/DX10 compatability code Don't try to disable these shader warnings Revert commit a6f4d1d0dcdda5da45be89b9ece67c21f18e9901 for now since that wasn't the correct solution Another potential VoiceComponent fix for Facepunch/sbox-issues#7450 Unused materials using those unused shaders ActionGraph: don't try to set { init; } properties Fixes Facepunch/sbox-issues#7533 ActionGraph: fixed not being able to save expression delegates Capture SceneEditorSession in SceneUndoSnapshot Avoid relying on static SceneEditorSession.Active having the correct value Add missing Scene.Push() in GameObjectInspector Fixes Facepunch/sbox-issues#7517 Spline Class (#1817) General purpose spline class for 3D. Uses a composite 3D cubic Bezier curve under the hood. Shape and behavior of the spline are controlled through points and handles. Two consecutive points and their handles define one segment/curve of the spline. The spline can be turned into a loop (Beziergon), which combined with linear handles can also be used to create a polygon. Splines are useful for animations, camera movements, marking areas, or procedural geometry generation. Some minor spline tweaks I forgot to backport from scenestaging Disable mixer thread choking warning for now TODO: find out how long each voice takes to mix, and let you print that on demand Base shaders: stop using macros for texture creation + sampling, use standard HLSL syntax Core shaders: stop using macros for texture creation + sampling Build shaders yuv_resolve.shader should use explicit register positions (it's sampler was never being properly bound!!) Standalone: better widgets for branding - can't figure out how to lay these out nicely right now though https://files.facepunch.com/alexguthrie/1b0711b1/sbox-dev_WR7bhtL8E4.png Standalone: make it clearer when we've finished an export Fix edge case for nav agent ground trace Properly simulate deceleration for nav agents New logic also tries to decelerate them as fast as possible Don't try to apply PositionOffset during PS phase in GraphCompiler Dragging an image into a ShaderGraph will automatically create a Texture2D node. Resolves Facepunch/sbox-issues#7547 SubgraphNode now instantly hotloads inputs/outputs on recompile of the references subgraph. Resolves Facepunch/sbox-issues#7526 Fade out Node Graph grid when zoomed out far enough. Resolves Facepunch/sbox-issues#7486 Automatically break prefab instances if part of the instance is reparented to another game object. A warning is emitted when this happens. Citizen/humans: couple of minor fixes (sprint input framerates, noclip start delta fix on humans) Add bevel operation, limited to single segment until UI is made for bevel editing properties https://files.facepunch.com/layla/1b0811b1/sbox-dev_BPEXB8kFgB.mp4 Align to grid new faces from bevel operation Always refresh PrefabCacheScenes PostLoad even if the prefab didn't change. Ensures types of older assemblies are refreshed. Should fix issue where TypeLibrary.GetType() would return null when reconnecting to a server. The root of the issue was that typelibrary got refreshed on reconnect while the prefabcachescenes were not. Fix scene hierarchy right click (context menu) delay Support closed edge extrude by using edge bevel https://files.facepunch.com/layla/1b0811b1/sbox-dev_7P5yqZDDwU.mp4 Restore accidentally deleted CreateTexture2D macros.. for now restore ui shader which was blitting text Delete some more shit resourcemanifests Fix bloom blur using wrong sampler causing bleeding over edges Network options on a GameObject where the GameObject is a prefab instance will only be serialized if the values differ from the prefabs. When loading a prefab instance as a GameObject from a Hammer scene, find the correct network mode. This fixes an issue where if a prefab is added via Hammer, but later the prefab's network mode or something changes, the new default wouldn't be used when loading the map. It'll still use the one the map was serialized with. Unused SceneView methods Remove ISceneView::AddSceneObjectToRenderList ISceneView::GetWorldToRender & related return ISceneWorld not CSceneWorld Add CommandList.Set( StringToken, Texture ) Dispose of AssetPreviews after we've rendered their thumbnail. PreviewScene.Dispose destroys it's Scene Don't return a new list each light gather, reuse the already allocated memory Improve delta snapshot system by dynamically increasing and reducing stored sent snapshot cluster size to ensure we give ample time for an ack - these could get lost of we send a lot of clusters per second. Another improvement is to predict last receive snapshot data and assume they will go through, optimizing by not sending the same value 50 times a second - if not ACK'd in time, we'll clear the prediction and send again. I'm seeing good results on TTT where the host goes from sending 1mb/s to ~18-30kb/s with one connected client in some cases. Add SteamEnums.RecvMaxMessageSize and SteamEnums.RecvBufferMessages. Set these values in bootstrap to higher values. Add [JsonIgnore] to anything that would cause recursion during serialization in EditorTool Fix DOF erroring on non-msaa vfx_vulkan: SV_ViewID is a built in semantic Update CSceneSystem::SubmitDisplayListsForView removing multi-submit VR junk vulkan: unfuck image views for cube textures Shaders compile for shader model 6.1 ShaderGraph result node only shows the inputs that are actually used for the current Shading Model/Domain https://files.facepunch.com/CarsonKompon/2025/February/10_11-10-LightskyblueRabbit.mp4 Don't serialize NodeInput.Subgraph since the field is only needed during the compilation process. Fix connections to Result node not always serializing in ShaderGraph Use correct PropertyInfo when generating Result inputs Use DisplayName for DisplayInfo in Result node Make SpringDamp / SmoothDamp frame rate independent Fixes #1819 Revert "Make SpringDamp / SmoothDamp frame rate independent" Breaks some games, looking into it now. This reverts commit 825f6120d224d04fce8298534c83d14b2a32bdc5. Update trace solver to latest Fix bug in mesh cast shape causing incorrect capsule vs mesh casting https://files.facepunch.com/layla/1b1211b1/sbox-dev_a7oytZSV2E.mp4 Fix unreliable rigidbody transforming with position editor tool Lower snapshot cluster size and use smaller types for their ids Move gameobject creation for empty/new prefabs into the correct scene scope Should avoid the GO being created in the wrong scene. Related: sbox-issues/issues/7602 Mac/Linux build scripts Mac: Add Makefile for VPC so we can actually build it without actually having vpc Rename some IOSALL flags to just PLATFORM_APPLE, we always imply arm64 SDL_config doesnt always imply windows Update gitignore Mac: Managed Build Scripts, no need for nvpatch for non-windows targets Use Unix trailing paths for codegen Revert "Use Unix trailing paths for codegen" This reverts commit eb86cb41a20dc2d3b57a0b5a67b2be5563d4d513. Fix Model.GetVertices not getting vertices from all vertex buffers of a render mesh Readd IndirectLightScale property to lighting entities for enhanced control over light bounce brightness, values beyond 1.0f are not energy conserving https://files.facepunch.com/sampavlovic/1b1311b1/sbox-dev_6TJvtGnbXi.png Teddy Bear Costume Lods and Skinned, Both Citizen and Human versions. Initial push .clothing files Teddy Bear trousers adjustments Adding missing tail Teddy Bear costume folder adjustments and .clothing file setup Make SpringDamp / SmoothDamp frame rate independent Fixes #1819 Add spring damper tests, attach a plot .svg if a test fails https://files.facepunch.com/ziks/2025-02-13/spring_2Hz_0.5.svg Fix dragging rigid body speed regression https://files.facepunch.com/ziks/2025-02-13/sbox-dev_Nb6mf1LlfE.mp4 Use fixed smooth time here too Fix warning in SpringDamperTest Split cmd and args input by space, don't prematurely de-quote args, resolves Facepunch/sbox-issues#7611 LOD and texture fixes to Teddy Bear Restore Vector3.SmoothDamp to previous function This comment doesn't apply any more Remove built in Vox resource, some games want to use vox files as is without compiling them, it should be up to games if they want to make these a resource Update Sweeper sample project Fix stupid mistake causing odd number segmented bevel to not work Add temp bevel properties until a bevel tool is made for it Only show vertex merge distance in fixed range mode Tests reproducing #1826 #nullable enable in DefaultUpgrader More robust type hierarchy matching in default upgrader Fixes #1826 https://files.facepunch.com/ziks/2025-02-14/explorer_7llmQXMW5F.mp4 Don't allow parenting to prefab instances via scenetree Play error sound when drop operation fails. Fixes sbox-issues/issues/7628 .Clothing adjustments Fix trigger events getting fired from non triggers and support collider trigger actions on triggers attached to rigidbody https://files.facepunch.com/layla/1b1411b1/sbox-dev_Kvu2LJyZis.mp4 MorphControlWidget: dispatch edited events, randomize L and R Add "No Source" asset tag for compiled assets without source files, resolves Facepunch/sbox-issues#7606 Set Project.Current as soon as it's active Add "Published" asset tag for assets that've been enabled for publishing, Facepunch/sbox-issues#7604 Asset Browser: Tag filter chips will show highlighted when active, and let you disable them https://files.facepunch.com/solw/2025/February/14_18-14-CheapOstrich.png Asset Browser: Get tag filters via the search widget working until we replace this with something better Handle quoted args properly when setting convar values, resolves Facepunch/sbox-issues#7633 Color texture generator only creates hdr texture if the color is hdr Add flip all faces operation (called flip normals in hammer) https://files.facepunch.com/layla/1b1411b1/sbox-dev_HtJS8ZTxOf.mp4 Fix topology getting fucked when flipping faces Add CurrentSequence.PlaybackRate https://files.facepunch.com/layla/1b1411b1/sbox-dev_clmlfFgD6r.mp4 Feathering from legacy maps should point outwards rather than innards, still approximate with current behavior of world units Fix iterating modified collection when updating prefab instances Fix iterating modified collection when cloning components & gameobjects Scene editor, select outermost prefab instance when clicking on a nested prefab instance Remove old undo system (#1824) Removes all the private members/method related to the old undo system. Strips functionality from all public methods, but holds on to the public method stubs, so we don't completely break older editor tools. Older tools will still compile but their undo/redo won't do anything anymore. Fix being able to select prefabinstance child objects when using box selection in scene editor Fix regression when cloning List of user defined classes that contain a member called "Prefab" Fixes sbox-issues/issues/7638 Fix undo for TagSet ControlWidget Add SkinnedModelRenderer.PlaybackRate to control playback speed of both animgraph and current sequence https://files.facepunch.com/layla/1b1511b1/sbox-dev_l0nWSJgZG3.mp4 Add summary Stop flagging scenes as unsaved when selecting game objects. Improve logic when determining which changes flag a scene as changed/unsaved Catch serialization errors when pasting game objects Fixes sbox-issues/issues/7645 Bevel tool https://files.facepunch.com/layla/1b1611b1/sbox-dev_raW2VtEfbO.mp4 Hide transform widget for prefab root in the prefab editor for now. Related to sbox-issues/issues/7316 sbox-issues/issues/7577 sbox-issues/issues/6785 Hide transform gizmos for prefab root in the prefab editor for now. FPArms: add Reduce_WeaponRoot_50 weightlist Compute texture params from coordinates on new bevel faces to keep uvs intact Get rid of harmless assert if animation helper gets called on first frame with zero delta time Don't update animgraph instance with negative delta time, all it does is fuck up the elapsed time Add weld uvs operation for vertex and edge https://files.facepunch.com/layla/1b1711b1/sbox-dev_BcyFOAUTch.mp4 Box and Sphere colliders default size match default primitive model sizes Group mesh elements up front instead of doing it every operation Add bool Editor.WheelEvent.Accepted Standardise "Find in Asset Browser" and "Open File Location" option logic, create a browser if needed, raise tab into view Rename "Open File Location" to "Go to Location" so I stop confusing it with the one that opens it in explorer Don't call Component.OnPreRender on dedicated servers I'm gonna keep an eye on this - but you shouldn't be using this to do non-rendering logic Caught some missed cases of circular references hanging the editor in subgraphs. Resolves Facepunch/sbox-issues#7582 Update subgraph serialization to fit the new path usage Can now use multiple of the same subgraph with different values without it attempting to cache values from the other node of the same type. Also tracks nested nodes with their own cache so it's still optimized. LibraryDetail version now updates the ComboBox upon downloading a new version of the Library. Resolves Facepunch/sbox-issues#7669 Only download new/changed files when updating a Library, delete any that no longer exist, and download files in parallel. Use `FileWatch.SuppressWatchers` to prevent error spam while downloading library files. Remove duplicate nvpatch postbuild event Avoid using parallax for diffuse IBLs, it's causing issues with non-uniform scaled envmaps for minimal actual gains https://files.facepunch.com/sampavlovic/1b1711b1/SMr1GfypB3.png Add remove bad faces operation Add quad slice operation https://files.facepunch.com/layla/1b1811b1/sbox-dev_cT3NTDDdcH.mp4 Fix mesh resize undo Allow quad slice to set number of cuts Don't do terrain hit testing when gizmo selection is disabled Deselect mesh elements when clicking on nothing Shut down properly before reconnecting - ensure we've destroyed the scene etc GraphCompiler no longer throws error when multiple NodeErrors occur on the same node in Shadergraph Replace GraphCompiler.NodeStack with GraphCompiler.InputStack to prevent Circular Reference detection when a node is being re-referenced through a different input. Show progress (#/#) when downloading files in loading screen Added `ClothingContainer.PrefersHuman`. Switching to the human character on the Main Menu will toggle this option and save to your avatar. Fix the CloudBrowser infinite scrolling only working in List View. Fixed properties with AssetPathAttributes not opening the correct AssetPicker and not always loading the Cloud Browser tab. Resolves Facepunch/sbox-issues#7666 Add albedo absorption parameter to glass https://files.facepunch.com/sampavlovic/1b1811b1/GpgOqFCTvs.png Added negative (-) operator for Vector3Int. Resolves Facepunch/sbox-issues#7637 Added Vector3Int * Rotation operator. Resolves Facepunch/sbox-issues#7636 Added Search Bar to Editor Keybinds, moved Reset to Default outside of the scrollbox, and gave bind FixedWidth to prevent alignment issues. Resolves Facepunch/sbox-issues#7643 Editor Keybinds now have alternating background colors and improved margins https://files.facepunch.com/CarsonKompon/2025/February/18_17-10-ProbableHarrierhawk.mp4 CameraComponent.RenderToTexture needs to initialize rendering before rendering to texture - Fixes not being able to render to texture while in editor Build layout for texture on value change for TextureControlWidget, fixes control widget not being updated when texture property is set through code Fix stationary lights being treated as dynamic lights (#7667) Fix flickering shit on foliage by using conservative alphatest https://files.facepunch.com/sampavlovic/1b1811b1/JjzPJ3w0dN.png Revert build layout on value change, not the right way to do it Fix drop shadow tint not being consistent with CSS Box https://files.facepunch.com/sampavlovic/1b1811b1/0Mw5OMuyj4.png PolygonMesh serializes position and rotation so it can skip computing texture params from uvs on load Connection.GetUserData will now work for any client - not just the host. ConVars marked with ConVarFlags.UserInfo will update for all clients when changed. Updated ConnectionInfo string table to store values individually so when one changes it doesn't send the whole lot again. We can now include ping in the string table so that Connection.Ping should be correct even if you aren't the host Standalone: differentiate between failing to copy (e.g. no disk space) and not finding a file Standalone: locate code resources in non-core locations (e.g. addons/base), fixes a couple of missing files Standalone: tweak wizard layout to move all executable stuff together Standalone: clean up exporter code, move into its own folder Standalone: fix base assets path Standalone: remove IsDevelopmentBuild and Version, move VersionDate to BuildDate & make it implicit Add NodeResultType and new constructor for NodeResult that takes NodeResultType. Resolves Facepunch/sbox-issues#7684 VR: Fix toggling VR inside the editor after launch Track object messages and RPC stats and display the top 10 in the top left when net_debug is enabled Added CursorShape.Finger to DropdownControlWidget. Resolves Facepunch/sbox-issues#7681 Add CursorShape.Finger and hover effects to ControlSheetGroup Add Right Click -> Jump to Code for ToggleGroups. Resolves Facepunch/sbox-issues#7630 Added CodeEditor.CanOpenFile. Don't show "Jump to Code" on internal Components/Assets/Properties. Resolves Facepunch/sbox-issues#7579 Log a warning instead of throwing an exception when trying to send an RPC without being connected to a network session - it's harmless anyway and could happen with async tasks even after disconnecting Potential optimization in CreatePrefabObjectLookup This helps a bit when cloning larger prefabs, not sure how much it will reflect in our benchmarks, on my machine the gains were quite small. Include VertexPaintTintColor in trace vertex, fixes them not being included in baked props https://files.facepunch.com/layla/1b1911b1/sbox-dev_cpecr6gQeF.png Allow ScenePanel to render an actual scene https://files.facepunch.com/layla/1b2011b1/sbox-dev_S7gKWkGBre.mp4 Tweak LobbyCard to show additional member count instead of stacked lobby owner avatar, since we can't grab member list for a lobby without joining it currently GameLobbyGroup: order most full lobbies first Update first_person_arms_adjustments.vsubgrph GenerateMipMaps shouldn't generate mips smaller than 1x1 (which might happen on textures with weird dimensions, e.g. 3x3) UI: support border-radius shorthand transitions Subgraph outputs can be re-ordered based on the order of the list as well as a "Priority" property to override. Part of Facepunch/sbox-issues#7687 Priority value on IParameterNodes influence the order that inputs are created on Subgraph Nodes. Resolves Facepunch/sbox-issues#7687 Fix mesh component not rebuilding after undo Improved Asset Browser search, now space delineated and has subtractive filter. Resolves Facepunch/sbox-issues#7696 https://files.facepunch.com/CarsonKompon/2025/February/20_17-02-LinenTermite.mp4 Removed unreachable code, should pass tests now Fix toolsvis fucking alpha of existing translucent materials Fix light probe volumes being sampled in wrong color space, mainly made it's light index be wrong Resolve CloudAssetProvider paths when compiling archive on client Make baked light complexity only count indexed lights Update shaders Update services Fixed achievement popup not playing Listen for account changes and update, should fix having to restart to detect new orgs, or being deleted from org Server/Lobby Data, Hostname / ServerName Changes, etc (#1827) Exposes: * Networking.ServerName * Networking.MapName * Networking.SetData * Networking.GetData Remove unsused bind Fix NRE when doing menu_reload New map and game sort orders Don't rebuild mesh component if it's not active Compute uvs from params after scaling mesh Do more expensive undo for scale tool to capture potential component changes on scale Fix OnMapUpdated action not always being set, causing map to not hotload Fix m_bCaptureWithRenderDoc never being initialized and causing it to be captured infinitely (#1830) Don't close replace component menu on key press, fixes enter key not confirming selection Don't delete saved child game objects of map instance on map unload while in editor Pass number of dynamic lights in tile rather than all light counts, fixes Light::From() giving wrong results ( #7712 ) Dispatch edited events in Align Object(s) to View / Move To Grid Scroll scene hierarchy to GameObject when selecting it in scene Don't clone objects with NotSaved flag Fixes sbox-issues/issues/7710 Merge branch 'master' into navigation-links-cs
32 Minutes Ago
Don't clone objects with NotSaved flag Fixes sbox-issues/issues/7710
32 Minutes Ago
Fixed gauss worldmodel position
34 Minutes Ago
Scroll scene hierarchy to GameObject when selecting it in scene
34 Minutes Ago
Merge from /main
36 Minutes Ago
Merge from fast_debug_draw (remove permanently displayed debug sphere, whoops!)
37 Minutes Ago
Remove debug code
40 Minutes Ago
merge from crafting_update
43 Minutes Ago
Fixed hand grenade cooking not working because it was not host-authoritative, resolves #141
47 Minutes Ago
convar usage of excludelayers with triggerbase (default true)
51 Minutes Ago
network++
52 Minutes Ago
Increased nameplate size
1 Hour Ago
Merge from /main/fast_debug_draw
1 Hour Ago
Merge from /main
1 Hour Ago
merge from strobelight_limitflashing
1 Hour Ago
merge from fish_analytics
1 Hour Ago
█▄▅▇▇ ▇▊▉▋ ▇▄▇▅▇▉█_▅▋▊▉█▉_▌▉▄▍█▌▉_▌▄▋▉▅▊▉_▅▌▌
1 Hour Ago
Dispatch edited events in Align Object(s) to View / Move To Grid
1 Hour Ago
Added back the DLSS log and data path change for testing
1 Hour Ago
Merge from crafting_update
1 Hour Ago
Merge from main
1 Hour Ago
merge from garage_door_fixes_2
1 Hour Ago
▌▊▊▇▅▍ █▄▅█▇█▊▋▄▇ ▄▊█▉▋▆▍▌ ▉▋▅ ▋▅▌▅█ ▉▍▍▇▄▇▄▆▍ (▌▄▌▇ ▍▉ ▌▉▇ ▇ ▆▅-▊▊▉ ▊▌▋▇.. ▋▊▌▇▇▍▌▊▌▊)
2 Hours Ago
merge from explosionscripts/phase3
2 Hours Ago
merge from store_medieval_pack
2 Hours Ago
merge from store-bug-fixes
3 Hours Ago
▋█▌█▇ █▊▄▊ ▄█▆▍
5 Hours Ago
Leaderboard backup, run #17837
5 Hours Ago
Merge from crafting_update
5 Hours Ago
Merge from cookingv2 (new meat models)
5 Hours Ago
Revert w_food_pies guid, fixes pie NRE's
6 Hours Ago
Merge from meat_merge
Today
Merge from crafting_update
Today
Merge from cookingv2
Today
Updated icons for interaction prompts - chicken petting and hide/show growable UI
Today
Merge from crafting_update
Today
Merge from cookingv2
Today
Applied new chicken avatar, deleted old one
Today
Merge from chicken_update_avatars
Today
New chicken avatar images for death screen - includes all 3 material versions. Updated chicken AI prefab info with new avatar image.
Today
Merge from mapmerge_2503
Today
Maps for build
Today
Hooked up all of the new idle animations, use an animation shuffler like the horses Farm chickens now move less frequently, gives more time to play idle animations
Today
Pass number of dynamic lights in tile rather than all light counts, fixes Light::From() giving wrong results ( #7712 )
Today
Rebalance chicken coop need rates Add farmableanimal.simhours, applies the provided number of hours to all chickens within 10m (note that this won't simulate them eating/drinking, but just decays their needs like X hours have passed)
Today
Don't delete saved child game objects of map instance on map unload while in editor
Today
Merge from crafting_update
Today
Merge from media_projects