New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
SkeletalAnimation.h
Go to the documentation of this file.
1#pragma once
2
3#include <graphics/Animation.h>
4
5#include <container/seadPtrArray.h>
6#include <heap/seadHeap.h>
7#include <prim/seadSafeString.h>
8
9#include <nw/g3d/g3d_SkeletalAnimObj.h>
10
11class ModelG3d;
12class ModelResource;
13
14// vtbl Address: 0x100BDF44
16{
17public:
18 // Address: 0x024FD7E8
20
21 // Address: 0x024FD948
22 bool init(const ModelG3d* model, const ModelResource* mdl_res, const sead::PtrArray<ModelResource>* anim_mdl_res_array, sead::Heap* heap);
23
24 bool isValid() const { return mRes && mModel; }
25
26 // Address: 0x024FDA98
27 void bindModel(const ModelG3d* model, s32 index);
28 // Address: 0x024FDA64
30
31private:
32 // Address: 0x024FDA78
34
35public:
36 // Address: 0x024FDADC
37 void play(const ModelResource* mdl_res, const sead::SafeString& name);
38
39 // Address: 0x024FDC64
40 void unbindTarget(s32 idx_target);
41
42 // Address: 0x024FDCB4
44 // Address: 0x024FDCF8
45 void enableBindFlag(s32 idx_bone);
46
47 // Address: Deleted
48 void disableBindFlag(s32 idx_bone);
49
50 // Address: 0x024FDD1C
51 void calc() override;
52
53 nw::g3d::SkeletalAnimObj& getAnimObj() { return mAnimObj; }
54 const nw::g3d::SkeletalAnimObj& getAnimObj() const { return mAnimObj; }
55
56 nw::g3d::res::ResSkeletalAnim* getResource() const { return mRes; }
57
58 const ModelG3d* getModel() const { return mModel; }
59 s32 getIndex() const { return mIndex; }
60
61private:
62 // Address: 0x024FD86C
63 static void updateInitArg_(nw::g3d::SkeletalAnimObj::InitArg* arg, const ModelResource* mdl_res);
64
65private:
67 void* mBuffer;
71};
72static_assert(sizeof(SkeletalAnimation) == 0x98);
Definition ModelG3d.h:28
Definition ModelResource.h:14
Definition SkeletalAnimation.h:16
nw::g3d::res::ResSkeletalAnim * mRes
Definition SkeletalAnimation.h:70
void enableBindFlag(s32 idx_bone)
nw::g3d::SkeletalAnimObj & getAnimObj()
Definition SkeletalAnimation.h:53
void * mBuffer
Definition SkeletalAnimation.h:67
nw::g3d::res::ResSkeletalAnim * getResource() const
Definition SkeletalAnimation.h:56
void unbindTarget(s32 idx_target)
s32 mIndex
Definition SkeletalAnimation.h:69
static void updateInitArg_(nw::g3d::SkeletalAnimObj::InitArg *arg, const ModelResource *mdl_res)
nw::g3d::SkeletalAnimObj mAnimObj
Definition SkeletalAnimation.h:66
bool init(const ModelG3d *model, const ModelResource *mdl_res, const sead::PtrArray< ModelResource > *anim_mdl_res_array, sead::Heap *heap)
const ModelG3d * getModel() const
Definition SkeletalAnimation.h:58
void play(const ModelResource *mdl_res, const sead::SafeString &name)
void calc() override
bool isValid() const
Definition SkeletalAnimation.h:24
const ModelG3d * mModel
Definition SkeletalAnimation.h:68
void bindModel(const ModelG3d *model, s32 index)
s32 getIndex() const
Definition SkeletalAnimation.h:59
void disableBindFlag(s32 idx_bone)
const nw::g3d::SkeletalAnimObj & getAnimObj() const
Definition SkeletalAnimation.h:54