3,719 Commits over 639 Days - 0.24cph!
Fixed client prediction code trying to be run in demo, this was causing some timing innacuracies
Don't attempt to move the boomerang if the demo is scrubbing
Try and predict model state if scrubbing
Setup more reliable found collider check
Filter out road meshes when spawning the Travelling Vendor
Ensure no left over vine instances are left in the work queue when pooling
Setup queuing and packing methods. SyncVars are added to each entities queue.
Setup Sync() and SyncImmediate(), behaves similarly to SendNetworkUpdate() and SendNetworkUpdateImmediate()
Setup standardised getter method to retreive sync vars current values without using reflection or any pre existing list.
Swap syncvars to send shorts instead.
(Id is class relative so no problem with duplicates)
Equal, do not subscribing to delegate.
Reduces some allocations.
Pregenerate field name ids rather than running it through string pool at runtime
Very initial setup to support packed syncvars
boomerang_3p_hands_up_fix ➡️ main
▊▇▅▊▊██▍▆_▆▊▌▆▇▍_▄▅▅▊▋▆▅_▆▍▍ ➡️ ▄▆▅▋
Call base.OnHolster last so that our animator changes go through
Remove old way of handling this
▆▊ ▍▆█▉ ▆▍▆▇▌▇ ▆▄▋▄█▅▆. ▉▅▆▉▇ ▇▋█▆
▆▄▉ ▋ ▉▋▇▍▄▉▇▌ ▍▍ - ▇▋ ▊▍▅▋▌▋▅▋▅ █▋▍ ▋▆▋▍ ▇█▍▍▋▇ ▄▌▍ ▉▋▉▌ ██ ▇▌▄▅▇▄▌ ▊█▍▌ ▊▄▍ ▇▅▌▋ █▉ █▄ ▇▄▆▌▇▌
Fixed client write and send methods trying to use server write and send
Fixed server recieve method being hooked up wrongly
Can mark SyncVars as [ClientAuthority]
This changes the ifdef blocks used in the resulting replicate and sync methods
Changed test code to include a client -> server Syncvar
Add server receive methods
Add CLIENT & SERVER preprocessor tags in generation step
Fix storage monitor not being able to be placed on the Vending Machine
Increase the Vine view model exit time padding .1 -> .2
⭕ Fix vine flickering and dissapearing
⭕ Mark Occludee as dynamic
vine_maxvelocity_nre_fix ➡️ main
Ensure max velocity > 0 even when null
Fix Vine Max Velocity NRE
boomerang_range_fix ➡️ main
Adusted boomerang range values
boomerang_range_fix -> main
Fixed Boomerang not having better attack range on players and NPCs
Rewrote server projectile to allow overrides in the right places
Boomerang does two attack checks - hits players and npcs at a higher radius
main -> vine_capsule_renderer
First compiling example of cheaper single server -> client sync vars 🎉
Ensure base entity initialises SyncVar hooks
Clearer naming for handlers, Sync and Replicate
Client.Connection receive methods.
Initial code generator to hook SyncVar OnValueChanged method to our SendSyncVar method (server only)
Only give a damn about single SyncVars for now
BaseEntity Single SyncVar header, object and send methods
Minor SyncVar code cleanup
Enable encryption
main -> hackweek_syncvars
vine_demo_scrubbing_fix -> main
Fixed Vine Mountables not moving to the correct position when skipping in the demo timeline.
This was difficult to track down but appeared to be due to the client network interpolation and how it acts in demos.
Put every vine in the update queue (if in a demo)
helicopter_targetting_nre -> main
Helicopter player targetting null check, it should never be null? But lets check just in case
Should fix frozen Heli and NRE spamming
vine_double_descent_animation -> main
Add a tiny bit of exit time to allow the descend true flag to come in, a small amount is enough
Ensure spectating player is in first person mode before showing the vine viewmodel
vine_viewmodel_demo_fix -> main
Dont bother with coroutines if in a demo - way better experience
vine_demo_scrubbing_fix -> main
Set position rather than lerping if in demo
Don't ever leave render work queue (once added) if we are in a demo