17,146 Commits over 1,308 Days - 0.55cph!
Fix AssetInspector causing a repaint every frame
Set PropertySheet size mode
Component sheet cleanup
ModelDoc: Add camera near Z setting
Some helper methods for adding nodes
Add generic interfaces for prefab system
Prefab editor doesn't need to be an entity
Big refactor
Renaming / reorganizing
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
Generate FillDefaults() function, call inside PreLayout.BuildFinal, add Length.Undefined
Fix a bunch of defaults (need better way to check if a property is set tho)
Add `Style.IsDefault( name )`
Bad idea to call FillDefaults here since it will stomp previous keyframes
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)
Scrolling fixes
Remove DefaultStyles, internalize IsDefault, FillDefaults, ApplyCascading
Handle `overflow` prop defaults separately
Use HasScrollY inside panel input
Get rid of remaining null coalescing shit - ComputedStyle properties are no longer null
ComputedStyles has its own class w/ no nullables, helps clean things up
Remove unused, clean up
▄▇▇▋▅▄▋▅▉ ▌▌██▉▆▄ ▌█▅▉▆ ▇▊▍▊▊█▋ ▅█▅▌▌▆.▍▇▆▅█▇▄▇▉▄▆▆▋▌▅ █▊▌ ▍▅▊▊▊.▇▅█▊▍
ComputedStyles has its own class w/ no nullables, helps clean things up
Fix hi-z depth chain with offsetted viewports
Don't recycle depth from aoproxies for dynamic reflections, loses a fast depth prepass but focus on correctness first
Boxing Outfit
https://files.facepunch.com/daniel/1b0811b1/choose_your_fighter.png
Lods and skinning adjustments coming ASAP.
Boxing Gloves + Boxing Shorts
Plus updated version of the Tanktop
Experiments with layering cameras and multiple viewports
Copy tonemap params from ActivePostProcessEntity to scene camera tonemap params
Enable scene camera tonemap by default
Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed
Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu
Add SceneCamera.Skybox, port sky entities & client logic to C#
Make VirtualCursorOverlay a razor panel
Update SteamInput manifest to include joystick inputs for Menu action set
Hide mouse cursor while we have controller input active
Support processing any number of root panels, make it work in GameMenu
Cleanup & document
These should be Entity.IsValid() checks
Use SkyboxScale not Scale
Scale safety check
Start drafting out UI navigation with controller, by traversing panels
Refactor so we can switch between panel traversal and virtual cursor based on input
Don't revert back to PanelTraversalSystem if analog is empty
Add basic working virtual cursor using PanelInput.UpdateMouse
Fixed calculation of virtual cursor position
Use stylesheet to style virtual cursor, add ScrollSpeed
Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access
Disable system if mouse is moving at all
Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access
Disable system if mouse is moving at all
Fix joining a server being fucked
Render texture in viewport preview
Support vtex in asset preview widget
Properties dock
Get rid of remaining null coalescing shit - ComputedStyle properties are no longer null
Experiments with layering cameras and multiple viewports
Use HasScrollY inside panel input
Test refactoring, improving graph composition API
Move blueprints to Sandbox.Engine
Basic blueprint test setup
Actually use the sky_camera position
Fix rebase error
I don't think anyone has ever used this command
This cubemap code wasn't even setting any used attributes?
Cleanup
CEnvCubemapFog compatability with C# sky_camera, temp cause we're gonna move that to C# soon enough
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