3,132 Commits over 578 Days - 0.23cph!
High quality compression settings
Made waterworld for testing
Remade is broken icon
Old one was looking super low res with higher monitor resolutions
▆▊▊▇▇█▅█▊_▊▆█_▇▇▋▊▋▇▊_▊▇▆▍▊▋▅▄▆ ➡️ ▍█▍▄
▊▋▉▋ ▄▋▌▍▆▉▄▄▇ ▋▊▋█▉ ▉█▍▉ ▇▊ █▆█ █▅▄▌▇▉ ▅▌▇▊▍▍▆ ▆█▉▉▋. ▉▉▆ ▄▌▄▉▊▋▉ ▅▇ ▌▇▌ ▇▇▌▆ ▊▋█▅ ▌▆▄▉ ▉▆▆ ▉▍▌▌ ▌▊▆█▆▄ ▆▊▌▊▋▄.
▋▊▅▍▌▉▇▍▄▄ █▇ ▋▋█▄▇▉▄▅ ▉▍█ ▅▅▍▊▅▇▄ ▊▉▅▆▇ ▍▇▇█▍ ▉▍ ▌▌▅▌▊, █▉▆▆▆ ▉▊ █▋ ▆▄▋▌▍▆▉ ▍▇▍▆ ██ ▉▊▄▅▅▉.
Ensure jungle waterhole is not a viable crash site for the helicopter
Ensure all Lakes/Oasis don't allow heli crash
MonumentInfo 'AllowPatrolHeliCrash' is set to default to false - prevents this happeneing in the future
Some minor fixes
Experimenting with different queue implementation
▋▋▇█▌▉▍▆▋▇▋▍█ ▄▇▊ ▊▍▉ ▆█ ▋▍▉▋ ▅▋▌▄▆▊▉
▋█▌▊▇▊▇ ▇▉▅ ▆▆▆▉▉▉▇█▇██▉▋▍▋▋▋▊ ▌▄▆▉▊▅▆▍▆▊ ▇▄ ▊▆ ▋▇▉ ▋▆▆▊ ▅▉▉ ▍▅▅▅▋▍▌▊▍▊▉
boomerang_demo_timing_fix -> main
More accurate results in demo than before
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