34 Commits over 0 Days - ∞cph!
Let's remove Read and Write. People can just use BinaryWriter/BinaryReader with the raw byte array if they want
Remove unused using statements
Added SavedGame.Time (returns DateTime when it was last saved)
Added SavedGame.GetFileName
Added SavedGame.Read and SavedGame.Write utility methods
Throw an exception if trying to save a game with no data
SetData methods that make sense
Rename some methods to avoid confusion with the byte[] data
SavedGame class. Merge .meta & .save. Remove option to set name of saved game in lobby. Other stuff.
Internal deserialize
Use StringComparer.OrdinalIgnoreCase for Metadata class
Auto format saved game file names
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
Automatically clear selected saved game if it is now invalid (version difference, doesnt exist)
Set correct map dependency value in saved games page at start
Auto update map when selecting Saved Game card regardless of if project is map dependent
Add MapPackage to condition
Early out of metadata is null (dont render)
Auto update map lobby to saved game map if map dependent - alter SavedGames buildhash to rebuild if any saved game metadata changes
Clear current saved game selection when changing target gamemode
Remove unnecessary selection border
Use a file watcher and only update saved game file cache when a new one is added or removed
Some cleanup - don't cache (for now)
Invalidate cached saved games for a package when a game is saved
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 )
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(?)
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
ui: add rounded corner scissoring (border-radius works with overflow: hidden)
https://files.facepunch.com/matt/1b0811b1/sbox_gnbMdfYYuJ.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 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
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
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
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
New Clothing - Biker Jacket!
https://files.facepunch.com/daniel/1b1011b1/sbox-dev_3rVxeZCbMB.jpg
LODs and skinning adjustments coming ASAP
Merge pull request #716 from Facepunch/update-yoga
Merge branch 'master' into savedgames
Add support for SavedGames package meta using SavedGameSettings class
Start trying to show saved games in lobbies. Add simple project settings page