1,460 Commits over 638 Days - 0.10cph!
removed CLIENT preprocessor requirement from TestRunner window/pipeline
rewrote paste test to monitor linear/angular velocity instead
- locked playerboat tests behind just Server define, too many listen-server issues to reliably test it in combined
added test to see if pasted boats are positionally stable to check assumption of other tests (they aren't)
added simple drag-by-angle consistency tests
- replaced galleon copypaste data with square/rectangle/triangle simple boat shapes
basic test that boat can be pasted and is floating in water
refactored to ScopedOcean to setup fixture-scoped flat ocean
minimum setup required to run a test with ocean
merge from droppeditem_improvements (compile fix)
merge from droppeditem_improvements (compile fix)
merge from droppeditem_improvements
wrapped DroppedItem RB-removal behaviour behind `droppeditem.remove_rb_on_sleep` convar (defaults off, very experimental)
- only changes existing dropped items as they become inactive/active, doesn't go through and remove bodies from anything
dropped item improvements with vehicles
- item clipping check data stored in LS, behaves properly with boats now instead of falling through all the time
- experimenting with destroying/adding RB components instead of setting kinematic
kind of hacky BC fix to allow scaling BC without breaking the positions of chains
- adjusts LengthModifier by inverse of minimum lossyScale to simulate larger in WS to cancel out the incorrect scale when adjusting transforms in LS with bonestates
- need a more legitimate fix for VMs as I hadn't realised how much scale was effecting it
▌ ▌▉▇▊▌ ▊▉▇▆ ▌▅▊▅▍▇▅█▌▌▄▇▇▆▅▅▆▋▋▆▆▋▊▍▇
▇ ▄█▋▆▆▆▄ ▄▄▊▌ ▉▉▌█▌▊▋▋ ▊▉▌▅ ▌▆▊▍▍▌▅▍█▌▇▉▊▆▍ ▄▍▇▇▄▉ █▍ ▌▊▆▆█▍▌▋▋ ▅▆▌▄▉▇▅▅ ▍▋▇▋▆▇▌ ▊▊▋▋▆▆▌▊▇ ▇▌ ▆▊▉▊▍ ▉▄▉ ▇▇ █▍▉ ▊▆▅▄▋▅▆▉ ▇█▊▌▆▅▉█ ▆▊█▋▊▄ █▊▆▋ ▋▊▋▍ █▅ ▋▅▅▍
merge from wakeaiz_tickrate_optim
further decrease wakeaiz tickrate and added jitter, we don't need to tick every fixed update for players entering such giant volumes
BC - handle null root chain entries and chains that have no nodes
merge from bc_null_chain_fix
merge from wakeaiz_tickrate_optim
drastically reduce tickrate of WakeAIZ when it becomes active, at worst this will add +10% to the sleepDelaySeconds (usually set to 30s) but will significantly reduce the perf impact of it
fix BC serialization issue
committing test multichain setup for reference
added support to BC for branching chains
- rotation is a little iffy, but behaves itself enough to not warrant adding extra constraint control against each child
merge from non_trigger_wake_AI
- chunky merge, ran s2p on a bunch of monuments
s2p for both oilrigs to re-apply fixes from `s2p_particle_flatten_fix`
merge from main
- kept destination on oilrig prefabs, will rerun s2p
refactor to allow subscriptions to nodes of the Grid<>, this lets us sleep the polling when the coarse query grid is completely empty and resume ticking it when it is populated again
improved WakeAIZ perf - added AnyPlayersInSphereFast to grid queries as we can check the validity ourselves in the filter callback
removed TriggerWakeAIZ, made gizmos less obnoxious, just use player querygrid directly instead of connections
replace procedural creation of TriggerWakeAIZ in dungeons with WakeAIZ
replacing train tunnel prefabs TriggerWakeAIZ
replaced all TriggerWakeAIZ in all monuments and ran s2p - train tunnels still left
- airfield
- artic_research_base
- bandit_town
- compund
- desert_military_base a/b/c/d
- excavator
- military_tunnel
- oilrig / oilrig_small
- trainyard
also copy sleep delay and zones in tool
quick tool to convert TriggerWakeAIZ with a button
- also made it so BaseEditorExAttribute can invoke a method for isTrue/isFalse instead of just reading fields/properties
setup ghostships and tropical islands WakeAIZ again because I changed the serialized format
- ran s2p on all islands
optional box support, re-uses x component of vec3 size for radius otherwise
- uses largest extension for network radius check and then a coarse OBB<->triggerpoint intersection to determine actual contents
replaced TriggerWakeAIZ with WakeAIZ on all ghostship variants and tropical variants
- ran s2p on all tropical islands
corrected inverted sphere gizmo
corrected latch, support for puzzlereset ddraw (get PooledList on request, don't track)
initial non-trigger AI WakeZone
▍ ▇▄▉▍▍▍▋▉ ▆▇▇▆▉▅ ▉▌▇ ▆▋█▌▋▉▅▆▌▇▄▇█ ▋▊▍█▆▆▌▄▉ ▄▉▌█▅▍ ▍▋▆▅ ▉▊▍▍▍ ▄▊ █▇▋▅▉▊ ▆▋▉▋▇▅▌ ▆▍▇▊▊ ▍▍▇█▅▆▄▄▍ ▋▌▋▋ ▍█▉▌█▆█ ▉▌▊▊ ▉▆ ▊▊▇▌
▌ ▌▊▄▄▆▄▋▇ ▉▌▌▍▉▋ ▇▄▅▅▍▅▇▇ ▌▍▍▅▅▉ ▋▋ ▅▌▍▋▅ ▊█▋█▉▍▋▆▅▆▇▋▄▌▇▋██
▆ ▄██▇▋▋ ▍▅▆█▇▇▆ █▉▉▍▇▅▋▆ ▍▇▇▉▊▍▅▋ █▉▍█▆▅█▋ ▍█▌▇▆█▌ ▌▄ ▉█ █▆▄█▅▋▍ ▅ ▅▄▋▅▋▌ ▇▌▌▇▍▄▇▄▌ ▄▌▆▇▄█ █▉▉▄█▊▉▇▅ ▋▊▆ ▄▇▊▅▇ ▄█ ▌▊▍ █▄▉▅ █▇▄▉▍ ▇▍▊▊▉▆▄▆ ▆▋▉▋▊▆▋ ▇▊ ▅▍▉ ▅▌▅▋ █▄██▇▅▅▆▉▌ ▆▇▇ ▋▄▌▆▌▆ ▅▅ ▆▌▌▌▌▌▆