New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
MiiModel Class Reference

#include <PlayerModelImpl4_Mii.h>

Inherits PlayerModel.

Public Types

enum  ModeHeadModel {
  cModeHeadModel_Normal = 0 , cModeHeadModel_Propeller , cModeHeadModel_Penguin , cModeHeadModel_Squirrel ,
  cModeHeadModel_Num
}
Public Types inherited from PlayerModel
enum  ColorType { cColorType_Invalid = 0 , cColorType_Normal , cColorType_Fire , cColorType_Ice }
enum  JointID {
  cJointID_AllRoot = 0 , cJointID_SklRoot , cJointID_LegL1 , cJointID_LegL2 ,
  cJointID_AnkleL1 , cJointID_LegR1 , cJointID_LegR2 , cJointID_AnkleR1 ,
  cJointID_Spin , cJointID_ArmL1 , cJointID_ArmL2 , cJointID_WristL1 ,
  cJointID_ArmR1 , cJointID_ArmR2 , cJointID_WristR1 , cJointID_CapPosition ,
  cJointID_Face1 , cJointID_WingLegL , cJointID_WingLegR , cJointID_WingArmL ,
  cJointID_WingArmR , cJointID_Wing , cJointID_WingTail1 , cJointID_WingTail2 ,
  cJointID_Num
}
enum  EnvType { cEnvType_Normal = 0 , cEnvType_Star , cEnvType_P }
enum  EnvTypeFlag { cEnvTypeFlag_Star = 1 << cEnvType_Star , cEnvTypeFlag_P = 1 << cEnvType_P }
Public Types inherited from PlayerModelBase
enum  Type {
  cType_Mario = 0 , cType_Luigi , cType_BlueToad , cType_YellowToad ,
  cType_NpcToad , cType_Nabbit , cType_Unused , cType_Mii ,
  cType_Num
}
enum  SceneType { cSceneType_Course = 0 , cSceneType_CourseSelect , cSceneType_Unknown , cSceneType_2D }
enum  TexAnmType {
  cTexAnmType_WaitStatic = 0 , cTexAnmType_Wait , cTexAnmType_GoalPutOnCap , cTexAnmType_PropellerGoalPutOnCap ,
  cTexAnmType_PenguinGoalPutOnCap , cTexAnmType_MusaGoalPutOnCap , cTexAnmType_PenguinRideGoalPutOnCap , cTexAnmType_MusaRideGoalPutOnCap ,
  cTexAnmType_GoalPutOnCap_2 , cTexAnmType_Dam , cTexAnmType_Jump , cTexAnmType_Jumped ,
  cTexAnmType_Throw , cTexAnmType_CourseIn , cTexAnmType_CoinComp , cTexAnmType_DmGlad ,
  cTexAnmType_DmGlad2 , cTexAnmType_DmGlad2Wait , cTexAnmType_DmGlad3 , cTexAnmType_DmGlad3Wait ,
  cTexAnmType_DmGlad4Wait , cTexAnmType_DmSad , cTexAnmType_BalloonWaitDisconnect , cTexAnmType_KinopioMGGlad ,
  cTexAnmType_KinopioMGSad , cTexAnmType_DmCourseIn , cTexAnmType_DmSad2 , cTexAnmType_KinopioDmThanksGift ,
  cTexAnmType_KinopioDmHail , cTexAnmType_KinopioDmDamage , cTexAnmType_KinopioDmAwawa , cTexAnmType_KinopioDmShoot ,
  cTexAnmType_DmEscort , cTexAnmType_DmEscortWait , cTexAnmType_DmEnding1 , cTexAnmType_DmEnding1Wait ,
  cTexAnmType_DmEnding2 , cTexAnmType_Num
}
enum  DarkTargetType { cDarkTargetType_InvTevColor0 = 0 , cDarkTargetType_TevKColor3 }
enum  Flag {
  cFlag_IsCarry = 1 << 0 , cFlag_IsLiftUp = 1 << 1 , cFlag_IsBalloonChibiYoshiFly = 1 << 2 , cFlag_IsBubbleChibiYoshiShake = 1 << 3 ,
  cFlag_IsStarAnm = 1 << 10 , cFlag_IsOnHDokan = 1 << 11 , cFlag_IsWaitL = 1 << 12 , cFlag_IsWaitR = 1 << 13 ,
  cFlag_IsRideCloudWait = 1 << 14 , cFlag_IsRideLiftWait = 1 << 15 , cFlag_None = 0
}
enum  AnmFlagBit {
  cAnmFlagBit_Sit = 0 , cAnmFlagBit_Hang = 2 , cAnmFlagBit_Swim = 4 , cAnmFlagBit_7 = 7 ,
  cAnmFlagBit_8 = 8 , cAnmFlagBit_9 = 9 , cAnmFlagBit_IsSlopeBodyAnm = 12
}
enum  AnmFlagType { cAnmFlagType_Main = 0 , cAnmFlagType_Body , cAnmFlagType_Unknown , cAnmFlagType_Num }
enum  FaceAngleOverrideFlag { cFaceAngleOverrideFlag_X = 1 << 0 , cFaceAngleOverrideFlag_Y = 1 << 1 , cFaceAngleOverrideFlag_Z = 1 << 2 }
enum  CapMode { cCapMode_Normal = 0 , cCapMode_Bonus }

