254,392 Commits over 3,990 Days - 2.66cph!
Skip hotload for DtNode, hopefully fixes issue when hotreloading while navmesh query is in progress.
Catch type library returning null, event if it really shouldn't return null in the first place.
Related: sbox-issues/issues/7496
Updated wood & metal shield impacts.
Leaderboard backup, run #
17309
Incendiary catapult projectile has its own larger fireball spawn.
Spawn fewer of them.
Flame arrow less stretchy during the middle of the mini crossbow reload animation.
Fixed fireball smoke lingering on after fire extinguishes.
Normal flame arrow impact updated to be in line with the new flame catapult & ballista flame burst impacts.
Fixed fire arrows spawning the old fireballs, and deleted all those hidden beancan grenade meshes from the flame arrow fire (lol?)
Fix IO arrows not working with microphone
▌▌▌ ▍▍ ▆▇▄▍▌█▍ ▌▄ ▇▋█▇▋▊ ▉▄█▇▄
Implement precise placement check on CPU to improve instance offset accuracy (to test against cheaper approximation), extend debug info to test accuracy, use procedural noise instead of texture, improve randomisation, apply rotation to instances based heightmap
Leaderboard backup, run #
17285
Piercer flip bugged (with gizmo) for Ian.
Orientation almost working
Added a orientation debug gizmo for Ian.
Workaround for that one weird floating gib ghost.
Shake tweak on large boulder.
- Fix broken projectile velocity normal calculation
- Allow automatic normal translation to be automatic, on or off
- Attempted to fix match orientation (might need some more minor tweaks)
Setup FX and screen shake profiles for medium and small catapult boulders.
Fixed ram taking damage from head collisions
Tweaked catapult amount of boulder we spawn with the scattershot
Fixed projectile rotating the wrong way
Shifted renderqueue on smoke_whispy by 1, to fix FX elements sometimes not sorting through the refractive glass.
Small damage effect ram head fixes.
more ui changes
tweak shop item ui
tooltip ui changes
rename new ui files
Improved horse towing interactions
Restored ballista rotation sounds I just broke on
112292
Fixed static ballista anim mask
siege weapon sound import settings
additional battering ram sounds and polish
codegen
▌▊▅'█ █▌▍▉ ▇▅▍-▉▇▅▊▊▊ ▇▆▉▋▌▌▄ ▍▊▍▊▅▍▉█▆▊▊▌▍ ▋▆ ▊▊▅▉▇▅▌
▇▇█▆ ▄▍ █▄▆▋ ▆▌▋▊▍▄▆▊ ▅▅▊▊▋▊▌ ▄▅▄▍ ▅▅▅▌▊▆▌ ▅▄▄▄ ▍▌▄▆▉▍██▋
Fixed occasional ballista desync
Fixed choppy movements when another client is reloading
Fixed pitch rotation sometimes not working because of animations
Cleanup
Change junkpiles so they require 1m30s of no players around them before despawning, instead of checking once per 30s and being able to despawn right away
Frisbee with branding and upload
▆▅▋▇▆█▋ ▄▋▆▇ ▊▍▉▅▉▉▆ ▄▉▅▊▄▆██▊▉▌ ▍▋▅▆▉▌▊
▋▌▄▅▋▊ ▆▉▊▍▉▍▆▄█ ▍▅▉▄▅ ▍▇▌▍▇▌ ▌▍
▆▉▇'▍ ▆▋▌▄ █▉▌▅▉▉▋ ▆▋▍▄▌▌▅ ▋▉ ▆▅▍ ▇▆ ▇▍ ▉██▅▉▅▍, ▄▊▇ ▅ ▉▉█▋█▇ ▅▉ ▄▋▅▅/▉▄▌▋ ▊▅▋ █▋▅▉▆▊▅
Optimize ComponentList.GetAll by getting rid of LINQ
The combination of recursion and LINQ allocated a lot of garbage in GetAll, this would result in a heap reallocation during many GetAll calls.
Removing LINQ yielded a nice performance improvement.
Getting rid of the recursion gives another tiny performance improvement, but not big enough to justify the reduction in code readability.
I can not show results directly for ComponentList.GetAll, because the function executes too fast after the optimization and is no longer captured by the sample profiler.
But here are the improvements for PhysiscsWorld.OnIntersection, which makes heavy use of ComponentList.GetAll internally via InvokeListeners<T>().
Before:
Function Name: Sandbox.PhysicsWorld.OnIntersection
Number of Functions: 2907
Total time: 9s 406ms 99µs
Maximum: 11ms 86µs
Top Quartile: 3ms 848µs
Average: 3ms 235µs
Median: 3ms 176µs
Bottom Quartile: 2ms 684µs
Minimum: 20µs
After:
Function Name: Sandbox.PhysicsWorld.OnIntersection
Number of Functions: 2779
Total time: 3s 661ms 358µs
Maximum: 6ms 971µs
Top Quartile: 1ms 552µs
Average: 1ms 317µs
Median: 1ms 220µs
Bottom Quartile: 975µs
Minimum: 19µs
Related to sbox-deathmatch/issues/104
Fixed SelectedBlueprint.UpdateIngredients error, bag merge on high external stone gate
Applied a refactored rotation-agnostic version of the non-blinding arrow flame to the mini crossbow, so that it can do its spinny gymnastics.
▊▅▌▌▄▇▉ ▉▌▋▅▆▅ ▍▆▅▊▌▌▌, ▅▍▌▌ ▋▍▊ ▆▌▆▅▆
Remove unused
New models
Fix news post width
Remove toc from news, everyone hates it
Add Transactions table
Add monetisation tab to dashboard
Move org to own project
Fix exception in device information service
Move dash orgs to sidebar
Home type lists use dashboard sidebar
Jams use dashboard sidebar
Move charts to dashboard
User page cleanup
Platform news has dashboard sidebar
Notifications use dashboard sidebar
Start converting packages
▉▉██▅▊ ▊▉▊▍▊▊ ▋▌▌▍▋▊ ▌▄▍ █▉▅▉▊▍ ▍▇▊▇▋▊▆▋▆ ▇▆ ▌▋▍ ▆▉▋▋▉▄ ▆▉▉▆▊▅▋▅▅ ▄▆ ▌█▊▊ ▅▍▉▍▄█▅
▄▆▋▆▊▋ ▆▄█▊▍▌▄▇▅ ▆▇ ▄▋▋▋▅ ▇▌█▄▄ ▇▄▌ ▄█▆ ▆▇ ▆▉▉▊▅▅ ▍▄▊▆ ▊▋▆██▅▅ ▇▉▍ ▌▌▍'▋ ▊▊▌▍▊▉ █▊ ▌▍▌▋ ▌▇▊▉▌ ▅▊▉▌▇▌▍
Head and hand aligned grabbing system