702 Commits over 334 Days - 0.09cph!
Fix potential NRE when starting debug camera
Merge from viewmodel_early_disable_fix
Move viewmodel clear config file
Merge from viewmodel_early_disable_fix
Fix issues with third person anims still stopping early on molotov, bandage and syringe
Merge from heldentity_preprocess_fix
Fix NRE in HeldEntity.PreProcess
Merge from 3p_spectator_improvements
Merge from viewmodel_early_disable_fix
Applied to other grenade types, bandage and medical syringe
Fix issues with camera reset lerp
- HeldEntity and BaseViewModel now find and cache which anim clips are valid for persisting in PreProcess rather than in DoPrepare and being serialized to each prefab. Makes it easier to quickly test in editor and no prefab diffs
- General cleanup of the code
- Fix not checking if the animation controller playable is valid in PlayerModel.IsGoingToPlayClearHoldTypeAnim
- Remove some garbage allocs in AnimationEvents
- In AnimationEvents.TryCacheEventReceivers always check its parent for any other IAnimationEventReceiver. No current viewmodel for which this would have been a problem for, but because it can support more than one event receiver felt like a bug waiting to happen
Fix exhaust VFX not playing correctly on chainsaw viewmodels
Merge from chainsaw_exhaust_vfx_fix
Rename FirstPersonSpectatorMode to SpectatorMode and invoke it when spectating in the third person camera
Fixes a few things only working in the first person spectate camera
▇ ▄▄▋▊▊▇▉▄ ▉▋▋▌▋▄▌▉▌ ▍█ ▉▅█▍▊▊ ▇▋▆▆ ▅▇ ▊▌ ▉▄▉ ▅▉▍▆█▋▅▋▄▍ ▄ ▆▊▆▄▆▄
Fix third person player sounds not working correctly in spectator mode
Fix previous commit breaking the cycling order of the camera viewmodes
Compile fix UIPrisonerHoodOverlay
Replace LocalOrSpectatePlayer property with GetLocalOrSpectatePlayer() that will always prefer to return the currently spectated player regardless of current camera viewmode
Replaced property with getter method to make it clearer that we should prefer to cache the player rather than repeatedly fetching
Checked and replaced all the previous usages. Many files touched, many minor bugs fixed due to the spectate player value having been wrong. Definitely* no new bugs introduced
Metabolism values should now immediately update to latest values upon spectating a player
Merge from viewmodel_early_disable_fix
Merge from npc_gesture_heldentity_fix
NPC's now use the server gesture start method rather than sending player signals, fixes them not hiding their currently held entities when starting gestures
Added faster dictionary lookups to GestureCollection
String material texture offset gets updated according to the current rotation of the wheel bone
New solution for persisting held entity animations on the playermodel
Seems to fix previous issues where those animations would not always clear correctly
Merge from chainsaw_hotspot_gathering
Fix server log when throwing items at trees and ore nodes
Merge from 3p_spectator_improvements
Fix spam from passing in a zero vector to Quaternion.LookRotation when spectating mounted bots
Merge from 3p_spectator_improvements
Merge from viewmodel_early_disable_fix
Revert change to PlayerAnimation.controller and remove the new StateMachineBehaviours for it, they were fucked
Merge from viewmodel_early_disable_fix
Fix issues with viewmodel and playermodel hold type override lingering around when holstering grenades normally
New issue where setting the playermodel hold type override to persist no longer works correctly with 'client.prediction' off or when seen on other players, will look at next
Updated PlayerAnimation.controller:
- Added PersistHeldEntityHoldAnimationOverride state machine behaviours to 'attack' and 'throw' states
Merge from chainsaw_hotspot_gathering
Fix null exception when throwing things at trees/ore nodes