14,038 Commits over 1,583 Days - 0.37cph!
Added EditorTool.AllowGameObjectSelection
Expose Widget.WindowFlags
Add WidgetWindow
Add SceneOverlayWidget system
Add WIP example EditorTool
VR: stop NoOpPostprocess layer trying to clear again in stereo mode
In OnTargetedMessage if the TargetId is Guid.Empty, assume it's for us (this may happen if we're using OwnerId as the Target, but the "owner" is the host)
Don't render AO proxies if we're not casting shadows
Fix NRE when calling [Authority] RPC but authority is the host
VR: Clean up stereo rendering logic, fixes aoproxy rendering, reduces memory requirements
VR: TrackedDevice defaults
Fix disabled components not dropping in from treeview
Remove entity handle usage from base light probe volume
Delete gameresourceservice and some entity2 files
New Hair Remade - Curly Long Hair
LODs coming asap for the hair, plus some slight adjustments to the hair textures.
Citizen/animgraph: added Skid_C to complement the 1D blend
Fix Terrain.RayIntersects not working when ray starts outside of heightfield bounds
Add property to ModelRenderer to configure shadow rendering https://files.facepunch.com/devultj/1b1811b1/sbox_DopEMn3tD5.mp4
Pass tags to envmap probes in prep for having control over them
Make sure to pass tags to light SceneObjects
Give SceneCameras created by CameraComponent a name (derived from its GameObject)
Citizen/animgraph: added wish-based flailing & directional lean to skid, and converted the 2D x/y blend to a 1D move_direction blend to ensure the transition between directions look proper regardless of speed
https://files.facepunch.com/maxlebled/1b1811b1/2023-12-18%2013-46-47.mp4
More difference between hovered and unhovered gizmo controls
HeaderBar supports LeftCenter, RightCenter
Add Editor.Shortcut class
Move editortool mode to headerbar
Add faster way to cast ray against heightfield for Terrain.RayIntersects
Move CodeGenerator to Sandbox.System
CodeGen: Set MemberIdent on wrapped properties
Rewrite to [ConCmd] [ConVar], use new codegen, make scene games able to use them
Load fonts from scene games filesystem too
Log when can't find font, should help some people debug
TransformControlWidget: Non-uniform scaling
Depth bias the position/scale gizmos
Set the transform after creating a sceneobject - because non uniform scale doesn't get applied via the create method yet
Add EditorTool
Add Gizmo.IsCtrlPressed etc
Add Gizmo.Snap( vector )
Add Gizmo.Settings.SnapToGrid
SceneToolbar has grid snapping
PositionEditorTool supports grid snapping and shift drag to duplicate
Fix panel transition timing
Add Vector3.Inverse
Transform.NormalToLocal, PointToLocal, NormalToWorld use non uniform scale properly
Hitbox converts ray to local properly when picking bbox and models
Setting GameObject.Parent = null is the same as GameObject.Parent = GameObject.Scene (fixes sbox-issues/issues/4225)
Add alias to CitizenAnimationHelper for backwards compatibility
Rename the rest of the colliders, make gizmo drawing consistent
Add CitizenAnimationHelper component to base addon
ColliderSphereComponent is SphereCollider , has Center, Sphere gizmo keeps uniform scale which represents the actual collider
Add Scene.SharedTick
Order ComponentSheet by file and line
Fix componentsheet spacing inconsistencies
Add BBox.Extents
ColliderBoxComponent becomes BoxCollider, has Center property
Rigidbody Colliders get rebuilt when scale changes too
Strip out monitors, viewmodel and 3d skybox rendering paths from renderpipeline, needs to be cleared from the rest of the codebase (cherry pick from renderingpipeline_cleanup ) but if we don't do it now we never will
RenderingPipelineVr becomes RenderingPipelineStandard
Remove remaining non-VR "VR" references from rendering pipeline, remote retinaburn and env interaction system that have been never used for us, some more of VR stuff could be taken out now that we do it mostly all in managed
Don't shrug off scratch render target system errors after a while
Debug draw physics world in GameTick. Add physics debug world to scene view camera
Tick NetworkSystemManager from GameMenu, so Time.Now is scoped and we can process everything before the first render
Network heartbeats keep scene time in sync
Throw a more useful exception when RPC call fails
ObjectUpdateMsg sends server time
Add BytePack support for bool (!)
Scene.EditorTick only changes scene time if it's an editor scene
Fix odd text alignment in ResourceControlWidget
Suspend updates when rebuilding ComponentSheet
Flicker was gettin' to me
Fix row spacing for ListView using ItemAlign.SpaceBetween when item count is 1
Fix qt smooth scroll desynced when dragging the scrollbar then wheeling
Fixes sbox-scenestaging/issues/70
Disabled components can be dragged into reference slots
Panels use RealTime for transitions (but I changed the code so we can let them choose their timescale at some point)
Loading screen cleanup, put on menu overlay layer
Added GameLoadingFlags, so we can avoid doing some thing when loading a game when joining a server
Join lobby when playing game, if one exists (temporary, should be game choice)
Horizontal scroll (#1236)
Hold shift + mouse wheel to perform a horizontal scroll, if your mouse
has a horizontally scrolling wheel then that will work too.
https://files.facepunch.com/alexguthrie/1b1511b1/sbox_4y8iF5jVHk.mp4
Fixed exception when joining a server
Fixed version date parsing
Remove IMenuDll.IsGameMenuVisible
Version overlay
Set api version on lobbies so they can be ignored easily
Citizen/animgraph: added Jump_Crouching animation
IGameMenu to IGameInstance
Strip lobby stuff from GameInstance
Strip unused
Remove Game.Menu
Internal cleanup
Remove GameMenuContainer
Don't use hacky GameScreen /game/ navigation shit for game instance
protocol++
Apply a depth bias to grid to stop z-fighting and make it render double sided
https://files.facepunch.com/matt/1b1511b1/sbox-dev_vUfVeC7hKH.png
Force terrain collider to static in OnValidate
Terrain collider needs to be a Collider, fixes receiving touches
Set game/dev status on steam lobby
If we're a development host then don't load package assemblies at all
Add INetworkListener.OnBecameHost
Remove "red", "white" from all the icons