1,471 Commits over 669 Days - 0.09cph!
added a bunch more boat layouts for testing
basis of test to print table of front-on drag of a set of different copypaste boats, going to be used for retuning drag-by-angle values
drag consistency fix
- track generated rays on each drag projection plane, in some situations it could result in generating an extra ray and alter drag values
- all tests now passing
added test case to retest specific known-failing drag consistency tests
- adjust TestFixture to allow it to run non-public test methods so my dodgy BoatRotFailSetup test parameter struct doesn't need to be public
▌ ▊█▊▊▅█▊▋▄ ▍▇▉▄▋▄█▌ ▋█▅▅▅▉▍▊ ▄▋▄▍▉▌█▍▉ ▅▌ ▉▇▅▍▄▉▊ ▊▌▉▌█ ▅▌▅▊ █▄▋▉▍▊▄▄▊ ▉▌ ▉▅▌▉▉ ▊▅▍█▊ █▄▉█▌▄▅▅ ▇▍▅█ ▅▄▍▋▉▍▌▇▄▆ ▉▋▅▉▄ ▍ ▇▋▍▌▊▄ ▍▍▅ ▄▄▉▌▍▇▊ ▊▄▍▋▊▋ ▅▆▄▄▉▆▉▋ ▇▇▍▆ ▌▉▍▆ ▋▅▄▍▊█▍▇▉ ▅▍▍▅▄▊▇▆ ▊▊▋▌▉▉▋▇▇ ▋▋▉▊▄ ▋▊▇▇▌▋▊▅▊▇ ▋▉ ▇▆▊▊▆▋▊▍▅▍▅ ▇▅ ▉▆▊▆▋ ▆▋▌▄▅▆ ▋▋ ▋▉▉▉ ▍█▅▄ ▆█▋▋█▍▍ ▊▍▌█▍▅▆█▄▍▍▄ ▄▊ ▆▅█▍▉▍ ▄▇▊▍▋▆▅▇▌▍ ▉▆▆▋▅ ▅▆ ▋▋▉ ▉▅ ▉▊▄ ▇▅▇▍▇▆ ▌▍ ▄▌▇▆ ▌▋ ▋▍▌▊▅ ▇▊▌▆▉▄ ▌▊ ▅▍█▍ ▌▄▌▇ ▅▌▇█▊▋ ▇▅▍▌▍█▍▄▊▊▉ █▆█▉▌▌▍ ▉▊▊▍▊▍ █▆▍█▉▅█ ▅█▊▆▊▇▊ ▅█▊ ▄▇▋▇▇▌█▌ ▆▄█ ▍▍▄█ ▉▍█▋█▉██ ▅▇▍▉▆▌ ▉▆ ▌▄▍ ▊▊▌▊ ▄▇▉ ▉▇▅▄▆█ ▊▌▄▇▆ █▄ ▄▉▌▉▍ █▆▅▄▊▌▊ ▌▄ ▇ ▋▋▇▇▇▌▄▅ ▇▅▅▉▍█▋▅ ▍ █▄▍▅▋ ▇▊▊▄▇▉▊▇█ ▇█▆▄▇▄ ▌▄ ▅▄▇▉█ ▌▍▇▋▆█ ▌▅▌▄▆▍▇ ▋▊ ▆███▄▋▌▄ ▊ ▇▇▅▅▇▍ ▌▋▆▍ ▌▋ ▋▉▆▅█▆▉▇ ▄▄ ▄▇▆ ▌▊▉▍▉▊▍▌▋ ▇▌▇▋▌ ▌▆▉▋ █▍ ▍▉▌▅▆ ▉█▇▋▉ ▇▇▋ ▍▉ ▆▇▋▋▆▌ ▌ ▍▆█▌▋ ▇▊▅▉▆▉█▆ ▆▋▇▊▍
handling direct transition between different parent entities properly, the coordinate system changes so it needs to reset tracking, also removed some bad state resets
- added convar to broadcast ddraw information on dropped item clip checks and collider state to _all_ players (help info makes it clear)
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