New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
TexturePatternAnimation.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_TexPatternAnimObj.h>
10
11class ModelG3d;
12class ModelResource;
13
15{
16public:
17 // Address: 0x0250AECC
19
20 // Address: 0x0250B058
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: 0x0250B1A8
26 void bindModel(const ModelG3d* model, s32 index);
27 // Address: 0x0250B148
29
30private:
31 // Address: 0x0250B15C
33
34public:
35 // Address: 0x0250B1EC
36 void play(const ModelResource* mdl_res, const sead::SafeString& name);
37
38 // Address: 0x0250B38C
39 bool forceBind(const sead::SafeString& name, const nw::g3d::res::ResTexture* texture);
40
41 // Address: 0x0250B3F0
42 void calc() override;
43
44 nw::g3d::TexPatternAnimObj& getAnimObj() { return mAnimObj; }
45 const nw::g3d::TexPatternAnimObj& getAnimObj() const { return mAnimObj; }
46
47 nw::g3d::res::ResTexPatternAnim* getResource() const { return mRes; }
48
49 const ModelG3d* getModel() const { return mModel; }
50 s32 getIndex() const { return mIndex; }
51
52private:
53 static void updateInitArg_(nw::g3d::TexPatternAnimObj::InitArg* arg, const ModelResource* mdl_res);
54
55private:
60};
61static_assert(sizeof(TexturePatternAnimation) == 0x84, "TexturePatternAnimation size mismatch");
Definition ModelG3d.h:27
Definition ModelResource.h:13
Definition TexturePatternAnimation.h:15
const ModelG3d * getModel() const
Definition TexturePatternAnimation.h:49
static void updateInitArg_(nw::g3d::TexPatternAnimObj::InitArg *arg, const ModelResource *mdl_res)
void bindModel(const ModelG3d *model, s32 index)
void calc() override
bool isValid() const
Definition TexturePatternAnimation.h:23
nw::g3d::TexPatternAnimObj & getAnimObj()
Definition TexturePatternAnimation.h:44
void play(const ModelResource *mdl_res, const sead::SafeString &name)
bool forceBind(const sead::SafeString &name, const nw::g3d::res::ResTexture *texture)
const nw::g3d::TexPatternAnimObj & getAnimObj() const
Definition TexturePatternAnimation.h:45
nw::g3d::res::ResTexPatternAnim * mRes
Definition TexturePatternAnimation.h:57
const ModelG3d * mModel
Definition TexturePatternAnimation.h:58
bool init(const ModelG3d *model, const ModelResource *mdl_res, const sead::PtrArray< ModelResource > *anim_mdl_res_array, sead::Heap *heap)
s32 mIndex
Definition TexturePatternAnimation.h:59
nw::g3d::res::ResTexPatternAnim * getResource() const
Definition TexturePatternAnimation.h:47
s32 getIndex() const
Definition TexturePatternAnimation.h:50
nw::g3d::TexPatternAnimObj mAnimObj
Definition TexturePatternAnimation.h:56