19,538 Commits over 3,990 Days - 0.20cph!
Add Sandbox.Bind
Throttling
LinkTwoWay throw if null
If a link throws an exception, log warning and remove it
Start converting tools to Sandbox.Bind
qt update
Quick compile fixes
Quick compile fixes
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
Restore QDockWidgetTitleButton because it doesn't create the moc without a QOBJECT in it, and then compilation fails
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
Ranking page is ordered properly
Player detail
Only show rankings list on games
reconnection handling
Fix tables getting unstyled
Fix fonts loading in late
StringPool to get without possibly adding
Ranking page allows viewing by buckets
Add empty map option for games
Unify CanEdit access on asset pages
Remove Player.CityId, GameRating.CityId, rename GameRating.Bucket to BucketId - make it a stringpool entry, make it an int
Ranking wip
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
Notices page, accepting invites, rejecting invites, leaving org
Catch NRE
Script cleanup
Api logging cleanup
I wonder if net6.0-windows will work
User admin page
Admin user list
Admin usage stats
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)
Fix tripmine hitting triggers
Shouldn't need PrecacheParticles any more
Spawnpoint selection
Fixed client not knowing particle names