5,139 Commits over 1,583 Days - 0.14cph!
Put SpeakerVolume in Sandbox namespace
Rename AssetView to AssetPreview
Rename internal AssetPreview to AssetThumbnail
Delete broken legacy particles
New unified asset preview/thumbnail/video system (cleanup)
Size in OnPreRender isn't optional
Add Pixmap.GetPixel
Texture preview
Add Texture.GetSequenceFrameCount, HasAnimatedSequences
Asset thumbnail render is async
NativeRenderingWidget events
Allow preview to tell the renderer whether it's animated (opt out of video)
AssetPreview can be pixmap based
Consolidate
Paint.Target to Paint.ToPixmap, scoped
Fix crash when accessing sound samples
Add timeout to thumbnail rendering
Add timeout when loading SoundFile
Fix warnings
Draw a line if we can't get sound samples
AssetPreviewWidget async wait nicely
Size renderWidget properly
Fix QPainter was null when calling setPen errors
CompileProgress tests (doesn't work)
Fix asset browser file type size
Fix NRE in GenericControlWidget
Add BaseLayout.AddLayout<T>
Add ControlSheet.AddProperty
SerializedCollection elements return attributes of parent
SoundFileCollection doesn't use PropertySheet
Add EditorUtility.OpenPropertySheet
https://files.facepunch.com/garry/c9f2b5cb-f6bb-4895-a401-346d1dbf939c.png
Set qt darkmode=2 so windows will follow system theme (I think)
Add ControlObjectWidget
Add [KeyProperty]
Add KeyProperty to TextureSequence.Source
ControlWidget will create an editor for unknown types (this will likely need locking down)
Add [ImageAssetPath]
fix SerializedCollection NRE
Fix MemberDescription.HasAttribute not finding base attributes
Convert TextureEditor to use Sequences
SequenceControlWidget has popup instead of doing it all horribly inline
Fix SerializedObject changes not propagating upwards
ResourceStringControlWidget cleanup
Use new Sequences json for amalgamated texture
Expose some sheet access on texture
Simplify amalgamatedtexture packing, less likely to infinite loop, loads from json
Add TextureFile sequence `IsLooping `
Can use particle SequenceTime easier
Remove parse_mks.cpp
Delete mks importers (everything should use our way now)
GameObjects only save their own tags - not inherited tags!
Add group support into ControlSheet
TextureCompileSettings uses ControlSheet
Fix warning when dragging model into scene
Add EditorUtility.LoadBitmap
Don't store flipbook shit on the image
HideInEditor becomes Hide
Component.Destroy should always work in the editor
Hide components with ComponentFlags.Hidden, re-use ComponentSheet if possible
When calling a CallbackBatch, create a new CallbackBatch to catch callbacks inside
Init SkinnedModelRenderer to bind pose in editor
Set so transform on model create
Serialize component references as an object (for future usage)
Fix NRE when copying component to clipboard
Move BodyGroups, MaterialGroup control widgets out of engine until they don't look like shit
Add ShowIf to Model.BodyGroups + MaterialGroup
ComponentSheet obeys + watches ShowIf
Fix component sheet not having 4px space before groups
Update default QComboBox colors
Fix not finding primary connection when not p2p
Add Networking.HostConnection
Add Networking.Connections (list of connections)
Add Networking.IsHost
Assert that the connection isn't host when calling OnJoined during handshake
Cancel loading button leaves the game (fixes sbox-issues/issues/4523)
Add Rigidbody.ApplyTorque (fixes sbox-issues/issues/4544)
Set the light transform on creation
Simplify particle mode selection - with most likely presets
https://files.facepunch.com/garry/2a502906-36a8-42dc-a536-0fdb6d8c089f.png
Make mode change button less obtrusive on ParticleFloatControlWidget
https://files.facepunch.com/garry/2bf2ff16-38ac-478f-89f3-3fa89a7ffbcb.png
Draw indicator lines through range
Curve editor supports ranges
https://files.facepunch.com/garry/bd829663-f1a0-4db3-8aed-4ad8b3ec4388.png
Delete CurveProperty.cs
Add CurveRange struct (between two curves)
Add Random.Float() (faster to get float between 0-1)
TypeLibrary allow access to Curve and CurveRange
ConstrainToScreen doesn't call AdjustSize()
Floating WidgetWindows don't need to constrain to screen
Curve Editor WidgetGallery
CurveControl tweaks
Add CurveRangeControlWidget
Make curve editor less obnoxious to look at
Add CurveRange option to particlefloats
Make value range work
Light components derive from a common base class
Called the wrong function
Fix game test not being in test mode
Don't try to init steam during unit tests (!)
Bootstrap more linearly
Fix unit tests
Remove unused
Bootstrap cleanup
More Bootstrap cleanup
hunch satisfied, fuck steamworks
Upload to default branch (not staging)
Fix NRE
more NetworkTable unit tests
Lift restrictions on Sync var types (it'll error now instead of silently ignoring)
Fix NRE
Split heartbeat message into ping and pong
Exception wrap INetworkListener calls
Move FriendsListModal
Map list right click menu
Fix NRE in ClothingContainer.Apply
Transition cards in
Remove unused
These updated after a full resource build
Package updates
Update packages
Fix loading screen not being interactive
String table, empty entry unit test
Handle empty entry in StringTable
Don't try to multiple Term GameObjects
Differentiate between Network Root objects and network objects in tree
Fix network object serialization
Better errors when component deserialize errors
Don't network spawn disabled objects
When serializing network objects, don't include child network objects
Handle exceptions in Panel.FinalLayout
Add Model.Cube, Sphere, Error
Add Particle.Get, Set for storing extra data
Add ParticleEffect.OnParticleCreated, OnParticleDestroyed
Fix panel NRE
Send ClientReady after snapshot load
Fix not waiting for OnLoad when joining server
Trim debug output
Refactor SteamLobby
Update SteamLobbyConnection id from ConnectionInfo
Fix NRE when reporting project errors
We don't need to route EngineLoop.Exiting via native