3,308 Commits over 944 Days - 0.15cph!
Don't throw if webcon fails to start
Switch HttpListener to Kestrel
Add the shortcut properties back cause its annoying without them
Fixed VoiceEntity exceptions when losing and regaining net relevancy
Fixed some asset server issues
Remove shortcut properties into playerstate because it can be null for clients before they replicate
Cleanup engine base gamemode, only has the bare essentials
Add authority only Controllable.SetPositionAndViewAngles to simplfy respawning. Control angles now use angles instead of quaternions.
Move project to the right place
Split the HTTP and websocket server from WebCon into its own library
Also got rid of the double JSON serialization
Fix eye roll on remote clients. Punch view on pistol fire animation so remote clients can see it.
Switch to spectator free mode on movement input
Fix string serializer not actually length prefixing
Add entity EyeYaw and EyePitch (EyeRotation.Yaw could be invalid when going from angles to quaternion)
Fix NRE when replicating null string, add a way to set a fallback filesystem for when files don't exist
Allow player spectate if both viewer and target is on same team (target can't be a spectator) for situations where you want to spectate your team while dead
Spectators can cycle through players in reverse
Add view punch and eye roll to shooter base (can be disabled with convars)
Broadcast pistol bullet fire to everyone else
Fix player movement colliding with player model. Add Crosshair
ShooterBase: Add player model with ragdolling. Add death target that follows player ragdoll on death.
Add ragdoll_fade_time convar
Make BaseWeaponControllable damageable, enable player model collision.
Auto respawn bots for easier testing
Test 8 direction animation blend spaces. Use controllables replicated movement velocity.
Fix roslyn exception when processing networking attributes with nested class
Remove root motion from smd animations
Interpolate remote view rotation
Remove replicated eye angles from CharacterControllable
Unpack remote view angles back into 0-360 range
Rename Controllable.EyeAngles to ControlRotation to avoid confusion between EyeRotation (ControlRotation is authority controller view)
Replicate remote controllable view pitch and yaw, Controllable.EyeRotation will use this when not locally controlling or spectating.
Add Weapon.ViewModelOffset
Only calculate viewmodel swing if the local player is viewing the weapons owner
Assign bot player id to avoid assert
Add Player.IsBot. Add bot names.
Fix spectator camera collision ignoring the wrong entity
Cycle through players and spectator modes (free, 1p, 3p)
Remove unused WebAssets addon dependencies
Fix spring arm camera collision when parent is a controllable
Add third person spectating
Don't allow spectators to spectate other spectators. Fix view location offset when spectating people in first person.
Merge branch 'master' of github.com:Facepunch/SandboxGame
Fix some webfs issues, add command line switch to mount entire addons folder over http
Update big clit terry player model
Preserve skeletal mesh material slots even when mesh material is null. Add little naked man player model.
Experiment with bot spawning. Fix weapon view model swinging around when switching spectator target by using the controllable eye angles instead of view model.
Add AllowPlayerSpectate and GetNextViewablePlayer
Testing first person spectating. Add Player.Authority. Ensure Player.ViewTarget can only be set when authority is true.
ShooterBase async player respawn later with cancellation token
Fix animation events with zero trigger offset not playing. Specify animation event trigger with frame time.
Fix Controllable.OnUpdateView to update view target instead of players current controllable.
Add draw anim event to glock
Create a view model entity per weapon, i feel this is better than changing models every weapon switch. Remove Controllable.AttachEntityToCamera in favor of Player.AttachEntityToCamera, camera view is a player controller concept, not pawns.
Implicit conversion between Color and Vector4/Vector3
Color index accessor
Make CharacterControllable not use its own position and velocity variables