d_menu_dmap almost matching for demo

This commit is contained in:
LagoLunatic
2026-08-26 15:43:30 -04:00
parent 3688caff6e
commit 519652534f
15 changed files with 373 additions and 371 deletions
+4
View File
@@ -3375,6 +3375,10 @@ inline void dComIfGp_roomControl_setStayNo(int stayNo) {
dStage_roomControl_c::setStayNo(stayNo);
}
inline int dComIfGp_roomControl_getDarkMode() {
return dStage_roomControl_c::getDarkMode();
}
inline dBgW* dComIfGp_roomControl_getBgW(int i_roomNo) {
return g_dComIfG_gameInfo.play.getRoomControl()->getBgW(i_roomNo);
}
+17 -1
View File
@@ -334,6 +334,22 @@ public:
class dMap_Dmap_c : public dDlst_base_c {
public:
virtual ~dMap_Dmap_c() {}
void changeTlutDblBufNo() {}
void getLoadTlutDblBufNo() {}
void setTlutDblBufNo(int) {}
void setAlpha(u8 alpha) { field_0x2B6 = alpha; }
void setArchive(JKRArchive* i_arc) { mpArc = i_arc; }
void setMapPos(s16 x, s16 y) {
field_0x364 = x;
field_0x366 = y;
}
void setMaskPos(s16 x, s16 y) {
field_0x35C = x;
field_0x35E = y;
}
void setTlut(dmap_dmap_tlut_s*, u8, u8, u8, f32);
void setFloorTextureOne(u8);
void init(s16, s16, s16, s16, s16, s16, s16, s16, s16, u8, u8, u8, u8, u8);
@@ -341,7 +357,7 @@ public:
public:
/* 0x004 */ u8 field_0x4[0x2A0 - 0x4];
/* 0x2A0 */ JKRArchive* field_0x2A0;
/* 0x2A0 */ JKRArchive* mpArc;
/* 0x2A4 */ u8 field_0x2A4[0x2B6 - 0x2A4];
/* 0x2B6 */ u8 field_0x2B6;
/* 0x2B7 */ u8 field_0x2B7[0x35C - 0x2B7];
+8 -8
View File
@@ -883,7 +883,7 @@ public:
void zoneCountCheck(int) const;
void checkDrawArea() const;
static dStage_darkStatus_c* getDarkStatus();
static s32 getDarkMode();
static int getDarkMode();
dKy_tevstr_c* getTevStr(int i_roomNo) { return &mStatus[i_roomNo].mTevStr; }
BOOL checkStatusFlag(int i_roomNo, u8 flag) const { return cLib_checkBit(mStatus[i_roomNo].mFlags, flag); }
@@ -896,7 +896,7 @@ public:
static void SetTimePass(int);
static JKRExpHeap* getMemoryBlock(int);
static void setStayNo(int);
static s32 GetTimePass();
static int GetTimePass();
static void setZoneNo(int i_roomNo, int i_zoneNo) { mStatus[i_roomNo].mZoneNo = i_zoneNo; }
static int getZoneNo(int i_roomNo) { return mStatus[i_roomNo].mZoneNo; }
static void setZoneCount(int i_roomNo, int count) { mStatus[i_roomNo].mZoneCount = count; }
@@ -929,7 +929,7 @@ public:
static fpc_ProcID mProcID;
static s8 mStayNo;
static s8 mOldStayNo;
static s8 m_time_pass;
static u8 m_time_pass;
static char mDemoArcName[8];
private:
@@ -1020,11 +1020,11 @@ inline u8 dStage_stagInfo_DefaultCameraType(stage_stag_info_class* p_info) {
return p_info->mCameraMapToolID;
}
inline s32 dStage_stagInfo_ChkKeyDisp(stage_stag_info_class* i_stagInfo) {
inline u32 dStage_stagInfo_ChkKeyDisp(stage_stag_info_class* i_stagInfo) {
return i_stagInfo->mProp & 1;
}
inline s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* i_stagInfo) {
inline int dStage_stagInfo_GetSaveTbl(stage_stag_info_class* i_stagInfo) {
return (i_stagInfo->mProp >> 1) & 0x7F;
}
@@ -1071,15 +1071,15 @@ inline u32 dStage_roomRead_dt_c_GetReverb(roomRead_data_class& room) {
return room.field_0x1 & 0x7F;
}
inline s32 dStage_roomRead_dt_c_GetTimePass(roomRead_data_class& data) {
inline u32 dStage_roomRead_dt_c_GetTimePass(roomRead_data_class& data) {
return data.field_0x2 & 0x03;
}
inline s32 dStage_sclsInfo_getWipe(stage_scls_info_class* p_info) {
inline u32 dStage_sclsInfo_getWipe(stage_scls_info_class* p_info) {
return p_info->mWipe & 0xF;
}
inline s32 dStage_FileList_dt_CheckDarkOn(dStage_FileList_dt_c* i_fili) {
inline u32 dStage_FileList_dt_CheckDarkOn(dStage_FileList_dt_c* i_fili) {
return i_fili->mParam & 0x00000001;
}
+1 -1
View File
@@ -189,7 +189,7 @@ BOOL daBoko_c::draw() {
dComIfGd_setAlphaModel(dDlst_alphaModel_c::TYPE_SPHERE, mAlphaModelMtx[i], dark_stts->getBokoAlpha(i));
}
if (getNowMode() == Mode_PLAYER_CARRY_e && dStage_roomControl_c::getDarkMode() != 0) {
if (getNowMode() == Mode_PLAYER_CARRY_e && dComIfGp_roomControl_getDarkMode() != 0) {
for (int j = i; j < 4; j++) {
dComIfGd_setSpotModel(dDlst_alphaModel_c::TYPE_SPHERE, mAlphaModelMtx[j], dark_stts->getBokoAlpha(j));
}
+2 -2
View File
@@ -546,8 +546,8 @@ void dScnKy_env_light_c::setDaytime() {
}
/* 80190A18-80190A20 .text GetTimePass__20dStage_roomControl_cFv */
s32 dStage_roomControl_c::GetTimePass() {
return (u8)m_time_pass;
int dStage_roomControl_c::GetTimePass() {
return m_time_pass;
}
/* 80190A20-80190ACC .text SetSchbit__18dScnKy_env_light_cFv */
+9 -9
View File
@@ -341,15 +341,15 @@ void dMenu_Collect_c::screenSet() {
char sp58[24];
sprintf(sp58, "title_collect_%d.bti", dComIfGs_getPalLanguage());
JKRArchive* archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(mTitleCollectTexBuffer, 0x1000, 'TIMG', sp58, mpArc);
JKRReadTypeResource(mTitleCollectTexBuffer, 0x1000, 'TIMG', sp58, mpArc);
J2DPicture* r3 = (J2DPicture*)scrn->search('tlcl');
r3->changeTexture(mTitleCollectTexBuffer, 0);
sprintf(sp58, "word_save_%d.bti", dComIfGs_getPalLanguage());
JKRArchive::readTypeResource(mWordSaveTexBuffer, 0xc00, 'TIMG', sp58, mpArc);
JKRReadTypeResource(mWordSaveTexBuffer, 0xc00, 'TIMG', sp58, mpArc);
J2DPicture* r3_2 = (J2DPicture*)scrn->search('wdsv');
r3_2->changeTexture(mWordSaveTexBuffer, 0);
sprintf(sp58, "word_option_%d.bti", dComIfGs_getPalLanguage());
JKRArchive::readTypeResource(mWordOptionTexBuffer, 0xc00, 'TIMG', sp58, mpArc);
JKRReadTypeResource(mWordOptionTexBuffer, 0xc00, 'TIMG', sp58, mpArc);
J2DPicture* r3_3 = (J2DPicture*)scrn->search('wdop');
r3_3->changeTexture(mWordOptionTexBuffer, 0);
}
@@ -357,7 +357,7 @@ void dMenu_Collect_c::screenSet() {
{
JKRArchive* archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(mTactTexBuffer, 0xc00, 'TIMG', "baton.bti", archive);
JKRReadTypeResource(mTactTexBuffer, 0xc00, 'TIMG', "baton.bti", archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(mTactTexBuffer, 0xc00);
#else
@@ -367,7 +367,7 @@ void dMenu_Collect_c::screenSet() {
{
JKRArchive* archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(mMapTexBuffer, 0xc00, 'TIMG', "cmap_treasure2.bti", archive);
JKRReadTypeResource(mMapTexBuffer, 0xc00, 'TIMG', "cmap_treasure2.bti", archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(mMapTexBuffer, 0xc00);
#else
@@ -385,7 +385,7 @@ void dMenu_Collect_c::screenSet() {
for (int i = 0; i < 8; i++) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
char* r6 = triTex[i];
JKRArchive::readTypeResource(mTriforceTexBuffer[i], 0xc00, 'TIMG', r6, archive);
JKRReadTypeResource(mTriforceTexBuffer[i], 0xc00, 'TIMG', r6, archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(mTriforceTexBuffer[i], 0xc00);
#else
@@ -401,7 +401,7 @@ void dMenu_Collect_c::screenSet() {
for (int i = 0; i < 3; i++) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
char* r6 = symTex[i];
JKRArchive::readTypeResource(mSymbolTexBuffer[i], 0xc00, 'TIMG', r6, archive);
JKRReadTypeResource(mSymbolTexBuffer[i], 0xc00, 'TIMG', r6, archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(mSymbolTexBuffer[i], 0xc00);
#else
@@ -414,7 +414,7 @@ void dMenu_Collect_c::screenSet() {
for (int i = 0; i < 5; i++) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
char* r6 = wepTex[i];
JKRArchive::readTypeResource(mItemTexBuffer[i], 0xc00, 'TIMG', r6, archive);
JKRReadTypeResource(mItemTexBuffer[i], 0xc00, 'TIMG', r6, archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(mItemTexBuffer[i], 0xc00);
#else
@@ -1697,7 +1697,7 @@ void dMenu_Collect_c::itemBitCheck() {
} else {
if (m27F3 != mE08[4].mUserArea) {
JKRArchive* r7 = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(
JKRReadTypeResource(
mTriforceTexBuffer[4],
0xC00,
'TIMG',
+298 -308
View File
@@ -205,7 +205,7 @@ void dMenu_Dmap_c::screenSet() {
fopMsgM_setPaneData(&mNo11Pane, scrn2, 'no11');
fopMsgM_setPaneData(&mMsk0Pane, scrn2, 'msk0');
mNo11Pane.mUserArea = mNo11Pane.pane->mRotation;
mNo11Pane.mUserArea = mNo11Pane.pane->getRotate();
((J2DTextBox*)mStr0Pane.pane)->setFont(mRFont);
((J2DTextBox*)mSt00Pane.pane)->setFont(mFont);
@@ -259,8 +259,7 @@ void dMenu_Dmap_c::screenSet() {
fopMsgM_setPaneData(&mItPanes[i], scrn, l_it[i]);
fopMsgM_setPaneData(&mIkPanes[i], scrn, l_ik[i]);
JKRArchive* arc = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(mpTIMG[i], 0xC00, 'TIMG', itmTex[i], arc);
JKRReadTypeResource(mpTIMG[i], 0xC00, 'TIMG', itmTex[i], dComIfGp_getItemIconArchive());
((J2DPicture*)mItPanes[i].pane)->changeTexture(mpTIMG[i], 0);
((J2DPicture*)mIkPanes[i].pane)->changeTexture(mpTIMG[i], 0);
@@ -344,9 +343,8 @@ void dMenu_Dmap_c::screenSet() {
mMpp1SizeX = mpp1pane.mSizeOrig.x;
mMpp1SizeY = mpp1pane.mSizeOrig.y;
f32 h = scrn->search('mpp2')->getHeight();
J2DPane* p2 = scrn->search('mpp2');
f32 h = p2->getHeight();
p2 = scrn->search('mpp2');
J2DPane* p1 = scrn->search('mpp1');
mMppGapY = p1->mBounds.i.y - (p2->mBounds.i.y + h);
}
@@ -371,7 +369,9 @@ void dMenu_Dmap_c::initialize() {
f32 yPos = dComIfGp_getPlayer(0)->current.pos.y;
mNm00Pane.mUserArea = 0;
mCurFloor = dMap_GetFloorNo(&dComIfGp_getStage(), yPos + mapOffsetY());
#if VERSION > VERSION_DEMO
mBossFloor = 0xFF;
#endif
dStage_KeepDoorInfo* doorInfo = dStage_GetKeepDoorInfo();
stage_tgsc_data_class* tgsc = doorInfo->mDrTgData;
@@ -390,25 +390,21 @@ void dMenu_Dmap_c::initialize() {
mCurFloorMapY = mMpp1PosY + (mCurFloor - 0x80) * (mMpp1SizeY + mMppGapY);
mMapDrawOffsetY = 0x1E0;
mFloorListOffsetY = (mFbPanes[0].mPosCenterOrig.y - mFbPanes[1].mPosCenterOrig.y) * (mBottomFloor - mCurFloor);
#if VERSION == VERSION_DEMO
mBossFloorListOffsetY = (mFbPanes[0].mPosCenterOrig.y - mFbPanes[1].mPosCenterOrig.y) * (mBottomFloor - mBossFloor);
#else
if (mBossFloor != 0xFF) {
mBossFloorListOffsetY = (mFbPanes[0].mPosCenterOrig.y - mFbPanes[1].mPosCenterOrig.y) * (mBottomFloor - mBossFloor);
} else {
mBossFloorListOffsetY = 0;
}
#endif
s16 y = mMpmkPosY + mMapDrawOffsetY;
dMap_Dmap_c* dmap = dmap_c;
dmap->field_0x35C = mMpmkPosX;
dmap->field_0x35E = y;
y = mCurFloorMapY + mMapDrawOffsetY;
dmap = dmap_c;
dmap->field_0x364 = mMpp1PosX;
dmap->field_0x366 = y;
dmap_c->setMaskPos(mMpmkPosX, mMpmkPosY + mMapDrawOffsetY);
dmap_c->setMapPos(mMpp1PosX, mCurFloorMapY + mMapDrawOffsetY);
for (int i = 0; i < (mTopFloor - mBottomFloor + 1); i++) {
J2DPane* pane = mFlPanes[i].pane;
changeFloorTexture(pane, mBottomFloor - 0x76 + i);
changeFloorTexture(mFlPanes[i].pane, mBottomFloor - 0x76 + i);
}
mLnkTimer2 = cM_rndF(100.0f) + 100.0f;
@@ -422,24 +418,23 @@ void dMenu_Dmap_c::initialize() {
mBossEyeState = 0;
mBossEyeTimer = ((int)(cM_rndF(18.0f) + 40.0f)) << 1;
f32 scale = 0.5f;
mCarOfsX[0] = -(mItPanes[0].mSizeOrig.x) * scale;
mCarOfsY[0] = (mItPanes[0].mSizeOrig.y) * scale;
mCarOfsX[1] = (mItPanes[0].mSizeOrig.x) * scale;
mCarOfsY[1] = (mItPanes[0].mSizeOrig.y) * scale;
mCarOfsX[2] = -(mItPanes[0].mSizeOrig.x) * scale;
mCarOfsY[2] = -(mItPanes[0].mSizeOrig.y) * scale;
mCarOfsX[3] = (mItPanes[0].mSizeOrig.x) * scale;
mCarOfsY[3] = -(mItPanes[0].mSizeOrig.y) * scale;
mCarOfsX[0] = -(mItPanes[0].mSizeOrig.x) / 2.0f;
mCarOfsY[0] = (mItPanes[0].mSizeOrig.y) / 2.0f;
mCarOfsX[1] = (mItPanes[0].mSizeOrig.x) / 2.0f;
mCarOfsY[1] = (mItPanes[0].mSizeOrig.y) / 2.0f;
mCarOfsX[2] = -(mItPanes[0].mSizeOrig.x) / 2.0f;
mCarOfsY[2] = -(mItPanes[0].mSizeOrig.y) / 2.0f;
mCarOfsX[3] = (mItPanes[0].mSizeOrig.x) / 2.0f;
mCarOfsY[3] = -(mItPanes[0].mSizeOrig.y) / 2.0f;
mCarFloorOfsX[0] = -(mFbPanes[0].mSizeOrig.x) * scale;
mCarFloorOfsY[0] = (mFbPanes[0].mSizeOrig.y) * scale;
mCarFloorOfsX[1] = (mFbPanes[0].mSizeOrig.x) * scale;
mCarFloorOfsY[1] = (mFbPanes[0].mSizeOrig.y) * scale;
mCarFloorOfsX[2] = -(mFbPanes[0].mSizeOrig.x) * scale;
mCarFloorOfsY[2] = -(mFbPanes[0].mSizeOrig.y) * scale;
mCarFloorOfsX[3] = (mFbPanes[0].mSizeOrig.x) * scale;
mCarFloorOfsY[3] = -(mFbPanes[0].mSizeOrig.y) * scale;
mCarFloorOfsX[0] = -(mFbPanes[0].mSizeOrig.x) / 2.0f;
mCarFloorOfsY[0] = (mFbPanes[0].mSizeOrig.y) / 2.0f;
mCarFloorOfsX[1] = (mFbPanes[0].mSizeOrig.x) / 2.0f;
mCarFloorOfsY[1] = (mFbPanes[0].mSizeOrig.y) / 2.0f;
mCarFloorOfsX[2] = -(mFbPanes[0].mSizeOrig.x) / 2.0f;
mCarFloorOfsY[2] = -(mFbPanes[0].mSizeOrig.y) / 2.0f;
mCarFloorOfsX[3] = (mFbPanes[0].mSizeOrig.x) / 2.0f;
mCarFloorOfsY[3] = -(mFbPanes[0].mSizeOrig.y) / 2.0f;
floorInit();
itemScale();
@@ -457,10 +452,15 @@ void dMenu_Dmap_c::initialize() {
mItPanes[2].pane->hide();
mIkPanes[2].pane->hide();
mIpPanes[2].pane->hide();
#if VERSION == VERSION_DEMO
mBossPane.pane->hide();
#endif
}
#if VERSION > VERSION_DEMO
if (!dComIfGs_isDungeonItemCompass() || mBossFloor == 0xFF) {
mBossPane.pane->hide();
}
#endif
noteInit();
if ((mSelectItem == 0 && dComIfGs_isDungeonItemMap()) ||
(mSelectItem == 1 && dComIfGs_isDungeonItemBossKey()) ||
@@ -484,8 +484,7 @@ void dMenu_Dmap_c::treasureSet() {
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());
s32 saveTbl = dStage_stagInfo_GetSaveTbl(dComIfGp_getStage().getStagInfo());
for (int i = 0; i < 32; i++) {
treasure_p[i].exists = 0;
}
@@ -495,212 +494,204 @@ void dMenu_Dmap_c::treasureSet() {
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(VERSION_SELECT(572, 572, 609, 609), pinf->num == 1);
if (!dComIfGp_getStage().getDMap()) {
return;
}
f32 originX;
f32 originZ;
f32 scale;
for (int i = 0; i < pinf->num; i++, entry++) {
originX = entry->originX;
originZ = entry->originZ;
scale = entry->scale;
}
dStage_DMap_c* pinf = dComIfGp_getStage().getDMap();
dStage_DMap_dt_c* entry = pinf->entries;
JUT_ASSERT(VERSION_SELECT(562, 572, 609, 609), pinf->num == 1);
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);
}
}
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 (
#if VERSION == VERSION_DEMO
(
(saveTbl == dSv_save_c::STAGE_ET && !dComIfGs_isStageBossEnemy(dSv_save_c::STAGE_ET)) ||
(saveTbl == dSv_save_c::STAGE_WT && !dComIfGs_isStageBossEnemy(dSv_save_c::STAGE_WT))
) &&
(dComIfGs_getPlayerPriestFlag() == 1 || dComIfGs_getPlayerPriestFlag() == 2)
#else
(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)
#endif
) {
#if VERSION == VERSION_DEMO
cXyz npcPos = dComIfGs_getPlayerPriestPos();;
#else
cXyz npcPos;
if (dComIfGp_getCb1Player()) {
npcPos = dComIfGp_getCb1Player()->current.pos;
} else {
npcPos = dComIfGs_getPlayerPriestPos();
}
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++;
}
}
}
}
#endif
if (mCurFloor == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
npc_p.posX = mMpp1PosX + (npcPos.x - originX) / scale - npc_p.width / 2.0f;
npc_p.posY = mMpp1PosY + (npcPos.z - originZ) / scale - npc_p.height / 2.0f;
} else if (!mCurFloorOnly && mCurFloor - 1 == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
npc_p.posX = mMpp1PosX + (npcPos.x - originX) / scale - npc_p.width / 2.0f;
npc_p.posY = mMpp1PosY + (npcPos.z - originZ) / scale - npc_p.height / 2.0f +
(mMpp1SizeY + mMppGapY);
} else if (!mCurFloorOnly && mCurFloor + 1 == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
npc_p.posX = mMpp1PosX + (npcPos.x - originX) / scale - npc_p.width / 2.0f;
npc_p.posY = mMpp1PosY + (npcPos.z - originZ) / scale - npc_p.height / 2.0f - (mMpp1SizeY + mMppGapY);
}
}
if (dStage_GetKeepDoorInfo()) {
if (dStage_GetKeepTresureInfo()) {
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;
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(&dComIfGp_getStage(), 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;
treasure_p[no].posX = mMpp1PosX + (tentry->base.position.x - originX) / scale - treasure_p[no].width / 2.0f;
treasure_p[no].posY = mMpp1PosY + (tentry->base.position.z - originZ) / scale - treasure_p[no].height / 2.0f;
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++;
}
continue;
}
}
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;
}
if (!mCurFloorOnly && mCurFloor - 1 == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
treasure_p[no].posX = mMpp1PosX + (tentry->base.position.x - originX) / scale - treasure_p[no].width / 2.0f;
treasure_p[no].posY = mMpp1PosY + (tentry->base.position.z - originZ) / scale - treasure_p[no].height / 2.0f +
(mMpp1SizeY + mMppGapY);
no++;
continue;
}
}
if (!mCurFloorOnly && mCurFloor + 1 == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
treasure_p[no].posX = mMpp1PosX + (tentry->base.position.x - originX) / scale - treasure_p[no].width / 2.0f;
treasure_p[no].posY = mMpp1PosY + (tentry->base.position.z - originZ) / scale - treasure_p[no].height / 2.0f -
(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(&dComIfGp_getStage(), 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;
door_p[no].posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - door_p[no].width / 2.0f;
door_p[no].posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - door_p[no].height / 2.0f;
no++;
}
} else if (!mCurFloorOnly && mCurFloor - 1 == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
door_p[no].posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - door_p[no].width / 2.0f;
door_p[no].posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - door_p[no].height / 2.0f +
(mMpp1SizeY + mMppGapY);
no++;
}
} else if (!mCurFloorOnly && mCurFloor + 1 == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
door_p[no].posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - door_p[no].width / 2.0f;
door_p[no].posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - door_p[no].height / 2.0f -
(mMpp1SizeY + mMppGapY);
no++;
}
}
if (dComIfGs_isDungeonItemCompass() && dMap_isBossDoor(dentry)) {
if (mCurFloor == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
boss_p.posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - boss_p.width / 2.0f +
bossOffsetX[saveTbl] + g_mdHIO.mBossOfsX;
boss_p.posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - boss_p.height / 2.0f +
bossOffsetY[saveTbl] + g_mdHIO.mBossOfsY;
} else if (!mCurFloorOnly && mCurFloor - 1 == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
boss_p.posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - boss_p.width / 2.0f +
bossOffsetX[saveTbl] + g_mdHIO.mBossOfsX;
boss_p.posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - boss_p.height / 2.0f +
(mMpp1SizeY + mMppGapY) + bossOffsetY[saveTbl] + g_mdHIO.mBossOfsY;
} else if (!mCurFloorOnly && mCurFloor + 1 == dMap_GetFloorNo(&dComIfGp_getStage(), 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;
boss_p.posX = mMpp1PosX + (dentry->base.position.x - originX) / scale - boss_p.width / 2.0f +
bossOffsetX[saveTbl] + g_mdHIO.mBossOfsX;
boss_p.posY = mMpp1PosY + (dentry->base.position.z - originZ) / scale - boss_p.height / 2.0f -
(mMpp1SizeY + mMppGapY) + bossOffsetY[saveTbl] + g_mdHIO.mBossOfsY;
}
}
}
}
@@ -714,13 +705,12 @@ void dMenu_Dmap_c::treasureDraw() {
for (int i = 0; i < 32; i++) {
if (treasure_p[i].exists != 0) {
f32 y = treasure_p[i].posY;
f32 scale = 0.5f;
if (y + offsetY > mMpp1PosY - mMpp1SizeY * scale && y + offsetY < mMpp1PosY + mMpp1SizeY * scale) {
if (y + offsetY > mMpp1PosY - mMpp1SizeY / 2.0f && y + offsetY < mMpp1PosY + mMpp1SizeY / 2.0f) {
treasure_p[i].ppane->draw(
treasure_p[i].posX, y + drawOffsetY,
treasure_p[i].width, treasure_p[i].height,
false, false, false);
treasure_p[i].ppane->mAlpha = mCc05Pane.mNowAlpha;
treasure_p[i].ppane->setAlpha(mCc05Pane.mNowAlpha);
}
}
}
@@ -728,37 +718,34 @@ void dMenu_Dmap_c::treasureDraw() {
for (int i = 0; i < 32; i++) {
if (door_p[i].exists != 0) {
f32 y = door_p[i].posY;
f32 scale = 0.5f;
if (y + offsetY > mMpp1PosY - mMpp1SizeY * scale && y + offsetY < mMpp1PosY + mMpp1SizeY * scale) {
if (y + offsetY > mMpp1PosY - mMpp1SizeY / 2.0f && y + offsetY < mMpp1PosY + mMpp1SizeY / 2.0f) {
door_p[i].ppane->draw(
door_p[i].posX, y + drawOffsetY,
door_p[i].width, door_p[i].height,
false, false, false);
door_p[i].ppane->rotate(
door_p[i].width * scale,
door_p[i].height * scale,
door_p[i].width / 2.0f,
door_p[i].height / 2.0f,
ROTATE_Z,
door_p[i].angle * 0.005493164f);
door_p[i].ppane->mAlpha = mCc05Pane.mNowAlpha;
S2DEG(door_p[i].angle));
door_p[i].ppane->setAlpha(mCc05Pane.mNowAlpha);
}
}
}
if (npc_p.exists != 0) {
f32 y = npc_p.posY;
f32 scale = 0.5f;
if (y + offsetY > mMpp1PosY - mMpp1SizeY * scale && y + offsetY < mMpp1PosY + mMpp1SizeY * scale) {
if (y + offsetY > mMpp1PosY - mMpp1SizeY / 2.0f && y + offsetY < mMpp1PosY + mMpp1SizeY / 2.0f) {
npc_p.ppane->draw(npc_p.posX, y + drawOffsetY, npc_p.width, npc_p.height, false, false, false);
npc_p.ppane->mAlpha = mCc05Pane.mNowAlpha;
npc_p.ppane->setAlpha(mCc05Pane.mNowAlpha);
}
}
if (boss_p.exists != 0) {
f32 y = boss_p.posY;
f32 scale = 0.5f;
if (y + offsetY > mMpp1PosY - mMpp1SizeY * scale && y + offsetY < mMpp1PosY + mMpp1SizeY * scale) {
if (y + offsetY > mMpp1PosY - mMpp1SizeY / 2.0f && y + offsetY < mMpp1PosY + mMpp1SizeY / 2.0f) {
boss_p.ppane->draw(boss_p.posX, y + drawOffsetY, boss_p.width, boss_p.height, false, false, false);
boss_p.ppane->mAlpha = mCc05Pane.mNowAlpha;
boss_p.ppane->setAlpha(mCc05Pane.mNowAlpha);
}
}
}
@@ -1025,26 +1012,33 @@ bool dMenu_Dmap_c::noteCheck() {
/* 801AC2EC-801AC390 .text noteAppear__12dMenu_Dmap_cFv */
void dMenu_Dmap_c::noteAppear() {
if (mNk00Pane.mUserArea == 1) {
if (mNt00Pane.mUserArea <= 17) {
s16 r0 = 17;
if (mNt00Pane.mUserArea <= r0) {
noteOpen();
} else if (mNt00Pane.mUserArea > 18) {
return;
}
r0 = 18;
if (mNt00Pane.mUserArea > r0) {
noteClose();
} else {
if (CPad_CHECK_TRIG_A(0) || CPad_CHECK_TRIG_B(0)) {
mNt00Pane.mUserArea++;
mDoAud_seStart(JA_SE_ITM_MENU_EXP_OUT);
}
return;
}
if (CPad_CHECK_TRIG_A(0) || CPad_CHECK_TRIG_B(0)) {
mNt00Pane.mUserArea++;
mDoAud_seStart(JA_SE_ITM_MENU_EXP_OUT);
}
}
}
/* 801AC390-801AC590 .text noteOpen__12dMenu_Dmap_cFv */
void dMenu_Dmap_c::noteOpen() {
f32 x = 320.0f - mNo11Pane.mPosCenterOrig.x;
f32 y = 240.0f - mNo11Pane.mPosCenterOrig.y;
f32 f1 = 320.0f;
f32 f2 = 240.0f;
f32 x = f1 - mNo11Pane.mPosCenterOrig.x;
f32 y = f2 - mNo11Pane.mPosCenterOrig.y;
f32 alpha = 1.0f - fopMsgM_valueIncrease(17, 17 - mNt00Pane.mUserArea, 0);
if (mNt00Pane.mUserArea >= 17) {
s16 r0 = 17;
if (mNt00Pane.mUserArea >= r0) {
fopMsgM_setInitAlpha(&mMsk0Pane);
fopMsgM_setInitAlpha(&mStr0Pane);
fopMsgM_setInitAlpha(&mSt00Pane);
@@ -1065,7 +1059,8 @@ void dMenu_Dmap_c::noteOpen() {
if (mNt00Pane.mUserArea < 5) {
alpha = (mNt00Pane.mUserArea * 0.8f) / 5.0f;
} else {
alpha = (1.0f - fopMsgM_valueIncrease(12, 17 - mNt00Pane.mUserArea, 0)) * 0.19999999f + 0.8f;
f32 f29 = 0.19999999f;
alpha = (1.0f - fopMsgM_valueIncrease(12, 17 - mNt00Pane.mUserArea, 0)) * f29 + 0.8f;
}
fopMsgM_paneTrans(&mNo11Pane, x * alpha, y * alpha);
@@ -1074,12 +1069,17 @@ void dMenu_Dmap_c::noteOpen() {
/* 801AC590-801AC7C8 .text noteClose__12dMenu_Dmap_cFv */
void dMenu_Dmap_c::noteClose() {
f32 out_x = (640.0f - mNo11Pane.mPosCenterOrig.x) - 320.0f;
f32 out_y = (480.0f - mNo11Pane.mPosCenterOrig.y) - 240.0f;
f32 x = 320.0f - mNo11Pane.mPosCenterOrig.x;
f32 y = 240.0f - mNo11Pane.mPosCenterOrig.y;
f32 f3 = 320.0f;
f32 f4 = 240.0f;
f32 f5 = ((f3 * 2.0f) - mNo11Pane.mPosCenterOrig.x);
f32 f0 = ((f4 * 2.0f) - mNo11Pane.mPosCenterOrig.y);
f32 out_x = f5 - f3;
f32 out_y = f0 - f4;
f32 x = f3 - mNo11Pane.mPosCenterOrig.x;
f32 y = f4 - mNo11Pane.mPosCenterOrig.y;
f32 alpha = fopMsgM_valueIncrease(10, mNt00Pane.mUserArea - 18, 0);
f32 f26 = (alpha * -117.0f) + -3.0f;
fopMsgM_paneTrans(&mNo11Pane, (out_x * alpha) + x, (out_y * alpha) + y);
@@ -1087,12 +1087,13 @@ void dMenu_Dmap_c::noteClose() {
mNo11Pane.mSize.x / 2.0f,
mNo11Pane.mSize.y / 2.0f,
ROTATE_Z,
(alpha * -117.0f) + -3.0f
f26
);
mNt00Pane.mUserArea++;
if (mNt00Pane.mUserArea > 0x1c) {
s16 r0 = 0x1c;
if (mNt00Pane.mUserArea > r0) {
fopMsgM_setInitAlpha(&mNt00Pane);
fopMsgM_setInitAlpha(&mNk00Pane);
fopMsgM_setInitAlpha(&mNo11Pane);
@@ -1226,8 +1227,9 @@ void dMenu_Dmap_c::itemScale() {
/* 801ACDE0-801ACEB8 .text floorInit__12dMenu_Dmap_cFv */
void dMenu_Dmap_c::floorInit() {
f32 yDif = (mFbPanes[0].mPosTopLeftOrig.y - mFbPanes[1].mPosTopLeftOrig.y) *
(6 - ((mTopFloor - mBottomFloor + 1) & 0xFF));
int temp = (mTopFloor - mBottomFloor + 1) & 0xFF;
f32 temp2 = (mFbPanes[0].mPosTopLeftOrig.y - mFbPanes[1].mPosTopLeftOrig.y);
f32 yDif = temp2 * (6 - temp);
f32 fw00Height = mFw00Pane.mSizeOrig.y;
f32 fw01Height = mFw01Pane.mSizeOrig.y;
mFw00Pane.mSizeOrig.y = mFw00Pane.mSize.y = fw00Height - yDif;
@@ -1251,23 +1253,18 @@ void dMenu_Dmap_c::mapMove() {
f32 a = fopMsgM_valueIncrease(6, 6 - abs(mCc38Pane.mUserArea), 0);
mCurFloorMapY += (s16)(a * ((mMpp1PosY + (mCurFloor - 0x80) * (mMpp1SizeY + mMppGapY)) - mCurFloorMapY));
}
dMap_Dmap_c* dmap;
s16 y = mCurFloorMapY;
dmap = dmap_c;
dmap->field_0x364 = mMpp1PosX;
dmap->field_0x366 = y;
dmap_c->setMapPos(mMpp1PosX, mCurFloorMapY);
}
/* 801AD000-801AD130 .text mapOffsetY__12dMenu_Dmap_cFv */
f32 dMenu_Dmap_c::mapOffsetY() {
f32 ret = 0.0f;
dStage_dt_c* stage = &dComIfGp_getStage();
if (dStage_stagInfo_GetSTType(stage->getStagInfo()) == dStageType_BOSS_e ||
dStage_stagInfo_GetSTType(stage->getStagInfo()) == dStageType_MINIBOSS_e) {
if (stage->getDMap()) {
dStage_DMap_c* pinf = stage->getDMap();
if (dStage_stagInfo_GetSTType(dComIfGp_getStage().getStagInfo()) == dStageType_BOSS_e ||
dStage_stagInfo_GetSTType(dComIfGp_getStage().getStagInfo()) == dStageType_MINIBOSS_e) {
if (dComIfGp_getStage().getDMap()) {
dStage_DMap_c* pinf = dComIfGp_getStage().getDMap();
dStage_DMap_dt_c* entry = pinf->entries;
JUT_ASSERT(VERSION_SELECT(1590, 1590, 1627, 1627), pinf->num == 1);
JUT_ASSERT(VERSION_SELECT(1519, 1590, 1627, 1627), pinf->num == 1);
for (int i = 0; i < pinf->num; i++, entry++) {
ret = entry->offsetY;
}
@@ -1389,6 +1386,7 @@ void dMenu_Dmap_c::dnameSet() {
void dMenu_Dmap_c::itemnameSet() {
fopMsgM_itemMsgGet_c msgGet;
u32 msgNo = 0;
int r30 = 0;
int i = 0;
J2DTextBox::TFontSize fontSize0;
@@ -1428,7 +1426,7 @@ void dMenu_Dmap_c::itemnameSet() {
}
mesg_header* head_p = msgGet.getMesgHeader(msgNo);
JUT_ASSERT(VERSION_SELECT(1678, 1678, 1833, 1833), head_p);
JUT_ASSERT(VERSION_SELECT(1607, 1678, 1833, 1833), head_p);
J2DTextBox::TFontSize fontSize;
((J2DTextBox*)mNm00Pane.pane)->getFontSize(fontSize);
@@ -1487,7 +1485,7 @@ void dMenu_Dmap_c::itemnameSet() {
}
((J2DTextBox*)mNm00Pane.pane)->setFontSize(fontSize);
((J2DTextBox*)mNm00Pane.pane)->setCharSpace(0.0f);
((J2DTextBox*)mNm00Pane.pane)->setCharSpace((f32)r30);
((J2DTextBox*)mNm00Pane.pane)->setString(mTxtName[0]);
}
@@ -1543,7 +1541,7 @@ void dMenu_Dmap_c::itemnoteSet() {
}
mesg_header* head_p = msgGet.getMesgHeader(msgNo);
JUT_ASSERT(VERSION_SELECT(1808, 1808, 1970, 1970), head_p);
JUT_ASSERT(VERSION_SELECT(1737, 1808, 1970, 1970), head_p);
const char* mesg = msgGet.getMessage(head_p);
JMSMesgEntry_c msg_entry;
@@ -1590,10 +1588,12 @@ void dMenu_Dmap_c::itemnoteSet() {
int halfSpace = ((J2DTextBox*)mSt00Pane.pane)->getLineSpace() / 2.0f;
for (int i = 0; i < 15; i++) {
u8 iconNo = mMsgProc.getIconNum(i);
#if VERSION > VERSION_DEMO
u32 color = mMsgProc.getIconColor(i);
if (color == 0xFFFFFFFF) {
color = 0xFF;
}
#endif
if (iconNo == 0xFF) {
continue;
}
@@ -1607,7 +1607,7 @@ void dMenu_Dmap_c::itemnoteSet() {
mFtPanes[i].mPosTopLeft.y = (f32)(halfSpace * (unusedLines + mMsgProc.getIconPosY(i) * 2));
mFtPanes[i].mPosTopLeftOrig.y = (f32)iconNo;
fopMsgM_outFontSet((J2DPicture*)mFtPanes[i].pane, &mFtPanes[i].mUserArea, color, iconNo);
fopMsgM_outFontSet((J2DPicture*)mFtPanes[i].pane, &mFtPanes[i].mUserArea, DEMO_SELECT(mMsgProc.getIconColor(i), color), iconNo);
}
}
@@ -1754,38 +1754,38 @@ void dMenu_Dmap_c::bossEyeAnime() {
/* 801AE65C-801AEB88 .text _create__12dMenu_Dmap_cFv */
void dMenu_Dmap_c::_create() {
scrn = new J2DScreen();
JUT_ASSERT(VERSION_SELECT(2138, 2138, 2320, 2320), scrn != NULL);
JUT_ASSERT(VERSION_SELECT(2062, 2138, 2320, 2320), scrn != NULL);
scrn->set("menu_map_d.blo", mpArc);
scrn2 = new J2DScreen();
JUT_ASSERT(VERSION_SELECT(2142, 2142, 2324, 2324), scrn2 != NULL);
JUT_ASSERT(VERSION_SELECT(2066, 2142, 2324, 2324), scrn2 != NULL);
scrn2->set("menu_explanation.blo", mpArc);
stick = new STControl(5, 2, 3, 2);
JUT_ASSERT(VERSION_SELECT(2146, 2146, 2328, 2328), stick != NULL);
JUT_ASSERT(VERSION_SELECT(2070, 2146, 2328, 2328), stick != NULL);
dmap_c = new(0x20) dMap_Dmap_c();
JUT_ASSERT(VERSION_SELECT(2149, 2149, 2331, 2331), dmap_c != NULL);
dmap_c->field_0x2A0 = mpArc;
JUT_ASSERT(VERSION_SELECT(2073, 2149, 2331, 2331), dmap_c != NULL);
dmap_c->setArchive(mpArc);
for (int i = 0; i < 32; i++) {
treasure_p[i].ppane = new J2DPicture("treasurebox.bti");
JUT_ASSERT(VERSION_SELECT(2155, 2155, 2337, 2337), treasure_p[i].ppane != NULL);
JUT_ASSERT(VERSION_SELECT(2079, 2155, 2337, 2337), treasure_p[i].ppane != NULL);
treasure_p[i].exists = 0;
}
for (int i = 0; i < 32; i++) {
door_p[i].ppane = new J2DPicture("black_white_3.bti");
JUT_ASSERT(VERSION_SELECT(2161, 2161, 2343, 2343), door_p[i].ppane != NULL);
JUT_ASSERT(VERSION_SELECT(2085, 2161, 2343, 2343), door_p[i].ppane != NULL);
door_p[i].exists = 0;
}
npc_p.ppane = new J2DPicture("f_otmicon.bti");
JUT_ASSERT(VERSION_SELECT(2166, 2166, 2348, 2348), npc_p.ppane != NULL);
JUT_ASSERT(VERSION_SELECT(2090, 2166, 2348, 2348), npc_p.ppane != NULL);
npc_p.exists = 0;
boss_p.ppane = new J2DPicture("boss_small.bti");
JUT_ASSERT(VERSION_SELECT(2170, 2170, 2352, 2352), boss_p.ppane != NULL);
JUT_ASSERT(VERSION_SELECT(2094, 2170, 2352, 2352), boss_p.ppane != NULL);
boss_p.exists = 0;
mNoteTimer = 0;
@@ -1804,7 +1804,9 @@ void dMenu_Dmap_c::_create() {
/* 801AEB88-801AED08 .text _delete__12dMenu_Dmap_cFv */
void dMenu_Dmap_c::_delete() {
delete scrn;
#if VERSION > VERSION_DEMO
delete scrn2;
#endif
delete stick;
delete dmap_c;
@@ -1909,7 +1911,7 @@ void dMenu_Dmap_c::_draw() {
fopMsgM_setAlpha(&mCc00Pane);
fopMsgM_setAlpha(&mMskPane);
dmap_c->field_0x2B6 = mCc05Pane.mNowAlpha;
dmap_c->setAlpha(mCc05Pane.mNowAlpha);
J2DOrthoGraph* port = dComIfGp_getCurrentGrafPort();
port->setPort();
scrn->draw(0.0f, 0.0f, (J2DGrafContext*)port);
@@ -1937,28 +1939,23 @@ bool dMenu_Dmap_c::_open() {
mNoteTimer++;
if (mNoteTimer <= 10) {
s16 r0 = 10;
if (mNoteTimer <= r0) {
f32 alpha = fopMsgM_valueIncrease(10, mNoteTimer, 0);
f32 rate = fopMsgM_valueIncrease(10, 10 - mNoteTimer, 0);
mMapDrawOffsetY = rate * 480.0f;
paneMove(rate * 480.0f);
s16 y = mMpmkPosY + mMapDrawOffsetY;
dMap_Dmap_c* dmap = dmap_c;
dmap->field_0x35C = mMpmkPosX;
dmap->field_0x35E = y;
y = mCurFloorMapY + mMapDrawOffsetY;
dmap = dmap_c;
dmap->field_0x364 = mMpp1PosX;
dmap->field_0x366 = y;
dmap_c->setMaskPos(mMpmkPosX, mMpmkPosY + mMapDrawOffsetY);
dmap_c->setMapPos(mMpp1PosX, mCurFloorMapY + mMapDrawOffsetY);
paneAlpha(alpha);
noteOpenProc(mNoteTimer);
mCurFloorOnly = true;
}
if (mNoteTimer >= 10) {
r0 = 10;
if (mNoteTimer >= r0) {
ret = true;
mCurFloorOnly = false;
mDoAud_seStart(JA_SE_ITM_MENU_ITEMS_IN);
@@ -1976,15 +1973,8 @@ bool dMenu_Dmap_c::_close() {
mMapDrawOffsetY = rate * 480.0f;
paneMove(rate * 480.0f);
s16 y = mMpmkPosY + mMapDrawOffsetY;
dMap_Dmap_c* dmap = dmap_c;
dmap->field_0x35C = mMpmkPosX;
dmap->field_0x35E = y;
y = mCurFloorMapY + mMapDrawOffsetY;
dmap = dmap_c;
dmap->field_0x364 = mMpp1PosX;
dmap->field_0x366 = y;
dmap_c->setMaskPos(mMpmkPosX, mMpmkPosY + mMapDrawOffsetY);
dmap_c->setMapPos(mMpp1PosX, mCurFloorMapY + mMapDrawOffsetY);
dComIfGp_setDoStatus(dActStts_BLANK_e);
decAlpha(alpha);
+1 -1
View File
@@ -1255,7 +1255,7 @@ void dMenu_Fmap_c::checkMarkAnime() {
/* 801B3658-801B3698 .text readFmapTexture__12dMenu_Fmap_cFPCc */
u32 dMenu_Fmap_c::readFmapTexture(const char* i_filename) {
JKRArchive* archive = dComIfGp_getFmapArchive();
return JKRArchive::readTypeResource(mChkPntTxt_p, 0x2c00, 'FM ', i_filename, archive);
return JKRReadTypeResource(mChkPntTxt_p, 0x2c00, 'FM ', i_filename, archive);
}
/* 801B3698-801B36F0 .text aramCmapDatRead__12dMenu_Fmap_cFv */
+5 -5
View File
@@ -137,10 +137,10 @@ void dMenu_Option_c::screenSet() {
#endif
}
m820.mUserArea = m820.pane->mRotation;
m008.mUserArea = m008.pane->mRotation;
m040.mUserArea = m040.pane->mRotation;
m078.mUserArea = m078.pane->mRotation;
m820.mUserArea = m820.pane->getRotate();
m008.mUserArea = m008.pane->getRotate();
m040.mUserArea = m040.pane->getRotate();
m078.mUserArea = m078.pane->getRotate();
if (m820.mUserArea > 180) m820.mUserArea -= 360;
if (m008.mUserArea > 180) m008.mUserArea -= 360;
@@ -733,7 +733,7 @@ void dMenu_Option_c::outFontMove() {
f32 rotation_offset_x = m820.mPosCenter.x - m3F8[i].mPosTopLeft.x;
f32 rotation_offset_y = m820.mPosCenter.y - m3F8[i].mPosTopLeft.y;
m3F8[i].pane->rotate(rotation_offset_x, rotation_offset_y, ROTATE_Z, m820.pane->mRotation);
m3F8[i].pane->rotate(rotation_offset_x, rotation_offset_y, ROTATE_Z, m820.pane->getRotate());
}
else {
fopMsgM_setNowAlphaZero(&m0B0[i]);
+1 -1
View File
@@ -1523,7 +1523,7 @@ void dMesg_screenDataItem_c::createScreen() {
JMSMesgEntry_c stack_message = *(JMSMesgEntry_c*)dMesg_gpControl->getMessageEntry(nowMesgCode);
if (dItem_data::getTexture(stack_message.mMsgNo - 101)) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(texBuffer, 0xc00, 'TIMG', dItem_data::getTexture(stack_message.mMsgNo - 101), archive);
JKRReadTypeResource(texBuffer, 0xc00, 'TIMG', dItem_data::getTexture(stack_message.mMsgNo - 101), archive);
((J2DPicture*)field_0x1b4.pane)->changeTexture(texBuffer, 0);
}
field_0x168.mPosTopLeftOrig.y += 1.0f;
+21 -21
View File
@@ -1580,7 +1580,7 @@ void dMeter_weponInit(sub_meter_class* i_Meter) {
archive = dComIfGp_getActionIconArchive();
}
const char* filename = dMeter_actionTex(dActStts_BLANK_e);
JKRArchive::readTypeResource(i_Meter->actionTex[0], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->actionTex[0], 0xc00, 'TIMG', filename, archive);
DCStoreRangeNoSync(i_Meter->actionTex[0], 0xc00);
((J2DPicture*)i_Meter->field_0x2828.pane)->changeTexture(i_Meter->actionTex[0], 0);
((J2DPicture*)i_Meter->field_0x2860.pane)->changeTexture(i_Meter->actionTex[0], 0);
@@ -1704,7 +1704,7 @@ void dMeter_weponChange(sub_meter_class* i_Meter) {
if (dComIfGp_getAStatus() != dActStts_BLANK_e) {
if (dComIfGp_getAStatus() == dActStts_sword_01) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(i_Meter->actionTex[0], 0xc00, 'TIMG', dMeter_weponTex(), archive);
JKRReadTypeResource(i_Meter->actionTex[0], 0xc00, 'TIMG', dMeter_weponTex(), archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->actionTex[0], 0xc00);
#else
@@ -1723,7 +1723,7 @@ void dMeter_weponChange(sub_meter_class* i_Meter) {
dComIfGp_getAStatus() == dActStts_spear__dupe_3C)
{
JKRArchive* archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(i_Meter->actionTex[0], 0xc00, 'TIMG', dMeter_actionTex(dComIfGp_getAStatus()), archive);
JKRReadTypeResource(i_Meter->actionTex[0], 0xc00, 'TIMG', dMeter_actionTex(dComIfGp_getAStatus()), archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->actionTex[0], 0xc00);
#else
@@ -1741,7 +1741,7 @@ void dMeter_weponChange(sub_meter_class* i_Meter) {
} else {
archive = dComIfGp_getActionIconArchive();
}
JKRArchive::readTypeResource(i_Meter->actionTex[0], 0xc00, 'TIMG', dMeter_actionTex(dComIfGp_getAStatus()), archive);
JKRReadTypeResource(i_Meter->actionTex[0], 0xc00, 'TIMG', dMeter_actionTex(dComIfGp_getAStatus()), archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->actionTex[0], 0xc00);
#else
@@ -2089,7 +2089,7 @@ void dMeter_actionInit(sub_meter_class* i_Meter) {
i_Meter->field_0x301b = 0;
dComIfGp_setDoStatus(dActStts_BLANK_e);
JKRArchive* archive = dComIfGp_getActionIconArchive();
JKRArchive::readTypeResource(i_Meter->actionTex[1], 0xc00, 'TIMG', dMeter_actionTex(dActStts_BLANK_e), archive);
JKRReadTypeResource(i_Meter->actionTex[1], 0xc00, 'TIMG', dMeter_actionTex(dActStts_BLANK_e), archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->actionTex[1], 0xc00);
#else
@@ -2215,7 +2215,7 @@ void dMeter_actionChange(sub_meter_class* i_Meter) {
{
if (dComIfGp_getDoStatus() == dActStts_bow_01) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(i_Meter->actionTex[1], 0xc00, 'TIMG', dMeter_actionTex(dComIfGp_getDoStatus()), archive);
JKRReadTypeResource(i_Meter->actionTex[1], 0xc00, 'TIMG', dMeter_actionTex(dComIfGp_getDoStatus()), archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->actionTex[1], 0xc00);
#else
@@ -2230,7 +2230,7 @@ void dMeter_actionChange(sub_meter_class* i_Meter) {
} else {
archive = dComIfGp_getActionIconArchive();
}
JKRArchive::readTypeResource(i_Meter->actionTex[1], 0xc00, 'TIMG', dMeter_actionTex(dComIfGp_getDoStatus()), archive);
JKRReadTypeResource(i_Meter->actionTex[1], 0xc00, 'TIMG', dMeter_actionTex(dComIfGp_getDoStatus()), archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->actionTex[1], 0xc00);
#else
@@ -2943,7 +2943,7 @@ void dMeter_xyItemChange(sub_meter_class* i_Meter, int i_itemBtn) {
dMeter_PaneShow(&i_Meter->field_0x2128[i_itemBtn]);
JKRArchive* archive = dComIfGp_getItemIconArchive();
const char* filename = dItem_data::getTexture(dComIfGp_getSelectItem(i_itemBtn));
JKRArchive::readTypeResource(i_Meter->xyIconTex[i_itemBtn], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->xyIconTex[i_itemBtn], 0xc00, 'TIMG', filename, archive);
DCStoreRangeNoSync(i_Meter->xyIconTex[i_itemBtn], 0xc00);
((J2DPicture*)i_Meter->field_0x2080[i_itemBtn].pane)->changeTexture(i_Meter->xyIconTex[i_itemBtn], 0);
((J2DPicture*)i_Meter->field_0x2128[i_itemBtn].pane)->changeTexture(i_Meter->xyIconTex[i_itemBtn], 0);
@@ -2952,7 +2952,7 @@ void dMeter_xyItemChange(sub_meter_class* i_Meter, int i_itemBtn) {
dMeter_PaneShow(&i_Meter->field_0x2128[i_itemBtn]);
JKRArchive* archive = dComIfGp_getItemIconArchive();
const char* filename = dItem_data::getTexture(dComIfGp_getSelectItem(i_itemBtn));
JKRArchive::readTypeResource(i_Meter->xyIconTex[i_itemBtn], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->xyIconTex[i_itemBtn], 0xc00, 'TIMG', filename, archive);
DCStoreRangeNoSync(i_Meter->xyIconTex[i_itemBtn], 0xc00);
((J2DPicture*)i_Meter->field_0x2080[i_itemBtn].pane)->changeTexture(i_Meter->xyIconTex[i_itemBtn], 0);
((J2DPicture*)i_Meter->field_0x2128[i_itemBtn].pane)->changeTexture(i_Meter->xyIconTex[i_itemBtn], 0);
@@ -2961,7 +2961,7 @@ void dMeter_xyItemChange(sub_meter_class* i_Meter, int i_itemBtn) {
dMeter_PaneShow(&i_Meter->field_0x2128[i_itemBtn]);
JKRArchive* archive = dComIfGp_getItemIconArchive();
const char* filename = dItem_data::getTexture(dComIfGp_getSelectItem(i_itemBtn));
JKRArchive::readTypeResource(i_Meter->xyIconTex[i_itemBtn], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->xyIconTex[i_itemBtn], 0xc00, 'TIMG', filename, archive);
DCStoreRangeNoSync(i_Meter->xyIconTex[i_itemBtn], 0xc00);
((J2DPicture*)i_Meter->field_0x2080[i_itemBtn].pane)->changeTexture(i_Meter->xyIconTex[i_itemBtn], 0);
((J2DPicture*)i_Meter->field_0x2128[i_itemBtn].pane)->changeTexture(i_Meter->xyIconTex[i_itemBtn], 0);
@@ -2985,7 +2985,7 @@ void dMeter_xyItemChange(sub_meter_class* i_Meter, int i_itemBtn) {
}
JKRArchive* archive = dComIfGp_getItemIconArchive();
const char* filename = dItem_data::getTexture(itemNo);
JKRArchive::readTypeResource(i_Meter->xyIconTex[i_itemBtn], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->xyIconTex[i_itemBtn], 0xc00, 'TIMG', filename, archive);
DCStoreRangeNoSync(i_Meter->xyIconTex[i_itemBtn], 0xc00);
((J2DPicture*)i_Meter->field_0x2080[i_itemBtn].pane)->changeTexture(i_Meter->xyIconTex[i_itemBtn], 0);
((J2DPicture*)i_Meter->field_0x2128[i_itemBtn].pane)->changeTexture(i_Meter->xyIconTex[i_itemBtn], 0);
@@ -3381,7 +3381,7 @@ void dMeter_rInit(sub_meter_class* i_Meter) {
archive = dComIfGp_getActionIconArchive();
}
const char* filename = dMeter_actionTex(dActStts_BLANK_e);
JKRArchive::readTypeResource(i_Meter->actionTex[2], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->actionTex[2], 0xc00, 'TIMG', filename, archive);
DCStoreRangeNoSync(i_Meter->actionTex[2], 0xc00);
((J2DPicture*)i_Meter->field_0x1cc8.pane)->changeTexture(i_Meter->actionTex[2], 0);
}
@@ -3400,7 +3400,7 @@ void dMeter_rMove(sub_meter_class* i_Meter) {
archive = dComIfGp_getActionIconArchive();
}
const char* filename = dMeter_actionTex(dComIfGp_getRStatus());
JKRArchive::readTypeResource(i_Meter->actionTex[2], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->actionTex[2], 0xc00, 'TIMG', filename, archive);
DCStoreRangeNoSync(i_Meter->actionTex[2], 0xc00);
((J2DPicture*)i_Meter->field_0x1cc8.pane)->changeTexture(i_Meter->actionTex[2], 0);
}
@@ -5992,7 +5992,7 @@ void dMeter_arwInit(sub_meter_class* i_Meter) {
}
for (s32 i = 0; i < 2; i++) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(i_Meter->arrowTex[i], 0xc00, 'TIMG', arrowTexImage[uVar1], archive);
JKRReadTypeResource(i_Meter->arrowTex[i], 0xc00, 'TIMG', arrowTexImage[uVar1], archive);
DCStoreRangeNoSync(i_Meter->arrowTex[i], 0xc00);
((J2DPicture*)i_Meter->field_0x2940[i].pane)->changeTexture(i_Meter->arrowTex[i], 0);
fopMsgM_setNowAlphaZero(&i_Meter->field_0x2940[i]);
@@ -6037,13 +6037,13 @@ void dMeter_arwMove(sub_meter_class* i_Meter) {
) {
if (arrowType != daArrow_c::getKeepType()) {
archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(i_Meter->arrowTex[0], 0xc00, 'TIMG', arrowTexImage[arrowType], archive);
JKRReadTypeResource(i_Meter->arrowTex[0], 0xc00, 'TIMG', arrowTexImage[arrowType], archive);
DCStoreRangeNoSync(i_Meter->arrowTex[0], 0xc00);
((J2DPicture*)i_Meter->field_0x2940[0].pane)->changeTexture(i_Meter->arrowTex[0], 0);
oldType = arrowType;
arrowType = daArrow_c::getKeepType();
archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(i_Meter->arrowTex[1], 0xc00, 'TIMG', arrowTexImage[arrowType], archive);
JKRReadTypeResource(i_Meter->arrowTex[1], 0xc00, 'TIMG', arrowTexImage[arrowType], archive);
DCStoreRangeNoSync(i_Meter->arrowTex[1], 0xc00);
((J2DPicture*)i_Meter->field_0x2940[1].pane)->changeTexture(i_Meter->arrowTex[1], 0);
i_Meter->field_0x29b0[0].mUserArea = 0;
@@ -6165,7 +6165,7 @@ void dMeter_arwMove(sub_meter_class* i_Meter) {
void dMeter_moveItemInit(sub_meter_class* i_Meter) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
const char* filename = dItem_data::getTexture(dItemNo_BOW_e);
JKRArchive::readTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
DCStoreRangeNoSync(i_Meter->moveIconTex[0], 0xc00);
moveItemPane = new J2DPicture(i_Meter->moveIconTex[0]);
}
@@ -6178,7 +6178,7 @@ void dMeter_moveItemMove(sub_meter_class* i_Meter) {
if (dMeter_itemNum >= dInvSlot_ReserveFirst_e) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
const char* filename = dItem_data::getTexture(dComIfGs_getItemReserve(dMeter_itemNum - dInvSlot_ReserveFirst_e));
JKRArchive::readTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->moveIconTex[0], 0xc00);
#else
@@ -6188,7 +6188,7 @@ void dMeter_moveItemMove(sub_meter_class* i_Meter) {
} else if (dMeter_itemNum >= dInvSlot_BaitFirst_e) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
const char* filename = dItem_data::getTexture(dComIfGs_getItemBait(dMeter_itemNum - dInvSlot_BaitFirst_e));
JKRArchive::readTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->moveIconTex[0], 0xc00);
#else
@@ -6198,7 +6198,7 @@ void dMeter_moveItemMove(sub_meter_class* i_Meter) {
} else if (dMeter_itemNum >= dInvSlot_BeastFirst_e) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
const char* filename = dItem_data::getTexture(dComIfGs_getItemBeast(dMeter_itemNum - dInvSlot_BeastFirst_e));
JKRArchive::readTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->moveIconTex[0], 0xc00);
#else
@@ -6212,7 +6212,7 @@ void dMeter_moveItemMove(sub_meter_class* i_Meter) {
}
JKRArchive* archive = dComIfGp_getItemIconArchive();
const char* filename = dItem_data::getTexture(itemNo);
JKRArchive::readTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
JKRReadTypeResource(i_Meter->moveIconTex[0], 0xc00, 'TIMG', filename, archive);
#if VERSION <= VERSION_JPN
DCFlushRangeNoSync(i_Meter->moveIconTex[0], 0xc00);
#else
+1 -1
View File
@@ -326,7 +326,7 @@ void dMsg_screenDataSetItem(sub_msg_class* i_Msg) {
JUT_ASSERT(661, i_Msg->buffer_p != NULL);
if ((i_Msg->mMesgEntry.mTextboxType == 9) && (dItem_data::getTexture(i_Msg->mMsgNo - 101) != NULL)) {
JKRArchive* archive = dComIfGp_getItemIconArchive();
JKRArchive::readTypeResource(i_Msg->buffer_p, 0xc00, 'TIMG', dItem_data::getTexture(i_Msg->mMsgNo - 101), archive);
JKRReadTypeResource(i_Msg->buffer_p, 0xc00, 'TIMG', dItem_data::getTexture(i_Msg->mMsgNo - 101), archive);
((J2DPicture*)i_Msg->m0624[8].pane)->changeTexture(i_Msg->buffer_p, 0);
} else {
for (s32 i = 0; i < 10; i++) {
+2 -2
View File
@@ -340,7 +340,7 @@ dStage_darkStatus_c* dStage_roomControl_c::getDarkStatus() {
}
/* 80041330-80041370 .text getDarkMode__20dStage_roomControl_cFv */
s32 dStage_roomControl_c::getDarkMode() {
int dStage_roomControl_c::getDarkMode() {
dStage_roomStatus_c * pRoomStatus = &mStatus[mStayNo];
dStage_FileList_dt_c* plist_p = pRoomStatus->mRoomDt.mpFileList;
@@ -2439,4 +2439,4 @@ s8 dStage_roomControl_c::mStayNo;
s8 dStage_roomControl_c::mOldStayNo;
u8 dStage_roomControl_c::mDarkRatio;
char dStage_roomControl_c::mDemoArcName[8];
s8 dStage_roomControl_c::m_time_pass;
u8 dStage_roomControl_c::m_time_pass;
+1 -1
View File
@@ -602,7 +602,7 @@ void dDlst_TimerScrnDraw_c::setIconType(void* tex, u8 type) {
JKRArchive* arc = dComIfGp_getItemIconArchive();
const char* iconTex = dItem_data::getTexture(itemNo);
JKRArchive::readTypeResource(tex, 0xC00, 'TIMG', iconTex, arc);
JKRReadTypeResource(tex, 0xC00, 'TIMG', iconTex, arc);
mIconPicture = new J2DPicture((ResTIMG*)tex);
((J2DPicture*)mRupee.pane)->setWhite(JUtility::TColor(0));
((J2DPicture*)mRupeeShadow.pane)->setWhite(JUtility::TColor(0));
+2 -10
View File
@@ -3635,22 +3635,14 @@ u8 fopMsgM_msgDataProc_c::inputNumber(int param_1) {
/* 800320E0-800321CC .text selectArrow__21fopMsgM_msgDataProc_cFP10J2DPictureffff */
void fopMsgM_msgDataProc_c::selectArrow(J2DPicture* param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5) {
param_1->mBasePosition.x = param_4 / 2.0f;
param_1->mBasePosition.y = param_5 / 2.0f;
param_1->mRotationAxis = 'z';
param_1->mRotation = 90.0f;
param_1->calcMtx();
param_1->rotate(param_4 / 2.0f, param_5 / 2.0f, ROTATE_Z, 90.0f);
fopMsgM_arrowAnime(param_1, &field_0x260);
param_1->draw(param_2, param_3, param_4, param_5, false, false, false);
}
/* 800321CC-80032288 .text selectArrow__21fopMsgM_msgDataProc_cFP10J2DPictureff */
void fopMsgM_msgDataProc_c::selectArrow(J2DPicture* param_1, f32 param_2, f32 param_3) {
param_1->mBasePosition.x = param_2 / 2.0f;
param_1->mBasePosition.y = param_3 / 2.0f;
param_1->mRotationAxis = 'z';
param_1->mRotation = 90.0f;
param_1->calcMtx();
param_1->rotate(param_2 / 2.0f, param_3 / 2.0f, ROTATE_Z, 90.0f);
param_1->resize(param_2, param_3);
fopMsgM_arrowAnime(param_1, &field_0x260);
}