111,741 Commits over 3,928 Days - 1.19cph!
Update: ModularVehicleInventory pools ItemContainer
- Had to cause it to discard MVI on server destroy to properly clean up pool containers. Can add MVI pooling later.
Tests: on craggy approached one of spawned vehicles, inserted pistons in the engine then blew up with c4. Pistons dropped, next spawned vehicle didn't have them. Telemetry had expected values.
only apply surface breaking drag to non-kinematic players
(fixes warning when DPV would submerge)
Quick change to rear ratchet
Defined limits.
Tweak strength and duration.
Update: ContainerIOEntity pools ItemContainer
- reimplemented inventory accessor to be backed by an explicit private var
Tests: spawned small rain collector, destroyed it - saw expected changes in telemetry
Poll rad amount inside container when opening
Centralised MaterialToRadsRatio inside Radiation.cs
Blockout of catapult (not functional yet)
sanity checking tools for non-convex mesh colliders
Update: ItemBasedFlowRestrictor pools ItemContainer
Tests: in editor on Craggy made fusebox mortal and shot it - saw ItemContainer returned to pool
Add more perf markers to nav agent
Buffed radioactive water.
Hazmat still more than enough protection
Update: DroppedItemContainer pools ItemContainer
Tests: spawned a wooden box, added rock and torch, destoyed it with AK. Looted the dropped container, it disappeared. Saw the uptick and downtick in telemetry when expected.
Reworked ItemModContainerRads to only cache rad updates on item added/removed
Should improve reliability whilst also preventing checks on OnDirty providing a decent performance increase
Bugfix: Avoid dangling ItemContainer reference on Clear.
- ItemContainer.Clear now removes items immediately, rather than deferring them to ItemManager's removal queue
- Callbacks are also invoked earlier, before the ItemManager's removal queue pumping
- Instead of sending out per-item ItemContainer-MarkDirty events, we only do 1 for all
- ItemContainer.Kill also clears onPreItemRemove and parent
This prevents a pooling bug where we recycle ItemContainers in same frame before ItemManager removal queue being pumped. It would lead to "invisible" items occupying the inventory.
Tests: Spawned a wooden box, filled it up with stuffs, destroyed it - dropped container spawned with inventory(instead of dropping on the ground). Looting it caused it to despawn(instead of stay in the world).
TerrainFilter supports a radius
TerrainTopologyMap.GetTopology checks an actual circle, not a square
Ensure ItemModConsumeContents also calls onItemAddedRemove
Drinking from a vessel now calls onItemAddedRemoved
Bugfix: don't invalidate ItemModContainer's availableSlots
- Also restricted access to availableItems to prevent future accidents and make it easier to reason about list's lifetime.
This is my bug - Pooling resets available slots on ItemContainer, so if they're shared by ref - original source gets nuked.
Tests: got ak47 with ext mag, dropped it, it despawned, spawned new one, tried to put rock into gear slots - it got rejected
Fixed above / below ground rail transitions not checking mountain topology when finding their spawn location
Split into different 1st and 3rd prefabs because reasons.
Movement improvements/fixes
Added static WaterTypes class. Swapped water Item Definition string lookup to a centralised set of definitions. Eg:
ItemManager.FindItemDefinition( "water" ) -> WaterTypes.WaterItemDef
Remove weird ass Visual Studio Code formatting
Can no longer splash players with radioactive water who are in safe zones
Vehicle fuel tank now supports radioactive water
world_update_2 -> radioactive_water
Increased radius of blocking zone on cargo docking path. Should prevent cargo from clipping the new rocks when docking
Radiation dart initial placeholder prefabs
Merge from river-ocean-transition
Merge from map_slope_shading
merge from fix_god_fallbleed
merge from fix_locker_durability
merge from fix_chinookcrate_buildradius
More work on jungle ziggurat scene.
Increase bounds padding on elevator lift
Scaffolding mesh collider is disabled while an elevator is in motion to prevent players clipping into them and getting dismounted
Merge from world_update_2
Halve the HLOD distance of both harbors
▅▆▄▉▋ ▌▊▌▊ ▊█▊▍▄ ▇▉ ▌▉▉▊ ▊▌▆▉▇ ▉▉▊'▊ ▇ ▋▉▄▊▍▊▇▇
Added mission points to divesite D, E, F so diving missions work
Allow blueprints to be learned directly from backpack
Set static planter wetness client side to full, might solve some flickering issues
Fixed extra material pass on small planter, both player placed and static versions
Merge from fog_motion_fix
Replaced a frequent vis check on FogMachine with a trigger volume when motion sensor mode is active, should result in no performance cost at all if no players are nearby
Reduced the frequency from twice a second to once every 1s-1.5s
3rd person movement stuff
Allow wolves to perceive other NPCs through occluders, but not players