111,829 Commits over 3,928 Days - 1.19cph!
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
Have wolves prioritize players that attack them over animals they are hunting
Fix bug where wolves were faster than light
Reduce the speed at which wolves eat a corpse
Add more ai debug toggles to rust editor
Optimize wolf path following, 60% speed boost
Set a IsNavMeshReady bool to avoid calling agent.isOnNavMesh / agent.updateRotation / agent.isStopped once the navmesh is ready
Cache transform to avoid doing .transform multiple times, micro-optimization but significant for hundreds of wolves
Prevent building around the chinook hackable locked crate. Uses same radius as patrol helicopter crates.
Fixed bug where lockers didn't have durability, and wouldn't subtract their condition when picked up.
thumb_up
12
thumb_down
30
Fixed bug where admins in god mode take 1 bleed damage on fall
Fixed paddling and above ground pools showing power usage 0
Disabled the duplicate translation error for now, need a better solution