13,878 Commits over 1,552 Days - 0.37cph!
Fix readonly string control widget
Hammer GameObjects (#1675)
* Hammer Scene is serialized in MapWorld and gets written into VPK as world.scene_c
* MapInstance additive loads the SceneFile from inside the VPK
Tie Meshes to GameObject:
* Replaces Entity
* GameObjects with meshes tied have a HammerMesh component which procedurally creates a ModelRenderer and ModelCollider
* HammerMesh is setup at map compile time with generated models.
Editor:
* Add HammerManagedInspector which can take over native inspector if it likes the MapNode type
* Add HammerSceneEditorSession for handling saving properly
* Gizmo interactions work in MapView, Hammer gizmo selectionset syncs with native selection set (native has authority)
* Clean up MapView loop: run Scene.EditorDraw() for gizmos, remove old Entity.DrawGizmos
Hammer Outliner:
* Managed sets DragData of map nodes in Hammer outliner
* Defer selection until mouse release so it acts like our managed treeview, allows dragging without selecting instantly
* Removed duplicate entity list
* Add "Create Game Object" button
ActionGraph:
* Add MapSourceLocation for editing action graphs in .vmap files
* Open source map when inspecting graph from .vmap
* Parent action graph editor to hammer window if editing map graph
---------
Co-authored-by: James King <james.king@facepunchstudios.com>
Unify UI and ListenLocal, should have complete parity with how it was before 🤞
Properties with [Hide] don't contribute to features tabs
Don't need these Hammer prefab templates anymore
InspectorWidgets are explicitly marked with [Inspector( Type )] instead of [CanEdit( Type )], created with InspectorWidget.Create( SerializedObject )
Fix exception in Asset.ReadJson()
Fix NRE in GetBoneObject() when using the wrong name
Remove extra quat normalize that isn't doing anything
Normalize quaternions in AddPoses to prevent drift in model space blending
Citizen/animgraph: improve look & feel of turning while moving
https://files.facepunch.com/maxlebled/1b0111b1/2024-11-01%2005-08-50.mp4 (NB: this video has several of the parameters non-functional due to the current state of the physics-based player controller, so it's not a complete picture, but it does show off this specific improvement)
Fix UI sounds still playing spatially.
Don't early out of model collider when there isn't a bone for part
Allow physics shape to associate with a bone index so SceneTraceResult.Bone works when hitting physics shape, as the summary suggests https://files.facepunch.com/layla/1b3111b1/sbox-dev_016MWrhQrI.mp4
Remove the need for CGameTrace and delete it, the less trace result structs we have, the better
Don't let the user drag AssetPicker tabs about/outside the window (lol)
AssetPicker: Disable type facet dropdown if FilterAssetTypes is specified
AssetPicker: Default to project assets folder when no initial selection is given
Fix CloudBrowser not saving/restoring from cookie
Shift cloud locations around again, this makes more sense I think
AssetPicker: make sure we're raising the tab you'd expect by default
Add more optional functions to IPressable, for hovering and update
Slow down default player turn speed
PlayerController camera can be moved left/right
PlayerController has "use"ing built in
Switch case node
https://files.facepunch.com/ziks/2024-10-31/sbox-dev_YiyL34b2CY.mp4
Add clear button to asset/cloud browser search bars
AssetPicker: Standardise initial selection logic, prefer selecting cloud package for cloud assets (and not .sbox disk path)
Fix focusing AssetList on entry sneakily not working
Wait for cloud browser to receive results before selecting initial selection
Add pivot to sprite renderers
Prevent cloud browser from shitting pant with duplicate facet tags in query
Don't add type tag twice when FilterAssetTypes is specified for cloud browser
Cloud browser: Hide sidebar type locations when FilterAssetTypes is specified
Cloud asset uninstall flow/ui
- removes all references to the package from your project
- deletes all files that're no longer needed from disk
- updates package references to remaining installed package where there's shared files
https://files.facepunch.com/solw/2024/October/31_13-07-ComposedAmericancreamdraft.png
Fix vignietting on DoF
DoF Blur size is in pixels, make it relative to screen resolution so size is consistent, do uv offset a bit after first sample so there's less shimmer
HelpUrl for PlayerController
HelpUrl adds (?) button to component header, fixed component header rebuilding multiple times
Use [FontName] for TextRendering.Scope, resolves Facepunch/sbox-issues#6752
https://files.facepunch.com/tony/1b3111b1/sbox-dev_VBbuYDiPZN.png
Humans: brand-new data sets for hitboxes, physics joints, and physics shapes + improved WalkFast_E + added WalkFast_W
https://files.facepunch.com/maxlebled/1b3111b1/2024-10-31%2001-49-11.mp4
Fix [Placeholder] attribute not actually setting PlaceholderText
Add Model extension to create bone objects
Rework skinned renderer to use create bone objects extension. Ignore absolute bone objects.
Fix asset browser not opening if last opened directory from previous session was deleted/moved
Fix UI sounds having Occlusion, Attenuation, Absorption and Transmission applied to them. [HideIf] those properties when UI is true. Resolves Facepunch/sbox-issues#6742
When creating a component, if the typename has a conflict, then prioritize the type that exists in addon code
PlayerController component
Player Controller prefab
Fix FloatControl shitting itself when it's nullable
Fix exception when deleting a component
Make ClothingContainer more useful
We shouldn't need these SteamInput files anymore
Fix path widget error with meta locations
Display distance on dragged sound in PreviewSound widget
PreviewSound Falloff preview updates as you edit the Curve
Add Vector3.SmoothDamped, Vector3.SpringDamped
Add HeaderAttribute, SpaceAttribute , HelpUrlAttribute
Keep General feature first always
Add ParticleModelEmitter
Add ParticleTextRenderer
Add SceneVolume system
Seal up some classes
Add DspVolume
Failing tests reproducing Facepunch/sbox-issues#6731
Fix Facepunch/sbox-issues#6731
Clean up string.To{Numeric} extension methods
Fix asset dependency list with new browser
Save/restore asset inspector tabs to cookie
Don't do AssetListEntry scroll events in list mode
Don't show libraries in cloud browser
Add windows-style subdirectory flyout to path separator
https://files.facepunch.com/solw/2024/October/30_09-20-IllfatedUlyssesbutterfly.png
Include final path separator if the directory has subdirs
Fix messed specular on skin shader that was using old normalization curve
https://files.facepunch.com/sampavlovic/1b3011b1/zPO0P1wuPT.png
Humans: reworked WalkFast_N
Folder Metadata is applied to FolderNodes
Move Folder Metadata from EditorCookies to ProjectCookies. Use relative paths instead of absolute paths.
PreviewSound gradient now visually follows the Falloff of the sound instead of purely being there for aesthetics
https://files.facepunch.com/CarsonKompon/2024/October/29_18-40-LightsalmonBudgie.mp4
Adjust sound defaults and hopefully fix most falloff-related issues.
Can give an optional target to scene event nodes
Fixes Facepunch/sbox-issues#6726
Add TreatWarningsAsErrors compiler option
Add TreatWarningsAsErrors to built-in addons
Helps us catch warnings before the build fails because of BuiltInTests.NoWarnings
Add some default lighting to game object thumbs if scene is unlit
Fix SoundEvent JsonUpgrader to accommodate for RangedFloat values.