2021-10-14 16:56:34 +00:00
|
|
|
#ifndef _ROOTMENUSECTION_H
|
|
|
|
#define _ROOTMENUSECTION_H
|
|
|
|
|
|
|
|
#include "Section.h"
|
|
|
|
|
|
|
|
struct MenuSection : public Section {
|
|
|
|
MenuSection(struct JFWDisplay*, struct JKRHeap*, bool);
|
2022-09-15 03:00:12 +00:00
|
|
|
|
2023-01-25 21:50:15 +00:00
|
|
|
virtual ~MenuSection() { } // _08 (weak)
|
|
|
|
virtual void run(); // _0C
|
|
|
|
virtual Section* getCurrentSection() { return mCurrentSection; } // _30 (weak)
|
|
|
|
virtual ISection* setChildSection(JKRHeap*) = 0; // _48
|
2021-10-14 16:56:34 +00:00
|
|
|
|
2022-08-04 03:32:51 +00:00
|
|
|
bool runChildSection();
|
2022-08-04 01:59:09 +00:00
|
|
|
|
2022-09-15 03:00:12 +00:00
|
|
|
// _00 = VTBL
|
|
|
|
// _00-_3C = Section
|
2023-10-27 03:15:16 +00:00
|
|
|
bool mIsDone; // _3C
|
2023-01-25 21:50:15 +00:00
|
|
|
u8 _3D; // _3D
|
|
|
|
u8 _3E; // _3E
|
|
|
|
u8 _3F; // _3F
|
|
|
|
Section* mCurrentSection; // _40
|
2021-10-14 16:56:34 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct RootMenuSection : public MenuSection {
|
|
|
|
RootMenuSection(struct JKRHeap*);
|
2022-09-15 03:00:12 +00:00
|
|
|
|
2022-08-04 03:32:51 +00:00
|
|
|
virtual ~RootMenuSection(); // _08
|
|
|
|
virtual void drawInit(struct Graphics&); // _1C
|
|
|
|
virtual bool doUpdate() { return false; } // _3C
|
2022-11-05 20:00:50 +00:00
|
|
|
virtual void doDraw(Graphics& gfx) { } // _40
|
2022-08-04 03:32:51 +00:00
|
|
|
virtual ISection* setChildSection(JKRHeap*); // _48
|
2021-10-14 16:56:34 +00:00
|
|
|
};
|
|
|
|
|
2021-10-14 19:43:06 +00:00
|
|
|
#endif
|