3#include <graphics/AnimExpDecayCalcRatio.h>
4#include <player/PlayerEnum.h>
5#include <player/PlayerModelBase.h>
26 static_assert(
sizeof(
BodyType) == 4);
134 void setDark(DarkTargetType type, f32 value)
override;
233 mPlayerNo = player_no;
268 bool setPersonalAnm(ModelResource** anm_res, sead::BufferedSafeString* anm_name, s32 anm_id,
bool body)
override;
270 bool setPersonalRideAnm(ModelResource** anm_res, sead::BufferedSafeString* anm_name, s32 anm_id)
override;
276 void setAnm(s32 anm_id, f32 rate, f32 blend_duration = 0.0f, f32 frame = 0.0f)
override;
278 void setFootAnmImpl(
const ModelResource* anm_res,
const sead::SafeString& anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame, f32 blend_duration)
override;
280 void setBodyAnmImpl(
const ModelResource* anm_res,
const sead::SafeString& anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame, f32 blend_duration)
override;
287 void setTailAnm(
const ModelResource* anm_res,
const sead::SafeString& anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame);
308 void setStarAnm(AnimModel* anim_model,
const ModelResource* mdl_res,
const sead::SafeString& name, f32 frame);
343 PlayerModelBase::getJointMtx(mtx, mJointMap[id]);
348 PlayerModelBase::getJointPos(pos, mJointMap[id]);
352 void getJointMtx(sead::Matrixf* mtx,
const sead::SafeString& name)
override;
354 void getJointPos(sead::Vector3f* pos,
const sead::SafeString& name)
356 PlayerModelBase::getJointPos(pos, name);
361 mPropelRollAngle = angle;
366 mPropelRollSpeed = speed;
371 mPropelScale = scale;
376 return mModelArray[type];
381 return mModelArray[type];
423static_assert(
sizeof(
PlayerModel) == 0x218,
"PlayerModel size mismatch");
Definition PlayerModel.h:10
Angle mFaceAngle
Definition PlayerModel.h:401
virtual void setJointMap()
s32 mFaceRotFrameCnt
Definition PlayerModel.h:404
virtual void setTevColor0Alpha(s32 idx_material, f32 value)=0
virtual bool isMiiCapVisible()
Definition PlayerModel.h:240
bool getHeadPropelJointMtx(sead::Matrixf *mtx)
void applyDark(DarkTargetType type, f32 value)
f32 mAimMotionScaleTarget
Definition PlayerModel.h:410
AnimModel * getBodyModel(BodyType type)
Definition PlayerModel.h:374
virtual void setPlayerNo(s32 player_no)
Definition PlayerModel.h:231
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:227
void setTexAnmType(TexAnmType type) override
DarkTargetType mDarkTargetType
Definition PlayerModel.h:412
BodyType mNowBodyID
Definition PlayerModel.h:393
bool setPersonalAnm(ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id, bool body) override
PlayerMode getPlayerMode()
Definition PlayerModel.h:146
sead::BitFlag32 mEnvTypeFlag
Definition PlayerModel.h:414
bool checkChange_MusaPtoNml()
virtual void setInvTevColor0(f32 value)
virtual void updateBonusCap()
Definition PlayerModel.h:223
bool mClampFaceRotTimer
Definition PlayerModel.h:405
PlayerMode mPlayerModeOverride
Definition PlayerModel.h:399
void setHeadTexAnm(TexAnmType type)
sead::SafeArray< AnimModel *, cBodyType_Num > mHeadModelArray
Definition PlayerModel.h:389
AnimExpDecayCalcRatio mCalcRatio
Definition PlayerModel.h:397
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:392
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:359
void setDark(DarkTargetType type, f32 value) override
void getFaceMtx(sead::Matrixf *mtx)
virtual void setMiiColor(PlayerCharacter mii_color)
Definition PlayerModel.h:215
ColorType
Definition PlayerModel.h:29
@ cColorType_Fire
Definition PlayerModel.h:32
@ cColorType_Invalid
Definition PlayerModel.h:30
@ cColorType_Normal
Definition PlayerModel.h:31
@ cColorType_Ice
Definition PlayerModel.h:33
@ cShuAnm_1
Definition PlayerModel.h:112
@ cShuAnm_Color_Star
Definition PlayerModel.h:111
@ cShuAnm_Num
Definition PlayerModel.h:114
@ cShuAnm_Color_PtoNml
Definition PlayerModel.h:113
virtual f32 getAimMotionShareScale()=0
f32 mAimMotionScale
Definition PlayerModel.h:409
JointID
Definition PlayerModel.h:38
@ cJointID_LegL2
Definition PlayerModel.h:42
@ cJointID_WingLegR
Definition PlayerModel.h:57
@ cJointID_LegL1
Definition PlayerModel.h:41
@ cJointID_LegR2
Definition PlayerModel.h:45
@ cJointID_ArmR2
Definition PlayerModel.h:52
@ cJointID_ArmL2
Definition PlayerModel.h:49
@ cJointID_WingArmR
Definition PlayerModel.h:59
@ cJointID_AnkleR1
Definition PlayerModel.h:46
@ cJointID_WingTail2
Definition PlayerModel.h:62
@ cJointID_Face1
Definition PlayerModel.h:55
@ cJointID_AnkleL1
Definition PlayerModel.h:43
@ cJointID_ArmR1
Definition PlayerModel.h:51
@ cJointID_Num
Definition PlayerModel.h:63
@ cJointID_Spin
Definition PlayerModel.h:47
@ cJointID_CapPosition
Definition PlayerModel.h:54
@ cJointID_WingLegL
Definition PlayerModel.h:56
@ cJointID_WingTail1
Definition PlayerModel.h:61
@ cJointID_Wing
Definition PlayerModel.h:60
@ cJointID_SklRoot
Definition PlayerModel.h:40
@ cJointID_ArmL1
Definition PlayerModel.h:48
@ cJointID_WristR1
Definition PlayerModel.h:53
@ cJointID_NumWing
Definition PlayerModel.h:65
@ cJointID_WingArmL
Definition PlayerModel.h:58
@ cJointID_WristL1
Definition PlayerModel.h:50
@ cJointID_AllRoot
Definition PlayerModel.h:39
@ cJointID_LegR1
Definition PlayerModel.h:44
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:369
void postChange_MusaPtoNml()
static const TexAnmData cTexAnmData[]
Definition PlayerModel.h:421
void calc2Impl() override
void getJointMtx(sead::Matrixf *mtx, JointID id)
Definition PlayerModel.h:341
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:395
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:400
bool setPersonalRideAnm(ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id) override
Angle mFaceAngleTarget
Definition PlayerModel.h:402
EnvTypeFlag
Definition PlayerModel.h:80
@ cEnvTypeFlag_Star
Definition PlayerModel.h:81
@ cEnvTypeFlag_P
Definition PlayerModel.h:82
void calcFaceAngleOverride()
void offStarAnm() override
f32 mDarkColorValue
Definition PlayerModel.h:413
f32 mAimMotionScaleBase
Definition PlayerModel.h:411
@ cSklAnm_Num
Definition PlayerModel.h:97
@ cSklAnm_Tail
Definition PlayerModel.h:96
virtual void onPMusaChange()
Angle mPropelRollSpeed
Definition PlayerModel.h:407
void getJointPos(sead::Vector3f *pos, const sead::SafeString &name)
Definition PlayerModel.h:354
sead::SafeArray< AnimModel *, cBodyType_Num > mModelArray
Definition PlayerModel.h:388
EnvType getEnvType() const
Angle mPropelRollAngle
Definition PlayerModel.h:406
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:391
void setPropelRollSpeed(const Angle &speed)
Definition PlayerModel.h:364
bool getLowWalkAnmName(sead::BufferedSafeString *anm_name, s32 anm_id, bool body)
EnvType
Definition PlayerModel.h:71
@ cEnvType_Num
Definition PlayerModel.h:75
@ cEnvType_Normal
Definition PlayerModel.h:72
@ cEnvType_Star
Definition PlayerModel.h:73
@ cEnvType_P
Definition PlayerModel.h:74
void changeLightTexture(AnimModel &anim_model)
s32 mFaceRotTimer
Definition PlayerModel.h:403
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:245
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:346
virtual void removeStarAnm_OldBodyID()
bool mOverrideLightMap
Definition PlayerModel.h:415
static const Angle cPropelRollBaseSpeed
Definition PlayerModel.h:418
virtual void setHeadID(HeadType id)
Definition PlayerModel.h:219
const PlayerObjectResHIO & mResHio
Definition PlayerModel.h:390
sead::BitFlag16 mModelLoadFlag
Definition PlayerModel.h:394
void setAnmBind() override
void setHeadTexAnm_(AnimModel &head_anim_model, const TexAnmData &tex_anm_data)
PlayerMode mPlayerMode
Definition PlayerModel.h:398
void setModelG3dRenderFlag(u32 flag) override
f32 mPropelScale
Definition PlayerModel.h:408
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:396
void resetTevColor0Alpha()
void releaseBodyAnm(f32 blend_duration) override
@ cTexAnm_Head
Definition PlayerModel.h:104
@ cTexAnm_Num
Definition PlayerModel.h:105
@ cTexAnm_Color
Definition PlayerModel.h:103
virtual void setMiiCapVisible(bool visible)
Definition PlayerModel.h:236
AnimModel * getHeadModel(BodyType type)
Definition PlayerModel.h:379
virtual f32 getTevColor0Alpha(s32 idx_material)=0
Definition PlayerModel.h:86
f32 frame
Definition PlayerModel.h:90
f32 rate
Definition PlayerModel.h:89
FrameCtrl::PlayMode play_mode
Definition PlayerModel.h:88
sead::SafeString name
Definition PlayerModel.h:87
Definition PlayerObjectResData.h:6