usermattcancel

1,586 Commits over 1,127 Days - 0.06cph!

1 Year Ago
Update yoga src to latest HEAD (adds gap support and some opt-in experimental fixes for making absolute positioning behave more like web) Get rid of old nuget yoga 1.5.0-pre1, replace with latest .net6 binary built from yoga#1207 Update yoga.vpc to build a DLL + build with /fp:precise otherwise the NaNs Yoga uses won't work Hook up row-gap, column-gap and gap css properties
1 Year Ago
Whitelist `System.Type.Equals( System.Type )` Whitelist compiler attributes required for C#11 required modifier Keep box-shadow within the original scissor so it doesn't overflow
1 Year Ago
ui test: transform rotated + border-radius scissor test ui: when rendering box-shadow never render under the box itself (using an inverse scissor rect) so transparent backgrounds look as they should before: https://files.facepunch.com/matt/1b0811b1/sbox_l0kQbIIJ1c.png after: https://files.facepunch.com/matt/1b0811b1/sbox_jVYco6DRg8.png
1 Year Ago
ui: scissor rects can have a transform matrix, scissor panels post transform position too - fixes lots of oddities with overflow: hidden and transforms before: https://files.facepunch.com/matt/1b0811b1/sbox_6te0egX6cg.png after: https://files.facepunch.com/matt/1b0811b1/sbox_BMeWLJ6w79.png
1 Year Ago
ui: add rounded corner scissoring (border-radius works with overflow: hidden) https://files.facepunch.com/matt/1b0811b1/sbox_gnbMdfYYuJ.png
1 Year Ago
ClothingContainer.DressEntity disable trace and queries on clothing entities
1 Year Ago
Make sure symlink reload queue actually gets cleared, accidentally returned ref instead of ptr Reload symlinked resident resources after loading runtime packages too
1 Year Ago
Fix Material ResourceId not being set so it networks properly Never try to precache procedural models Fix bad race on procedural models invoking OnModelLoaded without being properly set to procedural yet
1 Year Ago
Do standard weakref cache for each native resource class (repeated code isn't really avoidable here sadly), seal these classes, private constructors so you have to use e.g Model.FromNative( IModel ) Garbage collect on Client LoopEnd, eligable Resource classes were never getting collected and leaking their native handles
1 Year Ago
fix NRE on map uploads when the map addon contains skyboxes or prefabs
1 Year Ago
Force a reload of any resident resources that are or were symlinked, this is especially required for streamed resources to avoid a mismatch between header and file data
1 Year Ago
Store GameResources in ResourceLibrary instead of all Resources in Sandbox.Engine so resources get released properly on game shutdown Every native resource (model, material, textures...) was getting held indefinitely even after game shutdown, this commit solves that by: * ResourceLibrary will only hold strong references to GameResource, native resources will only have a weak reference internally this way they get unloaded properly. * Sandbox.Tools gets it's own ResourceLibrary, doesn't piggy back from GameHost.Menu anymore * Get rid of GameHost from Resources
1 Year Ago
Cleanup dupe code, add some docs
1 Year Ago
Decouple the system that holds references from base Resource class to ResourceLibrary. ResourceLibrary is only for GameResource, this was the only way it was being used and it makes no sense for normal Resource to be there. Precaching keeps strong handles of native resources( mainly so we can NetRead them.. ), never add GameResource to precache stringtable (they're always loaded) Texture.Load behaves better and doesn't try to cache a not found file Comment these out, need to figure out ResourceJsonConvert (this is just for GameResources again?) w/ ResourceLibrary, and probably make another ResourceLibrary for Sandbox.Tools ResourceJsonConvert uses given ResourceLibrary Promises assign ResourceId again Oops ResourceLibrary dictionary shouldn't be static no wonder it was fucked Resource.Load doesn't need GameHost Tools gets it's own ResourceLibrary, doesn't use GameHost.Menu anymore NetRead.ReadResource can handle non-GameResource again Replace optional GameHost virtuals GameResource.PostLoad/PostReload with simply passing ResourceLibrary Replace Resource.Update in memory system with ResourceLibrary.UpdateGameResource, only used from tool asset inspector to propagate live changes of GameResource to game / menu
1 Year Ago
Decouple the system that holds references from base Resource class to ResourceLibrary. ResourceLibrary is only for GameResource, this was the only way it was being used and it makes no sense for normal Resource to be there. Precaching keeps strong handles of native resources( mainly so we can NetRead them.. ), never add GameResource to precache stringtable (they're always loaded) Texture.Load behaves better and doesn't try to cache a not found file Comment these out, need to figure out ResourceJsonConvert (this is just for GameResources again?) w/ ResourceLibrary, and probably make another ResourceLibrary for Sandbox.Tools ResourceJsonConvert uses given ResourceLibrary Promises assign ResourceId again Oops ResourceLibrary dictionary shouldn't be static no wonder it was fucked Resource.Load doesn't need GameHost Tools gets it's own ResourceLibrary, doesn't use GameHost.Menu anymore
1 Year Ago
Quick play around to see if a static API for HTTP is good
1 Year Ago
Decouple the system that holds references from base Resource class to ResourceLibrary. ResourceLibrary is only for GameResource, this was the only way it was being used and it makes no sense for normal Resource to be there. Precaching keeps strong handles of native resources( mainly so we can NetRead them.. ), never add GameResource to precache stringtable (they're always loaded) Texture.Load behaves better and doesn't try to cache a not found file Comment these out, need to figure out ResourceJsonConvert (this is just for GameResources again?) w/ ResourceLibrary, and probably make another ResourceLibrary for Sandbox.Tools
1 Year Ago
Model.Loaded uses WeakReference to not keep models that have no references loaded
1 Year Ago
Cleanup coreclr patch a bit Strip xbox code from filesystem Strip all this whitelist bullshit from basefilesystem Fix strong handle leak in Model.Get( IModel ) - you could get ref counts on a model resource over a million from 5 minutes of gameplay Fix strong handle leak on Material.Get( IMaterial ), ParticleSystem.Get( HParticleSystemDefinition ), AnimationGraph.Get( HAnimationGraph )
1 Year Ago
Add -noamsi command line parameter for testing
1 Year Ago
Revert "Only create resource dependency on texture .meta if it exists" This reverts commit 55e57df69e0f6335962a5923ef956b658e9e7393.
1 Year Ago
Only create resource dependency on texture .meta if it exists
1 Year Ago
Fix VR.Anchor not setting anchor angles
1 Year Ago
Remove this ancient source behaviour we've been keeping around that amplifies the Input.AnalogLook pitch by 1.5
1 Year Ago
Make Input serverside asserts a bit more clear
1 Year Ago
Input.AnalogLook and Input.AnalogMove are accessible serverside like everthing else in Input Use CircularBuffer for InputHistory
1 Year Ago
Hammer remote packages use new .bin path, remove all the legacy support Parallelize MapClass parsing
1 Year Ago
Fix for engine refactor
1 Year Ago
Only default VR.Anchor to Local.Pawn.Transform unless it's been explicitly set from a game - that way games can set VR.Anchor whenever and whereever they want
1 Year Ago
Make PerformanceStats.Timings.History use a circular buffer, this was starting to take a small amount of time as we collected more and more perf stats
1 Year Ago
Camera.FieldOfView is actually horizontal and not vertical 😳
1 Year Ago
Add a couple of events to [ToolEvent.MapEditor] for discoverability
1 Year Ago
SceneCamera.IsOrtho is SceneCamera.Ortho
1 Year Ago
Clarify Camera.FieldOfView is vertical and Screen.CreateVerticalFieldOfView converts horizontal -> vertical
1 Year Ago
Only suppress texture deletion and not texture loading during managed render layers, fixes hangs
1 Year Ago
Backport latest texture manager changes from Valve, fixes for race conditions in async hookup jobs Suppress texture frame updates for render hooks, fixes bound textures with no references getting deleted before the frame fully ended Revert ScreenEffects workaround from not being able to Material.Load within RenderHook Fix leaky strong handle from RenderTools.RenderScene on unused returned ITexture
1 Year Ago
Backport latest texture manager changes from Valve, fixes for race conditions in async hookup jobs Suppress texture frame updates for render hooks, fixes bound textures with no references getting deleted before the frame fully ended Revert ScreenEffects workaround from not being able to Material.Load within RenderHook Fix leaky strong handle from RenderTools.RenderScene on unused returned ITexture
1 Year Ago
Fix leaky strong handle from RenderTools.RenderScene on unused returned ITexture
1 Year Ago
Backport latest texture manager changes from Valve, fixes for race conditions in async hookup jobs Suppress texture frame updates for render hooks, fixes bound textures with no references getting deleted before the frame fully ended Revert ScreenEffects workaround from not being able to Material.Load within RenderHook
1 Year Ago
header cleanup
1 Year Ago
CTextureManagerBase::AllocateResource race condition fix - set the ResourceHandle->Data mapping as soon as SetFinalResourceData is called > When loading / reloading textures, the handle can be null instead of the new texture when the async work starts, causing the load to make crazy things happen CUtlIdGenerator Actual headers for texture residency info
1 Year Ago
Backport latest texture manager changes from Valve, hopefully managed to not stomp our own additions & fixes disalbe these asserts for now CTextureManagerBase::AllocateResource race condition fix - set the ResourceHandle->Data mapping as soon as SetFinalResourceData is called > When loading / reloading textures, the handle can be null instead of the new texture when the async work starts, causing the load to make crazy things happen Try suppressing resource manager frame boundary work during an IProceduralLayerRenderer - this seems to fix resource loads within render hooks in game mode... but not tools mode
1 Year Ago
Backport latest texture manager changes from Valve, hopefully managed to not stomp our own additions & fixes
1 Year Ago
Cleanup and strip native postprocess pipeline and shader, fix dx11 validation error, remove unused combos, features & attribute - remove unused convars: r_post_fxaa, r_post_vignette, r_post_film_grain, r_post_mirror_horizontal, r_post_mirror_vertical
1 Year Ago
Maps can use entities from addons tagged "map entity", these addons are mounted for the map independent of game and are accessible from Hammer entity tool
1 Year Ago
Compile addons in tools GameData.LoadEntitiesFromPackage works with addons Save / load map entities' addon packages to meta data Download and use addons specified by the map at runtime for local maps Entity tool can use packaged addons tagged map + entity Mount addons from map package meta MapAddons When publishing a map, set meta MapAddons from the map's metadata ( messy, improvements to be made since it's a single asset workflow really ) Use vmap asset not vpk asset Don't save #local in ident to vmap meta
1 Year Ago
Compile addons in tools GameData.LoadEntitiesFromPackage works with addons Save / load map entities' addon packages to meta data Download and use addons specified by the map at runtime for local maps Entity tool can use packaged addons tagged map + entity Mount addons from map package meta MapAddons When publishing a map, set meta MapAddons from the map's metadata ( messy, improvements to be made since it's a single asset workflow really )
1 Year Ago
CShapeManager: all of this should be const auto& Can we stop pushing `#pragma optimize("",off)` to master
1 Year Ago
aoproxies: fix crash when a non-anim sceneobject has bones and aoproxies, the game used to override sceneobjects to be anim so this code made assumptions aoproxies: optimize loop over aoProxies by ref instead of copying
1 Year Ago
Give Hammer asset browser object name and icon again