Renamed "Normal" SceneCameraDebugMode to "Lit", expose Roughness vis mode
Add BallJoint component
Attempt to make gradients match their web counterparts a little more
This isn't perfect and we should really investigate the root cause
for this: sbox-issues/issues/5477
This shiz is confusing - try this
Add Rotation.FromToRotation (fixes sbox-issues/issues/5243)
Fixed blendable shader error (restore ComputeBlendWeight method), push new compiled shader
Add GameTransform.DisableProxy(), to disable the proxy in a scope.
Create TransformProxyComponent, which allows components to override the transform of a GameObject in a non destructive way.
Fix NRE in Component.Scene, Component.Transform
README: Link to docs, remove old docs, unrequired prerequisite
Fixes to restore some old and intended behavior, additional documentation
EnumControlWidget: Use Title instead of Name in PaintControl
Add GameObjectFlags.ProceduralBone
Serialize GameObjectFlags, but selectively read them
SkinnedModelRenderer sets bones directly, reads back procedural bones
Make procedural bones a different color. allow toggling in inspector
Download bones on main thread
Try to avoid TransformChanged() getting called for each bone on animation
When setting bind pose, also reset the animhelper
Add SkinnedModelRenderer,ClearParameters
Fix one frame without procedurals
Start cleaning up menu bar
Rate limit leaderboard queries
Changed play button bind back to F5
Shadergraph: Add Tint node to grab the tint of the sceneobject
Shadergraph: Add tint color to render options https://files.facepunch.com/layla/1b1011b1/sbox-dev_ELn53pVfKS.png
Add Mesh.UvDensity, needs to be calculated for texture streaming
Calculate uv density for scene meshes
Shadergraph: Add world space to tangent space to TransformNormal node
Recompile decal shader, lighting was fucked (https://files.facepunch.com/devultj/1b1011b1/mhPZ645aj0.jpg)
Add Recent Scenes to File Menu (https://files.facepunch.com/devultj/1b1011b1/yyrxhZZSIa.png)
Move Recent Scenes into its own section between Save All and Quit
Don't serialize ResourceVersion to GameResources (resolves sbox-issues/issues/5440)
Update DepthOfField.cs
FocalDistance approaching zero was causing a numeric issue and assert.
Add ability to grab underlying shader name from Material
Whitelist System.Private.CoreLib/System.Type.GetTypeCode( System.Type )
TypeCode is already whitelisted, so no need to do that too here.
Add ability to drag and drop decal materials into the scene (https://files.facepunch.com/devultj/1b1011b1/sbox-dev_3sOvpxNACW.mp4)
HtmlEncode code-generated descriptions (so it can convert &, etc..)
vtf project unused
Save Scene default path is assets path
winter coat and trapper hat LODs
Read bone positions to GameObjects on first frame animate
Fix Json.SerializeAsObject handling indexers
Some DOF shader optims - Work in progress
Some DOF optimisations including eliminating trig from pixel loop.
This is Work in Progress, could do more optims here.
Workout bones and attachments on first set model
Change GetShadowDownsampleLevel to calculate based on the percentage of how much the light is visible on the screen rather than distance heuristics, also adjust CalculateSpotResolution and increase base value
Invalidate light cache when a light moves
Bone gizmos https://files.facepunch.com/layla/1b1211b1/sbox-dev_JyFl9Jtw4A.mp4
Mark citizen IK bones as hidden so gameobjects aren't created for them
Add Sandbox.Filesystem and Sandbox.Compiling
Fix unit tests not finding system assembly refs
Remove AddGameWithPackageBase test - this is no longer supported
Fix hotload fast path not using fast hotload
Fix scene mesh export not remapping face indices
Fix shitty hack on RenderScene()
Use Present() which also has logic to handle swapchain size changes for widgets than HandlePendingSwapChainResize()
Expand and expose SystemInfo
* add cpu and ram info to Hardware, expose to api
* Rename Hardware -> SystemInfo, add ProcessorCount
Wrapped method resume will get async keyword when wrapped method has it
Fix tests
Silently term any new children created from children's OnDestroy when clearing scene. Fixes Facepunch/sbox-issues#4855
ImpureAttribute to compliment PureAttribute
Facepunch/sbox-issues#5499
Handle RootNamespace option in SimpleComponentTemplate
Revert to NativeRenderingEngine hack, still need to deal with edge cases, I'm debugging it better
ActionGraph: don't qualify type names by assembly name
Fixes Facepunch/sbox-issues#5473
Cleaning compiler
Filesystem Cleanup
Restore play mode toggle shortcut while focusing the game viewport
Fixed GameDebug button being cut off awkwardly (resolves sbox-issues/issues/5490)
Get rid of ICSharpCompiler, tools can use the Compiler and Microsoft.CodeAnalysis directly
Restore functionality to Input.ReleaseAction (sbox-issues/issues/5500)
Update template .gitignore to capture exclusion directories for Libraries
Make editor startup with missing components more unlikely (but not totally fixed)
Update DepthOfField.cs
FocalDistance approaching zero was causing a numeric issue and assert.
Merge pull request #1576 from Facepunch/DOF-fix
Update DepthOfField.cs
Fixed controller gamepad actions not working in FixedUpdate
Always serialize InputAction.GamepadCode - this might not be the best course of action, but it resolves the problem where you can't bind an input action to GamepadCode.A (0)
Add cylinder colliders to wheel01 breakpieces, was causing assert on compile in debug
Map instance uses vmap resource type for map name to be able to select map with asset browser
Optimisations to Postprocessing shaders
Optims to Postprocessing - Depth of Field, Bloom, Blur, Sharpen, Also DoF bug fix on focal distance at 0
Embed the framework ref dlls instead of having them loose in bin/ref/
Move compiler tests to Sandbox.Compiling.Test
Lets update the refs while we're here - v7.0.408
Support maps in ResourceStringControlWidget (local and cloud)
Merge pull request #1567 from Facepunch/compiler-project
Moving Compiler to its own project, own unit tests, cleanup. The aim of this is to isolate the compiler and compile group more, so it no longer feels unwieldy. This will also give Tools direct access to CompileGroup and Compiler.
Clear map when clearing map property
Fix copying from map asset paths
Support cloud map drag drop into property https://files.facepunch.com/layla/1b1411b1/sbox-dev_fB6S2Aduks.mp4
Independently Interpolated Transform Parts + Other Fixes (#1577)
Initiailize target local with Transform.Zero. SceneUtility.GetPrefabScene never actually saves the cached scene to the var. ( Fixes Facepunch/sbox-issues#5511 )
Query pos/rot directly
Query game package MaxPlayers when creating a lobby
Query collision rules, CharacterController.UseCollisionRules (#1566)
* Added `PhysicsWorld.GetCollisionRule(string left, string right)`
* Added `WithCollisionRules(string tag, bool asTrigger)` to `PhysicsTraceBuilder` and `SceneTrace`
* Added `bool CharacterController.UseCollisionRules`
* Update helper text in CollisionPage
https://files.facepunch.com/ziks/2024-05-15/firefox_9de7c5NRvM.png
Merge branch 'master' into MDV---PostProcessing-optims
Fix GameLoadingFlags.Developer
Add missing [Flags] attributes
Post processing optims / tidyups
Depth of field & blur - several mods - trig. eliminated in loops + other minor improvements. DoF bug fixed when focal distance close to 0 previously asserted. math fixed.
Merge branch 'MDV---PostProcessing-optims'
Cleanup
Hotload: ignore Microsoft.CodeAnalysis
ControlObjectWidget: don't create an instance for AG properties
Support multiple scene mesh export to vmdl https://files.facepunch.com/layla/1b1511b1/sbox-dev_KtN4e3locJ.png
Changing primitive type of mesh now works with multiple selection
EnumControlWidget supports multi edit https://files.facepunch.com/layla/1b1511b1/sbox-dev_eZLBW8jHHL.mp4
Add MeshComponent.HideInGame, usually for clips or triggers
Disable rendering of scene object before deleting it, usually good practice because delete is a frame behind
Allocate initial texture data for textures created with no data provided so they don't use uninitialized data
Work-in-progress replacement for VR hands
Add map drag drop for easier map setup https://files.facepunch.com/layla/1b1611b1/sbox-dev_AFyG42ycDa.mp4
Adding CompilerOutput, to consolidate the output of a compile
Ignore xml files in game/
Update .gitignore
Remove "Open in Code Editor" from launcher project rows
Allow dropping a .action into the Action Graph editor
https://files.facepunch.com/ziks/2024-05-16/sbox-dev_7kY8vTea7g.mp4
Fixed target type of AGs on the root of a prefab
AG node double-click opens new tab in same window
Can drag .action resources into Action properties
https://files.facepunch.com/ziks/2024-05-16/sbox-dev_rSLRXcZtPU.mp4
Update Facepunch.ActionGraph
Fixed GameInstance.TrapButtons not trapping when we don't have a menu
Mesh Editor: Alt right click another to apply selected face material to another face
Fixed input rebinding not working when running a local game / in the editor
Add new dlls to release archive
Move unittest razor/generator tests to compiler test
Generator: additional files presented as text rather than paths
Add additional tests
Compiler builds a CodeArchive and then compiles from that
Add "Reset to Default" menu option to ControlLabel
Typo
Build fix
GetButtonOrigin tries to grab collection bind in first slot before falling back to input action default (resolves sbox-issues/issues/5526)
Fix transform update delay when Skinned Model Renderer is attached to bone of another Skinned Model Renderer (#1578)
* Fix lag/wobbly update when Skinned Model Renderer is attached to bone of another Skinned Model Renderer
* Use Channel to contain changed transforms, write to that in threads for animation updates, then call transform changed on main thread for them after
Keep one list of references. Keep them in CodeArchive.
Cleanup, remove unused code
Api.Get return null if 404
Fix base project not compiling
More compiler cleanup
Disable FastPathTests (left a comment for you @Metapyziks)
CompilerSettings becomes Compiler.Configuration, is a struct
Cascade ParseOptions down on each compile instead of trying to keep it up to date
ByteStream can be accessed from non-main threads
Add ByteStream.Compress(), Decompress
Can create compiler without file path
CodeArchive serialize/deserialize
Write code archive to filesystem
Don't create control widgets if their type doesn't have a default constructor (resolves sbox-issues/issues/4732)
Don't copy filesystem dll to game root
Revert "Don't create control widgets if their type doesn't have a default constructor (resolves sbox-issues/issues/4732)"
This was breaking certain types that are created from native
Include code archive when publishing
Update VR hands with more backported stuff & fixes + left hand model
VR hands: couple more fixes + "cylinder" poses
VR hands: "grab" poses
Hide some of these filesystem things, in hopes that the analyzer stops looking for zio
Update minor update packages
SkinnedModelRenderer: Don't let anything get in the way of deleting the sceneobject on disable
Generate schema as part of build
Mesh Editor: Alt+Right actually wraps the uvs now https://files.facepunch.com/layla/1b1711b1/sbox-dev_xWZDd66awF.mp4
Remove VR hand assets from "Half-Life: Alyx" & associated source files
Support compiling from a MemoryFileSystem
Re-implement / simplify FastPathTest
Fix test host process crashing in TestCompiler
Fix nullable error
Add MusicPlayer.TargetMixer
New Clothing Piece! - Cowboy Hat and Sleeveless Jacket
First passes of the cowboy and sleeveless jacket assets
LODs and further skinning adjustments coming ASAP.
https://files.facepunch.com/daniel/1b1711b1/ApplicationFrameHost_3qpuuGFpGa.jpg
Don't cache null types in AssetType.FromExtension. Fixes GameResource assets not appearing in projects that use libraries.
Fixes Facepunch/sbox-issues#5498
Remove model check in CMeshSystem::ChangeModel, this function needs to run even if it's the same model for model reloads
Add CompilerName and AdditionalFiles to CodeArchive
Add CompileCodeArchive test
beard adjustments / fixes
Fix Project.HasCompiler logic to look for any compiler (resolves sbox-issues/issues/5531)
Use intermediary texture to avoid collision in filtering generated cubemaps, this should fix the cubemap corruption in certain hardware
Delete ILobby
Add softsplit.donut to codearchive test
Rework polygon mesh to have texture coords the same as hammer, coords can be computed by params and params can be computed by coords. This allows texture wrapping to be identical to hammer. https://files.facepunch.com/layla/1b1911b1/sbox-dev_eGxR8MTpVC.mp4
Add this function back, someone was using it
Don't html encode comments
Cleanup header bar
Fix compile warning
Do an initial clear initialization on FindOrCreateFrameBufferScratchTexture to make sure the data is not garbage, should fix SSR accumulation artifacts specially on multiview
UI-only clears should respect if ( r_ui.GetBool() ) as also per sbox/issues/1575 , will check to make this a clear layer rather than a render layer
Change how escape button works, so it has a set path from game => menu -> tools
Input.EscapePressed is no longer accumulated
Input.EscapePressed has a setter, so you can prevent it doing further things
Break game window focus in editor if escape is pressed
DragAssetData.Parse: Resolve local asset before attempting to make it a package ident
Material API specular obeys S_SPECULAR same as Valve's PS_FinalCombinerDoLighting (you can now turn it off)
Graphics.PrepareTextureForUse -> Texture.MarkUsed (Doesn't need a graphics context now)
Json.SerializeAsObject (GameResource serialization) supports [JsonInclude] on non public properties. Deserialization already supported it.
WrapTextureToSelection with shift-alt-rmb https://files.facepunch.com/layla/1b2011b1/sbox-dev_MA50eCo78d.mp4
Merge branch 'master' into hackweek-multi-scene-view