Shader functions can specify storage class (static) and specify inline without erroring now
Fix minor typo
Added Multiedit support to TagSets. Resolves Facepunch/sbox-issues#6882
https://files.facepunch.com/CarsonKompon/2024/December/05_10-10-LividGallowaycow.mp4
Rename TagSetControlWidget file name to match class name
Bindless shader API class
Use custom Qt styling/preferences in Launcher as well
Launcher: this is a sort not a filter so don't call it one
Move DefaultProjectLocation from editor cookie to launcher cookie, since we stopped saving that at some point
Fix project location label being squished
Be explicit AmbientOcclusion is ScreenSpaceAmbientOcclusion, attribute AmbientOcclusionIndex -> ScreenSpaceAmbientOcclusionTexture
GpuBuffer obsoletes ComputeBuffer to prevent confusion that it's compute exclusive
* Non templated version because sometimes your buffer will have various types
* Usage flags can be combined now, e.g a buffer can be used as an IndexBuffer but also ByteAddress for compute shader
* Added additional error checking, exposed readonly properties for count/size/usage
* Added CodeUpgrader for ComputeBuffer -> GpuBuffer
* Fix Terrain materials buffer overflowing its gpu buffer
Fix ssao shader include
Another fix what is this
Add Graphics.Draw from GpuBuffer<T>
vfx: remove unused HEADER { } carp
vfx: remove GetDefaultBlock which is randomly not used for any but MODES block, default modes = just Default() everything else is too magic bullshit
This seems bad
Citizen: disabled AO proxy nodes now that AO proxy support has been removed
Citizen/animgraph: reworked the skid parameters. Values are normalized. 'skid' (0,1) should now be only purely derived from 'skid_x' & 'skid_y' (-1,1) and would be a function of distance from center in their 2D blendspace. Made the layer into a model-space additive.
Keep version, we'll use it in a different way
Citizen/animgraph: flipped order of compositing operations in skidding to fix arms pose (wish_*-based flailing comes after addition) + rewrote and updated some comments around the graph
Hair Updates
Proper object.Equals overrides for AssetBrowser entries
Asset browser: fixes for thumbnails not displaying/regenerating properly
Make sure SoundEvent is compiled before we try to add sounds to it. Fixes Right Click MP3 -> Create Sound Event(s)
Don't use absolute path when creating sounds from mp3s
Temporarily comment skid lines out in MoveMode while they're not accounting for the latest changes to the parameters
Hair Updates
AbsolutePath is required only for registering the asset
Added Multiedit to RangedFloat (so you can edit all your sounds at once)
AudioDistanceFloatProperties now support Multiedit
ButtonControlWidget now supports Multiedit, will invoke the function on all selected Components
GradientEditorWidget now supports Multiedit
CurveControlWidget now supports Multiedit
Remove unused r_tiled_rendering_depth_cull
Unused VR rendering layers (probably)
Fix collision events returning incorrect per triangle surfaces
Fix updating tags removing trigger contacts, only shapes that ignore each other should have contacts removed
Position editor tool only smooth moves rigidbodies that have motion enabled
Dead cubemap rendering code
Remove some unused code from src/common
Delete public/assetrename
Delete more from common
Delete infectedwoundrenderdata
Asset preview dmx
Allow create model context menu item for fbx, obj, dmx
Restore this fbx blend shape normals code, at the time it was fucked but now it looks correct, recursive destroy on fbx mesh copies may have been causing it - Fixes incorrect normal smoothing on fbx meshes that include morphs that aren't being used
Pull latest changes from FP recastnavigation fork
Among upstream recast changes this also includes a change to:
Bump RC_SPAN_HEIGHT_BITS from 13 to 16
Increasing the bits used, will yield more accurate height information in the generated navmesh voxels & polys.
This does not change the size of rcSpan on x64 platforms. (See https://godbolt.org/z/4eKq45daK)
Therefore, this is free accuracy improvement without perf or memory impact.
Add Reset to Default button in InputPage, to restore to common inputs, resolves Facepunch/sbox-issues#7109
Fixed not being able to select ModelRenderers while drawing gizmos was disabled, resolves Facepunch/sbox-issues#7100
Cloud Browser: Add ability to uninstall multiselect assets, resolves Facepunch/sbox-issues#7097
Fix Gizmo.Control.Capsule (has it ever worked properly?)
Don't use MarkDirty in collider, it is causing a double collider rebuild, in turn causing rigidbody start asleep to not work
Add Rigidbody.Sleeping
Make joint gizmos less noisy
Make component sheet readonly when using NotEditable component flag
Auto populate model collider on awake if none are set
Shadergraph: Add take large screenshot button https://files.facepunch.com/layla/1b0811b1/sbox-dev_Lt7IX3NZ10.mp4
Tools: Expose ScrollArea.MakeVisible( Vector3 )
Cleaned up InputActionPanel, add shift-click support to rows, to skip modal confirmation, resolves Facepunch/sbox-issues#6982
Scroll back to the top when rebuilding InputPage
Check mip sizes in Graphics.CopyTexture, not the texture size
Remove nSrcMipLevels and nDstMipLevels from CopyTexture and CopyFromVolumeTexture, they're not used in vulkan. Obsolete Graphics.CopyTexture with srcMipLevels and dstMipLevels, use the one without
Drop IL verification since we compile every assembly from source on clients now
[interop] Don't create handle stuff in static functions
Don't init VR if we're a console app
Don't print vulkan device info if we're a console app
Remove unused
Unused
Remove r_use_fullsort_for_opaque, we always depth prepass
Add FillMode render state override on scene layers
Remove this hidden dynamic objects stencil
mat_wireframe doesn't use ToolsWireframe but overrides renderstate on standard forward pass, this should obsolete the mode
Fix error when renaming uncompiled asset, fixes Facepunch/sbox-issues#7130
Renaming an asset in the Asset Browser immediately registers the new asset, fixes Facepunch/sbox-issues#7134
Added Multiedit support to Component Context Menu
Prefab Variable button now shows when there's differences in a Multiedit
https://files.facepunch.com/CarsonKompon/2024/December/09_09-33-ScratchyGemsbok.mp4
Same thing with Nullable Button
Treat base content paths as Asset-type locations
Hammer/ToolScene wireframe overlays uses state override instead of ToolsWireframe
Hammer wireframe uses new state override and not ToolsWireframe
Drop r_show_hipoly_draw_calls
Remove ToolsWireframe mode
Don't repeat the same thing 6 times to wireframe a layer
Update developer help url
Update animation
Fix [ReadOnly] attribute not being applied to all property types
ResourceControlWidget now looks like it's greyed out when disabled
Remove ToolsWireframe from all shaders, delete vr_tools_wireframe.shader - shaders dont need special code to render as a wireframe now
Update playercontroller wish velocity values
Fix scss `@import`s not including files with relative `../` paths in the file watcher
Write some SCSS import Unit Tests and update existing ones to test more than just variables
Forgot to save this file in VS 😳
Fix NRE when removing multiple components in context menu
Citizen/animgraph: tweaked wish-based locomotion layers to account for the new usage of the skid layer
Put human in avatar scene
Fix human female zombie face
Fix undo when dragging assets into the scene
Fixes sbox-issues/issues/6479
Update help url
Fix toolrenderlayers having wireframe inverted on every layer
Restore SceneTree expanded objects after hotreload
Fixes sbox-issues/issues/7146
Fix Send Buffer Buildup and Unreleased Message Bug (#1727)
Fix NRE in PrefabDropObject
Fix duplicate def
Fix undo when dropping a Material on to an object
Fix undo for convert to prefab
Fixes sbox-issues/issues/7009
This only converts the prefab back to an independent GO.
It does not undo the creation of the prefab asset and that's good, I don't think we should ever delete files via undo.
Humans: disabled AO proxy nodes now that AO proxy support has been removed
Humans: added CrouchWalk_E & CrouchWalk_W
Fix LINQ Exception when different typed objects are selected for inspection
Fixes sbox-issues/issues/7106
Revert "Fix undo for convert to prefab"
This reverts commit da0efcc866f95b30fb02a988989ca165da263779.
Line renderer supports texturing, the same as trail renderers https://files.facepunch.com/layla/1b1111b1/sbox-dev_R9xJvUmOpI.mp4
Remove LAYERFLAGS_NO_APP_TILING (did nothing)
Remove r_kick_dependent_views_early
Remove "VrMonitor" attribute, this might add bloom to ScenePanel - if thats something we dont want it should be exposed in a more explicit way
OffscreenParticleView isn't a thing
Don't read file twice in managed compile when there's a IResourceCompiler
Fix Convert to/Break from prefab not updating Inspector (#1731)
Fixes sbox-issues/issues/6596
Check for array before lists when creating serialized collection - Fixes array properties (Broken by 3882ec7)
Object menu filters out prefab assets that don't have a source file - some old compiled hammer prefabs are hanging around?
Add CookieContainer.TryGet<T>
Model attachments has a dispose, use it on model reload
Resave template prefabs, some of them have missing materials
Only move nav mesh agent on transform change if the position actually changed - Fixes agents not moving correctly with skinned meshes with bone objects enabled, transform changed is getting thrashed
Male Head 02 & Female Body / Female_Head_01 and 02
Add SceneRenderingWidget
Render clothing from a scene
Update all clothing icons
Skybox material preview
https://files.facepunch.com/matt/1b1211b1/sbox-dev_M57SmAq1uF.png
Use Widget.Hidden for ControlSheetRow conditional visibility, avoids flicker on populate
Only reset Batch Publish Org if currently set to local
Check asset directly along with references assets when checking differences in Batch Publish. Resolves Facepunch/sbox-issues#7151
Remove old DecibelsSlider and fix typo in the new one
Citizen/animgraph: added 'static_pose' int parameter — set to '1' to display the A-pose but with open eyes. To be used when rendering item thumbnails.
SQRTRoughness was correct behavior for sampling envmaps
Use multi-bounce ambient occlusion
Feathering goes outer rather than center, allow to have inner (negative) feathering again, fixes light leaks in maps
Improve handling of RenderAttribute overrides/additions in Draw APIs (#1732)
* Improve handling of RenderAttribute overrides/additions in Draw APIs
Attributes passed to CommandList.DrawX and Graphics.DrawX now correctly merge with the "global" (CommandList.Attributes / Graphics.Attributes) attribute set.
Replaced existing usages of Attributes.MergeTo, the existing usage could lead to defaults overriding more specific values.
e.g. `Scene.RenderAttributes.MergeTo( camera.Attributes )` would potentially overwrite attributes in camera.Attributes with attributes from Scene.RenderAttribute we want it the other way around though.
Fixed DrawModelInstanced using blacklisted Memory type as parameter.
* Remove leftover comment
Obsolete Clothing.DressSceneObject
Save/Restore feature tab status on Resources
Make the clothing icon editor a proper editor
Tag human skins for replacements
Remove old icons
Move clothing icons next to the clothing resource again
Update greyslkin
Clothing icon selector lets you choose specific body parts to target
Model.MaterialGroupAttribute + Model.BodyGroupMaskAttribute can accept string model (will look up the model from the string path)
Underwear material
Human skin selections
Clothing updates
Fix eye material
Include some citizen folder pngs with steam build, but try to not include all of them
Revert "Improve handling of RenderAttribute overrides/additions in Draw APIs (#1732)"
This reverts commit db71195c4669b0dc2d9e3e6e9dcabfab0067a9bf.
Add position offset to icon
Implement IconModes.Chest
Rebuild icons
Hide underwear in silhouette
Position some hair icons
Remove this old sound capture code from soundsystem
Lock mutex when encoding audio frame for videorecorder
Moustache, Mutton Chops, Medium Beard and Female Mesh Tweaks
Remove long unused shit from pixelinput and vertexinput and clean it up
Remove D_ENABLE_USER_CLIP_PLANE, complete bullshit, we use oblique projection matrices now
Remove HighlightDeprecated from shaders, seems was never used?
Humans: port over more animations from the Citizen set
Shader build
Fix CameraComponent.ScreenNormalToRay
Always define vTexCoord2 by default
Shader rebuild
Expose category tree and package properties to package find results
Package category tree
WIP filter, allow discovering WIP games
Explicitly set fields/props to null when deserializing (#1728)
Obsolete HostSync, add SyncFlag, add code upgrade / fix (#1729)
This stuff shouldn't be public
Move Qt.Orientation to Editor namespace, LinkableSplitter uses it
Citizen/animgraph: add character_type enum & branches so that Citizen & Humans can use the same animgraph. Ongoing work.
Humans: convert Citizen animations on the ModelDoc side rather than graph side
Start using SceneRenderingWidget instead of NativeRenderingWidget for shadergraph https://files.facepunch.com/layla/1b1311b1/sbox-dev_v8vsdE0JhV.png
Only add query flag is property was set to true - otherwise remove the query flag
Fix SceneRenderingWidget not calling PreRender
Shadergraph: Fix preview ShowSkybox option
Fix undo for convert to prefab (#1730)
We need to explicitly unset PrefabSource by calling BreakFromPrefab if __Prefab is not specified.
Give some hitbox depth bias to capsule collider gizmo
Fix parsing <see> with langword / href
More unused render pipeline
Remove SceneSystemStats (snapshots for external debugger)
Begin migrating CRenderingPipelineStandard to managed RenderPipeline with RenderLayer & ProceduralRenderLayer (w/ callback). Starting with depth prepass layer.
Use custom mip filter that samples from neighbors for cubemapper
https://i.imgur.com/nn23dRG.png
Fixed NRE in code upgrader for HostSync in scenario where no sibling Sync is found
Citizen/animgraph: fixed broken crouch states (oops)
Remove legacy loop
Add ControlSheet.AddProperty for expression to easily add static properties
Add code editor control widget
delete preferences.build event
Title current code editor so it can show up titled in settings
Page general uses control sheets
Set tooltips for static control sheet properties
Page networking uses control sheets
ActionBasedSerializedProperty can provide attributes
Page scene view uses control sheets
Page notifications uses control sheets
Don't adapt ActionBasedSerializedProperty for this, create a ReflectionSerializedProperty instead
OpenPropertySheet -> OpenControlSheet
Shadergraph: Use control sheet for preview settings popup
Get rid of property sheet usage in widget gallery
CompilerPage uses control sheet
Move InputAction and enums from sandbox.system to sandbox.engine so they can be exposed
Add CustomEditor for NamedEditor "keybind"
InputActionPanel modal uses control sheet
Expose ControlModeSettings
Supported Control Modes uses control sheet
Move input actions back to sandbox.system
InputAction can't use control sheet yet, it exists sandbox.system and now it can't be moved from there to be exposed
Package references uses control sheet
Add FolderControlWidget
Standalone review page uses control sheet
Publish finalize page uses control sheet
Delete RuntimeAddonPage, not used anymore?
Project page uses control sheet
InputActionPanel uses input action proxy for now because we can't move the fucker
Block tool uses control sheet
Path tool uses control sheet
Delete property sheet cya
Fix exception in TreeNode.SetChildren
Order block tools, select current tool in combo box
Use WorldTransform instead of Transform.World in engine code
Remove remaining usage of Transform.World/Local
Add simulation space option for particle force https://files.facepunch.com/layla/1b1511b1/sbox-dev_wMFfk99UTS.mp4
Add Scene.Trace.Rotated to allow for tracing rotated boxes or capsules (this already worked with FromTo( Transform, Vector ) but it's not obvious enough because no one knew it was there
Drop model as static prop based on model archetype
Allow for inner feathering for EnvmapProbe in UI, same defaults for hammer equivalents of this
ggxcubemaphelper (cpu) is equivalent to cubemapper (gpu), increase sample count but use faster sampling and sample from first mip always
https://i.imgur.com/5UuaG0b.mp4
Sample from mips again and decrease sample count to not be absurd for our budget
More beards - human versions + malehead02 texture adjustments
Use Span instead for Memory to pass Transforms to CommandList.DrawModelInstanced
Set TSPEC_TEXTURE_GEN_MIP_MAPS on RenderTargets with mips
Whitelist error event analytics
[ThreadStatic] AccessControl.Location because we test types in multiple threads and this was gibberish
Prefab file loads cached scene on post load if needed - Fixes prefabs referenced in resources not loading the prefab scene
Fix mass center override gizmo not updating when not dynamic (editor forces rigidbody to static)
Don't show "Include Source Files" checkbox when publishing type that always includes their source files (libraries)
Depth downsampling -> managed render pipeline
Make Join Game work through Steam
FolderProperty -> FolderEdit, Move FolderControlWidget to tools addon
Delete PropertyEditorWidget
Move particle control widgets to Widgets/ControlWidgets, make ParticleFloatConfigPopup inaccessible, only the control widget use it
Delete AudioDistanceFloatProperty, just have AudioDistanceFloatControlWidget
Remove all property editors not directly used in code still
Remove the need for IntProperty
Remove the need for BoolProperty
Fix console collapsing different stack traces
Remove last few cloud references from core files
Fix undo for envmap probe bounds
Fixes sbox-issues/issues/7181
Fix TreeView not passing skipEvents fully, trigger ItemsSelected at end - fixes Facepunch/sbox-issues#6845
Santa Outfit (#1743)
Merge branch 'master' into shadercompiler