116,225 Commits over 3,987 Days - 1.21cph!
Don't allow spawning from a sleeping bag if it's underwater
Convar changes:
- Tugboat.tugboat_corpse_seconds is now Tugboat.tugcorpseseconds. Default 7200 (2 hours).
- New Tugboat.tugdecayminutes replaces MotorRowboat.outsidedecayminutes and MotorRowboat.deepwaterdecayminutes for tugboat. Default 2160 (36 hours).
- New MotorRowboat.decaystartdelayminutes sets time between a boat or sub being last used and decay starting. Default 45. This was the previous default but it wasn't convar'd.
- New Tugboat.tugdecaystartdelayminutes sets same as the above but for tugboat. Default 1440 (24 hours).
Added a ring of PreventBuilding areas around the tugboat, to prevent griefing by building nearby
Enabling instancing on some cliff shaders
Fix renderers only being removed for building blocks
Make `InstancedMeshFilter` a client component so it gets culled off the server
Remove virtual prefab tracking when loading map (will clear every instanced prefab when map unloads instead)
Fix instanced world prefabs spawning under terrain
▍▋▇▉▌█▌▋ ▄▆▊▄▄▆▇▅▆▌ ▉▅ ▄█▍▌▆ ▅▄▌▍ ▉▊▋▍▍▇▍ ▅▅ ▅▆▊▇▋▄▅ ▍▅▊ ▉▉▅▋▄▍▇█▋ ▉▇▊█ ▍▌█▉ ▍▄▄▍▇▄▅ ▋▇▉▊▋▌ ▊▇ ▄▇▆▇█▍ ▋▄▊▌
Fixed items dropped on Tugboat sometimes causing tugboat physics stall. Dropped items now use Continuous Speculative. Removed DroppedMode covar.
When Unity detects a bad Continuous or Continuous Dynamic collision - i.e. one that looks like it will pass through an object between ticks - it stops the object immediately in place. This is the reason why modular cars must use Discrete physics collision and by extension why we need the Vehicle World physics layer to supply big chunky colliders, and the additional lastPosWasBad checks in ModularCar.Server VehicleFixedUpdate. If we used continuous, cars would occasionally come to an unexplained complete halt when driving fast on rough terrain. Continuous Speculative is a different thing entirely - more like Discrete collision, but the collider bounds extend into the space where they'll be during the next tick. At our low 16Hz tick rate, this wasn't usable for modular cars either as it turned them into something that felt like a big long surfboard at high speeds.
QA discovered a bug where Tugboat physics would sometimes glitch out and come to a stop when items were dropped on it while it was moving. This immediately reminded me of the continuous collision resolution problem above, but Tugboat was already using Continuous Speculative - chosen mainly because Continuous Speculative, being designed to handle even kinematic collisions, behaved relatively well when the Tugboat collided with the moving non-rigidbody Cargo Ship.
What I've now found is that the Continuous/Continuous Dynamic "move back to previous pos and set velocity to zero" bad-collision fix seems to apply to both members of a collision, even if one isn't on Continuous/Continuous Dynamic. Dropped items were Continuous Dynamic by default, and moving them to the Continuous Speculative layer fixes this bug. I don't expect any trouble with the change since they're relatively slow-moving.
The dropped item collision mode was on a convar. Since all options except for Continuous Speculative are likely to cause trouble of some sort on moving physics bodies, I've removed the droppedmode convar entirely.
Fixed water from a bucket being so powerful that it sinks tugboats
Fix map missing the markers list UI
Ensure CullingJob skips over hidden meshes
Setting 2019 ComputeBuffer to SubUpdates causes it to silently not update :(
Move location of "spawn virtual world prefab"
Diver suit texture updates
Convert v3 rocks to instanced rendering
Add method to toggle the visibility of an instanced mesh without removing it from the array
Support animated entities (again) by disabling instanced rendering when inside network range & enabling it when they go outside network range
Remove `InstancedMeshTracker` until we properly support animated entities one day
Added config option to `InstancedMeshFilter` that allows you to specify what meshes to use for an entity placeholder
Ferry terminal: Tweaked that one underground hallway shadow, and shifted some lights around in front of the entrance where the spotlight has been baked down into the ground.
Ferry S2P
fixed broken uvs on front interior
▉▌▉▊▅▄▆▅ █▉█▅▉▄█▄▋▍ ▉▌▅█▊▍▊▇▅ ▍▋▋▄▄▅ ▄█▇
recoloured lorrr_trailer unique albedo to match new darker white colour, changed trim_orange material to reflect this too, changed interior collision to allow player to get to the front of interior, added shadow casters for interior
Added walls behind tugboat staircases leading to the control cabin
Fixed missing geometry under the staircase
Fixed DudTimedExplosive briefly switching to world origin positon + network group when becoming dud
Fixed NRE edge case when TransformUtil.GetGroundInfo hit the ocean
Fixed player no longer parenting to tugboat
Teaked the material color values of the trailer lorry
Rename "rock" emoji to "heartrock" so it doesn't clash with the rock item
Added a couple of concrete blocks to tugboat to block visuals where there's already a collider
Added a new ObbComponent, adds an easy way to expose a local space OBB with gizmos for setup
Added an AlternativePipeBounds OBBComponent field on BuildingBlock, allows us the option to define a different set of bounds to use for the pipe intersection test so we don't have to modify building block bounds
Added alternative bounds to both roof pieces, fixes pipes placed under roofs getting incorrectly deleted due to the large bounds on roof blocks
Fixed up other vehicles that also had identically-named collider objects
Fixed water pumps not deploying in rivers
Fixed more duplicate bone names no Tugboat
Added an editor-only warning in Model.cs for bones without unique names. Now in the future instead of spending an hour tracking down why decals are in the wrong place and eventually discovering it's duplicate bone names, I'll be able to spend an hour tracking down why decals are in the wrong place and then finally remember to look for this warning.
Fixed two GameObjects in the Tugboat collider set both being called "Misc" causing bullet decals to show up in an offset position due to the bone ID finder selecting a different bone than the initially hit bone when re-converting the local space hit point to world space.
Speculative NRE fix for NVG camera issue, wasn't able to reproduce in the editor for a proper stack trace
Re-enabled world item parenting on tugboat. Having it off seems to cause more problems than it solves - we can tackle items falling through the boat a different way.
Don't parent NPC players to tugboat