26 Commits over 243 Days - 0.00cph!
Add voice transmitter to network stress scene
Plane collider size change
Player move / locally owned network object parented orbiters
Lots of moving objects
AnimatedModelComponent => SkinnedModelRenderer, ModelComponent => ModelRenderer
DecalRenderer component assumes we're using the new decal shader, has some settings
Add decal test scenne
Add some simple decals
Add decal prefab
SkinnedModelRenderer derives from ModelRenderer
Added OnTagsChanged, tags cascade to child objects
Tags show differently depending on whether they're inherited or not
Fix missing player in volume fog scene
Batch component callbacks nicer
CallbackBatch deals with calling adding inside execute
Make CallbackBatch awesomer
Cleanup
Make OnValidate protected
FixedUpdate renamed to OnFixedUpdate, made protected, don't call in editor unless ExecuteInEditor
Update renamed to OnUpdate, made protected
OnStart is protected
Unit test fix
Made everything else protected
Fix model not getting updated in ModelRenderer
Fix GetComponents getting components of disabled GameObjects
Fixed children gameobjects not disabling properly
Put a decal in the volume fog cave
Moved HeaderBar folder up one to remove Editor directory warning
Move Component access to a class, so we can use the same from Components without twinning methods
GetComponent => Components.Get etc
Rename Components.Add to Components.Create
Tweaks Components.Get/GetAll so they can take flags to filter instead of the two bools
Reverse the disable condition in ForEachChild to match new Component default
Add GetOrCreate
Add component.OnLoad - allows a component to keep the loading screen open while it's doing stuff (in theory)
Show loading screen when loading scene
Update the skinned meshes in order when parented
Fix undo json max depth
Fix ComponentList not updating
Fix undo breaking with too much depth
Update component template to match new API
Hierarchy tree doesn't swallow shortcuts when focused
Stop using emoji for create object menu, everyone hates it except me
Scene hook system, convert Animation and Physics to use hook system
Add Scene.GetAllComponents<T> (fast path)
PostProcessers can use this shortcut to get their camera
Rename SoundListenerComponent to AudioListener
Sound.Listener defaults to camera position
Soundscape component
Sound Point test
soundscape box shape
box shape in soundscape scene
Sound Box component + scene
correct path for box sound component
Rename SceneHook to GameObjectSystem
Fix components not getting unregistered on destroy
Add Scene.Trace, HitboxGroup (heaby work in progress)
Add AnimationHelper.WithWishVelocity to example playercontroller
Add Scene.GetSystem<T>
Fix opening all menus as modal
Add BaseComponent.OnDirty, [MakeDirty] property attribute
Add GameObjectSystem.ITraceProvider
Remove CameraPhysicsDebug from menu camera 🤦
Hitbox components, Hitbox System
PlayerController faces the direction of the camera when spawning
CameraPhysicsDebug does its traces in a thread
Joint components
ModelPhysics creates ragdolls propertly
Grabber uses new SmoothMove
Cleanup
Fix sound scene description
Joints grab body from keyframe collider if all else fails
Joints test scene https://files.facepunch.com/layla/1b0511b1/sbox.2023.12.05.13.20.39.mp4
Joint scene name + description
Fixed SkinnedModelRenderer bugs when multiple on same GameObject
Fix CharacterControllerHelper getting stuck along multiple planes
With a few small changes to read closer to the original source
Hinge center and axis use game object transform instead of properties
Do the same for slider axis
Fix incorrect hinge gizmo drawing
GameObjectInspector, start multi edit
GameObjectInspector support adding components to multiple gameobjects at once
Handle component multi-select
Component/GameObject ControlWidget multi edit support
Update to consider removed painstuff / obsolete
Merge branch 'main' into staticrpc-authorityrpc
Update to consider removed painstuff / obsolete
No need for TypeIdentity to be sent now, use TypeLibrary.GetMemberByIdent for global lookup
Sent TypeIdentity in StaticRpcMsg as well to get rid of that other bs
Update to use MethodIdentity and new CodeGen callback format
Alternate method index using fast hash
Fixed sending wrong method index
EditorBrowsable attr for WrapStaticMethod. Throw inside FindMethodIndex etc
Build method index cache over time
Fix invalid method usage
If not host broadcast otherwise send directly to owner
Moved copy/paste component stuff. Can right click GameObject inspector to paste component as new. Accept mouse event when opening context menu for component sheet to prevent passthrough. Set accepted on a bunch of OnContextMenu stuff to prevent passthrough. Add undo support / edit log for removing a component.
Copy Component/Paste Values/Paste As New
Undo Support
Use EditLog
Merge pull request #60 from Facepunch/copy-paste-components
Copy Component/Paste Values/Paste As New
Add support for moving multiple selected GameObject nodes in the hierarchy
Copy Component/Paste Values/Paste As New
Don't clear selection when selecting empty GameObject field in inspector Fixes #1329