20,900 Commits over 1,522 Days - 0.57cph!
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
Move SceneFile into Engine
Fix startup errors (!)
Fix hitbox traces not returning the hitbox
Make Hitbox constructors internal
Delete ISource2Client and ISource2Server
Rotation: SmoothDamp is static, implicit conversion to/from Angles
Remove BinaryStreamExtension
Make all these Rotation members readonly while we're breaking api again
Make a bunch of other stuff readonly
Remove GameEvent
Unexpose Event system, remove from whitelist, don't instance Sandbox.Event (phasing it out)
Some easy deletes
Api protocol++
Add damping to physics component
Add material group to model renderer https://files.facepunch.com/layla/1b1211b1/sbox-dev_DEaDqkAx7J.mp4
Document capsule collider
RMB to zoom in and out of orbit
Dragging models from asset browser adds collider component
Add ColliderCapsuleComponent
Additional Gizmo Controls
Scene Editor orbit around focused selection
Fix NRE in legacy particle system
VR: fix some stereo-related render warnings