NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
anm_obj.hpp
1#pragma once
2
3#include <lib/nw4r/g3d/g3d_obj.hpp>
4#include <lib/nw4r/g3d/res_anm.hpp>
5#include <lib/nw4r/g3d/res_mdl.hpp>
6#include <lib/rvl/mem/MEMHeapCommon.h>
7
8namespace nw4r {
9namespace g3d {
10
11class ClrAnmResult;
12
13class AnmObj : public G3dObj {
14public:
15 virtual ~AnmObj();
16 virtual void G3dProc(ulong proc, ulong param, void *info);
17 virtual void SetFrame(float frame);
18 virtual float GetFrame() const;
19 virtual void UpdateFrame();
20 virtual void SetUpdateRate(float rate);
21 virtual float GetUpdateRate() const;
22 virtual bool Bind(nw4r::g3d::ResMdl resMdl);
23 virtual void Release();
24 virtual int GetResult(nw4r::g3d::ClrAnmResult *, unsigned long);
25 virtual void Attach(int, nw4r::g3d::AnmObj *);
26 virtual void Detach(int);
27
28 enum AnmFlag {
29 IS_BOUND = 4
30 };
31
32 bool TestAnmFlag(AnmFlag) const;
33
34 AnmObj *getNode() const { return node; }
35
36 AnmObj *node;
37};
38
39class AnmObjVisRes : public AnmObj {
40public:
42
43 NW4R_G3D_TYPE_OBJ_DECL(AnmObjVisRes);
44};
45
46class AnmObjMatClrRes : public AnmObj {
47public:
48 static AnmObjMatClrRes *Construct(MEMAllocator*, size_t*, nw4r::g3d::ResAnmClr, nw4r::g3d::ResMdl, bool);
49
50 NW4R_G3D_TYPE_OBJ_DECL(AnmObjMatClrRes);
51};
52
53class AnmObjTexPatRes : public AnmObj {
54public:
55 static AnmObjTexPatRes *Construct(MEMAllocator*, size_t*, nw4r::g3d::ResAnmTexPat, nw4r::g3d::ResMdl, bool);
56
57 NW4R_G3D_TYPE_OBJ_DECL(AnmObjTexPatRes);
58};
59
60class AnmObjTexSrtRes : public AnmObj {
61public:
62 static AnmObjTexSrtRes *Construct(MEMAllocator*, size_t*, nw4r::g3d::ResAnmTexSrt, nw4r::g3d::ResMdl, bool);
63
64 NW4R_G3D_TYPE_OBJ_DECL(AnmObjTexSrtRes);
65};
66
68public:
69 static AnmObjTexSrtOverride *Construct(MEMAllocator*, size_t*, nw4r::g3d::ResMdl, int);
70
71 int getCount() const { return count; }
72
73 NW4R_G3D_TYPE_OBJ_DECL(AnmObjTexSrtOverride);
74
75 char pad[0x10];
76 int count;
77 AnmObj **arr;
78};
79
81public:
82 static AnmObjTexPatOverride *Construct(MEMAllocator*, size_t*, nw4r::g3d::ResMdl, int);
83
84 int getCount() const { return count; }
85
86 NW4R_G3D_TYPE_OBJ_DECL(AnmObjTexPatOverride);
87
88 char pad[0x10];
89 int count;
90 AnmObj **arr;
91};
92
94public:
95 static AnmObjMatClrOverride *Construct(MEMAllocator*, size_t*, nw4r::g3d::ResMdl, int);
96
97 int getCount() const { return count; }
98
99 NW4R_G3D_TYPE_OBJ_DECL(AnmObjMatClrOverride);
100
101 char pad[0x10];
102 int count;
103 AnmObj **arr;
104};
105
106} // namespace g3d
107} // namespace nw4r
3D graphics drawing library.
Definition docgroup.h:10