New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ShapeAnimation.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_ShapeAnimObj.h>
10
11class ModelG3d;
12class ModelResource;
13
15{
16public:
18
19 bool init(const ModelG3d* model, const ModelResource* mdl_res, const sead::PtrArray<ModelResource>* anim_mdl_res_array, sead::Heap* heap);
20
21 bool isValid() const { return mRes && mModel; }
22
23 void bindModel(const ModelG3d* model, s32 index);
25
26private:
28
29public:
30 void play(const ModelResource* mdl_res, const sead::SafeString& name);
31
32 void calc() override;
33
34 nw::g3d::ShapeAnimObj& getAnimObj() { return mAnimObj; }
35 const nw::g3d::ShapeAnimObj& getAnimObj() const { return mAnimObj; }
36
37 nw::g3d::res::ResShapeAnim* getResource() const { return mRes; }
38
39 const ModelG3d* getModel() const { return mModel; }
40 s32 getIndex() const { return mIndex; }
41
42private:
43 static void updateInitArg_(nw::g3d::ShapeAnimObj::InitArg* arg, const ModelResource* mdl_res);
44
45private:
50 void* mBuffer;
51};
52static_assert(sizeof(ShapeAnimation) == 0x88);
Definition ModelG3d.h:27
Definition ModelResource.h:13
Definition ShapeAnimation.h:15
s32 getIndex() const
Definition ShapeAnimation.h:40
void bindModel(const ModelG3d *model, s32 index)
void unbindModel()
void play(const ModelResource *mdl_res, const sead::SafeString &name)
bool isValid() const
Definition ShapeAnimation.h:21
void calc() override
nw::g3d::ShapeAnimObj mAnimObj
Definition ShapeAnimation.h:46
void * mBuffer
Definition ShapeAnimation.h:50
nw::g3d::res::ResShapeAnim * mRes
Definition ShapeAnimation.h:47
bool init(const ModelG3d *model, const ModelResource *mdl_res, const sead::PtrArray< ModelResource > *anim_mdl_res_array, sead::Heap *heap)
void bindAnimObj_()
const nw::g3d::ShapeAnimObj & getAnimObj() const
Definition ShapeAnimation.h:35
const ModelG3d * mModel
Definition ShapeAnimation.h:48
nw::g3d::ShapeAnimObj & getAnimObj()
Definition ShapeAnimation.h:34
static void updateInitArg_(nw::g3d::ShapeAnimObj::InitArg *arg, const ModelResource *mdl_res)
const ModelG3d * getModel() const
Definition ShapeAnimation.h:39
s32 mIndex
Definition ShapeAnimation.h:49
nw::g3d::res::ResShapeAnim * getResource() const
Definition ShapeAnimation.h:37