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
15{
16public:
17 // Address: 0x024FD7E8
19
20 // Address: 0x024FD948
21 bool init(const ModelG3d* model, const ModelResource* mdl_res, const sead::PtrArray<ModelResource>* anim_mdl_res_array, sead::Heap* heap);
22
23 bool isValid() const { return mRes && mModel; }
24
25 // Address: 0x024FDA98
26 void bindModel(const ModelG3d* model, s32 index);
27 // Address: 0x024FDA64
29
30private:
31 // Address: 0x024FDA78
33
34public:
35 // Address: 0x024FDADC
36 void play(const ModelResource* mdl_res, const sead::SafeString& name);
37
38 // Address: 0x024FDC64
39 void unbindTarget(s32 idx_target);
40
41 // Address: 0x024FDCB4
43 // Address: 0x024FDCF8
44 void enableBindFlag(s32 idx_bone);
45
46 // Address: 0x024FDD1C
47 void calc() override;
48
49 nw::g3d::SkeletalAnimObj& getAnimObj() { return mAnimObj; }
50 const nw::g3d::SkeletalAnimObj& getAnimObj() const { return mAnimObj; }
51
52 nw::g3d::res::ResSkeletalAnim* getResource() const { return mRes; }
53
54 const ModelG3d* getModel() const { return mModel; }
55 s32 getIndex() const { return mIndex; }
56
57private:
58 static void updateInitArg_(nw::g3d::SkeletalAnimObj::InitArg* arg, const ModelResource* mdl_res);
59
60private:
62 void* mBuffer;
66};
67static_assert(sizeof(SkeletalAnimation) == 0x98);
Definition ModelG3d.h:27
Definition ModelResource.h:13
Definition SkeletalAnimation.h:15
nw::g3d::res::ResSkeletalAnim * mRes
Definition SkeletalAnimation.h:65
void enableBindFlag(s32 idx_bone)
nw::g3d::SkeletalAnimObj & getAnimObj()
Definition SkeletalAnimation.h:49
void * mBuffer
Definition SkeletalAnimation.h:62
nw::g3d::res::ResSkeletalAnim * getResource() const
Definition SkeletalAnimation.h:52
void unbindTarget(s32 idx_target)
s32 mIndex
Definition SkeletalAnimation.h:64
static void updateInitArg_(nw::g3d::SkeletalAnimObj::InitArg *arg, const ModelResource *mdl_res)
nw::g3d::SkeletalAnimObj mAnimObj
Definition SkeletalAnimation.h:61
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:54
void play(const ModelResource *mdl_res, const sead::SafeString &name)
void calc() override
bool isValid() const
Definition SkeletalAnimation.h:23
const ModelG3d * mModel
Definition SkeletalAnimation.h:63
void bindModel(const ModelG3d *model, s32 index)
s32 getIndex() const
Definition SkeletalAnimation.h:55
const nw::g3d::SkeletalAnimObj & getAnimObj() const
Definition SkeletalAnimation.h:50