All Rust commits from Facepunch
Made sails easier to interact with.
Added IsBoatFullyContained check, called in CanEnterEditMode. Ensures all boat pieces are within the boat building area before entering edit mode, to prevent half editable boats.
Refactor EditAreaAvailable() to CanEnterEditMode() ahead of some changes
Further basic cannon functionality for prototype/playtest purposes: Add basic hold-to-reload radial menu behaviour to cannons. 4 second reload duration. Doesn't require any actualy ammo to reload, to make it easy to test gameplay.
Resolve merge UI conflict
Merge from parent (with UI conflict)
UI prefab update before fixing merge conflicts
Merge from parent
Updated test save with a couple of larger built boats, including cannons.
Very placeholder initial cannon firing
Compile fix
Anchoring a boat delays the long-range drifting to shore mechanic. Raising anchor clears the delay. Added PlayerBoat.AnchoredDriftDelaySeconds convar, initially set to 6 hours.
Added support for delaying drifting to BaseBoat.
PlayerBoat drifting now works, debug print drift status. Drift collider hit status message now includes hit transform's parent name too to make it easier to identify what's being hit.
Refactor SetDimensions, now also sets parent trigger size and is also called after a load. Disable individual hull parent triggers for now.
Re-enable the BaseMountable visibility and dismount position checks I initially disabled now that things are setup properly.
Merge from parent
Added oriented dimensions calculation, used to auto set PlayerBoat entity bounds during boat creation. Added DebugDrawDimensions.
Bounds fix
hull_triangle parent trigger & vehicle world collider.
Remove parent trigger from PlayerBoat. Add parent triggers to hull_square and hull_corner. Add missing vehicle world collidesr to hull_corner
Fixed some IsOn logic. Refactored MotorRowboat engineOnEligable bool calculation to a virtual function, override for PlayerBoat. MotorRowboat drag multiplier now has an engineOffWaterDragMultiplier. Tweak some PlayerBoat drag values for less abrupt stopping. Added a pre-made boat at a pre-placed Boat Building Station in test save.
Merge from parent
Refactor child entity handling interface calls. Call them on server load.
More load fixes, including speed + mass
Correctly restore thrust point after a load
Added IAnchorable, implemented for PlayerBoat. Toggle buoyancy flow force on/off with anhor raise/lower. Checks all anchors incase there's multiple.
Buoyancy flow force can be disabled per instance.
Add Lowered property for anchor. Raise/lower radial interactions. Basic cancelling out of thrust when anchored.
Anchor prefab/script setup. Manifest.
Anchor boiler
Merge from parent
Convars for aboard player and auto close sails checks.
Bunch of thrust position calculation improvements. Makes turning much more reliable on a bigger variet of boats for now.
Thrust position calculation fix
WIP Automatic thrust point calculation based on hull blocks
Tag hull pieces
Track how long since a boat has had a player aboard. Auto close sails after ~30 seconds of having no players aboard.
Implement AnyPlayersOnBoat
EngineOn now checks for open sails and thrust
Sail blocking tweaks
Fix some client/server domain issues with GetEntitiesInBuildArea
Merge from parent
Merge from parent
Cannon whitebox deployabke
Merge from deployable_cannon
Flip default anchor rotation so it's easier to place at edges
Initial setup of anchor as deployable.
Merge from manual_anchor
Added IBoatBuildingPiece inteface. Call IBoatBuildingPiece.OnAddedToBoat when pieces are parented. Moved steering wheel and sail init logic to this implementation.