14,105 Commits over 1,583 Days - 0.37cph!
Saves Games MVP (#722)
* Initial commit
* Add support for SavedGames package meta using SavedGameSettings class
* Start trying to show saved games in lobbies. Add simple project settings page
* Add Metadata class (extend dictionary, add some methods so don't have to deal with JsonElement bs).
* Add SavedGameCard, SavedGameRow and update SavedGames. Display them all. Move GetSavedGames to package(?)
* Fixed paths
* Simply page in project settings. Add map dependent option.
* Automatically clear current saved game if selecting a different map
* Update current map to one dictated by the current saved game
* Add CachedSavedGame and GetSavedGame( string title )
* Invalidate cached saved games for a package when a game is saved
* Some cleanup - don't cache (for now)
* Use a file watcher and only update saved game file cache when a new one is added or removed
* Remove unnecessary selection border
* Clear current saved game selection when changing target gamemode
* Auto update map lobby to saved game map if map dependent - alter SavedGames buildhash to rebuild if any saved game metadata changes
* Rename
* Early out of metadata is null (dont render)
* Add MapPackage to condition
* Auto update map when selecting Saved Game card regardless of if project is map dependent
* Set correct map dependency value in saved games page at start
* Automatically clear selected saved game if it is now invalid (version difference, doesnt exist)
* Casing consistency
* Some refactoring and allow lobby owner to specify a Target Saved Game Name in the Server Settings. Games can choose to use this hint when saving to decide on a save name
* Fixed name
* Auto format saved game file names
* Use StringComparer.OrdinalIgnoreCase for Metadata class
* Further refactor
* Fix casing
* SavedGame class. Merge .meta & .save. Remove option to set name of saved game in lobby. Other stuff.
* Internal deserialize
* Rename some methods to avoid confusion with the byte[] data
* SetData methods that make sense
* Throw an exception if trying to save a game with no data
* Added SavedGame.Read and SavedGame.Write utility methods
* Added SavedGame.GetFileName
* Added SavedGame.Time (returns DateTime when it was last saved)
* Remove unused using statements
* Some PR changes
New Hair - Thinning Short
https://files.facepunch.com/daniel/1b1311b1/sbox-dev_PNZGQk5dbc.jpg
https://files.facepunch.com/daniel/1b1311b1/Photoshop_ibV1wI1aLn.jpg
LODs to come asap
Citizen/animgraph: added Roll_N animation + graph implementation
Speed controlled through a new, generic "speed_scale" float.
Fix tests to reflect new behaviour of parser
Citizen/animgraph: hooked up ledge grab idle/shimmies to "special_movement_states" enum
(This may change later)
Citizen: aligned ledge animations so that the character is centered (ledge isn't at X=0) + added rough pull up animation
Improve Breakables handling of multi physbody entities
Skip over empty styleblocks
Fix opening stylesheet location when seemingly not clicking the label
Can toggle :hover etc in style editor
Recompile ui_text shader so it uses new scissoring, fixes them clipping badly with transforms
Citizen: raised the ledge animations to 150cm (59in)
Can edit styles in panel's inspector
Try to fix "path must be absolute" exception
Fat gas cylinder
texture tweaks
Merge branch 'master' of sbox
Trolley
Trolley gibs, adding so bug can be fixed with physics
Merge branch 'master' of sbox
New Standard T-shirt and Monobrow!
Two pieces today, standard tshirt with a graphic T design, and a messy monobrow.
https://files.facepunch.com/daniel/1b1211b1/Photoshop_HdLEdOAfPV.jpg
Glow.Material made into a property, get rid of the Error List warning
Fix Editor labels not having callbacks
Can click stylesheet name in panel inspector to open it
Provide filename for stylesheets defined in razor files
Clean up avatar html/scss, use glass styles
Citizen: added ledge grab idle pose + shimmy right/left animations
Fix edge vignietting on single pass gaussian blur
Stencil highlights (#701)
* Initial work on stencil glows
* Unbind SetStencilMode, not really needed, add clear with stencil support instead
* Do custom blending to avoid overdraw and set render priority so outlines blend with eachother
* Update shader
* Bind pattern scroll scale to the shader and compile optimized shaer
* Delete older highlight postprocess shader, actually bind clear with stencil support
* Reduce number of iterations on thin lines
* Remove pattern from being assignable in code, let it be done in material instead,
* Use temporary depth-only rendertarget instead of clearing depth, there are effects that still depend on depth on screenspace postproecss stage, allow binding only depth
* Remove standard shading code from highlight shader, doesn't need it at all
* Put highlight shader on the same folder as highlightrenderer, put the old highlight shader on shaders folder so gamemodes that aren't updated don't break
Don't grab convars all the time for ServerInformation - do it properly in NetworkServer.FillInfo, so it's included in our manifest
Add ServerInformation.MaxPlayers, fixed ServerInformation.ServerTitle being incorrect on client.
updating materials/texture
Glass can now use any polygon shape https://files.facepunch.com/layla/1b1111b1/sbox_0025.mp4
Menu: Ignore #local in GameIcon, since we cache favourited packages, they were all returning as non-remote packages, and weren't able to be clicked to open their game front.
Animgraph: Add warning when using model that has no animations
Fix RenderTarget.GetTemporary not hashing properly, should fix UAV flag error
Store the filename and line number in StyleBlock
Make PseudoClass available on IPanel
Highlight panels with :hover in UI tree
Hide a bunch of useless panel properties in inspector
TabWidget can save its state
Can see panel styles in inspector
https://files.facepunch.com/garry/4a3983e5-f072-45ce-b746-b7b05234d8be.png
fat gas cylinder
refined gibs
Merge branch 'master' of sbox
Enable Yoga fixes for absolute position percentages not accounting for padding edges, and trailing column margin
Gas cylinder fat
refreshed gas cylinder model and bug fix
Update yoga src to latest HEAD (adds gap support and some opt-in experimental fixes for making absolute positioning behave more like web)
Get rid of old nuget yoga 1.5.0-pre1, replace with latest .net6 binary built from yoga#1207
Update yoga.vpc to build a DLL + build with /fp:precise otherwise the NaNs Yoga uses won't work
Compile yoga with $NO_STANDARD_VALVE_CODE so we can use our yoga.dll in tests without tier0 dependency
Fix Sandbox.UI.Test native dependency yoga.dll
Yoga sanity unit test
Fix Sandbox.UI.PositionMode not matching new YogaPositionType which has Static at the start now
Might as well support `position: static`
Default position is static and not relative, might break some ui where left/right/top/bottom have been misused w/o position: relative/absolute
Hook up row-gap, column-gap and gap css properties
Fix partydeck styles
glass styles can use gap !
Delete yoga.dll now it's compiled
Move Managed Tests to after native build - because we likely want some of the dlls to test
Build native before managed
Edited the wrong yaml
Merge pull request #716 from Facepunch/update-yoga
New Clothing - Biker Jacket!
https://files.facepunch.com/daniel/1b1011b1/sbox-dev_3rVxeZCbMB.jpg
LODs and skinning adjustments coming ASAP
Ingame console doesn't use templates anymore
GameSetting use razor
Menu back to horizontal
Servers Widget
Games widget
Don't lowercase texture path when loading (because http can be case sensitive!)
Hotload textures in the menu properly
Add MenuUtlity.OpenFolder
NewsWidget
Style tweaks
Event widget
Navbar cleanup
PlayerWidget
Navbar cleanup
Clean main menu styles
new & trending
Refresh server list widget automatically
Package list sidebar glass style
Dirty check PanelNode properly
Add TreeNode.SetChildren
Sidebar can be bigger now
If the razor @ref is the wrong type then ignore it
Fixup partydeck
Merge pull request #712 from Facepunch/main-menu-sucks
Main menu sucks
Whitelist `System.Type.Equals( System.Type )`
Whitelist compiler attributes required for C#11 required modifier
Keep box-shadow within the original scissor so it doesn't overflow
ui test: transform rotated + border-radius scissor test
ui: when rendering box-shadow never render under the box itself (using an inverse scissor rect) so transparent backgrounds look as they should
before: https://files.facepunch.com/matt/1b0811b1/sbox_l0kQbIIJ1c.png
after: https://files.facepunch.com/matt/1b0811b1/sbox_jVYco6DRg8.png
ui: scissor rects can have a transform matrix, scissor panels post transform position too - fixes lots of oddities with overflow: hidden and transforms
before: https://files.facepunch.com/matt/1b0811b1/sbox_6te0egX6cg.png
after: https://files.facepunch.com/matt/1b0811b1/sbox_BMeWLJ6w79.png
ui: add rounded corner scissoring (border-radius works with overflow: hidden)
https://files.facepunch.com/matt/1b0811b1/sbox_gnbMdfYYuJ.png
Comment out unknown command or convar log
Merge branch 'master' of github.com:Facepunch/sbox
Reload materials on shader resource reload
If switches are defined in command line, respect them when creating a ConVar
ClothingContainer.DressEntity disable trace and queries on clothing entities
Disable water reflections until Water rework, it's look slowly degraded over time to a point where it's looking worse than if on and taking too much frametime. We'll do it better.
UI Blur with mip chain
Blur the actual mip chain, same number of fetches as doing custom bicubic fetch with mips
Glass refraction texture is already MSAA resolved, we're sampling a non MSAA image :S
Generate mips after resolving framebuffer
Add blurred downsample shader
Remove ui_blur shader, do blur on the single cheap drawcall of the backdrop filter shader 🍷🗿
Single pass downsample
Iterate on single pass blur, use DX11 mipmapper to solve race condition between mip levels
Solve race condition on shader, do both axis sequentially
Deprecate GenerateMipMaps
Move mips generation stuff to Texture.Utils
Cleanup
Let's not break the API, don't use UAV if we don't expect to use Mips
Move GenerateMips back to Graphics since we're in a render block
Move MSAA methods to use MultisampleAmount enum reducing clutter, add summary of DownsampleMethods
Merge pull request #699 from Facepunch/fast-blurs-2
Fast Blurs
Revert "Merge pull request #708 from Facepunch/complex-parallax"
This reverts commit 1b03287d33734ebf700e0da2bde65e18fa70c84d, reversing
changes made to 2cea20324dd76565c24de4a769a2b552f24c4fca.
Add Parallax Occlusion to complex
Grabbed from #665
Add Sys( ALL ) for the time being
Compiled shader
Merge pull request #708 from Facepunch/complex-parallax
Add parallax occlusion to complex
Fix node graph connections
Make sure symlink reload queue actually gets cleared, accidentally returned ref instead of ptr
Reload symlinked resident resources after loading runtime packages too
Fix double alloc on GraphicsLine
New Hair - Mutton Chops
https://files.facepunch.com/daniel/1b0511b1/sbox-dev_a12d0ndH7o.jpg
Adding colour variations asap