22,508 Commits over 1,614 Days - 0.58cph!
Fixed VS Code open file, now opens code workspace at specific path/line/column
Terrain size is stored on TerrainData, specify the total world size instead of confusing units per texel
Fix grid axis colors being the wrong way
Use Gizmo colors for grid axis & add SrgbGammaToLinear so the colors aren't fucked
Document ComputeShader, remove obsolete, Dispatch throws exception for bad parameters instead of silently failing
Terrain shader write to depth
Brush preview works again
Use compute shader to modify terrain heightmap instead of shitty interpolations on CPU
Terrain: Use ShadowRenderType
Lighter terrain grid
Give Voice Transmitter a few more options
Nicer errors if trying to RPC unsupported values
Fix tags not always getting applied to scene objects
Members with [Expose] are always exposed
BytePack dictionary support + tests
Never expose intermediary MSAA'd depth to the user, you're just opening a can of pain, use Depth::Get() method instead
Shaders need removing old MSAA depth ("SceneDepth"/"DepthBuffer")
VR: Don't crash inside ControllerTypeFromString if we weren't able to fetch an index for the device
Add CameraComponent.RenderToTexture
WIP use variables directly as inputs
https://files.facepunch.com/ziks/1b1011b1/NVIDIA_Share_k0NTtOlpgq.png
Add Voice component https://files.facepunch.com/layla/1b1011b1/sbox.2024.01.10.20.22.06.mp4
Citizen: fixed the neck bone in Airborne_Flail_Movement having been pushed down due to a CAT bug
Simplify water shader removing fog and other components, these would all be in it's own entity component now, much simpler, also the whole shader needs to be thrown away
Show project close dialog when switching project too
Don't write glow to alpha, makes camera previews and screenshots not be translucent with them, compile shader
Make MultisampleScreen take the MSAA amount from the current context rather than from the main swapchain, fixes validation of effects using the wrong MSAA level as what the layer wants, fixes glow outlines in preview cameras
Updated Terrain tool icons from Jen
Citizen: converted all existing FBX animation files to binary FBX - for Facepunch/sbox-issues#3085
Most were already binary FBX, but a few of the earliest ones were ASCII.
Don't change fbstate with the viewport size, can cause it to be bigger than the fbstate size too, viewport offsetting is done just right below
Fixed return type on public method
Returns IEnumerable, order by Fraction
Blur LineEdit on escape pressed
sbox-issues/issues/4438
Move MemberInfo.ToSimpleString() extension to Sandbox.System
Add Stirng.HtmlEncode() / UrlEncode() extension methods
ActionGraph: type name formatting fixes
Add close dialog when closing the editor main window, checking all loaded editor scenes
https://files.facepunch.com/tony/1b1011b1/parsecd_xYoAHD6h6B.png
Fix network message chunking not actually doing shit
Tweak string table initialization
Unit test validate StringTable
Add popup dialog when closing a scene that has unsaved changes - next up multiple scene dialog
https://files.facepunch.com/tony/1b1011b1/parsecd_AQsMHNci5r.png
WrappedPropertySet/Get also have Attributes defined. Two methods with the same name but different signatures will now have unique static attribute list. Fixed attribute constructor issues for backing static attributes.
Update template.gitignore to ignore some editor project files
Only change ident field inside project creator window if necessary
Fixes sbox-issues/issues/4433
Add support for (de)serializing component fields
Scale gizmo plane (#1432)
* Allowing scaling along 2 axis
https://files.facepunch.com/louie/1b0911b1/sbox_GGYJ3vMG0N.png
Don't use the same assembly twice
SceneUtility.Instantiate becomes gameobject.Clone( ... )
ActionGraph: Fixed not being able to delete duplicate input / output nodes
Component Version Upgraders (#1431)
https://docs.facepunch.com/doc/component-versioning-2fVhFt2lJp
Implement attributes on ReflectionSerializedObject.SerializedProperty
Move Terrain editor into an EditorTool
ReflectionSerializedObject property SetValue<T> will convert value, catch exceptions
TypeSerializedObject SerializedProperty.TryGetAsObject don't throw if null
Brush settings widget window
FloatControlWidget blurs entry on range slider drag
Only modify terrain on mouse drag
Change brush order, circle first
Added baseline for component version upgraders
https://files.facepunch.com/tony/1b0911b1/parsecd_N2kyNOTsPg.png
Move JsonUpgrader
Refactor, add JsonUpgrader.Run so we can re-use this for GameResources
Replace _apiVersion with ComponentVersion defined by the component
JsonUpgrader -> JsonUpgraderAttribute, version as a required constructor parameter
Demote JsonUpgrader.Run to internal
JsonUpgrader.Run -> Upgrade
Add unit test for upgrading a component
Add unit test for upgrading a component
Expose GraphicsItem.BoundingRect
Allows graphics items to draw outside of their defined size
ActionGraph: Fix input const value repainting
Don't leave the server when joining
Added Networked Properties
https://docs.facepunch.com/s/sbox-dev/doc/sync-properties-jKFHwTGVgR
Cleanup
Network protocol++
Changed Sync.IsProxy to Sync.Query
Initial commit
Simplified, wip
Don't need this log anymore
Refactoring, hotload sync properties
Add some unit tests for NetworkTable
Clean up
Rename old NetworkTable to StringTable
NetworkTable registration inserts entry
Switch [Sync] to use property to store network value, rather than its own value. Add IsProxy mode
RigidBody uses SyncVars instead of INetworkSerializable
Remove isReadingChanges - no longer needed
Put Sync updates on regular network update
CharacterController use sync vars
Remove INetworkSerializable
Fixes
Add Obsolete to INetworkSerializable
Fix some doc, call RunSync before NeedsToSendNetworkUpdate to ensure HasChanges is right
Fix tests
Remove rogue using statement