largest method ever

This commit is contained in:
Teddy Heidmann
2026-08-11 20:08:27 -07:00
parent bf9236dc28
commit f627ab5c3a
3 changed files with 346 additions and 83 deletions
+26 -26
View File
@@ -129,12 +129,12 @@ public:
/* 0x14A8 */ JUTFont* mFont;
/* 0x14AC */ JUTFont* mRFont;
/* 0x14B0 */ u8 field_0x14B0[0x14B4 - 0x14B0];
/* 0x14B4 */ JUtility::TColor field_0x14B4;
/* 0x14B8 */ JUtility::TColor field_0x14B8;
/* 0x14BC */ JUtility::TColor field_0x14BC;
/* 0x14C0 */ JUtility::TColor field_0x14C0;
/* 0x14C4 */ JUtility::TColor field_0x14C4;
/* 0x14C8 */ JUtility::TColor field_0x14C8;
/* 0x14B4 */ JUtility::TColor mFb5ContentsColor;
/* 0x14B8 */ JUtility::TColor mFb0ContentsColor;
/* 0x14BC */ JUtility::TColor mFb5White;
/* 0x14C0 */ JUtility::TColor mFb0White;
/* 0x14C4 */ JUtility::TColor mFb5Black;
/* 0x14C8 */ JUtility::TColor mFb0Black;
/* 0x14CC */ dMap_pane_c treasure_p[32];
/* 0x17CC */ dMap_pane_c door_p[32];
/* 0x1ACC */ dMap_pane_c npc_p;
@@ -149,7 +149,7 @@ public:
/* 0x1DDC */ f32 mCarOfsY[4];
/* 0x1DEC */ f32 mCarFloorOfsX[4];
/* 0x1DFC */ f32 mCarFloorOfsY[4];
/* 0x1E0C */ s16 field_0x1E0C;
/* 0x1E0C */ s16 mNoteTimer;
/* 0x1E0E */ s16 mMapDrawOffsetY;
/* 0x1E10 */ s16 mCurFloorMapY;
/* 0x1E12 */ s16 mFloorListOffsetY;
@@ -173,7 +173,7 @@ public:
/* 0x1E32 */ u8 mBottomFloor;
/* 0x1E33 */ bool mLnkTexFlip2;
/* 0x1E34 */ bool mLnkTexFlip1;
/* 0x1E35 */ bool field_0x1E35;
/* 0x1E35 */ bool mCurFloorOnly;
/* 0x1E36 */ u8 mBossEyeState;
/* 0x1E37 */ u8 pad;
}; // Size: 0x1E38
@@ -189,25 +189,25 @@ public:
public:
/* 0x04 */ s8 mNo;
/* 0x06 */ s16 field_0x06;
/* 0x08 */ s16 field_0x08;
/* 0x0A */ s16 field_0x0A;
/* 0x0C */ s16 field_0x0C;
/* 0x06 */ s16 mBossOfsX;
/* 0x08 */ s16 mBossOfsY;
/* 0x0A */ s16 mTreasureWidth;
/* 0x0C */ s16 mTreasureHeight;
/* 0x0E */ u8 padding_0x0E[0x10 - 0x0E];
/* 0x10 */ JUtility::TColor field_0x10;
/* 0x14 */ JUtility::TColor field_0x14;
/* 0x18 */ s16 field_0x18;
/* 0x1A */ s16 field_0x1A;
/* 0x1C */ JUtility::TColor field_0x1C;
/* 0x20 */ JUtility::TColor field_0x20;
/* 0x24 */ s16 field_0x24;
/* 0x26 */ s16 field_0x26;
/* 0x28 */ JUtility::TColor field_0x28;
/* 0x2C */ JUtility::TColor field_0x2C;
/* 0x30 */ s16 field_0x30;
/* 0x32 */ s16 field_0x32;
/* 0x34 */ JUtility::TColor field_0x34;
/* 0x38 */ JUtility::TColor field_0x38;
/* 0x10 */ JUtility::TColor mTreasureWhite;
/* 0x14 */ JUtility::TColor mTreasureBlack;
/* 0x18 */ s16 mBossWidth;
/* 0x1A */ s16 mBossHeight;
/* 0x1C */ JUtility::TColor mBossWhite;
/* 0x20 */ JUtility::TColor mBossBlack;
/* 0x24 */ s16 mDoorWidth;
/* 0x26 */ s16 mDoorHeight;
/* 0x28 */ JUtility::TColor mDoorWhite;
/* 0x2C */ JUtility::TColor mDoorBlack;
/* 0x30 */ s16 mNpcWidth;
/* 0x32 */ s16 mNpcHeight;
/* 0x34 */ JUtility::TColor mNpcWhite;
/* 0x38 */ JUtility::TColor mNpcBlack;
/* 0x3C */ s16 field_0x3C;
/* 0x3E */ s16 field_0x3E;
/* 0x40 */ s16 field_0x40;
+4 -3
View File
@@ -314,9 +314,9 @@ struct dStage_Lbnk_c {
// DMAP
struct dStage_DMap_dt_c {
/* 0x00 */ int field_0x00;
/* 0x04 */ int field_0x04;
/* 0x08 */ int field_0x08;
/* 0x00 */ f32 originX;
/* 0x04 */ f32 originZ;
/* 0x08 */ f32 scale;
/* 0x0C */ f32 offsetY;
}; // Size: 0x10
@@ -1000,6 +1000,7 @@ struct FuncTable {
};
dStage_KeepTresureInfo* dStage_GetKeepTresureInfo();
dStage_KeepDoorInfo * dStage_GetKeepDoorInfo();
s8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int);
+316 -54
View File
@@ -15,55 +15,55 @@ dMd_HIO_c g_mdHIO;
/* 801A86A4-801A87CC .text __ct__9dMd_HIO_cFv */
dMd_HIO_c::dMd_HIO_c() {
field_0x06 = 0;
field_0x08 = 0;
field_0x0A = 14;
field_0x0C = 14;
mBossOfsX = 0;
mBossOfsY = 0;
mTreasureWidth = 14;
mTreasureHeight = 14;
field_0x10.r = 0xff;
field_0x10.g = 0xc4;
field_0x10.b = 0x00;
field_0x14.r = 0x20;
field_0x14.g = 0x20;
field_0x14.b = 0x00;
field_0x10.a = 0xff;
field_0x14.a = 0x00;
mTreasureWhite.r = 0xff;
mTreasureWhite.g = 0xc4;
mTreasureWhite.b = 0x00;
mTreasureBlack.r = 0x20;
mTreasureBlack.g = 0x20;
mTreasureBlack.b = 0x00;
mTreasureWhite.a = 0xff;
mTreasureBlack.a = 0x00;
field_0x24 = 16;
field_0x26 = 8;
mDoorWidth = 16;
mDoorHeight = 8;
field_0x28.r = 0xA8;
field_0x28.g = 0xA8;
field_0x28.b = 0xA8;
field_0x2C.r = 0x40;
field_0x2C.g = 0x20;
field_0x2C.b = 0x00;
field_0x28.a = 0xFF;
field_0x2C.a = 0x00;
mDoorWhite.r = 0xA8;
mDoorWhite.g = 0xA8;
mDoorWhite.b = 0xA8;
mDoorBlack.r = 0x40;
mDoorBlack.g = 0x20;
mDoorBlack.b = 0x00;
mDoorWhite.a = 0xFF;
mDoorBlack.a = 0x00;
field_0x18 = 32;
field_0x1A = 32;
mBossWidth = 32;
mBossHeight = 32;
field_0x1C.r = 0xFF;
field_0x1C.g = 0xFF;
field_0x1C.b = 0xFF;
field_0x20.r = 0x00;
field_0x20.g = 0x00;
field_0x20.b = 0x00;
field_0x1C.a = 0xFF;
field_0x20.a = 0x00;
mBossWhite.r = 0xFF;
mBossWhite.g = 0xFF;
mBossWhite.b = 0xFF;
mBossBlack.r = 0x00;
mBossBlack.g = 0x00;
mBossBlack.b = 0x00;
mBossWhite.a = 0xFF;
mBossBlack.a = 0x00;
field_0x30 = 16;
field_0x32 = 16;
mNpcWidth = 16;
mNpcHeight = 16;
field_0x34.r = 0xFF;
field_0x34.g = 0x00;
field_0x34.b = 0xFF;
field_0x38.r = 0x00;
field_0x38.g = 0x00;
field_0x38.b = 0x00;
field_0x34.a = 0xFF;
field_0x38.a = 0x00;
mNpcWhite.r = 0xFF;
mNpcWhite.g = 0x00;
mNpcWhite.b = 0xFF;
mNpcBlack.r = 0x00;
mNpcBlack.g = 0x00;
mNpcBlack.b = 0x00;
mNpcWhite.a = 0xFF;
mNpcBlack.a = 0x00;
field_0x3C = 4;
field_0x3E = 10;
@@ -211,15 +211,15 @@ void dMenu_Dmap_c::screenSet() {
J2DWindow::TContentsColor contentsColor;
J2DWindow* win = (J2DWindow*)mFbPanes[0].pane;
win->getContentsColor(contentsColor);
field_0x14B8 = contentsColor.mTL;
field_0x14C0 = JUtility::TColor(((J2DWindow*)mFbPanes[0].pane)->mWhite.toUInt32());
field_0x14C8 = JUtility::TColor(((J2DWindow*)mFbPanes[0].pane)->mBlack.toUInt32());
mFb0ContentsColor = contentsColor.mTL;
mFb0White = JUtility::TColor(((J2DWindow*)mFbPanes[0].pane)->mWhite.toUInt32());
mFb0Black = JUtility::TColor(((J2DWindow*)mFbPanes[0].pane)->mBlack.toUInt32());
win = (J2DWindow*)mFbPanes[5].pane;
win->getContentsColor(contentsColor);
field_0x14B4 = contentsColor.mTL;
field_0x14BC = JUtility::TColor(((J2DWindow*)mFbPanes[5].pane)->mWhite.toUInt32());
field_0x14C4 = JUtility::TColor(((J2DWindow*)mFbPanes[5].pane)->mBlack.toUInt32());
mFb5ContentsColor = contentsColor.mTL;
mFb5White = JUtility::TColor(((J2DWindow*)mFbPanes[5].pane)->mWhite.toUInt32());
mFb5Black = JUtility::TColor(((J2DWindow*)mFbPanes[5].pane)->mBlack.toUInt32());
for (int i = 4; i < 6; i++) {
mFlPanes[i].mSizeOrig.x = mFlPanes[i].mSize.x = mFlPanes[0].mSizeOrig.x;
@@ -227,9 +227,9 @@ void dMenu_Dmap_c::screenSet() {
fopMsgM_cposMove(&mFlPanes[i]);
mFbPanes[i].mSizeOrig.x = mFbPanes[i].mSize.x = mFbPanes[0].mSizeOrig.x;
mFbPanes[i].mSizeOrig.y = mFbPanes[i].mSize.y = mFbPanes[0].mSizeOrig.y;
((J2DWindow*)mFbPanes[i].pane)->setContentsColor(field_0x14B8);
((J2DWindow*)mFbPanes[i].pane)->mWhite = JUtility::TColor(field_0x14C0.toUInt32());
((J2DWindow*)mFbPanes[i].pane)->mBlack = JUtility::TColor(field_0x14C8.toUInt32());
((J2DWindow*)mFbPanes[i].pane)->setContentsColor(mFb0ContentsColor);
((J2DWindow*)mFbPanes[i].pane)->mWhite = JUtility::TColor(mFb0White.toUInt32());
((J2DWindow*)mFbPanes[i].pane)->mBlack = JUtility::TColor(mFb0Black.toUInt32());
fopMsgM_cposMove(&mFbPanes[i]);
mFbkPanes[i].mSizeOrig.x = mFbkPanes[i].mSize.x = mFbkPanes[0].mSizeOrig.x;
mFbkPanes[i].mSizeOrig.y = mFbkPanes[i].mSize.y = mFbkPanes[0].mSizeOrig.y;
@@ -399,7 +399,235 @@ void dMenu_Dmap_c::initialize() {
/* 801A98EC-801AAE10 .text treasureSet__12dMenu_Dmap_cFv */
void dMenu_Dmap_c::treasureSet() {
/* Nonmatching */
static const f32 bossOffsetX[16] = {
0.0f, 0.0f, 0.0f, 0.0f, 20.0f, 21.0f, -21.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
};
static const f32 bossOffsetY[16] = {
0.0f, 0.0f, 0.0f, -22.0f, 0.0f, 0.0f, 0.0f, 21.0f,
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
};
dStage_dt_c* stage = &dComIfGp_getStage();
s32 saveTbl = dStage_stagInfo_GetSaveTbl(stage->getStagInfo());
for (int i = 0; i < 32; i++) {
treasure_p[i].exists = 0;
}
for (int i = 0; i < 32; i++) {
door_p[i].exists = 0;
}
boss_p.exists = 0;
npc_p.exists = 0;
if (stage->getDMap()) {
dStage_DMap_c* pinf = stage->getDMap();
dStage_DMap_dt_c* entry = pinf->entries;
JUT_ASSERT(609, pinf->num == 1);
f32 originX;
f32 originZ;
f32 scale;
for (int i = 0; i < pinf->num; i++, entry++) {
originX = entry->originX;
originZ = entry->originZ;
scale = entry->scale;
}
if (dComIfGs_isDungeonItemCompass()) {
if ((saveTbl == dSv_save_c::STAGE_ET && !dComIfGs_isCollect(0, 2) && dComIfGs_getPlayerPriestFlag() == 2) ||
(saveTbl == dSv_save_c::STAGE_WT && !dComIfGs_isCollect(0, 3) && dComIfGs_getPlayerPriestFlag() == 1)) {
cXyz npcPos;
if (dComIfGp_getCb1Player()) {
npcPos = dComIfGp_getCb1Player()->current.pos;
} else {
npcPos = dComIfGs_getPlayerPriestPos();
}
if (mCurFloor == dMap_GetFloorNo(stage, npcPos.y)) {
npc_p.exists = 1;
npc_p.ppane->setWhite(g_mdHIO.mNpcWhite);
npc_p.ppane->setBlack(g_mdHIO.mNpcBlack);
npc_p.width = g_mdHIO.mNpcWidth;
npc_p.height = g_mdHIO.mNpcHeight;
f32 half = 0.5f;
npc_p.posX = mMpp1PosX + (npcPos.x - originX) / scale - npc_p.width * half;
npc_p.posY = mMpp1PosY + (npcPos.z - originZ) / scale - npc_p.height * half;
} else if (!mCurFloorOnly && mCurFloor - 1 == dMap_GetFloorNo(stage, npcPos.y)) {
npc_p.exists = 1;
npc_p.ppane->setWhite(g_mdHIO.mNpcWhite);
npc_p.ppane->setBlack(g_mdHIO.mNpcBlack);
npc_p.width = g_mdHIO.mNpcWidth;
npc_p.height = g_mdHIO.mNpcHeight;
f32 half = 0.5f;
npc_p.posX = mMpp1PosX + (npcPos.x - originX) / scale - npc_p.width * half;
f32 posY = mMpp1PosY + (npcPos.z - originZ) / scale - npc_p.height * half;
npc_p.posY = posY + (mMpp1SizeY + mMppGapY);
} else if (!mCurFloorOnly) {
if (mCurFloor + 1 == dMap_GetFloorNo(stage, npcPos.y)) {
npc_p.exists = 1;
npc_p.ppane->setWhite(g_mdHIO.mNpcWhite);
npc_p.ppane->setBlack(g_mdHIO.mNpcBlack);
npc_p.width = g_mdHIO.mNpcWidth;
npc_p.height = g_mdHIO.mNpcHeight;
f32 half = 0.5f;
npc_p.posX = mMpp1PosX + (npcPos.x - originX) / scale - npc_p.width * half;
npc_p.posY = mMpp1PosY + (npcPos.z - originZ) / scale - npc_p.height * half - (mMpp1SizeY + mMppGapY);
}
}
}
if (dStage_GetKeepTresureInfo()) {
int no = 0;
dStage_KeepTresureInfo* tinfo = dStage_GetKeepTresureInfo();
stage_tresure_data_class* tentry = tinfo->mTresureData;
for (int i = 0; i < tinfo->num; tentry++, i++) {
int tboxNo = (tentry->base.parameters >> 7) & 0x1F;
if (mCurFloor == dMap_GetFloorNo(stage, tentry->base.position.y)) {
if (!dComIfGs_isTbox(tboxNo) && tboxNo != 0xF && tboxNo != 0x10) {
treasure_p[no].exists = 1;
treasure_p[no].ppane->setWhite(g_mdHIO.mTreasureWhite);
treasure_p[no].ppane->setBlack(g_mdHIO.mTreasureBlack);
treasure_p[no].width = g_mdHIO.mTreasureWidth;
treasure_p[no].height = g_mdHIO.mTreasureHeight;
f32 half = 0.5f;
treasure_p[no].posX = mMpp1PosX + (tentry->base.position.x - originX) / scale - treasure_p[no].width * half;
treasure_p[no].posY = mMpp1PosY + (tentry->base.position.z - originZ) / scale - treasure_p[no].height * half;
no++;
continue;
}
}
if (!mCurFloorOnly) {
if (mCurFloor - 1 == dMap_GetFloorNo(stage, tentry->base.position.y)) {
if (!dComIfGs_isTbox(tboxNo) && tboxNo != 0xF && tboxNo != 0x10) {
treasure_p[no].exists = 1;
treasure_p[no].ppane->setWhite(g_mdHIO.mTreasureWhite);
treasure_p[no].ppane->setBlack(g_mdHIO.mTreasureBlack);
treasure_p[no].width = g_mdHIO.mTreasureWidth;
treasure_p[no].height = g_mdHIO.mTreasureHeight;
f32 half = 0.5f;
treasure_p[no].posX = mMpp1PosX + (tentry->base.position.x - originX) / scale - treasure_p[no].width * half;
f32 posY = mMpp1PosY + (tentry->base.position.z - originZ) / scale - treasure_p[no].height * half;
treasure_p[no].posY = posY + (mMpp1SizeY + mMppGapY);
no++;
continue;
}
}
}
if (!mCurFloorOnly) {
if (mCurFloor + 1 == dMap_GetFloorNo(stage, tentry->base.position.y)) {
if (!dComIfGs_isTbox(tboxNo) && tboxNo != 0xF && tboxNo != 0x10) {
treasure_p[no].exists = 1;
treasure_p[no].ppane->setWhite(g_mdHIO.mTreasureWhite);
treasure_p[no].ppane->setBlack(g_mdHIO.mTreasureBlack);
treasure_p[no].width = g_mdHIO.mTreasureWidth;
treasure_p[no].height = g_mdHIO.mTreasureHeight;
f32 half = 0.5f;
treasure_p[no].posX = mMpp1PosX + (tentry->base.position.x - originX) / scale - treasure_p[no].width * half;
treasure_p[no].posY = mMpp1PosY + (tentry->base.position.z - originZ) / scale - treasure_p[no].height * half - (mMpp1SizeY + mMppGapY);
no++;
}
}
}
}
}
}
if (dStage_GetKeepDoorInfo()) {
int no = 0;
dStage_KeepDoorInfo* dinfo = dStage_GetKeepDoorInfo();
stage_tgsc_data_class* dentry = dinfo->mDrTgData;
for (int i = 0; i < dinfo->num; dentry++, i++) {
if (mCurFloor == dMap_GetFloorNo(stage, dentry->base.position.y)) {
if (dComIfGs_isDungeonItemMap() ||
dComIfGs_isVisitedRoom(dentry->base.angle.x & 0x3F) ||
dComIfGs_isVisitedRoom((dentry->base.angle.x >> 6) & 0x3F))
{
door_p[no].exists = 1;
door_p[no].ppane->setWhite(g_mdHIO.mDoorWhite);
door_p[no].ppane->setBlack(g_mdHIO.mDoorBlack);
door_p[no].width = g_mdHIO.mDoorWidth;
door_p[no].height = g_mdHIO.mDoorHeight;
door_p[no].angle = dentry->base.angle.y;
f32 half = 0.5f;
door_p[no].posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - door_p[no].width * half;
door_p[no].posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - door_p[no].height * half;
no++;
}
} else if (!mCurFloorOnly && mCurFloor - 1 == dMap_GetFloorNo(stage, dentry->base.position.y)) {
if (dComIfGs_isDungeonItemMap()) {
door_p[no].exists = 1;
door_p[no].ppane->setWhite(g_mdHIO.mDoorWhite);
door_p[no].ppane->setBlack(g_mdHIO.mDoorBlack);
door_p[no].width = g_mdHIO.mDoorWidth;
door_p[no].height = g_mdHIO.mDoorHeight;
door_p[no].angle = dentry->base.angle.y;
f32 half = 0.5f;
door_p[no].posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - door_p[no].width * half;
f32 posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - door_p[no].height * half;
door_p[no].posY = posY + (mMpp1SizeY + mMppGapY);
no++;
}
} else if (!mCurFloorOnly) {
if (mCurFloor + 1 == dMap_GetFloorNo(stage, dentry->base.position.y)) {
if (dComIfGs_isDungeonItemMap()) {
door_p[no].exists = 1;
door_p[no].ppane->setWhite(g_mdHIO.mDoorWhite);
door_p[no].ppane->setBlack(g_mdHIO.mDoorBlack);
door_p[no].width = g_mdHIO.mDoorWidth;
door_p[no].height = g_mdHIO.mDoorHeight;
door_p[no].angle = dentry->base.angle.y;
f32 half = 0.5f;
door_p[no].posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - door_p[no].width * half;
door_p[no].posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - door_p[no].height * half - (mMpp1SizeY + mMppGapY);
no++;
}
}
}
if (dComIfGs_isDungeonItemCompass() && dMap_isBossDoor(dentry)) {
if (mCurFloor == dMap_GetFloorNo(stage, dentry->base.position.y)) {
boss_p.exists = 1;
boss_p.ppane->setWhite(g_mdHIO.mBossWhite);
boss_p.ppane->setBlack(g_mdHIO.mBossBlack);
boss_p.width = g_mdHIO.mBossWidth;
boss_p.height = g_mdHIO.mBossHeight;
f32 half = 0.5f;
f32 posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - boss_p.width * half;
boss_p.posX = posX + bossOffsetX[saveTbl] + g_mdHIO.mBossOfsX;
f32 posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - boss_p.height * half;
boss_p.posY = posY + bossOffsetY[saveTbl] + g_mdHIO.mBossOfsY;
} else if (!mCurFloorOnly && mCurFloor - 1 == dMap_GetFloorNo(stage, dentry->base.position.y)) {
boss_p.exists = 1;
boss_p.ppane->setWhite(g_mdHIO.mBossWhite);
boss_p.ppane->setBlack(g_mdHIO.mBossBlack);
boss_p.width = g_mdHIO.mBossWidth;
boss_p.height = g_mdHIO.mBossHeight;
f32 half = 0.5f;
f32 posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - boss_p.width * half;
boss_p.posX = posX + bossOffsetX[saveTbl] + g_mdHIO.mBossOfsX;
f32 ofsY = g_mdHIO.mBossOfsY;
f32 bossY = bossOffsetY[saveTbl];
f32 posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - boss_p.height * half;
boss_p.posY = posY + (mMpp1SizeY + mMppGapY) + bossY + ofsY;
} else if (!mCurFloorOnly) {
if (mCurFloor + 1 == dMap_GetFloorNo(stage, dentry->base.position.y)) {
boss_p.exists = 1;
boss_p.ppane->setWhite(g_mdHIO.mBossWhite);
boss_p.ppane->setBlack(g_mdHIO.mBossBlack);
boss_p.width = g_mdHIO.mBossWidth;
boss_p.height = g_mdHIO.mBossHeight;
f32 half = 0.5f;
f32 posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - boss_p.width * half;
boss_p.posX = posX + bossOffsetX[saveTbl] + g_mdHIO.mBossOfsX;
f32 ofsY = g_mdHIO.mBossOfsY;
f32 bossY = bossOffsetY[saveTbl];
f32 posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - boss_p.height * half;
boss_p.posY = posY - (mMpp1SizeY + mMppGapY) + bossY + ofsY;
}
}
}
}
}
}
}
/* 801AAE10-801AB20C .text treasureDraw__12dMenu_Dmap_cFv */
@@ -460,8 +688,42 @@ void dMenu_Dmap_c::treasureDraw() {
}
/* 801AB20C-801AB464 .text paneMove__12dMenu_Dmap_cFf */
void dMenu_Dmap_c::paneMove(float) {
/* Nonmatching */
void dMenu_Dmap_c::paneMove(float i_y) {
fopMsgM_paneTrans(&mDt00Pane, 0.0f, i_y);
fopMsgM_paneTrans(&mDk00Pane, 0.0f, i_y);
fopMsgM_paneTrans(&mNm00Pane, 0.0f, i_y);
fopMsgM_paneTrans(&mNm01Pane, 0.0f, i_y);
fopMsgM_paneTrans(&mItnkPane, 0.0f, i_y);
for (int i = 0; i < 4; i++) {
fopMsgM_paneTrans(&mCarPanes[i], 0.0f, i_y);
}
for (int i = 0; i < 3; i++) {
fopMsgM_paneTrans(&mItPanes[i], 0.0f, i_y);
fopMsgM_paneTrans(&mIkPanes[i], 0.0f, i_y);
fopMsgM_paneTrans(&mIpPanes[i], 0.0f, i_y);
}
fopMsgM_paneTrans(&mIp01Pane, 0.0f, i_y);
fopMsgM_paneTrans(mLnkPanes, 0.0f, mFloorListOffsetY + i_y);
fopMsgM_paneTrans(&mBossPane, 0.0f, mBossFloorListOffsetY + i_y);
for (int i = 0; i < 6; i++) {
fopMsgM_paneTrans(&mFlPanes[i], 0.0f, i_y);
fopMsgM_paneTrans(&mFbPanes[i], 0.0f, i_y);
fopMsgM_paneTrans(&mFbkPanes[i], 0.0f, i_y);
}
fopMsgM_paneTrans(&mFw00Pane, 0.0, i_y);
fopMsgM_paneTrans(&mFw01Pane, 0.0, i_y);
fopMsgM_paneTrans(&mCc38Pane, 0.0, i_y);
fopMsgM_paneTrans(&mCc31Pane, 0.0, i_y);
fopMsgM_paneTrans(&mCc24Pane, 0.0, i_y);
fopMsgM_paneTrans(&mCc17Pane, 0.0, i_y);
fopMsgM_paneTrans(&mCc10Pane, 0.0, i_y);
fopMsgM_paneTrans(&mCc05pane, 0.0, i_y);
fopMsgM_paneTrans(&mCc00Pane, 0.0, i_y);
}
/* 801AB464-801AB630 .text paneAlpha__12dMenu_Dmap_cFf */