2,064 Commits over 944 Days - 0.09cph!
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
Experiment with using animation events for playing reload sounds
Add frame rate to animation library settings
Pistol viewmodel anim state machine
Test viewmodel animations. Add viewmodel swing
Spawn viewmodel before giving weapon
Don't create mdl physics if .phy file doesn't exist
Add test gamemode and weapon to ShooterBase. Handle movement input in BaseWeaponControllable
ShooterBase weapon view models
Add wm_removeteamvoiceannounce
Add wolfet teams. Play team voice announcements on team join.
BaseSound has an internal sound base instead of sound wave
play sound bindings take a sound base instead of sound wave to make it possible to play sound cues etc in the future
Add test soundscape scripts to sandbox gamemode
Don't load script manifests if file doesn't exist