13,512 Commits over 1,522 Days - 0.37cph!
vr: particle renderer don't initialize 4x vbos for instancing, only need 2x
vr: fix cables renderer adjusting the transform id the wrong way, cables will render in right eye again
Update sentry-native 0.5.2, add Crashpad WER handler which bypasses SEH to handle __fastfail and stack buffer overrun crashes
release shaders for projected decals - should fully behave in VR now
Clothing Texture Variations + Makeup
Merge branch 'master' of sbox
projected decals: small compile fix for shader
Fix r_stereo_multiview_instancing affecting non stereo rendering
Don't bother with multiview instancing unless we explicitely want it, previous behaviour was to always ignore it even when we wanted it, fixes decals and other stuff in VR
Local packages untangled from remote packages
Local packages now end in #local and are completely separate from remote packages. This means you don't have to disable your game project to test the published version. It also means your launch configs are now broken. To fix just go in the config for each one and set them back up.
I've updated the Game list page to razor so we could have the local game tab.
Get rid of anaglyph and parallel stereo rendering modes
r_stereo_multiview_instancing: default 1, same as VR
Add Debug menu options for stereo rendering to the editor ( easy way to see if your game renders properly in VR )
Release shader for projected decals
projected decal shader: adjust the instance id under multiview instancing so it actually appears in the right eye - decal space position still seems off though
Update shaders with adjustments for tiled rendering
Outfit Reskins Variations + LODs
vr: make debugoverlay work on right-eye again, don't constantly change render target to swapchain
vr: debugoverlay behaves properly for multiview instancing now too
Greatly increase depth precision for world, fix decals in VR, don't do viewmodel offsetting at all on VR
Fix Undefined Behaviour In Tiled Rendering
System.Net.WebSockets for tool addons
Load System.Security.Cryptography.Algorithms.dll, System.Security.Cryptography.Primitives.dll - and whitelist System.Security.Cryptography
Properly fix codegen removing all namespaces
Fixed codegen removing all namespaces in generated files
This is primarily for property initializers
Fix compiler not finding runtime game dll when compiling runtime addon
Can get TypeDescription by fullname (namespace.typename)
Runtime addons can define their primary class
hammer: fix entities not loading from remote packages, this was accidentally reliant on tools.refresh event & now it makes more sense
Automatically rebuild the project page on hotload
Disable debug spam
Package.MountAsync can load the addon assembly too
Assert when a nullptr is passed to CCompositeParentSpaceState::CopyBoneTransformWeights - we need to figure out why it's happening, and if it is valid then we need a dozen nullptr checks on m_pInterpolatedBoneTransformWeights
Crash fix / assert in CCompositeParentSpaceState::operator== where m_pInterpolatedBoneTransformWeights could be nullptr
hammer: fix crash when undoing changes to path nodes
Update tooltip text if tooltip text changes while visible
Don't let game code use ConsoleSystem.GetValue or SetValue to access engine convars
Whitelist TextWriter and StringWriter
StringWriter only writes to memory. I'm leaving StreamWriter forbidden for now.
define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS todo: look at whether we should update protobuf
ProjectDownloader also displays errors for packages
Some Widget.Layout docs
More gracefully handle missing git when downloading games from asset.party
Display a warning when trying to download a game to non empty folder
Fixed selecting multiple games in ProjectDownloader causing weird automatic path
Citizen/animgraph: added duck height corrective for the scale_height (hack week) feature
Because if you're shorter, you need to crouch less, and if you're taller, you need to crouch more.
Citizen/animgraph: in post-scale_height blend output, nullify pelvis position delta while sitting
▊▅ ▋▉█ ▍▍▅▊▉ ▍▇▋▉▊▄▆ ▋▅▌█▋▊▅▅▍█ ▄▆ █▌▉▌█▆▌▅▉
▊▄▄▅/█▍▋▌▅▋/▅▄▇
TypeLibrary.GetDescription handles constructed generics
(By returning info about the non-constructed version of the generic)
Remove debug output from TimerEntity
Citizen/animgraph: scale_height (hack week!) now scales the position of IK feet as well (stride length, poses...)
Citizen: dynamically adjust position of lower arm helpers + improved behaviour
The constraint... or rather, its result... is now biased towards staying closer to the end of the limb, which preserves the natural curve better.
Fixed Hammer inputs missing descriptions in Hammer
Added TimeUntil.Passed & feature parity for RealTimeUntil
Added TimerEntity
Citizen: dynamically adjust position of lower leg helpers
Citizen: adjusted how limbs scale with height
Citizen/animgraph: first draft of scale_height feature
https://files.facepunch.com/maxlebled/1b0811b1/scale_height_first_draft.webm
Fixed getters for Widget.Max/MinimumHeight returning width
Default ZNear to 4, not 10 if its not set
Fixes ultrawide aspects being able to see through walls in Sandbox, etc.
Fixed description of SceneCamera.BackgroundColor
Fixed Entity.AddOutputEvent setting times to fire to 0
Now is infinite like expected.
Introduce Material.Set so you can change all attributes within a material or shader
This allows you to create materials completely in C#
Add Color
Update comments
Merge pull request #606 from Facepunch/proceedural-materials
```cs
public static void SetupCustomMaterial(ModelEntity myModel)
{
Material m = Material.Create( "my_cool_material", "simple" );
m.Set( "g_vColorTint", Color.Red );
m.Set( "g_flMetalness", 1.0f );
m.Set( "Color", Texture.White );
m.Set( "Roughness", Texture.White );
m.Set( "Normal", Texture.Transparent );
myModel.SetMaterialOverride( m );
}
```
https://files.facepunch.com/ognik/1b0511b1/199966083-b7e9a595-98b3-4e9d-8cc0-b5850db444f8.png
Fix crash when shutting down during a level transition
Citizen/clothing: minor jumpsuit tweaks
Try to generate a better default value for asset identifier
Implemented usage of ValidationAttributes to PropertySheet
https://files.facepunch.com/rubat/1b0411b1/sbox-dev_NBbW8ZiRDE.mp4
Any of System.ComponentModel.DataAnnotations.* attributes work, including custom ones. There are helper functions for this on TypeLibrary and PropertyDescription classes as well.
Use validation attributes on Asset publish inspector
Implement PhysicsShape.RemoveTag
Only change datatable tags on the server (suspect this will fix https://sentry.io/share/issue/2446b124736f483ea51358d927983db6/
Fix crash when changing maps
PerformanceTrace Physics World Step
Add perf trace for EvaluatePose
Add perf trace on trace + prediction