New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ShaderParamAnimation.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_ShaderParamAnimObj.h>
10
11class ModelG3d;
12class ModelResource;
13
14// vtbl Address: 0x100BE204
16{
17public:
18 // Address: 0x024FE8E4
20
21 // Address: 0x024FEB60
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: 0x024FEC84
27 void bindModel(const ModelG3d* model, s32 index);
28 // Address: 0x024FEC54
30
31private:
32 // Address: 0x024FEC68
34
35public:
36 // Address: 0x024FECC8
37 void playColorAnim(const ModelResource* mdl_res, const sead::SafeString& name);
38 // Address: 0x024FEE50
39 void playTexSrtAnim(const ModelResource* mdl_res, const sead::SafeString& name);
40
41 // Address: 0x024FEFD8
42 void calc() override;
43
44 nw::g3d::ShaderParamAnimObj& getAnimObj() { return mAnimObj; }
45 const nw::g3d::ShaderParamAnimObj& getAnimObj() const { return mAnimObj; }
46
47 nw::g3d::res::ResShaderParamAnim* getResource() const { return mRes; }
48 void unbind() { mRes = nullptr; }
49
50 const ModelG3d* getModel() const { return mModel; }
51 s32 getIndex() const { return mIndex; }
52
53private:
54 // Address: 0x024FE968
55 static void updateInitArg_(nw::g3d::ShaderParamAnimObj::InitArg* arg, const ModelResource* mdl_res);
56
57private:
62 void* mBuffer;
63};
64static_assert(sizeof(ShaderParamAnimation) == 0x88);
Definition ModelG3d.h:28
Definition ModelResource.h:14
Definition ShaderParamAnimation.h:16
static void updateInitArg_(nw::g3d::ShaderParamAnimObj::InitArg *arg, const ModelResource *mdl_res)
nw::g3d::res::ResShaderParamAnim * mRes
Definition ShaderParamAnimation.h:59
const ModelG3d * mModel
Definition ShaderParamAnimation.h:60
nw::g3d::ShaderParamAnimObj mAnimObj
Definition ShaderParamAnimation.h:58
void unbind()
Definition ShaderParamAnimation.h:48
void * mBuffer
Definition ShaderParamAnimation.h:62
nw::g3d::ShaderParamAnimObj & getAnimObj()
Definition ShaderParamAnimation.h:44
const nw::g3d::ShaderParamAnimObj & getAnimObj() const
Definition ShaderParamAnimation.h:45
void playColorAnim(const ModelResource *mdl_res, const sead::SafeString &name)
void bindModel(const ModelG3d *model, s32 index)
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 ShaderParamAnimation.h:50
bool isValid() const
Definition ShaderParamAnimation.h:24
nw::g3d::res::ResShaderParamAnim * getResource() const
Definition ShaderParamAnimation.h:47
void calc() override
s32 getIndex() const
Definition ShaderParamAnimation.h:51
void playTexSrtAnim(const ModelResource *mdl_res, const sead::SafeString &name)
s32 mIndex
Definition ShaderParamAnimation.h:61