106,383 Commits over 3,806 Days - 1.16cph!
Added useCollisionPositionInsteadOfTransform and minimumRigidbodyImpactWeight fields to PhysicsEffects component to better handle effect sfx on large entities like the tugboat
useCollisionPositionInsteadOfTransform should be enabled on large objects that could get hit from multiple angles while stationary (enabled on tugboat)
minimumRigidbodyImpactWeight allows us to prevent rigidbodies below a certain weight from triggering impact sfx, set to 5.5 on the tugboat to prevent dropped items from playing the boat impact sfx
Unsaved change from
84454
Hooked up Petur's tugboat damage FX. Disabled the Fire Lights for now until I have a way to turn them on and off properly.
Updated the UI tooltip for "occupied" sleeping bag to now include underwater as a possibility
Fixed a TugboatSounds NaN issue when scrubbing demos
Fixed projectiles getting stuck in endless loops when pausing and scrubbing demos
Fixed a PositionLerp NRe when scrubbing demos
Removed my tugboat concrete barriers, this has now been handled in a more official capacity.
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