1,401 Commits over 1,096 Days - 0.05cph!
Fix world panel input by changing WorldInput.Update to [Event.WorldInput.Build] called from the input system.
WorldPanel.RayToLocalPosition: fix wrong local position being used for inside checks
Simulate right (and middle) mouse button properly in world panel input.
Iterate on WorldInput, allow multiple simulated inputs at the same time by migrating state to games
Fix inverted x pos and lack of world scale awareness in WorldPanel ray to local code
Use WeakReferences of WorldInputs to iterate, gives addon state full ownership and lets GC work nicely.
Clear WorldInput reference list on LoopEvent.Init/Shutdown
Expose and doc more on WorldInput public class; UseMouseInput allows nice usage with Input.Cursor rays
Simulate ondoubleclick & onmousemove events, add WorldInput.Enabled for toggling easily, tidy and refactor UISystem a bit fix potential NREs, small optimizations.
Allow RootPanel.Parent = null though
Throw if trying to set RootPanel.Parent
Fix a couple of NREs preventing -dedicated from working
Expose and doc more on WorldInput public class; UseMouseInput allows nice usage with Input.Cursor rays
Fix world panel input by changing WorldInput.Update to [Event.WorldInput.Build] called from the input system.
WorldPanel.RayToLocalPosition: fix wrong local position being used for inside checks
Simulate right (and middle) mouse button properly in world panel input.
Iterate on WorldInput, allow multiple simulated inputs at the same time by migrating state to games
Fix inverted x pos and lack of world scale awareness in WorldPanel ray to local code
Use WeakReferences of WorldInputs to iterate, gives addon state full ownership and lets GC work nicely.
Clear WorldInput reference list on LoopEvent.Init/Shutdown
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
Fix world panel input by changing WorldInput.Update to [Event.WorldInput.Build] called from the input system.
WorldPanel.RayToLocalPosition: fix wrong local position being used for inside checks
Simulate right (and middle) mouse button properly in world panel input.
Iterate on WorldInput, allow multiple simulated inputs at the same time by migrating state to games
Fix inverted x pos and lack of world scale awareness in WorldPanel ray to local code
Add transform: scalex, scaley (scale was already supported)
Add scss transform: translate( <length>, <length>? ) ( translateX, translateY were already supported )
Fix world panel input by changing WorldInput.Update to [Event.WorldInput.Build] called from the input system.
WorldPanel.RayToLocalPosition: fix wrong local position being used for inside checks
Simulate right (and middle) mouse button properly in world panel input.
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>
Add [Net] support for IDictionary<U, object> where U in unmanaged initially
Add support for generic dictionaries where key/val both support unmanaged or class constraints
Cleanup and simplify replicated lists code gen, give better feedback if using List<T>
Add [Net] support for IDictionary<U, object> where U in unmanaged initially
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 )
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.)
Experiments
Default override Player.ShouldLagCompensate to return true
This tells the lag compensation to record this entity, ShouldLagCompensateForClient says if we should rewind.
Don't automatically add all pawns to lag compensation, let them opt in ( Base Player defaults to true )
Add debug prints to make sure we're actually back tracking
Don't automatically add all pawns to lag compensation, let them opt in ( Base Player defaults to true )
Add debug prints to make sure we're actually back tracking
Default override Player.ShouldLagCompensate to return true
This tells the lag compensation to record this entity, ShouldLagCompensateForClient says if we should rewind.
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
CNetChan: Use a mutex per buffer
Make CNetChan::SendNetMessage thread safe, fixes network errors causing disconnects.
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.
Delete any rogue RootPanels on Game shutdown
Delete any rogue RootPanels on Game shutdown
Precache all loaded models after map is loaded, fixes map models being errors when reused across server restarts.
UseTemplate: preserve / prefix, fix menu hotloads
Network WalkController properties so you can change speed easily without prediction errors
Normalize filename here too so it stores the right reference