reposboxcancel

20,760 Commits over 1,522 Days - 0.57cph!

32 Days Ago
Serialize TargetMessage flags as byte
32 Days Ago
Rework component serialize bail logic
32 Days Ago
Add ComponentFlags.NotCloned to opt out of component serialize when cloning in editor
32 Days Ago
Initial branch commit for dedi server message routing * Try to synchronize Connection State through ConnectionInfo where possible * Use Connection.All for filtered broadcasts so that will use ConnectionInfo if exists * TargetedMessage support for byte[] array for already packed messages, and pass in NetTransmission flags for routing as well * For now, one idea is to override SendRawMessage on MockConnection - for these type of Connection we can route through the host Store Connection internal state if ConnectionInfo doesn't exist then we can just use that Better synchronization of Connection State - now working as it was before, but should also synchronize other clients properly when on a dedicated server For filtered connection list / broadcast - if we're the host then use the connections we have, otherwise we should use Connection.All Include Connection with available connections when broadcasting - as Dedicated Server won't be included in Connection.All (maybe it should, or maybe people should just use Connection.Host)
32 Days Ago
Fix exec command not working with spaces in dir for these csproj files
32 Days Ago
Scroll the transform with all the other components Change inspector theme
32 Days Ago
MapInstance explicitly fails when trying to load scenemaps, fallback to configured map when map arg isn't valid - Fixes case where an uploaded scenemap containing a MapInstance (mis?)configured to pull from launch args, would try to load itself and fall apart, Facepunch/sbox-issues#6620
32 Days Ago
Include Connection with available connections when broadcasting - as Dedicated Server won't be included in Connection.All (maybe it should, or maybe people should just use Connection.Host)
32 Days Ago
CMapGameObject's that generate model geometry are ignored by physicsbuilder
32 Days Ago
SceneViewportWidget now refocuses last non-game viewport instead of last selected. Resolves play mode sometimes starting on an Empty Scene
32 Days Ago
Grid-aligned wires option https://files.facepunch.com/ziks/2024-10-22/sbox-dev_bUe9p89nrF.mp4
32 Days Ago
AssetInspector now hotloads when changes to the asset have been made. No longer have to click into something else and click back in. https://files.facepunch.com/CarsonKompon/2024/October/22_09-47-StaleImperialeagle.mp4
32 Days Ago
For filtered connection list / broadcast - if we're the host then use the connections we have, otherwise we should use Connection.All
32 Days Ago
Better synchronization of Connection State - now working as it was before, but should also synchronize other clients properly when on a dedicated server
32 Days Ago
Use project root path as root for asset browser stuff Hide hidden files & folders Icons for assets, code, libraries, exports, localization, projectsettings folders https://files.facepunch.com/alexguthrie/1b2211b1/sbox-dev_vj4aOCIDDr.png Hide .sbox folder Open non-asset files (e.g. .cs files) when double clicked too
32 Days Ago
Focus last selected SceneViewport when leaving Play Mode. Resolves Facepunch/sbox-issues#6605
32 Days Ago
Store Connection internal state if ConnectionInfo doesn't exist then we can just use that
32 Days Ago
Add IsDeleted checks to loading startup scenes. Facepunch/sbox-issues#6594
32 Days Ago
Initial branch commit for dedi server message routing * Try to synchronize Connection State through ConnectionInfo where possible * Use Connection.All for filtered broadcasts so that will use ConnectionInfo if exists * TargetedMessage support for byte[] array for already packed messages, and pass in NetTransmission flags for routing as well * For now, one idea is to override SendRawMessage on MockConnection - for these type of Connection we can route through the host
32 Days Ago
Add ability to close tool window tabs, scoped to scene/prefab tabs only - resolves Facepunch/sbox-issues#6653 https://files.facepunch.com/tony/1b2211b1/sbox-dev_3TNYa6UlBY.mp4
32 Days Ago
Scene.Title, Scene.Description are obsolete Fix JsonObject.GetPropertyValue not always returning defaultvalue Add SceneInformation component, replaces Scene.Title, Scene.Description - can create your own meta providers, works in prefabs Add SceneFile.GetMetadata( name ) Add PrefabFile.GetMetadata( name )
33 Days Ago
Remove mock GameObject/Prefab code from managed MapEntity Add CMapGameObject map node with managed counter part that wraps a GameObject Hammer world's Scene uses HammerSceneEditorSession Add HammerManagedInspector that can take over if it likes the MapNode. We only like MapGameObject for now Run Scene.EditorDraw() on MapView for gizmos, remove old Entity.DrawGizmos Hammer: Create GameObject Test option More explicit HammerEvents Managed map node callback interface, a little convoluted because of mapdoclib <-> hammer <-> managed. But this is easier to do callbacks and can return values And the managed side Serialize/deserialize CMapGameObject CMapGameObject::GeneratesEntityModelGeometry() Expose CMapGameObject JSON to MapBuilder via IHammerMapLoader Collect CMapGameObjects, compile them into scene.json inside the vpk and let MapInstance load them (Very hacky code needs cleaning up) MapWorld.Scene sets a Scene.Source in an attempt to make AG happy Tie Meshes to GameObject button Add def for CMapNode.GetRootDocument() ActionGraph source location refactor Add MapSourceLocation, fix editing action graphs in .vmap files Check for MapSourceLocation in ActionGraphView Open source map when inspecting graph from .vmap Parent action graph editor to hammer window if editing map graph Push AG serialization options when saving map game object Makes sure we replace any cached versions of graphs Implement setting HammerSceneEditorSession.HasUnsavedChanges Fix action graphs from maps not caching correctly Only OpenContainingResource if not already open Fix action graphs in unsaved hammer maps Associate graphs with a HammerSceneEditorSession if open in hammer, which is resilient to renaming etc Normalize map path name Can tie map meshes to GameObjects, these get built into models and any components on the GameObject with a Model property get populated by it Trim world builder Implement CMapGameObject::Copy Sync native transforms to managed Scene changes (new component, prop edits, etc.) mark Hammer map as having unsaved changes (otherwise it refuses to save) Several assumptions of SceneEditorSession.Active.Scene should be GameObject.Scene Clean up Entity tool as you can no longer add/target games this way Kill Hammer EntityIO buttons (unusable) CMapGameObject overrides child selection Hammer GizmoInstance.Input.IsHovered is controlled by native MapView IsActive() Add jsoncpp so we can read/write json properly without fucking around with kv3 Replace manual scene serialization with jsoncpp, can map guids to map meshes better and it's cleaner Clean up MapView tick and scene render list Hammer sync managed gizmo selections with native selection set (authoritative) Fix warning
33 Days Ago
Add "Set to None" option to InputActionControlWidget https://files.facepunch.com/tony/1b2211b1/0WMKcWO3Z1.png
33 Days Ago
Correctly scope to current scene when pressing [Button] Fix gizmos being unavailable during editor tick
33 Days Ago
Fix gizmos being unavailable during editor tick Correctly scope to current scene when pressing [Button]
33 Days Ago
More docstring elements https://files.facepunch.com/ziks/2024-10-21/sbox-dev_l5UcrtR1tm.png Courtesy of bringing my laptop on some long train journeys this weekend Clothing Updates Show unambiguous ident subdirectory path in project creator window, resolves Facepunch/sbox-issues#6609 Bring back automatic default project names (My Project 1, 2 etc) now we use idents for project subdirs (and have for ages) Smite the random third-party cloud references in core assets Clothing Updates Move joint attachment mode and local frames to base joint, all joints should have these Unfuck native physics interface for creating joints, they should all pass in local frames, it's up to C# to calculate local frames for desired setup Merge branch 'master' into asset-browser-2
33 Days Ago
Unfuck native physics interface for creating joints, they should all pass in local frames, it's up to C# to calculate local frames for desired setup
33 Days Ago
Move joint attachment mode and local frames to base joint, all joints should have these
33 Days Ago
Clothing Updates
33 Days Ago
Fix AO compositing for custom shaders https://files.facepunch.com/sampavlovic/1b2111b1/CRqx99maFj.png Add compiled shaders for AO including for Material shaders
33 Days Ago
Remove aoproxies ambient occlusion, it never looked too right and it's stupid to have artists authoring them manually, almost no one did I still think SDF AO works better than SSAO in most cases, but they should live as a renderhook and artists don't need to touch anything, the way it is now is very hard to maintain, it could be 10x simpler VrMonitor goes long unused since we removed SceneMonitor & VR Multiview Replace AO on shader with a single, non-directional AO but that composites properly, older shaders wont have incompatibility problems, also makes Dynamic Reflection work without ao AO on lighting pass GTAO stub, remove sdf.hlsl (until we meet again 🫡 ) Iterate gtao Iterate GTAO Iterate GTAO Calculate gtao depth and normals properly, use inverted depth for gtao Iterate GTAO, use built in uint encoding for passes, all 3 passes work, workaround for dxc compiler bug with dot product with half floats Remove old SDF functions entirely (byebye) Iterate GTAO, works almost perfectly ingame, add noise function to it [pick] Add Motion.hlsl for motion vectors Iterate GTAO, start deoising, remove unused shit, fix bug with binding too many textures on the lexer Update texture formats and remove unused code Shitty TAA, smeary but iteratable with bbox clamping, add thin occluder compensation Proper TAA, option for spartial or temporal blur SampleScreenSsMSAA to composite non-MSAA screen effects ( SSR, AO, etc ) into an MSAA buffer https://files.facepunch.com/sampavlovic/1b1711b1/05csVIYZJM.png Add multibounce ambient occlusion (but keep it disabled for now) https://files.facepunch.com/sampavlovic/1b1811b1/UckNYcRubO.png Adjust AO intensity, separate passes, add spartial/temporal passes, adjust thin compensation to become thickness Add generic TAA filter to Motion.hlsl Sensible defaults and final tweaks Fix depth normalization on XeGTAO, add better TAA values for AmbientOcclusion
33 Days Ago
Show unambiguous ident subdirectory path in project creator window, resolves Facepunch/sbox-issues#6609 Bring back automatic default project names (My Project 1, 2 etc) now we use idents for project subdirs (and have for ages) Smite the random third-party cloud references in core assets
33 Days Ago
Fix depth normalization on XeGTAO, add better TAA values for AmbientOcclusion
33 Days Ago
Show file name + extension
33 Days Ago
Show asset name if only deleting one asset https://files.facepunch.com/alexguthrie/1b2111b1/sbox-dev_aNrz89mgvo.png
33 Days Ago
Sensible defaults and final tweaks
33 Days Ago
Hammer GizmoInstance.Input.IsHovered is controlled by native MapView IsActive() Add jsoncpp so we can read/write json properly without fucking around with kv3 Replace manual scene serialization with jsoncpp, can map guids to map meshes better and it's cleaner Clean up MapView tick and scene render list Hammer sync managed gizmo selections with native selection set (authoritative)
33 Days Ago
Add generic TAA filter to Motion.hlsl
33 Days Ago
Display "Everything" / "Recents" in address bar when those are active
33 Days Ago
Sort recents properly
33 Days Ago
Fix FindItemsThatStartWith
33 Days Ago
Implement basic viewing of net stats per connection in Networking tab of Console - GetStats public on Connection for this to be available ( https://files.facepunch.com/conna/1b2111b1/Medal_Pzi3rxHXV8.mp4 )
33 Days Ago
Clothing Updates
33 Days Ago
More docstring elements https://files.facepunch.com/ziks/2024-10-21/sbox-dev_l5UcrtR1tm.png Courtesy of bringing my laptop on some long train journeys this weekend
34 Days Ago
▆▋▌ ▌█▇▊▉.▊▌▍▄ ▌▉▍ ▌▋▍▊▄ ▌▉▇▊▌ ▅▋▅▌▅▍▋▋ ▄▇███▋▅▉▊ ▍▆█▆▆▄▊▆▅▋▊▄▄▋▇▅ ▍▆▊ ▉▋█▍▆ ▆▌▆▉ █▇▅ █▉▆ ▉▅▆ ▉▍▊█▉ ▍▅▅▊▍▊▅ ▇██▉▍ ▍█▇▆ ▍█▌▅▌▌, ▉▅▉▌▅▅▍ █▇▄▄▅ █▋▅▊ ▍▊▇ ▅▌▊▍ ▉▆▅▌▍▉ ▉▋▇ ▋▅▊▍▅▄█▍█▍ ▅▉▍▋ ▍▉ ▅▇█▆ ▋▋▍▌▅, ▍▊▍▆ ▍▍ ▌▆▊█▇ ▄▅█▌▅▇▋ ▌▉█▊▉▆▆▋▅▄▉▊▄ ▆▋ ▋▅██ ▋█▄▇▆▆▆ ▊▉▄▍▊▄ ▇▍▄▇▋▇▅ ▋▍▆ ▌▋▋▄█▄ ▆▇▆█▊▊▆▌▅ ▅▇▆▉ ▋▋ ▅██▆ ▄▅█▄▋▇▋▌ ▆▆▉ ▉▆▋ ▉▆▊▊▅▇▋▊▆▆ ▉▄▌▅ ▅█▊ ▇▆▋█ ▌ ▌▇█▅▍▌ ▄▉▉▊ ▄█▍█▄▉▆▅ ▉▇▌▆█▋█ ▉▊ ▋▊▅▇▉▇ ▊█▇ ▅▄▇▌▉▊▊▍.▍█▅▋█▅▅▅▅ ▅▄▉ ▌▋▊█▆ ▇▍ █▆▉▅▇▍▊▇▆▋::▊▋▅▉█▋▄▇ ▌▇█▄ ▆█▆▊▌'█ █▇ ▍▊▆▋▆▊█▆ ▌▋▋▋▌▇█▇▌.. ▍█▍▊▅▇ ▄█▇, ▄▅▍ ▊▅▅▌▌▌▄██ ▇▋▇▋█▅ ▉▋▅▌ ▍▌ ▌▌ ▄▉▋▋▇▆ ▆▌ ▉▇▇▆ ▊▉▍▍▉█▌▇▊▊▊▌▋▅▉▋ ▅▆▅ ▄▋▆▅▇▅▄▊▆▆█▅▍█▅▉▍ ▋▆▇▉▍▉▆ ▇ ▌▍▄▅ ▋█▋▇ ▅▇▉▇█▉ ▌█▋▊▄ ▅█▊▇ ▉▊▉▄▍▍ ▊▄ ▅▍▌█▅▄█ ▉▌▊▌▌▅▊ ▅▉▅ ▇▌▌▇▉ ▄▌ ▆▉▉▉ ▅█▌█ ▉▆▇█▊▅▋ ▇▆▅▆█▊▌▆▌ █▄▌▊ ▄▋▊▊▌▍ ▆▊▉▍▇█▌█ ▆▌▇▋ ▍▄▊█▉▆ ▇▊▆▇▆▊▅▅▉▆ ▇▋▉▊▉▊▌ ▄▌'▇ ▋▋▊▅▊█▉▋▅ ▋▍▉ ▆█▇▆▊▌▇ ▍▌▆▌▊▄█▆ ▊▆▆ ▆▉▊▆█ ▉▍▄▋▌ ▄█▍▌▆▌▉ ▅▆▆▍▄ ▊▍▉▉ ▍▍ ▅▅▅▍█▍▉█ ▍▄▍▌▆▊ ▄▉▌▇▆ ▍▇▆▍ ▅▇▍▆▆▌▊▊ ▍▉▄▍▊▋ ▅▍▄▇ ▌▍▉▆█ ▍▇▍▅▄ ▅▇▍ ▊▍▆▍▉█▊ ▆▉▆▇▍▆▆▋ █▌▋█▅▊ ▉▇▇ ▌▌▄▍▆ ▊▊▉▊▊ █▍█ ▋▉██▄▆ ▋▆▆▆▊▉█▇▆▊▅ ▇▄▊▌▅▊, █▋▍▌ ▉▋▇▊ ▌ ▋▄▄ ▆▄▋▉, ▇▊ ▅▊▊▇ ▇▌▇▇▍▉▆▇▇▉▊▌ ▍▋▄ ▇▅▉▍▊▌▌█▆▄ ▊▇▌▋▍▋█ ▄▅▇▅ ▉▆▌▌▇ ▉▇ ██▇▄ ▄█▍! █▊▋-▄█▉▇▄▆▇▅█▉▇▌▅▌▌ ▇▌▋▍ ▊▄▆▇ █▄▋▋▉.▆▇▋▉▄▋▍▊ ▌▌█▍▉▊▌ ▍▍ ▉▇█▆▊ ▉▅▉ / ▍▊▋▅▄▆▇ ▉▋▌ ▄▌▌▋█▌ ▅▉▄ ▇▍▅▇▇█▉██▆▆▉▌▊▍.▅▄▆▉▋▉▅▇, ▋▌▌▅▄▋▍ ▊▅▅ ▉▌▉▋▇▇ ▋▉▌▍▇▉▆▆▅. ▍▊▇▊▊▌█▆▊, █▉▉▇█▋█▊: ▄█▆▋▇▇▋▍ ▋▅▋ ▆▍▅▉▊▍▅▅▉▍█ ▆▄▊ ▍▆▌▋▇▅ ▅█▋█▌ ▍▇▊▆▊ ▋▌▊▊▄▋▇▍▍ ▇▆▉▍▊▊▅▆▅█ ▅▍▅▇▄▊▌▅▊▋, ▊▉▉▍▍ ▆▊ ▊▇▊▆▍ ▌▌▄▌▉█ ▅▌▊▋▅ ▆▅▋ ▊█▊▄▅▉▊ ▆▆▌▋▊▍█ ▍▉▌ ▉▅▅▄▆▇▅▅ ▇▄▌▄ ▍▇▇▋▆▉▅▍ ▇█ ▋▆▉▉▅▅▌▉▊, ▌▄▌▊ ▄▍▊▇▄▉▍▌ █▌▆▇█ █▌▋ ▌▋▉█▅█▍▉▋▅▍ ▆▋█▍▍ ▄▋▆▌ ▊▆ ▅█ █▉▆▇▇ ▆▋ ▋▄▋▋ ▄█▇█ ▉▄▄▉ ▌ ▉▊▄▄▍▆▆▋▅ ▄▅ ▊▊▅▄▊ ▆▉▅██ ▆▆▍▊▌█ ▊▆ ▋,▌ ▉▊▆▍▋ █▆ █▅▄▄ / ▊▍▊ ▅█▇▇ ▌▇▉▌▅ █▆ █▅▇▅ ▋▉█ ▇▆▊▍█▅ ▇▅▍ ▄▄█▇▊▆.▇██▅▇█▇▆▊▉.▋▋▆▇▍▆██▊▆▋▄▆▍▅ ▄▊██▌▊▄ ▉▆▋▌▋▉▅▍▄ ▍▍█▋█▄▌▄▌ ▊▍▋██ ▆ ▆█▍▇▋▍ ▌▌▍▊▅▄▉▄▉▌ ▇▊▅▌▄▌ ▅▊▍▌▇▊ ▅▊▇▅▋▉▉▆ ▉▌ ▆▄▄▅ █▄▇▄▆▍▆▋▊ (▅▆▊▆█▇ ▇▇ ▍▉▆▊▆ ▇▄▆▄ ▉▆▆██▅▋▌▇▄ ▇▍ ▉█▇▇▍▅ ▌▅ ▆▅▍▆▉▆?) ▉▌▉▆▋▇ ▋▆█▄▉ ▆▊▅ ▌▇▅▆▍ ▇█▅▍▆▆▅▅ ▅▋ ▇▇▍▍▅▉ ! ▍▆▄▇▍▅ ▆▍▇▌▋▉▊▆▌.▍▋▆▅▌█▌▇▍▉.▆▊█▄▊▉▆.▉▉▍▄▄▌ ▄▆▅ ▅▉█▉▊█ ▌▌█▊ ▊▌▇ ▅▄▍▅▌▋ █▋ ▍▊▆█▍▄▆▋▌ ▌▆▍▊▆▇▌ █▌ ▋▋▊▊▄▌ █▆ █▌▅▍▍▇ ▋▇▅▍▅▄▋ ▇▊▄▉ ▋█▍ ▊▌▋▄ ▊▍: ▍▋▅ ▇▉▇▍▋▊█ ▊▍▍▍▅▇▅▇ ▋▇▅ █▅▉/▄▇, █▉▊▉▅▄▆▍ ▇▄▆▌ ▇▋ ▅▍▊▅▇▊▋ █▋ ▇▋▇▇ ▇▌▉▉▉▆ ▆▌▇▅ ▅▇▊▊▍▊▅▄▆▄ ▍▆: ▅▋▍▅ █▉▄▌▆▋▋ ▊▍▅▋█▊▉▄, ▌▋▌▉▌▋▍▌ ▌▉ ▆▉▆█▅▊ ▌▉█▌▊▌ ▉▌ ▇▉▍▋▋ ▌▊ ▇▊▍ ▄▉▇▅▅ ▇█▋▅-▆▄▆█▆▋/▉▍▍▆▋█/▄▅▍ ▆▇▋▆ ▄▄▍▌▌ ▇█▊▆▊█▄ ▇▍▋▆▌▄▄▋▍ ▆▌▋▅▍, ▉▄ ▇█ ▍▌▊▅▊'▅ ▇▅█▅▌, ▅▆▇ ▉ ▆▇█▆▌▅▆ ▆▄▇▋▆▅▋ ▍▋ ▇▆▌▋▊█▅ ▇▊▍▊▊▍▍▋ ▄▉▆▍▉▅▋█▆▊ ▉▉▌▌▌▅██ ██▍▇▉ ▌▋▅▅▊ ▍▉ ▉▆▅▉ ▋▋▍▌ (▇.▊. ▊▋▊▄▄▌▇█▋▋, ▆▅▉, ▉▌▊▍▇▅█ ▍▄▉▋▅), ▆█▇▅▅ ▆▊▄▋▋▅ + ▋▉▌▍▌▊▍▅▇▇▋ ▉▊ ▄▋▉ ▊▍▊▊▆▌ ▍▋█ ▍▆▉▉▊ ▅▋▋▋▌█▉▆▉ ▆▄▇ █▋▉▌▋▄▇▊▍▄▅ ▅▌▌▉ ▄▉▍██▊▊▆ ▄▌▍▆ ▇▄█ ██▉▌█▅▆▉▆▆▅▌▊▄▊▊▌▍▌█.▋▊▌▊▋▋▉█▄▌▌▄▉█▊▋▉▍██▋▍▋▅▆▋▄▅ █▅ ▄▆▉ ▉▋▋ ▉▌▅▋▊▌▉█▇▅ ▇▅█▌ ▄▍▉▇▋▋▍▊█ ▍▋▇▍▌ ▋▊█▄▋▌▅▊▋ ▊▋▍ █▆▌▅█▌ ▋▉▄▅▊▅▌ ▄▌▌ █▆▄▇▌▊▊▊▊▇ █▉▋▇▅ ▌▊▋ ▇▊▌▆▉ ▌▉█▋▊▍▆▅▋▄-▇▆▉▊█ ▅▋▊▅█ ▅▇▆ ▌▊ ▍▌▉▅ ▋▅▄▅▋▅▌ ▇▌ ▍▋ █▅▋█ █▅▉▆▅▊▉ - ▍▊▌▇▉▆▊ ▄▋▅▊▄ ▍▍ ▆▄▌█▊ ▋▍▋█▍▍ ▉▌▇ ▉█▉▇ █▆▅▇▆ ▇▊ ▉▋▋▆▉ ▋▅▋▉▅▄▋ ▋▉ ▌▉▆▆▌ (█▍█▆▉▇▉▆▉▋-▋▍▋▉▌ ▄▍▅▉▌▆▌'▌ ▇▆█▊ ▋▌▊▊ ▍▅█▌▊▅▉ ▆▍▍█▉) ▍▌▆ ▆▅▍▉ ▍█ ▋▇▊▉▅▅ ▍▄▊▌█▍ ▅▋ ▋▇▊▅▍▇▍▉ ▍▋▇▌█▍▆, █▌▆▊ ▆▆ ▌ ▋▇▉▄▊▅ ▆▅▍▊▌▄ █▍▉▌▉▊ █▅ █▌▆▆ ▊▍ ▌▅▄ ▆▆▍▉▍▊▆ ▉▍▋▋▆▋ ▋▋▄ ██▆▍▍▊▄ ▋▄▇ ▌▅▆▇▊▇▅▅▋ ▇▍█▉▇▆▆ ▊▌▋▌▊▄ █▆▅▉▉▆ ▄▉▆▅ ▉▉▋▅ ▆▉▅▇▅▊▄▇ ▄▄▍▍▊▋▄ ▅▄▆▋▋▊▄ ▆▅ ▋▍▅▆▅▋▍ ▍▉▅▄▅ ▋▇ ▋▍▄▅'▆▅ ▉▉▉▆ █▄ ▅▇▌▍ █▆▆▍ ▉▆▉▋▆▆ ▄▍█▉ ▊▌█▊▉▋ ▋▉ ▌▄▉▆█▌▋▅ ▊▊▅▊▊▋▌ ▋▋█ █▇▌▍▄▉▅ ▄▊▊▉ █▌▄▆ ▍█▅█▇▌▋▍▅▉ █▌▋ ▌▌▍▊▍ ▄▇▇ - ▊▌▍▍ ▄▇▆▅ ▉▆ ▌▅█▋ ▇▋▇█▊▋▇ ▋▇ ▊▋█▅ ▋▊▍▉▋▊ ▌▇▉▅█ ▆█ █▌ ▊▇▉▊▇▅▉ ▆▇ █▇▊ ▄▌ ▉▇▅▊▆▉ █▊▊▄█ ▊█▌▉▌▅ ▆▆█▅▍▄▅▄ ▄▅█▉▄█▄/▌█▄▌▇▉▅▍█: ▍▋▉▅ ▋▊▋▋█_▇▄▇▉▋▉ ▆▄▉ ▅▇▍▄▊▊ █▋▄▋▊▉▉ ▄▆▄▅▆▉▄▇▇█▋▅▋▇▊▆▋▉▊ ▆▍▍▊█▍▅ ▍▊ ▍▊▍▄ ▌▌ ▍▅█▉▆▊▄▆▋ ▌▆▌▍▆▌ ▉▆▆ ▍▆▉▄▉ ▊▅▅▊ ▇█▋█▊▆ ▌▇▉▋▆▆▍ ▆▋ ▅▌▅▅▆▋▌▇▇▋▄▊▆▌▉ ▌▇▅▄▊▋▄▇▊▊▄, ▌▆▋▄▍ ▄▍▋▍▋ █▄▍▍█▄▇ ▊▉▊ ▊█▄▍▌▅▍ ▉▄ ▅ █▉█▆▌▉ ▊▇▌ ▄▊█▍▋▇▆▅ ▅▆▊▋ ▋▄▄ ▇▇ ▆▋ ▆▋ ▄█▋▋ ▇▍▉▋▄▌ █▄▌█▍▅▉ ▆▉▉▍▋ ▇▇▇▋ ██▌▉▇▌▄▄ ▍▆▋▆▇█▋ █▄█▆ ▋▌▉▄▆ ▌▄▅▊▋▆▅▇ ▇▊▉▅▍://▉▉▊▍▋.▉▋█▇▌▅▌▉▋.▌▅▊/▌▌█▊▊/▇▊█▇▊▅▇▌/▋▌▊▉-▉▍▉_▌▅▄▆▋▉▅▍▌▆.▉▆▆ ▋▌▊ ▊▇▌▆▍██▌ ▊▅█▅▇▆▄▅▍ ▉▌▋▋▅ ▌▅▅▊▉▄, ▅▍▄'▅ ▌▆▍▆ ▊▊▊▇ ▊▆ ▉▊ ▄▍▊'▊ ▆▇▆▊ ▌▅▌▉█▊▄ ▆▍▇▋▋, ▄▇▇▄▆▋▉▇ ▍▉ ▄▉▉ ▅▅▆ ▍▍▌▋▊█▆ ▋▇ █▋▍▊▇▇▇█▌▊▊▊▊▇ █▌▍ ▋▆▅▇▍▇▉ ▋▇ ▄▉▄▄▉.▅▉▋▌.▄▉▊▉▅▊▄▋ ██▊▇▉▇▌▋▊▍▊▄█▇█▍▄▇▋█ ▋▄▉▄▌ ▉█ ▇▆ ▅▅█▆▆▌▄▅▍█▅▅▆▍▅▍ ▊▇ ▊▄▋▉ ▌▍▊▍▇ ▍▉█▄ ▍█▉▉ ▌▆▌▆█▇ ▋▄▌ ▊▆█▅ ▇▅▆▅▋▇▉▉▆ ▉▊ ▆▉▄▊██▅▋▋█▆.▋▌▄▅▊▍ █▍▆▇ ▉▆▉▇▆ ▌▆▅▍▍▉ ▊▆▄▍ ▇▅▊██▉▊▋ ▄██▅▉ ▊▊▄▇▆▇▋▆, █▆▆▊▍▉▌█ ▊▄▊▍▅▇▌▌▉/▌▋▌▉-▉▍▌▊▊▉#▇▌▆█, ▍▇▋▌▍█▋▉▍/▌▆▇█-▋▅▇▆▋▅#▋▇▉▌ "▋▍▆▇▄▆▄ ▉▊█▉▋▊█" ▉▍ █▌▆▌▍ ▆▅▉▄▉▆▆ ▉▊ █▄▇█▍▌▊▄ ▋▇▌ ▇▊▍▌▄▉▍ ▋▌▋▍▅▋▍, █▌▋▇▉▍ ▌▍▍▍ █▇ ▅█▋▇█▄▍▍ ▊▊▅▊▍▍▇ ▉▋▍▉▍ ▊▉ █▍▍ ▋▆▇ ▄▇▊▄▇ ▋▇█▄▉▇▌ ▅▌▆▌▊▄▇▉ ▊▇▆▄█▉▊▊▍/▋█▊▌-▉▌▆▄▅▇#▅▊▌█ ▆▊▊▋▌▆▊▇▌ █▋▋▋▅▉.▊▌▅▊█▇ ▅▊▍▉-▍▄▌▉▊▅/▌▋▌▄█▋/▋▌█▇ █▉▆▅▌▄▄█▉ █▄▄▇▅▄▍▊▅▌▆▌▋->▅▆▌▄▍▅▅ ▌▄ ▆▆▅, ▌ ▊▇▋'▋ ▌▍▇▍ ▆▄ ▌▇▊▍'█ ▄▉▍▆▉▊▇▄ ▇▌▅ ▍▇▊█▋▋▆▆█.▊▌█▄▆█▌▍ - ▅▍▊▇▆ ▊▌▉▇▄▊▆ ▆ ▇█▍▋ ▄▄ ▆▋▆▄▅▇█▌ ▅▅▌▍ ▄▌'▇ ▌▇▆▋▊▊▌▌█ ▋▉▄▆▆█▉▆ ▆▇▉▅▍▍█ ▄▋▌▊██▄ ▉█▌▉▅▊▍▇ █▇▍▌▇ ▉▆▆▉ ▋▉▊ ▋▊▆▆ ▍█▋▋▌▋▆█ ▍▊▄▉▇▋▆▌▆ - ▌ ▍▅▆'▄ ▉▍▋▉▇ ▍▌▌ ▇▌▅▊▊▋ ▍▆ █▊▅█▍▊▉▋▍▌ █▋▇▍ ▋▅▍▌ ▌▌▄▇ █▆▊▄▇▅▇ ▊▅▉▌▄▇▇▍▌▄▍█▄▉▉█▅██▅▄▋▋ ▌▅ ▆▅▅▌▋▌▆ ▇▇▆▊▌ ▌▇▉▇▅▅▌▍▇▍▋▍, ▌▉▊▍▄ "▆▍█▊ ▋▋▆▅▅▄▆▊▄.▊▇▌▊▆▄▌.▋▍", ▊▍▍▋▆▇▅▄ ▆▆▇▆▄▇▆▆▅/▉▆▅▍-▄▊▆▆▇█#▅▆▆▉ ▄▆▆▆█▊ ▍▉▍▄▄▌▍▇▌▉▍.▉▇▅█▉, ▊▍▉▇▋█▌▌ ▄▌▄▋▆▄▋▅▌/▉▅▄▇-▅▍▆▊▍█#▋▉▊▌ ▄▄▉ ▊▆▊▅▍█▊.▄▍▆▌▆▄▋▋▌▋▌ ▄█▆ █▄▇▊▋▄▅▇.█▄▍▊▋█▉█▊▉▊█▆▅▊█( █ ) ▌▊▍▋ ▌▍▄▊ ▆▅▆▇█ ▅█▉ ▋▉▆▌ ▉▇▇▆▇▄▇ ▇▄▍▇█▍, ▆▍▇▅▉▉▄▌▄ █▆: ▆▅▅█ ▆▍▉▉ █▉▌█▇▋ ▇▋▊▋▊▇▌ ▋▇▆▆▅▇▅▍ ▅▍▉▍▅ ▍▆▍ ▍▄▄█▋▄█▇ █▄▇▆▋█▅█▄ █▉▋▍▅ ▅▉▇▉▆▉▇▉▅▋▅ ▌▊ ▊▉▍▄▋▍ ▌▋▅▍ & ▍▆▋▌▅ ▌▊██▄ ▋▍▉▄▅▋ ▌▄▌▌▊ ▄▍▋▉▌▅▇ ▋▌▄█▍ ▉█ ▇▉▋ ▆▊█▇▋ ▋▍ ▊▍▍▍▍ ▄▋▍ ▆▇ ▌▆▍▆▆ ▋▇ ▋▉▍▇▄ ▍▊▋▆▅▌▅▇ ▇▇▅▌▍://▌▅▇▋▋.▆▉▋▆▉▅▉█▍.▍▅▊/▅▌▊▊▍▇▆▋▍▍▋/▌▄▉▄▅▇▇▉/▍▍▌▋-▌▆▋_▄▉▊▊▍▆▆▋▅▇.▅▇▌ ▌▅▄ ▌▇▋▌▅▍▅ █▅ ▉▇▅▊▇ ▄▌▇▅▆▊▄▆▄ █▊▇▇ ▊▍▄ █▊▌▍▄▇ ▄█▊▄█▆▉▇▌▅, ▄▌▆ ▇▍▋▊ (█▍▉▇+▇▅▌▊█+█), ▅▅▊▇▋▇▊▌ ▌▉▅▆▌▋▊▉▉/▆▉▇▊-▄▋▄▇▍█#▄▊▆▋ █▄▋▇▆ ▅▋▇▉▉█▅▅█ ▆▅▌▊▋▊▉▄ ▄▌▅ ▇▊▍▋▌ ▊▅▉▌▋▆▄▇ ██▋▍▍▌ ▅▌▊▊▄ ▌▊ █▍▊▅▇▍▍▆▌▉▌▉▊▍▇▉ (▇▋▄▄█▅▇▍ ▊▅▆▊ ▆▋▄▌ ▌▅▅▅▍▊▇▆▅▄) ▊▌▍ "▇▆▌▌▇▇▌▄ ▌▆▇▊▋▉▆▋" ▆▄ ▅█▍▊▉▌▅▉▊▇ ▋▌▇█ █▍▆▌▇▌▌▇ ▅▌▄▍▋▉▆▅▄▉▌▄ █▇▍▊ ▋▄▊▋▋█▆▍▌ (▌▆▋▆█▇█▅, ▋▇▅▊▉▄▉, ▆█▇▆▍▇ ▍▄▄▉▄▇▅, ▄▊▊▉▅▅) ▍▇▉▍▊▅ █▌▋▄▋▄▆▍ ▄▉▆ ▅▍▍█▌▅▋▊ ▇▍▆▄▄ ▊▊█▇▅ ▆▋▉ ▊▄▉▉▆▄▆ █▌█▄▉█, ▉▉▆▋▄▅▌▆ ▇▆▅▋▊█▅▊▍/▌▌▋▊-▉▍█▍▊▅#█▅▉▉ ▆▉▊▅▄▆▊▄▄▍▇ ▇▌▇▋▊▊ ▄▌▌▉▆▌▌: ▍▊▌▋█▄▇ ▄▋▋▍▆▍ ▆▄█▆▋▋▌▇▆▄ ▄▅▍▉█ ▇▊▍▍▊▌▅█▇/▌▉▄▉-▆▉▅▇█▊#▇▍█▊ ▋█▄ █▋▉▋▉██▍▋▅▌ ▍▉ ▅▄▊▄█▅▊▆ ▄▊▍▋▋▇▅ █▌▄▅█▊▇ █▌▊▆▅▉ ▊▉█▆▇▌_█▆▇█_▅▉▌ ▋█▄▊. ▄▌▅▆▉▌▄▋ █▍▌▉▋▇▅▄▅▊█ ▆ ▊▇▌▌▍ ▄█ ▌▉▊▌▍ █▆▊█▍▆ ▅▋▇▉ ▌▍▊▊▊▄▄▉ ▋ ▅▍▋ ▍▊▄▇▇█▇ (▆▅▌▄ ▍▅ █▋▋_▅) ▌█▋ ▌_▄█▌▅▆█▇▌▄▍ ▋▍▊▆▍▇▊▌ ▊▇▅█ ▄▍▋▉▅▇▇ ▇▌▊ ▆▌▍▆▅▅▅ ▍▍█▅▌▆ ▍█▆▌▇ ▉▍▋▇▋▊▇▍▇▊ ▆▄▉▊▄▄▋▌▇ ▊▅█▋▋▇▋▆▅▊ ▌▅▍█-▍▌▍▍▌▅/▆▌▆▌█▊/▍▍▉▋ ▆▆▊▌▅▅▄ ▆▄▄ ▍▇▅▆▉▉▇ ▊▉▋▅▅ ▌▊▄▌▍▊▆ ▄█▌▊ ██▉█▄▆ ▋▌▋▌▌▅▌▊ ▍▆▍▇▆ ▇▌▊▄▇▍▌▇▆ █▍▄▉▅▋ ▋▌▍▄▇▇▌ ▍█▇▄ ▉▅ ▅▍▇▇'▊ ▅▉▌▋ ▇▅ ▉▅▍█▇▋▋▆▍▅▌▅ ▆▌▄▍▉▍▅▋▇▇ ▋▅▇▅ ▊▇█▊▌▄ (▉▌ ▉▅█▇▉ ▊▉ ▌▉▍ ▇▌▄▉▊▆▄ ▌▊▉▌▅) █▋▅▆ ▅▇▌▇▆ ▌▉█▆▌█▅██▆█ ▌▋▌█▄▄▊▆▊▍ ▇▄▍ █▋▋▅▆▉▅▍ ▆▊█▆ ▉▆▌▋▌█ ▅▆▇▇▊ ▌▋▅▄▊▊▋▇█▉▉▌ ▅▋ ▄▅▍▄▉▉ ▅█▆▉▌▌ █▋█▆▋ ▉▄▄▌█▅██▇/▉▇▄▊-▄▇▊▍▌▇#▆▆▌▋ ▉██▊▆▌ ▅▍▌▅▌▍▋.▅▌▉▍█▊▅▄▋▇▉ ▉█ ▅▉▍▄▄█▊▇██▍ / ▉▆▊▆▊▉▌▌▄▉▉ ▅▆█▋▊ ▋▊▋▄▍▄▌▊▊/▍▋▅▇-▆█▊▇▊█#▆▍▍█ ▅▉▊▉▌ ▊█▊▊▇▌▍▊▊█▍██▄▉▊▌▊▉ ▋▅ ▍▋▉▄█▊▌▆ ▊█▇▉▍ ▄▆▆▄▌█ ▇▌▍▍▋ ▍▌▍▇▌▇▍▅▋▋▊▊ ▅▊ ▌▅▅ ▇▄▍▊ ▌█▄▇▇▋▌▄▇ ▆▄▋▌▄▊▋██.▆▉▅▌▆▇▉▅█▄▆▅█▌▄▄▅▇▍▍█▉▄▅▇█▊▍ ▆▉ ▅█▊▍▌▇█▄ ▆▊ ▌▅▇▌▋▆▌ ▅▊▌▍▇▌▉▍▊ █▄█▋▋▉▍▌▌▌ ▉▉▄▊▊▄ ▅▆▄▇▆://▆▇▅▊█.▆▇▊▌▉▅▄▅▌.█▊█/▍▆▅█/▍▍▋▇-▅▄-▆▍/▅▉█▉-█▆▊_▆▅▆▆▉▆▄▆▇█.▌▋▅ ▇▊▇▌▅▋ ▆█ █▇▆▆▅▊▊ ▄▊█▋▊▋█▇ ▊▄▊▆ ▍▊▇▌▇▆▄ ▉▉▆▊█▊ ▄▆▋▋▍▍█▉ ▇▆▊▄▄▅█▍▆▋ ▋▉▉ ▆▋▅█▍▄▅▅▅▋▄▍.▄▉█▊▉▊▄▆▊▊▇▊▌▆▄ ▉▉▆ █▌▍▅▌█▊▇.▄▍▆▇▆█▊▄▍▊▄▇▋▄▋ - ▇▌▊▇ █▊▊ ▍▉▊▌▆ ▆▄▍▋▍▍▆▊ ▄▍ ▆▇▍ ▄▋▆█▉▅▉ █▄ ▊▆▅▄▅▊ ▇▍▋ ▋█▅█▍ ▍▌▄██ ▇▊, ▇▊▇█ █ ▍█▉▄█▇▌▅ █▋▊▌ ▋▊▇▅▆://▉▍▋▉▋.▆▉▉▋▄▄▇▆▉.▌▊▊/▋▍▇▋▆/▄▇▆▉▆▆▅▊/▌▄▉▅-▄▇▋_▌▅▅▄█▊▆▋▋▅.▅▋▆ ▄▍█ ▋▉▆▌▇ ▆▅▄ ▆▇ ▅▅▄▌▅ ██ ▌▌▉▌▇▆▊▋▊.▉▇▄▉▌▉▍▊▋▊▌█▇▉▍ ▄▋▅▉▅ ▋▌▄▊▇▇ '▆▇▊█▇▊' ▄▋▋▋ ▄▋█▊▆-█▅▉▊▍█▆-▉
34 Days Ago
Fix index out of range in HashSetEx.EnumerateLocked
35 Days Ago
Clean up Entity tool as you can no longer add/target games this way Kill Hammer EntityIO buttons (unusable) CMapGameObject overrides child selection
35 Days Ago
Factor in surface velocity when solving linear friction constraint Add PhysicsShape.SurfaceVelocity Add Collider.SurfaceVelocity - Sets the local velocity of the surface so things can slide along it, like a conveyor belt https://files.facepunch.com/layla/1b1911b1/sbox-dev_0LL7vekKM3.mp4
35 Days Ago
Remove mock GameObject/Prefab code from managed MapEntity Add CMapGameObject map node with managed counter part that wraps a GameObject Hammer world's Scene uses HammerSceneEditorSession Add HammerManagedInspector that can take over if it likes the MapNode. We only like MapGameObject for now Run Scene.EditorDraw() on MapView for gizmos, remove old Entity.DrawGizmos Hammer: Create GameObject Test option More explicit HammerEvents Managed map node callback interface, a little convoluted because of mapdoclib <-> hammer <-> managed. But this is easier to do callbacks and can return values And the managed side Serialize/deserialize CMapGameObject CMapGameObject::GeneratesEntityModelGeometry() Expose CMapGameObject JSON to MapBuilder via IHammerMapLoader Collect CMapGameObjects, compile them into scene.json inside the vpk and let MapInstance load them (Very hacky code needs cleaning up) MapWorld.Scene sets a Scene.Source in an attempt to make AG happy Tie Meshes to GameObject button Add def for CMapNode.GetRootDocument() ActionGraph source location refactor Add MapSourceLocation, fix editing action graphs in .vmap files Check for MapSourceLocation in ActionGraphView Open source map when inspecting graph from .vmap Parent action graph editor to hammer window if editing map graph Push AG serialization options when saving map game object Makes sure we replace any cached versions of graphs Implement setting HammerSceneEditorSession.HasUnsavedChanges Fix action graphs from maps not caching correctly Only OpenContainingResource if not already open Fix action graphs in unsaved hammer maps Associate graphs with a HammerSceneEditorSession if open in hammer, which is resilient to renaming etc Normalize map path name Can tie map meshes to GameObjects, these get built into models and any components on the GameObject with a Model property get populated by it Trim world builder Implement CMapGameObject::Copy Sync native transforms to managed Scene changes (new component, prop edits, etc.) mark Hammer map as having unsaved changes (otherwise it refuses to save) Several assumptions of SceneEditorSession.Active.Scene should be GameObject.Scene
35 Days Ago
Reference formatting tweaks https://files.facepunch.com/ziks/2024-10-19/sbox-dev_UakhR0G0Jj.png