1#include "Game/Map/OceanRing.hpp"
3void OceanRing::initAfterPlacement() {
4 for (s32 i = 0; i < mWaterPointNum; i++) {
5 mWaterPoints[i]->initAfterPlacement();
9bool OceanRing::isInWater(
const TVec3f &rVec)
const {
10 if (!mClippingBox.intersectsPoint(rVec)) {
15 f32 pos = calcNearestPos(rVec, &nearPos,
nullptr,
nullptr);
16 f32 w = (mWidthMax * calcCurrentWidthRate(pos));
18 if (PSVECDistance(nearPos.toCVec(), rVec.toCVec()) > w) {
22 TVec3f stack_14(rVec);
23 stack_14.subtract(nearPos);
25 MR::calcGravityVector(
this, rVec, &gravVec,
nullptr, 0);
26 return !(stack_14.dot(gravVec) < 0.0f);