Public Member Functions

 MiiModel (Type type, PlayerMode mode, SceneType scene_type, PlayerCharacter color, const Mii::SlotID &slot_id, sead::Heap *ffl_tmp_heap, bool override_lightmap)
void play () override
void draw () override
void setModelDrawBufferIndex (s32 idx_opa, s32 idx_xlu) override
void setModelDrawFlagDirect (u32 flag) override
void setColorType (ColorType color_type, bool keep_head_konst3) override
void setMiiColor (PlayerCharacter mii_color) override
void setMiiCapVisible (bool visible) override
bool isMiiCapVisible () override
void calcImpl () override
void setModeModel (PlayerModeModel mode_mdl) override
void setTexAnmTypeImpl (TexAnmType type) override
bool setPersonalAnm (ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id, bool body) override
bool setPersonalRideAnm (ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id) override
f32 getAimMotionShareScale () override
void onPMusaChange () override
void setStarAnm () override
void removeStarAnm_NowModeModel () override
void removeStarAnm_OldModeModel () override
f32 vf144 () override
f32 getTevColor0Alpha (s32 idx_material) override
void setTevColor0Alpha (s32 idx_material, f32 value) override
void setInvTevColor0 (f32 value) override
void setTevKColor3 (f32 value) override
Public Member Functions inherited from PlayerModel
 PlayerModel (const PlayerObjectResHIO &res_hio, Type type, PlayerMode mode, SceneType scene_type, bool override_lightmap)
virtual ~PlayerModel ()
void calc2Impl () override
void draw () override
f32 getBaseScale () override
void setModelDrawBufferIndex (s32 idx_opa, s32 idx_xlu) override
void setModelDrawFlagDirect (u32 flag) override
void setDark (DarkTargetType type, f32 value) override
void onStarAnm () override
void offStarAnm () override
PlayerMode getPlayerMode ()
void setPlayerMode (PlayerMode mode)
bool getHeadPropelJointMtx (sead::Matrixf *mtx)
bool checkChange_MusaPtoNml ()
void postChange_MusaPtoNml ()
bool isFaceRot ()
void setClampFaceRot ()
virtual void setCapMode (CapMode mode)
virtual void updateBonusCap ()
virtual void setMusaPtoNmlAnm ()
virtual void setPlayerNo (s32 player_no)
PlayerModeModel getModeModel ()
void setTexAnmType (TexAnmType type) override
bool setPersonalAnm (ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id, bool body) override
bool setPersonalRideAnm (ModelResource **anm_res, sead::BufferedSafeString *anm_name, s32 anm_id) override
void setAnm (s32 anm_id, f32 rate, f32 blend_duration=0.0f, f32 frame=0.0f) override
void setFootAnmImpl (const ModelResource *anm_res, const sead::SafeString &anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame, f32 blend_duration) override
void setBodyAnmImpl (const ModelResource *anm_res, const sead::SafeString &anm_name, FrameCtrl::PlayMode mode, f32 rate, f32 frame, f32 blend_duration) override
void releaseBodyAnm (f32 blend_duration) override
void setCarryBodyAnm (f32 blend_duration, bool bubble_reset_frame) override
void setAnmBind () override
virtual void setJointMap ()
void getJointMtx (sead::Matrixf *mtx, const sead::SafeString &name) override
void setPropelRollAngle (const Angle &angle)
void setPropelRollSpeed (const Angle &speed)
void setPropelScale (f32 scale)
AnimModelgetBodyModel (PlayerModeModel mode_mdl)
AnimModelgetHeadModel (PlayerModeModel mode_mdl)
Public Member Functions inherited from PlayerModelBase
 PlayerModelBase (const sead::SafeString &model_res_key, const sead::SafeString &anm_res_key)
