New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
AnimExpDecayCalcRatio.h
Go to the documentation of this file.
1#pragma once
2
3#include <container/seadBuffer.h>
4#include <math/seadMatrix.h>
5#include <prim/seadBitFlag.h>
6
7class Model;
8
10{
11 // NSMBW: m3d::mdl_c::mdlCallback_c
12
13private:
19
20public:
21 // Address: 0x024D4FB8
22 AnimExpDecayCalcRatio(s32 bone_num_max);
23 // Address: 0x024D5210
25
26 // Address: 0x024D5248
27 void set(f32 duration);
28 // Address: 0x024D5224
29 void reset();
30
31 // Address: 0x024D5288
32 void calc();
33
34 // Address: 0x024D5354
35 void applyTo(sead::Matrixf* bone_rt, sead::Vector3f* bone_scale, s32 bone_index);
36 // Address: 0x024D5710
37 void applyTo(Model* model);
38
39 // Address: 0x024D56FC
40 void offUpdate();
41
42 // Address: 0x024D52FC
43 bool isRunning() const;
44
45 bool isEnd() const
46 {
47 return mBlendWeight == 0.0f;
48 }
49
50 // Address: 0x024D532C
51 bool isBlendDisable(s32 bone_index) const;
52 // Address: 0x024D57DC
53 void setBlendDisable(s32 bone_index);
54
55 f32 ratio() const
56 {
57 return mRatioB;
58 }
59
60private:
61 // NSMBW: nw4r::g3d::ChrAnmResult
65
66 // New in NSMBU: Per-bone blend disable
68
70
71 // NSMBW: m3d::calcRatio_c
75 f32 mRatioA; // Source
76 f32 mRatioB; // Target
79};
80static_assert(sizeof(AnimExpDecayCalcRatio) == 0x40);
Definition AnimExpDecayCalcRatio.h:10
f32 mInvDuration
Definition AnimExpDecayCalcRatio.h:74
void setBlendDisable(s32 bone_index)
bool mIsFramesPrepared
Definition AnimExpDecayCalcRatio.h:77
f32 ratio() const
Definition AnimExpDecayCalcRatio.h:55
virtual ~AnimExpDecayCalcRatio()
bool mIsActive
Definition AnimExpDecayCalcRatio.h:78
BoneFlag
Definition AnimExpDecayCalcRatio.h:15
@ cBoneFlag_BlendEnable
Definition AnimExpDecayCalcRatio.h:16
@ cBoneFlag_BlendDisable
Definition AnimExpDecayCalcRatio.h:17
sead::Buffer< BoneFlag > mBoneFlag
Definition AnimExpDecayCalcRatio.h:67
bool isEnd() const
Definition AnimExpDecayCalcRatio.h:45
f32 mCounter
Definition AnimExpDecayCalcRatio.h:73
s32 mBoneNumMax
Definition AnimExpDecayCalcRatio.h:69
f32 mBlendWeight
Definition AnimExpDecayCalcRatio.h:72
f32 mRatioB
Definition AnimExpDecayCalcRatio.h:76
sead::Buffer< sead::Vector3f > mBoneScale
Definition AnimExpDecayCalcRatio.h:64
void set(f32 duration)
AnimExpDecayCalcRatio(s32 bone_num_max)
f32 mRatioA
Definition AnimExpDecayCalcRatio.h:75
sead::Buffer< sead::Vector3f > mBoneTrans
Definition AnimExpDecayCalcRatio.h:62
void applyTo(sead::Matrixf *bone_rt, sead::Vector3f *bone_scale, s32 bone_index)
bool isRunning() const
void applyTo(Model *model)
bool isBlendDisable(s32 bone_index) const
sead::Buffer< sead::Quatf > mBoneRot
Definition AnimExpDecayCalcRatio.h:63
Definition Model.h:15