19,194 Commits over 3,898 Days - 0.21cph!
Add Tags to DamageInfo
Add Component.IPressable
Add GetComponent , AdComponent etc
Update PackageDto.cs
CreateLobby will refuse to create a lobby if we already have a network system
Add ISceneStartup event (https://docs.facepunch.com/s/sbox-dev/doc/iscenestartup-UaHEQHresW)
When logging in, make note of whether we're using the editor or not
target:packagename works again
When selecting a map auto select the ParentPackage game, if set. Default to Walker if not.
Remove old "launcher", add map select to gamemodal
Make package selector acceptable
Tweak FindPackage cache times
Only show collider Trigger actions if enabled
Add ActionsComponent to replace Component.OnComponentUpdate etc
Hide Component Actions in inspector (right click header to get them back), show Actions with other properties
Change most Menus to use ContextMenu so they get deleted when closed, instead of hanging around invisibly forever
Fix Menu.AboutToShow not getting called unless opening as a modal
Tweak node/actiongraph design
Can drag drop cloud prefabs into the scene
Wrap CallbackBatch exceptions so we know where they're being called from
Explicitly load the steamapi64 dll from the bin folder
Fix menu music NRE
Make Web.DownloadFile a bit more resiliant
Fix NRE in Component.Loading
Fix NRE in TrailRenderer
Fix error reporter not reporting some package errors
TextRenderer exposes BlendMode
Fixed ScreenPanel not keeping screen dpi in bind when scaling down
It's fine to call NetworkSpawn multiple times, just ignore it
Wrap GameObjectSystem's init in a Scene.Push
Add JsonObject.GetPropertyValue
Fix errors
Fix exception when creating new scene
MapInstance - load resources from loading instance
MapInstance - allow loading scenes as maps
Publish scenes as maps
When publishing a map, try to set ParentPackage
Add Flag.WithFlag( Flag, bool )
Add GameObjectFlags.EditorOnly
Make map preview less annoying
Add Component.DestroyGameObject()
Revert "Rename Component.Destroy to Component.DestroyComponent (redundant naming but it avoids confusion with GameObject.Destroy)"
This reverts commit 035076021d71fcd5a26354b916815f3da40d22fc.
This should fix errors not having version information
Rename Component.Destroy to Component.DestroyComponent (redundant naming but it avoids confusion with GameObject.Destroy)
Move Hammer stuff to its own project
We don't need <Vulkan> in the editor title anymore
Cleanup
Fix map fog sometimes not scaling by fogcontroller
Fix duplicate not working on NotSaved gameobjects
Rename project file
Move UI to its own folder
Add IPlayerEvent
Add PlayerFallDamage, player can die
Update walker.sbproj
Ragdoll collision rules
Hud
Update scene/prefab
Inventory system, suicide, stats
Don't print the name of every loaded resource
Move a bunch of shit from GameNetworkSystem.* to Networking.*
Revert that experiment, there is no benefit
HashSetEx actually doesn't need to defer adds
Revert "Remove GetAllComponents( Type type )"
This reverts commit 1df4c2e1841f058432fdb446fccd5dcb93e0648f.
Implement GetAllComponents( Type type )
Log files use the process name
Remove GetAllComponents( Type type )
Experiment: Does the boxing to object make any difference here
Update TargetFramework to net9.0
Fix changed MemoryMarshal.Write
HotloadDll checks for net9.0
Replace FormatterServices.GetUninitializedObject with RuntimeHelpers.GetUninitializedObject
Package updates
Use ReadExactly instead of Read
Fix MemoryMarshal.Write usage
Comment out obsolete for now
Disable PatchAMSI
Update compiler embedded refs
Update embedded System.Runtime.Versioning.TargetFramework version
processor ignore net9 folder too
Whitelist System.Runtime.CompilerServices.NullableAttribute
Whitelist NullableContextAttribute
Whitelist RefSafetyRulesAttribute
Revert "Fix rigidbody transform change, check change against target local, not the interpolated transform, remove proxy check"
This reverts commit e08435cdc7b5412e81fa752af22c2eb35b48ce4c.
Revert "Experiment: batch transform change callbacks and run in one place, instead of whenever the transform changes"
This reverts commit 858eebcfd1e95eb0cd13cbf32043d39d8a4622b1.
GameTransform.DisableInterpolation is a static, remove AddToInterpolationSystem + RemoveFromInterpolationSystem
Reduce HashSetEx initial size
Experiment: batch transform change callbacks and run in one place, instead of whenever the transform changes
Test HashSetEx with iteration counter and deferred changes
Fix NRE in UndoGameObject
Lets try this "real" ConcurrentHashSet to see if it matches the performance of the old BufferedHashSet. I have a feeling we're going to be better off special casing the collections for our updates to maximize perf
Since BufferedHashSet is more expensive now, lets try to avoid it where we don't need the concurrency
Don't repeat NetworkSpawn logic, filter down to one function
Network the GameObject enabled status
Add ISceneLoadingEvents - Allows listening to events related to scene loading and creating loading tasks
Add Game.TakeScreenshot
ComponentFlags.NotSaved is ignored when networking
Move ShouldSave logic to SerializeOptions
Adding OnUpdate etc will refresh directory on hotload - avoiding the need to stop and start the game for them to start working
Change BufferedHashSet to use a ConcurrentDictionary under the hood
This hopefully fixes issues occurring when iterating multiple times, inside itself, and Count not changing until iterating. We should rename this to ConcurrentHashSet at some point.
Make objectindex a BufferedHashSet so Scene.GetAll<T> doesn't suffer from modified while iterating
Add GameObjectSystem<T>
GameObjectSystems can implement scene events
* Replace Scene.GetAllComponents<T> with Scene.GetAll<T>
* GameObjectSystems can implement scene events (Scene.RunEvent<T>)
* GameObjectSystems can implement INetworkListener
animation: none clears animation
Clear ragdoll bone initial positions after using them
Add GetBoneTransforms and GetBoneVelocities to SkinnedModelRenderer
Doesn't make a difference, but run ApplyStoredParameters here
Add ModelPhysics.CopyBonesFrom( SkinnedModelRenderer )
Add Component.Invoke( seconds, action )
Add Renderer.CopyFrom( Renderer )
GameObject.Network.OwnerConnection becomes GameObject.Network.Owner
Add Panel.Style.ResetAnimation and Panel.Style.StartAnimation
Add Panel.FlashClass - which will add a class for a specified number of seconds
Add Scene.RunEvent<T>
Fixed mix-blend-mode not working
Fix mix-blend-mode not applying to layer if using filter:
Fix filter: blur box cropping
Remove debug
Specifying "Target Game" in addon project type will download and mount that game
Leaving note about pLayer->OverrideFrustum
Fix stylesheet multiple watchers, add test assuring that updating stylesheet removes older styles
Fix not removing shadows when resetting styles
This optimization is bullshjit
IsDefault doesn't need ToLower