branchrust_reboot/main/save239cancel
74 Commits over 30 Days - 0.10cph!
Changed Tugboat physic colliders from metal to wood where appropriate
Added additional collider to fix tugboat collision bug
Added support for the lights in the tugboat smoke stack at heavy damage levels
Explosives on Tugboat now work the same way as explosives on buildings. A timed explosive on a door doesn't do splash damage to the boat, and a timed explosive on the boat doesn't damage the door.
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
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
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
Fixed player no longer parenting to tugboat
Added a couple of concrete blocks to tugboat to block visuals where there's already a collider
Fixed up other vehicles that also had identically-named collider objects
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.
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
Switched Tugboat to use Continuous Speculative collision instead of Continuous Dynamic. This seems to get less confused by Cargo Ship's weird non-physics collisions, since it's made to handle kinematic situations.
Increased depth of Cargo bow trigger and modified TriggerVehiclePush again
Fixed cargo ship not pushing tugboat well with its bow wave push trigger
Increased tugboat flatWaterLerp to 0.4. Let's still bump on the waves a bit.
Removed unused buoyancy waveHeightScale var.
Set up Water5 correction forces for Tugboat
Decreased tugboat drag. Set tugboat MaxVelocity value.
Replaced top-tier door concave mesh collider with four primitive colliders, so that it can work on rigidbody vehicles like tugboat with full physics interaction. Fixes thrown weapons no sticking to it
Fixed explosives on doors on tugboat damaging tugboat instead of door
Better staircase collision on Tugboat (for gunplay)
Adjusted a couple of corner colliders on tugboat
Fixed a thrown salvaged sword that sticks into the tugboat ceiling causing the tugboat to fly
Solved satchel charges sometimes attaching to invisible lights on the Tugboat
Greatly reduced the total amount of LODGroups on the Tugboat
Adjusted Tugboat LODs, cull from further away
Mark tugboat_a_interior_gibs as read/write
Increased the mass of some world models to more realistic values to improve physics interactions (particularly with Tugboat), and so we don't have stuff like duct tape and apples weighing more than shotguns and flamethrowers.
Tugboat, don't parent Debris layer stuff. It seems to work more reliably without parenting.
Fixed corrupted tugboat prefab
Edit to my inventory loadout only
Prevent any more deploying on tugboat after it reaches 0HP and enters 'corpse' state
Fixed tugboat being destroyed when loaded from a save
Allow timed explosives to attach to Tugboat
Revert accidental tugboat HP change
Added Prevent Building volume to base of tugboat, so you can't flip it over and start placing chairs on the bottom
Fixed dropped items falling through things. Only move to harvestable layer if the "dropped" item is stuck into something. Ignore if it's free rolling.
Increased Tugboat corpse time from 5 minutes (boat_corpse_seconds convar) to two hours. New convar: tugboat_corpse_seconds
Made the screens flicker and take a little while to come up completely when the engine starts up
Tugboat instrument panel emission now turns off when boat engine is off