Implement inlines for d_menu_window

This commit is contained in:
LagoLunatic
2026-03-31 21:00:57 -04:00
parent 1f9191e568
commit 85c97022df
5 changed files with 92 additions and 77 deletions
+32 -19
View File
@@ -633,6 +633,9 @@ public:
u8 getButtonMode() { return mButtonMode; }
void setButtonMode(u8 mode) { mButtonMode = mode; }
u8 getButtonInfo(int idx) { return mButtonInfo[idx]; }
void setButtonInfo(int idx, u8 info) { mButtonInfo[idx] = info; }
char* getInputPassword() { return mInputPassword; }
void setInputPassword(const char* password) { strcpy(mInputPassword, password); }
@@ -768,8 +771,7 @@ public:
/* 0x4940 */ u8 field_0x4940;
/* 0x4941 */ u8 mDirection;
/* 0x4942 */ u8 mButtonMode;
/* 0x4943 */ u8 field_0x4943;
/* 0x4944 */ u8 field_0x4944;
/* 0x4943 */ u8 mButtonInfo[2];
/* 0x4945 */ u8 mScopeType;
/* 0x4946 */ u8 mOperateWind;
/* 0x4947 */ bool mMetronome;
@@ -3092,10 +3094,38 @@ inline void dComIfGp_setButtonActionMode(u8 mode) {
g_dComIfG_gameInfo.play.setButtonMode(mode);
}
inline u8 dComIfGp_getButtonInfo(int idx) {
return g_dComIfG_gameInfo.play.getButtonInfo(idx);
}
inline void dComIfGp_setButtonInfo(int idx, u8 info) {
g_dComIfG_gameInfo.play.setButtonInfo(idx, info);
}
inline char* dComIfGp_getInputPassword() {
return g_dComIfG_gameInfo.play.getInputPassword();
}
inline void dComIfGp_setInputPassword(const char* password) {
g_dComIfG_gameInfo.play.setInputPassword(password);
}
inline u8 dComIfGp_InputPasswordOpenCheck() {
return g_dComIfG_gameInfo.play.nameOpenCheck();
}
inline void dComIfGp_InputPasswordOpenOn() {
g_dComIfG_gameInfo.play.nameOpenOn();
}
inline void dComIfGp_InputPasswordOpenChangeOff() {
g_dComIfG_gameInfo.play.nameOpenChangeOff();
}
inline void dComIfGp_InputPasswordOpenCancelOff() {
g_dComIfG_gameInfo.play.nameOpenCancelOff();
}
inline u8 dComIfGp_getAdvanceDirection() {
return g_dComIfG_gameInfo.play.getDirection();
}
@@ -4187,21 +4217,4 @@ BOOL dComIfG_resetToOpening(scene_class* i_scene);
int dComIfG_changeOpeningScene(scene_class* i_scene, s16 i_procName);
inline u8 dComIfGp_InputPasswordOpenCheck() {
return g_dComIfG_gameInfo.play.nameOpenCheck();
}
inline void dComIfGp_InputPasswordOpenOn() {
g_dComIfG_gameInfo.play.nameOpenOn();
}
inline void dComIfGp_InputPasswordOpenChangeOff() {
g_dComIfG_gameInfo.play.nameOpenChangeOff();
}
inline void dComIfGp_InputPasswordOpenCancelOff() {
g_dComIfG_gameInfo.play.nameOpenCancelOff();
}
inline char* dComIfGp_getInputPassword() {
return g_dComIfG_gameInfo.play.getInputPassword();
}
#endif /* D_COM_D_COM_INF_GAME_H */
+8 -7
View File
@@ -17,9 +17,9 @@ public:
virtual void draw() {}
void alphaChange(fopMsgM_pane_class* pane, float alpha) { pane->mInitAlpha *= alpha; }
void getCollectMode() {}
void getNowItem() {}
void setNowItem(unsigned char) {}
u8 getCollectMode() { return mCollectMode; }
u8 getNowItem() { return mNowItem; }
void setNowItem(u8 val) { mNowItem = val; }
void setArchive(JKRArchive* arc) { mpArc = arc; }
void setOptionArchive(JKRArchive* arc) { mpOptArc = arc; }
@@ -45,8 +45,8 @@ public:
dummy[1] = dummy1;
}
void setTimer(short timer) { mTimer = timer; }
void setTriggerInfo(unsigned char) {}
void setTimer(s16 timer) { mTimer = timer; }
void setTriggerInfo(u8 info) { mTriggerInfo = info; }
void screenSet();
void initialize();
@@ -105,6 +105,7 @@ public:
bool _open2();
bool _close2();
private:
/* 0x0000 */ // vtable
/* 0x0004 */ J2DScreen* m004;
/* 0x0008 */ fopMsgM_pane_class m008;
@@ -192,8 +193,8 @@ public:
/* 0x27C8 */ u8 m27C8[0x27E2 - 0x27C8];
/* 0x27E2 */ u16 mTimer;
/* 0x27E4 */ u8 m27E4[0x27EC - 0x27E4];
/* 0x27EC */ u8 m27EC;
/* 0x27ED */ u8 m27ED;
/* 0x27EC */ u8 mTriggerInfo;
/* 0x27ED */ u8 mNowItem;
/* 0x27EE */ u8 mCollectMode;
/* 0x27EF */ u8 m27EF[0x27F4 - 0x27EF];
}; // Size: 0x27F4
+15 -14
View File
@@ -3,6 +3,7 @@
#include "dolphin/types.h"
#include "d/d_menu_base.h"
#include "m_Do/m_Do_hostIO.h"
struct fopMsgM_pane_class;
class JKRArchive;
@@ -11,18 +12,18 @@ class J2DPane;
class dMenu_Item_c : public dMenu_base_c {
public:
void alphaChange(fopMsgM_pane_class*, float) {}
void alphaChange(fopMsgM_pane_class*, f32) {}
virtual void draw() {}
void getItemMode() {}
void getNowItem() {}
u8 getItemMode() { return mItemMode; }
u8 getNowItem() { return mNowItem; }
void setNowItem(u8 val) { mNowItem = val; }
void setArchive(JKRArchive* arc) { mpArc = arc; }
void setFont(JUTFont* font, JUTFont* rfont) {
mFont = font;
mRFont = rfont;
}
void setItemTexBuffer(int, void*) {}
void setNowItem(unsigned char) {}
void setSubItemTexBuffer(int, void*) {}
void setItemTexBuffer(int idx, void* buffer) { mItemTexBuffer[idx] = buffer; }
void setSubItemTexBuffer(int idx, void* buffer) { mSubItemTexBuffer[idx] = buffer; }
void setTextArea(char* name0, char* name1, char* note0, char* note1, char* dummy0, char* dummy1) {
name[0] = name0;
name[1] = name1;
@@ -31,8 +32,8 @@ public:
dummy[0] = dummy0;
dummy[1] = dummy1;
}
void setTimer(short) {}
void setTriggerInfo(unsigned char) {}
void setTimer(s16 val) { mTimer = val; }
void setTriggerInfo(u8 info) { mTriggerInfo = info; }
void initialize();
void screenSet();
@@ -85,7 +86,7 @@ public:
bool _open2();
bool _close2();
public:
private:
/* 0x0004 */ u8 field_0x0004[0x2310 - 0x4];
/* 0x2310 */ JKRArchive* mpArc;
/* 0x2314 */ JUTFont* mFont;
@@ -96,19 +97,19 @@ public:
/* 0x2328 */ JUtility::TColor color_0x2328;
/* 0x232C */ JUtility::TColor color_0x232C;
/* 0x2330 */ u8 field_0x2330[0x2334 - 0x2330];
/* 0x2334 */ void* arr_0x2334[21];
/* 0x2334 */ void* mItemTexBuffer[21];
/* 0x2388 */ u8 padding_0x2388[0x2394 - 0x2388];
/* 0x2394 */ void* arr_0x2394[9];
/* 0x2394 */ void* mSubItemTexBuffer[9];
/* 0x23B8 */ u8 padding_0x23B8[0x23E0 - 0x23B8];
/* 0x23E0 */ char* name[2];
/* 0x23E8 */ char* note[2];
/* 0x23F0 */ char* dummy[2];
/* 0x23F8 */ u16 field_0x23F8;
/* 0x23F8 */ u16 mTimer;
/* 0x23FA */ u8 field_0x23FA[0x23FE - 0x23FA];
/* 0x23FE */ u8 mItemMode;
/* 0x23FF */ u8 field_0x23FF;
/* 0x23FF */ u8 mNowItem;
/* 0x2400 */ u8 padding_0x2400[0x2421 - 0x2400];
/* 0x2421 */ u8 field_0x2421;
/* 0x2421 */ u8 mTriggerInfo;
/* 0x2422 */ u8 field_0x2422;
/* 0x2423 */ u8 field_0x2423;
}; // Size: 0x2424
+3 -3
View File
@@ -127,12 +127,12 @@ void dComIfG_play_c::itemInit() {
mButtonMode = 0;
if (dComIfGs_checkGetItem(dItem_TELESCOPE_e)) {
field_0x4943 = 0;
mButtonInfo[0] = 0;
} else {
field_0x4943 = 0x15;
mButtonInfo[0] = 0x15;
}
field_0x4944 = 7;
mButtonInfo[1] = 7;
mScopeType = 0;
mOperateWind = 0;
mMetronome = false;
+34 -34
View File
@@ -216,18 +216,18 @@ void dMs_item_create(sub_ms_screen_class* i_Ms) {
JUT_ASSERT(1962, dMi_c != NULL);
for (int i = 0; i < 21; i++) {
dMi_c->arr_0x2334[i] = i_Ms->buffer_p[i];
dMi_c->setItemTexBuffer(i, i_Ms->buffer_p[i]);
}
for (int i = 0; i < 9; i++) {
dMi_c->arr_0x2394[i] = i_Ms->buffer_p[i + 24];
dMi_c->setSubItemTexBuffer(i, i_Ms->buffer_p[i + 24]);
}
dMi_c->setArchive(i_Ms->arc);
dMi_c->setFont(fonttype, rfonttype);
dMi_c->setTextArea(i_Ms->name[0], i_Ms->name[1], i_Ms->note[0], i_Ms->note[1], i_Ms->dummy[0], i_Ms->dummy[1]);
dMi_c->field_0x23FF = g_dComIfG_gameInfo.play.field_0x4943; // FIXME
dMi_c->setNowItem(dComIfGp_getButtonInfo(0));
dMi_c->_create();
@@ -265,7 +265,7 @@ void dMs_item_delete(sub_ms_screen_class* i_Ms) {
}
if (dMi_c != NULL) {
g_dComIfG_gameInfo.play.field_0x4943 = dMi_c->field_0x23FF; // FIXME
dComIfGp_setButtonInfo(0, dMi_c->getNowItem());
dMi_c->_delete();
delete dMi_c;
@@ -325,7 +325,7 @@ void dMs_collect_create(sub_ms_screen_class* i_Ms) {
dMc_c->setTextArea(i_Ms->name[0], i_Ms->name[1], i_Ms->note[0], i_Ms->note[1], i_Ms->dummy[0], i_Ms->dummy[1]);
dMc_c->m27ED = g_dComIfG_gameInfo.play.field_0x4944; // FIXME
dMc_c->setNowItem(dComIfGp_getButtonInfo(1));
dMc_c->_create();
@@ -388,7 +388,7 @@ void dMs_collect_create2(sub_ms_screen_class* i_Ms) {
dMc_c->setTextArea(i_Ms->name[0], i_Ms->name[1], i_Ms->note[0], i_Ms->note[1], i_Ms->dummy[0], i_Ms->dummy[1]);
dMc_c->m27ED = g_dComIfG_gameInfo.play.field_0x4944; // FIXME
dMc_c->setNowItem(dComIfGp_getButtonInfo(1));
dMc_c->_create3();
@@ -426,7 +426,7 @@ void dMs_collect_delete(sub_ms_screen_class* i_Ms) {
}
if (dMc_c != NULL) {
g_dComIfG_gameInfo.play.field_0x4944 = dMc_c->m27ED; // FIXME
dComIfGp_setButtonInfo(1, dMc_c->getNowItem());
dMc_c->_delete();
delete dMc_c;
@@ -964,7 +964,7 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
mDoExt_setCurrentHeap(i_Ms->childHeap);
dMs_collect_create(i_Ms);
dMc_c->m27EC = 2;
dMc_c->setTriggerInfo(2);
if (daPy_getPlayerLinkActorClass()->getTactNormalWait()) {
i_Ms->mMenuProc = MENU_STATE_COLLECT_OPEN_TACT;
@@ -981,7 +981,7 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
} else {
mDoExt_setCurrentHeap(i_Ms->childHeap);
dMs_item_create(i_Ms);
dMi_c->field_0x2421 = 2;
dMi_c->setTriggerInfo(2);
i_Ms->mMenuProc = MENU_STATE_ITEM_OPEN;
dMenu_setMenuStatusOld(dMenu_getMenuStatus());
dMenu_setMenuStatus(MENU_STATUS_ITEM);
@@ -1077,7 +1077,7 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
dMs_collect_delete(i_Ms);
dMs_childHeap_freeAll(i_Ms);
dMs_item_create(i_Ms);
dMi_c->field_0x2421 = 1;
dMi_c->setTriggerInfo(1);
}
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_TO_ITEM_RIGHT) {
@@ -1090,7 +1090,7 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
dMs_collect_delete(i_Ms);
dMs_childHeap_freeAll(i_Ms);
dMs_item_create(i_Ms);
dMi_c->field_0x2421 = 2;
dMi_c->setTriggerInfo(2);
}
} else if (i_Ms->mMenuProc == MENU_STATE_ITEM_OPEN_FROM_COLLECT_LEFT || i_Ms->mMenuProc == MENU_STATE_ITEM_OPEN_FROM_COLLECT_RIGHT) {
@@ -1110,7 +1110,7 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
dMs_item_delete(i_Ms);
dMs_childHeap_freeAll(i_Ms);
dMs_collect_create(i_Ms);
dMc_c->m27EC = 1;
dMc_c->setTriggerInfo(1);
}
} else if (i_Ms->mMenuProc == MENU_STATE_ITEM_TO_COLLECT_RIGHT) {
@@ -1123,7 +1123,7 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
dMs_item_delete(i_Ms);
dMs_childHeap_freeAll(i_Ms);
dMs_collect_create(i_Ms);
dMc_c->m27EC = 2;
dMc_c->setTriggerInfo(2);
}
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_OPEN_LEFT || i_Ms->mMenuProc == MENU_STATE_COLLECT_OPEN_RIGHT) {
@@ -1135,30 +1135,30 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
} else if (i_Ms->mMenuProc == MENU_STATE_ITEM_MOVE) {
cloth_c->cloth_move();
if ((CPad_CHECK_TRIG_START(0) || CPad_CHECK_TRIG_B(0)) && !dMi_c->noteCheck() && dMi_c->mItemMode == 0 && !dMeter_subWinFlag()) {
if ((CPad_CHECK_TRIG_START(0) || CPad_CHECK_TRIG_B(0)) && !dMi_c->noteCheck() && dMi_c->getItemMode() == 0 && !dMeter_subWinFlag()) {
cloth_c->alpha_out();
mDoExt_setCurrentHeap(i_Ms->childHeap);
i_Ms->mMenuProc = MENU_STATE_ITEM_CLOSE;
dMi_c->field_0x2421 = 0;
dMi_c->field_0x23F8 = 10;
dMi_c->setTriggerInfo(0);
dMi_c->setTimer(10);
dMenu_setPushMenuButton(0);
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
} else if (dMs_isPush_R_Button(i_Ms) && !dMi_c->noteCheck() && dMi_c->mItemMode == 0) {
} else if (dMs_isPush_R_Button(i_Ms) && !dMi_c->noteCheck() && dMi_c->getItemMode() == 0) {
mDoExt_setCurrentHeap(i_Ms->childHeap);
i_Ms->mMenuProc = MENU_STATE_ITEM_TO_COLLECT_RIGHT;
dMi_c->field_0x2421 = 2;
dMi_c->field_0x23F8 = g_menuHIO.field_0x92;
dMi_c->setTriggerInfo(2);
dMi_c->setTimer(g_menuHIO.field_0x92);
dMenu_setPushMenuButton(2);
mDoAud_seStart(JA_SE_ITEM_COL_SW);
} else if (dMs_isPush_L_Button(i_Ms) && !dMi_c->noteCheck() && dMi_c->mItemMode == 0) {
} else if (dMs_isPush_L_Button(i_Ms) && !dMi_c->noteCheck() && dMi_c->getItemMode() == 0) {
mDoExt_setCurrentHeap(i_Ms->childHeap);
i_Ms->mMenuProc = MENU_STATE_ITEM_TO_COLLECT_LEFT;
dMi_c->field_0x2421 = 1;
dMi_c->field_0x23F8 = g_menuHIO.field_0x92;
dMi_c->setTriggerInfo(1);
dMi_c->setTimer(g_menuHIO.field_0x92);
dMenu_setPushMenuButton(2);
mDoAud_seStart(JA_SE_ITEM_COL_SW);
@@ -1169,30 +1169,30 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_MOVE) {
cloth_c->cloth_move();
if ((CPad_CHECK_TRIG_START(0) || CPad_CHECK_TRIG_B(0)) && !dMc_c->noteCheck() && (dMc_c->mCollectMode == 0 || dMc_c->mCollectMode == 2)) {
if ((CPad_CHECK_TRIG_START(0) || CPad_CHECK_TRIG_B(0)) && !dMc_c->noteCheck() && (dMc_c->getCollectMode() == 0 || dMc_c->getCollectMode() == 2)) {
cloth_c->alpha_out();
mDoExt_setCurrentHeap(i_Ms->childHeap);
i_Ms->mMenuProc = MENU_STATE_COLLECT_CLOSE;
dMc_c->m27EC = 0;
dMc_c->setTriggerInfo(0);
dMc_c->setTimer(10);
dMenu_setPushMenuButton(0);
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
} else if (dMs_isPush_R_Button(i_Ms) && !dMc_c->noteCheck() && (dMc_c->mCollectMode == 0 || dMc_c->mCollectMode == 2)) {
} else if (dMs_isPush_R_Button(i_Ms) && !dMc_c->noteCheck() && (dMc_c->getCollectMode() == 0 || dMc_c->getCollectMode() == 2)) {
mDoExt_setCurrentHeap(i_Ms->childHeap);
i_Ms->mMenuProc = MENU_STATE_COLLECT_TO_ITEM_RIGHT;
dMc_c->m27EC = 2;
dMc_c->setTriggerInfo(2);
dMc_c->setTimer(g_menuHIO.field_0x92);
dMenu_setPushMenuButton(1);
mDoAud_seStart(JA_SE_ITEM_COL_SW);
} else if (dMs_isPush_L_Button(i_Ms) && !dMc_c->noteCheck() && (dMc_c->mCollectMode == 0 || dMc_c->mCollectMode == 2)) {
} else if (dMs_isPush_L_Button(i_Ms) && !dMc_c->noteCheck() && (dMc_c->getCollectMode() == 0 || dMc_c->getCollectMode() == 2)) {
mDoExt_setCurrentHeap(i_Ms->childHeap);
i_Ms->mMenuProc = MENU_STATE_COLLECT_TO_ITEM_LEFT;
dMc_c->m27EC = 1;
dMc_c->setTriggerInfo(1);
dMc_c->setTimer(g_menuHIO.field_0x92);
dMenu_setPushMenuButton(1);
mDoAud_seStart(JA_SE_ITEM_COL_SW);
@@ -1204,11 +1204,11 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_MOVE_TACT) {
cloth_c->cloth_move();
if ((CPad_CHECK_TRIG_START(0) || CPad_CHECK_TRIG_B(0)) && !dMc_c->noteCheck() && (dMc_c->mCollectMode == 0 || dMc_c->mCollectMode == 2)) {
if ((CPad_CHECK_TRIG_START(0) || CPad_CHECK_TRIG_B(0)) && !dMc_c->noteCheck() && (dMc_c->getCollectMode() == 0 || dMc_c->getCollectMode() == 2)) {
cloth_c->alpha_out();
mDoExt_setCurrentHeap(i_Ms->childHeap);
i_Ms->mMenuProc = MENU_STATE_COLLECT_CLOSE_TACT;
dMc_c->m27EC = 0;
dMc_c->setTriggerInfo(0);
dMc_c->setTimer(10);
dMenu_setPushMenuButton(0);
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
@@ -1219,11 +1219,11 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
} else if (i_Ms->mMenuProc == MENU_STATE_COLLECT_MOVE_ALT) {
cloth_c->cloth_move();
if (dMc_c->mCollectMode != 5) {
if (dMc_c->getCollectMode() != 5) {
cloth_c->alpha_out();
mDoExt_setCurrentHeap(i_Ms->childHeap);
i_Ms->mMenuProc = MENU_STATE_COLLECT_CLOSE_ALT;
dMc_c->m27EC = 0;
dMc_c->setTriggerInfo(0);
dMc_c->setTimer(10);
dMenu_setPushMenuButton(0);
mDoAud_seStart(JA_SE_ITM_MENU_OUT);
@@ -1429,13 +1429,13 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
}
if (dMi_c) {
dMenu_setItemMode(dMi_c->mItemMode);
dMenu_setItemMode(dMi_c->getItemMode());
} else {
dMenu_setItemMode(0);
}
if (dMc_c) {
dMenu_setCollectMode(dMc_c->mCollectMode);
dMenu_setCollectMode(dMc_c->getCollectMode());
} else {
dMenu_setCollectMode(0);
}