OdysseyDecomp/lib/al/Library/Fluid/RippleCtrl.h
Narr the Reg b30105638f
Some checks are pending
Compile and verify functions / compile_verify (push) Waiting to run
Copy headers to separate repo / copy_headers (push) Waiting to run
decomp-dev / publish_progress_decomp_dev (1.0) (push) Waiting to run
lint / clang-format (push) Waiting to run
lint / custom-lint (push) Waiting to run
Check and verify that setup works on NixOS / nixos_verify (push) Waiting to run
progress / publish_progress (push) Waiting to run
testcompile / test_compile (push) Waiting to run
Trigger full-sync on the tracker repo on push / api-trigger-workflow (push) Waiting to run
all: Fix headers (#1091)
2026-04-23 10:42:13 +02:00

42 lines
1.4 KiB
C++

#pragma once
#include <math/seadQuat.h>
#include "Library/Fluid/IUseFluidSurface.h"
#include "Library/HostIO/HioNode.h"
namespace al {
class LiveActor;
struct ActorInitInfo;
// TODO: Finish this
class RippleCtrl : public IUseFluidSurface, public HioNode {
public:
RippleCtrl(LiveActor* parent);
static RippleCtrl* tryCreate(LiveActor* parent);
void init(const ActorInitInfo& info);
void calcPosQuat(sead::Quatf* quat) const;
void calcOffsetedTrans(sead::Vector3f* trans) const;
void tryCreateFlowMap();
void initAfterPlacement();
void update();
bool calcIsInArea(const sead::Vector3f&) const override;
bool isCollide(s32, s32) const;
void calcPos(sead::Vector3f*, const sead::Vector3f&) const override;
const sead::Vector3f& getCollidePos(s32, s32) const;
void calcNormal(sead::Vector3f*, const sead::Vector3f&) const override;
bool tryAddRipple(const sead::Vector3f&, f32, f32) override;
bool tryAddRippleWithRange(const sead::Vector3f&, f32, f32, f32, f32) override;
bool tryAddQuadRipple(const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&,
const sead::Vector3f&, f32) override;
void setFieldScale(f32) override;
const char* getTypeName() const override;
void forceResetCount();
private:
unsigned char padding[0x128 - sizeof(IUseFluidSurface)];
};
} // namespace al