4,305 Commits over 1,552 Days - 0.12cph!
Animgraph: Save and restore camera settings
▅▅▆ ▄▆█▇▉▉▆▌▄▊▅█▍▄▄▄▋▇▊▅▉██▅▍██▄▇█▍ ▅█ ▅▊▅▉▊▇▋█ █▅ ▅ █▅▇▆▄▄ ▉▋▉▍ ▋▉▌▆█▅
Animgraph: Enable settings button for scene widget to control lighting rigs etc
Animgraph: Hide gizmo and ground plane when locked onto bone. Default fov to 90 (max requested)
▇▌▉ ▊▇▋█▄▅ ▆▋█▄█▋▄ █▅ ▋█▍▍▆▊▇▇.▊▅▇▉▍<█>( ▄▊▇▍<▍> ) ▅▆▇ ▅▆█▅▊█▇▆.▄▌▍▅▄▇▉█▉▍▇▍▅▇▊▊▆▆█<▇>
Animgraph: Add C# model picker instead of going through an ugly dialog and combo box https://files.facepunch.com/layla/1b1611b1/sbox-dev_YSPuTuq24x.mp4
Fix asset publish widget flashing when created
SFM: Fix crash creating projected light
ShaderGraph: Add power node
▍▋▅ █▍▋▋▋▊ ▆▌▍▍█▅▇▆ █▇▋ ▊▇▌█▍▍██▋ ▄▌▆ █▋▅▇▍▆▇▌▅▆▅ ▋▆▅▄/▅▋▊▍/▌▅▄▌
ShaderGraph: Don't stomp vVertexColor, this is used for tint it seems?
ShaderGraph: Set vVertexColor in generated code
Fix jiggle bones in animation helper stomping bone scale animation
Use morph channel index cached in anim container instead of assuming it's the second channel. Fixes scale channel thinking it's the morph channel when there's no morphs.
▅▄▌▇ █▆▅ ▆▋▄▋ █▊▅▉▆▋█▇▌ ▇▄ ▆▇▊▄▊▉ █▆▊▇▊▆
▊▋▅▅ ▍█▊▋ ▊▋▄▊▍▊▌▊ ▇▌▇█▆▋▄▄▉▇ ▋▍ ▅█▆▄.▆▆▋▅█▋▍▌▇▆▍█▋▄▌
ModelDoc: Make sure anim bone scaling isn't applied if not enabled
Public property setters on WorldTextEntity
Opt into using uniform animation scaling data https://files.facepunch.com/layla/1b0911b1/hBJOAzIvqt.mp4
Null check video system before trying to encode audio
Fix potential crash in CBaseAnimating::AddViseme
Null check readable bones in CalcAnimationState, seems to be the cause of our most common crash
Add min max metadata to modeldoc variables #3770
Hammer: Add tile view option to fast texture tool and allow zooming out a bit more
Make GraphicsItem.PrepareGeometryChange public
Fix voxel surface split setting parent instead of parent surface #3771
Delete water ripple on water destroy, fixes #3788
Add utility for playing sound at time (for tools)
Add sound options to meta for sample rate and compression
Rework scene model morph overrides to crossfade with animation morphs
Update viseme editor for morph changes
Add sound editor with properties and simple phoneme editor https://files.facepunch.com/layla/1b0611b1/sbox_yzDLkXR34E.png
Fix unnecessary mesh instance data assert
Add empty decal for water surface, surfaces will always fallback to default
▄▋▆ █▇▄▍▌▅▆▇ █▌ ▌▆▋▅▊▌▆▍▇▋▌▅█▊.█▊▌▍▉█
Dump embedded wav phonemes to sound meta if we don't have a meta, meta takes priority over embedded
Setup model viseme data and phoneme mapping from model keyvalues
Drive faceposer with model viseme data while we have this tool
Update mouth state
Apply visemes to baseanimating with game weights
Flex overrides takes priority over game weights
Add phoneme mapping to model metadata so it doesn't have to be hardcoded in engine
Register model meta as file dependency
Allow managed to add to modeldoc tools menu
Add viseme editor https://files.facepunch.com/layla/1b2511b1/sbox-dev_QrIn49oBOM.mp4
Compile viseme data into citizen model
Fix clothing container causing assert when calling SetBodyGroup on a entity with no model
Rubikon: Sphere shape keeps a unscaled copy so rescale can never be incorrect, fixes sphere scale out of sync on client. Sphere and Capsule refresh debug shape on rescale.
Only call UpdateShadow for physics body if we have a shadow controller, physics body scale is getting stomped
ShaderGraph: Dynamic branch UseSecondaryCoord in texture coord in preview mode to avoid a shader recompile for this option
Allow VoxelChunk to be created without dependency on VoxelSurface
Add AnimatedEntity.CopyAnimParameters to be able to easily sync params from another entity like player to viewmodel
Fix streaming resampled audio, keep decoding until there's enough for output
Add DistanceMin and DistanceMax to music player
Audioplayer (#1167)
Add MusicPlayer class to stream mp3 etc from disk or URL with control over playback (seeking, pausing, looping etc)
Hook up video_bitrate and video_framerate to recorder
Try to preserve child local scale when bone merged https://files.facepunch.com/layla/1b1311b1/sbox-dev_H6RHi9sauH.png
Request seek but do the actual seeking in the decode thread so we don't block
Fix GetMetadata not using key
Remove random using, how did this get here