Files
tww/include/d/d_menu_fmap_sv.h
T
LagoLunatic a4e1d2bd4b fmap and fmap_sv: Fix several mixups
Add missing aramCmapDat_c class (runtime version of the separate aramCmapDatPat_t struct) to fix inline signature.
Fix inlines and fields for dMenu_FmapSv_c being mixed up.
2026-08-23 22:47:08 -04:00

135 lines
3.4 KiB
C++

#ifndef D_MENU_FMAPSV_H
#define D_MENU_FMAPSV_H
#include "JSystem/JUtility/JUTAssert.h"
#include "global.h"
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 cmapNo;
/* 0x03 */ s8 mapType;
/* 0x04 */ s16 field_0x4;
/* 0x06 */ aramCmapSalvagePnt_t salvagePnt[4];
}; // Size: 0x26
STATIC_ASSERT(sizeof(aramCmapDatPnt_t) == 0x26);
struct aramCmapDatPat_t {
/* 0x00 */ int num;
/* 0x04 */ aramCmapDatPnt_t pnt[];
}; // Size: 0x4+
class aramCmapDat_c {
public:
void init(aramCmapDatPat_t* a_pat) {
if (a_pat != NULL) {
mNum = a_pat->num;
mpPnt = a_pat->pnt;
} else {
JUT_ASSERT(252, FALSE);
}
}
void getAramCmapDatValue() {}
void getCmapDatPnt(int) {}
aramCmapDatPnt_t* getCmapDatPnt3(int i_gridIdx) {
aramCmapDatPnt_t* pnt = mpPnt;
int i;
for (i = 0; i < mNum; i++) {
if (pnt->gridNo == i_gridIdx + 1) {
break;
}
pnt++;
}
if (i < mNum) {
return pnt;
}
return NULL;
}
aramCmapDatPnt_t* getCmapDatPnt4(int i_cmapIdx) {
aramCmapDatPnt_t* pnt = mpPnt;
int i;
for (i = 0; i < mNum; i++) {
if (pnt->cmapNo == i_cmapIdx + 1) {
break;
}
pnt++;
}
if (i < mNum) {
return pnt;
}
return NULL;
}
private:
/* 0x00 */ int mNum;
/* 0x04 */ aramCmapDatPnt_t* mpPnt;
}; // Size: 0x8
class dMenu_FmapSv_c {
public:
dMenu_FmapSv_c() {
dispMode = 0;
fmapZoom = 0;
zoomGridX = -10;
zoomGridY = -10;
curX = -10;
curY = -10;
curWX = -10;
curWY = -10;
active = 0;
cmapSelNo = -1;
curHX = -10;
curHY = -10;
}
~dMenu_FmapSv_c() {}
u8 getDispMode() { return dispMode; }
void setDispMode(u8 val) { dispMode = val; }
u8 getFmapZoom() { return fmapZoom; }
void setFmapZoom(u8 val) { fmapZoom = val; }
s8 getZoomGridX() { return zoomGridX; }
void setZoomGridX(s8 val) { zoomGridX = val; }
s8 getZoomGridY() { return zoomGridY; }
void setZoomGridY(s8 val) { zoomGridY = 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; }
u8 getActive() { return active; }
void setActive(u8 val) { active = val; }
u8 getCmapSelNo() { return cmapSelNo; }
void setCmapSelNo(s8 val) { cmapSelNo = val; }
s8 getCurHX() { return curHX; }
void setCurHX(s8 val) { curHX = val; }
s8 getCurHY() { return curHY; }
void setCurHY(s8 val) { curHY = val; }
public:
/* 0x0 */ u8 dispMode;
/* 0x1 */ u8 fmapZoom;
/* 0x2 */ s8 zoomGridX;
/* 0x3 */ s8 zoomGridY;
/* 0x4 */ s8 curX;
/* 0x5 */ s8 curY;
/* 0x6 */ s8 curWX;
/* 0x7 */ s8 curWY;
/* 0x8 */ u8 active;
/* 0x9 */ s8 cmapSelNo;
/* 0xA */ s8 curHX;
/* 0xB */ s8 curHY;
};
#endif /* D_MENU_FMAPSV_H */