mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-30 20:44:54 +00:00
206 lines
12 KiB
C++
206 lines
12 KiB
C++
#pragma once
|
|
|
|
#include <gfx/seadColor.h>
|
|
#include <math/seadBoundBox.h>
|
|
#include <math/seadMatrix.h>
|
|
#include <math/seadQuat.h>
|
|
#include <nn/g3d/ResFile.h>
|
|
#include <nn/gfx/gfx_DescriptorSlot.h>
|
|
|
|
namespace agl {
|
|
class UniformBlock;
|
|
}
|
|
namespace nn::gfx {
|
|
class ResTexture;
|
|
}
|
|
|
|
namespace al {
|
|
class LayoutTextureRenderObj;
|
|
class LiveActor;
|
|
class ClippingDirector;
|
|
|
|
void updateMaterialCodeGround(LiveActor* actor, const char*);
|
|
void updateMaterialCodeAll(LiveActor* actor);
|
|
void updateMaterialCodeArea(LiveActor* actor);
|
|
void updateMaterialCodeWet(LiveActor* actor, bool);
|
|
void updateMaterialCodeWater(LiveActor* actor);
|
|
void updateMaterialCodeWater(LiveActor* actor, bool);
|
|
void updateMaterialCodePuddle(LiveActor* actor);
|
|
void updateMaterialCodePuddle(LiveActor* actor, bool);
|
|
void resetMaterialCode(LiveActor* actor);
|
|
void showModel(LiveActor* actor);
|
|
void showModelIfHide(LiveActor* actor);
|
|
bool isHideModel(const LiveActor* actor);
|
|
void hideModel(LiveActor* actor);
|
|
void hideModelIfShow(LiveActor* actor);
|
|
bool isExistModel(const LiveActor* actor);
|
|
void switchShowHideModelIfNearCamera(LiveActor* actor, f32);
|
|
void blinkModel(LiveActor* actor, s32, s32, s32);
|
|
void calcViewModelSystem(LiveActor* actor);
|
|
void calcViewModel(LiveActor* actor);
|
|
void showSilhouetteModel(LiveActor* actor);
|
|
void hideSilhouetteModel(LiveActor* actor);
|
|
bool isSilhouetteModelHidden(const LiveActor* actor);
|
|
void showSilhouetteModelIfHide(LiveActor* actor);
|
|
void hideSilhouetteModelIfShow(LiveActor* actor);
|
|
void setModelAlphaMask(LiveActor* actor, f32);
|
|
void getModelAlphaMask(const LiveActor* actor);
|
|
bool isModelAlphaMask(const LiveActor* actor);
|
|
void updateModelAlphaMaskCameraDistance(LiveActor* actor, f32, f32, f32, f32);
|
|
bool isExistZPrePass(const LiveActor* actor);
|
|
bool isEnableZPrePass(const LiveActor* actor);
|
|
void validateZPrePass(LiveActor* actor);
|
|
void invalidateZPrePass(LiveActor* actor);
|
|
void invalidateOcclusionQuery(LiveActor* actor);
|
|
void validateOcclusionQuery(LiveActor* actor);
|
|
bool isValidOcclusionQuery(const LiveActor* actor);
|
|
void setFixedModelFlag(LiveActor* actor);
|
|
void tryInitFixedModelGpuBuffer(LiveActor* actor);
|
|
void setIgnoreUpdateDrawClipping(LiveActor* actor, bool value);
|
|
void setNeedSetBaseMtxAndCalcAnimFlag(LiveActor* actor, bool value);
|
|
bool isViewDependentModel(const LiveActor* actor);
|
|
bool isNeedUpdateModel(const LiveActor* actor);
|
|
void setEnvTextureMirror(LiveActor* actor, s32);
|
|
void setEnvTextureProc3D(LiveActor* actor, s32);
|
|
void forceApplyCubeMap(LiveActor* actor, const char* cubeMapName);
|
|
void setMaterialProgrammable(LiveActor* actor);
|
|
bool isIncludePrepassCullingShape(LiveActor* actor);
|
|
void isExistJoint(const LiveActor* actor, const char*);
|
|
void getJointIndex(const LiveActor* actor, const char*);
|
|
sead::Matrix34f* getJointMtxPtr(const LiveActor* actor, const char*); // return type might be const
|
|
void getJointMtxPtrByIndex(const LiveActor* actor, s32);
|
|
void getJointLocalTrans(sead::Vector3f*, const LiveActor* actor, const char*);
|
|
void calcJointPos(sead::Vector3f*, const LiveActor* actor, const char*);
|
|
void calcJointOffsetPos(sead::Vector3f*, const LiveActor* actor, const char*,
|
|
const sead::Vector3f&);
|
|
void calcJointPosByIndex(sead::Vector3f*, const LiveActor* actor, s32);
|
|
void calcJointSideDir(sead::Vector3f*, const LiveActor* actor, const char*);
|
|
void calcJointUpDir(sead::Vector3f*, const LiveActor* actor, const char*);
|
|
void calcJointFrontDir(sead::Vector3f*, const LiveActor* actor, const char*);
|
|
void calcJointScale(sead::Vector3f*, const LiveActor* actor, const char*);
|
|
void calcJointQuat(sead::Quatf*, const LiveActor* actor, const char*);
|
|
void multVecJointMtx(sead::Vector3f*, const sead::Vector3f&, const LiveActor* actor, const char*);
|
|
void multVecJointInvMtx(sead::Vector3f*, const sead::Vector3f&, const LiveActor* actor,
|
|
const char*);
|
|
void multMtxJointInvMtx(sead::Matrix34f*, const sead::Matrix34f&, const LiveActor* actor,
|
|
const char*);
|
|
void setJointVisibility(LiveActor* actor, const char*, bool);
|
|
void isJointVisibility(const LiveActor* actor, const char*);
|
|
void isFaceJointXDirDegreeYZ(const LiveActor* actor, const char*, const sead::Vector3f&, f32,
|
|
f32);
|
|
void isFaceJointYDirDegreeZX(const LiveActor* actor, const char*, const sead::Vector3f&, f32,
|
|
f32);
|
|
void isFaceJointZDirDegreeXY(const LiveActor* actor, const char*, const sead::Vector3f&, f32,
|
|
f32);
|
|
void calcJointAngleXDirToTargetOnYDir(const LiveActor* actor, const char*, const sead::Vector3f&);
|
|
void calcJointAngleXDirToTargetOnZDir(const LiveActor* actor, const char*, const sead::Vector3f&);
|
|
void calcJointAngleYDirToTargetOnXDir(const LiveActor* actor, const char*, const sead::Vector3f&);
|
|
void calcJointAngleYDirToTargetOnZDir(const LiveActor* actor, const char*, const sead::Vector3f&);
|
|
void calcJointAngleZDirToTargetOnXDir(const LiveActor* actor, const char*, const sead::Vector3f&);
|
|
void calcJointAngleZDirToTargetOnYDir(const LiveActor* actor, const char*, const sead::Vector3f&);
|
|
void getMaterialName(const LiveActor* actor, s32);
|
|
void getMaterialCount(const LiveActor* actor);
|
|
void isExistMaterial(const LiveActor* actor, const char*);
|
|
void getMaterialObj(const LiveActor* actor, s32);
|
|
void getMaterialObj(const LiveActor* actor, const char*);
|
|
void getMaterialIndex(const LiveActor* actor, const char*);
|
|
void isExistMaterialTexture(const LiveActor* actor, const char*, const char*);
|
|
void getMaterialCategory(const LiveActor* actor, s32);
|
|
void tryGetMaterialCategory(const LiveActor* actor, s32);
|
|
void isOnlyMaterialCategoryObject(const LiveActor* actor);
|
|
void showMaterial(LiveActor* actor, const char*);
|
|
void hideMaterial(LiveActor* actor, const char*);
|
|
void showMaterial(LiveActor* actor, s32);
|
|
void hideMaterial(LiveActor* actor, s32);
|
|
void showMaterialAll(LiveActor* actor);
|
|
void tryShowMaterial(LiveActor* actor, s32);
|
|
void tryHideMaterial(LiveActor* actor, s32);
|
|
void tryShowMaterialAll(LiveActor* actor);
|
|
void setModelMaterialParameterF32(const LiveActor* actor, s32, const char*, f32);
|
|
void setModelMaterialParameterF32(const LiveActor* actor, const char*, const char*, f32);
|
|
void setModelMaterialParameterV2F(const LiveActor* actor, s32, const char*, const sead::Vector2f&);
|
|
void setModelMaterialParameterV2F(const LiveActor* actor, const char*, const char*,
|
|
const sead::Vector2f&);
|
|
void setModelMaterialParameterV3F(const LiveActor* actor, s32, const char*, const sead::Vector3f&);
|
|
void setModelMaterialParameterV3F(const LiveActor* actor, const char*, const char*,
|
|
const sead::Vector3f&);
|
|
void setModelMaterialParameterV4F(const LiveActor* actor, s32, const char*, const sead::Vector4f&);
|
|
void setModelMaterialParameterV4F(const LiveActor* actor, const char*, const char*,
|
|
const sead::Vector4f&);
|
|
void setModelMaterialParameterRgb(const LiveActor* actor, s32, const char*, const sead::Vector3f&);
|
|
void setModelMaterialParameterRgb(const LiveActor* actor, const char*, const char*,
|
|
const sead::Vector3f&);
|
|
void setModelMaterialParameterRgb(const LiveActor* actor, s32, const char*, const sead::Color4f&);
|
|
void setModelMaterialParameterRgb(const LiveActor* actor, const char*, const char*,
|
|
const sead::Color4f&);
|
|
void setModelMaterialParameterRgba(const LiveActor* actor, s32, const char*, const sead::Color4f&);
|
|
void setModelMaterialParameterRgba(const LiveActor* actor, const char*, const char*,
|
|
const sead::Color4f&);
|
|
void setModelMaterialParameterAlpha(const LiveActor* actor, s32, const char*, f32);
|
|
void setModelMaterialParameterAlpha(const LiveActor* actor, const char*, const char*, f32);
|
|
void setModelMaterialParameterTextureTrans(const LiveActor* actor, const char*, s32,
|
|
const sead::Vector2f&);
|
|
void getModelMaterialParameterDisplacementScale(const LiveActor* actor, const char*, s32);
|
|
void setModelMaterialParameterDisplacementScale(const LiveActor* actor, const char*, s32, f32);
|
|
void getModelUniformBlock(const LiveActor* actor, const char*);
|
|
void findModelUniformBlock(const LiveActor* actor, const char*);
|
|
void swapModelUniformBlock(agl::UniformBlock*);
|
|
void flushModelUniformBlock(agl::UniformBlock*);
|
|
void getModelDrawCategoryFromShaderAssign(bool*, bool*, bool*, bool*, const LiveActor* actor);
|
|
void trySetOcclusionQueryBox(LiveActor* actor, f32);
|
|
void trySetOcclusionQueryBox(LiveActor* actor, const sead::BoundBox3f&);
|
|
void trySetOcclusionQueryCenter(LiveActor* actor, const sead::Vector3f*);
|
|
void getModelName(const LiveActor* actor);
|
|
void isModelName(const LiveActor* actor, const char*);
|
|
void calcModelBoundingSphereRadius(const LiveActor* actor);
|
|
void getBoundingSphereCenterAndRadius(sead::Vector3f*, f32*, const LiveActor* actor);
|
|
void calcModelBoundingBox(sead::BoundBox3f*, const LiveActor* actor);
|
|
void calcModelBoundingBoxMtx(sead::Matrix34f*, const LiveActor* actor);
|
|
void submitViewModel(const LiveActor* actor, const sead::Matrix34f&);
|
|
void replaceMaterialTextureRef(LiveActor* actor, nn::g3d::TextureRef*, const char*, const char*);
|
|
void replaceMaterialResTexture(LiveActor* actor, nn::gfx::ResTexture*, const char*, const char*);
|
|
void replaceMaterialResTexture(LiveActor*, const char*, const char*, const nn::gfx::DescriptorSlot,
|
|
nn::gfx::TextureView*);
|
|
void replaceMaterialLayoutTexture(LiveActor* actor, const LayoutTextureRenderObj*, const char*,
|
|
const char*);
|
|
void recreateModelDisplayList(const LiveActor* actor);
|
|
void calcPolygonNum(const LiveActor* actor, s32);
|
|
void calcPolygonNumCurrentLod(const LiveActor* actor);
|
|
void calcPolygonNumCurrentLodWithoutVisAnim(const LiveActor* actor);
|
|
void getLodLevel(const LiveActor* actor);
|
|
void getMaterialLodLevel(const LiveActor* actor);
|
|
void getLodLevelNoClamp(const LiveActor* actor);
|
|
void getLodModelCount(const LiveActor* actor);
|
|
void forceLodLevel(LiveActor* actor, s32);
|
|
void unforceLodLevel(LiveActor* actor);
|
|
void isExistLodModel(const LiveActor* actor);
|
|
void isEnableMaterialLod(const LiveActor* actor);
|
|
void validateLodModel(LiveActor* actor);
|
|
void invalidateLodModel(LiveActor* actor);
|
|
void isValidateLodModel(const LiveActor* actor);
|
|
void isExistDitherAnimator(const LiveActor* actor);
|
|
void isValidNearDitherAnim(const LiveActor* actor);
|
|
void stopDitherAnimAutoCtrl(LiveActor* actor);
|
|
void restartDitherAnimAutoCtrl(LiveActor* actor);
|
|
void validateDitherAnim(LiveActor* actor);
|
|
void invalidateDitherAnim(LiveActor* actor);
|
|
void validateFarDitherIfInvalidateClipping(LiveActor* actor);
|
|
void setDitherAnimSphereRadius(LiveActor* actor, f32);
|
|
void setDitherAnimBoundingBox(LiveActor* actor, const sead::Vector3f&);
|
|
void setDitherAnimMaxAlpha(LiveActor* actor, f32);
|
|
void setDitherAnimClippingJudgeLocalOffset(LiveActor* actor, const sead::Vector3f&);
|
|
void setDitherAnimClippingJudgeParam(LiveActor* actor, const char*);
|
|
void resetDitherAnimClippingJudgeParam(LiveActor* actor);
|
|
void getDitherAnimMinNearDitherAlpha(const LiveActor* actor);
|
|
void getDitherAnimNearClipStartDistance(const LiveActor* actor);
|
|
void getDitherAnimNearClipEndDistance(const LiveActor* actor);
|
|
void calcDitherAnimJudgeDistance(const LiveActor* actor);
|
|
void createUniqueShader(LiveActor* actor);
|
|
void isJudgedToClipFrustum(const ClippingDirector*, const sead::Vector3f&, f32, f32);
|
|
void isJudgedToClipFrustum(const LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void isJudgedToClipFrustum(const LiveActor* actor, f32, f32);
|
|
void isJudgedToClipFrustumWithoutFar(const ClippingDirector*, const sead::Vector3f&, f32, f32);
|
|
void isJudgedToClipFrustumWithoutFar(const LiveActor* actor, const sead::Vector3f&, f32, f32);
|
|
void isJudgedToClipFrustumWithoutFar(const LiveActor* actor, f32, f32);
|
|
} // namespace al
|