250,571 Commits over 3,959 Days - 2.64cph!
Add support for all default values, fix optional field checks applying to DeltaSerialize()
Fix & update codegen
- don't check if field is null twice (bytes & strings already checked if null when optional)
- throw error if required class isn't present, skip serializing structs if required but default value
- fix regression where it checked if field was default when delta serializing
█▅▄▉▄ ▊▆▅▄ ▍▌█▋▊▄▆▆▆▊▌▇_▍▉▍
▍▌▇ ▇▊▋▋ ▊▍▊▄ ▊▄ ▅ ▇▊▌▊▊ █▆▋▇▉▇ [▌▄▋▉▄▆▆█▍▅▅▊] ▊█▍▉▆▌ ▌▅▌ ▉▇▊▌▅▊ ▍▇█▅█▌▍▋▊▄ (▄▌▇▌▅ ▄▄▅▍▆▆▊ ▌▍▍)
Skinned renderer builds bone hierarchy before scene model is created
Skip fields with custom default values instead of always serializing them
- significant as it affects Vector3
Fixes
Dirt trail iteration.
Updated codegen
Protobuf now won't serialize default values as pooling resets everything before deserialization
- should have the exact same input & output but better performance
Made ProtoBuf.Half3 and ProtoBuf.VectorData IEquatable so it can be compared to default value
▋▄▆ ▄▍█▄ ▊▅ █▊▍ ▍▄▅▌▇▍█ ▅█▆▇ █▋▍▌▄▌▆▄▊▄ ▌▄▍▋▉█▉
Joint goes up the bone hierarchy to find a physics bone (ex: leg_glute_helper_L will use physics bone leg_lower_L) this should simplify when we have a better relationship between bones and physics
Calculate our own proj matrix from scratch
Add scene viewport view mode option
Replace default cubemap texture with the one VBSP generates by default
This affects maps that are renamed after compilation
Fix CmdSeq.wc being broken on local builds
Fixed Ceiling Turret trying to play non existent sounds on dry fire
Was spamming warnings in console
Fixed Alyx not being blinded by flashlight in Episode 1
More episodic behaviors, for Zombies and Headcrabs
Fixed Alyx still following the player in darkness mode without flashlight
Fix Alyx's darkness breathing breaking other voice lines
Remount subbed addons if we unmounted server addons
In case some file(s) were overwritten by server addons, which are now gone
Clean up rope materials on disconnect, not game shutdown
Allows rope materials to reach 0 refcounts
Fixed intro screen material not being freed
Also fixed __error material getting an extra forever refcount
Also fixed __loading and __background getting forever refcounts
Fixed certain sprites (such as physgun beam) being forever referenced if drawn
Add facepunch.hc1 to tests
Restore obsolete Gizmo.HitBox.Model function signature to maintain compatibility
Start moving some PlayerState stuff around
Update to yoga 3, embed in engine
vpc fixes
Remove Facebook.Yoga
Convert style setters
Rename PlayerState.Player -> PlayerState.Controller
Remove refs to obsolete VR performance stats
Projection matrix calculation tweaks - need to figure out why we're getting squares (most likely incorrect frustum)
█▍█ ▄▉▆▌▉█ ▆▇▄▆▋▇▅ █▆▄ ▊▉▌▍▉█▍
▌▇▄ ▍▌▍██▅▇▅▄▄▉<▆> ▋▇▊▉▆▋▄▊ ▆▋▊█▆█ ▊▍▌▊▊██ ▉█▇▇▊ ▌▉▄▄ █▆▉█▌ █▇▄ ▅▆ ▋▊▋ ▅▆▉ ▅▍▉▇▆▇
█▅▋ ▅▌▆▅▊▍█ ▊▆▇▇▍▌ ▉▅▉ ▋▉▇▊▌▋ ▇▄▌█▌▄▊▋ ▄▌▇▋▋▉+▅▌█▆▇▍▉
▌▌▉ ▇▇▇▋▉▌▄ ▉▍▇▉ ▅▇▅▄/█▄█▆▉ ▊▄▌▉█▍
█▇▄▊▊ ▉▍▉▅ ▉▌█▍▋▍_▌▊▄▄▍▇▇▊▌_▆▋▅▄█
merge from optimize_asset_warmup_tunnels
These libraries are now published
▇▅▆▋ ▌▄▅▉ ▊▄▍▇▅▊▅ ▇▍▉▍ ▇▋▇▍█ ▌▅ ▊▊▇▅▊▇▄▇▄▄ ▅▍ ▄▅▊▄▍▍▇ ▍▋▍▄█▅▍▄▄▆▍ ▆▋ ▍▋▇▉
Add apple privacy manifest stuff, version bump
Anim source/working file backups
Add xr_linear.h
Fetch projection matrix directly from xr_linear, means people don't have to calculate it themselves
Use our own matrix struct
Minor tweaks
WIP/placeholder rock paper scissors gesture animations - 3p and viewmodel clips.
Includes entry, idle, start and exit placeholder anims.
▅█▄▉▅ ▋█▉▍ ▌█▊▄▉▍▊▇▌▋▄▍_▌▍▇
▊▅▇ ▆▋▍▍▄▌█ ▋▌▇▍▆ ▄▍▆▋▊ ▌▊▋▄▅▊▊ ▆██▄▉ (▅▅▊▋▇ ▅▌▆▆ ▄▍▅▋▌ ▇▌█▉▆▋▍▊▌▄▇▆▅▄<▆> ▋▊▇▇▆ ▊▆▇█ ▊▌█▉█)
Merge from hood_and_cuffs
Lock/unlock backpack correctly
Update nodejs for actions
added ground ramp glue trim to storage warehouse.
more work on storage warehouse.
Added "Remove Hood" radial menu option
add support for multiple scene views, orthographic scene views, and configurable grid axis
add keybind to cycle camera plane around selection
refactor bits into SceneEditorViewport, re/store gizmo settings alongside viewport cookie
rework to single layout and splitter, disable new tab creation for now
add support for per-widget toolbar actions
save/restore sceneview layout
move viewport/instance gizmo settings to EditorCookie from ProjectCookie
move save/restore viewport cookies to addon space
no reason to copy+set camera transform anymore
use active SceneOverlayWidget directly
use a single toolmanager instance
fix nudging
remove some global gizmoinstance refs
tuck camera alignment shortcuts away in camera menu
maintain layout config when toggling viewport fullscreen
remove log
camera fixes: make orthographic clipping more predictable, add smooth(er) perspective/ortho transitions, fix gizmotest widget, reenable scene camera copy
add setting to lock scene camera rotation
fix incorrectly sized gizmo hitboxes in ortho view
replace remaining direct scene camera transform accessors
tweak sprite gizmo hitbox scale in ortho views
cleanup scene tick/draw flow with multiple viewports
replace legacy global GizmoInstance
snip unneeded multi-tab leftovers
use state/gizmo settings for scene view control
replace remaining ray length with Gizmo.RayDepth
don't try to save scene-specific viewport config for untitled scenes
use alternate check for IsUnderMouse
move viewport settings to ViewportState from GizmoSettings, use shared gizmo settings for all viewports
shift camera settings to EditorPreferences, simplify viewport options
restore single EditorScene gizmo settings
revert camera extension changes, fix pan and orbit zoom, tidy
use hammer's linked splitters for uniform viewport resizing
Misc fixes
Move EnablePostProcessing from GizmoSettings to ViewportState
Default each viewport to a unique perspective
Misc post-scenetab fixes
Hide skybox in 2d views
Split scene view layout/viewport classes into separate files
Tidy
Use frustum RayDepth for terrain, hitbox traces
Make 2d clipping less crap
Use black background for 2d views
We don't need to do this anymore
Fix perpendicular rotation handles being unusable in ortho views
Fix 2d box selection: Frustum.FromCorners does ortho properly, gizmo tweaks
Use correct gizmo settings for dragdrop
Use correct plane for 2d view drag drop
Prevent map cookie from overriding 2d viewmode rotation
Draw grid on top in 2d views
Merge branch 'master' into hackweek-multi-scene-view
Add Widget.GetAncestor<T>
Move Grid, Scene toolbars to header bar, remove SceneViewToolbar
Fix warnings
HeaderBar switch layout
Tweak viewport menu, so you can see the checkboxes
Merge pull request #1582 from Facepunch/hackweek-multi-scene-view
Multi-viewport and Ortho Scene views
Use fpxr.h instead of old fpxr_public.h
Remove unused native -> managed GetHmdMatrix function
Implement world scale, tracked object list
Only init with a debug messenger if launched with -vrdebug, remove some unused stuff
Go through VR performance stats, obsolete everything we can't fetch (not sure there's much point keeping this at this stage 😅)
Implement functions for Facepunch.XR get instance properties
`vr_info` concommand cleanup, uses tracked objects from Input.VR
Add GetInstanceProperties() for system name
Cherrypick FirstPerson_Greybox scene from main/viewmodel_camera_anim_v2
HeaderBar switch layout
Tweak viewport menu, so you can see the checkboxes