OdysseyDecomp/lib/al/include/Library/Shadow/DepthShadowMapCtrl.h
MonsterDruide1 69d81ebd91
Custom format validation (Linting) (#17)
* Add script to verify formatting
* Add newline to end of files
* Add `#pragma once` to top of headers
* Add own header to includes at top of source files
* Remove useless namespace qualifiers
* Sort visibility modifiers correctly
* Format `#include`s in three blocks
* Remove `;` after namespaces
* Add for custom style checking to `lint`-GitHub-Action
* Format: No "// 0x" offset comments
* Remove macros from padding
2024-01-07 00:33:09 +01:00

48 lines
1.5 KiB
C++

#pragma once
#include <container/seadPtrArray.h>
#include <math/seadVector.h>
namespace al {
class Resource;
class ByamlIter;
class GraphicsSystemInfo;
class LiveActor;
class DepthShadowMapInfo;
class ModelDrawerDepthShadowMap;
class ModelDrawerMask;
class DepthShadowMapCtrl {
public:
DepthShadowMapCtrl(const Resource* resource);
~DepthShadowMapCtrl();
void actorModelDrawDepth();
void actorModelDrawMask();
void appendDepthShadowMapInfo(const char*, s32, s32, s32, f32, bool, const sead::Vector3f&,
bool, const sead::Vector3f&, const sead::Vector3f&, bool,
const char*, s32, bool, f32, f32, f32, bool, bool, f32, s32, bool,
bool, f32);
DepthShadowMapInfo* getDepthShadowMapInfo(s32 index);
u32 getDepthShadowMapNum();
void hide();
void init(LiveActor* actor, const ByamlIter& iter);
void initAfterPlacement(GraphicsSystemInfo* graphicsSystemInfo);
void initWithoutIter(LiveActor* actor, s32);
void show();
DepthShadowMapInfo* tryFindDepthShadowMapInfo(const char*);
void update();
void updateShapeVisible(const LiveActor* actor);
private:
LiveActor* mLiveActor;
sead::Vector3f lightDir;
bool mIsAppendSubActor;
sead::PtrArray<DepthShadowMapInfo> mDepthShadowMaps;
sead::PtrArray<ModelDrawerDepthShadowMap> mModelDrawerDepthShadowMaps;
sead::PtrArray<ModelDrawerMask> mModelDrawerMasks;
};
} // namespace al