3,000 Commits over 578 Days - 0.22cph!
██▌▌█▆██▅_▊▄▉▊▍▆▌▍_█▉▇▆▌▍_▋▋▅ -> ▆▆▇▌
▌▉▋▅▅▊▄▍▌▉ ▌▅ ▊█▅▄▊▊ █▅ ▌▄█▋█ ▆▊█▉█▄ █▅ ▉▍█▌▋▊▄▍ ▆██▆▄▇
Fixed broken terrain setup
Ensured boomerang return arc is more relative to throw direction rather than world direction.
Better boomerang behaviour when thrown straight upwards
Prevent dropped boomerang from slipping behind entities
Ensure boomerang impact effects are always played at the same place
Don't bother trying to handle bones on the server - it never matches
Ensure child classes of SyncVar are picked up in SyncVar Codegen
Initial profiling pass. Virtually no memory overhead for send/receive, and very little for the queue (pooled)
Fix non packed syncvars attempting to use the cheap int ids used with regular packed sync vars (will try and incorporate this before release)
Locally cache a reference to queue sending action for each entity that needs it - use that for invoke repeating and cancel invoke
Cleanup start/stop queue methods
Return hashset to the pool on stop
Conditional sync vars now force sending.
We use force here due to memory. onditionals could be added to the queue for specific values, and then by the time the queue processes it the value may have changed.
Invoking force prevents us from having to maintain a dictionary of values for every entity
Server -> Client Syncvars properly syncing up via a fixed repeating queue
Cancel repeating invoke on entity destroy
Bitmask setup as a uint - 32 sync vars max per class
▋▌▄▍▊▋▇▄▆_▆▇▉_▇▋▆▋▊▆▌_▄▇▇▉█▅▄▋▅ -> ▇▋▉▍
▆▅▋▅▅▊▋▉ ▇▉▅▇▄▆▍▇▄▍▌, ██ ▉▊▋▆▋▉▋ ▊▉▍▆▆█
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