241,046 Commits over 3,867 Days - 2.60cph!
Merge from global_networked_bases -> main
Remove instanced rendering from sleeping bag
Added `OnKilled()` hook to BaseNetworkable so it broadcasts deleted building blocks outside of network range & doesn't send them when you reconnect
Merge from rocket_trails. Cheaper & better rocket projectile vfx, so that attack heli rocket spam won't drown performance.
cutout spiderweb shapes, added to prefab
Remaining rockets updated to external FX prefab.
Fixed offset on HV/Incen projectile models.
rocket_basic projectile updated
Merge from global_networked_bases -> main
Change `LogError` to `LogWarning` when calling Initialize twice
slammer miniboss
shock wip
barrel/unit items fly
coin magnetize glow
lightning bolt particle
Remove `StripEmptyChildren` component from doors: was causing NRE when trying to attach codelock / keylock
Another 2021 server build fix attempt
Change shadow material from `watersplash-1` to `shadows`
2021 server build fix attempt
merge main -> experimental
Merge from global_networked_bases -> main
Some ints not reset when disconnecting from server
Missed clearing recycledCells list
Fixed some Dictionarys not cleared when disconnecting
Ensure initialization and destroy are called only once (to avoid nativearray dispose errors)
Hammer: Add extended box gizmo handles as a saved option
https://files.facepunch.com/matt/1b1611b1/sbox-dev_aoNTlauVjt.png
Fix `print_global_entities` not actually printing the output
Season gallery + some refactor
Rocket projectile lights set to LightEx instead of Shuriken, because cheaper in this case.
Fix error / crash when reconnecting to server
Merge from /main/shader-fix-2
Fix (Rotation / Vector2 / Vector3).Random
Also add Vector2.RandomCircle, Vector2.RandomDisk, Vector3.RandomSphere, Vector3.RandomBall, Random.Gaussian
Obsolete old VectorX.Random properties, add extensions to System.Random
Moved smokes_exgaustfumes render queue to after water to ensure it doesn't get overwritten
Moved censorship up the transparent render queue to avoid interacting with smoke grenade
More 2021 server build debugging
Fixed players showing over monument smokestack and smoke overwritten by atmospheric scattering
▆▄▍▉▆▋ ▊██▄█▄▆ █▄▊▊▅▌▍▉█ ▆▌▇▊▊▅▋▇▋▋▉ ▍▉ ▌▅▋▄▍▊▉▌▅▆▍▆▅▅█▋▅█▌▆▋▋▄.▅▉▅▉▊▄, ▇▊▉▇▍ ▅▉ ▌▄▌▆▍▊▅▊ ███ ▍▇▊▊▆▊▊ ▋▅▄▊█▌ ▅▌ ▋▌▉▇▌▆▄▍
▋▋▆▇▌▌▅▍▆▊▊ ▆▉ ▍▇▄ ▅▉▋▉▇▆ ▅▉▆▄▋▉▉ ▉▇█▅ ▌▅▌▇▅▍ █▍▆ ▆▄ ▋▄▌▅▄▇▊ ( ▊▋▊▄▉▊▋/▄▋▄▊█▋▇▆ ▅▋▋█▋▄▊ ▇▊ ▅▍▄-▌▆▅▊█▅▍ ▊▋█▋▊▆▊▄▅▇ )
Improved Timelapse generation
Cathode: replaced widthRes/heightRes with downscale parameter
VirtualScrollPanel uses DefaultStyles
Subtract m_nMaxPlayers by m_nBotPlayers so servers show that they're full if they're occupied by bots + players
Turn BaseStyles members into a table containing type, default value, and inheritance state, generate BaseStyles.Defaults
Auto-generate layout cascading based on inheritance state
Use BaseStyles.Default instead of hardcoding defaults
Similar to `css-defaults` branch but this does it better - so I'm
deleting that in favour of this.
Rather than hard-coding the default value every time we fetch it:
```cs
var value = Styles.BackgroundColor ?? Color.White;
```
We should be doing something like:
```cs
var value = Styles.BackgroundColor ?? Default.BackgroundColor;
```
Provide default values as fallbacks for style transitions, use LerpProperty inside BaseStyles.FromLerp
In FromLerp, check if the property we're trying to change is actually changing
Prevents us from stomping property changes when a transition is running
with `transition: all` if you have an animation running simulataneously
Move default styles into `DefaultStyles`, make everything readonly