SuperMarioOdysseyOnline/include/al/camera/alCameraPoserFunction.h
2022-06-16 14:33:18 -07:00

228 lines
No EOL
14 KiB
C++

#pragma once
#include "CameraPoser.h"
#include "al/actor/Placement.h"
#include "sead/math/seadVector.h"
namespace alCameraPoserFunction {
struct CameraCollisionHitResult;
void initCameraArrowCollider(al::CameraPoser *);
void calcCameraPose(sead::Quat<float> *,al::CameraPoser const*);
void calcLookDir(sead::Vector3<float> *,al::CameraPoser const*);
void calcCameraDir(sead::Vector3<float> *,al::CameraPoser const*);
void calcCameraDirH(sead::Vector3<float> *,al::CameraPoser const*);
void calcLookDirH(sead::Vector3<float> *,al::CameraPoser const*);
void calcSideDir(sead::Vector3<float> *,al::CameraPoser const*);
void calcPreCameraDir(sead::Vector3<float> *,al::CameraPoser const*);
void calcPreCameraDirH(sead::Vector3<float> *,al::CameraPoser const*);
void calcPreLookDir(sead::Vector3<float> *,al::CameraPoser const*);
void calcPreLookDirH(sead::Vector3<float> *,al::CameraPoser const*);
float calcPreCameraAngleH(al::CameraPoser const*);
float calcPreCameraAngleV(al::CameraPoser const*);
void setLookAtPosToTarget(al::CameraPoser *);
void calcTargetTrans(sead::Vector3<float> *,al::CameraPoser const*);
void setLookAtPosToTargetAddOffset(al::CameraPoser *,sead::Vector3<float> const&);
void setCameraPosToTarget(al::CameraPoser *);
void setCameraPosToTargetAddOffset(al::CameraPoser *,sead::Vector3<float> const&);
void calcTargetTransWithOffset(sead::Vector3<float> *,al::CameraPoser const*);
void calcTargetVelocity(sead::Vector3<float> *,al::CameraPoser const*);
void calcTargetVelocityH(sead::Vector3<float> *,al::CameraPoser const*);
void calcTargetUp(sead::Vector3<float> *,al::CameraPoser const*);
void calcTargetSpeedV(al::CameraPoser const*);
void calcTargetPose(sead::Quat<float> *,al::CameraPoser const*);
void calcTargetFront(sead::Vector3<float> *,al::CameraPoser const*);
void calcTargetSide(sead::Vector3<float> *,al::CameraPoser const*);
void calcTargetGravity(sead::Vector3<float> *,al::CameraPoser const*);
void calcTargetSpeedH(al::CameraPoser const*);
void calcTargetJumpSpeed(al::CameraPoser const*);
void calcTargetFallSpeed(al::CameraPoser const*);
void tryGetTargetRequestDistance(float *,al::CameraPoser const*);
void tryGetBossDistanceCurve(al::CameraPoser const*);
void tryGetEquipmentDistanceCurve(al::CameraPoser const*);
void tryCalcSlopeCollisionDownFrontDirH(sead::Vector3<float> *,al::CameraPoser const*);
void checkValidTurnToSubTarget(al::CameraPoser const*);
void calcSubTargetBack(sead::Vector3<float> *,al::CameraPoser const*);
void calcSubTargetTrans(sead::Vector3<float> *,al::CameraPoser const*);
void calcSubTargetFront(sead::Vector3<float> *,al::CameraPoser const*);
void tryCalcSubTargetTurnBrakeDistanceRate(float *,al::CameraPoser const*);
void clampAngleSubTargetTurnRangeV(float *,al::CameraPoser const*);
void initCameraVerticalAbsorber(al::CameraPoser *);
void initCameraVerticalAbsorberNoCameraPosAbsorb(al::CameraPoser *);
void liberateVerticalAbsorb(al::CameraPoser *);
void stopUpdateVerticalAbsorb(al::CameraPoser *);
void stopUpdateVerticalAbsorbForSnapShotMode(al::CameraPoser *,sead::Vector3<float> const&);
void restartUpdateVerticalAbsorb(al::CameraPoser *);
void validateVerticalAbsorbKeepInFrame(al::CameraPoser *);
void invalidateVerticalAbsorbKeepInFrame(al::CameraPoser *);
void setVerticalAbsorbKeepInFrameScreenOffsetUp(al::CameraPoser *,float);
void setVerticalAbsorbKeepInFrameScreenOffsetDown(al::CameraPoser *,float);
void initCameraArrowCollider(al::CameraPoser *);
void initCameraArrowColliderWithoutThroughPassCollision(al::CameraPoser *);
void initCameraMoveLimit(al::CameraPoser *);
void initCameraAngleCtrl(al::CameraPoser *);
void initCameraAngleCtrlWithRelativeH(al::CameraPoser *);
void initCameraDefaultAngleRangeV(al::CameraPoser *,float,float);
void setCameraStartAngleV(al::CameraPoser *,float);
void setCameraAngleV(al::CameraPoser *,float);
void initAngleSwing(al::CameraPoser *);
void initCameraOffsetCtrlPreset(al::CameraPoser *);
void initGyroCameraCtrl(al::CameraPoser *);
void resetGyro(al::CameraPoser *);
void calcCameraGyroPose(al::CameraPoser const*,sead::Vector3<float> *,sead::Vector3<float> *,sead::Vector3<float> *);
void setGyroLimitAngleV(al::CameraPoser *,float,float);
void setGyroSensitivity(al::CameraPoser *,float,float);
void reduceGyroSencitivity(al::CameraPoser *);
void stopUpdateGyro(al::CameraPoser *);
void restartUpdateGyro(al::CameraPoser *);
void initSnapShotCameraCtrl(al::CameraPoser *);
void initSnapShotCameraCtrlZoomAutoReset(al::CameraPoser *);
void initSnapShotCameraCtrlZoomRollMove(al::CameraPoser *);
void validateSnapShotCameraLookAtOffset(al::CameraPoser *);
void validateSnapShotCameraZoomFovy(al::CameraPoser *);
void validateSnapShotCameraRoll(al::CameraPoser *);
void updateSnapShotCameraCtrl(al::CameraPoser *);
void startResetSnapShotCameraCtrl(al::CameraPoser *,int);
void setSnapShotMaxZoomOutFovyDegree(al::CameraPoser *,float);
void onVerticalAbsorb(al::CameraPoser *);
void offVerticalAbsorb(al::CameraPoser *);
void invalidateCameraBlur(al::CameraPoser *);
void validateCollider(al::CameraPoser *);
void invalidateCollider(al::CameraPoser *);
void validateCtrlSubjective(al::CameraPoser *);
void invalidateChangeSubjective(al::CameraPoser *);
void invalidateKeepDistanceNextCamera(al::CameraPoser *);
void invalidateKeepDistanceNextCameraIfNoCollide(al::CameraPoser *);
void invalidatePreCameraEndAfterInterpole(al::CameraPoser *);
void checkFirstCameraCollisionArrow(sead::Vector3<float> *,sead::Vector3<float> *,al::IUseCollision const*,sead::Vector3<float> const&,sead::Vector3<float> const&);
void checkFirstCameraCollisionArrow(alCameraPoserFunction::CameraCollisionHitResult *,al::IUseCollision const*,sead::Vector3<float> const&,sead::Vector3<float> const&);
void checkFirstCameraCollisionArrowOnlyCeiling(sead::Vector3<float> *,sead::Vector3<float> *,al::IUseCollision const*,sead::Vector3<float> const&,sead::Vector3<float> const&);
void checkCameraCollisionMoveSphere(sead::Vector3<float> *,al::IUseCollision const*,sead::Vector3<float> const&,sead::Vector3<float> const&,float);
void calcZoneRotateAngleH(float,al::CameraPoser const*);
void calcZoneRotateAngleH(float,sead::Matrix34<float> const&);
void calcZoneInvRotateAngleH(float,sead::Matrix34<float> const&);
void multVecZone(sead::Vector3<float> *,sead::Vector3<float> const&,al::CameraPoser const*);
void multVecInvZone(sead::Vector3<float> *,sead::Vector3<float> const&,al::CameraPoser const*);
void rotateVecZone(sead::Vector3<float> *,sead::Vector3<float> const&,al::CameraPoser const*);
void calcOffsetCameraKeepInFrameV(sead::Vector3<float> *,sead::LookAtCamera *,sead::Vector3<float> const&,al::CameraPoser const*,float,float);
void makeCameraKeepInFrameV(sead::LookAtCamera *,sead::Vector3<float> const&,al::CameraPoser const*,float,float);
void initCameraRail(al::CameraPoser *,al::PlacementInfo const&,char const*);
void tryGetCameraRailArg(float *,al::PlacementInfo const&,char const*,char const*);
void tryFindNearestLimitRailKeeper(al::CameraPoser const*,sead::Vector3<float> const&);
void calcCameraRotateStick(sead::Vector2<float> *,al::CameraPoser const*);
float calcCameraRotateStickH(al::CameraPoser const*);
float calcCameraRotateStickV(al::CameraPoser const*);
float calcCameraRotateStickPower(al::CameraPoser const*);
void tryCalcCameraSnapShotMoveStick(sead::Vector2<float>*, al::CameraPoser const*);
void getViewIndex(al::CameraPoser const*);
sead::LookAtCamera* getLookAtCamera(al::CameraPoser const*);
void getProjectionSead(al::CameraPoser const*);
void getProjection(al::CameraPoser const*);
void getProjectionMtx(al::CameraPoser const*);
void getNear(al::CameraPoser const*);
void getFar(al::CameraPoser const*);
void getAspect(al::CameraPoser const*);
void getPreCameraPos(al::CameraPoser const*);
sead::Vector3f *getPreLookAtPos(al::CameraPoser const*);
void getPreUpDir(al::CameraPoser const*);
void getPreFovyDegree(al::CameraPoser const*);
void getPreFovyRadian(al::CameraPoser const*);
void getPreCameraSwingAngleH(al::CameraStartInfo const&);
void getPreCameraSwingAngleV(al::CameraStartInfo const&);
void getPreCameraMaxSwingAngleH(al::CameraStartInfo const&);
void getPreCameraMaxSwingAngleV(al::CameraStartInfo const&);
void getAreaAngleH(al::CameraStartInfo const&);
void getAreaAngleV(al::CameraStartInfo const&);
void getNextAngleHByPreCamera(al::CameraStartInfo const&);
void getNextAngleVByPreCamera(al::CameraStartInfo const&);
void getUnderTargetCollisionPos(al::CameraPoser const*);
void getUnderTargetCollisionNormal(al::CameraPoser const*);
void getSlopeCollisionUpSpeed(al::CameraPoser const*);
void getSlopeCollisionDownSpeed(al::CameraPoser const*);
void getSubTargetRequestDistance(al::CameraPoser const*);
void getSubTargetTurnSpeedRate1(al::CameraPoser const*);
void getSubTargetTurnSpeedRate2(al::CameraPoser const*);
void getSubTargetTurnRestartStep(al::CameraPoser const*);
void getCameraVerticalAbsorbPosUp(al::CameraPoser const*);
void getCameraVerticalAbsorbPosDown(al::CameraPoser const*);
float getCameraAngleH(al::CameraPoser const*);
float getCameraAngleV(al::CameraPoser const*);
float getOffset(al::CameraPoser const*);
void getGyroFront(al::CameraPoser *);
float getGyroAngleV(al::CameraPoser *);
float getGyroAngleH(al::CameraPoser *);
void getSnapShotRollDegree(al::CameraPoser const*);
void getSnapShotLookAtOffset(al::CameraPoser const*);
void getRequestTargetAngleV(al::CameraObjectRequestInfo const&);
float getRequestAngleSpeed(al::CameraObjectRequestInfo const&);
float getRequestAngleV(al::CameraObjectRequestInfo const&);
void getCameraRailPointObjId(al::CameraPoser const*,int);
float getStickSensitivityLevel(al::CameraPoser const*);
float getStickSensitivityScale(al::CameraPoser const*);
void getGyroSensitivityLevel(al::CameraPoser const*);
void getGyroSensitivityScale(al::CameraPoser const*);
bool isPrePriorityDemo(al::CameraStartInfo const&);
bool isPrePriorityDemo2(al::CameraStartInfo const&);
bool isPrePriorityDemoTalk(al::CameraStartInfo const&);
bool isPrePriorityDemoAll(al::CameraStartInfo const&);
bool isPrePriorityEntranceAll(al::CameraStartInfo const&);
bool isPrePriorityPlayer(al::CameraStartInfo const&);
bool isEqualPreCameraName(al::CameraStartInfo const&,char const*);
bool isPreCameraFixAbsolute(al::CameraStartInfo const&);
bool isInvalidCollidePreCamera(al::CameraStartInfo const&);
bool isInvalidKeepPreCameraDistance(al::CameraStartInfo const&);
bool isInvalidKeepPreCameraDistanceIfNoCollide(al::CameraStartInfo const&);
bool isValidResetPreCameraPose(al::CameraStartInfo const&);
bool isValidKeepPreSelfCameraPose(al::CameraStartInfo const&);
bool isExistAreaAngleH(al::CameraStartInfo const&);
bool isExistAreaAngleV(al::CameraStartInfo const&);
bool isExistNextPoseByPreCamera(al::CameraStartInfo const&);
bool isChangeTarget(al::CameraPoser const*);
bool isExistCollisionUnderTarget(al::CameraPoser const*);
bool isExistSlopeCollisionUnderTarget(al::CameraPoser const*);
bool isExistWallCollisionUnderTarget(al::CameraPoser const*);
bool isExistSubTarget(al::CameraPoser const*);
bool isChangeSubTarget(al::CameraPoser const*);
bool isValidSubTargetTurnV(al::CameraPoser const*);
bool isValidSubTargetResetAfterTurnV(al::CameraPoser const*);
bool isValidAngleSwing(al::CameraPoser const*);
bool isStopUpdateGyro(al::CameraPoser const*);
bool isTargetCollideGround(al::CameraPoser const*);
bool isTargetInWater(al::CameraPoser const*);
bool isTargetInMoonGravity(al::CameraPoser const*);
bool isTargetClimbPole(al::CameraPoser const*);
bool isTargetGrabCeil(al::CameraPoser const*);
bool isTargetInvalidMoveByInput(al::CameraPoser const*);
bool isTargetEnableEndAfterInterpole(al::CameraPoser const*);
bool isTargetWallCatch(al::CameraPoser const*);
bool isSnapShotMode(al::CameraPoser const*);
bool isOffVerticalAbsorb(al::CameraPoser const*);
bool isRequestStopVerticalAbsorb(al::CameraObjectRequestInfo const&);
bool isRequestResetPosition(al::CameraObjectRequestInfo const&);
bool isRequestResetAngleV(al::CameraObjectRequestInfo const&);
bool isRequestDownToDefaultAngleBySpeed(al::CameraObjectRequestInfo const&);
bool isRequestUpToTargetAngleBySpeed(al::CameraObjectRequestInfo const&);
bool isRequestMoveDownAngleV(al::CameraObjectRequestInfo const&);
bool isRequestSetAngleV(al::CameraObjectRequestInfo const&);
bool isInvalidCollider(al::CameraPoser const*);
bool isInvalidPreCameraEndAfterInterpole(al::CameraPoser const*);
bool isSceneCameraFirstCalc(al::CameraPoser const*);
bool isActiveInterpole(al::CameraPoser const*);
bool isInvalidEndEntranceCamera(al::CameraPoser const*);
bool isPause(al::CameraPoser const*);
bool isValidGyro(al::CameraPoser const*);
bool isTriggerCameraResetRotate(al::CameraPoser const*);
bool isHoldCameraZoom(al::CameraPoser const*);
bool isHoldCameraSnapShotZoomIn(al::CameraPoser const*);
bool isHoldCameraSnapShotZoomOut(al::CameraPoser const*);
bool isHoldCameraSnapShotRollLeft(al::CameraPoser const*);
bool isHoldCameraSnapShotRollRight(al::CameraPoser const*);
bool isPlayerTypeFlyer(al::CameraPoser const*);
bool isPlayerTypeHighSpeedMove(al::CameraPoser const*);
bool isPlayerTypeHighJump(al::CameraPoser const*);
bool isPlayerTypeNotTouchGround(al::CameraPoser const*);
bool isOnRideObj(al::CameraPoser const*);
}