357 Commits over 214 Days - 0.07cph!
Bring back deathcam, re/spawn fixes
Work in progress Pawn refactor
Moved PlayerScore to PlayerState, scoreboard uses PlayerStates instead of relying on an active Pawn
Voice is on PlayerState, Kill Feed, Voice panel all use PlayerState
Chat system also uses player states, for now if we have a pawn, check zone that way. Needs a rethink, because we'll want to grab zones from possessed pawns, like the drone.
Can deploy drone by using left mouse button, removed dev menu debug for it
When possessing a pawn, set its PlayerState
Vitals UI works for any pawn
Kill bots playerstates as well as their pawn
Support Buy Menu items again
Use PlayerPawn in BuyMenu, not PlayerState
Cleanup, removed unused stuff
Removed a bunch of code we don't need on the Drone anymore
Fix NRE when shooting
Better logic for player marker vis
Another NRE fix
Don't destroy playerstate when orphaning. When connecting, look for a candidate playerstate that matches our SteamId and is unowned, so we can re-claim it
I don't think we need this stuff
Equipment renderer adjustments
Just use Property for PlayerBody.Player, instead of fetching OnStart
Fix team assignment
Use GameUtils.LocalPlayerState where we can
Spectating works again
Fix player nameplate conditions
More sensible accessors for local/viewer PlayerStates
Rename CurrentPlayerPawn->PlayerPawn, use rather than casting Pawn in a bunch of places (so we actually get what we're expecting)
Network client respawn event properly
Use PlayerState.Local.PlayerPawn directly
Fix not depossessing current pawn
Simplify pawn stuff a bit
Can now freely destroy/respawn player pawns
Tidy PlayerState a bit, streamline flow for spawning/possession
Don't enter spectate when respawning, do immediate spawns for joiners where we can
Add PlayerState.IsConnected
Fix non-host players sometimes spawning in incorrect locations
Fix error when no PlayerState.Viewer
Don't send team chat messages to bot connections
Add PlayerState.IsConnected
Fix non-host players sometimes spawning in incorrect locations
Fix error when no PlayerState.Viewer
Don't send team chat messages to bot connections
Tidy PlayerState a bit, streamline flow for spawning/possession
Don't enter spectate when respawning, do immediate spawns for joiners where we can
Can now freely destroy/respawn player pawns
Simplify pawn stuff a bit
Use PlayerState.Local.PlayerPawn directly
Fix not depossessing current pawn
More sensible accessors for local/viewer PlayerStates
Rename CurrentPlayerPawn->PlayerPawn, use rather than casting Pawn in a bunch of places (so we actually get what we're expecting)
Network client respawn event properly
Use GameUtils.LocalPlayerState where we can
Spectating works again
Fix player nameplate conditions
Fix load/delete window layout menus being swapped around (lol)
Scene view: whack up 2d view zoom speed, properly clamp zoom to sane limits
Add angle/grid snap increment spinboxes for custom values, Facepunch/sbox-issues#5691
Disable WholeProgramOptimization
Scene view: proper icons for layout buttons Facepunch/sbox-issues#5676
HostSync Equipment.OwnerId
Use camera frustum depth for dragdrop trace, fixes Facepunch/sbox-issues#5678
Scene view: Fix splitter state not restoring correctly, Add top/bottom layouts Facepunch/sbox-issues#5676
Set grid axis to XY plane when going into a 3d scene view
Add scene camera FOV to editor prefs window
Add SceneCamera.ToWorld
Do GizmoInstance ortho zoom around cursor, resolves Facepunch/sbox-issues#5674
Add scene viewport view mode option
Start moving some PlayerState stuff around
Rename PlayerState.Player -> PlayerState.Controller
Draw grid on top in 2d views
Prevent map cookie from overriding 2d viewmode rotation
Use correct plane for 2d view drag drop
Use correct gizmo settings for dragdrop
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
Fix perpendicular rotation handles being unusable in ortho views
Fix 2d box selection: Frustum.FromCorners does ortho properly, gizmo tweaks
We don't need to do this anymore
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
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
Support for spectating gadgets: spectate players rather than pawns directly, network current possessed pawn
Don't play fun kill sound when you've killed a teammate
Spectating orbit cam, hide cursor in third person
Move EyeAngles interpolation out of CameraController
Fix third person camera, death cam
Fix being unable to spectate bots
Add "Find in Asset Browser" context menu item to resource/asset widgets
Focus the current value in asset pickers
Fix outline visibility rules
Fallback to team color when PlayerColors.Instance isn't present for now
Unique player colours, shown on radar, nameplates, and outline
Show dropped C4 on minimap when CTs spot it
Show planted c4 on the minimap when spotted, swap icon
Show enemy players on radar when seen (or recently seen)
Replace unique logic for player minimap markers