14,040 Commits over 1,583 Days - 0.37cph!
Define SerializedProperty.IsEditable in inherited types where possible (ReadOnlyAttribute or !CanWrite)
https://files.facepunch.com/tony/1b1311b1/sbox_R9sUMW3RGj.png
Make sure OnStart is always called before OnUpdate/OnFixedUpdate (fixes sbox-scenestaging/issues/107)
Add clothing_c files as an explicit exclusion to the .gitignore rule that excludes compiled content — and restore the files, since contentbuilder can't take care of them for now
Delete public/networksystem
Scene: Copy / Paste (As Child) supports multiple objects
Scene: Cut supports multiple selection, fixed paste NRE if no selection, use the scene as a fallback
Only interact with the scene view if your mouse is over it
Select the prefab instance when selecting a prefab instance child in the editor
Delete remaining unused from engine2
Fix inspector not handling multiple components of the same type properly (fixes sbox-issues/issues/4175)
Scene: add multi-select duplicate support
Fix hitbox tracing weirdness (fixes sbox-scenestaging/issues/104)
Fix misc warnings
Re-organize gameframe
Fix prefab enable status not de-serializing in scene (fixes sbox-scenestaging/issues/67)
Remove unused loadingscreen toggle
Fix all warnings in Sandbox.Game
Fix warning in Sandbox.Access
Fix warnings in Sandbox.Menu
Fix warnings in Sandbox.Tools
Make MusicPlayer work again
Citizen/animgraph: address a couple of edge cases with that last commit & shove the nodes in a group
Delete mostly everything networking related from engine2, should make it possible to delete networksystem
Fix every warning in Sandbox.Engine
Citizen/animgraph: fix potential animation snaps caused by the reset signal used to reset the movement cycle phase sometimes overlapping the frame you start moving (especially while holding SHIFT). Rather than send a reset signal if you were idle for at least 300ms *and* you start moving, simply send a reset signal if you've been idle for 300ms at all
https://files.facepunch.com/maxlebled/1b1311b1/sbox_2023-12-13_09-41-59.mp4
Citizen/animgraph: also nest the long transition from post-jump airborne back to normal state
https://files.facepunch.com/maxlebled/1b1311b1/sbox_2023-12-13_09-41-59.mp4
Shut the couldn't find driver version warning up
Fix anim subgraphs not compiling with contentbuilder because there's no assetsystem
Citizen/animgraph: use a nested State Machine (single transition, conditionless) to always fade in the post-jump airborne state over a longer period of time than the downstream SM allows (see commit comment)
If we go straight from grounded to airborne (without a jump) then we still want to fade the airborne state quite slow... but we also want a fast snap-free state transition back to grounded if we land almost immediately. Snaps happen if a transition out of a state engages while you're still transitioning into this state.
The 'protection' against snaps is done by using 'Time in State' conditions that are slightly longer than the previous transition's blend time. But if we keep that time too high, having very fast transitions (e.g. land-grounded-airborne-grounded-airborne) can look really off. You'd be in the airborne state for a noticeable period of time even though you're running. Therefore a very short 'protection time' below 200ms is required.
But with such a short time, going straight from grounded to airborne is too snappy.
Therefore, inside the state, we use a new SM, with a single conditionless transition, to always fade in from the upstream state gracefully, over a longer period of time. Because it's effectively a nested SM, it doesn't matter that the downstream state transitions are 100ms long. And because the jump-to-airborne transition is quite long, not only does it barely matter that this fade-in always happens, I also think it makes it look a bit better...
The SM always needs to receive a reset from downstream to restart the fade-in from the start, so I have to use yet another 'makeshift reset blocker' to prevent the upstream movement states from getting reset. (Otherwise you'd see a snap as soon as b_grounded went false)
VR: More docs for `VROverlay` and `VROverlayPanel`
VR: VrInput -> VRInput, extra docs for VRController
VR: Docs, rename Input VrHand to VRController
VR: Normalize prefix casing to `VR` instead of mixing `Vr` and `VR`
VR: VRHand component doesn't fetch skinned model renderer automatically, match behaviour of all other components instead
Get rid of angle pitch jitter in scene view
Make `Matrix` numerics value internal, similar to the one on `Vector3`
VR: Move `VROverlayPanel`, `VROverlay`, `VROverlayInput` into `Sandbox.VR` namespace
VR: Generate extra `GetXActionData` functions with `ulRestrictToDevice` = `k_ulInvalidInputValueHandle`
VR: Menu chord bindings / action
VR: Remove legacy layer, move VR stuff into Sandbox.VR namespace
VR: Hook up WorldScale
VR: Do a reset whenever GameMenuDll.ResetEnvironment is called, just resets world scale for now
VR: Shorten Sandbox.Engine.VR to Engine.VR, maybe we should rename this class entirely
VR: Move `VR` class into Sandbox.VR
VR: Remove `VR` class, move any relevant properties over to `Input.VR`
All of this was input-related anyway, this feels like a better place to
have it. Modifying the anchor is done through `Input.VR.Anchor` now.
The only exception to this is checking if we're running in VR; use
`Game.IsRunningInVR` instead.
This avoids us clashing with the `Sandbox.VR` namespace and causing a
bunch of problems. Shouldn't be too different anyway as most things
should be covered by our components.
VR: Components don't update if VR isn't running
Update these vmdls that are failing to compile, using some mega old schema text
ci: test-managed depends on built content
ci: turn off orphan deletion on contentbuilder
Delete all compiled content under "/game/core/models/" from the repository
Delete all compiled content under "/game/addons/citizen/" from the repository
Move Input to engine (we should be able to massively simplify this shit)
Citizen/animgraph: make head look more reactive and bouncier
Apply the same .gitignore wildcard fix that I had made to sbox-assets to prevent compiled files from being committed (*_c to *.*_c), with the explicit exclusion of !*.shader_c
Remove looptypeclientserver
Delete demos
Delete rcon
Remove clockdriftmgr
Delete gameeventsystem
Remove userinfochangeservice
New Outfit Piece - Raincoat
Raincoat asset added! Lods and skinning adjustments coming shortly.
Fix [Broadcast] requiring `using System;` statement in file
Make Transform / CTransformUnaligned non uniform
Use non uniform scaling when setting SceneObject transforms
Fixed order of SceneProperties (fixes sboxgame/issues/issues/4169)
Fix trace exception
Fixed scene prefab guid getting lost
Automatically convert .object to .prefab when loading scenes (for now)
Change prefabfile extension from .object to .prefab