4,794 Commits over 1,371 Days - 0.15cph!
Sounds for campfire and furnaces
Prevent players shooting through walls by poking their weapon's world model through it
Finally tracked down a bug that has plagued me. InventorySlot will now be updated when it should be - I didn't include the inventory id in the hash code for InvContainer
Give armor entities the same obscured glow effect as players
Comment out blood drip for now
Made some fix ups to materials for Hidden
Added Saved Games support (PersistenceSystem compatibility)
Nametags will fade out over distance and eventually hide themselves
Support for Timed Actions to have sounds that play while the timed action is in progress
Start and stop timed actions sounds appropriately
Added a bunch of placeholder rummaging sounds for harvesting pickups
Add a glow component (client-side) for the local pawn for obscured player only
Fixed data not saving
Chat styling - name will now not wrap, and text entry will grow accordingly
Reduced campfire size
Fixed item hash code not including item id
Fixed structure place sound not playing for the first structure piece
Re-adjusted all sound distances and don't send pickup sounds to everyone
Change fireplace and furnace dynamic lights and reduce glow widths
Only block input when have a hovered entity if an action was done or if primary attack is down
Check if package is null before creating the PackageCard
Keep current map if it's valid for MapSelect.Hidden
Don't render packages that aren't valid
Lobby.ValidateMap will ensure the map is set to one that is valid for that game package
Validate map before starting game and when loading new game info
Try map list if no valid tagged map
Merge branch 'master' of github.com:Facepunch/sbox
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
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
Comment out unknown command or convar log
Merge branch 'master' of github.com:Facepunch/sbox
Added BeforeStateLoaded and AfterStateLoaded and change some method names
RestoreConnection
Don't do some goofy on-demand way to work out the connected stockpile entity. Propagate and cache stockpile connections when a foundation is added, restore them after load
Persistance++ and refactors around persistence