1#pragma once
2
3#include <basis/seadTypes.h>
4#include <math/seadVector.h>
5
6namespace al {
7struct ActorInitInfo;
8class LiveActor;
9} // namespace al
10
11class WaterSurfaceShadow;
12
13namespace rs {
14
15f32 setShadowDropLength(al::LiveActor*, const al::ActorInitInfo&, const char*);
16f32 calcShadowDropClippingCenter(sead::Vector3f*, const al::LiveActor*, f32, f32);
17void setShadowDropOffset(al::LiveActor*, const char*, f32);
18WaterSurfaceShadow* tryCreateWaterSurfaceShadow(const al::ActorInitInfo&, const char*);
19WaterSurfaceShadow* tryCreateWaterSurfaceCoinShadow(const al::ActorInitInfo&);
20void tryUpdateWaterSurfaceCoinShadow(WaterSurfaceShadow*, al::LiveActor*, f32);
21void initHackShadow(al::LiveActor*);
22void setupHackShadow(al::LiveActor*);
23void endHackShadow(al::LiveActor*);
24
25} // namespace rs
26