7,479 Commits over 3,622 Days - 0.09cph!
Simplify player spectating by only setting view target server side for firstperson, calculate thirdperson camera client side in OnUpdateView
Remove client side thirdperson camera in DeathControllable, calculate view in OnUpdateView instead
Player.ViewTarget requires authority
Add Player.ControllingViewTarget, override Controllable.GetViewTarget to use it. (This is useful for getting a target entity from local player)
Fix Player.Controllable to work both server and client side
Spectators target player model if it's in ragdoll mode, switch back when player respawns.
Add World.ServerNetworkAddress
Safer ragdoll cleanup without using async, only destroy after not being viewed for ragdoll_fade_time
Merge branch 'master' of github.com:Facepunch/SandboxGame
Merge branch 'master' of github.com:Facepunch/SandboxGame
Add Player.ServerIPAddress
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.
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
Add entity EyeYaw and EyePitch (EyeRotation.Yaw could be invalid when going from angles to quaternion)
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.
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
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
Use a simplified light cache interface for multiple lightmap support
Extend static mesh rendering to support multiple lightmaps per model (used for large meshes) Add Mesh.LightmapIndex and Model.Lightmaps.
Test lightmap encoding on idtech3 maps
Fix Lightmap.EncodeImage and use it for source maps
Add FileSystem.WriteAllBytes. Add Lightmap.EncodeImage util func (not 100% correct yet)
Add Sound.ConcurrencyLimitToOwner. Add camera ProjectionMode (perspective, ortho) OrthoWidth, OrthoNearClipPlane and OrthoFarClipPlane.
Experiment with sound concurrency (example: limit weapon sounds to 1 so they don't play over each other)
Add Animation.ClearNotifies