userLorenz Junglascancel
reposboxcancel

324 Commits over 92 Days - 0.15cph!

3 Months Ago
Avoid div by zero in Gizmo.Draw.LineCylinder
3 Months Ago
Initial navmesh link editor https://files.facepunch.com/lolleko/1b0411b1/sbox-dev_tfs96azAGk.mp4
3 Months Ago
Refactor non polymesh navmesh data Initial link component Add navmesh links to tile cache
3 Months Ago
Disable Navmesh Warning "Could not build compact data" for now
3 Months Ago
Improve handling of empty navmesh tiles Also improve editor auto update when world bounds change.
3 Months Ago
Navmesh only run heightfield generator cleanup in task Navmesh generator cleanup is sub 10 microseconds, so not worth it to dispatch a task, since task dispatch overhead would be higher than actual compute.
3 Months Ago
Fix potential infinite loop in navmesh generation Fix navmesh geometry collection physicsworld NRE
3 Months Ago
Fix NavmeshGeneration performance regression caused by 51c5e14 Navmesh generator cleanup now runs in parallel Heightfield span pools are no longer freed after a completed generator run, instead they are returned to the freelist and reused. Disposing of the generators now waits for all active generator tasks to terminate.
3 Months Ago
Fix physics triangulation occasionally overwriting the vertex buffer Spheres & Capsules were always written at the beginning of the buffer
3 Months Ago
Fix NRE when scene was unloaded while navmesh generation was running
3 Months Ago
Fix hull navmesh area bounds using z up instead of y up.
3 Months Ago
Dynamic NavMesh Obstacles (#1706) Allows to block of certain areas of the navmesh both in editor and at runtime. For this we introduce and expose the concept of **navmesh areas**. Areas can affect navmesh generation and agent behavior/pathing. ### Details - Accomplished by implementing a tile cache that stores an intermediate representation of the navmesh - The intermediate representation can be used to modify & remove areas of the navmesh. - Modifying the intermediate state is magnitudes cheaper than rebuilding the navmesh from scratch. - Static areas are basically free. - Moving areas are a bit more expensive, but you should be able to have at least a couple of dozens of them - The area's shape is defined by a (trigger) collider that can be linked to a nav area component https://files.facepunch.com/lolleko/1b2911b1/sbox-dev_JTOOu8AAeA.png https://files.facepunch.com/lolleko/1b2911b1/sbox-dev_3XdDSxj7Ly.mp4 https://files.facepunch.com/lolleko/1b2511b1/sbox-dev_XBNEUDAPfh.mp4 https://files.facepunch.com/lolleko/1b2111b1/sbox-dev_CQAKEpUbQk.mp4 ### Summary Allows to create a navmesh area, link it to a (trigger) collider & set it to blocking to create an obstacle. In the future we can expand on area functionality: custom tags, local navmesh generation parameters...
3 Months Ago
Fix NavmeshArea.IsBlocking not toggling state
3 Months Ago
Add doc comments to navarea component Make new PhysHsape.UpdateShape functions internal Ensure IsGenerating flag is cleared if navmesh generation fails
3 Months Ago
Attempt to use static nav generator pools again
3 Months Ago
Fix navmesh native destructor
3 Months Ago
Non static init of navmesh generators
3 Months Ago
Move navmesh generator pool initialization from static initializer to navmesh.init
3 Months Ago
Dispose of navmesh in Scene Should fix unloaded scenes leaking native navmesh data.
3 Months Ago
Change navmesh initialization to sync
3 Months Ago
Disable some calls to narrow down where test is failing on CI
3 Months Ago
Stop PathWidget fighting back in LineEdit mode and selecting the whole text, fixes Facepunch/sbox-issues#6869 Scene view: disable gizmo interactions while doing camera movement SteamId can be converted to from an int, but will give a warning Fix code archive not using correct CSharpParseOptions Don't debug output xml parse errors Add more package tests Fixed loading game from .sbproj with Dedicated Server that has libraries. Iterate any libraries in the project and add them as projects before compilation Fix warning Add dark_descent and cat_harvest package tests Merge branch 'master' into navmesh-dynamic-obstacles
3 Months Ago
Remove some asserts
3 Months Ago
Fix navmesh generator pool disposal
3 Months Ago
Correctly dispose of native tile cache resources
3 Months Ago
▉█▆▊▅▅: █▌▆▅▉▊ ▊█▉▆▄▉▋/▆▉▋▌▅█▉ ▇▊▆▄█▌ ▇▊▌▄▄ (▄ -> ▍▊▊), ▉▆█▄▉▋▇▊▇ ▅▇▌▌█▋▊▄▅/▊▌▋▊▅▊▊▆▄ ▉█▅▄▉ ▄▉ ▄▉█▅▍▋▍ ▄▍▌▅▄ █▅▅▇▄▌▇ ▌▍ ▌▄▋▇ ▆▋▋▅ ▅▅▋▋▆█▆▆ ▍▆▌▌▊▋ ▇▉ ▉▌▌ █▄▅▆▆▆▊▆█: ▊▋▊▄▅▍ ▋▋▇▇▆▋▍▅▄▊█▍▇▄▋▆▋█▍▇▄▄▌▉█▊▆▋▉▆▉▌▊▋▄▉▆▆▉▅ █▍▅▊▋▆: ▆▅▊█▍▅▅▌ <▍▋▌▋▌▉▉▅@▊▋▄▊▇.▊▄▆> ▄▉▌▋: ▍▅▍ ▆▌▆ ▇▄ ▅▅:▆█:▋▌ ▋▆▊█ +█▄▊▇ ▆▇▉▅ ▍▊ ▄▇██▇▇ ▌▋▌ ▊▌▉▅█ ▄█▉ ▊▌█'▌ ▋▊▉▅ ▌▅▉ ▌▉▊▋▇▊▄ ▋▋▌▄ █▍▄█▄▊▌ ▌▅ ▇▋▌▍▆ █▌▆▋▌ ▇█▅▇▍ ▆▍▅▆█▇▆▋▊ ▉█ █▌▇▊▍▆▍▍ ▆▄▋▊ ( ▉▌▌▋▍://▌▉▉▆▊.▄▆▄█▉▇▋▄▍.▅█▋/▄▄▍▅▍/▄▉▅▄▌▉▆▉/█▊▊▆-▍▄▍_▅▌▋▅▉█▋▊▅▆.▄▉▆ ) ▋▌▋▋▌▌ ▉▄▅▊▆▋▌▌▅▊▅▋▄▄▉▊▅▆▌▊▉▆▌▍▌▋▍▍▌▉▌▌█▅▉▌▄▆▉▇ ▊▉▊▍▄█: ▄█▋▄▊█▍▅ <▆▆▅▅▋█▋▌@▄▉▌▆▆.▍▉▊> ▊▍▋█: ▍▍▊ ▍▍▇ ▋█ ▆▋:▍▇:▍▇ ▌▇▊▌ +█▅▊▌ ▉▄▅▋ ▅▅▍▄█▊▋█▆▇ ▉▆ ▆▇▋▆ ▉▆▉█▇▍▅▆ ▍▋▉▊▌ ▄█▉▌▅▆ ▉▉▅▆▆▊█▅▉▋█▊▄▇▇▆▆▉▋█▆▄▋▄▋▅▅▊▅▌▍█▄▅▅▋█▍▆▋ ▌▌▊█▉▅: █▆▉▌▅▄▅▋ <▍▉▋▄▉▅▉▌@▍▊▋▄▉.▌▆▉> ▌▇▆▍: ▊▇█ ▆▉▉ ▊▌ ▅▆:▋▍:▆▇ ▅▉▍▇ +▇▅▆▍ ▌▍▋▉ ▉▊▍▍▄▌▌, ▅▄▉▅▉ ▉▄▉ ▊▋ ▋▍▌▋▆▊▋▉ █▍ ▄▊▋▉█ ▉▍▍▍▍▅ ▆▍▄▄▆▊▇█▌▇▊▊▅▅▄▍▌▇▍▆▇▉▌▌▉▇▄▋▄▉▄▉▊▊█▍▋▊▍▄ ▇▅▊▉█▍: ▉▇▇▉▅▉▄▊ <▌▊▄▆▉▍▉▊@▇▆▇▅▄.▉▊▄> ▅▅█▌: ▍▅▍ ▆▇▉ ▌▋ ▇█:▇█:█▍ ▋▌▍▉ +▄▍▉▊ ▋▇▆▇ ▍▍▊▇█▍▅ ▅▋▊▊▋▌ ▍▅▋▇▍▌▍▊▄▋▌▅▉▄█▇▆▇▊▄▄▊▌▄▄▍█▇▇▅▅▅▅▋▅▌▋▇▌█ ▇▊▍▆▌▅: ▍▍▊▋▉▆▄▋ <▋▇▆▋▆▍█▉@▆▌▉▊▍.▋▍▊> ▊▌▉▅: ▋█▊ ▊▆▌ ▄▉ ▊▉:▊▍:▅█ ▄▋▉▍ +▄▌▄▋ ▇▄▊▅ ▆▅▍▄▅ ▊▊▍▄▇▊ ▊▉█▍▍▍▋▆▊▉█▋▅▄▊▌▊▄▍▄▊▍▄▉▌▉▊▇▍▆▆█▋▅▍█▊▍▅▌ ▊▌▄▊▋█: ▌▍▉▌▄▌▄▆ <▄▊▉▌▅█▆▇@▇▇▇▄▄.▍▅▅> ▆▋▍▅: ▇▋▍ ▇▌▇ ▋▊ ▌▄:▆▇:▇█ ▅▆▍▋ +▋▊▉▇ ▉▊▇▋█▌ ▌▇▊▆▌▍▍▆▋ ▆▄ ▌▊▉█▆ - ▄▍ ▊▉ ▌▌▆█▍▆▉ ▍ ▆▇▍▄▍▍▌██ ▍██ █▌▉▊▊▍▄▍ ▌▆▉ █▅▌▍▍ ▅▅ ▆▊▇▍▍█▆ ▄▍ ▋▋▄▌▄▉▅▅, ▍▇▉▋'▄▆ ▊▄▄▋ ▉▍▄▍ ▌▇▆▋▌▅ █▍▅█▊▄▆▆▌██▍▍▋▍▉▉▇▆▇▋▍▍▊▋▄▌▋▍▊▉▇▊▄▊▄▆▅▄▄ ▍▇▅▉▆▊: ▄▇▄▆▋▌██ <▇▉▍█▋▊▅█@▆▅▍▅▆.▌▄▌> ▇█▇▆: ▇▇▋ ██▄ ▄▉ ▋▊:▍▊:▍▆ ▋▅▄▌ +▇█▌▉ ▄▄▊▅▇▆▆ ▅▍▇▉ ▆▄▍▌▉▍▊▊▊ ▋▊▆▆▅▄▄ ▍▋▉▄▌ ▇▌ ▆▋▋▇ ▊▌▇▉▋▉▄ ▊▅▋▆▉▌ ▊▌▆▋█▋▇▍▇▅... ▆▇█▆▋▌ ▆▋▅▌▊▄▋▇▅▌▋▅▉▌▇▊▆▊▇▄▅▅▌▍▇▇▆▊▄▆▇▇▇▌▍▄▅▋▅▊ ▄▍▉▉▄▆: ██▌▊▅▋▌▊ <▊▄▍▅█▆▋▄@▆▍▉▇▋.▊▍▆> █▉█▋: ▍▆▉ ▆▍▅ ▍▌ ▌█:▅▉:█▋ ▅▌▅▄ +▆▍▍▍ ▊▊▄▊█ ▋█▉ ▅▉▇ ▅▋█▉▊▅▇▇ ▍▆▌▌ ▍▍▄▉ ▅▅▇▆▉ ▋▄▊▍▆▇▊▅▇▇▆▉▆▆▍.▊▆█ ▍▍▉▄▋▋▌▄▊▇▆: ▇▇▋▇▋█▋ ▌▊█ ▋▊ ▅▉▌▊▆▋▊▄ ▌▌▋█▆▍▊ ▆▌▅▅▊▆▍▍▄▉ ▆▉▌ ▆▌▊▍▅▇▇█ ▌▅ ▉▆▄▇▇█▉▆▄ ▋▋█▍█▆▄▇▆▊ ▌▅▄ ▆▋ ▋▄▅▌▆▍▊▅ █▋▉▍▊▍ ▊▉█ ▆▅▋▅▌▌▆▊▄▍, ▅▌▄▍█▄ ▆▉▇ ▆▋▄▄▅.▉▄▆ ▌▇█▇▉ ▄▇▍▍█▊▍ ▅▍▅ ▆▍█▇█▋ ▅▌██▇ ▆▋▆▄▉ ▉▌ ▊▇▆▊ ▊▉▋ ▊▄▉▉▉▊ ▅▆▉▋▅▋ ▆▉█ ▋▉▍▍▆ ▌▉▋▌▌▄▄ █▊▌▉▇▌▉▋▊▊▆ ▌▋▅▍ ▆█▍▌▇▆ ▆▉▋▊▊ ▆▍▄▇▊▊ █▊▊▊▊▆▋▌▊ ▌▋▅▆ ▄▅ ▅▌▇▆ ▍▄▊▋ ▆▄▅'▍ ▋▉▊ ▋▆▍ ▉█▅█▇ ▊▆▅▄▋███▉▉█▅▄▋▄ ▋▊▋, ▌█ ▉█▆▄'▆▄ ▅█▅▊ ▊▄▊ █▊▄▋▄ ▍▇▋▉▉ ▇▆█▉ ▍▅▆▍▊▇▍ ▌▅▍▅▋ ▋▇▍▇▌▍██▊/▄▄▍▊-▌▉▊▍▍▍#▋▌▉▅ ▆▌▋▄▊ ▊▊▉▅▊▇▆: ▍▋▆▋▇▋▄▍▌▅ ▆▆▋▌▆▌▆▍ ▇▍▅▅▋█▅▌ ▋▋▍▉▌ ▇▇▉▉▍, ▋▅▉-▍▌▊▆▅▉█ ▆▌▇▌▆▅ ▆▇▄▌ '▄▋▉▉ ▄▆▍▇ ▆▍▍▅▇▇▅' ▄█ ▇▄▉▍▉▍▋▊ ▍▇▅▆▋ ▄▍▉▊▌▄▉: ▄▍▉▊ ▌▌▊█ ▄▉▄▋▆▋▍▆ █▍█▌▌▍▄▍ ▋▅ ▉▍▄▊▊▉ ▄█▇▇▉ ▍▄▋▆ ▆▉█▇ █▄▍▅ ▊▄▋▇▅ ▋▅▍▊ ▌▋▆▋ ██▌█▊ ▋█▉▋▉ ▌▋▉ ▉▇▊▉▇ ▄▊▋▇▉▌ (▅▍▋'▆ █▍▄▆ .█▉▌▄▉▌ ▌▆▉▉▌▉▌ ▉▊ ▅▋▇▄ ▉ .▊▊▍ ▄▍▄) ▇▋▄▆▅▌ █▊▆ ▄▋▇▄▋▉▌▄ ▆█▍▍▉▆▉ █▅▌▉▉ ▋▊▌▅ ▉▉▅▆▇█▄▄ ▆▆ ▊▇▇ ▆▇▄▌▉ ▋▉▍▄▋ ██▋▄▍▍▄ ▉▇▍▆▉▆▇ ▉▋▋█ ▍▊▆▊ ▆▄▌▉█▊ ▆▌ ▆▅█▋▋▌▊.▇▅▄▅▋▆█<▅▊▄▊▇▌> ▍▅▄▇█▋▆▊▅ █▉█▆ ▉▊▅'▅ █ ▊▋▅█▆▌, ▉█ █▋▍▅█▋ ▇▇▍▅▅▄▇▍▊ ▍▅▋▉▋▉▋▋▄▉▊▄▊ - ▋▉▌▅▌▍▇█ ▋▄▍▋▄▍ ▉█▍▅ ▅▋▄▅▆ ▉▇▌▍▋ ▍▍▊▋▋▋▊█▇▍▅▇▊ ▆▆▅ ▋▌▊ ▉▅▇▄ █▉▇▉▉ ▆▆ ▌▄▍▊█.▌█▅▍▇▇ - ▅▄▍▍▋▄ ▌ ▍▄▌█▅█▉ ▊▌ ▅▆ █▅▄▅, ▅▅▅▇▍▋█ ▋▉ ▌▇▆▄▆▄ █▌ ▆▊▉▅█ ▇▌▉▄▌▍▆▍█▅▆▍ ▍▌▌▇▅▅▉▇ ▆▉▌▅▉▇▌▋ █▆▉▉▍▋ ▋▆▌▌▍█▉▊█ ▆▍▄▆ ▅▊ █▄▉▍▌▅▋▄ ▇▉█▅█▉ ▆▊▊▍ ▆▅▉▉▆▅▅▌ (#▉▅▊▆) █▅▊ ▅▍▅▍▉▅▉ ▍▆█▇▉ ▇▄▅▅ ▉▇▅▄ ▄▄▍▌█▌▄▊▉. █▅▅ ▇▉▇▉▄▊▄▌ ▋▅▇▄ ▍▊▌▋ █▄▄▌▆▄ ▉▄ ▄▇▉▋▄▍▇ ▋▇ ▅ ▆▋▊▉▅ ▍▆▆▇▌ ▊▌'▌▌ ▍▆▅▉▇▆▌ ▆▍ ▆ ▉▋▅▇ ▋▋▋▉▋▋▇▄++ ▅▍▌▅▊▄ ▊▊▇▆█▊▋ ▌▋▌▇▄▆▍ (#▌▇▄█) * ▋▌█ * ▉▅▄▅▅█ ▍▅ ▅▋▆▉▌▊▆▍▇▆ * █▉▍▄▍▅ ▊██▆▋ ▍█▇▋▉▄ ▉▆▄▇▆ ▌▊▉▅▅▉█ * ▇▉█▋▅▆ ▇▉_▉▅▍▉▊▄▋_▇▆▆▌▋▆▉▋▊▆▍▆ * ▋▆█▌▄▅ ▄▄▋▇▆▇ ▄█▄▉▇ ▇▉▋▅▅ ▇▇ ▌▆'▋ ▅▌▋▌ █▅▄▊ * ▆▄▇▌▇ ▉▍▄▄ ▄▌▋▇▆▍ ▇▆▊▆ ▄▊▍▅▍ ▌▇▌▆ ▍█▋▅▄▋▋█▄▉ ▅▅ ▆▄▇ ▆▍█ ▇▍▌▇▊▋▍ ▄▄▆▍/▇▄▍▋ ▋▄▉▆▋ ▋▊█▉▇▊▉ * ▄▌▉▊▍ ▄█▄▌█▉▌ ▍▅ ▄▊▉▉ ▋▉ ▅▇, █▄ ▋▍▆▊ ▋█▇'▄ ▍▆ ▍▅▉ ▊▄ ▇▊▍▌ (▇█ ▋▆▉▊▍▍ ▄▉▅▇▊ ▇▉▌▍▋▋▇█ ▅▉▌▋▆ ▌▅▌ ▉█▍▆▉▅ ▉▄▊▊▍▋!) ▉▆█▌▍▆ ▌▄▋▅▉▌▉█▆▍▌ ▉▇▌▋ ▄▉▅▅-▅▅▆▄ ▌▆▅▋▉ ! ▌▌▄▄▋ ▍▄ ▅▄▇▌▄▊▅▌▉▅▅▇▅ ▍█▋▆ ▊▌▅▉▄▍▌ █ ▅▄▉█ ▍▌▋▇▋▊▄▅ ▇▅█▍ ▇█▊▄▌ ▉▉█▄ ▋▇▍▌ █▅▅ ▉█▍ ▊▉█▊▇▇▍▇.▇█▊▍▉▇▅▆▉▆▌▊▉█▅█▅▉▋▉/▇▉▌▊▍▅▌█▌▌▇▋▌▆▆▄▇▌▋ ▊▊▆▉ ▍▋▋▇▆█ ▄█▌▉█▄ ▋▉ ▄▄▇▉▋▇▊▍ ▄▋▇▅▅▄▇ ▋▅▌▄▍▍▌ ▅▌▊ ▍▌▇▉▅█▅██ ▆▋▇▅▍▍▍▍▊▄▄ ▄▇▍▅▄█ ▉▄▌▊▅▌▉▌ ▋▉▇ █▍▇-▅▊▊▌▉ █▄▌▅▄▍▆▅▌ ▉▊▌▆█ ▊▌▅ ▊▋▄▍▌ ▆▆█▉▉▊ ▊▌█▊▅▊▉▇, ▋▌▌▊▌ ▋▋▇▄▊▅▍▆█/▄▄▍▋-▊▊▌▊▋█#█▊█▄ ▅▄▊'▉ ▍▇▅ ▆▋▄▅▅▅▍▆ ▋█▉ ▇▆▋▇▊█▍▍▉ ▅▅ ▇▆▆▆▊▅▄ ▍▉ ▄▍▆ ▋▆▌ ▉██▍█▍ ▍ ▌▆▆▆▋▇▆▉ ▍▋▄▅█▌▌ ▍█ ▋▅▌▍, ▉█▍▍▅ ▌▌▉█▊▊▅█▇/▄▄█▇-▋▊▍▄▅▆#▉▌▍▊ ▉▄▅▆▅▄ ▇▋▆▆▊/██▄█▅ ▇▄▄▉▌▌▄▇█ ▅▍▉▆▋█▇▌▅▄ ██ █▍▇▄▆▋▅▋▆▅▍ ▉▄▌█▌ █▌▊ ▄▋▋▄▅: ▋▉▉▌ ▇▊▇ ▍▄▊▍▅ ▊▉▊ ▄▌▊▆▍, ▄▍▅▌ ▍██▇▇█▊▊ ▌▆▆▋▆▇█▊▌ ▍▉█ ▍▇▅▍▅▉▅▅▉▄ ▄▌▇▋▍▌▅▄▉▊ (#▍▆▆█) ▆▍▌▉▅▊▅▄▇▋.▌▉▇▉▅▌▆ ▉▅ ▌ ▅▇▇█▇ !!!!!! ▊█▋█▍ ▉▋▄▋▊▆▋▉▄▍▌▄█▊▌▇ █▊▍ ▋▇█▄█▆ ▍▉▇▆▉▅▇▊█ ▅▅▉▊▍▌▄▊ █▆▍▅ ▌▋▊▍ ▅▋▌▊ ▊▅▊▊█ ▋▋▇▇█▋ ▉▇▄█▋▌▌▋▄▊ ▊▍▌▉ ▅▄▋▋▆ ██▉▄▋▄█▌.▆▅▄▊▆▍██▋▋▇▌▅▆▄, ▋▍▍▆▋ ▅▆▊▄▊▅ ▄▇▍▇▇ █▆▍▊ ▉▄▍▇ ▍█▄▇▆█▌▄ ▅▇▋ ▄▌▌▊ ▋▍▉▄▄ ▄▍▅███▍▉ ▅▊▉▋▄▉ ▆▇▄ ▍█▉▌▅ ▍▍▆▇█▉▊ ▅▊▄▍▍▆, ▄▆▊▌▋ ▉▆▌█▌▄ ▄▆▉▇▋ ▄▄█ ▆▍ ▍▅ ▅▅▍▇▍▍ ▍█▌▄▇ ▆▄▇▄▊▄▉▆█ ▅▆▆▆▄▆█ ▊▍█ _▋▇▄▅█▋▌ ▅▇▌█▇▆ ▍▍▇▆▇ ▍██▋▋ █▄▍▌▋▇▋▉ ▇▉ ▇▇▄▅ ▍▌▇ ▌▌▆-▇▄▋▄ ▇▇▊▍▄ ▊▉▄▄ ▉▊▅▉▌▅ ▌▉▇▅ ▌▌▉▍ ▆▇.▉▊▉▉█▇█ ▆▍▉▇▊▋█ ▊▄▇▇██▌ ▇█▋▄ ▊▍▌▍▅▋█ ▇▊▉▄▍█▉▅ ▅▌▉▆ ▋▆ ▌▍▉ ▌▉▆█▋█ (▅▅▌▉▌ ▇▊▆▋▌▍▆▄▌/▊▄▌▌-▆▇▍▋▅▍#▋▋▄▇) ▅▊▉▍ ▊▆█▌▄▍ ▊▋▉ ▊▌ █▌'▍▌ ▄▌▋▊▇▆██ ▇▍▌▋ ▄▇▆▄▅▇▍▊ ▌█▋▄ ▍▅█▋ ▇▍▋▅▌▍▄ ██▍▅▋▅▋ ▄▌ ▅▅▉█▇▉ - ▊▅▌▇▄ ▉▅▋▋▆▌▋▅▇ ▆▋▍▅▆▋ ▊▅▆ ▆█▄▇▌▌▋▊ ▍█▋▆▉▇ █▍▉▆▋▆▌▍ █▊▋ ▊█▆█ ▆▉▍▉▍▉▌ ▍▅▇▌▄▊▌▆ ▇▄▋██ ▆▋█▍ ▍▇▇▍█▊▆▇█▅ ▋▌▌▋▉▋ ▉▍▇▍▌▅▆▄ ▅▆▊ ▌▄▋▅█▄▍▊▊. ▆▍█▉▅▉ ▉█▄ ▇▉ ▇▅▊▌▆▇▉▄▋ ▄▆ ▋▆▍▇ ▇▊▍▆ ▌▌▄▍▉▊ █▌▌▇ ▉▌▄▌ ▊▇▊▇▍▍▄█▍▍▊▍. ▅▆▉ ▋ ▅▍█ ▋▉▊▆▆ ▅▆▋▉ ▋▋▅▅▆▍▉ ▊▊▍ ▋▄ ▅▇▍▅▆▊ ▉▆▇▄ ▅▊█ ▆▆▄▄▇▆▋▆▉▋▅, ▋█▊▅ ▊▌ ▅▆ ▅▇▊▅▋▅▍ ▉▊█▆▊▉▉▋▄▋. ▉▊▆▋ ▄▋▊▉▋▇▌▄▇▉.█▍▍█▄▊▅ ▇▍▇ ▊▄▋▆▅▊▆ ▋ ▉█▅▅▌█▅ ▊▍▉▍ ▋▅▉▆.▍▋▋▉▄▊█ ▉ ▆▋▌▅▄▄█ █▅▅▅█▍█▆▄▉.▇█▊▉▇▅▆▅▋▌█▇▄▅▄▄▌ ▌█▄▇▅ ▉ ▉▅▋▉▄▄▇ ▉▉▋ ▄▋▆▌▄▌▉.▊▍▆▆▍▄▄▄▅█▅ ▉▌▍ ▅▅▌▅█▉▉ ▆▅ █▆▍▊▄▇▋▆ ▌▄▌█▇▌▇▉▄ ▋█▌▉ ▆▍▊▋▌▉▇. ▊▊▆▍▇▌▋▍▄█▄▋▇▆▆▉▍▉▌▇▉ ▊▇▌▄▇▉▆ ▇▆ ▌▅▋▇▊ ▆▋▌▄▉ ▅▇ ▉▉ ▊▋█▇▍█▊. ▅▄▆▌▄ ▆█▌▄▆ ▉▊▋▊▌▍ ▄▊ ▄▌▅▉ ▆ ▅▆▄▌. ▅▇▌▅▇▍▉▊++ ▅█▉'▉ ▍▇▍ ▄▆ ▉▋▌▍▌▌█ ▋▌▊▉ ▊▋▄▉▍▇▆▉ ▅▄ ▅▊▅▍▋ ██▄▅▉▅▉▄ ▉█▆▌▇█ ██▉▇▄ ▄▇▇▍ ▊▉▄▇▍▅█ ▄▊▄▅▇▍▋ ▋▅ ▇▄▋█▄▋▉▌ ▅▊▊▊▇▄ ▌▇▄▉█▉█▋ ▊▌▅█ ▉▌▆▄█▋▋▅ ▊▍▊▍▌▌▄▅▆: ▆▉▋▊▊▅ ▋▇█▆▅ ▊▉█▍ ▇▊▅▊▊ ▄▅▍▌▅ ▇▌▋ ▅▊▉█▆ ▉▇▇█▋://▍▊█▋▄.█▊▉▄▉▋▉▆▋.▇▉▆/▄▊▌█/▆▇▄▅▌▋▋█/▄▄▉▌-▌▅▄_▅▆▅█▆▊▇▇▄▉.█▌▄ ▋▆▇▋▉://▆▋▇█▉.▆▋▌▅▍█▅▊▇.▉▇▇/▍▍▅▊/▌▌▍▄▊█▍▊/▊▌▋▌-▇▉█_▋▋▊▍▋▇▉▇▌▌.▌▄▆ ▋▇▆ █▉▌ █▌▇▇▍▋▋▆█ ▅▋▆▇▋▄▊▊ ▆▍█▆▆▉ ▄▅▋▇▊▌▇ ▉▇▇ ▉▅ ▉▇▇▋ ▅▍▄▅▅▅▊▉▇▅▄▋▍█▅▉▆▆ ▆▆▆█/▄▇▄▊▇▌▌▊ █▆▆▉▌█▆▅ █ ▍█▅ ▍█▌▊ ▉▌▆▍▌▇▅▅█ ▊▌▋ ▄▉▌▋▋ ▋▊▋█▇▊▊ ▇▄ ▌▇▋▄▉▉▉ █▄▉▊▌▋ ▅▅▄▅▅▉ ▉▄▍▄▋ █▆▌▄▅▅▆: ▉▉▌█▋█▇▅▆▅▊ █▆▄▌ ▍▉▊▇▆ █▄▌▍▍▆▍▊ ▆▋▉ ▆▌▆▅▇▍▊▇▉▋▍▇▇██.▌▊▉▆▆▇▋▍▌() █▊▌ ▉▉█▋▌█▉▇▉▄▍▉▄▌▆ ▌██▋█▉█, █▇▄▄█▅█▍ █▊▊ ▅▅▌ ▅▄▄▌ ▌▅▌▋▊▄▆█ ▅▍█▇▋▅▇▅▄ ▄▊▌▄█▌▉▊▇▌, ▍▋▇▊-█▇▍▊▇ ▉▋ ▋▍▌▄▄█▉ ▄▌█▌ ▄▋▄█▆▌█▆▆▅▆▆▆▋▌▇▄▍▋▉▍▉▇▇ ▊▄▍▇▇▄ ▉█▇▅▊▉▊ ▍▅▅▆▅▆▉ █▋ ▉▆▅▅ ▉▅▅▍▌██ ▊▋ ▅▌▄▌▆▉▋▌▅▄ ▆▊▄▌▊ ▆▋▆▋▌▍ ▉▊▆▆▉█▇ █▆▆ ▅▍▆▄▇▆▇▄▄▊▌█▆▍▉ █▇█ ▋▅▆▊▌▌▉▅▋▊▋▅██▌.▌▅▋▋▋▆▍█▆▋▅▄▅█▆ ▊▄▅ ▌▋▄▍█▅██ ▅█▋▇▍ ▆█▉▇▋▌ ▊▉▅▋▋▄▍, ▊▋ █ ▋▉▍▊▄▉ ▋▌▌▊▉▇▆▅▉▋▌ ▌▍▊▊▄█ ▌▇▉▊ ▍▇▌▉▉ ▊▄█▍▋▊▌▋ "▋▋█▅▆▇▇ ▄▆▄▅ ▄▊▅▌▊▄" ▄▆█▌▋█▍ ▅▄▊▆ ▊▉▍▆ ▍▆▍▌▉▇ ▊▄▆▊▋▇ ▋█ ▌▉▆▋▍▊▇ █▌▍▆▉ ▄▅▊▄█▊ ▄▍▅█▆ ▍▅▊█▆▆ '▆▍▅▆▊▅' ▅▄▌▊ ▆▌▉▇▍▊▄-▇█▇▅▆▄▆-▌▇█▇▆▊▆▅▅
3 Months Ago
Remove box from navmesh debug draw
3 Months Ago
Fix some NREs when accessing colliders from navmesh components
3 Months Ago
Ensure navmesh area stays in sync when linked collider changes
3 Months Ago
Cleanup NavMeshArea Component
3 Months Ago
Use custom functions instead of GJK to bake physics shapes into the navmesh Baking a physics shape now takes sub 100μs in most scenarios.
3 Months Ago
Optimize by caching GJK simplexes when rasterizing obstacles
3 Months Ago
Experiment with arbitrary physics shapes as navmesh obstacles Performance is not good, needs more optimization to be viable. https://files.facepunch.com/lolleko/1b2611b1/sbox-dev_i7IaHMmjKv.mp4
3 Months Ago
Ignore triggers in NavMesh Generation
3 Months Ago
Add nav_blocker tag
3 Months Ago
Fix issues with navmesh generation API Should also fix tests
3 Months Ago
Fix navmesh debug draw disappearing at certain heights
3 Months Ago
Allow NavMesh areas to have arbitrary transforms Reduce debug draw ground offset
3 Months Ago
Rename Obstacle -> Area In the future the defined Areas defined maybe used for other purposes beyond blocking/obstructing
3 Months Ago
Be very careful about when we load assemblies in LoadNetworkTables Facepunch/sbox-issues#6984 Only warn once if Json serialization happens during a hotload Facepunch/sbox-issues#6984 Expose BoneCollection / Bone to ActionGraph Fixes Facepunch/sbox-issues#6878 Give each scene dock a unique name and fix load order so we maintain layout positions Move window layout to project cookie, will fallback to importing from editor cookie for now Lazy-initialize NavMesh GeneratorPool Restore AssertNoGraphErrorsInScene test Fixes #1709 Asset Browser: Show 'Open File Location' in context menu when searching too Asset Browser: Disable flat/recursive toggle button when searching or in meta location Hook up Package.Data GameModal now correctly uses GameConfig from backend Fix "no screenshots" being thin After purchase, keep refreshing until we have the item Indicate when you already own items Fix NRE in NavMesh Dispose Restore colliders on rigidbody disable if the collider is still active Don't let collider dictate body type when there's a rigidbody, colliders could have a mix of statics so rigidbody should be the authority on this Load Model.Plane Add Graphics.DrawModelInstanced with count for procedural instancing, document other instanced methods Add DrawModelInstanced methods to CommandList Add CommandList.Set for ComputeBuffer<T> Update default JSON ignore condition to use JsonIgnoreCondition.Never Resolves Facepunch/sbox-issues#6995, Resolves Facepunch/sbox-issues#6953, Resolves Facepunch/sbox-issues#6349 Add Graphics.ResourceBarrierTransition supports transitioning Textures and ComputeBuffers states currently, e.g if you wanted to signal a resource should be readable in fragment after a compute write to it Fixed .config files not being added to appropriate string table for clients to receive changes Scene collision events (#1707) An interface to listen for all collision events that happen during a physics step Fixed NRE when trying to delete non-asset files, resolves Facepunch/sbox-issues#7002 Support drag data for GameObjectControlWidget, resolves Facepunch/sbox-issues#6998 https://files.facepunch.com/tony/1b2311b1/sbox-dev_xLjcpe9xed.mp4 Organisation -> Organization where necessary Resolves Facepunch/sbox-issues#6822 Delete view_shared, move CViewSetup to camerarenderer and start removing unused junk from it Add CameraComponent.CustomSize to override aspect ratio. When rendering to a render target, sometimes you want the aspect of the screen and not the texture Add CameraComponent.ProjectionMatrix Add CameraComponent.CalculateObliqueMatrix to clip projection with a worldspace clip-plane Remove SCENEOBJECTTYPEFLAG_IS_PROCEDURAL - it does nothing Envmap feathering defaults to much tighter SkyIndirectLighting param in hammer env_sky since it seems it never was there Bail Model.Load early with error model for null or whitespace filename Revert "Add recast/detour tile cache" This reverts commit 0b2e398df82b304b23f7ddd2485b943ba1fe20ab. We will use a custom caching solution instead. Merge branch 'master' into navmesh-dynamic-obstacles Fix test
3 Months Ago
Revert "Add recast/detour tile cache" This reverts commit 0b2e398df82b304b23f7ddd2485b943ba1fe20ab. We will use a custom caching solution instead.
3 Months Ago
Cleanup obstacle components
3 Months Ago
Integrate heightfield building into the tile cache Refactor NavMesh class structure Improve navmesh initialization Remove dead code Fix tiny memory leak
3 Months Ago
Rename CNavMeshCachedData -> CNavMeshHeightFieldData
3 Months Ago
More resilient native memory pooling
3 Months Ago
Make navmesh generator pools static Pool memory for native tile heightfields
3 Months Ago
Revert marking the entire navmesh as unwarkable
3 Months Ago
Fix NRE in NavMesh Dispose
3 Months Ago
Optimize culling in navmesh debug draw
3 Months Ago
Fix NRE on native data