branchrust_reboot/main/Submarinecancel
475 Commits over 122 Days - 0.16cph!
Underwater lab procedural generation progress
Underwater lab conditionals prefab tweaks
Fixed WaterOverlay NRE on maps without water
Underwater lab conditionals prefab updates
Underwater lab autospawn prefabs
Unterwater lab prefab updates (socket adjustments)
Underwater lab test scene
Underwater lab generation baseline / proof of concept
created some demo layouts of the underwater labs
Code review: Fix comment wording
Detail greybox models for underwater labs
- Use plane collision instead of world for water bubble FX.
- Removed manual culling for bubbles, instead keeping a plane at the water's surface for collision culling instead.
- Instead of needing world collision to cull the bubbles inside the sub when in the sub is moving reverse, just don't show bubbles FX at all for players who are mounted to the sub.
Add collision damage and collision particle effect for submarines
Fix reversed IsSwimming check
Increase flip torque on the kayak since I can't flip it with the value it had
Tidying up push code.
- Added a standard push procedure to BaseVehicle (previously the method was blank), unifying a base push that can be overridden if desired for different vehicle types, but kept if a "standard" push is okay. Handles pushing in any direction and flipping over. Currently used for modular cars and submarines.
- MiniCopter, Kayak, and MotorRowboat keep their custom pushes.
- Moved the rigidbody wake and metabolism subtraction on push to BaseVehicle, since it's the same for all pushes, even the custom ones. Boat and kayak pushes subtracted two calories instead of 3 like the others. Rather than add yet another parameter, standardised them all to 3.
- Moved push validity checks in MotorRowboat and Kayak out of DoPushAction and into CanPushNow.
Added pushing to submarines. Allow pushing in shallow water as long as the player isn't actually swimming
Parent trigger for the solo sub. Note: I wanted parent triggers on the two side fins also, but they shove the player underwater if they approach from the side (making it impossible to get up on them), so I've left them off.
Parent triggers for stable standing on the duo sub
Climb/dive adjustment. Don't start/stop so abruptly.
Cleanup & organization.
Nixed soft camera frustum blend on that smoke mat.
Added a doorway condition piece for tubes between modules
Added dungeon and environment / water volumes to the modules
Basic UVs for scale
Adding greybox models and prefabs for underwater labs procedural modules and conditionals
Pre-placed sockets for condtional meshes and links between modules
Fix for the quick blip of dive/climb sound when engine starts
Submarine audio code improvement. Add dive/climb audio loop.
██▆▋▉▌▋ ▄▋▉▍▄▋▅▄ ▋▋▌ ▆▉▄▊▊▆▄█ ▍▍█ ▄▊▊▇▄▉▅. (▇▄▉▌▊███▋ ██▊▇ ▉▌▍▋ ▍▍▋▌▍▋▅▍▌.)
Pitch adjustment for prop speed changes
Fix some issues with engine start attempts on several vehicles
Initial submarine audio system setup
Removed unused engineStartFailSound parameter on WorkCart
▇▄ ▋█▆▍▉ ▉▊▇▉▉▉ ▅▉▅ ▆▇▊▍▊▉▇ ▉▉▇██
GetFuelFraction now works
Submarine mounting code. Only allow mounting via the top hatches (although it's pretty lenient).
Merge VehicleExplosionForces->Submarine
Subs move a bit when damaged with explosives (like modular cars do)
Exclude some more mountable parameters from the BaseVehicle inspector
Merge Main->Submarine. Also fixed "salt water" ui appearing + don't allow player to drink the sea water while mounted in a submarine.
Landing effects can show when mounting something from the water due to the following scenario:
- Player is moved to the new mounted position via a ForcePositionTo RPC from the server.
- ClientInput sees that they're now grounded and changes IsGrounded to true.
- FootstepEffects' Update tick sees the grounded change and plays DoLandingEffect().
- Separately, Client gets a Load with the updated mount data and sets isMounted to true, too late to stop the landing effect.
ForcePositionTo is called after SendNetworkUpdate on the server, but sometimes arrives before.
I couldn't work out an elegant fix for this. Instead I've added a RecentlyTeleported bool that goes true for one second after teleporting, and set FootstepEffects to not show a landing effect if RecentlyTeleported is true, which covers the gap between being teleported and being mounted.
Don't show landing effect if player is mounted. Fixes water splash effect sometimes showing when mounting a submarine
Simplify climb/dive further
Improve sub climb/dive movement, remove the jerkiness