NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
lyt_pane.hpp
1#pragma once
2#include <lib/nw4r/lyt/lyt_draw_info.hpp>
3#include <lib/nw4r/ut/color.hpp>
4#include <lib/nw4r/math/vec.hpp>
5#include <_dummy_classes.hpp>
6
7namespace nw4r {
8namespace lyt {
9
10class Pane {
11public:
12
13 Pane(const res::Pane *);
14
15 virtual ~Pane();
16
17 virtual int *GetRuntimeTypeInfo() const { return &typeInfo; }
18 virtual void CalculateMtx(const DrawInfo &);
19 virtual void Draw(const DrawInfo &);
20 virtual void DrawSelf(const DrawInfo &);
21 virtual void Animate(unsigned long);
22 virtual void AnimateSelf(unsigned long);
23 virtual ut::Color GetVtxColor(unsigned long) const;
24 virtual ut::Color SetVtxColor(unsigned long, ut::Color);
25 virtual unsigned char GetColorElement(unsigned long) const;
26 virtual void SetColorElement(unsigned long, unsigned char);
27 virtual unsigned char GetVtxColorElement(unsigned long) const;
28 virtual void SetVtxColorElement(unsigned long, unsigned char);
29 virtual Pane *FindPaneByName(const char *, bool);
30 virtual Material *FindMaterialByName(const char *, bool);
31 virtual void BindAnimation(AnimTransform *, bool, bool);
32 virtual void UnbindAnimation(AnimTransform *, bool);
33 virtual void UnbindAllAnimation(bool);
34 virtual void UnbindAnimationSelf(AnimTransform *);
35 virtual void AddAnimationLink(AnimationLink *);
36 virtual ut::LinkList<AnimationLink, 0> *FindAnimationLinkSelf(AnimTransform *);
37 virtual ut::LinkList<AnimationLink, 0> *FindAnimationLinkSelf(const AnimResource &);
38 virtual void SetAnimationEnable(AnimTransform *, bool, bool);
39 virtual void SetAnimationEnable(const AnimResource &, bool, bool);
40 virtual bool GetMaterialNum() const;
41 virtual Material *GetMaterial() const;
42 virtual Material *GetMaterial(unsigned long) const;
43 virtual void LoadMtx(const nw4r::lyt::DrawInfo &);
44
45 void AppendChild(nw4r::lyt::Pane *);
46 void RemoveChild(nw4r::lyt::Pane *);
47
48 math::VEC2 GetVtxPos() const;
49 unsigned short GetExtUserDataNum() const;
50 void *FindExtUserDataByName(const char *);
51
52 void setVisible(bool visible) {
53 mFlags = (mFlags & 0xfe) | visible;
54 }
55 void setFieldB8(u8 value) { mField_b8 = value; }
56
57private:
58 char mFill1[0x28]; // To be RE'd
59 math::VEC3 pos;
60 math::VEC3 rot;
61 math::VEC2 scale;
62 float width;
63 float height;
64 char mFill2[0x64]; // To be RE'd
65 u8 mField_b8;
66 u8 mField_b9;
67 u8 mOriginType;
68
69public:
70 u8 mFlags;
71
72 static int typeInfo;
73};
74
75} // namespace lyt
76} // namespace nw4r
A two-dimensional floating point vector.
Definition vec.hpp:7
A three-dimensional floating point vector.
Definition vec.hpp:13
A 32-bit RGBA color.
Definition color.hpp:8