731 Commits over 1,157 Days - 0.03cph!
Lets try rewriting generated razor syntax again
some documentation corrections
markdown style adjustments
Slap DefaultValueAttribute on DevCam values that can reset
Because we don't have syntaxrewriter on razor pages
Revert "Generate Razor pages before running Syntax Rewriter"
This reverts commit 132f573ddbdf8e42755e08aa0aad41de9cc5d1b4.
DevCam reset also resets FOV
Added Slider.Default property (razor), middle mouse click will reset to it if set
Generate Razor pages before running Syntax Rewriter
Gives us DefaultValue attributes on generated classes
Added 'onlyOwn' argument to TypeLibrary.GetPropertyDescriptions
Defaults to false, optionally returns only non-inherited properties
DevCam reset options
https://files.facepunch.com/rubat/1b1711b1/5ALR2QNbDc.png
Middle mouse click also works to reset individual sliders
Enabled simple markdown for asset descriptions (no images/links for now)
Minor documentation pass
Handle JSON parse errors when reading .meta files by displaying a warning
The warning displays which file exactly failed to parse
Disallow adding duplicate tags with TagEdit
Also adjusted its styles to not have extra margin on its left with no tags added compared to a default text entry
Added SceneObject.ClearMaterialOverride & Vector3.RotateAround
Further main menu style adjustments to not cut off icons
Placeholder icon for local gamemodes in server list
So it doesn't appear like something broke during icon loading
Disable "Open in Hammer" option for disabled map projects
Asset Browser with list view now also displays asset path in status bar
Try to reduce forced sizes of docked editor panels after restarting the game
Fixed Utility.VoiceRecording not working for paths with spaces in them
Handle errors for Sound Asset Picker when voice recording fails
Fixed server browser styling
Fixed front page server browser icons being cut off when server name is too long
Fixed long server names in the full server browser overlapping the map name
Avoid printing a warning when a project doesn't specify C# project name
Also try to fallback to Gamemode Title for project name first, if that is not acceptable, only then use the indent
Package uploader no longer tries to upload to archived packages
Also will now display more user friendly messages when you cannot go to the next page.
Setting text of LineEdit calls SignalValuesChanged() when it changed
Fixes editing ident of a project in Project Settings => Project Setup not correctly affecting first page of "Upload to asset.party"
Fixed ModelDoc Weightlist preview
Documentation pass on Widgets
Fix CheckBox mouse event callbacks
Make tag picker icons be not stretched out to 16x16
More common widgets documentation
Documentation pass for asset tags and widget events
Clean up asset browser context menu code a bit
Tag all Hammer entity icons with internal tag
Do not reset Asset Picker icon size for when opened from native
(Will still force list/grid as dictated by native)
Managed Asset Tags (#843)
Fix Image panel not updating its size when the texture gets loaded or ScaleToScreen changes
Fixed CustomResources not loading for Map Projects loaded through filename (i.e. after compile)
Fixed NRE when adding an Asset Browser bookmark when you have none
IntProperty signals value change when drag editing
Make TagPicker Clear button visually distinct and added a Close button
https://files.facepunch.com/rubat/1b2411b1/vbTuFC4SMP.png
Fix some warnings
Fixed AssetBrowser tags not visually restoring from history on creation
ModelEntity.(Local)Position/Rotation affects all physics bodies, not just the first one
sboxgame/issues/issues/2916
Rework Int/FloatProperty drag value change
Works much better for ints now, faster value change when further vertically from the slider (rather than changing speed from top of the screen)
Added Copy/Paste Path options to Asset/Resource properties
https://files.facepunch.com/rubat/1b1411b1/ea0OY53sKZ.png
Also fixed resource properties context menu not functioning.
Change how cookie expiration works
Getting a cookie now refreshes its expiration date. This fixes cases where cookie would be deleted after not being set for a while, even when it is being used, such as game configurations in tools.
Expired cookies no longer get deleted on game start up. They now have a 24 hour delay after expiring and being deleted, during which using/setting them resets expiry date. This is meant to fix cases where you'd essentially lose all data after not launching the game in over 30 days.
Added Favorites section to Asset Browser
https://files.facepunch.com/rubat/1b0911b1/sbox-dev_UzQGU9JpQo.mp4
Fix PreLayout being called at all times for razor panels
Fixed game favorite status not being reflected on the game page after a restart
(Un)favoriting a game refreshes favorites list on the home screen
Settings menu style tweaks
Keybinds - add spacing between "Reset/Apply" buttons and the list of key binds
Storage - Move buttons to the bottom of the screen like other pages do
Game page loading placeholders
Also do not display "Screenshots" if there are no screenshots
Game server list: do not display header buttons when there are no servers or we are refreshing the list
Fixed huge 'Local Maps' button when first opening Games list
Improve MathX.SnapToGrid implementation
Use inverse of the gridSize for math so small values don't have precision errors, for example in Settings > Input > Mouse Sensitivity
Fixed sliders acting weird in Settings and other places
Update Package Information modal
Make buttons not jump around when loading data or when there's too much content vertically. Made use of placeholders so you are not staring at blank screen waiting for it to load.
Fixed description not being scrollable, improved height scaling of the left column elements with various summary sizes & screenshot counts, etc.
Hide Sandbox.Internal.Tests.CmdTest & AssetList event handlers (again & properly))
Documentation pass
Hide a bunch of protected methods (event callbacks)
BindSystem.DoTick - BindSystem.Tick is public
AssetBrowser.OnAssetSystemChanges and OnAssetContextMenu
AssetList.Refresh, BuildAllIconsR, RecompileAllAssetsR, OnFbxFileAssetContext, OnAssetThumbChanged, OnAssetContextMenu_*, OnFolderContextMenu_*, OpenFolderContextMenu
Allow manually networking structs via INetworkSerializer
This is useful for structs that cannot be automatically networked due to nullable types.
Make EntityTarget struct networkable
Switch ParticleSystemEntity to create effects clientside
Fixes issues for players joining a server after particles are toggled on or off and not seeing them
Handle potential NRE in BasePathNodeEntity
Documentation pass
Internalize some methods
EntityComponent.ResetComponentId
ScreenEffects.VignetteSettings.Apply
Remove pointless IEntity overrides in Entity
So that Entity can get IEntity's docs without extra work
Fixed particles not going to sleep properly
Now happens after the 10 second delay of not rendering like expected
Setting a control point on a particle system wakes it up
Fixes rain particles not returning after staying outside a precipitation volume for 10+ seconds.
Do not error when precipitation volume entity is given empty particle paths
Stop looping sounds on destruction of the sound entities
snd_event_alignedbox and snd_event_point specifically
FGDCurve doesn't error when given empty input string
Remove hack that strips empty string key values on map compile
Allows existing key values to be set to empty, such as func_precipitation particle effects
Removed unused functions - ConvertOldKeyValuesToNew & UTIL_LoadAndSpawnEntitiesFromScript
Fix cloud assets not loading for local maps in local projects
For map projects that are outside of the game directory and are loaded without using their ident
LocalProject.FindByIdent can find #local packages
Only add the LocalProject for server's current map, not all of them
Load resources from local map addons on server start
Fixes soundscapes in local map addons not loading in-game. Also added a warning when a soundscape entity fails to load a soundscape.
Fix Hammer properties sometimes not being set
For cases when there's 2 properties and one's classname override is the same as anothers' actual name in code, and the code choosing the "wrong" property.
func_brush sets its Health when it is overridden in Hammer
Simplify code setting hammer property info
Improve placement of external gibs for multi body props
Improve Breakables handling of multi physbody entities
Fix movement_path_node missing
Hammer: Asset Spray tool colors
https://files.facepunch.com/rubat/1b1511b1/sbox-dev_DJuBUU3yWI.mp4