mirror of
https://github.com/zeldaret/tww.git
synced 2026-09-06 02:38:11 -04:00
d_menu_dmap almost matching for demo
This commit is contained in:
@@ -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
@@ -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 */
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user