240,800 Commits over 3,867 Days - 2.59cph!
▄▆▋'█ █▉▉▄▅▍ ▋▇▌▆ ▊██▉▊▌ ▅▅█ ▄▌▋█▌ ▆▄▇▊▌▄▇ ▊▅ █▇▇▄▍▅█▌ ▆▉▄▍ ▋▊▌█ ▍▍▍ ▌▋▊▊▅▋ ▋▅▉▄▉▌▍▍▆
phrases
Fixed weapons rack typo + shared token
▍▄▄▊▊▄▋▄ ▊█▋▆ ▅▅▌-▍▌▅▉▆▉▅▋
Added SENT_AI:OnTaskFailed and others
Added NPC:GetIdealYaw, NPC:GetArrivalDirection, NPC:SetUnforgettable
Added CNavArea:MarkAsDamaging, CNavArea.IsDamaging
merge from global_networked_bases
Disable RendererBatch component on all container skin prefabs
Tool to disable render batching for container skin
When showing generator under attack use infinity for MinMaxDistanceAlpha
When a generator is attacked, periodically show that team a notification and update its UI icon to pulse and change icon. Fixes #73
SourceTV fixes
Player.IsBot now returns true for SourceTV master client
Prevent tv_enable going beyond absolute max 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
VirtualScrollPanel uses DefaultStyles
Only use fallback inside Lerp functions if from/to are null
Move null checks into Lerp functions, remove logs
Tidy up, use same code path for lerps
Refer to default values in docstrings, inherited/cascading values lerp to their initial `from` values if `to` is unset
Merge fixes, Name -> TypeName
Additional fixes to particle refraction scale
Allow local packages in game menu if we are not ourself a remote package. Fixes sboxgame/issues#3614
Initial support for `calc( ... )`
Length.Calc (LengthUnit.Expression), evaluate on demand
Add failing test for nested calc (`calc( ... + calc( ... ) )`)
Add support for nested `calc()` statements
Do GetPixels inside calc functions (for percentages)
Division by zero throws correct DivideByZeroException
Tests & support for invalid syntax, constants (e, pi, nan), scaling percentages
Remove token count check, will need to re-think this validation later
Rename test class to CalcTests, clean up
Check if length unit is expression & evaluate on demand
Implicit eval
Pass parent property values into ToYoga() for calc
Fixed low hanging bugs, warnings and errors in terrain shaders
Progress.
Secondary atlas files & naming consistency.
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
Random.FromSphere( Sphere ), Random.FromBall( Sphere )
Un-obsolete Rotation.Random, fix Angles.Random
Get rid of "Unit" in random extensions, replace "From" with "Inside"
Random.Rotation() / Random.Angles() documentation fix
InsideSphere -> VectorInSphere etc
Add `extents` parameter to VectorInCube / VectorInSquare
Vector2/3.Random is now inside a unit circle / sphere
Rotation -> Angles -> Rotation test
Fails because of #1250
Deal with singularities in Rotation.Angles()
Fixes #1250
Merge from main -> global_networked_bases
Sandbox check more unmanaged types
█▄▆█▌▅ ▍▍▋ ▊▅█▊▋ ▄▍▋▆▌▍ ▇▆▊ ▆▄▋▇█▉ █▄▆ ▉▇▉█▍ ▇▉█▉▆▅▇ ▅▉ ▄▉▆▄▇▆▄▆, ▇▅▇▍█▄ ▋▉█▆▉▌ ▍▆▅▉ ▍▇▊██▅▅
▍▋▉ ▆▇▆▉█▉▆▇ ▋▍▅▇▇▇ ▊▌▉ ▆▄▉ ▌▍▅▉▌▆▊▊▄▅ ▇▆█▅▊▇▌
! ▋▍▉▆▉ ▊▊_▉▅▍▆▌▇ ▄▅▌▆▊▇▆▋▊, ▅▍▉ ▇▉▊ ▍▍▅▊ ▆▍▌▇█▇▆▇█▍▊ ▇█▌▊▅▆▇▆█
!▇▅▅▄▋ ▊▊▆▅▄▊▆▋▊ ▉▇▆ ▋▇▌▇ ▍▌▋▍▌█▊▊, █▇▊ ▋▊▆▄▌ ▋▉ ▌▊▄▆ ▇▇█▉▌▆
▇█▌▄▍ ▇▄▍█▌▊▍▆▊ ▊▋▌ ▍▌▅▅ ▋▇▉▌█▊▆▄, ▌▇▋ ▋▇▌▇▇ ▍▆ ▆▍▊▍ ▄▄▋▇▉▄
Implicit eval
Pass parent property values into ToYoga() for calc
Rotation -> Angles -> Rotation test
Fails because of #1250
Deal with singularities in Rotation.Angles()
Fixes #1250
I didn't actually delete the debug output
Lets remove these stream extensions while they're not being used by anything since they will probably cause us some trouble in the future
Don't set ITonemapSystem ptr if tonemap is disabled on scene camera
colbalt brutalist statue greybox
level backup
I forgot to remove all the debug output
Sandbox bytes to value conversions
Add SceneCamera.Tonemap.Enabled and SceneCamera.Tonemap.Rate via accessor
Noodling with nodes
More noodling
WIP blueprint node interface
Fleshed out NodeType
church building greybox
level update
merge from global_networked_bases
merge from Attack Helicopter/ch47_homing_disable
▉█▍█▆▉█ █▇▉▅ ▊▉▌▋▄ ▋█▇▊▌▊█▉▆▉ ▄▊ ▇▅▄▆▍▌ ▍▊▆█▇▊▍
Out Of Game Rendering + Custom Map Loader Api
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
Random.FromSphere( Sphere ), Random.FromBall( Sphere )
Un-obsolete Rotation.Random, fix Angles.Random
Get rid of "Unit" in random extensions, replace "From" with "Inside"
Random.Rotation() / Random.Angles() documentation fix
InsideSphere -> VectorInSphere etc
Add `extents` parameter to VectorInCube / VectorInSquare
Vector2/3.Random is now inside a unit circle / sphere
Remove vmpi lib from vfxcompile