virtual ~PlayerModelBase ()
void reset ()
virtual f32 getAnmRate (s32 anm_id)
virtual f32 getAnmBlendDuration (s32 anm_id)
void setBodyAnm (s32 anm_id, f32 rate, f32 frame=0.0f, f32 blend_duration=0.0f)
void copyLinkAnm (f32 blend_duration)
void setLinkAnm (s32 anm_id, f32 rate, f32 blend_duration=0.0f, f32 frame=0.0f)
void setRideAnm (s32 anm_id, f32 rate, f32 blend_duration=0.0f, f32 frame=0.0f)
void setSlopeBodyAnm (f32 blend_duration)
void setJumpIndex (s32 rnd_type)
virtual bool getJumpAnmName (sead::BufferedSafeString *anm_name, s32 anm_id, bool body)
void setRate (f32 rate)
f32 getRate ()
void setRateDirect (f32 rate)
f32 getRateDirect ()
virtual void setBodyRate (f32 rate)
f32 getBodyRate ()
bool isAnmStop ()
bool isBodyAnmStop ()
void setFrame (f32 frame)
f32 getFrame ()
void setFrameDirect (f32 frame)
f32 getFrameDirect ()
virtual void setBodyFrame (f32 frame)
f32 getBodyFrame ()
bool checkFrame (f32 frame)
bool checkBodyFrame (f32 frame)
bool checkFrameCtrlFlagUnk2 ()
bool checkBodyFrameCtrlFlagUnk2 ()
f32 getFrameEnd ()
bool isBodyAnmOn ()
void getJointMtx (sead::Matrixf *mtx, s32 index)
void getJointPos (sead::Vector3f *pos, s32 index)
void getJointPos (sead::Vector3f *pos, const sead::SafeString &name)
void calc (const sead::Matrixf &mtx)
void calc2 ()
void cancelCarry ()
void onCarry ()
void onLiftUp ()
void onBalloonChibiYoshiFly ()
void onBubbleChibiYoshiShake ()
void offCarry ()
void offLiftUp ()
void offBalloonChibiYoshiFly ()
void offBubbleChibiYoshiShake ()
bool isCarry ()
bool isLiftUp ()
bool isBalloonChibiYoshiFly () const
bool isBubbleChibiYoshiShake () const
bool isFootStepTiming ()
bool isCourseSelectScene ()
s32 getAnmID () const
ModelResourcegetModelResFile () const
ModelResourcegetAnmResFile () const
sead::Vector3fgetHeadTopPosP ()
sead::Vector3fgetHeadPosP ()
u32 getAnmFlag (AnmFlagType type) const
bool isAnmFlag (AnmFlagType type, AnmFlagBit bit) const
bool isSitAnm () const
bool isHangAnm () const
bool isSwimAnm () const
void changeFaceAngleOverrideFlag (FaceAngleOverrideFlag flag, bool enable)
const Angle3getFaceAngleOverride () const
void setFaceAngleOverride (const Angle3 &angle)
void resetFaceAngleOverride ()
void resetFaceAngleOverrideFlag ()
void onOnHDokan ()
void offOnHDokan ()
bool isOnHDokan () const
void onWaitL ()
void onWaitR ()
void offWait ()
bool isWaitL () const
bool isWaitR () const
void onRideCloudWait ()
void offRideCloudWait ()
bool isRideCloudWait () const
void onRideLiftWait ()
void offRideLiftWait ()
bool isRideLiftWait () const
Public Member Functions inherited from sead::IDisposer
 IDisposer ()
virtual ~IDisposer ()

Static Public Attributes

static const s32 cMaterialMaxNum = 7

Protected Attributes

