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

#include <PlayerModelImpl3_Shadow.h>

Inherits PlayerModel.

Public Member Functions

 ShadowModel (Type type, PlayerMode mode, SceneType scene_type, bool override_lightmap)
void getBottomJointPos (sead::Vector3f *pos)
void play () override
void draw () override
void setModelDrawBufferIndex (s32 idx_opa, s32 idx_xlu) override
void setModelDrawFlagDirect (u32 flag) override
f32 getBaseScale () override
void setColorType (ColorType color_type, bool keep_head_konst3) override
void setStarAnm () override
void removeStarAnm_NowModeModel () override
void removeStarAnm_OldModeModel () override
void calcImpl () override
void setModeModel (PlayerModeModel mode_mdl) override
void setTexAnmTypeImpl (TexAnmType type) override
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
f32 getAimMotionShareScale () override
f32 getAnmRate (s32 anm_id) override
f32 getAnmBlendDuration (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
void setBodyRate (f32 rate) override
void setBodyFrame (f32 frame) override
void onPMusaChange () 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
void setJointMap () 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 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 setMiiColor (PlayerCharacter mii_color)
virtual void setCapMode (CapMode mode)
virtual void updateBonusCap ()
virtual void setMusaPtoNmlAnm ()
virtual void setPlayerNo (s32 player_no)
virtual void setMiiCapVisible (bool visible)
virtual bool isMiiCapVisible ()
PlayerModeModel getModeModel ()
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 ()
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 ()
f32 getBodyRate ()
bool isAnmStop ()
bool isBodyAnmStop ()
void setFrame (f32 frame)
f32 getFrame ()
void setFrameDirect (f32 frame)
f32 getFrameDirect ()
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 = 4

Protected Attributes

ModelResourcemShadowAnmRes
sead::SafeArray< f32, cMaterialMaxNummTevColor0Alpha
s32 _22C
f32 _230
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

Additional Inherited Members

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 }

Constructor & Destructor Documentation

◆ ShadowModel()

ShadowModel::ShadowModel ( Type type,
PlayerMode mode,
SceneType scene_type,
bool override_lightmap )

Member Function Documentation

◆ getBottomJointPos()

void ShadowModel::getBottomJointPos ( sead::Vector3f * pos)

◆ play()

void ShadowModel::play ( )
overridevirtual

Implements PlayerModelBase.

◆ draw()

void ShadowModel::draw ( )
overridevirtual

Reimplemented from PlayerModel.

◆ setModelDrawBufferIndex()

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

Reimplemented from PlayerModel.

◆ setModelDrawFlagDirect()

void ShadowModel::setModelDrawFlagDirect ( u32 flag)
overridevirtual

Reimplemented from PlayerModel.

◆ getBaseScale()

f32 ShadowModel::getBaseScale ( )
inlineoverridevirtual

Reimplemented from PlayerModel.

◆ setColorType()

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

Implements PlayerModel.

◆ setStarAnm()

void ShadowModel::setStarAnm ( )
overridevirtual

Reimplemented from PlayerModel.

◆ removeStarAnm_NowModeModel()

void ShadowModel::removeStarAnm_NowModeModel ( )
overridevirtual

Reimplemented from PlayerModel.

◆ removeStarAnm_OldModeModel()

void ShadowModel::removeStarAnm_OldModeModel ( )
overridevirtual

Reimplemented from PlayerModel.

◆ calcImpl()

void ShadowModel::calcImpl ( )
overridevirtual

Implements PlayerModelBase.

◆ setModeModel()

void ShadowModel::setModeModel ( PlayerModeModel mode_mdl)
overridevirtual

Reimplemented from PlayerModel.

◆ setTexAnmTypeImpl()

void ShadowModel::setTexAnmTypeImpl ( TexAnmType type)
overridevirtual

Implements PlayerModel.

◆ setTexAnmType()

void ShadowModel::setTexAnmType ( TexAnmType type)
overridevirtual

