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
14class ShaderParamAnimation : public Animation // vtbl Address: 0x100BE204
15{
16public:
17 // Address: 0x024FE8E4
19
20 // Address: 0x024FEB60
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: 0x024FEC84
26 void bindModel(const ModelG3d* model, s32 index);
27 // Address: 0x024FEC54
29
30private:
31 // Address: 0x024FEC68
33
34public:
35 // Address: 0x024FECC8
36 void playColorAnim(const ModelResource* mdl_res, const sead::SafeString& name);
37 // Address: 0x024FEE50
38 void playTexSrtAnim(const ModelResource* mdl_res, const sead::SafeString& name);
39
40 // Address: 0x024FEFD8
41 void calc() override;
42
43 nw::g3d::ShaderParamAnimObj& getAnimObj() { return mAnimObj; }
44 const nw::g3d::ShaderParamAnimObj& getAnimObj() const { return mAnimObj; }
45
46 nw::g3d::res::ResShaderParamAnim* getResource() const { return mRes; }
47
48 const ModelG3d* getModel() const { return mModel; }
49 s32 getIndex() const { return mIndex; }
50
51private:
52 // Address: 0x024FE968
53 static void updateInitArg_(nw::g3d::ShaderParamAnimObj::InitArg* arg, const ModelResource* mdl_res);
54
55private:
60 void* mBuffer;
61};
62static_assert(sizeof(ShaderParamAnimation) == 0x88);
Definition ModelG3d.h:27
Definition ModelResource.h:13
Definition ShaderParamAnimation.h:15
static void updateInitArg_(nw::g3d::ShaderParamAnimObj::InitArg *arg, const ModelResource *mdl_res)
nw::g3d::res::ResShaderParamAnim * mRes
Definition ShaderParamAnimation.h:57
const ModelG3d * mModel
Definition ShaderParamAnimation.h:58
nw::g3d::ShaderParamAnimObj mAnimObj
Definition ShaderParamAnimation.h:56
void * mBuffer
Definition ShaderParamAnimation.h:60
nw::g3d::ShaderParamAnimObj & getAnimObj()
Definition ShaderParamAnimation.h:43
const nw::g3d::ShaderParamAnimObj & getAnimObj() const
Definition ShaderParamAnimation.h:44
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:48
bool isValid() const
Definition ShaderParamAnimation.h:23
nw::g3d::res::ResShaderParamAnim * getResource() const
Definition ShaderParamAnimation.h:46
void calc() override
s32 getIndex() const
Definition ShaderParamAnimation.h:49
void playTexSrtAnim(const ModelResource *mdl_res, const sead::SafeString &name)
s32 mIndex
Definition ShaderParamAnimation.h:59