20,863 Commits over 1,522 Days - 0.57cph!
Fix infinite recursion crash with prefabs when the root object has bone proxies
Fix m_bForceEnableDebugUtils running always even when we dont have renderdoc or validation layers enabled, triples your perfomance on vulkan
Hook up ModelPhysics renderer for prop_physics
Do a better job at keeping mass override applied
Fix trailing backslash escaping quoted search paths
Dead auto mount vpk code
-outroot has to be specified before
Only need to pass user project search paths & maintain mod names
Some physics interface clean up
Auto-open the node creation menu if no other menu options exist
Rebuild input / output node when editing parameter names
Reapply mass override when setting local mass center
Add mass test
Fix downloading cloud assets
Pass search paths to external spawned processes resourcecompiler and vfxcompile
Remove multiple editor instance nag
Prefer -editor to -tools
Remove native "Startup Tools"
Don't create native splashscreen pixmap that we don't use
Remove bs "Starting Asset Browser" line
Unused -tool -asset command line
ToolsDll remove dead gameloop code
Scene.OnEdited, OnSaved don't need to be exposed
Add SceneLoadOptions
Add GameObjectFlags.NotNetworked
Update Facepunch.ActionGraphs
Fixed node creation menu path list when filtering
Model.LoadAsync and Material.LoadAsync should kind of be async
Add Material.Flags (IsSky, IsDecal, IsTransparent, IsAlphaTest)
Changed how material thumbs render
UI: optimal gradient width prefers background size if specified
UI: improve gradients by calculating an optimal width for gradient textures
Catch EditorTool update errors instead of breaking the whole editor
Add Angles.SnapToGrid
Add Gizmo.GetMouseDrag
Add Gizmo.Snap( angles ), CameraTransform, LocalCameraTransform
Just ignore when trying to set nan position
Add Gizmo.Settings.SnapToAngles
Gizmo.Controls.Rotate outputs Angle delta, RotateSingle outputs only a float angle delta
Add rotation snapping
Pulse labelled links too
https://files.facepunch.com/ziks/2024-01-26/sbox-dev_PV4PZ5cpSp.mp4
Remove shape before checking collision events, removing a shape can generate contact reports so they need to be removed
Delete body after checking collision events
This is making physics debug draw super slow
I should probably initialize this!
Get rid of EnableLinearConstraint and EnableAngularConstraint, not supported and dumb
Support joint deactivation in izabu, this allows ragdolls to break joints, not just joint components
Joint IsActive setter so any breakage can be reset
Remove max impulse from jointdesc, it's never used
Don't load map if map instance is not active
ActionGraph update, add more geometry-based nodes
Use Either<> type for object inputs
EitherControlWidget
Added a bunch of node types
Some ActionGraph value editing fixes
Update Facepunch.ActionGraphs
Put SpeakerVolume in Sandbox namespace
ActionGraph update, add more geometry-based nodes
Use Either<> type for object inputs
EitherControlWidget
Added a bunch of node types
Some ActionGraph value editing fixes
Don't add inactive projects to filesystem
Don't get fucked by removed projects
Native doesn't automatically mount everything from config/addons.json
Menu shouldn't care about local packages/projects - non-editor doesn't load any of that
Remove JumpList - we can try this again when we have a concrete idea of project workflow
Remove "Content Mode", remove skip start screen - all content should be in a project, so why wouldn't you create/open a project
New Game Project -> New Project - these are workspaces for any content really
AssetSystem: Defer scanning new projects until they've all been added, and fix the counter
Remove Change Project - there's not much sanity in trying to reset the entire engine state when we could simply restart the process
-project command line is part of editor bootstrap not engine
Hacky mark all games as inactive on bootstrap
Consolidate project filesystem logic, call native directly instead of saving json and relying on it reading it
File -> Quit prompts unsaved changes
Dirty editor window title when scene modified, add renderer
Move editor only code out of engine Project class
Make sure we still mount content projects on startup
Support opening non-game projects
Batch rebuild content path / update assetsystem on bootstrap
Fix sphere trace hitposition without fucking it up for capsules
Rename AssetView to AssetPreview
Rename internal AssetPreview to AssetThumbnail
Delete broken legacy particles
New unified asset preview/thumbnail/video system (cleanup)
Size in OnPreRender isn't optional
Add Pixmap.GetPixel
Texture preview
Add Texture.GetSequenceFrameCount, HasAnimatedSequences
Asset thumbnail render is async
NativeRenderingWidget events
Allow preview to tell the renderer whether it's animated (opt out of video)
AssetPreview can be pixmap based
Consolidate
Paint.Target to Paint.ToPixmap, scoped
Fix crash when accessing sound samples
Add timeout to thumbnail rendering
Add timeout when loading SoundFile
Fix warnings
Draw a line if we can't get sound samples
AssetPreviewWidget async wait nicely
Size renderWidget properly
Fix hitposition when sphere tracing against meshes
Fix out of range exception in voice (visemes should probably be put in its own component)
INetworkCustom. Add tests for NetList, NetDictionary.
Add [ImageAssetPath]
fix SerializedCollection NRE
Fix MemberDescription.HasAttribute not finding base attributes
Convert TextureEditor to use Sequences
SequenceControlWidget has popup instead of doing it all horribly inline
Fix SerializedObject changes not propagating upwards
ResourceStringControlWidget cleanup
Use new Sequences json for amalgamated texture
Expose some sheet access on texture
Simplify amalgamatedtexture packing, less likely to infinite loop, loads from json
Add TextureFile sequence `IsLooping `
Can use particle SequenceTime easier
Remove parse_mks.cpp
Delete mks importers (everything should use our way now)
Use gizmos for physics debug draw lines for when I need it
Comment out early out in capsule vs hull deep penetration until I get the proper fix
Implement joint breaking, break callbacks called on post step, breaking a joint disables the component
Support joint breaking on prismatic, revolute, rigid, spherical
Add EditorUtility.OpenPropertySheet
https://files.facepunch.com/garry/c9f2b5cb-f6bb-4895-a401-346d1dbf939c.png
Set qt darkmode=2 so windows will follow system theme (I think)
Add ControlObjectWidget
Add [KeyProperty]
Add KeyProperty to TextureSequence.Source
ControlWidget will create an editor for unknown types (this will likely need locking down)
Assume test mode will want rendersystemempty
Right now our tests machine doesn't have a GPU attached, for d3d11 it's fine since this runs over D3D11 Warp renderer, but not on Vulkan.
Change this if we ever do graphics tests on CI.
Running locally our tests pass fine without it
Fix QPainter was null when calling setPen errors
CompileProgress tests (doesn't work)
Fix asset browser file type size
Fix NRE in GenericControlWidget
Add BaseLayout.AddLayout<T>
Add ControlSheet.AddProperty
SerializedCollection elements return attributes of parent
SoundFileCollection doesn't use PropertySheet
VR: Fix vulkan submit, submit depth texture to compositor
VR: Update overlays from the render thread, because SetOverlayTexture might touch vulkan queue
Forward InputData and VROverlay through to Sandbox.Game to preserve compatibility
VR: Minor VROverlay cleanup
VR: Fix VROverlay xml comment
Citizen/animgraph: change the swimming 2D Blendspace from Z/X to Y/X, it was an interesting idea that unfortunately didn't pan out
Re-compile ui backdrop filter shader w/ SPIR-V block
VR: fix LOD rendering, remove bVr from CFrustum::ComputeScreenSize
Citizen/animgraph: made vertical swimming work, it's janky as hell, but at least it's reflected visually; becoming increasingly clear that this state will need custom code on the controller side
https://files.facepunch.com/maxlebled/1b2411b1/2024-01-24%2018-50-19.mp4
Fix izQueryFaceDirections using the max instead of the min distance for face separation
Fix HitPosition for Trace.Sphere https://files.facepunch.com/layla/1b2511b1/sbox-dev_CvSjg1QMpX.mp4
This should probably just be the radius of the input shape, not both
Add Skybox support to Render Tags - good for View Model Camera where we don't wanna render the skybox, or usually anything but things with a viewmodel tag
Do the same for 2D skybox
Merge branch 'master' into nt-container
Do the same for 2D skybox
Add Skybox support to Render Tags - good for View Model Camera where we don't wanna render the skybox, or usually anything but things with a viewmodel tag
This should probably just be the radius of the input shape, not both
Fix HitPosition for Trace.Sphere https://files.facepunch.com/layla/1b2511b1/sbox-dev_CvSjg1QMpX.mp4