ModelResourcemMiiAnmRes
PlayerCharacter mColor
Mii::SlotID mSlotID
ModelFFLmFaceModel
agl::TextureData mEnvTexture_Star
agl::TextureData mEnvTexture_P
f32 mHeadPatAnmFrame
f32 mHeadPatAnmRate
FrameCtrl::PlayMode mHeadPatAnmPlayMode
sead::SafeArray< f32, cMaterialMaxNummTevColor0Alpha
ModeHeadModel mNowModeHeadModel
ModeHeadModel mOldModeHeadModel
sead::SafeArray< AnimModel *, cModeHeadModel_NummModeHeadModelArray
AnimModelmModeHeadModel
sead::BitFlag16 mModeHeadModelLoadFlag
bool mIsCapVisible
Protected Attributes inherited from PlayerModel
sead::SafeArray< AnimModel *, cPlayerModeModel_NummModelArray
sead::SafeArray< AnimModel *, cPlayerModeModel_NummHeadModelArray
const PlayerObjectResHIOmResHio
AnimModelmHeadModel
PlayerModeModel mOldModeModel
PlayerModeModel mNowModeModel
sead::BitFlag16 mModeModelLoadFlag
sead::SafeArray< s32, cJointID_NummJointMap
s32 mPlayerNo
AnimExpDecayCalcRatio mCalcRatio
PlayerMode mPlayerMode
PlayerMode mPlayerModeOverride
ColorType mColorType
Angle mFaceAngle
Angle mFaceAngleTarget
s32 mFaceRotTimer
s32 mFaceRotFrameCnt
bool mClampFaceRotTimer
Angle mPropelRollAngle
Angle mPropelRollSpeed
f32 mPropelScale
f32 mBlendRate_v0
f32 mBlendRate_v1
f32 mBlendRate_v2
DarkTargetType mDarkTargetType
f32 mDarkColorValue
sead::BitFlag32 mEnvTypeFlag
bool mOverrideLightMap
Protected Attributes inherited from PlayerModelBase
ModelResourcemModelRes
ModelResourcemAnmRes
AnimModelmModel
s32 mAnm
s32 mBodyAnm
s32 mRideAnm
PlayerModelBasemLinkPlayer
sead::Matrixf mMtxSrt
sead::Matrixf mMtxSr
sead::Vector3f mHeadTopPos
sead::Vector3f mHeadPos
Type mType
SceneType mSceneType
TexAnmType mTexAnmType
s32 mDefaultExpressionTimer
f32 mOffsetY
f32 mStoopOffsetCurrent
f32 mStoopOffsetTarget
f32 mStoopOffsetBlendFramesRemaining
sead::SafeArray< u32, cAnmFlagType_NummAnmFlag
sead::BitFlag32 mFlag
s32 mJumpIndex
s32 mJumpIndexPrev
Angle3 mFaceAngleOverride
sead::BitFlag32 mFaceAngleOverrideFlag
bool mCarryStateChanged

Member Enumeration Documentation

◆ ModeHeadModel

Enumerator
cModeHeadModel_Normal 
cModeHeadModel_Propeller 
cModeHeadModel_Penguin 
cModeHeadModel_Squirrel 
cModeHeadModel_Num 

Constructor & Destructor Documentation

◆ MiiModel()

MiiModel::MiiModel ( Type type,
PlayerMode mode,
SceneType scene_type,
PlayerCharacter color,
const Mii::SlotID & slot_id,
sead::Heap * ffl_tmp_heap,
bool override_lightmap )

Member Function Documentation

◆ play()

void MiiModel::play ( )
overridevirtual

Implements PlayerModelBase.

◆ draw()

void MiiModel::draw ( )
overridevirtual

Reimplemented from PlayerModelBase.

◆ setModelDrawBufferIndex()

void MiiModel::setModelDrawBufferIndex ( s32 idx_opa,
s32 idx_xlu )
overridevirtual

Implements PlayerModelBase.

◆ setModelDrawFlagDirect()

void MiiModel::setModelDrawFlagDirect ( u32 flag)
overridevirtual

Implements PlayerModelBase.

◆ setColorType()

void MiiModel::setColorType ( ColorType color_type,
bool keep_head_konst3 )
overridevirtual

Implements PlayerModel.

◆ setMiiColor()

void MiiModel::setMiiColor ( PlayerCharacter mii_color)
overridevirtual

Reimplemented from PlayerModel.

◆ setMiiCapVisible()

void MiiModel::setMiiCapVisible ( bool visible)
inlineoverridevirtual

Reimplemented from PlayerModel.

◆ isMiiCapVisible()

