Files
ss/include/d/lyt/d_structd.h
T
robojumper b96e6ee19f Meter madness (#64)
* Meter Madness Part 1

* progress

* maybe

* ::build meters too

* vtables labeling, small order problems

* Moar symbols

* Renames

* some dLytNote_c

* Fixes

* Checkpoint

* ::remove funcs

* Fix includes

* Move code around

* rm dead code

* rm dead include

* Draw functions

* Update include/s/s_State.hpp

* Update include/toBeSorted/scgame.h
2024-10-17 17:58:38 -04:00

77 lines
1.7 KiB
C++

#ifndef D_LYT_STRUCTD_H
#define D_LYT_STRUCTD_H
#include "egg/core/eggHeap.h"
#include "nw4r/ut/ut_LinkList.h"
#include "toBeSorted/tlist.h"
namespace d2d {
struct dLytStructD_Base {
dLytStructD_Base()
: field_0x0C(0), field_0x10(0), field_0x14(0), field_0x015(0), field_0x016(0) {}
virtual ~dLytStructD_Base() {}
TListNode<dLytStructD_Base> mLink;
u32 field_0x0C;
u32 field_0x10;
u16 field_0x14;
u8 field_0x015;
u8 field_0x016;
};
struct dLytStructDInArray {
dLytStructDInArray() {
field_0x04 = 0;
field_0x08 = 0;
field_0x0A = 0;
field_0x0C = 0;
field_0x0E = 0;
}
virtual ~dLytStructDInArray() {}
u32 field_0x04;
u16 field_0x08;
u16 field_0x0A;
u16 field_0x0C;
u16 field_0x0E;
};
struct dLytStructD : dLytStructD_Base {
dLytStructD() : field_0x18(0), field_0x1C(nullptr), field_0x20(0), field_0x22(0), field_0x23(0), field_0x24(0) {}
virtual ~dLytStructD();
void init(nw4r::lyt::Pane *, u16, u8, u8);
void fn_80065E70(nw4r::lyt::Pane *, s32, s32, s32);
void fn_80065F70();
u32 field_0x18;
dLytStructDInArray *field_0x1C;
u16 field_0x20;
u8 field_0x22;
u8 field_0x23;
u32 field_0x24;
};
class dLytStructDList {
public:
dLytStructDList();
static dLytStructDList *create(EGG::Heap *heap);
static dLytStructDList *sInstance;
void appendToList1(dLytStructD *other);
void removeFromList1(dLytStructD *other);
void appendToList2(dLytStructD *other);
void removeFromList2(dLytStructD *other);
private:
TList<dLytStructD, offsetof(dLytStructD, mLink)> mList2;
TList<dLytStructD, offsetof(dLytStructD, mLink)> mList1;
bool field_0x18;
};
} // namespace d2d
#endif