Fixed ConditionalWeakTableUpgrader
Handles the case where oldInstance == newInstance, or if the collection gets modified while being processed
Simplify JsonSerializerOptionsUpgrader
Directly process JsonConverters inside existing JsonSerializerOptions, without creating a new instance. Handles case where we can't create a new instance, and the options aren't mutable. Also make sure we process static fields in System.Text.Json assembly. Possible fix for #640
Add some more easy hotload skips to save a few milliseconds
JsonSerializerOptionsUpgrader .NET 7 fixes
Log path to instance when a hotload error occurs
Some nicer paths for items in common collections
Replace TypeDescription / MemberDescription instances during swap
Tests for TypeDescription / MemberDescription replacing
Make hotload tests more strict
Warn when encountering delegates that can't be upgraded
Even simpler way to clear System.Text.Json cache on hotload
Readonly field hotload test
Trace instance paths when doing hotload tests
Stop watching System.Text.Json since we're clearing its cache now
Ignore LiteDB types during hotload
Merge remote-tracking branch 'origin/master' into hotload-fixes
Get rid of soon-to-be-unused "context" arg in OnTryCreateNewInstance
Some more permutations of lambda method types
Big DelegateUpgrader rewrite
* A lot more careful about matching generated methods that change name
* Fixed case where swapping unchanged code would substitute in the wrong lambda method
* Now replace lambdas we can't find a match for with one that throws a helpful error (before they would become null)
Easy case for delegate methods from non-swapped assemblies
Failing delegate swap involving same-named methods
Strategies for fixing HotloadTests.Delegate11
Split DelegateUpgrader up, mocked up same-named scope method solution
Refactor to assume we have Mono.Cecil, WIP method resolution
Fixed HotloadTests.Delegate11
Hotload message type consistency
Warning: non-fatal, but recommend reloading the game
Error: something went wrong that we should fix
Fixed resolving nested type definitions
Merge remote-tracking branch 'origin/master' into hotload-fixes
Failing test for lambdas with a generator context method
Fixed upgrading lambdas with a generator context method
Tests for finding definitions of methods involving generic parameters
More generic type / method fixes in hotload
Added failing test for handling removed lambda with a return type
Test case for nested lambdas
Fixed generating error delegate if original lambda had a return type
Some more test cases for upgrading delegates
Fixed resolving multi-dimensional array parameter methods
ByRef and async method tests
Fixed resolving method definitions with ByRef parameters
Support for upgrading lambdas defined in async methods
More array and ByRef fixes
Type equivalence fixes
Vector2.Dot returns float
Vector3.Equals doesn't use AlmostEqual, but the == and != operators do
Move a bunch of stuff from Client to IClient, PlayerId is now SteamId
Client.Pawn is an IEntity
Game becomes GameController, added Sandbox.Game namespace
Move stuff from GameController to BaseGameController where possible
Remove Sandbox.Hooks
Rename CameraMode to CameraComponent
Make CameraSetup internal
Delete FixedCamera.cs
Delete LookAtCamera.cs
Obsolete [UseTemplate] so we appreciate the scope of removing it
Move Event.Frame to Event.Client.Frame, add ToolEvent.Frame
Add Event.Client.PreCamera, PostCamera
Move Event.BuildInput to Event.Client.BuildInput
Move default BuildInput to internal BaseGameController
Rename files to match new classnames
GameController becomes GameManager
Apparently MakeArrayType( 1 ) != MakeArrayType()
We can skip cached lambda instances now
They'll still get upgraded if they're referenced in a non-cache field somewhere
Merge remote-tracking branch 'origin/master' into hotload-fixes
Delete CameraSetup
Delete CurrentView
Use Map.Camera in place of CurrentView
Remove dof and motionblur from ViewDesc
Minor summary adjustment to PhysicsBody.SurfaceMaterial
RangedFloat can be read from a number in JSON too
Delete BrushEntity.Solid (was obsolete)
SurroundingBoundsType.Obb => SurroundingBoundsType.OBB
Use RangedFloat in SoundEvent resource
This change will make existing assets lose their PitchRandom/VolumeRandom until updated
Move GlobalRpcHandler to Sandbox.Internal
Make Sound.Index internal
Hide Prediction.CommandsAcknowledged/LastExecutedPacketNum
Move QTextBlock to Tools namespace
Rename ModelDoc namespace to Sandbox.ModelEditor
Also moved all ModelDoc node classes to Sandbox.ModelEditor.Nodes
Renamed ModelDocAttributes.cs to ModelEditorAttributes.cs
Delete Sandbox.ConstantBuffer (obsolete & unused)
Delete TriggerHurt and TriggerTeleport (obsolete aliases)
Delete TriggerMultiple.Wait (obsolete alias)
Delete ModelBreakPiece.CollisionGroupOverride (obsolete)
Delete CameraMode.DoFPoint/DoFBlurSize (obsolete)
Add Local.UserPreference.DefaultFieldOfView
Remove unused properties of Sandbox.Water
EnableShadows/EnableFog/EnableRefraction
Fixed main SceneCamera not controlling the render properly
Remove SharedRendering/SetDevLayer hack
Remove/replace html templates in UI tests
Delete more obsoletes
Deleted PhysicsWorld.IsPointWater
Deleted Sandbox.Component.Glow.Active/RangeMin/RangeMax
Deleted FogStength from all light entities
Deleted OrthoLightEntity.UseFogNoShadows
Deleted Global.IsDedicatedServer/PhysicsSubSteps/PhysicsTimeScale
Deleted ScenePanel.CameraPosition/CameraRotation/FieldOfView/AmbientColor/ClearColor/ZNear/ZFar/DisablePostProcessing/SceneAttributes
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
Delete CameraComponent
DevCamera tweaks
Convert GameIcon & Home to razor
Loading screen to razor
Remove FriendLine html template
Remove Map.Camera, add global Camera
Don't use EyeRotation for view angles - because it's laggy and fucked and I'm gonna remove it
Remove Entity.,EyePosition, Entity.EyeRotation, Entity.EyeLocalPosition, Entity.EyeLocalRotation, Added Entity.GetAimRay()
Delete StandardPlayerAnimator, PawnAnimator
Fix monitor rendering in vr
https://i.imgur.com/RxCVQ2h.png
Refactoring
Cleaning
Notes for future
Remove unsued
Merge remote-tracking branch 'origin/pain-day-rubat1' into engine-refactor-1
Rename SurroundingBoundsType.OBB to SurroundingBoundsType.Object, comment out unused
Remove now unused constant buffer binds
Defaults for main camera
Matched the volume of the grass footstep sound to match the rest
Minimal template fixes
Reduce default vertex size
Move some stuff from base addon into the game dll
protocol++
Add prediction tolerance to m_vecOrigin
Split base and compiled assembly again
Only compile base addon if we're a runtime game
Remove debug
Fix soundscape NRE
Fix PanelList overflow
Add support for TSPEC_USE_TYPED_IMAGEFORMAT back, video encoding needs this unfortunately
Do not display "Recompile" option for assets that can't be recompiled
Not Upload => Pending Upload
Added "Copy Asset Path" to context menu in asset.party asset browser
Also made "Copy Path" for local assets copy the correct extension
Remove rest of fov hacking code, add Screen.CreateVerticalFieldOfView
Always add "Compile" option for shader asset type
Update TransformTest.cs
Fix Gamemode download unit test to use new assembly schema
Disable tests that are too much work to get working yet
Only suppress texture deletion and not texture loading during managed render layers, fixes hangs
Don't allow LocalScale < 0
Don't complain about TaskCanceledException on game shutdown
Add Copy To Clipboard button to Stack property
Add facepunch.unicycle_frenzy to test
Lets mark a bunch of stuff as obsoleted so people aren't surprised
Set default FOV back
Merge pull request #669 from Facepunch/engine-refactor-1
orgs/sboxgame/discussions/2652
Clarify Camera.FieldOfView is vertical and Screen.CreateVerticalFieldOfView converts horizontal -> vertical
SceneCamera.IsOrtho is SceneCamera.Ortho
fix normal on pavement material/ asset cleanup
Merge branch 'master' of sbox
Add a couple of events to [ToolEvent.MapEditor] for discoverability
Camera.FieldOfView is actually horizontal and not vertical 😳
Convert DevCamera ui to razor
Local.PlayerId -> Local.SteamId
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
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
Add version to events
Add defaults for znear/zfar, so if games don't mess they'll be fine. Add comments with suggested values.
Merge pull request #668 from Facepunch/hotload-fixes
Hotload Maintenance
Merge branch 'master' into pain_day