mirror of
https://github.com/CraftyBoss/SuperMarioOdysseyOnline.git
synced 2024-11-25 04:35:17 +00:00
66 lines
No EOL
2.8 KiB
C++
66 lines
No EOL
2.8 KiB
C++
#pragma once
|
|
|
|
#include "CameraPoseUpdater.h"
|
|
#include "CameraPoserSceneInfo.h"
|
|
#include "al/camera/CameraPoser.h"
|
|
#include "al/camera/CameraTicket.h"
|
|
#include "al/hio/HioNode.h"
|
|
#include "al/execute/IUseExecutor.h"
|
|
|
|
namespace al {
|
|
|
|
class CameraResourceHolder;
|
|
class CameraRailHolder;
|
|
class CameraPoserFactory;
|
|
class PlayerHolder;
|
|
class ICameraInput;
|
|
class NameToCameraParamTransferFunc;
|
|
|
|
class CameraDirector : public al::HioNode, public al::IUseExecutor {
|
|
public:
|
|
|
|
void init(al::CameraPoserSceneInfo *,al::CameraPoserFactory const*);
|
|
al::CameraPoseUpdater *getPoseUpdater(int) const;
|
|
void endInit(al::PlayerHolder const*);
|
|
al::CameraTicket *createCameraFromFactory(char const *creatorName, al::PlacementId const*,char const*, int priority, sead::Matrix34f const&);
|
|
void createCamera(al::CameraPoser *,al::PlacementId const*,char const*,int,sead::Matrix34f const&,bool);
|
|
void execute(void) override;
|
|
void update(void);
|
|
void createObjectCamera(al::PlacementId const*,char const*,char const*,int,sead::Matrix34f const&);
|
|
void createObjectEntranceCamera(al::PlacementId const*,char const*,sead::Matrix34f const&);
|
|
void createMirrorObjectCamera(al::PlacementId const*,char const*,int,sead::Matrix34f const&);
|
|
void initAreaCameraSwitcherMultiForPrototype(al::AreaObjDirector *);
|
|
al::ICameraInput *getCameraInput(int);
|
|
void setCameraInput(al::ICameraInput const*);
|
|
void setViewCameraInput(al::ICameraInput const*,int);
|
|
void initAreaCameraSwitcherSingle(void);
|
|
void initResourceHolder(al::CameraResourceHolder const*);
|
|
void registerCameraRailHolder(al::CameraRailHolder *);
|
|
void initSceneFovyDegree(float);
|
|
void setCameraParamTransferFuncTable(al::NameToCameraParamTransferFunc const*,int);
|
|
void initSettingCloudSea(float);
|
|
void initSnapShotCameraAudioKeeper(al::IUseAudioKeeper *);
|
|
void initAndCreatePauseCameraCtrl(float);
|
|
float getSceneFovyDegree(void) const;
|
|
void validateCameraArea2D(void);
|
|
void invalidateCameraArea2D(void);
|
|
void stopByDeathPlayer(void);
|
|
void restartByDeathPlayer(void);
|
|
void startInvalidStopJudgeByDemo(void);
|
|
void endInvalidStopJudgeByDemo(void);
|
|
void startSnapShotMode(bool);
|
|
void endSnapShotMode(void);
|
|
|
|
unsigned char padding[0x20];
|
|
al::CameraPoserFactory *mFactory; // 0x28
|
|
al::CameraPoserSceneInfo *mSceneInfo; // 0x30
|
|
// 0xBC float farClipDistance
|
|
// 0xB8 float nearClipDistance
|
|
};
|
|
|
|
class IUseCamera
|
|
{
|
|
public:
|
|
virtual al::CameraDirector* getCameraDirector() const = 0;
|
|
};
|
|
}; |