9 Months Ago
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 Can publish textures Update pull.yml Fix out of range exception in voice (visemes should probably be put in its own component) Fix hitposition when sphere tracing against meshes 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 sphere trace hitposition without fucking it up for capsules Use new Asset url schema 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 Don't get fucked by removed projects Don't add inactive projects to filesystem Put SpeakerVolume in Sandbox namespace Fix download errors 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 Don't load map if map instance is not active Remove max impulse from jointdesc, it's never used Support joint deactivation in izabu, this allows ragdolls to break joints, not just joint components Joint IsActive setter so any breakage can be reset Get rid of EnableLinearConstraint and EnableAngularConstraint, not supported and dumb I should probably initialize this! This is making physics debug draw super slow 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 Pulse labelled links too https://files.facepunch.com/ziks/2024-01-26/sbox-dev_PV4PZ5cpSp.mp4 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 UI: improve gradients by calculating an optimal width for gradient textures UI: optimal gradient width prefers background size if specified Add Material.Flags (IsSky, IsDecal, IsTransparent, IsAlphaTest) Changed how material thumbs render Model.LoadAsync and Material.LoadAsync should kind of be async Update Facepunch.ActionGraphs Fixed node creation menu path list when filtering Add GameObjectFlags.NotNetworked Scene.OnEdited, OnSaved don't need to be exposed Add SceneLoadOptions 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 Pass search paths to external spawned processes resourcecompiler and vfxcompile Fix downloading cloud assets Reapply mass override when setting local mass center Add mass test Auto-open the node creation menu if no other menu options exist Rebuild input / output node when editing parameter names Some physics interface clean up Dead auto mount vpk code -outroot has to be specified before Only need to pass user project search paths & maintain mod names Fix trailing backslash escaping quoted search paths Do a better job at keeping mass override applied Hook up ModelPhysics renderer for prop_physics Fix m_bForceEnableDebugUtils running always even when we dont have renderdoc or validation layers enabled, triples your perfomance on vulkan Fix infinite recursion crash with prefabs when the root object has bone proxies Move ModelEditor.Nodes to game Add Prop component to engine (health, breakable, gibs) Read back the window size from the main window the OS created, Windows will clip the size to the desktop if it's too big and we will have unmatching resolution between what we specify in the swapchain and the actual hwnd ComponentControlWidget: Support dragging in components where there might be multiple of them in a GameObject Make Widget.ConstrainToScreen more reliable Merge branch 'master' into vulkan-staging