17,087 Commits over 1,308 Days - 0.54cph!
TickRate project settings
Added Texture.GetPixels<T>(srcRect, slice, mip, dstData, dstFormat, dstStride)
Fix reading non-zero slice from 3D texture (#1118)
CopyToStagingResource: only use 1 mip level / array slice in staging texture
CopyToStagingResource: fix copy destination offset
CopyToStagingResource: only use 1 mip level / array slice in staging texture
CopyToStagingResource: fix copy destination offset
Move JumpList into Sandbox.Engine, set up in ToolsDll
Store friction hit surface (last) and if we've changed hit surface stop any previous effects and sounds
Citizen/animgraph: enabled bouncyspring on pelvis lean additive
Added Texture.GetPixels<T>(srcRect, slice, mip, dstData, dstFormat, dstStride)
Fix reading non-zero slice from 3D texture (#1118)
Add Mass and Direction named control points for friction particles. Mass is body mass, direction is body velocity normal. CP0 is already setting position and contact normal
Lower destroy time for effects
Reorganize scrape data in surface def, lower default values. Don't fallback to rough by default. If it's a smooth scrape and there's no effects for that - do nothing by default
Surface is considered smooth by default, can set roughness factor higher for rough surfaces...
Get material for triangle by index for shape 2 on friction events should fix all friction events against world surfaces having hit surface be "default"
JumpList icons
https://files.facepunch.com/alexguthrie/1b2811b1/JumpList_Icons.png
Better JumpList API, add multiple & set categories, show projects in there
AnimGraph: Add bouncy spring mode to input damping using RK4
Fix stupid typo, GetShadowIndexForBakedLight compiles fine on vulkan now
Use ProjectRow instead of custom LaunchpadProject, move some stuff in there
Use Global.BackendTitle and BackendUrl for asset.party link
Remove borders from ProjectRow and SidebarButton
Experimental JumpList support
Recompile glass with support for world mapping
Remove msdfgen, been there forever and we never used it for anything, better to implement it in C# if we ever need it
[pick] remove shaders that don't exist anymore from CI building
Method for getting shadow index for baked light compatible with vulkan
"Open Empty Environment" button
For anyone that isn't working on a specific game (addon creators, mappers, etc)
SidebarButton.Clear acts more like a link
Rewrite RTK linebreaking algorithm
Draw pin button on right, make it blue when project is pinned
SidebarButton.Link functionality
Don't need to show the "show on startup" toggle outside of editor prefs
Fix ToggleSwitch not displaying correct value when starting value is true
StartScreen layout - pin menu row to top, only scroll through project launchpad itself
Moved glass to asset party
https://asset.party/facepunch/sboxassets
Add CopyToStagingResource3D for when trying to get texture pixels of a 3d texture slice, CopyToStagingResource only works for 2d resources
Proper way to do light indexed on ShadingModel Light API too
Sanity checks, remove debug views and some minor adjustments for viewmodel shadows
Remove last traits of g_flResolutionScale
Make EditorPreferencesWindow modal
StartScreen settings button, opens editor prefs
ToRelativeTimeString extensions for TimeSpan and DateTime (moved from PackageCard)
Launchpad project card displays relative time string
Project pinning
SidebarButton Link and Clear types are classes
Fancy switch button
https://files.facepunch.com/alexguthrie/1b2711b1/sbox_CXvCYYRATC.mp4
Remove Window.IsOnTop, calling Window.SetModal does the same thing
Rename switch to ToggleSwitch, move into Widgets/
StartScreen UI improvements, move custom widgets into partial class
Add TaskSource.WorkerThread()
Added test for GameTask.WorkerThread() / GameTask.MainThread()
Patch our C# launchers to enable discreet GPU usage by exporting NvOptimusEnablement & AmdPowerXpressRequestHighPerformance symbols
Animgraph spring demo graph/vmdl
Obsolete WorldOnly, EntitiesOnly and WorldAndEntities, Add StaticOnly and DynamicOnly
Blit cursor into in game recording when not in relative mouse mode
Button.Clear (similar to Button.Primary)
New start screen UI
https://files.facepunch.com/alexguthrie/1b2611b1/sbox_uofPG8ktak.png
Initial "one game project" logic
Basic start screen
Add Window.IsOnTop
Show start screen on boot if selected, display on top of editor
Apply WindowStaysOnTopHint on top of existing window flags
Hammer: fix crash with drag dropping map view
Assign what shadow index a baked light shall read from rather than iterating through the entire buffer and figuring it out, much faster way to do baked light shadows
Audio samples can be passed to audio frame directly without resampling
Citizen/animgraph: set voice parameter back to predicted
Resample audio from FLT to FLTP
Add audio encoding to video recorder. New in game video recording using ffmpeg instead of media foundation. Delete valve_wmf
Cleanup, controls for ambient occlusion, do indexed light viewmodel shadows sequentially, cast world shadows on viewmodel
Remove ExtraShaderDataFormat, just have everything uniform
Remove EXTRA_SHADERDATA_FORMAT from shaders too
Send voice level with voice data to server
Bump up voip layer volume
Citizen/animgraph: set voice parameter to not be predicted
FPArms: added proof-of-concept system for swapping to different first-person arms, with automatic adjustment for hand proportions
Example with a (very roughly converted) 4-fingered Citizen hand, in use with v_usp: https://files.facepunch.com/maxlebled/1b2411b1/sbox_2023-06-24_10-33-48.png
Fix strikethrough and underlines not drawing at small resolutions
Also a bit of cleanup around the area moving stuff to functions
Old Skin adjusted
https://files.facepunch.com/daniel/1b2311b1/Photoshop_mAWvj7n0Gu.jpg
Before and After, getting it up to date with the young skin textures.