Reimplemented from PlayerModel.

◆ setPersonalAnm()

bool ShadowModel::setPersonalAnm ( ModelResource ** anm_res,
sead::BufferedSafeString * anm_name,
s32 anm_id,
bool body )
inlineoverridevirtual

Reimplemented from PlayerModel.

◆ setPersonalRideAnm()

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

Reimplemented from PlayerModel.

◆ getAimMotionShareScale()

f32 ShadowModel::getAimMotionShareScale ( )
inlineoverridevirtual

Implements PlayerModel.

◆ getAnmRate()

f32 ShadowModel::getAnmRate ( s32 anm_id)
overridevirtual

Reimplemented from PlayerModelBase.

◆ getAnmBlendDuration()

f32 ShadowModel::getAnmBlendDuration ( s32 anm_id)
overridevirtual

Reimplemented from PlayerModelBase.

◆ setAnm()

void ShadowModel::setAnm ( s32 anm_id,
f32 rate,
f32 blend_duration = 0.0f,
f32 frame = 0.0f )
overridevirtual

Reimplemented from PlayerModel.

◆ setFootAnmImpl()

void ShadowModel::setFootAnmImpl ( const ModelResource * anm_res,
const sead::SafeString & anm_name,
FrameCtrl::PlayMode mode,
f32 rate,
f32 frame,
f32 blend_duration )
overridevirtual

Reimplemented from PlayerModel.

◆ setBodyAnmImpl()

void ShadowModel::setBodyAnmImpl ( const ModelResource * anm_res,
const sead::SafeString & anm_name,
FrameCtrl::PlayMode mode,
f32 rate,
f32 frame,
f32 blend_duration )
overridevirtual

Reimplemented from PlayerModel.

◆ releaseBodyAnm()

void ShadowModel::releaseBodyAnm ( f32 blend_duration)
inlineoverridevirtual

Reimplemented from PlayerModel.

◆ setCarryBodyAnm()

void ShadowModel::setCarryBodyAnm ( f32 blend_duration,
bool bubble_reset_frame )
overridevirtual

Reimplemented from PlayerModel.

◆ setAnmBind()

void ShadowModel::setAnmBind ( )
overridevirtual

Reimplemented from PlayerModel.

◆ setBodyRate()

void ShadowModel::setBodyRate ( f32 rate)
inlineoverridevirtual

Reimplemented from PlayerModelBase.

◆ setBodyFrame()

void ShadowModel::setBodyFrame ( f32 frame)
inlineoverridevirtual

Reimplemented from PlayerModelBase.

◆ onPMusaChange()

void ShadowModel::onPMusaChange ( )
overridevirtual

Reimplemented from PlayerModel.

◆ vf144()

f32 ShadowModel::vf144 ( )
inlineoverridevirtual

Implements PlayerModel.

◆ getTevColor0Alpha()

f32 ShadowModel::getTevColor0Alpha ( s32 idx_material)
overridevirtual

Implements PlayerModel.

◆ setTevColor0Alpha()

void ShadowModel::setTevColor0Alpha ( s32 idx_material,
f32 value )
overridevirtual

Implements PlayerModel.

◆ setInvTevColor0()

void ShadowModel::setInvTevColor0 ( f32 value)
overridevirtual

Reimplemented from PlayerModel.

◆ setTevKColor3()

void ShadowModel::setTevKColor3 ( f32 value)
overridevirtual

Reimplemented from PlayerModel.

◆ setJointMap()

void ShadowModel::setJointMap ( )
overridevirtual

Reimplemented from PlayerModel.

Member Data Documentation

◆ cMaterialMaxNum

const s32 ShadowModel::cMaterialMaxNum = 4
static

◆ mShadowAnmRes

ModelResource* ShadowModel::mShadowAnmRes
protected

◆ mTevColor0Alpha

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

◆ _22C

s32 ShadowModel::_22C
protected

◆ _230

f32 ShadowModel::_230
protected