243,866 Commits over 3,898 Days - 2.61cph!
Added debug.cleartutorialforplayer server convar
If a player gets stuck in the tutorial for any reason, this will delete the island and reset the player back to it's regular state on the mainland (will also kill the player if they are alive)
Cleaned up kill warnings when cleaning up the tutorial
Updated convars; fixed NaNs and NREs
"Reset to Default" in the editor will look for DefaultValueAttribute, then get proper instance default intead of just bailing
Fix most skin viewing being broken
No need to collapse tabs here, we do it with WhiteSpace
Fix window shader not compiling
Updated Tool Cupboard mission wording
GatherVisibleLightsGPU
Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on
Do lightbinning for light culling on render thread when a layer first wants to request lights, guarantees we have a depth pyramid by then
If we are on a render thread just do a simple flush for ForceFlushGPU(), we just want the GPU to finish it's work, not clean up things
Run lightbinner calculation in render thread & actually on lightbinner layer
Light culling tests with depth & light radius on compute shader
Flush rather than ForceGPUFlush on CReadGPUBuffer::WaitUntilRead()
Finish light visibility test shader, rewrite to be cleaner, temp pass PerViewConstantBuffer_t for g_vDepthPsToVsConversion on layer
Fixed viewmodel lingering for several seconds when cinematic starts
Tab stops are font width * 4 spaces wide
Clear rendertexture assignment when SkinViewer is destroyed
Work in tab stops during line layout
Typo fix
Added ability to check existing inventory when a craft mission objective starts, will mark that step as completed if the player already has a target item in inventory
Applied new behaviour to craft campfire objective
Remove "Don't allow tutorial allowance to go down" log
missed a few uploads
and a couple more
Merge from /main/media_projects/deckard
Cinematic scene file tweak
Upload and clean up + move wip files to construct
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
Add compiled shaders for viewport shading fixes
Texture barriers for SSR in multiple viewports
Temporary Panel related fixes (OnRemove, SetParent)
Temporary Panel related fixes (OnRemove, SetParent)
Remove this for now, sus is later
When OwnerTransfer is Request, make actual requests to the host for Drop/Assign/Take ownership and if host approves, then host will send the messages to everyone to take that action. Each message will then validate if was received from host
Default CanSpawnObjects to true for now
Make sure CanSpawnObjects is synchronized to clients when set from host via ConnectionInfo
Try using v4 actions for everything
Downgrade Linux/Mac to v3
Check for null in Panel.SetParent
Rollback download-artifact to v3 as well
Rollback download-artifact to v3 as well
Downgrade Linux/Mac to v3
Check for null in Panel.SetParent
Invalidate input / output nodes when changing parameters
Some renaming. Set OwnerTransfer direct on GameObject instead of method on NetworkAccessor
Try using v4 actions for everything
▉▄▇▇▄ ▋▇_▍▊▋▍▋█▊▌▌▉▍▄▆
▇▄█▅▄▌▄ ▇▍▌▉█▉▌▍▆ ▍▊▊ ▋█▉▍█▋▇ ▇▇▉ ▊▇▌'▋ ▌▍▉▊ ▆▇ ▅▊▍ ▄▋▆▉▆▉▊▉▌
▌▆▇ ▌▋▄▍▇▋▉_▋▋▇▉ ▋▊▋▌▇▊▊▇█▄ █▉▅▆▆▄▋
▊▄▋█▊█▍▅ ▉▊▍ ▊▊▍▅ ▊▅▉▌▉▊ ▆▌▆▉▋▇▇ ▆▌▊▅▊▋ ▄▋▊▅ ▄▆ ▋▋▌▄▋▋▌▄
▇▍▄ ▋▇█▄ █▆█▍▌▅▉ ▍▊▍▋ ▍▍▍█▍▄█ ▊▌▍▇▌ █▌▍▆
▄▆▌▍▌ ▅▊▊▉_▆▆▆▄▆▋▆▄_▄▋_▌▅▌▍▍ ▇▊▊ ▄▄▇▍▄▌▌█ ▊▌▄▍▌▆ ▆▍▋▌▅▉▉▆▅
▋█▅ ▅▅▆▇ (▌▉▅, █▉▉ ▅▆▅█ ▆▋▄█▍▄▌▉) ▌▍▅▅ ▆▅ ▅▌ ▍▉-█▍▋▋▆ ▇▍▉ ▋▇▋▋ ▋▉ ▊▋▇▌ ▅▊▌▇▆▉▆▆. ▅▋▇▍▇ ▊▊▉▋▅▊█▉▋▉ █▇▉ ▌▅▅▊██▋ ▆▋▆▋ ▄▋▆▉▍▅ ▆▅ ▋▍▄ ▄▅▋█▄▌▇▇▅.
▇▄▊▋▄▅/▉▆▌▆ ▅▍▇ ▌▋██▍▉ ▊▇▆▉ ▊▋ ▄▍▍▍ █▍▍▇ ▅▇▍▄/██▌▊, ▍▆▉ ▌▄▋▇'▄ ▄▊▍▌▋ ▌▅▉▄. ▍▍▅ ▉▆ █▆▅▊. ▅▉ ▋█▍█ .▊▄▇ ▄▍▋▋▇ ▊▍▍ ▌▍▅ ▊▆ ▆█▄▉▉▋▄▊▌▆ ▊█▊▌ ▇▊▊▉▅▋█ ▄▊▆▅▊▉ ▊▇▊▇▄▄▌.
▆▆▇▇▍ "▍▍▋▅▊▄ ▆▋▋▉▇▅█ ▄▌▌▅▋'▋ ▇▌▅▇▇" ▅▍ ▊▇▋▉▄▆▆▊▅ ▋
▋▍▍ -▅▍▍▋ ▄▄ █▍▄▅▄▅█▊▍ ▄▋▉ ▇▄▋█▌▍, ▅▉ ▅▍▌ ▌▅▄
▆▌▉█▍ ▇▇▇▋ ▄▊▆▊█▉▊ ▆▉█ ▅▇▍▆▋▄▍ ▉▉ ▌▉▅▅▍▄, ▍▊▄▉▅▇▆▄▇ ▊▋ ▊▇▋▍█▊▆ █▄▊▇▉▌█▍▌ ▌█▅▌█▇▊ ▉▌ ▉▋█▄ ▌▇ ▉▊▍▇, ▊▌▉█ ▌▌ ▋▌█ ▊▅▅▄▅▉█ ▊▅▌▇▇▋
▆▅▍▍ ▌▇▆▇▋ ▍▍ ▄▆▍ -▆▄▆▄ ▊█▅ ▍▋▇▋▆█, ▇▊█ ▋▉▄▍ ▉██ ▍▄█▊▅▌▆ ▆▍▌ ▉▆▊▍
▋▊▍▉▇ █▉▆▉▍▌▋ ▆▅▇▄ ▇█▌▉▆▍▆ ▋▄ ▄█▅▋▇▌ ▅▍▉▄▍▅█ ▆▄▍▋ ▉█▌▇▊▅▍▌▉
!▅▇▅▊▌ █▅█▇▍██ ▅▄ ▋▋▋▄ █▍▍▅ ▌▉ ▉█▋▍▊█▆/
! ▆▌▌▋▌▋▌ ▆█▍▍▍▄▉▇▇ █▅▊▌▄█▍▊ ▄▉▉▅ ▇▊▆▋▌.▊▅▉▇▇▌▍▌
▌▍▍▍▆▋▄ ▅▅▇▌▄ ▉▆ ▋▍▅▋ ▆▆ ▋▌ ▌▊▅▄ ▇▇▋ ▍▅▆▊▍▅▉ ▍▊▋▋█▍
▆▆█▋▇ ██▊▆▊▊▋▅_▄▄▇▌▅
█▋█▅▆ ▉▇▉▄.▅▍▉▍▉▋▋▊▉▅█▊▌▌▅▋▉▊▍▌
▅█▊▌▉ ▆ ▋▉▄▄▌▇▋█▆ (▊ ▋▊▄▍▇/▇█▅ ▇▉▉), ▌▆▇▊▍█▋ ▌▊▇▊, ▇▆▄▆▉ (▉▆▄▍▇), ▉█▄▌▉ (▍▉▋▄█)
█▄▋▌▆▋ ▇▍▌▄▊▉.▇▄▇▋▍▄▌▍▌▆▉▆▇▌▇ ▌█▉▅ ▄▊▌▅ ▆▉▅▍▌
▅▇ ▆▌▊▍ ▄▄█ ▌▄ █▍▄▊▅
▉▉▉██ ▉█▇:▍▊▍█▌▄▆▋▅▄▌█▄▊▉▇
▋▆▇▊▉ ▊▄▊▆▍▋ ▄▊▉▇▊▌ ▌▍▄ ▄▉ ▅ ▇▉▆▇ (▌▆▅ ▅▌)
▄▆▋▅▅ ▌▌▆▉▆▆▌ ▇▅▅▊ ▊▅▉▆ ▊█▆▅ ▅▄▄▆▇▆▇▅ ▌▌▄█▋▆▉▄ ▄▋ ▉▌ ▇▆▄█▅▋▅▄ ▉▍▅▉
▍▉▍▅ ▌▉▍▇▍ ▄ ▄█▅▊▌ █▊▉▅▍▍ █▋▌▍▉ ▅▉▄▇▉▍▋ ██ ▆▆█▅█▌▅ ▍▆ ▆▉▇█ ▍▋█▍▋.
▆▊▉▋▅ "▅▆█▇▆▉█▅" ▋▊▆▉▅ ▆█ "▋▄▋▉▉▊_▇▆▊" ▊▆▍▊ ▅▉▌▌█
▅▆▌ ▄▉▍▇▋▅▌ ▋▆▇▉ ▅▉/▄▅▌▄ ▆█▋ ▍▌▊▍ ▊▌▍
▆▋ ▇▅▄ ▍▉▋ ▉▌ ▆▋▉▉▉▇ ▆▋ ▋▄▅ ▇▄▌▅▋▉▍▆ ▌▍▊▌▅▊_▍▍▆▉_▆▄ ▇▉▄▌▉▌▆██
!█▆▍▌▋ ▌▋▉_▍▇█▊/▉▋▍_▉▌▇▌▉█▄▅█▍, ▌▌▍▄▊▌ ▆█▋_█▊▊▄█▌▆▇▇▅
!▌█▌ ▋▅▆▊▉▇▌▍ ▇▄▉▌ ▍▍▋▉_▆█▅▅ ▋▇▆▍▌▍▄ ▇▄▋▄▊█▄▄ ▌▋ ▍▇▍▊▌▄▉▅
!▅▉▌█▌▄▋▊ ▇▄█▌▇▌▉▇ █▌▊▄ ▌█▍▍▍▋▆▅▆█▌▇▋▋▊█▅▌▆▊
!▆▍▅▍▊▍█▅ ▋▊▅▍▇█▇ ▋▉▍▉ ▅▌▉█▌▆▄:▅▉▅▅▅▊▊▄▋▌▆▍▆▄▇▅
!▇▊▇ ▌▍▆█ ▍▌▆▇▄▌▋▉ ▆▊▉▋ ▌▍▊▉▉▇ ▇▋██▊▊▉▋ ▊▆▌▉▇▅▍▄▆ ▇▌▇▉▆▄▇:▄▇▊▆█▆▋▅▋▉▉█▄▉▆
!▉▌▇ ▅▉▋▊▇█▋▋ ▊▇▊▆ ▋▅▊ ▅▇▇▍▆▆██ ▋▋▌▉█▄▋ ▄▆▉▆▄▉
!▊█▍ ▆█▋▉██▉▋ █▌▍▅ ▍▉▉_▄▋▄▍▌▉▌ (▇▋ ▍▆▇▊▉▄▄▉ ▍▇)
!▋▋▉ ▌▄▆▆▄▄▊ ▅▉▅▋ ▍▆▇▉▊▉█.▇▅▄▉▆▅▌▆█▋▇▆▉▌▌
!█▌▄▊▊ █▋▊▉█▄▊ ▋▆▊▉ ▌▇▌▇▉▉▇:▋▅▇▌▊▌▋▆▉
! ▌▄▋▉▉ ▍▍ ▄▉██▅▆█ ▅▍▋▅ ▉▌▋█▆▌▉▆:▉▇▉▅▋▌▅█▋▊█
!▅▄▍ █▌▋▄▅▅▉▋ ▅▍▍▋ ▆█▌▇▌▌▄:▇█▉▉█▋▊▍▋▋██▊▅▊▇
!▌▋▅ ▋▇▊▋▅▊▅▄ ▊▋▉▇ ▌▉▄▋█▍▇▆ ▇▉▆▋▍▋█ ▇▉▉▄▍▊▊ ▅▊▊▊█▍▆
!▊▄▅▆▇ ▊▌▉▇▅█▉ █▌▆▄ ▌▌_█▅▌█:▄▋▉▊▆█▇▄
!▌██ ▍▋█▅▉▊▅▊ ▋▆█▉ █▅▌▌▊▋ ▌▄▋█▅▄▇▋▊
▇▇▅▆ ▇▄▅█▄ ▋▍▇▆ ▆▉▄▆▉▆▅██▊▋▇▍█▊ ▉▊█ ▋▌▍▋ ▆▊ ▍▄▉▆▋▋ ▄▊ █▊ ▋ ▆▇▌ █▅▉▆▍▋▇
▍▇▉▉▍█ ▆▆▉_▇▉▇█▇█▋▌_▋▊▉▅▌▇▊.▇▆▋
▄▉▆▊▋█ ▇▍▊▍
▊▋▆▌ ▇▍▇▆▍▍▉▍█▊ █▇▆▅▅▄▌▅ ▊▋ ▆▋▆▊▋▍▄▇▌▋ ▆▍█▋▌▍▄█
!█▆▅▅▅▉▆ █▅▅▌ ▊▄▉▄▉▊ ▊▊▊█▄ ▌▆▅ ▊██▌▉▇▅▄
█▊█▉ ▄▉▋ ▇▇▋▌█▅▊▊▍ ▍▅▅▆▇ ▄██▍▄█▄▌▉▊▌ ▊▊▊▌▊▍▉ ▄▍▇▄ ▆▍▌▍▄▌▉▍
!█▅▍▊▇ ▅▍▊▄▅▊▉▌ ▄▄▋█ ▍▋▆▍▉▄▇▍▍ ▆█▅ ▄█▆▆▉▆▊▋▍▇▋▊▇
!█▍▇▌ ▆▅▍ ▄█▄▄▇▄ ▌▄▊ ▊█▍▉ ▉▄▊▇▆▆▌ █▄▉▊▄▉▊▄▅
!▄▅▊▄▉ ▄▉ █▆▍▉█▉▅ ▇▌▋▅ ▌█▆▍▉▄▇█▄▍▇▍▋▇▋▍▊█▋▍
!▍██▆▅ ▆▊█▌▌▅▌▇ ▇▋▊▍ ▄▉▊▊▄▍:▉▄▆▅▅▋▊▉▌▄/▋▆▇▍▍▋▇
!▇▍▊▅▋ ▉▊█▉▄▍▉▍ ▅▇▌█ ▍▅ ▍▄█▊▅▇▇▋▉▅ █▊▍▇▆▇▊█▌
!▋▉▊▋▉ ▊▊▄▍▍█ ▇▌▄▋▌▆▌ ▆█▋█▋ ▄▇▅█ ▄▅▊ ▌▊█▊ ▅▊▇▇▍▄
!▉▇█▋▅▋▊▊ ▅▉▍██▍▄▇▋ ▉██▆▊▌▆ ▅▌▌▅ ▌▅█▍▍▅▍█▍▄:▍▉▉▌▌▊▊▇▅▉
▊▌▌▋ ▍█▌▍▉▆▉ ▆▍ █▋▄ ▄▄▉▆▄▊█▋ ▊▌▌▇▋ ▆▉▌▊▇▉▄▇ ▋▄█▇▍▍▊, █▊▉ ▅▄▋▉ ▊▌▍█▄ ▇▅▄▄▉ █▅▆▊▋▉▊▍▋▋▇ ▍▄▍▄▋▋▆ ▍▇
!▋▇▍ ▋▍▍▋▌█▊▆ ▊▄▌▌ ▌▊▄▋▄▍▅▇▄ ▆▊▌▄█▇▊▌ ▅▋▌▅▅▉▊
!▋▌▌ █▅▉▊▍▅▄▆ ▄▋▉▍ ▇▊ ▄▍█▇▅▋█ ▅▍▇▉▇▄▋▊▄
!▇▍▆ ▄▋▆▉▉▊▊▍▅ ▆▍▇▅▇▆▄▆ ▄▇▊▄ █_▇▅▅▅▊▅▇
!▉▄▇▉▊ ▆▌▌▇▍▊▉▌ ▆▌▄▄ ▇▍▌▊▇/▍▄▇▅▊▇▄▇█▄█▉▉▆▉▋█▄▇▆
!▍▅▋▅▆ ▆▉▄▅▋▋▆▋▆▄ ▇▆▉▊▉▋▍█▊▄
▆▊▉ █▆▌▍▉/*.▇█▌ ▇▅ ▌█▌ ▄▆▋▇▆▌▇▆▆
!█▍█▋▉ ▍▊▄▄▄▉▍▉▌▌ ▋▋▇▋▆▄▄▋▅ ▊▊▋▋▇▌ ▇▆▇▆▋ ▍█▋▌▉▅▆▅▌▍
▍██▌▉ ██▊▍▅█ ▆▆▄ ▌▅▍▋▆▊▆ ▉▆▄ ▌▇▍▉▆▅▋▍▌▆ ▋▅ ▇▌▌▇ ▍▊▇▄▇
!▋▅▊'▍ ▇▅▉▌▅ ▊▇▅▇▍ ▅█ ▌▇▌▇ █▇▄ ▇▊▌ ▄▍▌▋▉▅▆
▋▅▅'▇ ▊▌▍▆▄▋ ▊█▍▍▍▊▌ ▄▆▉▊▌█▅▇▆ █▅▊▍█▄▅ ▍▊ ▌▄▅▆▉
▌▅▇▉▇▌ ▊▌▅▆▄▊▆ ▊▉▌▋ ▍▍▇▇▌▊ ▅▆▉▆ ▄▇▄▉▊▌▋▊
!▉▉▌▋█ ▊▊▍▇▍▌▋▉ █▋▅▄ ▆▌_▅▄█▆▇▌▊
!▊█▅'▋ ▇▌▉▍▍▇ ▌▅█_▋▋▌/▇▅█▌▊▊▉▌██ ▍▉▊▅▆▉▍▌
▍▅▌▊▉ ▄▆▊██▆ ▌▋▅█ ▅▄▄▌▄▍▄ ▌▆ ▆▍▌▄ ▇ ▌▄▇
!▆▊▋▊▄ ▋▊ █▊▄▅▅▉▉▊▋ ▄█▄▆▊▍▌▌
▆▊█▊▅▅▇ ▉█▍▊ ▄▇▌▅▇█ █▇▍▌ ▋▊▊▆▅ ▍▌▋▌▊▇
!▌▌▇▇▇ ▄▆█▊▊▊▊▍ ▊█▆▇ ▋▋▆▉▌▄ █▄▋▇▄▆█▌
▊▆▇▆ █▉▋▄ █▅▍▆▆ ▅▍▊▊▊▋▉▄▄
!█▋▍▌▌ ▇▉ ▊▆▆▆▋▄▇ ▊█▍▋ ▉▋▇▅▉▊▋▇▄▅▋▇█▍▋▉▌▉
▆▊▊ ▇▉▋▌▋▄ █▄ ▊▄▆▋ ▄▍▇ ▊▆▅▇ ▄▉ ▇█▍, ▍▋▆ ▄██▄ ▅▇▄▅▆▊ ▇▌▉ ▇▆
!█▄▉▉█ ▍█▌▊█▌▉ ▅▄▄▌ ▍▄▋.█▊▅▄▄█▍▌▅▄▍▇▋▋▆
!▍▇█▇▆ ▆▊▉▌▉▆▋▍▅ ▅▌▇▋▌▌▊ ▆▄█▅ ▉_▅▆▌▊▄▅▋▌▅▋▇▉▌▉::▌▄▇█▋▊▍
!▋▄▆▉▉▍▌ ▉▊▇▍▆▊▅▇▋▅ █▅▄▄▍▇█ ▋▍▇▄▊▍▉▋ █▉█▆ ▉▅▉ ▆▌▇███▇▅
!▇█▆▅▍▊▊ ▌▋▊▋▋▊▊▌▌▋ ▋▅▋▄▊ ▄▅▄▍ ▍▅ ▋▉ ▍▍█▌▍▉█▋ (▉▅▋ ▋▊▉▋ ▇▍▉▄█▊▊)
!▆▉▄ ▊▇▅▅▄▊▉▅▅▋▌▇▌▋ ▆█ ▍▆▄▍ ▇▄▉▇▊▄
!▇▄▆▌▇ ▊▌▋▆▅▇▊ ▉█▆▊ ▉▌▍▍▅▌▌▄ ▋█▆▉▊ ▊▌▋█▄▇ █▌▇ █▅▉▄_█▄▅▇▊
!▉▋▋█▋ ▇_▋▌▉▆▆▅▌█▆▄▉▇▉▅▉ ▅▋▌▅▇▌▇▄ ▇▋ ▌▇▋▋▌ ▍▅▅▇▋▅▋
▆▊▅▉ ▋▇ ▍▍▋▉ ▆▅▇▄▍▆▇ ▉▇▋▅█ ▇ ▋▅▊ ▇▅ ▇▅▆▇█▇ ▉▅ ▄▌▄▄▅
!█▄▇▅▊ ▇▌▄▌▋▋█▇ ▊▋▆█ █▄▍▌▉▉▇ ▌▊▄
!▉▋▆▉█ ▇▊▊█▄▉█▇ ▉▄▉█ █▍▄▋▋▍▉▇▄▄ ▆▍█▍▇▍▇▇
!▇▉▅▆▄▊▍▆▆▌▍▊█▋▍ ▅▌▌▉▆ ▋▌▋▅█▆ ▇▋▄▄▆▉▄
▆▋▍▆▅ ▌█▌█▊▊█▇▉█ ▍▆▄█ ▇▄▉█▌▄.▌▋▆▅▆▆▊
█▊▆▄▄▍ ▋_▍▅█▇▅▄▊▄▊▍::▋▋▍▋▅ ▄▊ ▆_▅▆▆▄▅
!▊▆▇▍▄ ▋▇█▍▇▇▉▆▊ ▆▇▋▇▌▅▇█ █▇▍▆ ▉▉▋▍▋█ ▌▄▋ ▅▋▅▊▆▇█▌
!█▉▆▍▇ █▍▇▌█▍▋ ▆▋▄▄ ▋▅▋▊▍▊▍▊
!▅▍▅▉▊▊▉▋ ▍▉▍▋_▋▇▆▅▌▉▌▍▍▆█▇▋▄▌ ▅▉▋▌▌▊ ▊▋█▆█▋▅▍▆▌▋▋▇▇▇▍▉▌▇▋▍▋▌█▋
!▋▉▌█▆ ▅▊▅▅▄▊▋▌ ▇▌▊▍ ▊█▋▉ █▋█▅▍▌█
!▄▊▌▌▍ █▊ ▅▇▉▍▋▄▊ ▅▆▋▆ ▋▉▉▅▍▄█_▋▆▇▌▇▆▆▆▆
!▄█▅▋▋ ▇▋▊▆█▊▋▊ ▌▆▉▋ ▍▆▇▍▍▋▌▇▆▆▆▇▍▆▋█▌▉▋▄▍█
▇▌▌▌▉▇▋▄▇▅▇▊▇▍▌▆▅▋▇▇▉▅ █▇▇ ▅▍▆▌ ▇▉ █▋▉▍▉▅ ▅▆▉ ▊▆▌▅▄▇ ▌▋▊▉█▄ ▋▉ ▌▅▇█▉▇ ▇▉▅▄▊▌
▍▌▄▆ ▅▄▉▋ ▋▆▇ ▇▇▍▇▅▉ ▆▌█▋▅▊ ▌▆▊▊ ▌▅▅▄▋:█▆█▄▋▇██▉▍▌
!▉▌▄▅▉ ▄▅▍▌▅▅▄ ▋▆ ▆▄ ▉█▊▉ ▊▆▉ ▌▄▉▆█▆▌ █▍▋▇▄▍
▅█▄▌▍ ▅ ▅▊▇ ▅▊▋ ▉▆▍▄ ▍▇▅▇▇▆ ▅▍▋ ▋▋▄▋▅
!▆▇▆▆▌ ▄▇▋▉▉
!▄▍█▍▍ ▉▍▍▍█▄█ ▅▊▊▍ ▇▅▅_▆█▅▌▅▌▆▉▆█▌▋▅▌▊▇█▋▅▄
▆▌▋▅ ▇▅▌▆▉▊ ▌▋▅▉▇ ▄▍▄ ▇▄▊▍▊
!▉▄▊▌▊ █▇ ▆▆▅▄▍▇▊ ▍▉▄▍ ▄▍▊▉_▄▉▉█▉▇▇
!▇▄▇▆▅ ▆▄▊▆▆▋▆▇▊ ▉▄▊▍█▍▉▇ ▅▉▄▄ ▄▍▅▆▅▌▍▌▌▅▋▊▆▇
!▌▌▋▋▆ ▋▆▌ ▉█▍█▅▇▌▄ ▍▌▆
!▅▆▅█▄ ▅▌▆█▋█▇ ▄▋▅▄▊▉▇ ▆▇▋▅ █▋▇▊_▋▉▄▋▅▍█
▅▅▋▇▊ ▉██▌▅▄▄ ▌▋▄▆▆▉▉▉ ▌▇▄▊▋▊█▄▊ █▍▇ █▊▉▍▇▆
▌▌▌▌▍▄█▋█▌▋▆ ▌▆▉▇▉▋ ▄▄▊▄▅▇▌▇ ▅▋▉▆▆▄▍ ▍▊▋▊▄█▄▆▄▅▉▇▇
▊▋▋▄▄ ▋▌▆▉ ▌▊█▄ ▊▍▊▅▆▊▋ ▇▌▊ ▌▋▉▇▄▌▊▌ ▉▄█▊▇▍█ ▅█▅▊▇▋▄ ▅▍▌ ▄▉▌▍'▍ ▉▄▌▄▌▇?
!▉▇▌█▍▄▅ █▊▍▉▊▋▄▅▉▊█▌▋▉▉▉ ▍▆▌▌▉█
!█▌▆▅▄ ▊▅▇▆█▋▍▋▇ ▌▉▌▅▍▌▄ ▇▇▅▅ ▋▍▋▌ ▅▅▅▉▍ ▅▄▆▉▊▇▄▅▇
!▄▅▌▌▆ ▋██▊▍▋▇▄▉▅▍ ▇▊▇▉ ▅▇▉▇▋▅▋▆▆
▉▉-▋▍▍▆▄▆ ▍▋▄▇▋█ ▆▋▊▅▉▅▉ ▆▋▋ ▉▆▋
!▊█▅▄▍▅▅ ▅▇▍█▅▆ ▄▋▇▍▆▆▇▌_▆▉▅▄
!▆▅▊▆▌ ▄ ▇▊▉▇▋ ▌▊▅▅ ▊▇▌▌▅▍▆▄▌▍▋█▇▍
▍█▍▍▄ ▊▄█▌▉▌▅█▋▊▍ ▉▆ ▄▄_▋█▇▋ ▍▄▄▄▌▇▄▊ ▍▋ ▊▍▌▌▊
▉▄▅▉▇▍▄ ▉▉▇ ▌▇▉▇▆▅ █▄▅ ▍▍▊▄▉▉▉▆ ▅▊▅▋▅▋▉ ▉▍▉▍
▄▌▍█▉ ▊▍▍ █▆▊▉▅▍▊▌ ▋▌▄▉▍▋▊▌ ▌▇ ▊▊▊▄.▌▇▊▉▄▇▄█▅█▊ - ▉▅▄█▅▍
▌▉▌▋▋ ▍▍▍▆▅ ▄▊▅▍▇▆ ██▇▍▊▍ ▆▌▇▋ ▊▍█▊▊ █▋▇▌ ▅▌▆▅▇▊▉▋▆
▍▌▄█▆ ▆▊▉▄▅ ▇▌▆
▄█▍▆▄ ▉▊█▊▌▋▅▅█ ▅▇▍ ▆▄ ▅▄▌█▋▆ ▊▅▍▅█▉, ▄▍▍▋ ▋▅ ▄▊▄ ▄▋▇▍▆▇▅ ▌█▆▄▍
▇▋▅ ▅▄▆ ▄▇▇▊ ▇▆▆▋▅ ▆▊█▅▍▊ ▍▅▆▉██▌▉ ▇█▌▇ ▊▊▆ ▋▊▋▌▍▆ ▊▇ █▅▊ █▅▍▅ ▄▄ ▅▆▇ ▉▌▊▉▌ ▆▋▄▆ █▌ ▊▄▌█▄▋▇
▍.▇. ▆▋▌ █▋▍▋ ▊▅ █▋▆█ ▇▊▍▄ ▅▄▋▉▊▅▍ ▆▄█▆█ ▄▇ ▊▆▌ ▄▌▄▅▋ ▌▉▅▍ ▋▋▊ ▆▋▆▉▄, ▉▇▅▌+▊ ▉▌▆▋▉█ ▅▄ ▅▄▍ ▉▆▋ ▌▌█▅▆ ▇▋█▆▉▌. ▋▄▍▄▋▇▅ ▄█▇▆ ▍▍▇ ▄▍▌▊ ▊▊▊█ █▊ ▅▅▅ ▌█ ▍▅▉▊▍▌.
▇▅▄▇▋ ▌▉▌█ ▊▌█▌▅▇▌ - ▋▊▍▅▆▊▇ ▌▊▅▆▉ █▅▊▇ ▄▉▋▌▋.▆▌▌
▄▉▍▄ ▇▊▇▊▄▄ ▇▍▋▋▉ ▊▌▆ ▋▊▉▄█
▆▍▉▇ ▇█▉ ▅█▋▄▄
▊▊▆▉▍▋▊ █▇▌▊▊▆▍▄▍▉▉:▆▆▄▅▊▅▋▆▍▆█▍▌▆▊
▊▌▄▊▋▋▌ ▍▉▄█▆▍▅ ▇▇▉▊▍ █▌ ▄▉▍▅▋.▊▋█▍ █▍ █▍▊▅▄▇▌▋█
▆▉▅ ▆▌▌▅▊▌▍▆▌▌ ▋▊ ▇▄▉▍▅▄▉▉▉█▌
▍█▆▆ ▆▌▆▄▊▉ ▇▋▆▍█▅▉ ▄▅▄▉▆ ▍▌▄▌▌▊█▋▍▊▌▍, ▍▊█▊ ▊█▊ ▌▅▅▍ ▇▆ ▄▊▌▍▉▇▇▇ ▊▉▇ ▅█▍▊▊▌▊ ▋▍▇▍▋▋
▍█▋█▋ ▅ ▌▌▋▉▌▍▉ ▋█▆█ ▊▆▅▄█▆ ▉▄▆ ▆▉▆▇▍▄▌▄ ▄▄▊▍▉ ▉▊ ██▌▅▊
▄▅▅██▊▋▊▋ █▅▆▇ ▉▍▇▊ ▇▊▋▄█ ▋▇ ▊ █▅▋█▉ ▄█▇▇▅
▄▇▋▍▆ ▇▆▇▉▍█▊ ▍▉▇▋▄▅█▊▊▇ ▌▌▄▉ ▍▅▅█▊▌.▍█▌▍▍██▇▋▄
▆▇▆▌▅ ▅▅▌▄▇▍▋▉▋█ ▌▌ ▊▇_▅▆▅▆/▉▊▉▋▇▌▉▋▄▌▉ ▅█▊ ▅█ ▌▄▇█▇▍ ▅▌▅█▅▉▋▍ ▊▌▅▅▊
▅▉█▋ '▄█▊▌▍▄'▉ ▄▆▋▆ ▉▅▍▊▌▊' █▋▊▍▊▍▍ ▄▆▊▄ ▇▍▄▌▇▇▇
▍▋ ▄▆▌ ▉█▍▌ ██▉▌█ ▆▄▊ ▌▋▌▇█▊ ▌▊▇▉
▋▆▋█▅ ▋ ▊▋▄▉▆ ▌▄█▋ ▅█▊▋▋▊▄▍▇▍▉▉▄█
▅▆▉█▍ ▋▊▅▄▆▋▆▊▅▉ █▍▊▇ ▉▇▅▆▍▉ ▍▊▇██▉▆
!▊▆▍▆▊ ▇▅▋▄ ▄▇▇▄▉▍▌▇ ▌▄▍▅ █▅▍▄▊▍▄▅ ▇▋▊▊█▊█▆
▆▌▉▉ ▊█▇▌ ▌▍▄▍▋ ▍▉█▊
Close context menu on line edit submit
Put all generated component types in one assembly
▉█▍▍▅▍█ ▍▇▄█▆▄▉ █▉▋ ▊▍▉ ▄▉▄█▌▉▇▅█ ▆▌▍▋ ▋▆▆
Fix component weirdness when cloning disabled objects
Bradley doesn't take damage from scientists.
Delete demos off disk past a certain quota to avoid consuming entire disk during upload failure
Add `server_demo_disk_space_gb` (default 30GB)
Bradley doesn't target Scientists
▍▉▌▇▌ ▇▄█▄ ▍▆▌▍▄▇▋█ ▌▍▇▊ ▋▉▇▉▊▋▆▉ ▌▋▅█▊▆▄▋
Spawn scientists pre-aware of attacker
Added metal roof tileable textures
Tweak road scientist navmesh Y offset.
Bradley spawners set spawn type flags.
Bradley prefab update.
Add isolated CallbackBatch, use it when cloning. Fixes instances when cloning in OnEnabled etc would cause weirdness
Allow server demos to be turned on and off at runtime
Implement calc for CSS, make it so that dynamic units (vw/vh/expressions/etc.) all update correctly
https://files.facepunch.com/alexguthrie/1b1911b1/sbox-dev_ADiqfZ9hI2.png
For sbox/issues/421, sbox-issues/issues/4753, sbox-issues/issues/723
Removed cache count
Streamlined vendor name setup
Prevented spamming from overly reloading icons