252,990 Commits over 3,990 Days - 2.64cph!

15 Days Ago
Cherry-pick marking DamageTracker `public`
15 Days Ago
Mark DamageTracker `public` (third attempt 😤 )
15 Days Ago
Merge from swapover
15 Days Ago
enabled horse temp ragdolling - horse ragdolls with damage/sliding/airtime and will get back up (assuming it doesn't then die while ragdolling)
15 Days Ago
Lock FontManager cache when accessing Refactor Generated resources get weak cached in memory for re-use
15 Days Ago
Fixes, can mount static ballista
15 Days Ago
Changed how the No Sunlight flag was being set for environment volumes to fix an issue with material types
15 Days Ago
Mark DamageTracker `public` (again 🙄)
15 Days Ago
edited vm minicrossbow rotation curves on viewmodel prefab and updated wonky strings on strings pulled back idle
15 Days Ago
Mark DamageTracker `public`
15 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
15 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
15 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
15 Days Ago
▄▍█▅▆▋▅ ▌▊▆▍▊▋ ▄▊▆▆▋▅█
15 Days Ago
oil_drum meta
15 Days Ago
Added static ballista deployable, without the wheeled base (wip) Renamed ballista vehicle to "Mounted Ballista"
15 Days Ago
Removed Update Game Manifest (Fast) since it's bullshit Renamed Update Game Manifest to Update Game Manifest (Unoptimized)
15 Days Ago
Cherry-pick MemoryBlock, AllocatingMemoryBlock and DamageTracker to be used in FastDebugDraw
15 Days Ago
(Add) Pull out MemoryBlock, AllocatingMemoryBlock and DamageTracker into separate files so they can be reused. In a different directory this time, so Plastic may allow me to cherry-pick, please.
15 Days Ago
(Remove) Pull out MemoryBlock, AllocatingMemoryBlock and DamageTracker into separate files so they can be reused. In a different directory this time, so Plastic may allow me to cherry-pick, please.
15 Days Ago
added old critter models/materials for examples and cherry picked to updated main - branching off to critters2
15 Days Ago
recompiled oil_drum + oil_drum_explosive scale correction, sorry not sorry
15 Days Ago
FastDebugDraw WIP with fucking new files
15 Days Ago
Merge from main
15 Days Ago
Correct tiger push direction
15 Days Ago
Add Assets/Scripts/Rendering/Instancing/Indirect directory, hoping that Plastic shuts up about stupid directory conflicts
15 Days Ago
(Add) Pull out MemoryBlock, AllocatingMemoryBlock and DamageTracker into separate files so they can be reused by /main/fast_debug_draw
15 Days Ago
(Remove) Pull out MemoryBlock, AllocatingMemoryBlock and DamageTracker into separate files so they can be reused by /main/fast_debug_draw
15 Days Ago
Battering ram back door effects Added a new layer for visual wheels, we were using the server layer Vehicle World instead of Vehicle Detailed A visual wheel can't hit its owner colliders
15 Days Ago
Make sure it doesn't run in headless (errors out on dedicated server)
15 Days Ago
Expose Application.ShutdownUnitTest() Throws if not currently running a unit test
15 Days Ago
If we have any command line arguments from the Steam client (sbox.game -rungame), parse it via ISteamApps.GetLaunchCommandLine
15 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
15 Days Ago
merge from primitive
15 Days Ago
- Ballista Mount blockout
15 Days Ago
Catapult ammo stacks to 4 Catapult explosive ammo damage reduction - back to 4 hits to break stone walls Catapult explosive ammo cost reduction Subject to change pending further testing
15 Days Ago
Square radiator mesh update
15 Days Ago
exported updated tiger tree test anims
15 Days Ago
Rust.cs formatting
15 Days Ago
▍▄▉▇▄▅▄ ▇▇▆▄▉ ▅▍▋ ▇▍ ▍█▍▉█▌▄▊▅ █▅▉▉▋ ▄▋▇▍ ▆▋▊▆▉▇ ▍▌▊▉▇▍▌ (!)
15 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
15 Days Ago
Merge from primitive_gm
15 Days Ago
Clean up
15 Days Ago
ScriptableWorldConfig are now inside a Resources folder and loaded with Resources.LoadAll The problem in the original implementation is that it would have needed explicit bundle assignment, as nothing was referencing those assets in order to pull them into a bundle, this feels more robust and mirrors what we do in other places (like GameModeManifest)
15 Days Ago
Merge from primitive
15 Days Ago
Hopefully fix shields in a build
15 Days Ago
Added TweakGraphicsPresetsUI as a derived class of TweakUIPresetSelect to allow for more specific code. Reapplied config.
15 Days Ago
OnPlayerKilledPlayer validation Fixed warnings in HornetGunWeapon
15 Days Ago
- LODs adjustments and bolt fix
15 Days Ago
Removed generate_oil_rigs convars since it was added to the wrong script (PlaceMonuments vs. PlaceMonumentsOffshore)