13,523 Commits over 1,522 Days - 0.37cph!
Fix water reflections renderbounds so it doesn't take the size of the entire map
Fix crash when fetching object bounds too early
Fix package selector property not saving or updating
Don't pass #local packages to GameSupport
Implemented a simple assembly resolver for Tools
Allows hotload to make more valid substitutions
Cleanup
Failing hotload tests for lambdas in static constructors
Fixed finding scope method ordinals of static constructors
Stop expecting every method to have a scope ordinal
Fixed IsMatchingType(typeRef, type) with nested types
Fixed ResolveMethod() with a static constructor ref
Fix upgrading lambda display class instances that are found in the wild
GetNewType consistency
Now returns null to mean a substitution couldn't be found
Added failing generic delegate test
Organised and documented delegate hotloading tests
Fixed AreEqualTypes when exactly one param is null
AreEquivalentTypes(old, new) refactor
Fixed finding substitutions for generic parameters
Add -noamsi command line parameter for testing
props updates
- disabling baking light on some asset in the prefabs
- moved aircon and trash bin breakable piece to embed, adjusted placement/pivot of the gibs
- dirt pass on dead end road sign/material
- collider/ Lod adjustment
Merge branch 'master' of sbox
Recompiled content under /addons/citizen/
Revert "Only create resource dependency on texture .meta if it exists"
This reverts commit 55e57df69e0f6335962a5923ef956b658e9e7393.
Only create resource dependency on texture .meta if it exists
Logging in CompileGroup
TypeLibrary logging
Diagnostic event for start to end code iteration timings
Adjustments to Clothing AO
Pretty much just been adjusting the ao in the material editor so the AO shows up abit more nicely on some clothing pieces.
Crate has been delivered.
Remove log tags
Remove the rest of the log tags
Texture.Update doesn't crash with wrong sized data, can update the first mip only, will generate the other mipmaps if only updating the first mip
SkiaTextBlock will update the texture instead of disposing and creating a new one
Add names for other runtime textures to aid debugging
Add logging menu to editor, can switch Trace/Detailed logging on
https://files.facepunch.com/garry/88a623bf-7fcd-4245-bf05-13ae6da6f5d9.png
Made DamageInfo.Tags public
Fix fallback shaders pointing to their deprecated counterparts, fixes ToolsShadingComplexity for the upcoming debug views refactor
Much better directional ao falloff curve
Use same AO directionality filter path on lightmapped materials to fix backface bleed
Fix remaining .vfx references in code
Don't need special checks for IClient anymore in netcode, because it's an IEntity
IClient and IEntity can be [Net]
Dedicated server fixes
MapSchema experiment (unexposed)
Re-add ResetMap, HammerID is a string
Protocol++ (sorry, HammerId forced it)
Remove Entity.IsClient, Entity.IsServer (just add Game. in front of them)
Add ParticleSystem resource class so they can be referenced in game resources like any other resource
Allow creating SceneParticles from particle system resource
Clear animgraph resource loaded dict like we do with other resources
Add filtering to params https://files.facepunch.com/layla/1b1011b1/sbox_w3t6TA9lNr.mp4
Strip out built in noclip
Devcam cleanup
PackageExtensions to SandboxGameExtensions
Transform.ConcatTransforms => Transform.Concat
Move GameServices to Sandbox.Internal
Organize base extensions into one class
Move Assert to Sandbox.Diagnostics
NullChecks => SandboxGameExtensions
Move internal EntityUtility to OOBChecks
Move DevCam stuff to Sandbox.UI.DevCam from Sandbox
Move Sandbox.MenuEngine.FileSystem.OpenFileDialog to Sandbox.MenuUtility.OpenFileDialog
Rename Sandbox.FileSystem in System.Tools to Editor.FileSystem
Move Sandbox.IMenuAddon to Sandbox.Internal and make it an interface
Added "Animation Speed" property to prop_animated
Implement prop_data SpawnMotionDisabled
Use prop_data.SpawnMotionDisabled for parking_barrier first gib
PackageExtensions to SandboxGameExtensions
Transform.ConcatTransforms => Transform.Concat
Move GameServices to Sandbox.Internal
NullChecks => SandboxGameExtensions
Move internal EntityUtility to OOBChecks
Move DevCam stuff to Sandbox.UI.DevCam from Sandbox
Move Sandbox.MenuEngine.FileSystem.OpenFileDialog to Sandbox.MenuUtility.OpenFileDialog
Rename Sandbox.FileSystem in System.Tools to Editor.FileSystem
Move Sandbox.IMenuAddon to Sandbox.Internal and make it an interface
Revert "Move DevCam stuff to Sandbox.UI.DevCam from Sandbox"
This reverts commit e084b44e963a5ada259328585b83444dfc66d5d0.
Merge branch 'rubat-pain-day-2' of sbox into rubat-pain-day-2
Make Global a real static class, Remove GameService completely (we can take another run at this)
Rename Sandbox.Global to Sandbox.Game
Remove Rand, add Game.Random
Fix devcam scss
Delete Host, move everything to Game
Remove Client, replace with IClient, Client.All is now Game.Clients
Move Local.UserPreference to Game.Preferences
Remove 'Local', all moved to Game
Moved everything from Map. into Game. and deleted Map
Merge branch 'master' into engine-refactor-3
protocol++
alphabetic sort on params
Add GetParameterType, GetParameterName and GetParameter<T> to AnimationGraph
Add AnimatedEntity.GetAnimParameterRotation
Add editor for animated entity which extends the entity inspector with animgraph parameter inspector https://files.facepunch.com/layla/1b0911b1/sbox-dev_hLHvjjjIWi.mp4
Added "Animation Speed" property to prop_animated
Implement prop_data SpawnMotionDisabled
Use prop_data.SpawnMotionDisabled for parking_barrier first gib
Fixed console key not working in editor
Fix VR.Anchor not setting anchor angles
added animation to the aircon assets to replace the map prefabs
Removed Sandbox.Hooks obsolete code
Moved VoiceSpeaker, VoiceEntry, VoiceList to Sandbox.UI namespace, removed Style.Dirty usage
Tools: Remove Utility.RunCommand, replace with ConsoleSystem.Run (to match Sandbox.Game)
Replace tools addon usage of Utility.RunCommand
Merge branch 'master' into pain_day
Merge remote-tracking branch 'origin/pain_day' into engine-refactor-2
Move DebugOverlayAttribuite to Event.Debug.Overlay
Update GameDebug.cs
Remove Entity WaterLevel + WaterEntity
Protocol++
Hide EntityComponentAccessor, make component system interface based, accessible on IEntity (from tools etc)
Clear that up, add some extensions to get water level easier
Remove PhysicsBody.WaterLevel
Show components in Entity list
TypeLibrary.GetDescription becomes TypeLibrary.GetType
Make AssemblyInitialize internal
Remove ApplicationTimings
BBox's "center" constructor takes an optional size argument
Remove env_tonemap_controller,
Remove EnginePostProcess, Remove ITonemapEntity, make SceneTonemapParameters internal
Warning fixes
SandboxEditor becomes Editor
Rename Tools to Editor
ToolEvent to EditorEvent
Can change visibility of Razor created panels using @visibility
https://files.facepunch.com/garry/ba7154d8-e33c-4ce8-b799-09ad82dc8d17.png
Move PhysicsJoint, CollisionRules, PhysicsSettings to Sandbox.Physics
Move Sandbox.Easing to Sandbox.Utility.Easing
Move PerformanceStats to Sandbox.Diagnostics
Put CircularBuffer in Sandbox.Utility
Flatten all the extension classes to per-assembly classes
Move Logger to Sandbox.Diagnostics, making Logging internal
Make Sandbox.TextureLoader.Image internal
Delete AboutDialog
Move Task related stuff to Sandbox.Tasks
Move Noise to Sandbox.Utility
Squashed commit of the following:
commit 9f84591e8130aa00e90d4ea6a6ceab96a0860585
Author: Tony <devultj@gmail.com>
Date: Mon Nov 14 14:16:54 2022 +0000
Update Water and VoxelChunk to use tags
commit e178470dbc3917cf3b5321c3326a69e2726dfd1a
Author: Tony <devultj@gmail.com>
Date: Mon Nov 14 14:08:32 2022 +0000
Refactor DamageInfo to use tags instead of flags
- Obsolete DamageFlags, DamageInfo.Flags, DamageInfo.WithFlag, DamageInfo.Explosion
- Add DamageInfo.FromExplosion, DamageInfo.WithTag, DamageInfo.HasTag
- Replaced all obsolete flag usage with new tag usage
Completely remove DamageFlags
Minimal addon correct fov calculation
Move glow component to addon code
Don't switch loading screen to addons
Remove further obsoletes
Merge branch 'master' into engine-refactor-2
Merge fixes
Merge branch 'master' into engine-refactor-2
engine-refactor-2
Engine refactor 2
Fixed writing null strings
Merge branch 'master' of github.com:Facepunch/sbox
props update
adding rig/ animation to aircon / fix bad naming convention
adding meta data for some props
tweaked wall_vent LOD
tweaked LOD distance on some props to something useful
removing old tree model
Remove this ancient source behaviour we've been keeping around that amplifies the Input.AnalogLook pitch by 1.5
Breakables follow animations when attached to a bone
Adds Model.GetBoneTransform. Transform.RotateAround, Transform.ConcatTransforms
Add ability for AnimatedMapEntity to be breakable
Follows the same rules as normal props/door models
Update Parking Barrier prop to use embedded break pieces
Fix SoundEvent using the max value when not supposed to
Make Input serverside asserts a bit more clear
Input.AnalogLook and Input.AnalogMove are accessible serverside like everthing else in Input
Use CircularBuffer for InputHistory
Add a "New Shader.." button in the asset browser
Hammer remote packages use new .bin path, remove all the legacy support
Parallelize MapClass parsing
Fix some warnings
Pressing ESC in asset picker closes it
"getpos" runs clientside, uses Camera.Position, Camera.Rotation - fixes inaccurate values being reported. Removed cl_showpos
Don't generate resource for any shaders that fail to compile
Assure Base Runtime is available when loading a runtime game
Add an assembly manifest to addons so we don't need the hack in the future when we let people add more assemblies
Load the packaged dlls in a determinate order
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
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
Merge pull request #668 from Facepunch/hotload-fixes
Hotload Maintenance
Add version to events
Add defaults for znear/zfar, so if games don't mess they'll be fine. Add comments with suggested values.
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
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
Local.PlayerId -> Local.SteamId
Convert DevCamera ui to razor
Camera.FieldOfView is actually horizontal and not vertical 😳