diff options
| author | Teddy Heidmann <ateddy42@users.noreply.github.com> | 2026-09-04 15:01:21 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-04 18:01:21 -0400 |
| commit | 7735a21e142cd13b02029948c0cbbdd0f2f5d3be (patch) | |
| tree | 90cc98d5a871aea3f26cf0fc2e989b4e429f5e62 /include | |
| parent | 9afcc6d97449f47b6930a2bbf9ed38eeeb04e235 (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.h | 19 | ||||
| -rw-r--r-- | include/d/d_menu_fmap.h | 321 | ||||
| -rw-r--r-- | include/d/d_menu_fmap2.h | 10 | ||||
| -rw-r--r-- | include/d/d_menu_fmapSv.h | 6 | ||||
| -rw-r--r-- | include/f_op/f_op_msg_mng.h | 13 |
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(); |
