1,239 Commits over 1,341 Days - 0.04cph!
Support "world" tag to render only or exclude static objects and hammer geometry
Copy entity tags to scene object on initial/change, and ensure light entity's sceneobject is actually the right one
remove unused HasTag overload
Client Input Components (#747)
* Initial commit
* Documentation for ClientInput hints that it can also be used on ClientInputComponent
* Allow any component, remove ClientInputComponent
* Copy component values best we can in MimicBot
Copy component values best we can in MimicBot
Lobby/packages design cleanup
Fix occasional panel index out of bounds
Add storage settings page
Duplicate asset option in context menu for assets in asset list
Fix CI uploading without tests passing
Fix concurrency
Move concurrency to the root
Dirty panel styles recursively when PseudoClass changes (fixes hover style remaining on children)
Component RPC Support (#744)
* Component rpc initial test
* Reset current component id on shutdown. Move net ident write to RpcWriteIdent. UpdateComponentId -> AllocateComponentId
* Backwards compat
* Use temp StartRpc2/SendRpc2 names until next pain day
Merge branch 'master' into client-input-component
Allow any component, remove ClientInputComponent
Component RPC Support (#744)
* Component rpc initial test
* Reset current component id on shutdown. Move net ident write to RpcWriteIdent. UpdateComponentId -> AllocateComponentId
* Backwards compat
* Use temp StartRpc2/SendRpc2 names until next pain day
Duplicate asset option in context menu for assets in asset list
Documentation for ClientInput hints that it can also be used on ClientInputComponent
Use temp StartRpc2/SendRpc2 names until next pain day
Reset current component id on shutdown. Move net ident write to RpcWriteIdent. UpdateComponentId -> AllocateComponentId
Backwards compat
Component rpc initial test
Add DamageInfo.WithDamage
Merge branch 'master' of github.com:Facepunch/sbox
Merge branch 'master' of github.com:Facepunch/sbox
Set Game.WorldEntity on client too
Merge branch 'master' of github.com:Facepunch/sbox
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 )