4,933 Commits over 1,522 Days - 0.14cph!
Fixed Button.Released never being called
Added widget context
Add Utility.VoiceRecording (via @aylaylay)
Don't try to play uncompiled sound
Added AssetSystem.RegisterFile
Added Paint.HasPressed
Move VoiceRecording
Throw if property databind is null
AssetProperty creates sound recording/playing buttons via "assetextra:vsnd"
Update material icons
Simplify in game console
EnumProperty draw icon
Fix stack trace NRE
Should be able to now delete these generated textures, and they get remade on content build and everything is sweet
Remove broken texture
ContentBuilder less spammy
Ignore *.generated.vtex_c
Add .generated. to material compile texture generations
Initialize imported function array so we can't end up with junk
contentbuilder can run without crashing
Create 6.Build-Content.bat
Another contentbuilder fix
Remove broken materials
Add Build Content step to ci
Fix Avatar template error
Fix FindAndConvertResources sometimes not finding assets
FloatSlider fix
List property passes down attributes
Can get AssetType by file extension
Added Paint.SetBrushLinear( pos, pos, color, color )
Added Theme.DrawButton
Added Widget.OnDragStart
Create ResourceProperty.cs
Allow creating a dialog without stomping all the good stuff
Play sound when selecting sound sample in asset browser
AssetPicker.SaveButton
Add play sound button to sound asset property
If the asset is missing/unknown, signal that
FindByPath can find relative paths too
Asset.Path uses the primary asset extension
Fix stack trace view
Warning fixes
Add Widget.ConstrainToScreen()
Move enum/flags control to game
Add Gloves, Facial categories to clothes
Fix controls to use the new Enum/Flags
Fix GameFrame dropdowns
Added IEditorAttribute<T>
Added FloatSlider
Add LineEdit.Alignment
https://files.facepunch.com/garry/e1bc5864-b770-4e07-81f9-323a65ddfde8.png
Right align number editors
Codegen use LanguageVersion.CSharp10
DisplayInfo can read Group from CategoryAttribute
Remove PropertySheet GroupByClass
Struct/List property fixes
Fixed Material Json convertor not writing filename properly
Change float dragger icon to something less abrasive
Array editor
Array/List tries to use correct editor type
SetSizeMode on ExpandGroup so it actually expands
Change DecalEntry to a struct
Json deserializer shits itself when structs have initializers
RangedFloat editor
Inspector can explore and edit structs
https://files.facepunch.com/garry/f3e93313-f101-4127-b350-b9b13a19cf14.png
Asset inspector scrollbar
Asset inspector can save assets
When saving a json asset, find and convert strings into resource strings
Ignore some surface properties in json serializer
Fix ui opacity not cascading properly
Add empty map option for games
Add some assemblies to whitelist
IL verification and tests
Access rules are built into the dll
Fix menu double GameAssemblyManager.Init
Allow menu to whitelist Sandbox.Menu access
Add Ceiridge.001 AC test
Another check for unsafe code
Move AccessControl to its own assembly
Move access control tests to own assembly
Merge branch 'master' of sbox
Fix NRE in DebugBits
Add a place in engine to grab Sandbox.Game.dll for reflection access
EngineGlue to load json from jsonasset
Create Sandbox.Utility.JsonAsset for loading JsonAssets
Add game assembly to tool's GAM
Use EngineLoop.GameAssembly in LoadEngineEntities()
Add Asset.TryLoadObject (I don't love this)
Add PropertySheet for asset type to inspector (not saving or anything right now)
Implement animation-iteration-count and animation-delay
animation-iteration-count can be infinite
Implement animation-direction
https://files.facepunch.com/garry/11901349-b088-4fba-ade1-205873d81634.mp4
Keyframe implementation basics
Animation style properties (unimplemented)
Fixed client not knowing particle names
Simplify switching to local api
Icon showing updated within last day
Package Updated/Created is DateTimeOffset
SceneSystem - ignore objects with invalid bounds
if it ain't in this spawn group, how can it be in the pvs?
Fast return if setting model but model didn't change
Fix menu exception when gameicon doesn't have info yet
ContainsInterpolationVarsForPhase return false if rendering
Upgrade "Use IDictionary<{1}, {2}> instead of Dictionary<{1}, {2}>" to an error instead of a warning
Ignore ResetLatched in IV_PHASE_RENDERING
Populate main menu screen with trending games
Tools doesn't need its own package query function
Force CBasePlayer transmit always
Fix NRE when deserializing a dictionary that ends up with a null key
Always transmit child entities to owner
Fix exception when iterating asset locations
Expire entity task in delete
Don't award kills for killing yourself
Right click particle create option
Merge branch 'master' of sbox
Fix exception when generating thumbnails
Added RealTime.GlobalNow - like Now but should be in sync globally (and is a double)
RealTimeSince uses GlobalNow - so should stay in sync between server and clients
Merge branch 'master' of sbox
Allow base scoreboards to decide whether they should be open or not
Fixed outro animations not always playing
Store current server steamid in richpresence so friends can join
Create socket for client steamid too, when listen server
Don't throw error when joining game via lobby
Don't SpewAllClients when rejecting because server is full
Fix warnings in WaterSceneObject
Give warning if calling SetModel/Model in entity constructor
Early-out in OnOverrideAnimGraphChanged
Remove BaseViewModel.FieldOfView (is controlled by CameraSetup)