22,417 Commits over 1,614 Days - 0.58cph!
Add single Connection overloads
Same logic for static Rpcs
Update documentation
Add recipient filter struct, type, and Rpc.FilterOnly and Rpc.AllExcept methods
Update documentation
Change filtertype options
Move to Connection.Filter. Can pass optional filter to Broadcast. Use this for Rpcs with current filter.
More docs
BufferedHashSet<T>: For safely iterating over a hashset that can be modified without needing a copy
Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes
Sandbox.Game convars work in editor again
Codegen IUpdateSubscriber and others on Components that implement those methods
Scene update loop only iterates over enabled components that implement each of their methods; OnUpdate, OnFixedUpdate, OnPreRender
Always explicitly keep a reference to delegates passed to native (#1546)
Always explicitly keep a reference to delegates passed to native (#1546)
BufferedHashSet<T>
Use BufferedHashSet<Component> to safely iterate components without a copy
Name this ComponentSubscriberInterfaces, name interfaces IUpdateSubscriber etc.
Write the version id with downloaded package
Update library template
Update library template
Cleanup
Test out this iterator safe workset collection, this probably has some fancy standard name
Codegen adds Sandbox.Internal.IWantsOnUpdate etc. when those methods are found on Component derived classes
New update mode, iterating over components with IWants interfaces
Sandbox.Game convars work in editor again
Run legacy game loop on older assemblies
Make sure we run interpolation on the new loop, this is being rewritten atm so I don't wanna touch it
Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes
Check Component.IsValid() just in case they've been immediately deleted
Add mutex on read/writing m_CulledLights, guarantees it won't be overwritten twice while doing a callback before finishing rendering next frame or would write while allocating lights
Fix baked fog on scenes, only enable volumetric fog if there are any fog volumes in scene
https://files.facepunch.com/sampavlovic/1b2511b1/image%20%289%29.png
Temporarily use batch publisher for "Upload" button in AssetPublishWidget, since it's doing nothing currently
Don't make asset metadata for cloud assets, since we're mounting downloaded cloud stuff first, asset browser tag code is generating fake metadata for all this cloud stuff and causing problems when we're wanting the real metadata
CitizenAnimationHelper: FootShuffle becomes more generic MoveRotationSpeed, update docs for what this parameter is doing now
Citizen/animgraph: renamed "move_shuffle" to "move_rotationspeed" & made damping on the feet shuffle nodes more aggressive
View package details
Fix local packages not showing detail
Start on Uninstalling, Switching Versions
Cleaner library adding
Make sure we run interpolation on the new loop, this is being rewritten atm so I don't wanna touch it
Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes
Ensure can't use different RPC attributes together, doesn't make sense
Add some more documentation to the other RPC attributes
lb_indexed_pointlight_shadows. By default for now, don't cast shadows to indexed point lights if the cvar is set, rarely worth anything useful
Implement MethodArguments attribute, use it for UnicastAttribute ensure that first parameter is Connection
Fix file move on vpc for shadowmap_texturebarrier_renderer.h
Fuck off with subrect clearing on shadowcache, we do it much simpler on draw now which is guaranteed to be clean, our goal is to go bindless too so it doesnt even apply
Pass per view lighting constants to shadow, transition barriers to fog
Make CSM to be re-rendered for each view since they are view-dependent, but we can keep the same tiles we reserved
Static vs. Dynamic object rendering for FindOrCreateShadowMapsForLight
Remove shadow template views, doesn't make sense to have this code duplicated and makes it harder to work with it, I don't think we use those HLVR constants the code mentions, and if we do it should just be on the standard pipeline
Vulkan: Fix ClearImpl not respecting layer viewports smaller than the screen, and instead just clearing everything with a fast renderpass, this caused issues when we want to just clear a small rect
lb_time_sliced_shadows, fix directional lights not showing up, clear each rect when wanting to draw rather than having a complicated shadow atlas clear system
Make sure we run interpolation on the new loop, this is being rewritten atm so I don't wanna touch it
Shift StartCentered property and logic out of Widget and into Window/BaseWindow, plus special cases fixes for splash and launcher
Prevent main editor window from attempting to centre on itself
Codegen adds Sandbox.Internal.IWantsOnUpdate etc. when those methods are found on Component derived classes
New update mode, iterating over components with IWants interfaces
Sandbox.Game convars work in editor again
Run legacy game loop on older assemblies
Move ControlModeSettings into Sandbox.Engine (from tools addon)
Launcher displays VR button for projects with VR support
Add quick editor option to enable/disable VR without restarting the editor
New Hat - Trapper Hat
Cosy winter hat, LODs coming asap
https://files.facepunch.com/daniel/1b2411b1/sbox-dev_LhRhTPsrhS.jpg
Publish: handle libraries referencing each other during compile
Retain upload case sensitivity when upload a source package
Wrap FileSystem.ProjectSettings in a AggFileSystem, so when it's disposed it doesn't dispose the package's filesystem. What a fucking mess.
Move CreateProjectFolders so it can be called from elsewhere
Added UnicastAttribute / codegen
Warn in OnObjectMessage if ActiveScene is not set
Document UnicastAttribute
Upon changing a component type to abstract and you have component references, add it as a missing component
Edge split https://files.facepunch.com/layla/1b2411b1/sbox-dev_tJAwpCBX7h.mp4
Edge dissolve https://files.facepunch.com/layla/1b2311b1/sbox-dev_bYy4nlGQcb.mp4
Refactor halfedge for safer component checking and easier access to components from handles
Edge collapse https://files.facepunch.com/layla/1b2311b1/sbox-dev_yypYVe16Ni.mp4
Added UnicastAttribute / codegen
Warn in OnObjectMessage if ActiveScene is not set
Use Json.Serialize/Deserialize for BaseFileSystem.WriteJson/ReadJson, instead of different serializer options which didn't support our custom converters
Centre default window positions to the screen, or main editor window where it's present
Squashed commit of initial standalone exe and wizard
Squashed commit of full exe implementation
Wizard cleanup, shares wizard code between publish/standalone
Rebase fixes
Edge ring select, add shortcuts for ring select and connect (G and V) https://files.facepunch.com/layla/1b2311b1/sbox-dev_cdYFJiesYI.mp4
Re-implement Input.GetAnalog, respective glyph icons, moved some files into dedicated Controller directory