22,466 Commits over 1,614 Days - 0.58cph!
Noodling with nodes
More noodling
WIP blueprint node interface
Fleshed out NodeType
NodeType tweaks
Input / output signal support in NodeType
Blueprint<T> skeleton
Some more example nodes
Blueprint node graph modification methods
MethodNodeType, refactoring
Add SceneCamera.Skybox for rendering 3D skyboxes in the world
sky_camera and skybox_reference ported to C# removing unused properties
Remove dead spherical vignette code from user shading model
Remove C++ game code for skyboxes, delete sky_camera and skybox_reference
C# classes for skybox_reference and sky_camera
Add SceneCamera.Skybox accessor
Actually use the provided skybox world
3D skybox can consist of multiple sceneworlds
Took me too long to figure out client.dll path needs the worldgroupid to UpdateObjectsForRendering
Use stylesheet to style virtual cursor, add ScrollSpeed
Fix Camera.Size
Tool scene renders run through unified render path
Use Frustum instead to ensure created
Handle `overflow` prop defaults separately
Remove DefaultStyles, internalize IsDefault, FillDefaults, ApplyCascading
backdrop-filter-hueRotate is backdrop-filter-hue-rotate (oops)
mask-position defaults to 0,0
Use IsDefault when necessary inside tests (HasValue will always be true for ComputedStyle properties), only check where necessary (i.e. if we're not also checking the value itself)
Add `Style.IsDefault( name )`
Bad idea to call FillDefaults here since it will stomp previous keyframes
Initialize CRnWorld::m_debugDrawFilter
Fix a bunch of defaults (need better way to check if a property is set tho)
Stricter Rotation.Angles() tests
sboxgame/issues/3984
Some angle related MathX methods
LerpDegrees, LerpRadians, DeltaDegrees, DeltaRadians
Don't compare euler angles in rotation tests
There's always at least two solutions
Fixed sboxgame/issues#3984
Fixed typo in DeltaRadians
DeltaDegrees / DeltaRadians tests
LerpDegrees / LerpRadians tests
DeltaDegrees / DeltaRadians tests
LerpDegrees / LerpRadians tests
Fixed typo in DeltaRadians
Some angle related MathX methods
LerpDegrees, LerpRadians, DeltaDegrees, DeltaRadians
Don't compare euler angles in rotation tests
There's always at least two solutions
Fixed sboxgame/issues#3984
Remove C++ game code for skyboxes, delete sky_camera and skybox_reference
C# classes for skybox_reference and sky_camera
Add SceneCamera.Skybox accessor
Evict all cameras when closing game menu, were continuously rendering when you would open the menu again
Generate FillDefaults() function, call inside PreLayout.BuildFinal, add Length.Undefined
Strip IAttachmentOverride
Fix attachment lookup using old/unused view
Strip GetPlayerViewSetup() related paths - none of this was working anyway
Restore default_fov
Strip IVModeManager
Remove unused + unneeded Graphics callbacks
Remove IPhysicsWorldEventListener
Render physics debug worlds if enabled
SceneCamera Tonemap (#1251)
Add tonemap properties to SceneCamera
Stricter Rotation.Angles() tests
sboxgame/issues/3984
Remove all the player stuff from CViewId, give each camera a CViewId (debatable whether CViewId is needed)
Don't spam "CTextConsoleWin::GetLine: !GetNumberOfConsoleInputEvents"
Fix dedicated server crash
Add dedicated server test to ci workflow
Fix Vector3.ToScreen not working as it did before and breaking lots of stuff. Implement backwards compatibility and evaluate if this is the right solution later.
Add the remaining tonemap properties
Experiments with layering cameras and multiple viewports
Remove unused spherical vignette from renderingpipeline and core shaders
Unused viewport shit in camera renderer
CCameraRenderer inherits SceneCamera Name for debugging
▄▆▋'█ █▉▉▄▅▍ ▋▇▌▆ ▊██▉▊▌ ▅▅█ ▄▌▋█▌ ▆▄▇▊▌▄▇ ▊▅ █▇▇▄▍▅█▌ ▆▉▄▍ ▋▊▌█ ▍▍▍ ▌▋▊▊▅▋ ▋▅▉▄▉▌▍▍▆
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
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
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
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
I forgot to remove all the debug output
Sandbox bytes to value conversions
Add SceneCamera.Tonemap.Enabled and SceneCamera.Tonemap.Rate via accessor