bool MiiModel::isMiiCapVisible ( )
inlineoverridevirtual

Reimplemented from PlayerModel.

◆ calcImpl()

void MiiModel::calcImpl ( )
overridevirtual

Implements PlayerModelBase.

◆ setModeModel()

void MiiModel::setModeModel ( PlayerModeModel mode_mdl)
overridevirtual

Reimplemented from PlayerModel.

◆ setTexAnmTypeImpl()

void MiiModel::setTexAnmTypeImpl ( TexAnmType type)
overridevirtual

Implements PlayerModel.

◆ setPersonalAnm()

bool MiiModel::setPersonalAnm ( ModelResource ** anm_res,
sead::BufferedSafeString * anm_name,
s32 anm_id,
bool body )
overridevirtual

Implements PlayerModelBase.

◆ setPersonalRideAnm()

bool MiiModel::setPersonalRideAnm ( ModelResource ** anm_res,
sead::BufferedSafeString * anm_name,
s32 anm_id )
overridevirtual

Implements PlayerModelBase.

◆ getAimMotionShareScale()

f32 MiiModel::getAimMotionShareScale ( )
overridevirtual

Implements PlayerModel.

◆ onPMusaChange()

void MiiModel::onPMusaChange ( )
overridevirtual

Reimplemented from PlayerModel.

◆ setStarAnm()

void MiiModel::setStarAnm ( )
overridevirtual

Reimplemented from PlayerModel.

◆ removeStarAnm_NowModeModel()

void MiiModel::removeStarAnm_NowModeModel ( )
overridevirtual

Reimplemented from PlayerModel.

◆ removeStarAnm_OldModeModel()

void MiiModel::removeStarAnm_OldModeModel ( )
overridevirtual

Reimplemented from PlayerModel.

◆ vf144()

f32 MiiModel::vf144 ( )
overridevirtual

Implements PlayerModel.

◆ getTevColor0Alpha()

f32 MiiModel::getTevColor0Alpha ( s32 idx_material)
inlineoverridevirtual

Implements PlayerModel.

◆ setTevColor0Alpha()

void MiiModel::setTevColor0Alpha ( s32 idx_material,
f32 value )
inlineoverridevirtual

Implements PlayerModel.

◆ setInvTevColor0()

void MiiModel::setInvTevColor0 ( f32 value)
overridevirtual

Reimplemented from PlayerModel.

◆ setTevKColor3()

void MiiModel::setTevKColor3 ( f32 value)
overridevirtual

Reimplemented from PlayerModel.

Member Data Documentation

◆ cMaterialMaxNum

const s32 MiiModel::cMaterialMaxNum = 7
static

◆ mMiiAnmRes

ModelResource* MiiModel::mMiiAnmRes
protected

◆ mColor

PlayerCharacter MiiModel::mColor
protected

◆ mSlotID

Mii::SlotID MiiModel::mSlotID
protected

◆ mFaceModel

ModelFFL* MiiModel::mFaceModel
protected

◆ mEnvTexture_Star

agl::TextureData MiiModel::mEnvTexture_Star
protected

◆ mEnvTexture_P

agl::TextureData MiiModel::mEnvTexture_P
protected

◆ mHeadPatAnmFrame

f32 MiiModel::mHeadPatAnmFrame
protected

◆ mHeadPatAnmRate

f32 MiiModel::mHeadPatAnmRate
protected

◆ mHeadPatAnmPlayMode

FrameCtrl::PlayMode MiiModel::mHeadPatAnmPlayMode
protected

◆ mTevColor0Alpha

sead::SafeArray<f32, cMaterialMaxNum> MiiModel::mTevColor0Alpha
protected

◆ mNowModeHeadModel

ModeHeadModel MiiModel::mNowModeHeadModel
protected

◆ mOldModeHeadModel

ModeHeadModel MiiModel::mOldModeHeadModel
protected

◆ mModeHeadModelArray

sead::SafeArray< AnimModel*, cModeHeadModel_Num > MiiModel::mModeHeadModelArray
protected

◆ mModeHeadModel

AnimModel* MiiModel::mModeHeadModel
protected

◆ mModeHeadModelLoadFlag

sead::BitFlag16 MiiModel::mModeHeadModelLoadFlag
protected

◆ mIsCapVisible

bool MiiModel::mIsCapVisible
protected