summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMattias Blum <142374929+mattias-blum@users.noreply.github.com>2026-07-31 13:33:36 -0400
committerGitHub <noreply@github.com>2026-07-31 13:33:36 -0400
commitd46b64f9cba1c3561d504a753dcbd77c6ba796f7 (patch)
tree33a390f1b6331fd0f4c551835fb5b8276b083d76 /include
parent45718d8cccbde7bad1c090de82e343fba68dc27f (diff)
d_menu work (#1141)
* more progress * more progress * more progress * more progress * d_menu work d_menu_collect class members cleaned up, some functions at 100% matching * added `Nonmatching` tag to unmatched functions * more functions at 100% * more functions matching * more functions matching
Diffstat (limited to 'include')
-rw-r--r--include/JSystem/J2DGraph/J2DWindow.h7
-rw-r--r--include/d/d_2dnumber.h5
-rw-r--r--include/d/d_menu_collect.h63
-rw-r--r--include/d/d_menu_option.h2
4 files changed, 51 insertions, 26 deletions
diff --git a/include/JSystem/J2DGraph/J2DWindow.h b/include/JSystem/J2DGraph/J2DWindow.h
index 47e368fe..a56ff6ab 100644
--- a/include/JSystem/J2DGraph/J2DWindow.h
+++ b/include/JSystem/J2DGraph/J2DWindow.h
@@ -37,7 +37,12 @@ public:
void setTevMode(JUTTexture*, JUtility::TColor, JUtility::TColor);
void getBlack() const {}
- void getContentsColor(TContentsColor&) const {}
+ void getContentsColor(TContentsColor& param_0) const {
+ param_0.mTL = mColorTL;
+ param_0.mTR = mColorTR;
+ param_0.mBL = mColorBL;
+ param_0.mBR = mColorBR;
+ }
void getWhite() const {}
void setBlack(JUtility::TColor) {}
void setContentsColor(TContentsColor) {}
diff --git a/include/d/d_2dnumber.h b/include/d/d_2dnumber.h
index 9839ce8e..3195ab30 100644
--- a/include/d/d_2dnumber.h
+++ b/include/d/d_2dnumber.h
@@ -83,7 +83,7 @@ public:
class dDlst_2DOutFont_c {
public:
- void setLeftUpPos(f32, f32) {}
+ void setLeftUpPos(f32 x, f32 y) { mPosTopLeftX = x; mPosTopLeftY = y; }
void initial();
void setPane(JUTFont*, fopMsgM_pane_class*, fopMsgM_pane_class*, fopMsgM_pane_class*, fopMsgM_pane_class*);
@@ -107,6 +107,9 @@ public:
/* 0x18 */ J2DPane* m18;
/* 0x1C */ u8 m1C[0x20 - 0x1C];
/* 0x20 */ JUTFont* m20;
+ /* 0x24 */ u8 m24[0x30 - 0x24];
+ /* 0x30 */ f32 mPosTopLeftX;
+ /* 0x34 */ f32 mPosTopLeftY;
};
#endif /* D_2DNUMBER_H */
diff --git a/include/d/d_menu_collect.h b/include/d/d_menu_collect.h
index 960ffb0d..a303e09f 100644
--- a/include/d/d_menu_collect.h
+++ b/include/d/d_menu_collect.h
@@ -4,9 +4,15 @@
#include "dolphin/types.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
+#include "JSystem/J2DGraph/J2DWindow.h"
+#include "JSystem/JParticle/JPAEmitter.h"
#include "d/d_2dnumber.h"
+#include "d/d_menu_option.h"
+#include "d/d_menu_save.h"
#include "d/d_menu_base.h"
#include "f_op/f_op_msg_mng.h"
+#include "d/d_lib.h"
+#include "d/d_file_error.h"
struct fopMsgM_pane_class;
class JKRArchive;
@@ -14,7 +20,7 @@ class JUTFont;
class dMenu_Collect_c : public dMenu_base_c {
public:
- virtual void draw() {}
+ virtual void draw() { _draw(); }
void alphaChange(fopMsgM_pane_class* pane, float alpha) { pane->mInitAlpha *= alpha; }
u8 getCollectMode() { return mCollectMode; }
@@ -51,8 +57,8 @@ public:
void screenSet();
void initialize();
void cursorAnime();
- void stickDirection(unsigned char);
- void cursorMainMove();
+ int stickDirection(unsigned char);
+ int cursorMainMove();
u8 noteCheck();
void noteInit();
void noteAppear();
@@ -87,7 +93,7 @@ public:
void outFontInit();
void outFontMove();
void outFontDraw();
- void collectItemGetCheck(unsigned char);
+ bool collectItemGetCheck(unsigned char);
virtual void _create();
void _create3();
virtual void _delete();
@@ -107,7 +113,7 @@ public:
private:
/* 0x0000 */ // vtable
- /* 0x0004 */ J2DScreen* m004;
+ /* 0x0004 */ MyScreen* scrn;
/* 0x0008 */ fopMsgM_pane_class m008;
/* 0x0040 */ fopMsgM_pane_class m040;
/* 0x0078 */ fopMsgM_pane_class m078;
@@ -119,8 +125,7 @@ private:
/* 0x07E8 */ fopMsgM_pane_class m7E8;
/* 0x0820 */ fopMsgM_pane_class m820;
/* 0x0858 */ fopMsgM_pane_class m858;
- /* 0x0890 */ fopMsgM_pane_class m890;
- /* 0x08C8 */ fopMsgM_pane_class m8C8;
+ /* 0x0890 */ fopMsgM_pane_class m890[2];
/* 0x0900 */ fopMsgM_pane_class m900;
/* 0x0938 */ fopMsgM_pane_class m938;
/* 0x0970 */ fopMsgM_pane_class m970;
@@ -155,9 +160,9 @@ private:
/* 0x1B98 */ fopMsgM_pane_class m1B98[6];
/* 0x1CE8 */ fopMsgM_pane_class m1CE8[6];
/* 0x1E38 */ fopMsgM_pane_class m1E38[6];
- /* 0x1460 */ fopMsgM_pane_class m1F88;
- /* 0x1460 */ fopMsgM_pane_class m1FC0;
- /* 0x1460 */ fopMsgM_pane_class m1FF8;
+ /* 0x1F88 */ fopMsgM_pane_class m1F88;
+ /* 0x1FC0 */ fopMsgM_pane_class m1FC0;
+ /* 0x1FF8 */ fopMsgM_pane_class m1FF8;
/* 0x2030 */ fopMsgM_pane_class m2030[5];
/* 0x2148 */ fopMsgM_pane_class m2148[5];
/* 0x2260 */ fopMsgM_pane_class m2260[5];
@@ -165,43 +170,54 @@ private:
/* 0x23B0 */ fopMsgM_pane_class m23B0;
/* 0x23E8 */ fopMsgM_pane_class m23E8;
/* 0x2420 */ fopMsgM_pane_class m2420;
- /* 0x2458 */ u8 m2458[0x2460 - 0x2458];
- /* 0x2460 */ dDlst_2DOutFont_c* m2460;
+ /* 0x2458 */ STControl* stick;
+ /* 0x245C */ CSTControl* cstick;
+ /* 0x2460 */ dDlst_2DOutFont_c* outFont;
/* 0x2464 */ JKRArchive* mpArc;
/* 0x2468 */ JKRArchive* mpOptArc;
/* 0x246C */ JKRArchive* mpSaveArc;
/* 0x2470 */ JUTFont* mFont;
/* 0x2474 */ JUTFont* mRFont;
/* 0x2478 */ J2DPane* m2478;
- /* 0x247C */ u8 m247C[0x2488 - 0x247C];
- /* 0x2488 */ JUtility::TColor color_2488;
- /* 0x248C */ JUtility::TColor color_248C;
- /* 0x2490 */ JUtility::TColor color_2490;
- /* 0x2494 */ JUtility::TColor color_2494;
+ /* 0x247C */ JPABaseEmitter* m247C[3];
+ /* 0x2488 */ J2DWindow::TContentsColor m2488;
/* 0x2498 */ ResTIMG* mTactTexBuffer;
/* 0x249C */ ResTIMG* mMapTexBuffer;
/* 0x24A0 */ ResTIMG* mTriforceTexBuffer[8];
/* 0x24C0 */ void* mSymbolTexBuffer[3];
/* 0x24CC */ void* mItemTexBuffer[5];
/* 0x24E0 */ fopMsgM_msgDataProc_c mMsgProc;
- /* 0x2780 */ u8 m2780[0x27A8 - 0x2780];
+ /* 0x2780 */ dMenu_Option_c* dMo_c;
+ /* 0x2784 */ dMenu_save_c* dMs_c;
+ /* 0x2788 */ f32 m2788[4];
+ /* 0x2798 */ f32 m2798[4];
/* 0x27A8 */ f32 m27A8;
/* 0x27AC */ f32 m27AC;
/* 0x27B0 */ char* name[2];
/* 0x27B8 */ char* note[2];
/* 0x27C0 */ char* dummy[2];
- /* 0x27C8 */ u8 m27C8[0x27E2 - 0x27C8];
- /* 0x27E2 */ u16 mTimer;
- /* 0x27E4 */ u8 m27E4[0x27EC - 0x27E4];
+ /* 0x27C8 */ u8 m27C8[0x27DC - 0x27C8];
+ /* 0x27DC */ u32 m27DC;
+ /* 0x27E0 */ s16 m27E0;
+ /* 0x27E2 */ s16 mTimer;
+ /* 0x27E4 */ u16 m27E4;
+ /* 0x27E6 */ u16 m27E6;
+ /* 0x27E8 */ u16 m27E8;
+ /* 0x27EA */ u8 m27EA;
+ /* 0x27EB */ u8 m27EB;
/* 0x27EC */ u8 mTriggerInfo;
/* 0x27ED */ u8 mNowItem;
/* 0x27EE */ u8 mCollectMode;
- /* 0x27EF */ u8 m27EF[0x27F4 - 0x27EF];
+ /* 0x27EF */ u8 m27EF;
+ /* 0x27F0 */ u8 m27F0;
+ /* 0x27F1 */ u8 m27F1;
+ /* 0x27F2 */ u8 m27F2;
+ /* 0x27F3 */ u8 m27F3;
}; // Size: 0x27F4
STATIC_ASSERT(sizeof(dMenu_Collect_c) == 0x27F4);
-class dMc_HIO_c {
+class dMc_HIO_c : public JORReflexible {
public:
dMc_HIO_c();
virtual ~dMc_HIO_c() {}
@@ -222,6 +238,7 @@ public:
/* 0x58 */ JUtility::TColor m58;
/* 0x5C */ u8 m5C;
/* 0x5D */ u8 m5D;
+ /* 0x5E */ s8 mNo;
};
#endif /* D_MENU_COLLECT_H */
diff --git a/include/d/d_menu_option.h b/include/d/d_menu_option.h
index f56b9fb4..bcf7e6a4 100644
--- a/include/d/d_menu_option.h
+++ b/include/d/d_menu_option.h
@@ -14,7 +14,7 @@ class JUTFont;
class dMenu_Option_c : public dDlst_base_c {
public:
void alphaChange(fopMsgM_pane_class*, f32) {}
- void getQuitStatus() {}
+ u8 getQuitStatus() { return mE40; }
void setArchive(JKRArchive* archive) {
mpArchive = archive;
}