summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTeddy Heidmann <ateddy42@users.noreply.github.com>2026-09-04 15:01:21 -0700
committerGitHub <noreply@github.com>2026-09-04 18:01:21 -0400
commit7735a21e142cd13b02029948c0cbbdd0f2f5d3be (patch)
tree90cc98d5a871aea3f26cf0fc2e989b4e429f5e62 /include
parent9afcc6d97449f47b6930a2bbf9ed38eeeb04e235 (diff)
d_menu_fmap (#1195)
* checkDspLargeMapLink() * close on dispEndSalvageLargeMark() * setDspHugeMapLink(), dispEndSalvageHugeMark() * checkDspHugeMapLink(), checkDspHugeMapShip(), _close_normalMode() * _delete() * decomp.me help * FmapProcMain() * SelectGrid(), zoom1000x1000Init() * ZoomGridLv1In() * ZoomGridLv2Out(), fmap2Move(), paneTransBase(), paneTranceZoomMapAlpah() * paneTranceZoomMap() * paneTranceZoom2Map(), _open_warpMode(), init_warpMode() * enums for procIdx values * paneTranceWarpMsg(), paneAlphaWarpMsgBack(), fmMapWrite(), fmMapWait(), paneAlphaZoom2Map() * wrapMove() * warpAreaAnime0(), warpSelCursorAnime() * areaTextChangeAnimeInit() * fmDispArea(), fmZoomGridLv1/2In/Out * wtf setDspWarpBackCornerColor * screenSet() .data order * cleanup u8/bool * field renames * bool/BOOL cleanup, enum for confusing fmapZoom * configure.py * GZLP01 * GZLJ01
Diffstat (limited to 'include')
-rw-r--r--include/d/d_2dnumber.h19
-rw-r--r--include/d/d_menu_fmap.h321
-rw-r--r--include/d/d_menu_fmap2.h10
-rw-r--r--include/d/d_menu_fmapSv.h6
-rw-r--r--include/f_op/f_op_msg_mng.h13
5 files changed, 189 insertions, 180 deletions
diff --git a/include/d/d_2dnumber.h b/include/d/d_2dnumber.h
index e69ad3ff..709b81e8 100644
--- a/include/d/d_2dnumber.h
+++ b/include/d/d_2dnumber.h
@@ -83,9 +83,16 @@ public:
class dDlst_2DOutFont_c {
public:
- dDlst_2DOutFont_c() { m20 = NULL; m18 = NULL; m2C = NULL; m74 = 0; }
+ dDlst_2DOutFont_c() {
+ m20 = NULL;
+ m18 = NULL;
+ m2C = NULL;
+#if VERSION > VERSION_JPN
+ m74 = 0;
+#endif
+ }
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*);
void setPaneEx(JUTFont*, fopMsgM_pane_class*, fopMsgM_pane_class*, fopMsgM_pane_class*, fopMsgM_pane_class*, char*);
@@ -102,7 +109,9 @@ public:
void move();
void setAlpha(u8);
+#if VERSION > VERSION_JPN
/* 0x00 */ u8 m00[0x08 - 0x00];
+#endif
/* 0x08 */ J2DPane* m08[3];
/* 0x14 */ J2DPane* m14;
/* 0x18 */ J2DPane* m18;
@@ -112,9 +121,15 @@ public:
/* 0x2C */ JUTFont* m2C;
/* 0x30 */ f32 mPosTopLeftX;
/* 0x34 */ f32 mPosTopLeftY;
+#if VERSION > VERSION_JPN
/* 0x38 */ u8 m38[0x74 - 0x38];
/* 0x74 */ u8 m74;
/* 0x75 */ u8 m75[0x150 - 0x75];
+#else
+ /* 0x30 */ u8 m30[0x148 - 0x30];
+#endif
}; // Size = 0x150
+STATIC_ASSERT(sizeof(dDlst_2DOutFont_c) == VERSION_SELECT(0x148, 0x148, 0x150, 0x150));
+
#endif /* D_2DNUMBER_H */
diff --git a/include/d/d_menu_fmap.h b/include/d/d_menu_fmap.h
index f07555b4..94430538 100644
--- a/include/d/d_menu_fmap.h
+++ b/include/d/d_menu_fmap.h
@@ -25,14 +25,19 @@ struct cursorTable_t {
/* 0x6 */ s8 down;
};
-enum FmapMode {
+enum dMf_DispMode {
+ FMAP_DISP_NORMAL = 0,
+ FMAP_DISP_HIKAKU = 1,
+};
+
+enum dMf_Mode {
FMAP_MODE_NORMAL = 0,
FMAP_MODE_WARP = 1,
FMAP_MODE_WALLPAPER = 2,
FMAP_MODE_FISHMAN = 3,
};
-enum FmapButtonIconMode {
+enum dMf_ButtonIconMode {
FMAP_BTN_ICON_WORLD = 0,
FMAP_BTN_ICON_SECTOR = 1,
FMAP_BTN_ICON_DETAIL = 2,
@@ -42,6 +47,11 @@ enum FmapButtonIconMode {
FMAP_BTN_ICON_FISHMAN = 6,
};
+enum dMf_WarpSel {
+ FMAP_WARP_SEL_YES = 0,
+ FMAP_WARP_SEL_NO = 1,
+};
+
class dDlst_FMAP_c : public dDlst_base_c {
public:
virtual ~dDlst_FMAP_c() {}
@@ -57,75 +67,75 @@ public:
void draw() { _draw(); }
u8 getCtDispMode() {
- JUT_ASSERT(467, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(456, 456, 467, 467), fmapSv != NULL);
return fmapSv->dispMode;
}
void setCtDispMode(u8 val) {
- JUT_ASSERT(472, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(461, 461, 472, 472), fmapSv != NULL);
fmapSv->dispMode = val;
}
- s8 getCtFmapZoom() {
- JUT_ASSERT(478, fmapSv != NULL);
+ u8 getCtFmapZoom() {
+ JUT_ASSERT(VERSION_SELECT(467, 467, 478, 478), fmapSv != NULL);
return fmapSv->fmapZoom;
}
void setCtFmapZoom(u8 val) {
- JUT_ASSERT(483, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(472, 472, 483, 483), fmapSv != NULL);
fmapSv->fmapZoom = val;
}
s8 getCtCurX() {
- JUT_ASSERT(489, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(478, 478, 489, 489), fmapSv != NULL);
return fmapSv->curX;
}
void setCtCurX(s8 val) {
- JUT_ASSERT(494, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(483, 483, 494, 494), fmapSv != NULL);
fmapSv->curX = val;
}
s8 getCtCurY() {
- JUT_ASSERT(500, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(489, 489, 500, 500), fmapSv != NULL);
return fmapSv->curY;
}
void setCtCurY(s8 val) {
- JUT_ASSERT(505, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(494, 494, 505, 505), fmapSv != NULL);
fmapSv->curY = val;
}
s8 getCtCurWX() {
- JUT_ASSERT(511, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(500, 500, 511, 511), fmapSv != NULL);
return fmapSv->curWX;
}
void setCtCurWX(s8 val) {
- JUT_ASSERT(516, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(505, 505, 516, 516), fmapSv != NULL);
fmapSv->curWX = val;
}
s8 getCtCurWY() {
- JUT_ASSERT(522, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(511, 511, 522, 522), fmapSv != NULL);
return fmapSv->curWY;
}
void setCtCurWY(s8 val) {
- JUT_ASSERT(527, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(516, 516, 527, 527), fmapSv != NULL);
fmapSv->curWY = val;
}
s8 getCtZoomGridX() {
- JUT_ASSERT(533, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(522, 522, 533, 533), fmapSv != NULL);
return fmapSv->zoomGridX;
}
void setCtZoomGridX(s8 val) {
- JUT_ASSERT(538, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(527, 527, 538, 538), fmapSv != NULL);
fmapSv->zoomGridX = val;
}
s8 getCtZoomGridY() {
- JUT_ASSERT(543, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(532, 532, 543, 543), fmapSv != NULL);
return fmapSv->zoomGridY;
}
void setCtZoomGridY(s8 val) {
- JUT_ASSERT(548, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(537, 537, 548, 548), fmapSv != NULL);
fmapSv->zoomGridY = val;
}
void setCtCurHX(s8 val) {
- JUT_ASSERT(559, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(548, 548, 559, 559), fmapSv != NULL);
fmapSv->curHX = val;
}
void setCtCurHY(s8 val) {
- JUT_ASSERT(569, fmapSv != NULL);
+ JUT_ASSERT(VERSION_SELECT(558, 558, 569, 569), fmapSv != NULL);
fmapSv->curHY = val;
}
void lineInter0to1(f32, f32, f32) {}
@@ -144,13 +154,13 @@ public:
mTxtDummy[1] = dummy1;
}
void stopWrapBackEmitter() {
- if (mMainWarpPane != NULL) {
- mMainWarpPane->becomeInvalidEmitter();
+ if (mWrapBackEmitter != NULL) {
+ mWrapBackEmitter->becomeInvalidEmitter();
}
}
void stopWrapSpotEmitter(int i_idx) {
- if (mWarpPanes[i_idx] != NULL) {
- mWarpPanes[i_idx]->becomeInvalidEmitter();
+ if (mWrapSpotEmitters[i_idx] != NULL) {
+ mWrapSpotEmitters[i_idx]->becomeInvalidEmitter();
}
}
@@ -168,8 +178,8 @@ public:
bool isFmapClose();
void setPaneOnOff(J2DScreen*, u32, bool);
void childPaneMoveSp(fopMsgM_pane_class*, fopMsgM_pane_class*, f32, f32, f32);
- BOOL selGridMaskAlphaCtrl(short, u8, u8, int);
- BOOL fmapMaskAlphaCtrl(short, u8, u8, int);
+ BOOL selGridMaskAlphaCtrl(s16, u8, u8, int);
+ BOOL fmapMaskAlphaCtrl(s16, u8, u8, int);
void selCursorInit();
void selCursorHide();
void selCursorMove();
@@ -229,14 +239,16 @@ public:
void fmap2Open();
void fmap2Move();
void fmap2Close();
- int paneTransBase(short, u8, f32, f32, u8, int);
- BOOL paneTranceZoomMap(short, u8, f32, f32, f32, f32, f32, f32, u8, int);
- BOOL paneTranceZoomMapAlpah(short, u8, u8, int);
- BOOL paneTranceZoom2Map(short, u8, f32, f32, f32, f32, f32, f32, u8, int);
- BOOL paneAlphaFmapCursor(fopMsgM_pane_class*, short, u8, u8, int);
- BOOL PaneAlphaSelvageItem(short, u8);
+ BOOL paneTransBase(s16, u8, f32, f32, u8, int);
+ BOOL paneTranceZoomMap(s16, u8, f32, f32, f32, f32, f32, f32, u8, int);
+ BOOL paneTranceZoomMapAlpah(s16, u8, u8, int);
+ BOOL paneTranceZoom2Map(s16, u8, f32, f32, f32, f32, f32, f32, u8, int);
+ BOOL paneAlphaFmapCursor(fopMsgM_pane_class*, s16, u8, u8, int);
+ BOOL PaneAlphaSelvageItem(s16, u8);
+#if VERSION > VERSION_JPN
void gShipMarkAnimeInit();
void gShipMarkAnime();
+#endif
bool _open_warpMode();
void init_warpMode();
void selCursorMoveWarp();
@@ -248,8 +260,8 @@ public:
void wrapSelWinFadeOut();
void wrapSelWarp();
void warpAreaAnime0();
- BOOL paneTranceWarpMsg(fopMsgM_pane_class*, short, u8, f32, f32, u8, int);
- BOOL paneAlphaWarpMsgBack(short, u8, u8, int);
+ BOOL paneTranceWarpMsg(fopMsgM_pane_class*, s16, u8, f32, f32, u8, int);
+ BOOL paneAlphaWarpMsgBack(s16, u8, u8, int);
void warpSelCursorMove();
void warpSelCursorAnimeInit();
void warpSelCursorAnime();
@@ -263,7 +275,7 @@ public:
const cursorTable_t* getWarpAreaTablePtr(s8, s8);
void areaTextChangeAnimeInit();
void areaTextChangeAnime();
- BOOL PaneAlphaAreaTxt(short, u8, int);
+ BOOL PaneAlphaAreaTxt(s16, u8, int);
void setDspWarpBackCornerColor(f32);
void setWrapBackEmitter(cXyz);
void setWrapSpotEmitter(int, cXyz);
@@ -277,7 +289,7 @@ public:
void islandNameSet(u8);
void fmMapWrite();
void fmMapWait();
- void paneAlphaZoom2Map(short, u8, u8, int);
+ BOOL paneAlphaZoom2Map(s16, u8, u8, int);
void fmZoomGridLv2Out();
void fmZoomGridLv1Out();
void fmEndWait();
@@ -317,24 +329,12 @@ public:
/* 0x3034 */ fopMsgM_pane_class mKtx2Pane;
/* 0x306C */ fopMsgM_pane_class mClb2Pane;
/* 0x30A4 */ fopMsgM_pane_class mClbPane;
- /* 0x30DC */ fopMsgM_pane_class mSc11Pane;
- /* 0x3114 */ fopMsgM_pane_class mSc12Pane;
- /* 0x314C */ fopMsgM_pane_class mSc13Pane;
- /* 0x3184 */ fopMsgM_pane_class mSc14Pane;
- /* 0x31BC */ fopMsgM_pane_class mSc15Pane;
- /* 0x31F4 */ fopMsgM_pane_class mSc16Pane;
- /* 0x322C */ fopMsgM_pane_class mSc17Pane;
- /* 0x3264 */ fopMsgM_pane_class mSc18Pane;
- /* 0x329C */ fopMsgM_pane_class mSc19Pane;
+ /* 0x30DC */ fopMsgM_pane_class mSc1xPanes[9];
/* 0x32D4 */ fopMsgM_pane_class mLnk3Pane;
/* 0x330C */ fopMsgM_pane_class mSpi3Pane;
/* 0x3344 */ fopMsgM_pane_class mStl1Pane;
/* 0x337C */ fopMsgM_pane_class mR01gPane;
- /* 0x33B4 */ fopMsgM_pane_class mFmumPane;
- /* 0x33EC */ fopMsgM_pane_class mFmw1Pane;
- /* 0x3424 */ fopMsgM_pane_class mFmw2Pane;
- /* 0x345C */ fopMsgM_pane_class mFmw3Pane;
- /* 0x3494 */ fopMsgM_pane_class mFmw4Pane;
+ /* 0x33B4 */ fopMsgM_pane_class mFmxxPanes[5];
/* 0x34CC */ fopMsgM_pane_class mFmnPanes[15];
/* 0x3814 */ fopMsgM_pane_class mClgPane;
/* 0x384C */ fopMsgM_pane_class mSc2xPanes[7];
@@ -342,8 +342,7 @@ public:
/* 0x3C3C */ fopMsgM_pane_class mStxxPanes[49];
/* 0x46F4 */ fopMsgM_pane_class mCk1xPanes[3];
/* 0x479C */ fopMsgM_pane_class mCk2xPanes[3];
- /* 0x4844 */ fopMsgM_pane_class mCk31Pane;
- /* 0x487C */ fopMsgM_pane_class mCk32Pane;
+ /* 0x4844 */ fopMsgM_pane_class mCk3xPanes[2];
/* 0x48B4 */ fopMsgM_pane_class mKr0xPanes[8];
/* 0x4A74 */ fopMsgM_pane_class mWnd1Pane;
/* 0x4AAC */ fopMsgM_pane_class mWnd2Pane;
@@ -365,20 +364,22 @@ public:
/* 0x4E9C */ fopMsgM_pane_class mNok0Pane;
/* 0x4ED4 */ fopMsgM_pane_class mNoPane;
/* 0x4F0C */ fopMsgM_pane_class mCur1Pane;
+#if VERSION > VERSION_JPN
/* 0x4F44 */ fopMsgM_pane_class mGsPanes[7];
+#endif
/* 0x50CC */ STControl* stick;
/* 0x50D0 */ JUTFont* mFont;
/* 0x50D4 */ JUTFont* mRFont;
- /* 0x50D8 */ JPABaseEmitter* mMainWarpPane;
- /* 0x50DC */ JPABaseEmitter* mWarpPanes[9];
+ /* 0x50D8 */ JPABaseEmitter* mWrapBackEmitter;
+ /* 0x50DC */ JPABaseEmitter* mWrapSpotEmitters[9];
/* 0x5100 */ u8 padding_0x5100[0x510C - 0x5100];
/* 0x510C */ bool mMapClose;
/* 0x510D */ u8 mSelCursorBufIdx;
/* 0x510E */ u8 mCursorBufIdx;
- /* 0x510F */ u8 field_0x510F;
- /* 0x5110 */ u8 field_0x5110;
- /* 0x5111 */ u8 field_0x5111;
- /* 0x5112 */ u8 field_0x5112;
+ /* 0x510F */ u8 mPlayerPointTimer;
+ /* 0x5110 */ u8 mPlayerPointToggle;
+ /* 0x5111 */ s8 mCurChkPntNo;
+ /* 0x5112 */ s8 mPlayerChkPntNo;
/* 0x5113 */ u8 mMainProcIdx;
/* 0x5114 */ u8 mFmapProcIdx;
/* 0x5115 */ u8 mHikakuProcIdx;
@@ -387,10 +388,10 @@ public:
/* 0x5119 */ s8 mGridY;
/* 0x511A */ s8 mTargetGridX;
/* 0x511B */ s8 mTargetGridY;
- /* 0x511C */ cXyz field_0x511C;
- /* 0x5128 */ cXyz field_0x5128;
- /* 0x5134 */ f32 field_0x5134;
- /* 0x5138 */ f32 field_0x5138;
+ /* 0x511C */ cXyz mPlayerPos;
+ /* 0x5128 */ cXyz mShipPos;
+ /* 0x5134 */ f32 mDispIslandPosX;
+ /* 0x5138 */ f32 mDispIslandPosY;
/* 0x513C */ bool mFullMapMode;
/* 0x513D */ u8 mSalvItmBufIdx;
/* 0x513E */ u8 mSalvItmTimer;
@@ -420,17 +421,17 @@ public:
/* 0x5178 */ u8 mFishmanTimer1;
/* 0x5179 */ u8 mFishmanTimer2;
/* 0x517A */ u8 mFishmanTimer3;
- /* 0x517B */ u8 mFishmanMsgTimer;
- /* 0x517C */ u8 mFishmanMsgToggle;
+ /* 0x517B */ u8 mCheckMarkTimer;
+ /* 0x517C */ u8 mCheckMarkToggle;
/* 0x517D */ u8 padding_0x517D[0x517F-0x517D];
/* 0x517F */ bool mFishmanActive;
- /* 0x5180 */ u8 field_0x5180;
+ /* 0x5180 */ u8 mSalvagePntIdx;
/* 0x5181 */ u8 mButtonIconMode;
- /* 0x5182 */ u8 field_0x5182;
- /* 0x5183 */ bool field_0x5183;
- /* 0x5184 */ bool field_0x5184;
- /* 0x5185 */ bool field_0x5185;
- /* 0x5186 */ bool field_0x5186;
+ /* 0x5182 */ bool mDspLargeMapLink;
+ /* 0x5183 */ bool mDspHugeMapLink;
+ /* 0x5184 */ bool mDspLargeMapShip;
+ /* 0x5185 */ bool mDspHugeMapShip;
+ /* 0x5186 */ bool mShipOpenWater;
/* 0x5187 */ u8 padding_0x5187[0x518C-0x5187];
/* 0x518C */ char* mpKtx1String;
/* 0x5190 */ char* mpKtx2String;
@@ -440,15 +441,17 @@ public:
/* 0x51A0 */ JUtility::TColor mKr0Color2;
/* 0x51A4 */ JUtility::TColor mYs01Color;
/* 0x51A8 */ JUtility::TColor mYs01Color2;
- /* 0x51AC */ bool mMsgValueActive;
- /* 0x51AD */ bool mMsgValueState1;
- /* 0x51AE */ bool mMsgValueState2;
- /* 0x51AF */ u8 mMsgValueTimer;
- /* 0x51B0 */ bool mMsgValueToggle;
+#if VERSION > VERSION_JPN
+ /* 0x51AC */ bool mMoonAlphaActive;
+ /* 0x51AD */ bool mMoonAlphaState1;
+ /* 0x51AE */ bool mMoonAlphaState2;
+ /* 0x51AF */ u8 mMoonAlphaTimer;
+ /* 0x51B0 */ u8 mMoonAlphaToggle;
/* 0x51B1 */ u8 padding_0x51B1[0x51B4-0x51B1];
+#endif
}; // Size: 0x51B4
-STATIC_ASSERT(sizeof(dMenu_Fmap_c) == 0x51B4);
+STATIC_ASSERT(sizeof(dMenu_Fmap_c) == VERSION_SELECT(0x4E54, 0x4E54, 0x51B4, 0x51B4));
class dMf_HIO_c : public JORReflexible {
public:
@@ -463,81 +466,53 @@ public:
/* 0x006 */ u8 field_0x06;
/* 0x007 */ u8 field_0x07;
/* 0x008 */ u8 field_0x08;
- /* 0x009 */ GXColor field_0x09;
- /* 0x00D */ GXColor field_0x0D;
+ /* 0x009 */ GXColor mWindArrowColor1;
+ /* 0x00D */ GXColor mWindArrowColor2;
/* 0x011 */ u8 padding_0x11[0x12 - 0x11];
- /* 0x012 */ s16 field_0x12;
- /* 0x014 */ s16 field_0x14;
- /* 0x016 */ u8 field_0x16;
- /* 0x017 */ u8 field_0x17;
- /* 0x018 */ u8 field_0x18;
- /* 0x019 */ u8 field_0x19;
- /* 0x01A */ u8 field_0x1A;
- /* 0x01B */ u8 field_0x1B;
- /* 0x01C */ u8 field_0x1C;
- /* 0x01D */ u8 field_0x1D;
- /* 0x01E */ u8 field_0x1E;
- /* 0x01F */ u8 field_0x1F;
- /* 0x020 */ u8 field_0x20;
- /* 0x021 */ u8 field_0x21;
- /* 0x022 */ u8 field_0x22;
- /* 0x023 */ u8 field_0x23;
- /* 0x024 */ u8 field_0x24;
- /* 0x025 */ u8 field_0x25;
- /* 0x026 */ s16 field_0x26;
- /* 0x028 */ s16 field_0x28;
- /* 0x02A */ s16 field_0x2A;
- /* 0x02C */ s16 field_0x2C;
- /* 0x02E */ u8 field_0x2E;
- /* 0x02F */ u8 field_0x2F;
- /* 0x030 */ u8 field_0x30;
- /* 0x031 */ u8 field_0x31;
- /* 0x032 */ u8 field_0x32;
- /* 0x033 */ u8 field_0x33;
- /* 0x034 */ u8 field_0x34;
+ /* 0x012 */ s16 mWindArrowPivotX;
+ /* 0x014 */ s16 mWindArrowPivotY;
+ /* 0x016 */ GXColor mPlayerPointWhite1;
+ /* 0x01A */ GXColor mPlayerPointWhite2;
+ /* 0x01E */ GXColor mPlayerPointBlack1;
+ /* 0x022 */ GXColor mPlayerPointBlack2;
+ /* 0x026 */ s16 mWindArrowPeriod;
+ /* 0x028 */ s16 mPlayerPointTimer;
+ /* 0x02A */ s16 mWindArrowHold1;
+ /* 0x02C */ s16 mWindArrowHold2;
+ /* 0x02E */ u8 mZoomAnimFrame;
+ /* 0x02F */ u8 mZoom2AnimFrame;
+ /* 0x030 */ u8 mZoomOutDelay;
+ /* 0x031 */ u8 mAreaTxtChangeFrame;
+ /* 0x032 */ u8 mAreaTxtAlphaFrame;
+ /* 0x033 */ u8 mOpenDelay;
+ /* 0x034 */ u8 mBaseAnimFrame;
/* 0x035 */ u8 padding_0x35[0x36 - 0x35];
- /* 0x036 */ s16 field_0x36;
- /* 0x038 */ u16 field_0x38;
- /* 0x03A */ u8 field_0x3A;
- /* 0x03B */ u8 field_0x3B;
- /* 0x03C */ u8 field_0x3C;
+ /* 0x036 */ s16 mOpenPosY;
+ /* 0x038 */ s16 mClosePosY;
+ /* 0x03A */ u8 mCursorFlashFrame;
+ /* 0x03B */ u8 mSelCursorAlphaFrame;
+ /* 0x03C */ u8 mZoomMapDelay;
/* 0x03D */ u8 field_0x3D;
- /* 0x03E */ u8 field_0x3E;
- /* 0x03F */ u8 field_0x3F;
- /* 0x040 */ u8 field_0x40;
- /* 0x041 */ u8 field_0x41;
- /* 0x042 */ u8 field_0x42;
+ /* 0x03E */ u8 mWarpMsgBackAlphaFrame;
+ /* 0x03F */ u8 mWarpMsgBackInDelay;
+ /* 0x040 */ u8 mWarpMsgBackOutDelay;
+ /* 0x041 */ u8 mWarpMsgAnimFrame;
+ /* 0x042 */ u8 mWarpMsgDelay;
/* 0x043 */ u8 field_0x43;
- /* 0x044 */ s16 field_0x44;
- /* 0x046 */ u8 field_0x46;
+ /* 0x044 */ s16 mWarpMsgPosY;
+ /* 0x046 */ u8 mWarpYesNoAnimFrame;
/* 0x047 */ u8 field_0x47;
/* 0x048 */ u8 field_0x48;
- /* 0x049 */ u8 field_0x49;
- /* 0x04A */ s16 field_0x4A;
- /* 0x04C */ u8 field_0x4C;
- /* 0x04D */ u8 field_0x4D;
- /* 0x04E */ u8 field_0x4E;
+ /* 0x049 */ u8 mWarpNoDelay;
+ /* 0x04A */ s16 mWarpYesNoPosY;
+ /* 0x04C */ u8 mWarpCursorBlinkFrame;
+ /* 0x04D */ u8 mWarpCursorAlphaMin;
+ /* 0x04E */ u8 mWarpCursorAlphaMax;
/* 0x04F */ u8 padding_0x4F[0x50 - 0x4F];
- /* 0x050 */ f32 field_0x50;
- /* 0x054 */ f32 field_0x54;
- /* 0x058 */ f32 field_0x58;
- /* 0x05C */ f32 field_0x5C;
- /* 0x060 */ f32 field_0x60;
- /* 0x064 */ f32 field_0x64;
- /* 0x068 */ f32 field_0x68;
- /* 0x06C */ f32 field_0x6C;
- /* 0x070 */ f32 field_0x70;
- /* 0x074 */ f32 field_0x74;
- /* 0x078 */ f32 field_0x78;
- /* 0x07C */ f32 field_0x7C;
- /* 0x080 */ f32 field_0x80;
- /* 0x084 */ f32 field_0x84;
- /* 0x088 */ f32 field_0x88;
- /* 0x08C */ f32 field_0x8C;
- /* 0x090 */ f32 field_0x90;
- /* 0x094 */ f32 field_0x94;
- /* 0x098 */ f32 field_0x98;
- /* 0x09C */ f32 field_0x9C;
+ /* 0x050 */ f32 mWarpSpotPosX[9];
+ /* 0x074 */ f32 mWarpSpotPosY[9];
+ /* 0x098 */ f32 mWarpSpotScaleSel;
+ /* 0x09C */ f32 mWarpSpotScale;
/* 0x0A0 */ f32 field_0xA0;
/* 0x0A4 */ f32 field_0xA4;
/* 0x0A8 */ f32 field_0xA8;
@@ -554,46 +529,42 @@ public:
/* 0x0D4 */ f32 field_0xD4;
/* 0x0D8 */ f32 field_0xD8;
/* 0x0DC */ f32 field_0xDC;
- /* 0x0E0 */ u8 field_0xE0;
- /* 0x0E1 */ GXColor field_0xE1;
- /* 0x0E5 */ GXColor field_0xE5;
+ /* 0x0E0 */ u8 mCheckMarkAnimFrame;
+ /* 0x0E1 */ GXColor mCheckMarkWhite;
+ /* 0x0E5 */ GXColor mCheckMarkBlack;
/* 0x0E9 */ u8 field_0xE9;
/* 0x0EA */ GXColor field_0xEA;
/* 0x0EE */ GXColor field_0xEE;
/* 0x0F2 */ u8 field_0xF2;
- /* 0x0F3 */ GXColor field_0xF3;
- /* 0x0F7 */ GXColor field_0xF7;
+ /* 0x0F3 */ GXColor mKorokWhite;
+ /* 0x0F7 */ GXColor mKorokBlack;
/* 0x0FB */ u8 field_0xFB;
- /* 0x0FC */ GXColor field_0xFC;
- /* 0x100 */ GXColor field_0x100;
+ /* 0x0FC */ GXColor mAreaTxtColor;
+ /* 0x100 */ GXColor mAreaTxtColorMain;
/* 0x104 */ u8 field_0x104;
/* 0x105 */ u8 field_0x105;
/* 0x106 */ u8 field_0x106;
- /* 0x107 */ u8 field_0x107;
- /* 0x108 */ u8 field_0x108;
- /* 0x109 */ u8 field_0x109;
- /* 0x10A */ u8 field_0x10A;
- /* 0x10B */ u8 field_0x10B;
- /* 0x10C */ u8 field_0x10C;
- /* 0x10D */ u8 field_0x10D;
- /* 0x10E */ u8 field_0x10E;
- /* 0x10F */ u8 field_0x10F;
- /* 0x110 */ u8 field_0x110;
- /* 0x111 */ u8 field_0x111;
+ /* 0x107 */ u8 mWarpBackColorCycle;
+ /* 0x108 */ GXColor mWarpBackColor1;
+ /* 0x10C */ GXColor mWarpBackColor2;
+ /* 0x110 */ u8 mFishmanOpenFrame;
+ /* 0x111 */ u8 mFishmanZoom1Frame;
/* 0x112 */ u8 field_0x112;
- /* 0x113 */ u8 field_0x113;
- /* 0x114 */ u8 field_0x114;
- /* 0x115 */ u8 field_0x115;
- /* 0x116 */ u8 field_0x116;
- /* 0x117 */ u8 field_0x117;
- /* 0x118 */ u8 field_0x118;
- /* 0x119 */ u8 field_0x119;
- /* 0x11A */ u8 field_0x11A;
- /* 0x11B */ u8 field_0x11B;
- /* 0x11C */ u8 field_0x11C;
- /* 0x11D */ u8 field_0x11D;
- /* 0x11E */ u8 field_0x11E;
+ /* 0x113 */ u8 mFishmanZoom1OutFrame;
+ /* 0x114 */ u8 mFishmanZoom2Frame;
+ /* 0x115 */ u8 mFishmanZoom2AlphaFrame;
+ /* 0x116 */ u8 mFishmanMapWriteWait;
+ /* 0x117 */ u8 mFishmanMapWriteFrame;
+ /* 0x118 */ u8 mFishmanBlinkFrame;
+ /* 0x119 */ u8 mFishmanDispWait;
+ /* 0x11A */ u8 mFishmanCloseWait;
+ /* 0x11B */ u8 mFishmanCloseFrame;
+#if VERSION > VERSION_JPN
+ /* 0x11C */ u8 mMoonAlphaFrame;
+ /* 0x11D */ u8 mMoonAlphaMax;
+ /* 0x11E */ u8 mMoonAlphaMin;
/* 0x11F */ u8 padding_0x11F[0x120 - 0x11F];
+#endif
};
extern dMf_HIO_c g_mfHIO;
diff --git a/include/d/d_menu_fmap2.h b/include/d/d_menu_fmap2.h
index 27eeed46..9eab2ff2 100644
--- a/include/d/d_menu_fmap2.h
+++ b/include/d/d_menu_fmap2.h
@@ -149,7 +149,7 @@ public:
void readPaneCmapTexture(const ResTIMG*, int);
void readFmapTexture(const char*);
int getButtonIconMode();
- void isLockBbutton();
+ BOOL isLockBbutton();
void isGetCollectMap(signed char);
void isOpenCollectMap(signed char);
void isOpenCollectMapTriforce(signed char);
@@ -164,15 +164,19 @@ public:
/* 0x0020 */ dDlst_FMAP2_c mDlst;
/* 0x0024 */ u8 padding_0x24[0x28 - 0x24];
/* 0x0028 */ dDlst_FMAP2GS_c mDlstGs;
+#if VERSION > VERSION_JPN
/* 0x002C */ u8 padding_0x2C[0x2820 - 0x2C];
+#else
+ /* 0x002C */ u8 padding_0x2C[0x2650 - 0x2C];
+#endif
/* 0x2820 */ JUtility::TColor color_0x2820;
/* 0x2824 */ JUtility::TColor color_0x2824;
/* 0x2828 */ JUtility::TColor color_0x2828;
/* 0x282C */ JUtility::TColor color_0x282C;
/* 0x2830 */ u8 padding_0x2830[0x2850 - 0x2830];
-}; // Size: 0x2850?
+}; // Size: 0x2850
-STATIC_ASSERT(sizeof(dMenu_Fmap2_c) == 0x2850);
+STATIC_ASSERT(sizeof(dMenu_Fmap2_c) == VERSION_SELECT(0x2680, 0x2680, 0x2850, 0x2850));
class dMf2_HIO_c {
public:
diff --git a/include/d/d_menu_fmapSv.h b/include/d/d_menu_fmapSv.h
index 3e51b1ea..60218c8b 100644
--- a/include/d/d_menu_fmapSv.h
+++ b/include/d/d_menu_fmapSv.h
@@ -4,6 +4,12 @@
#include "JSystem/JUtility/JUTAssert.h"
#include "global.h"
+enum dMf_ZoomLevel {
+ FMAP_ZOOM_WORLD = 0,
+ FMAP_ZOOM_SECTOR = 1,
+ FMAP_ZOOM_DETAIL = 2,
+};
+
struct aramCmapSalvagePnt_t {
/* 0x0 */ s16 field_0x0;
/* 0x2 */ s16 field_0x2;
diff --git a/include/f_op/f_op_msg_mng.h b/include/f_op/f_op_msg_mng.h
index 04fe4a80..b887ca23 100644
--- a/include/f_op/f_op_msg_mng.h
+++ b/include/f_op/f_op_msg_mng.h
@@ -61,6 +61,18 @@ struct fopMsg_prm_timer : public fopMsg_prm_class {
/* 0x2C */ cXy mRupeePos;
}; // Size: 0x34
+struct fopMsgM_unk_struct {
+ u16 _0;
+ u16 _2;
+ u16 _4;
+ u16 _6;
+ u16 _8;
+ u16 _A;
+ s16 _C;
+ u16 _E;
+ u8 _10;
+};
+
class J2DScreen;
class fopMsgM_f2d_class {
@@ -514,6 +526,7 @@ void fopMsgM_messageSendOn();
void fopMsgM_messageSendOff();
bool fopMsgM_checkMessageSend();
u32 fopMsgM_tactMessageSet();
+fopMsgM_unk_struct fopMsgM_selectMessageGet(J2DPane* i_textPane, J2DPane* i_rubyPane, char* param_3, char* param_4, char* param_5, char* param_6, u32 i_msgNo);
void fopMsgM_demoMsgFlagOn();
bool fopMsgM_getScopeMode();