1,056 Commits over 1,157 Days - 0.04cph!
When rendering an Image panel mimick background-size: cover instead of contain - fix it looking shit at edges
Add Open Visual Studio & Regenerate Solution options to editor window
Fix InputBuilder From/To UserCmd wrongly using static instance which meant you couldn't manipulate it properly on bots
Remove long obsolete InputBuilder.CursorAim/CursorOrigin ( Use InputBuilder.Cursor instead )
Ignore uncompiled texture .jpg when sending files to client
Parse CSS floats / ints with InvariantCulture in generated code too, should fix remaining issues with odd regional setups
Use InvariantCulture when parsing time in scss too
Fix initial fgd autogen needing config folder to exist
If we surpass MAX_ACTUAL_RENDERTARGETS don't try to allocate more, fixes buffer overflow crashes
(cherry picked from commit 124a7d351686733fe63d829c49ee65f18aec8359)
Double MAX_ACTUAL_RENDERTARGETS to 256, with people making their own tools 128 would easily get hit
(cherry picked from commit 08628fb0f855688c84909b976a2d3b3c3cd678da)
Backport engine fix for debug scratch rendertargets running out
Support loading font files with SemiLight (350) or ExtraBlack (950) names
Fix NRE in stylesheet parser if an invalid file is requested
Parse floats properly in stylesheets with InvariantCulture
Add WaterSceneObject's PlanarReflection as a scene object child properly
▊▇▉ ▇▅ #▆▊▉▅▇ ▋▅█▅▄▇ ▄▉ ▅▆ ▌▆▉▌█▌▉▅▍ ▆▇▋▋▅▋█ ▊▍▋▌█▇▌ ▍▍▊▄▋ █▊▇▉, ▊▆▉ ▇▌▊▌ ▇▊█▊ ▍▍ ▍ ▇▇▇ ▊▋▅▋▇ ▋█▇▉▍▋ ▋▌▊▆▍▌▅█▉
▆▍▇ ▍▉▅▅▍▇▍▄▋▊ ▌▋▄▊▇▄ ▅▊▊▍▆ ▊▋ ▄_▍▅▌▍█▄▅▅▋▇::▇▄▊▉▉▉█, ▇▇▋▅▊ ▉▋▍▇▇ ▋▉ ▄▄▇▌▅▅▌▉▍ ▉▊█▊/▄▊▆▆█▊ ▅▅█▍ ▆▍▌▇▊▄▍ ▅▋▇▊▋▆▍ ▆▉▇▊▄▉
▌▋▇█▊▌▉▋ ▍▋▊ █▊▅▄▌▆▌▅█ ▍▇ ▌ ▄▄▆█▇▄▌▆█▄▍▄▉▊█ ▊▌▉▆▆▄▋▅ ▄▅▌▇ ▇▉█ ▉▉█▌▆█▇█ ▅▊ ▄█▆▇▋▄█, ▆▋▆▇▍▋▄▌ ▇▌▅▆█▊█▋▍ ██▊▋█▄▆ █▇▊▅▊▉
▋▇▄█▅▉▇ ▅▊▋▇▍▌▉▆ ▅▋▄▊▊▆▍▇█▋ ▋▋ ▍▍▉▄▌▆▋▅, ▌▆▄█▌ █▌▌ ▊▆▋▉█▄▆▉▉▉▍ ▆▌ ▄▊▊ ▇▋▇▅ ▄▋█▋ ▄▇▇▍▋ ▉▋▆█▄▋▅▍ ▆▇ ▍▊▄ █▇▆▉▆▋
▉▇▄▄ ▄▊▋▌▋▍█▄▊ ▇▌ ▄ ▌▊▌▋▇█▋▅ ██ █▄▆▅▉▉▅▊▇▇█ ▊▅▋▇▌▇ ▍ ▋▆▆▆▅ ██ ▉▊▉ █▅▊ ▍▊▊▅▋▊▊█ ▍▍ ▄▄▉▊▆▉▄█▉ ▅▋█ ▆▆▅▍▋▋▍ ▍▊▅▆▋. ▉▄▉▉▊▅▋█ ▌▆▅▆▊▌ ▆▄▉▄ ▍▍▌▉ ▇█▄ ▋▍▌▉▍▇▍ ▌▋ ▅▅▄ ▉▋▇▇ ▆▉▄▄▍ ▇▍█▌▇▉▆ = ▆▌▍▋▄▉▌
Remove redundant inherited member on MainMenuPanel
Don't render panels on invisible overlay panels 🤦 optimize some other code paths too
OpenVR update 1.10.20 -> 1.16.8, resolve deprecated crap
Interopgen OpenVR's IVROverlay to managed engine
Add VROverlayPanel - these are panels rendered in local VR space over the world, input is automatically simulated
VR.Init() in MenuDll, set VR.Enabled in Init only since it never changes
When in VR create a main menu with an VROverlayPanel, make this wide and 4k so it doesn't look ass
Basic interop of IVRInput to managed, get action origins & add VROverlay.SetTransformRelative( VRTrackedDevice )
Add console commands from Sandbox.Menu dll making menu_reload work again
Add missing internals to a couple OpenVR structs
Add float.MeterToInch / float.InchToMeter extension methods
Make main menu VR overlay properly show when ingame
Make the loading screen show in VR, add VROverlay.SortOrder, add RootPanel.IsVR set when a RootPanel is owned by a VROverlay
If VR is enabled make the GameList.ControlTag default to VR
Add 4k & 8k render target sizes to be used as scratch ( dx11 max texture size = 16k )
Use a copy of the current viewport instead of framebuffer when rendering panel backdrop filters
Adjust main menu vr size / scaling to a more square aspect ratio and scale it bigger so it's not difficult to read
Network Client.IsBot so it works clientside
Fix Event.Hotload not calling on the server, fixes network tables not updating on hotload and probably other shit
Make sure we update our GameAssembly hash on initial load, fixes all networking errors
Make non public and inherited methods register for events again
fix build log discord post on long message commits
Ensure resident model resources get added to the manifest, fixes error models from missing resources in manifest.
This would specifically happen if a server starts a game / map a second time, the resources would remain resident,
so when a client does their initial join these models are missing from the manifest resulting in an error.
If the client had previously joined on the first time their resources would already be resident and not error.
Simplest way to do it, rather then change (and slow down) how the rest of the resource system works.
If a resource we try to preload returns an error handle, don't keep the handle alive. Map resources specifically will become valid and load automatically after this.
Change WorldInput API to instances to resolve issues and allow simultaneous inputs.
* Replace WorldInput.Update with instanced WorldInput fixing hovering and clicking issues as well as allowing simultaneous inputs.
* Resolved various issues with WorldPanel.RayToLocalPosition not using the right axis, being inverted and not scaling.
* Simulate double click and mousemove events for world inputs.
* Fix right clicks not working on WorldInput.
Fix missing game lobby settings
Allow RootPanel.Parent = null though
Throw if trying to set RootPanel.Parent
Fix a couple of NREs preventing -dedicated from working
SetProperty fallback on [Property] attributes, fixes map entities not working from having their properties not set
Generator error if you try to [Net] a static property
INetworkSerializer.Read: use ref of NetRead
NetWrite.Write don't try to blindly write ref or containing ref types
Add transform: scalex, scaley (scale was already supported)
Add scss transform: translate( <length>, <length>? ) ( translateX, translateY were already supported )
Don't write empty modeldata.fgd
Add [Net] support for generic IDictionary<TKey, TVal>
Make [Net] work on IList<T>, deprecate List<T> to prevent confusing behaviour
Use VarUnmanagedList on ITypeSymbol.IsUnmanagedType
Cleanup and simplify replicated lists code gen, give better feedback if using List<T>
Allow static array initializers
NetRead.ReadObject: read floats correctly
If text-stroke-color is not set default to color
Add `text-stroke <length> <color>` shorthand
Fix local client's steamid being incorrect serverside in singleplayer games
Clear a panel's input focus when it is deleted
Whitelist
System.Collections.ObjectModel.*
System.MidpointRounding*
System.Runtime.CompilerServices.IsByRefLikeAttribute
System.EventArgs* & System.EventHandler*
Trace: Fix AnyTags behaving same as AllTags, WithoutTags accepts multiple string params
Texture.Load respect warnOnMissing when FileNotFoundException is thrown
If no FOV is set by Camera use the default one from engine CameraSetup (default_fov convar)
Stop engine forcing default_fov to 70 every frame
Video settings:add default fov slider
Fix Panel translation transform transitions, make default length unit match
BaseGamePanel: Check if Package.Config is null
SceneObject use CRenderAttributes to match Render.Set functionality ( SceneObject.SetValue now accepts int, string, Vector2, Matrix )
Obsolete Material.GetName() use Material.Name
Download ignore .obj and other png material source files (normal, rough, etc.)
Fix NRE crash when calling null YogaNode on a deleted panel
TaskSource.IsValid internal setter
Don't allow default maxplayers to exceed MAX_PLAYERS
Fix rare access violation in CSceneSystem::DeleteSceneObjectAtFrameEnd
SendNetMessage: assert we're in the main thread, catch any potential fuck ups again
Only release particles in main thread, fixes disconnect errors caused by sending net messages from background GC thread
Let RootPanels delete non immediately (keep default to immediate), mark default delete behaviour for WorldPanels to non-immediate.
This lets you use the pseudo class :outro for transitions when WorldPanels are deleted.