3#include <graphics/AnimExpDecayCalcRatio.h>
4#include <player/PlayerEnum.h>
5#include <player/PlayerModelBase.h>
27 static_assert(
sizeof(
BodyType) == 4);
135 void setDark(DarkTargetType type, f32 value)
override;
234 mPlayerNo = player_no;
269 bool setPersonalAnm(ModelResource** anm_res, sead::BufferedSafeString* anm_name, s32 anm_id,
bool body)
override;
271 bool setPersonalRideAnm(ModelResource** anm_res, sead::BufferedSafeString* anm_name, s32 anm_id)
override;
277 void setAnm(s32 anm_id, f32 rate, f32 blend_duration = 0.0f, f32 frame = 0.0f)
override;
279 void setFootAnmImpl(
const ModelResource* anm_res,
const sead::SafeString& anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame, f32 blend_duration)
override;
281 void setBodyAnmImpl(
const ModelResource* anm_res,
const sead::SafeString& anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame, f32 blend_duration)
override;
288 void setTailAnm(
const ModelResource* anm_res,
const sead::SafeString& anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame);
309 void setStarAnm(AnimModel* anim_model,
const ModelResource* mdl_res,
const sead::SafeString& name, f32 frame);
344 PlayerModelBase::getJointMtx(mtx, mJointMap[id]);
349 PlayerModelBase::getJointPos(pos, mJointMap[id]);
353 void getJointMtx(sead::Matrixf* mtx,
const sead::SafeString& name)
override;
355 void getJointPos(sead::Vector3f* pos,
const sead::SafeString& name)
357 PlayerModelBase::getJointPos(pos, name);
362 mPropelRollAngle = angle;
367 mPropelRollSpeed = speed;
372 mPropelScale = scale;
377 return mModelArray[type];
382 return mModelArray[type];
424static_assert(
sizeof(
PlayerModel) == 0x218,
"PlayerModel size mismatch");
Definition PlayerModel.h:11
Angle mFaceAngle
Definition PlayerModel.h:402
virtual void setJointMap()
s32 mFaceRotFrameCnt
Definition PlayerModel.h:405
virtual void setTevColor0Alpha(s32 idx_material, f32 value)=0
virtual bool isMiiCapVisible()
Definition PlayerModel.h:241
bool getHeadPropelJointMtx(sead::Matrixf *mtx)
void applyDark(DarkTargetType type, f32 value)
f32 mAimMotionScaleTarget
Definition PlayerModel.h:411
AnimModel * getBodyModel(BodyType type)
Definition PlayerModel.h:375
virtual void setPlayerNo(s32 player_no)
Definition PlayerModel.h:232
virtual void removeStarAnm_NowBodyID()
virtual void setTexAnmTypeImpl(TexAnmType type)=0
void removeStarAnm(AnimModel *head_anim_model, AnimModel *body_anim_model)
virtual void setBodyID(BodyType id)
virtual void setMusaPtoNmlAnm()
Definition PlayerModel.h:228
void setTexAnmType(TexAnmType type) override
DarkTargetType mDarkTargetType
Definition PlayerModel.h:413
BodyType mNowBodyID
Definition PlayerModel.h:394
bool setPersonalAnm(ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id, bool body) override
sead::BitFlag32 mEnvTypeFlag
Definition PlayerModel.h:415
bool checkChange_MusaPtoNml()
virtual void setInvTevColor0(f32 value)
virtual void updateBonusCap()
Definition PlayerModel.h:224
bool mClampFaceRotTimer
Definition PlayerModel.h:406
PlayerMode mPlayerModeOverride
Definition PlayerModel.h:400
void setHeadTexAnm(TexAnmType type)
sead::SafeArray< AnimModel *, cBodyType_Num > mHeadModelArray
Definition PlayerModel.h:390
AnimExpDecayCalcRatio mCalcRatio
Definition PlayerModel.h:398
void setAnm(s32 anm_id, f32 rate, f32 blend_duration=0.0f, f32 frame=0.0f) override
void resetTevKColor3Alpha(Model *model)
BodyType mOldBodyID
Definition PlayerModel.h:393
void getJointMtx(sead::Matrixf *mtx, const sead::SafeString &name) override
void onStarAnm() override
virtual f32 getStoopOffsetTarget()=0
virtual void setTevKColor3(f32 value)
f32 getBaseScale() override
void calcJointLocalMtxPostAnm()
void setPropelRollAngle(const Angle &angle)
Definition PlayerModel.h:360
void setDark(DarkTargetType type, f32 value) override
void getFaceMtx(sead::Matrixf *mtx)
virtual void setMiiColor(PlayerCharacter mii_color)
Definition PlayerModel.h:216
ColorType
Definition PlayerModel.h:30
@ cColorType_Fire
Definition PlayerModel.h:33
@ cColorType_Invalid
Definition PlayerModel.h:31
@ cColorType_Normal
Definition PlayerModel.h:32
@ cColorType_Ice
Definition PlayerModel.h:34
@ cShuAnm_1
Definition PlayerModel.h:113
@ cShuAnm_Color_Star
Definition PlayerModel.h:112
@ cShuAnm_Num
Definition PlayerModel.h:115
@ cShuAnm_Color_PtoNml
Definition PlayerModel.h:114
virtual f32 getAimMotionShareScale()=0
f32 mAimMotionScale
Definition PlayerModel.h:410
JointID
Definition PlayerModel.h:39
@ cJointID_LegL2
Definition PlayerModel.h:43
@ cJointID_WingLegR
Definition PlayerModel.h:58
@ cJointID_LegL1
Definition PlayerModel.h:42
@ cJointID_LegR2
Definition PlayerModel.h:46
@ cJointID_ArmR2
Definition PlayerModel.h:53
@ cJointID_ArmL2
Definition PlayerModel.h:50
@ cJointID_WingArmR
Definition PlayerModel.h:60
@ cJointID_AnkleR1
Definition PlayerModel.h:47
@ cJointID_WingTail2
Definition PlayerModel.h:63
@ cJointID_Face1
Definition PlayerModel.h:56
@ cJointID_AnkleL1
Definition PlayerModel.h:44
@ cJointID_ArmR1
Definition PlayerModel.h:52
@ cJointID_Num
Definition PlayerModel.h:64
@ cJointID_Spin
Definition PlayerModel.h:48
@ cJointID_CapPosition
Definition PlayerModel.h:55
@ cJointID_WingLegL
Definition PlayerModel.h:57
@ cJointID_WingTail1
Definition PlayerModel.h:62
@ cJointID_Wing
Definition PlayerModel.h:61
@ cJointID_SklRoot
Definition PlayerModel.h:41
@ cJointID_ArmL1
Definition PlayerModel.h:49
@ cJointID_WristR1
Definition PlayerModel.h:54
@ cJointID_NumWing
Definition PlayerModel.h:66
@ cJointID_WingArmL
Definition PlayerModel.h:59
@ cJointID_WristL1
Definition PlayerModel.h:51
@ cJointID_AllRoot
Definition PlayerModel.h:40
@ cJointID_LegR1
Definition PlayerModel.h:45
void createPlayerModel(const sead::PtrArray< ModelResource > *anim_mdl_res_array)
void setModelRenderPass(s32 idx_opa, s32 idx_xlu) override
void setPropelScale(f32 scale)
Definition PlayerModel.h:370
void postChange_MusaPtoNml()
static const TexAnmData cTexAnmData[]
Definition PlayerModel.h:422
void calc2Impl() override
void getJointMtx(sead::Matrixf *mtx, JointID id)
Definition PlayerModel.h:342
void setBodyAnmImpl(const ModelResource *anm_res, const sead::SafeString &anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame, f32 blend_duration) override
sead::SafeArray< s32, cJointID_Num > mJointMap
Definition PlayerModel.h:396
void removeStarAnm(AnimModel *anim_model)
void setTailAnm(const ModelResource *anm_res, const sead::SafeString &anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame)
ColorType mColorType
Definition PlayerModel.h:401
bool setPersonalRideAnm(ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id) override
Angle mFaceAngleTarget
Definition PlayerModel.h:403
EnvTypeFlag
Definition PlayerModel.h:81
@ cEnvTypeFlag_Star
Definition PlayerModel.h:82
@ cEnvTypeFlag_P
Definition PlayerModel.h:83
void calcFaceAngleOverride()
void offStarAnm() override
f32 mDarkColorValue
Definition PlayerModel.h:414
f32 mAimMotionScaleBase
Definition PlayerModel.h:412
@ cSklAnm_Num
Definition PlayerModel.h:98
@ cSklAnm_Tail
Definition PlayerModel.h:97
virtual void onPMusaChange()
Angle mPropelRollSpeed
Definition PlayerModel.h:408
void getJointPos(sead::Vector3f *pos, const sead::SafeString &name)
Definition PlayerModel.h:355
sead::SafeArray< AnimModel *, cBodyType_Num > mModelArray
Definition PlayerModel.h:389
EnvType getEnvType() const
Angle mPropelRollAngle
Definition PlayerModel.h:407
void setFootAnmImpl(const ModelResource *anm_res, const sead::SafeString &anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame, f32 blend_duration) override
JointID getJointID(const sead::SafeString &name) const
void setPlayerMode(PlayerMode mode)
AnimModel * mHeadModel
Definition PlayerModel.h:392
void setPropelRollSpeed(const Angle &speed)
Definition PlayerModel.h:365
bool getLowWalkAnmName(sead::BufferedSafeString *anm_name, s32 anm_id, bool body)
EnvType
Definition PlayerModel.h:72
@ cEnvType_Num
Definition PlayerModel.h:76
@ cEnvType_Normal
Definition PlayerModel.h:73
@ cEnvType_Star
Definition PlayerModel.h:74
@ cEnvType_P
Definition PlayerModel.h:75
void changeLightTexture(AnimModel &anim_model)
s32 mFaceRotTimer
Definition PlayerModel.h:404
void setStarAnm(AnimModel *anim_model, const ModelResource *mdl_res, const sead::SafeString &name, f32 frame)
const TexAnmData & getTexAnmData(TexAnmType type) const
BodyType getBodyID()
Definition PlayerModel.h:246
bool releaseMusaGlideCarryAnm(f32 blend_duration)
PlayerModel(const PlayerObjectResHIO &res_hio, Type type, PlayerMode mode, SceneType scene_type, bool override_lightmap)
virtual void setStarAnm()
void getJointPos(sead::Vector3f *pos, JointID id)
Definition PlayerModel.h:347
virtual void removeStarAnm_OldBodyID()
PlayerMode getPlayerMode() const
Definition PlayerModel.h:147
bool mOverrideLightMap
Definition PlayerModel.h:416
static const Angle cPropelRollBaseSpeed
Definition PlayerModel.h:419
virtual void setHeadID(HeadType id)
Definition PlayerModel.h:220
const PlayerObjectResHIO & mResHio
Definition PlayerModel.h:391
sead::BitFlag16 mModelLoadFlag
Definition PlayerModel.h:395
void setAnmBind() override
void setHeadTexAnm_(AnimModel &head_anim_model, const TexAnmData &tex_anm_data)
PlayerMode mPlayerMode
Definition PlayerModel.h:399
void setModelG3dRenderFlag(u32 flag) override
f32 mPropelScale
Definition PlayerModel.h:409
void setPlayerModel(PlayerMode mode)
void setCarryBodyAnm(f32 blend_duration, bool bubble_reset_frame) override
virtual void setColorType(ColorType color_type, bool keep_head_konst3)=0
s32 mPlayerNo
Definition PlayerModel.h:397
void resetTevColor0Alpha()
void releaseBodyAnm(f32 blend_duration) override
@ cTexAnm_Head
Definition PlayerModel.h:105
@ cTexAnm_Num
Definition PlayerModel.h:106
@ cTexAnm_Color
Definition PlayerModel.h:104
virtual void setMiiCapVisible(bool visible)
Definition PlayerModel.h:237
AnimModel * getHeadModel(BodyType type)
Definition PlayerModel.h:380
virtual f32 getTevColor0Alpha(s32 idx_material)=0
Definition PlayerModel.h:87
f32 frame
Definition PlayerModel.h:91
f32 rate
Definition PlayerModel.h:90
FrameCtrl::PlayMode play_mode
Definition PlayerModel.h:89
sead::SafeString name
Definition PlayerModel.h:88
Definition PlayerObjectResData.h:6