3#include <graphics/AnimModel.h>
4#include <graphics/JointBlendModelCalcRatio.h>
10 ModelResource* mdl_res,
12 s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num,
13 sead::Heap* heap =
nullptr,
14 const sead::PtrArray<ModelResource>* anim_mdl_res_array =
nullptr
18 ModelResource* mdl_res,
19 const sead::SafeString& name,
20 s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num,
22 sead::Heap* heap =
nullptr
26 ModelResource* mdl_res,
27 const sead::SafeString& name,
29 s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num,
30 Model::BoundingMode bounding_mode,
31 sead::Heap* heap =
nullptr
35 const sead::SafeString& resource_key,
36 const sead::SafeString& name,
37 s32 skl_anim_num = 0, s32 tex_anim_num = 0, s32 shu_anim_num = 0, s32 vis_anim_num = 0, s32 sha_anim_num = 0,
39 sead::Heap* heap =
nullptr
43 const sead::SafeString& resource_key,
44 const sead::SafeString& name,
46 s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num,
47 Model::BoundingMode bounding_mode,
48 sead::Heap* heap =
nullptr
53 JointBlendModel(Model* model, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num);
56 void init(ModelResource* mdl_res,
const sead::PtrArray<ModelResource>* anim_mdl_res_array =
nullptr, sead::Heap* heap =
nullptr);
66 void update(
const sead::Vector3f& pos,
const sead::Vector3u& rot,
const sead::Vector3f& scale,
bool animate =
true)
69 mtx.makeRTIdx(rot, pos);
82 ModelResource* mdl_res,
83 const sead::SafeString& name,
89 const sead::SafeString& name,
99 const sead::SafeString& name,
109 ModelResource* mdl_res,
110 const sead::SafeString& name,
125 ModelResource* mdl_res,
127 s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num,
129 const sead::PtrArray<ModelResource>* anim_mdl_res_array
133 blend_model->init(mdl_res, anim_mdl_res_array, heap);
138 ModelResource* mdl_res,
139 const sead::SafeString& name,
140 s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num,
141 Model::BoundingMode bounding_mode,
145 Model* model = ModelUtil::createG3d(*mdl_res, name, skl_anim_num, tex_anim_num, shu_anim_num, vis_anim_num, sha_anim_num, bounding_mode, heap);
146 return create(mdl_res, model, skl_anim_num, tex_anim_num, shu_anim_num, vis_anim_num, sha_anim_num, heap);
150 ModelResource* mdl_res,
151 const sead::SafeString& name,
153 s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num,
154 Model::BoundingMode bounding_mode,
158 Model* model = ModelUtil::createG3d(*mdl_res, name, view_num, skl_anim_num, tex_anim_num, shu_anim_num, vis_anim_num, sha_anim_num, bounding_mode, heap);
159 return create(mdl_res, model, skl_anim_num, tex_anim_num, shu_anim_num, vis_anim_num, sha_anim_num, heap);
163 const sead::SafeString& resource_key,
164 const sead::SafeString& name,
165 s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num,
166 Model::BoundingMode bounding_mode,
170 ModelResource* mdl_res = ModelResourceMgr::instance()->getResource(resource_key);
171 return create(mdl_res, name, skl_anim_num, tex_anim_num, shu_anim_num, vis_anim_num, sha_anim_num, bounding_mode, heap);
175 const sead::SafeString& resource_key,
176 const sead::SafeString& name,
178 s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num,
179 Model::BoundingMode bounding_mode,
183 ModelResource* mdl_res = ModelResourceMgr::instance()->getResource(resource_key);
184 return create(mdl_res, name, view_num, skl_anim_num, tex_anim_num, shu_anim_num, vis_anim_num, sha_anim_num, bounding_mode, heap);
Definition JointBlendModel.h:7
void update(const sead::Vector3f &pos, const sead::Vector3u &rot, const sead::Vector3f &scale, bool animate=true)
Definition JointBlendModel.h:66
void setAnm(const sead::SafeString &name, FrameCtrl::PlayMode mode=FrameCtrl::cMode_Repeat, f32 rate=1.0f, f32 frame=0.0f)
static JointBlendModel * create(ModelResource *mdl_res, const sead::SafeString &name, s32 view_num, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, Model::BoundingMode bounding_mode, sead::Heap *heap=nullptr)
Definition JointBlendModel.h:149
static JointBlendModel * create(const sead::SafeString &resource_key, const sead::SafeString &name, s32 skl_anim_num=0, s32 tex_anim_num=0, s32 shu_anim_num=0, s32 vis_anim_num=0, s32 sha_anim_num=0, Model::BoundingMode bounding_mode=Model::cBoundingMode_Disable, sead::Heap *heap=nullptr)
Definition JointBlendModel.h:162
void setAnm(ModelResource *mdl_res, const sead::SafeString &name, f32 blend_duration)
static JointBlendModel * create(ModelResource *mdl_res, const sead::SafeString &name, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, Model::BoundingMode bounding_mode=Model::cBoundingMode_Disable, sead::Heap *heap=nullptr)
Definition JointBlendModel.h:137
void setAnm_(ModelResource *mdl_res, const sead::SafeString &name, f32 blend_duration, FrameCtrl::PlayMode mode=FrameCtrl::cMode_Repeat, f32 rate=1.0f, f32 frame=0.0f)
SkeletalAnimation * getCurSklAnim() const
Definition JointBlendModel.h:78
JointBlendModel(Model *model, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num)
JointBlendModelCalcRatio mCalcRatio
Definition JointBlendModel.h:119
u32 mCurAnmIdx
Definition JointBlendModel.h:120
static JointBlendModel * create(ModelResource *mdl_res, Model *model, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, sead::Heap *heap=nullptr, const sead::PtrArray< ModelResource > *anim_mdl_res_array=nullptr)
Definition JointBlendModel.h:124
static JointBlendModel * create(const sead::SafeString &resource_key, const sead::SafeString &name, s32 view_num, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, Model::BoundingMode bounding_mode, sead::Heap *heap=nullptr)
Definition JointBlendModel.h:174
void init(ModelResource *mdl_res, const sead::PtrArray< ModelResource > *anim_mdl_res_array=nullptr, sead::Heap *heap=nullptr)
void setAnm(const sead::SafeString &name, f32 blend_duration, FrameCtrl::PlayMode mode=FrameCtrl::cMode_Repeat, f32 rate=1.0f, f32 frame=0.0f)