summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTeddy Heidmann <ateddy42@users.noreply.github.com>2026-08-23 15:56:14 -0700
committerGitHub <noreply@github.com>2026-08-23 18:56:14 -0400
commita2817a5702a72e8cf3f53a32e9ce6b2df200da78 (patch)
treec4e7129181746971e258705914f426601a3d760a /include
parent4b9a87e0f83ddebff166acb90755bf77306bf7db (diff)
d_menu_fmap Progress (#1148)
* class model * g_mfHIO * more progress * more matching * menu interactions * zoom functions * zoom map alpha set * zoom 200 * more zooms * gship * inlines * g_cursorTable and best practices * create * some screenSet and rodata * worst constructor ever * review cleanup * forgot a file * undo fmap_sv type changes * wrapSelWarp * .data renames * initialize() * displayinit() * calcGetMapCount * dispEndSalvageMark() * checkMarks * pane fns * selMaskAlphaCtrl() * salvage/are txt chgs * checkMarkCheck3 and CursorAnime fns * collapse arrays * setDspWindAngle() * windArrowColorAnime() * checkMarkAnime(), setDispIslandPos() * setDspNormalMapLink() * setDspLargeMapLink() * Added enums, NULL checks for pointers, remove inlines
Diffstat (limited to 'include')
-rw-r--r--include/d/d_com_inf_game.h11
-rw-r--r--include/d/d_map.h26
-rw-r--r--include/d/d_menu_fmap.h577
-rw-r--r--include/d/d_menu_fmap2.h20
-rw-r--r--include/d/d_menu_fmap_sv.h97
-rw-r--r--include/d/d_save_event_flag.inc2
6 files changed, 585 insertions, 148 deletions
diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h
index 5d9f3715..f74501b0 100644
--- a/include/d/d_com_inf_game.h
+++ b/include/d/d_com_inf_game.h
@@ -590,11 +590,13 @@ public:
JKRArchive* getAnmArchive() { return mpAnmArchive; }
void setLkDArc(JKRArchive * pArc) { mpLkDArc = pArc; }
void setFmapArchive(JKRArchive * pArc) { mpFmapArchive = pArc; }
+ JKRArchive* getFmapArchive() { return mpFmapArchive; }
void setItemResArchive(JKRArchive * pArc) { mpItemResArchive = pArc; }
JKRArchive* getItemResArchive() { return mpItemResArchive; }
void setCollectResArchive(JKRArchive * pArc) { mpCollectResArchive = pArc; }
JKRArchive* getCollectResArchive() { return mpCollectResArchive; }
void setFmapResArchive(JKRArchive * pArc) { mpFmapResArchive = pArc; }
+ JKRArchive* getFmapResArchive() { return mpFmapResArchive; }
void setDmapResArchive(JKRArchive * pArc) { mpDmapResArchive = pArc; }
JKRArchive* getDmapResArchive() { return mpDmapResArchive; }
void setOptionResArchive(JKRArchive * pArc) { mpOptionResArchive = pArc; }
@@ -1240,6 +1242,13 @@ inline s32 dComIfGs_getCollectMapNum() {
return g_dComIfG_gameInfo.save.getPlayer().getMap().getCollectMapNum();
}
+inline void dComIfGs_onSaveArriveGrid(int i_no) {
+ g_dComIfG_gameInfo.save.getPlayer().getMap().onSaveArriveGrid(i_no);
+}
+inline BOOL dComIfGs_isSaveArriveGrid(int i_no) {
+ return g_dComIfG_gameInfo.save.getPlayer().getMap().isSaveArriveGrid(i_no);
+}
+
inline void dComIfGs_onSaveArriveGridForAgb(int i_no) {
g_dComIfG_gameInfo.save.getPlayer().getMap().onSaveArriveGridForAgb(i_no);
}
@@ -3959,11 +3968,13 @@ inline JKRArchive* dComIfGp_getFontArchive() { return g_dComIfG_gameInfo.play.ge
inline JKRArchive* dComIfGp_getRubyArchive() { return g_dComIfG_gameInfo.play.getRubyArchive(); }
inline void dComIfGp_setLkDArc(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setLkDArc(pArc); }
inline void dComIfGp_setFmapArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setFmapArchive(pArc); }
+inline JKRArchive* dComIfGp_getFmapArchive() { return g_dComIfG_gameInfo.play.getFmapArchive(); }
inline void dComIfGp_setItemResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setItemResArchive(pArc); }
inline JKRArchive* dComIfGp_getItemResArchive() { return g_dComIfG_gameInfo.play.getItemResArchive(); }
inline void dComIfGp_setCollectResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setCollectResArchive(pArc); }
inline JKRArchive* dComIfGp_getCollectResArchive() { return g_dComIfG_gameInfo.play.getCollectResArchive(); }
inline void dComIfGp_setFmapResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setFmapResArchive(pArc); }
+inline JKRArchive* dComIfGp_getFmapResArchive() { return g_dComIfG_gameInfo.play.getFmapResArchive(); }
inline void dComIfGp_setDmapResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setDmapResArchive(pArc); }
inline JKRArchive* dComIfGp_getDmapResArchive() { return g_dComIfG_gameInfo.play.getDmapResArchive(); }
inline void dComIfGp_setOptionResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setOptionResArchive(pArc); }
diff --git a/include/d/d_map.h b/include/d/d_map.h
index 0c91de6c..5aaf866a 100644
--- a/include/d/d_map.h
+++ b/include/d/d_map.h
@@ -43,6 +43,14 @@ struct dMap_CollectPoint {
u8 field_0x17;
};
+struct FmapChkPnt {
+ /* 0x0 */ char mSectorX;
+ /* 0x1 */ char mSectorY;
+ /* 0x2 */ s16 field_0x2;
+ /* 0x4 */ s16 field_0x4;
+ /* 0x6 */ u8 field_0x6;
+}; // Size: 0x8
+
class dMap_2DMtMapSpcl_tex_c {
public:
dMap_2DMtMapSpcl_tex_c() {}
@@ -400,10 +408,10 @@ public:
static void draw(f32, f32, int, f32);
static void point2Grid(f32, f32, s8*, s8*);
static void point2GridAndLocal(f32, f32, s8*, s8*, s16*, s16*);
- static void getCheckPointUseGrid(s8, s8);
+ static int getCheckPointUseGrid(s8, s8);
static void getFmapChkPntPrm(int, s8*, s8*, s16*, s16*, u8*);
static void setFmapChkDtPrm();
- static void getFmapChkPntDtPnt(int);
+ static FmapChkPnt* getFmapChkPntDtPnt(int);
static void initPoint();
static void setGbaPoint_ocean(u8, f32, f32, s16, u8, u8, u8, u8);
static BOOL isPointStayInDspNowRoomAgbScr(s16, s16);
@@ -495,7 +503,7 @@ public:
static f32 mEnlargementSizeScaleX;
static f32 mEnlargementSizeScaleZ;
static u8 mFmapChkPntValue;
- static int mFmapChkPntData_p;
+ static FmapChkPnt* mFmapChkPntData_p;
static s16 mDispPosLeftUpX;
static s16 mDispPosLeftUpY;
static s16 mDispSizeX;
@@ -537,14 +545,20 @@ inline void dMap_setIconSelfAlpha(u8 alpha) { return dMap_c::setIconSelfAlpha(al
inline void dMap_setIconSelfScale(f32 scale) { return dMap_c::setIconSelfScale(scale); }
inline void dMap_setIconDispMode(u8 mode) { return dMap_c::setIconDispMode(mode); }
-inline void dMap_getCheckPointUseGrid(s8, s8) {}
-inline void dMap_getFmapChkPntPrm(int, s8*, s8*, s16*, s16*, u8*) {}
+inline int dMap_getCheckPointUseGrid(s8 i_x, s8 i_y) {
+ return dMap_c::getCheckPointUseGrid(i_x, i_y);
+}
+inline void dMap_getFmapChkPntPrm(int i, s8* gx, s8* gy, s16* x, s16* y, u8* prm) {
+ dMap_c::getFmapChkPntPrm(i, gx, gy, x, y, prm);
+}
inline void dMap_getMapDispSizeHeight() {}
inline void dMap_getMapDispSizeWidth() {}
inline void dMap_isSaveArriveGridUseGridNo(int) {}
inline void dMap_isSaveArriveGridUseGridPos(int, int) {}
inline void dMap_isSaveArriveGrid_UseWorldPos(f32, f32) {}
inline void dMap_onSaveArriveGridUseGridNo(int) {}
-inline void dMap_point2Grid(f32, f32, s8*, s8*) {}
+inline void dMap_point2Grid(f32 i_x, f32 i_z, s8* i_gridX_p, s8* i_gridY_p) {
+ dMap_c::point2Grid(i_x, i_z, i_gridX_p, i_gridY_p);
+}
#endif /* D_MAP_H */
diff --git a/include/d/d_menu_fmap.h b/include/d/d_menu_fmap.h
index bb0928ff..16aa0b9b 100644
--- a/include/d/d_menu_fmap.h
+++ b/include/d/d_menu_fmap.h
@@ -1,22 +1,75 @@
#ifndef D_MENU_FMAP_H
#define D_MENU_FMAP_H
+#include "d/d_2dnumber.h"
#include "d/d_drawlist.h"
+#include "d/d_lib.h"
+#include "d/d_menu_fmap_sv.h"
#include "dolphin/types.h"
+#include "JSystem/JParticle/JPAEmitter.h"
#include "SSystem/SComponent/c_xyz.h"
#include "d/d_menu_fmap2.h"
+#include "f_op/f_op_msg_mng.h"
+#include "m_Do/m_Do_hostIO.h"
class JUTFont;
class J2DScreen;
-struct fopMsgM_pane_class;
-class dMenu_FmapSv_c;
-struct cursorTable_t;
-struct aramCmapDatPat_t;
+
+struct cursorTable_t {
+ /* 0x0 */ s8 gridX;
+ /* 0x1 */ s8 gridY;
+ /* 0x2 */ s8 no;
+ /* 0x3 */ s8 left;
+ /* 0x4 */ s8 right;
+ /* 0x5 */ s8 up;
+ /* 0x6 */ s8 down;
+};
+
+struct aramCmapSalvagePnt_t {
+ /* 0x0 */ s16 field_0x0;
+ /* 0x2 */ s16 field_0x2;
+ /* 0x4 */ s16 x;
+ /* 0x6 */ s16 y;
+}; // Size: 0x8
+
+struct aramCmapDatPnt_t {
+ /* 0x00 */ s8 gridNo;
+ /* 0x01 */ s8 collectMapNo;
+ /* 0x02 */ s8 cmapIdx;
+ /* 0x03 */ s8 field_0x3;
+ /* 0x04 */ s16 field_0x4;
+ /* 0x06 */ aramCmapSalvagePnt_t salvagePnt[4];
+}; // Size: 0x26
+
+struct aramCmapDatPat_t {
+ u32 m_0x0;
+ aramCmapDatPnt_t* m_0x4;
+};
+
+enum FmapMode {
+ FMAP_MODE_NORMAL = 0,
+ FMAP_MODE_WARP = 1,
+ FMAP_MODE_WALLPAPER = 2,
+ FMAP_MODE_FISHMAN = 3,
+};
+
+enum FmapButtonIconMode {
+ FMAP_BTN_ICON_WORLD = 0,
+ FMAP_BTN_ICON_SECTOR = 1,
+ FMAP_BTN_ICON_DETAIL = 2,
+ FMAP_BTN_ICON_LOCKED = 3,
+ FMAP_BTN_ICON_WARP = 4,
+ FMAP_BTN_ICON_WALLPAPER = 5,
+ FMAP_BTN_ICON_FISHMAN = 6,
+};
class dDlst_FMAP_c : public dDlst_base_c {
public:
virtual ~dDlst_FMAP_c() {}
virtual void draw();
+
+public:
+ /* 0x0004 */ J2DScreen* scrn;
};
class dMenu_Fmap_c {
@@ -24,41 +77,115 @@ public:
virtual ~dMenu_Fmap_c() {}
void draw() { _draw(); }
- void getCtCurWX() {}
- void getCtCurWY() {}
- void getCtCurX() {}
- void getCtCurY() {}
+ u8 getCtActive() {
+ JUT_ASSERT(467, fmapSv != NULL);
+ return fmapSv->active;
+ }
+ void setCtActive(u8 val) {
+ JUT_ASSERT(472, fmapSv != NULL);
+ fmapSv->active = val;
+ }
+ s8 getCtCmapSelNo() {
+ JUT_ASSERT(478, fmapSv != NULL);
+ return fmapSv->cmapSelNo;
+ }
+ void setCtCmapSelNo(s8 val) {
+ JUT_ASSERT(483, fmapSv != NULL);
+ fmapSv->cmapSelNo = val;
+ }
+ s8 getCtCurWX() {
+ JUT_ASSERT(489, fmapSv != NULL);
+ return fmapSv->curWX;
+ }
+ void setCtCurWX(s8 val) {
+ JUT_ASSERT(494, fmapSv != NULL);
+ fmapSv->curWX = val;
+ }
+ s8 getCtCurWY() {
+ JUT_ASSERT(500, fmapSv != NULL);
+ return fmapSv->curWY;
+ }
+ void setCtCurWY(s8 val) {
+ JUT_ASSERT(505, fmapSv != NULL);
+ fmapSv->curWY = val;
+ }
+ s8 getCtCurHX() {
+ JUT_ASSERT(511, fmapSv != NULL);
+ return fmapSv->curHX;
+ }
+ void setCtCurHX(s8 val) {
+ JUT_ASSERT(516, fmapSv != NULL);
+ fmapSv->curHX = val;
+ }
+ s8 getCtCurHY() {
+ JUT_ASSERT(522, fmapSv != NULL);
+ return fmapSv->curHY;
+ }
+ void setCtCurHY(s8 val) {
+ JUT_ASSERT(527, fmapSv != NULL);
+ fmapSv->curHY = val;
+ }
+ s8 getCtCurX() {
+ JUT_ASSERT(533, fmapSv != NULL);
+ return fmapSv->curX;
+ }
+ void setCtCurX(s8 val) {
+ JUT_ASSERT(538, fmapSv != NULL);
+ fmapSv->curX = val;
+ }
+ s8 getCtCurY() {
+ JUT_ASSERT(543, fmapSv != NULL);
+ return fmapSv->curY;
+ }
+ void setCtCurY(s8 val) {
+ JUT_ASSERT(548, fmapSv != NULL);
+ fmapSv->curY = val;
+ }
+ s8 getCtZoomGridX() {
+ JUT_ASSERT(553, fmapSv != NULL);
+ return fmapSv->zoomGridX;
+ }
+ void setCtZoomGridX(s8 val) {
+ JUT_ASSERT(559, fmapSv != NULL);
+ fmapSv->zoomGridX = val;
+ }
+ s8 getCtZoomGridY() {
+ JUT_ASSERT(563, fmapSv != NULL);
+ return fmapSv->zoomGridY;
+ }
+ void setCtZoomGridY(s8 val) {
+ JUT_ASSERT(569, fmapSv != NULL);
+ fmapSv->zoomGridY = val;
+ }
void getCtDispMode() {}
+ void setCtDispMode(u8) {}
void getCtFmapZoom() {}
- void getCtZoomGridX() {}
- void getCtZoomGridY() {}
- void lineInter0to1(float, float, float) {}
- void lineInter0to1ForU8(unsigned char, unsigned char, float) {}
- void setCtCurHX(signed char) {}
- void setCtCurHY(signed char) {}
- void setCtCurWX(signed char) {}
- void setCtCurWY(signed char) {}
- void setCtCurX(signed char) {}
- void setCtCurY(signed char) {}
- void setCtDispMode(unsigned char) {}
- void setCtFmapZoom(unsigned char) {}
- void setCtZoomGridX(signed char) {}
- void setCtZoomGridY(signed char) {}
+ void setCtFmapZoom(u8) {}
+ void lineInter0to1(f32, f32, f32) {}
+ void lineInter0to1ForU8(u8, u8, f32) {}
void setFont(JUTFont* font, JUTFont* rfont) {
mFont = font;
mRFont = rfont;
}
void setSvPtr(dMenu_FmapSv_c* i_ptr) { fmapSv = i_ptr; }
void setTextArea_New(char* name0, char* name1, char* note0, char* note1, char* dummy0, char* dummy1) {
- name[0] = name0;
- name[1] = name1;
- note[0] = note0;
- note[1] = note1;
- dummy[0] = dummy0;
- dummy[1] = dummy1;
+ mTxtName[0] = name0;
+ mTxtName[1] = name1;
+ mTxtNote[0] = note0;
+ mTxtNote[1] = note1;
+ mTxtDummy[0] = dummy0;
+ mTxtDummy[1] = dummy1;
+ }
+ void stopWrapBackEmitter() {
+ if (mMainWarpPane != NULL) {
+ mMainWarpPane->becomeInvalidEmitter();
+ }
+ }
+ void stopWrapSpotEmitter(int i_idx) {
+ if (mWarpPanes[i_idx] != NULL) {
+ mWarpPanes[i_idx]->becomeInvalidEmitter();
+ }
}
- void stopWrapBackEmitter() {}
- void stopWrapSpotEmitter(int) {}
void _create();
void phantomShipCheck();
@@ -72,21 +199,21 @@ public:
void checkMarkCheck2();
void checkMarkCheck3();
bool isFmapClose();
- void setPaneOnOff(J2DScreen*, unsigned long, bool);
- void childPaneMoveSp(fopMsgM_pane_class*, fopMsgM_pane_class*, float, float, float);
- void selGridMaskAlphaCtrl(short, unsigned char, unsigned char, int);
- void fmapMaskAlphaCtrl(short, unsigned char, unsigned char, int);
+ 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);
void selCursorInit();
void selCursorHide();
void selCursorMove();
void islandNameChange();
- void changeIslandName(unsigned char);
+ void changeIslandName(u8);
void AreaTxtChg();
void AreaTxtChgFast();
void salvageGetItemChg();
void salvageGetItemChange();
void SalvItmDispChgFast();
- void changeSalvageGetItem(unsigned char);
+ void changeSalvageGetItem(u8);
void selCursorAnime();
void zoomCursorInit();
void zoomCursorAnime();
@@ -96,32 +223,32 @@ public:
void windArrowColorAnime();
void checkMarkAnimeInit();
void checkMarkAnime();
- void readFmapTexture(const char*);
+ u32 readFmapTexture(const char*);
void aramCmapDatRead();
void initCmapDatPnt(aramCmapDatPat_t*);
- void getGridNumToCmapDatPnt(int);
- void setDispIslandPos(signed char, signed char);
- void setIslandPos(fopMsgM_pane_class*, float, float);
- void changeFmapTexture(signed char, signed char);
+ aramCmapDatPnt_t* getGridNumToCmapDatPnt(int);
+ void setDispIslandPos(s8, s8);
+ void setIslandPos(fopMsgM_pane_class*, f32, f32);
+ void changeFmapTexture(s8, s8);
void setDspNormalMapLink();
void setDspLargeMapLink();
void checkDspLargeMapLink();
void checkDspLargeMapShip();
void dispEndSalvageLargeMark();
void setDspHugeMapLink();
- void dispEndSalvageHugeMark(float, float);
+ void dispEndSalvageHugeMark(f32, f32);
void checkDspHugeMapLink();
void checkDspHugeMapShip();
bool _open();
bool _close();
- void _close_normalMode();
+ BOOL _close_normalMode();
void _move();
void _draw();
void _delete();
void FmapProcMain();
void SelectGrid();
void zoom1000x1000Init();
- void zoomMapAlphaSet(signed char, signed char, fopMsgM_pane_class*, unsigned char);
+ void zoomMapAlphaSet(s8, s8, fopMsgM_pane_class*, u8);
void ZoomGridLv1In();
void ZoomGridLv1Proc();
void zoom200x200Init();
@@ -135,18 +262,18 @@ public:
void fmap2Open();
void fmap2Move();
void fmap2Close();
- void paneTransBase(short, unsigned char, float, float, unsigned char, int);
- void paneTranceZoomMap(short, unsigned char, float, float, float, float, float, float, unsigned char, int);
- void paneTranceZoomMapAlpah(short, unsigned char, unsigned char, int);
- void paneTranceZoom2Map(short, unsigned char, float, float, float, float, float, float, unsigned char, int);
- void paneAlphaFmapCursor(fopMsgM_pane_class*, short, unsigned char, unsigned char, int);
- void PaneAlphaSelvageItem(short, unsigned char);
+ 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);
void gShipMarkAnimeInit();
void gShipMarkAnime();
bool _open_warpMode();
void init_warpMode();
void selCursorMoveWarp();
- void _close_warpMode();
+ BOOL _close_warpMode();
void moveMain_warpMode();
void wrapMove();
void wrapSelWinFadeIn1();
@@ -154,72 +281,352 @@ public:
void wrapSelWinFadeOut();
void wrapSelWarp();
void warpAreaAnime0();
- void paneTranceWarpMsg(fopMsgM_pane_class*, short, unsigned char, float, float, unsigned char, int);
- void paneAlphaWarpMsgBack(short, unsigned char, unsigned char, int);
+ BOOL paneTranceWarpMsg(fopMsgM_pane_class*, short, u8, f32, f32, u8, int);
+ BOOL paneAlphaWarpMsgBack(short, u8, u8, int);
void warpSelCursorMove();
void warpSelCursorAnimeInit();
void warpSelCursorAnime();
- void getWarpAreaGridX(int);
- void getWarpAreaGridY(int);
- void getWarpAreaNo(const cursorTable_t*);
- void getWarpAreaNoUp(const cursorTable_t*);
- void getWarpAreaNoDown(const cursorTable_t*);
- void getWarpAreaNoLeft(const cursorTable_t*);
- void getWarpAreaNoRight(const cursorTable_t*);
- void getWarpAreaTablePtr(signed char, signed char);
+ s8 getWarpAreaGridX(int);
+ s8 getWarpAreaGridY(int);
+ int getWarpAreaNo(const cursorTable_t*);
+ int getWarpAreaNoUp(const cursorTable_t*);
+ int getWarpAreaNoDown(const cursorTable_t*);
+ int getWarpAreaNoLeft(const cursorTable_t*);
+ int getWarpAreaNoRight(const cursorTable_t*);
+ const cursorTable_t* getWarpAreaTablePtr(s8, s8);
void areaTextChangeAnimeInit();
void areaTextChangeAnime();
- void PaneAlphaAreaTxt(short, unsigned char, int);
- void setDspWarpBackCornerColor(float);
+ BOOL PaneAlphaAreaTxt(short, u8, int);
+ void setDspWarpBackCornerColor(f32);
void setWrapBackEmitter(cXyz);
void setWrapSpotEmitter(int, cXyz);
bool _open_fishManMode();
- void _close_fishManMode();
+ BOOL _close_fishManMode();
void init_fishManMode();
void movefishManMode();
void fmDispArea();
void fmZoomGridLv1In();
void fmZoomGridLv2In();
- void islandNameSet(unsigned char);
+ void islandNameSet(u8);
void fmMapWrite();
void fmMapWait();
- void paneAlphaZoom2Map(short, unsigned char, unsigned char, int);
+ void paneAlphaZoom2Map(short, u8, u8, int);
void fmZoomGridLv2Out();
void fmZoomGridLv1Out();
void fmEndWait();
bool _open_wallPaper();
- u8 getButtonIconMode();
+ int getButtonIconMode();
public:
- /* 0x0004 */ u8 padding_0x4[0x1C - 0x4];
- /* 0x001C */ dDlst_FMAP_c mDlst;
- /* 0x0020 */ J2DScreen* scrn;
+ /* 0x0004 */ u8 padding_0x4[0x18 - 0x4];
+ /* 0x0018 */ ResTIMG * mChkPntTxt_p;
+ /* 0x001C */ dDlst_FMAP_c fmapDl;
/* 0x0024 */ dMenu_Fmap2_c mFmap2;
/* 0x2874 */ u8 padding_0x2874[0x2878 - 0x2874];
/* 0x2878 */ dMenu_FmapSv_c* fmapSv;
- /* 0x287C */ u8 padding_0x287C[0x50D0 - 0x287C];
+ /* 0x287C */ aramCmapDatPat_t mCmapDatPnt;
+ /* 0x2884 */ dDlst_2DOutFont_c* outFont;
+ /* 0x2888 */ dDlst_2DOutFont_c* outFont2;
+ /* 0x288C */ fopMsgM_pane_class mFddmPane;
+ /* 0x28C4 */ fopMsgM_pane_class mClPane;
+ /* 0x28FC */ fopMsgM_pane_class mCi22Pane;
+ /* 0x2934 */ fopMsgM_pane_class mCi21Pane;
+ /* 0x296C */ fopMsgM_pane_class mCi32Pane;
+ /* 0x29A4 */ fopMsgM_pane_class mCi31Pane;
+ /* 0x29DC */ fopMsgM_pane_class mGtixPanes[2];
+ /* 0x2A4C */ fopMsgM_pane_class mKk1xPanes[8];
+ /* 0x2C0C */ fopMsgM_pane_class mKk3xPanes[8];
+ /* 0x2DCC */ fopMsgM_pane_class mAreaPane;
+ /* 0x2E04 */ fopMsgM_pane_class mLnk1Pane;
+ /* 0x2E3C */ fopMsgM_pane_class mSpi1Pane;
+ /* 0x2E74 */ fopMsgM_pane_class mKkdmPane;
+ /* 0x2EAC */ fopMsgM_pane_class mSmskPane;
+ /* 0x2EE4 */ fopMsgM_pane_class mLnk2Pane;
+ /* 0x2F1C */ fopMsgM_pane_class mSpi2Pane;
+ /* 0x2F54 */ fopMsgM_pane_class mTsw1Pane;
+ /* 0x2F8C */ fopMsgM_pane_class mR01bPane;
+ /* 0x2FC4 */ fopMsgM_pane_class mStm1Pane;
+ /* 0x2FFC */ fopMsgM_pane_class mKtx1Pane;
+ /* 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;
+ /* 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;
+ /* 0x34CC */ fopMsgM_pane_class mFmnPanes[15];
+ /* 0x3814 */ fopMsgM_pane_class mClgPane;
+ /* 0x384C */ fopMsgM_pane_class mSc2xPanes[7];
+ /* 0x39D4 */ fopMsgM_pane_class mR0xPanes[11];
+ /* 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;
+ /* 0x48B4 */ fopMsgM_pane_class mKr0xPanes[8];
+ /* 0x4A74 */ fopMsgM_pane_class mWnd1Pane;
+ /* 0x4AAC */ fopMsgM_pane_class mWnd2Pane;
+ /* 0x4AE4 */ fopMsgM_pane_class mMr01Pane;
+ /* 0x4B1C */ fopMsgM_pane_class mAreaTxtPanes[3];
+ /* 0x4BC4 */ fopMsgM_pane_class mBt00Pane;
+ /* 0x4BFC */ fopMsgM_pane_class mBt01Pane;
+ /* 0x4C34 */ fopMsgM_pane_class mBt02Pane;
+ /* 0x4C6C */ fopMsgM_pane_class mWts1Pane;
+ /* 0x4CA4 */ fopMsgM_pane_class mCc01Pane;
+ /* 0x4CDC */ fopMsgM_pane_class mWt1Pane;
+ /* 0x4D14 */ fopMsgM_pane_class mWt0Pane;
+ /* 0x4D4C */ fopMsgM_pane_class mYs01Pane;
+ /* 0x4D84 */ fopMsgM_pane_class mYs00Pane;
+ /* 0x4DBC */ fopMsgM_pane_class mYsk0Pane;
+ /* 0x4DF4 */ fopMsgM_pane_class mYesPane;
+ /* 0x4E2C */ fopMsgM_pane_class mNo01Pane;
+ /* 0x4E64 */ fopMsgM_pane_class mNo00Pane;
+ /* 0x4E9C */ fopMsgM_pane_class mNok0Pane;
+ /* 0x4ED4 */ fopMsgM_pane_class mNoPane;
+ /* 0x4F0C */ fopMsgM_pane_class mCur1Pane;
+ /* 0x4F44 */ fopMsgM_pane_class mGsPanes[7];
+ /* 0x50CC */ STControl* stick;
/* 0x50D0 */ JUTFont* mFont;
/* 0x50D4 */ JUTFont* mRFont;
- /* 0x50D8 */ u8 padding_0x50D8[0x5148 - 0x50D8];
- /* 0x5148 */ char* name[2];
- /* 0x5150 */ u8 padding_0x5150[0x5154 - 0x5150];
- /* 0x5154 */ char* note[2];
- /* 0x515C */ char* dummy[2];
- /* 0x5164 */ u8 padding_0x5164[0x5194 - 0x5164];
- /* 0x5194 */ JUtility::TColor color_0x5194;
- /* 0x5198 */ JUtility::TColor color_0x5198;
- /* 0x519C */ JUtility::TColor color_0x519C;
- /* 0x51A0 */ JUtility::TColor color_0x51A0;
- /* 0x51A4 */ JUtility::TColor color_0x51A4;
- /* 0x51A8 */ JUtility::TColor color_0x51A8;
- /* 0x51AC */ u8 padding_0x51AC[0x51B4 - 0x51AC];
+ /* 0x50D8 */ JPABaseEmitter* mMainWarpPane;
+ /* 0x50DC */ JPABaseEmitter* mWarpPanes[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;
+ /* 0x5113 */ u8 mMainProcIdx;
+ /* 0x5114 */ u8 mFmapProcIdx;
+ /* 0x5115 */ u8 mHikakuProcIdx;
+ /* 0x5116 */ s16 mFrameTimer;
+ /* 0x5118 */ s8 mGridX;
+ /* 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;
+ /* 0x513C */ bool mFullMapMode;
+ /* 0x513D */ u8 mSalvItmBufIdx;
+ /* 0x513E */ u8 mSalvItmTimer;
+ /* 0x513F */ bool mSalvItmChanging;
+ /* 0x5140 */ u8 mAreaTxtBufIdx;
+ /* 0x5141 */ u8 mAreaTxtTimer;
+ /* 0x5142 */ bool mAreaTxtChanging;
+ /* 0x5143 */ u8 mWarpAnimTimer;
+ /* 0x5144 */ u8 mWarpBlinkToggle;
+ /* 0x5145 */ u8 padding_0x5145[0x5148-0x5145];
+ /* 0x5148 */ char* mTxtName[3];
+ /* 0x5154 */ char* mTxtNote[2];
+ /* 0x515C */ char* mTxtDummy[2];
+ /* 0x5164 */ bool mWarpScrollGuard;
+ /* 0x5165 */ bool mWarpAnimActive;
+ /* 0x5166 */ u8 mBlackAlpha;
+ /* 0x5167 */ u8 mWhiteAlpha;
+ /* 0x5168 */ bool mMapSelectActive;
+ /* 0x5169 */ bool mZoomLocked;
+ /* 0x516A */ bool mInputDisabled;
+ /* 0x516B */ u8 mFmapMode;
+ /* 0x516C */ u8 mWarpProcIdx;
+ /* 0x516D */ u8 mWarpSubState;
+ /* 0x516E */ u8 padding_0x516E[0x5176-0x516E];
+ /* 0x5176 */ u8 mFrameCounter;
+ /* 0x5177 */ u8 mFishmanProcIdx;
+ /* 0x5178 */ u8 mFishmanTimer1;
+ /* 0x5179 */ u8 mFishmanTimer2;
+ /* 0x517A */ u8 mFishmanTimer3;
+ /* 0x517B */ u8 mFishmanMsgTimer;
+ /* 0x517C */ u8 mFishmanMsgToggle;
+ /* 0x517D */ u8 padding_0x517D[0x517F-0x517D];
+ /* 0x517F */ bool mFishmanActive;
+ /* 0x5180 */ u8 field_0x5180;
+ /* 0x5181 */ u8 mButtonIconMode;
+ /* 0x5182 */ u8 field_0x5182;
+ /* 0x5183 */ bool field_0x5183;
+ /* 0x5184 */ bool field_0x5184;
+ /* 0x5185 */ bool field_0x5185;
+ /* 0x5186 */ bool field_0x5186;
+ /* 0x5187 */ u8 padding_0x5187[0x518C-0x5187];
+ /* 0x518C */ char* mpKtx1String;
+ /* 0x5190 */ char* mpKtx2String;
+ /* 0x5194 */ JUtility::TColor mCk1Color;
+ /* 0x5198 */ JUtility::TColor mCk1Color2;
+ /* 0x519C */ JUtility::TColor mKr0Color;
+ /* 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;
+ /* 0x51B1 */ u8 padding_0x51B1[0x51B4-0x51B1];
}; // Size: 0x51B4
STATIC_ASSERT(sizeof(dMenu_Fmap_c) == 0x51B4);
-class dMf_HIO_c {
+class dMf_HIO_c : public JORReflexible {
public:
dMf_HIO_c();
+ virtual ~dMf_HIO_c() {}
+
+public:
+ /* 0x004 */ s8 mNo;
+ /* 0x005 */ u8 field_0x05;
+ /* 0x006 */ u8 field_0x06;
+ /* 0x007 */ u8 field_0x07;
+ /* 0x008 */ u8 field_0x08;
+ /* 0x009 */ GXColor field_0x09;
+ /* 0x00D */ GXColor field_0x0D;
+ /* 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;
+ /* 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;
+ /* 0x03D */ u8 field_0x3D;
+ /* 0x03E */ u8 field_0x3E;
+ /* 0x03F */ u8 field_0x3F;
+ /* 0x040 */ u8 field_0x40;
+ /* 0x041 */ u8 field_0x41;
+ /* 0x042 */ u8 field_0x42;
+ /* 0x043 */ u8 field_0x43;
+ /* 0x044 */ s16 field_0x44;
+ /* 0x046 */ u8 field_0x46;
+ /* 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;
+ /* 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;
+ /* 0x0A0 */ f32 field_0xA0;
+ /* 0x0A4 */ f32 field_0xA4;
+ /* 0x0A8 */ f32 field_0xA8;
+ /* 0x0AC */ f32 field_0xAC;
+ /* 0x0B0 */ f32 field_0xB0;
+ /* 0x0B4 */ f32 field_0xB4;
+ /* 0x0B8 */ f32 field_0xB8;
+ /* 0x0BC */ f32 field_0xBC;
+ /* 0x0C0 */ f32 field_0xC0;
+ /* 0x0C4 */ f32 field_0xC4;
+ /* 0x0C8 */ f32 field_0xC8;
+ /* 0x0CC */ f32 field_0xCC;
+ /* 0x0D0 */ f32 field_0xD0;
+ /* 0x0D4 */ f32 field_0xD4;
+ /* 0x0D8 */ f32 field_0xD8;
+ /* 0x0DC */ f32 field_0xDC;
+ /* 0x0E0 */ u8 field_0xE0;
+ /* 0x0E1 */ GXColor field_0xE1;
+ /* 0x0E5 */ GXColor field_0xE5;
+ /* 0x0E9 */ u8 field_0xE9;
+ /* 0x0EA */ GXColor field_0xEA;
+ /* 0x0EE */ GXColor field_0xEE;
+ /* 0x0F2 */ u8 field_0xF2;
+ /* 0x0F3 */ GXColor field_0xF3;
+ /* 0x0F7 */ GXColor field_0xF7;
+ /* 0x0FB */ u8 field_0xFB;
+ /* 0x0FC */ GXColor field_0xFC;
+ /* 0x100 */ GXColor field_0x100;
+ /* 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;
+ /* 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;
+ /* 0x11F */ u8 padding_0x11F[0x120 - 0x11F];
};
+extern dMf_HIO_c g_mfHIO;
+
#endif /* D_MENU_FMAP_H */
diff --git a/include/d/d_menu_fmap2.h b/include/d/d_menu_fmap2.h
index 6a44db4e..b351bf06 100644
--- a/include/d/d_menu_fmap2.h
+++ b/include/d/d_menu_fmap2.h
@@ -2,6 +2,8 @@
#define D_MENU_FMAP2_H
#include "dolphin/types.h"
+#include "d/d_drawlist.h"
+#include "dolphin/types.h"
struct fopMsgM_pane_class;
class J2DScreen;
@@ -9,6 +11,8 @@ struct ResTIMG;
class aramCmapDat_c;
class dMenu_FmapSv_c;
+struct aramCmapDatPat_t;
+
class dDlst_FMAP2GS_c : public dDlst_base_c {
public:
virtual ~dDlst_FMAP2GS_c() {}
@@ -35,7 +39,7 @@ public:
void getCtCurY() {}
void getCtDispMode() {}
void lineInter0to1ForU8(unsigned char, unsigned char, float) {}
- void setAramCmapDat(aramCmapDat_c*) {}
+ void setAramCmapDat(aramCmapDatPat_t* i_ptr) { mpFmapDatPnt = i_ptr; }
void setCtActive(unsigned char) {}
void setCtCmapSelNo(signed char) {}
void setCtCurHX(signed char) {}
@@ -88,8 +92,8 @@ public:
void cmapAlphaSet();
void changeZoomCmap();
void ChangeProcMode();
- void _open();
- void _close();
+ bool _open();
+ bool _close();
void _draw();
void _delete();
void fCursorInit();
@@ -142,10 +146,10 @@ public:
void calcFinCollectMap();
void getNowCmapFirstNum();
void getNowCmapNextNum(signed char, int);
- void getCmapDatPnt4(int);
+ aramCmapDatPat_t* getCmapDatPnt4(int);
void readPaneCmapTexture(const ResTIMG*, int);
void readFmapTexture(const char*);
- void getButtonIconMode();
+ int getButtonIconMode();
void isLockBbutton();
void isGetCollectMap(signed char);
void isOpenCollectMap(signed char);
@@ -154,8 +158,10 @@ public:
void isCompleteCollectMap(signed char);
public:
- /* 0x0004 */ u8 padding_0x4[0x1C - 0x4];
- /* 0x001C */ void* mpFmapDatPnt;
+ /* 0x0004 */ u8 padding_0x4[0x10 - 0x4];
+ /* 0x0010 */ dMenu_FmapSv_c* fmapSv;
+ /* 0x0014 */ u8 padding_0x14[0x1C - 0x14];
+ /* 0x001C */ aramCmapDatPat_t* mpFmapDatPnt;
/* 0x0020 */ dDlst_FMAP2_c mDlst;
/* 0x0024 */ u8 padding_0x24[0x28 - 0x24];
/* 0x0028 */ dDlst_FMAP2GS_c mDlstGs;
diff --git a/include/d/d_menu_fmap_sv.h b/include/d/d_menu_fmap_sv.h
index 52071d1c..dfffba20 100644
--- a/include/d/d_menu_fmap_sv.h
+++ b/include/d/d_menu_fmap_sv.h
@@ -6,61 +6,60 @@
class dMenu_FmapSv_c {
public:
dMenu_FmapSv_c() {
- field_0x0 = 0;
- field_0x1 = 0;
- field_0x2 = -10;
- field_0x3 = -10;
- field_0x4 = -10;
- field_0x5 = -10;
- field_0x6 = -10;
- field_0x7 = -10;
- field_0x8 = 0;
- field_0x9 = -1;
- field_0xA = -10;
- field_0xB = -10;
+ active = 0;
+ cmapSelNo = 0;
+ curX = -10;
+ curY = -10;
+ curWX = -10;
+ curWY = -10;
+ curHX = -10;
+ curHY = -10;
+ dispMode = 0;
+ fmapZoom = -1;
+ zoomGridX = -10;
+ zoomGridY = -10;
}
~dMenu_FmapSv_c() {}
- // TODO
- u8 getActive() {}
- void setActive(u8 val) {}
- s8 getCmapSelNo() {}
- void setCmapSelNo(s8 val) {}
- s8 getCurX() {}
- void setCurX(s8 val) {}
- s8 getCurY() {}
- void setCurY(s8 val) {}
- s8 getCurWX() {}
- void setCurWX(s8 val) {}
- s8 getCurWY() {}
- void setCurWY(s8 val) {}
- s8 getCurHX() {}
- void setCurHX(s8 val) {}
- s8 getCurHY() {}
- void setCurHY(s8 val) {}
- u8 getDispMode() {}
- void setDispMode(u8 val) {}
- u8 getFmapZoom() {}
- void setFmapZoom(u8 val) {}
- s8 getZoomGridX() {}
- void setZoomGridX(s8 val) {}
- s8 getZoomGridY() {}
- void setZoomGridY(s8 val) {}
+ s8 getActive() { return active; }
+ void setActive(s8 val) { active = val; }
+ s8 getCmapSelNo() { return cmapSelNo; }
+ void setCmapSelNo(s8 val) { cmapSelNo = val; }
+ s8 getCurX() { return curX; }
+ void setCurX(s8 val) { curX = val; }
+ s8 getCurY() { return curY; }
+ void setCurY(s8 val) { curY = val; }
+ s8 getCurWX() { return curWX; }
+ void setCurWX(s8 val) { curWX = val; }
+ s8 getCurWY() { return curWY; }
+ void setCurWY(s8 val) { curWY = val; }
+ s8 getCurHX() { return curHX; }
+ void setCurHX(s8 val) { curHX = val; }
+ s8 getCurHY() { return curHY; }
+ void setCurHY(s8 val) { curHY = val; }
+ s8 getDispMode() { return dispMode; }
+ void setDispMode(s8 val) { dispMode = val; }
+ s8 getFmapZoom() { return fmapZoom; }
+ void setFmapZoom(s8 val) { fmapZoom = val; }
+ s8 getZoomGridX() { return zoomGridX; }
+ void setZoomGridX(s8 val) { zoomGridX = val; }
+ s8 getZoomGridY() { return zoomGridY; }
+ void setZoomGridY(s8 val) { zoomGridY = val; }
public:
- /* 0x0 */ s8 field_0x0;
- /* 0x1 */ s8 field_0x1;
- /* 0x2 */ s8 field_0x2;
- /* 0x3 */ s8 field_0x3;
- /* 0x4 */ s8 field_0x4;
- /* 0x5 */ s8 field_0x5;
- /* 0x6 */ s8 field_0x6;
- /* 0x7 */ s8 field_0x7;
- /* 0x8 */ s8 field_0x8;
- /* 0x9 */ s8 field_0x9;
- /* 0xA */ s8 field_0xA;
- /* 0xB */ s8 field_0xB;
+ /* 0x0 */ s8 active;
+ /* 0x1 */ s8 cmapSelNo;
+ /* 0x2 */ s8 curX;
+ /* 0x3 */ s8 curY;
+ /* 0x4 */ s8 curWX;
+ /* 0x5 */ s8 curWY;
+ /* 0x6 */ s8 curHX;
+ /* 0x7 */ s8 curHY;
+ /* 0x8 */ s8 dispMode;
+ /* 0x9 */ s8 fmapZoom;
+ /* 0xA */ s8 zoomGridX;
+ /* 0xB */ s8 zoomGridY;
};
#endif //D_MENU_FMAP_SV_H
diff --git a/include/d/d_save_event_flag.inc b/include/d/d_save_event_flag.inc
index fd99336c..8e52ca33 100644
--- a/include/d/d_save_event_flag.inc
+++ b/include/d/d_save_event_flag.inc
@@ -510,7 +510,7 @@ public:
/* 0x85FF */ UNK_85FF = 0x85FF,
/* 0x86FF */ UNK_86FF = 0x86FF,
/* 0x870F */ UNK_870F = 0x870F,
- /* 0x8803 */ UNK_8803 = 0x8803,
+ /* 0x8803 */ GHOST_SHIP = 0x8803,
/* 0x89FF */ UNK_89FF = 0x89FF,
/* 0x8AFF */ UNK_8AFF = 0x8AFF,
/* 0x8B03 */ LETTER_ARYLL = 0x8B03,