17,092 Commits over 1,308 Days - 0.54cph!
Make sure ModelPhysics always finds a root body to use as game object transform
NavMeshAgent.SetAgentPosition works
Add CharacterController.Bounciness
PhysicsWorld.Bodies only returns valid bodies
Rewrite exception handler, try to ignore more c# exceptions
Cupertino: Managed Build Scripts
No need for nvpatch for non-windows targets
Cupertino: Add Makefile for VPC so we can actually build it without actually having vpc
Rename some IOSALL flags to just PLATFORM_APPLE, we always imply arm64
SDL_config doesnt always imply windows
Update gitignore
Revert "Remove bloom effects layers ("QuarterResEffects"), nothing is really using it, can be better done outside managed if you really want it, was used for the cool HLA ghost effects, did a quarter res depth downsample that was never used"
This reverts commit f2ff2e24581df8b38093cce5717420957680fecd.
Revert "Remove bloom effects layers ("QuarterResEffects"), nothing is really using it, can be better done outside managed if you really want it, was used for the cool HLA ghost effects, did a quarter res depth downsample that was never used"
This reverts commit f2ff2e24581df8b38093cce5717420957680fecd.
Hash view ID to FindOrCreateFrameBufferScratchTexture as well to solve collision when we have multiple views with same resolution, eg with splitscreen
Fix dynamic reflections and AO in viewported views
Use `GetFinishRenderingViewsCounter()` instead of `GetFrameUpdateCounter()` for calculating pingponging for dynamic reflections, the second one increases when all views are rendered
Actually catch and report crashes
Fix Asset.CompileIfNeededAsync() not failing early for assets that don't compile via asset system: maps, anim subgraphs and shaders
Fixed GameObject.Clone not following CloneConfig.StartEnabled, added test for it
Fixed joining servers forever (it has been a hard week)
https://files.facepunch.com/garry/a0695fad-3581-4fb4-bf8f-c014ba41f890.png
Don't save go id if it's a prefab (fixes sbox-issues/issues/4687)
Recast, NavMesh, NavMeshAgent - https://docs.facepunch.com/s/sbox-dev/doc/navigation-vwoSUsEPJ9
Add NavMeshAgent component
https://files.facepunch.com/garry/eb931495-2b71-4152-a87a-c3c9ad982778.mp4
Add PhysicsWorld.Bodies
Add NavMeshGenerator.AddFromPhysicsBody
Added includes/excludes to navmesh
Editor for navmesh
https://files.facepunch.com/garry/1ce940d5-6c9c-4a19-8c52-827ae3c53a4d.png
ByteStream.Read( buffer, offset, count )
Fixed from my las commit -_-
Add unit test for cloning case with destroying a child gameobject
Don't serialize child GameObjects that are about to be destroyed
Editor integration
https://files.facepunch.com/garry/7b662dc6-e270-4fa7-961d-50ee2eb8838f.png
GraphView: open context menu with space
Fixes Facepunch/sbox-issues#4670
Fix live unit tests
unit test allow native debug
Add BBox.Grow
Add Triangle.ToString
PhysicsWorld.GetPolySoup
Use recast from c# without navlib
Cache off the triangles on generate
RandomPoint, CloestPoint
https://files.facepunch.com/garry/e07dbdff-ba17-4bb9-96bc-62edf81b2031.mp4
Add GetClosestEdge
https://files.facepunch.com/garry/7e693949-ffe2-4bb5-8a04-d24469a3b406.mp4
Add GetPathSimple
https://files.facepunch.com/garry/e369c9d6-54b1-4648-a023-6217ab866cc8.mp4
PathSimple unit test
Cleanup
Agents
https://files.facepunch.com/garry/da414070-bc1a-49ec-b39c-974d3b7fa33a.mp4
Agent cleanup
InteropGen change params to @params
Access dtCrowdAgentParams
Cleanup
https://files.facepunch.com/garry/19a3dacf-466b-4d0e-8e9a-5710131c5b7a.mp4
Fix ToolScene fullbright, used by blend channel pickers in Hammer
Stomp cursor delta if we're locking to canvas in scene view, should hopefully prevent camera going wild when wrapping?
Add support for editor pixmap cursors from managed, use it for custom eye cursor inside scene view
Add margin to LockCursorToCanvas, clean up
InteropGen change params to @params
Access dtCrowdAgentParams
Cleanup
https://files.facepunch.com/garry/19a3dacf-466b-4d0e-8e9a-5710131c5b7a.mp4
WIP GameObject.Properties
Proof of concept Dynamic Properties sheet
https://files.facepunch.com/ziks/1b3111b1/sbox-dev_5ewZW6QaZ5.png
Nicer integration of dynamic properties with the Action Graph editor
https://files.facepunch.com/ziks/1b3111b1/sbox-dev_JBs2cwHbhM.mp4
Expose setting properties on arbitrary GameObjects
Nicer dynamic property serialization
Fixed build errors
Rename GameObject.Properties to GameObject.UserData, document
Make TaskSource.MainThread() / TaskSource.WorkerThread() public again
Standardize SceneMap.MapName same way native does, fix world physics when using local world name
Start drafting out UI navigation with controller, by traversing panels
Refactor so we can switch between panel traversal and virtual cursor based on input
Don't revert back to PanelTraversalSystem if analog is empty
Add basic working virtual cursor using PanelInput.UpdateMouse
Fixed calculation of virtual cursor position
Use stylesheet to style virtual cursor, add ScrollSpeed
Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access
Disable system if mouse is moving at all
Make VirtualCursorOverlay a razor panel
Update SteamInput manifest to include joystick inputs for Menu action set
Hide mouse cursor while we have controller input active
Support processing any number of root panels, make it work in GameMenu
Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed
Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu
Process inputs in MenuDll
Remove some direct controller access, use Input.AnalogMove/AnalogLook instead
VCS: only tick for panels that want mouse input
VCS: fix is-pressed style
Refactor, add ControllerOverlay, so we can add another overlay for panel traversal selection
Add PanelTraversalOverlay (for lack of a better name)
Work on finding panels from delta, fixed not finding an initial focused panel
Give eligible panels a score and give it some data to score by, focus the lowest scoring panel, also hook up selection and scrolling
Decrease block increment size, can get finer selections (i.e PackageCard modal button)
Fix FindPanelsAt never finding more than 1 panel
Remove PanelTraversalOverlay, it looked shit
When enabling VCS, use the mouse's current position
Traverse blocks relative to the screen size, instead of set pixels
Add IControllerInputSystem.Destroy
Store last mouse position, don't run in multiple contexts (sort this out in a better way next) - fixes VCS overlay lingering around
Minor cleanup
Run Input.SetFocus( null ) on IControllerInputSystem.Destroy
Scope UI simulation
Remove context hacks
Pass DoAnyPanelsWantMouseVisible() to ControllerInput, don't call if we don't need input
Only use pointer-events on elements we want to click on for SocialBar
Remove unused code, documentation pass
When looking for an initial panel for traversal, use the mouse position (works w/ virtual cursor)
Remove InputManifestTemplate/GamepadManifestTemplate groups from Sandbox.Game csproj since they don't exist
Don't run ControllerInput.Tick at all if we don't have a controller
Docs for IVirtualCursor
Kill controller input system if we run out of gamepads to use
General cleanup, remove unused ControllerOverlay panel
Add adjustable analog sensitivity for UI
Post-merge fix
Support Alex's scrolling
Fixed action set flip-flopping between Menu and InGame twice a frame :S
Give components an ID, add ComponentList.Get( guid ), serialize and deserialize component references properly
Add backwards compatibility when deserializing component references (find type)
Fix non animated ragdolls not applying physics bones properly
PathSimple unit test
Cleanup
Agents
https://files.facepunch.com/garry/da414070-bc1a-49ec-b39c-974d3b7fa33a.mp4
SceneTabButton: Add "Close to the Right" option, don't hide other buttons, just make them disabled
Fix "could not find ConVar attribute" spam - should just silently set the backing value
Warning -> Trace Unable to determine package
Demote a bunch of vulkan debug logs to verbose only
Holding shift/ctrl disables clearing selection by clicking nothing
Fixed prefab node tree not hiding hidden GameObjects
Temporary gameobjects have a different icon in the hierarchy
Hidden GameObjects don't draw their gizmos
A prefab might not have any light sources, if that's the case, make a dummy object so we can see stuff
Nicer dynamic property serialization
Revert shadow submition refactor, I'll revisit this in a bit
Fix inverse multiselect logic
Add GetPathSimple
https://files.facepunch.com/garry/e369c9d6-54b1-4648-a023-6217ab866cc8.mp4
WIP GameObject.Properties
Proof of concept Dynamic Properties sheet
https://files.facepunch.com/ziks/1b3111b1/sbox-dev_5ewZW6QaZ5.png
Nicer integration of dynamic properties with the Action Graph editor
https://files.facepunch.com/ziks/1b3111b1/sbox-dev_JBs2cwHbhM.mp4
Expose setting properties on arbitrary GameObjects
Add GetClosestEdge
https://files.facepunch.com/garry/7e693949-ffe2-4bb5-8a04-d24469a3b406.mp4
Fix typo in Map.CreateAsync?