diff options
| author | Carco_21 <144170194+carter-ktb21@users.noreply.github.com> | 2025-12-20 21:06:17 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-20 18:06:17 -0800 |
| commit | c434c2edde34aaa21e8e186b880c3801f969d14a (patch) | |
| tree | af1c6f72e54edec6e688e869d258c03bb23aed0e /src/d/d_meter_map.cpp | |
| parent | a1c691ec92eac461d558e22ec46c1822ebb3d75b (diff) | |
Various d_ work (#2968)
* map work
* various meter work
* d_meter_button ShieldD almost equivalent
* error fix
Diffstat (limited to 'src/d/d_meter_map.cpp')
| -rw-r--r-- | src/d/d_meter_map.cpp | 557 |
1 files changed, 421 insertions, 136 deletions
diff --git a/src/d/d_meter_map.cpp b/src/d/d_meter_map.cpp index ff8b972aec..11ef884e20 100644 --- a/src/d/d_meter_map.cpp +++ b/src/d/d_meter_map.cpp @@ -15,48 +15,163 @@ #include "d/d_msg_object.h" #include "f_op/f_op_overlap_mng.h" #include "m_Do/m_Do_controller_pad.h" +#include "d/d_camera.h" + +#if (PLATFORM_WII || PLATFORM_SHIELD) +dMeter_map_HIO_c g_meter_mapHIO; +#endif #if DEBUG -dMeter_map_HIO_c g_meter_map; +dMeter_map_HIO_c* dMeter_map_HIO_c::mMySelfPointer = NULL; +dMeterMap_c* dMeterMap_c::mMySelfPointer = NULL; dMeter_map_HIO_c::dMeter_map_HIO_c() { dMeter_map_HIO_c::mMySelfPointer = this; - field_0x34 = dMap_HIO_c::mMySelfPointer; - field_0x5 = 0; - field_0x6 = 0; - field_0x8 = -38; - field_0xa = 380; - field_0xc = 35; - field_0xe = 380; - field_0x10 = 35; - field_0x12 = 421; - field_0x14 = -36; + mAreaMap = dMap_HIO_c::mMySelfPointer; + mDebugMapExpansion = 0; + mMapDisplayLocation = 0; + mWideBottomLeftX = -38; + mWideY = 380; + mNormalBottomLeftX = 35; + mNormalY = 380; + mGcBottomLeftX = 35; + mGcY = 421; + mHiddenRightX = -36; field_0x16 = 0; - field_0x17 = 0; + mSizeTypeChange = 0; field_0x18 = 1; - field_0x1a = 144; - field_0x1c = 144; - field_0x1e = 216; - field_0x20 = 216; - field_0x22 = 96; - field_0x24 = 96; - field_0x26 = 0; + mMediumHorizontal = 144; + mMediumVertical = 144; + mBigHorizontal = 216; + mBigVertical = 216; + mSmallHorizontal = 96; + mSmallVertical = 96; + mMapDisplaySize = 0; field_0x2a = 144; - field_0x2c = 0; - field_0x2d = 180; - field_0x2e = 0; - field_0x2f = 0; + mMapAlphaTest = 0; + mAlpha = 180; + mTextureResolutionHalved = 0; + mForcedMapTopEdgeChange = 0; field_0x30 = 144; - field_0x32 = 0; - field_0x33 = 0; + mMapDisplayProhibited = 0; + mMapRenderingProhibited = 0; } -void dMeter_map_HIO_c::genMessage(JORMContext* mctx) { - // DEBUG NONMATCHING +void dMeter_map_HIO_c::genMessage(JORMContext* ctx) { + ctx->genLabel("■デバック用マップ拡大■",0,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); + ctx->genCheckBox("ONで拡大", &mDebugMapExpansion,'\x01',0,(JOREventListener *)0x0,0xffff ,0xffff,0x200,0x18); + ctx->genLabel("■マップ表示位置■",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); + ctx->genCheckBox("ONで調整有効", &mMapDisplayLocation,'\x01',0,(JOREventListener *)0x0 ,0xffff,0xffff,0x200,0x18); + ctx->genLabel("*Wide(16:9)",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genSlider("左下X", &mWideBottomLeftX,-200,0x280,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); + ctx->genSlider(" Y", &mWideY,0,0x1e0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); + ctx->genLabel("*Normal(4:3)",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genSlider("左下X", &mNormalBottomLeftX,-200,0x280,0,(JOREventListener *)0x0,0xffff ,0xffff,0x200,0x18); + ctx->genSlider(" Y", &mNormalY,0,0x1e0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); + ctx->genLabel("*GC(4:3) WiiでMAPアイコン無しの場合のY座標にも使用します", 0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genSlider("左下X", &mGcBottomLeftX,-200,0x280,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); + ctx->genSlider(" Y", &mGcY,0,0x1e0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18) + ; + ctx->genSlider("隠右X", &mHiddenRightX,-600,800,0,(JOREventListener *)0x0,0xffff,0xffff ,0x200,0x18); + ctx->genLabel("■マップ表示サイズ■",0,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); + ctx->genCheckBox("・ON変更", &mMapDisplaySize,'\x01',0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); + ctx->genSlider("", &field_0x2a,1,400,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genLabel("■マップサイズ■",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genCheckBox( "・サイズタイプの変更<サイズ変更後はテクスチャーサイズ変更をして下さい>" , &mSizeTypeChange,'\x01',0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->startRadioButton("", &field_0x18,1,(JOREventListener *)0x0,0xffff,0xffff,0x100,0xffff); + ctx->genRadioButtonItem("中",1,0,0xffff,0xffff,0x80,0x10); + ctx->genRadioButtonItem("大",2,0,0xffff,0xffff,0x80,0x10); + ctx->genRadioButtonItem("小",3,0,0xffff,0xffff,0x80,0x10); + ctx->endRadioButton(); + ctx->genLabel( "・各サイズ<サイズ変更後はテクスチャーサイズ変更をして下さい>" ,0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genLabel("・中",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genSlider("横", &mMediumHorizontal,1,0x90,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); + ctx->genSlider("縦", &mMediumVertical,1,0x90,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); + ctx->genLabel("・大",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genSlider("横", &mBigHorizontal,1,0xd8,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); + ctx->genSlider("縦", &mBigVertical,1,0xd8,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); + ctx->genLabel("・小",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genSlider("横", &mSmallHorizontal,1,0x90,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); + ctx->genSlider("縦", &mSmallVertical,1,0x90,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); + ctx->genCheckBox("・テクスチャー解像度半分", &mTextureResolutionHalved,'\x01',0 ,(JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genButton("テクスチャーサイズ変更",0x4000001,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); + ctx->genLabel("■マップアルファ■",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); + ctx->genCheckBox("マップアルファテストONで有効", &mMapAlphaTest,'\x01',0, (JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + ctx->genSlider("アルファ", &mAlpha,'\0',0xff,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); + + if (dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 1 && field_0x18 != 1) { + field_0x18 = 1; + update(); + } + + ctx->genLabel("■強制マップ上端変更■",0,0,(JOREventListener *)0x0,0xffff,0xffff, 0x200,0x18); + ctx->genCheckBox("ONで有効", &mForcedMapTopEdgeChange,'\x01',0,(JOREventListener *)0x0, 0xffff,0xffff,0x200,0x18); + ctx->genSlider("", &field_0x30,-1,0x1e0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); + ctx->genLabel("ONからOFFにする場合は-1にしてからOFFにして下さい",0,0, (JOREventListener *)0x0,0xffff,0xffff,0x200,0x18); + + mAreaMap = dMap_HIO_c::mMySelfPointer; + if (mAreaMap != NULL) { + ctx->genNode("エリアマップ",this->mAreaMap,0,0); + } + + ctx->genLabel("■マップ表示禁止■",0,0,(JOREventListener *)0x0,0xffff,0xffff,0x200, 0x18); + ctx->genCheckBox("ONで有効", &mMapDisplayProhibited,'\x01',0,(JOREventListener *)0x0, 0xffff,0xffff,0x200,0x18); + ctx->genLabel("■マップレンダリング禁止■",0,0,(JOREventListener *)0x0,0xffff, 0xffff,0x200,0x18); + ctx->genCheckBox("ONで有効", &mMapRenderingProhibited,'\x01',0,(JOREventListener *)0x0, 0xffff,0xffff,0x200,0x18); } -void dMeter_map_HIO_c::listenPropertyEvent(const JORPropertyEvent*) { +void dMeter_map_HIO_c::listenPropertyEvent(const JORPropertyEvent* evt) { // DEBUG NONMATCHING + JORReflexible::listenPropertyEvent(evt); + + switch ((u32)evt->id) { + case 0x4000001: + int mapDispType = dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()); + if (dMeterMap_c::mMySelfPointer != NULL) { + dMeterMap_c* map_p = dMeterMap_c::mMySelfPointer->getMapPointer(); + if (map_p != NULL) { + int sizeType = map_p->getMapDispSizeTypeNo(); + s16 width; + s16 height; + + switch (sizeType) { + case dMeterMap_c::MAP_SIZE_TYPE_BIG: + width = g_meter_mapHIO.mBigHorizontal; + height = g_meter_mapHIO.mBigVertical; + break; + + case 4: + if (mapDispType != dStage_stagInfo_c::UB_D_MAP) { + width = g_meter_mapHIO.mMediumHorizontal; + height = g_meter_mapHIO.mMediumVertical; + break; + } + + // You cannot specify a large size for the dungeon map + OS_REPORT("ダンジョンマップは大サイズ指定できません\n"); + break; + + case 1: + case dMeterMap_c::MAP_SIZE_TYPE_SMALL: + width = g_meter_mapHIO.mSmallHorizontal; + height = g_meter_mapHIO.mSmallVertical; + break; + } + + if (g_meter_mapHIO.mTextureResolutionHalved) { + dMeterMap_c::mMySelfPointer->field_0x8_debug = 1; + } else { + dMeterMap_c::mMySelfPointer->field_0x8_debug = 0; + } + + field_0x28 = (s16)width; + dMeterMap_c::mMySelfPointer->setSizeW(width); + dMeterMap_c::mMySelfPointer->setSizeH(height); + dMeterMap_c::mMySelfPointer->field_0x4_debug = 1; + return; + } + } + } } void dMeter_map_HIO_c::update() { @@ -80,6 +195,7 @@ bool dMeterMap_c::isEnableDispMap() { if (minimapEnable && dMpath_c::isExistMapPathData()) { enableMap = true; } + return enableMap; } @@ -93,15 +209,25 @@ int dMeterMap_c::getMapDispSizeTypeNo() { } u32 stageMapSizeTypeNo = dStage_stagInfo_GetMiniMap(dComIfGp_getStage()->getStagInfo()); + JUT_ASSERT(536, stageMapSizeTypeNo != MAP_SIZE_TYPE_STAGE); s32 mapDispType = dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()); if (mapDispType == 1) { uvar6 = 1; + JUT_ASSERT(544, stageMapSizeTypeNo != MAP_SIZE_TYPE_SMALL); + JUT_ASSERT(545, stageMapSizeTypeNo != MAP_SIZE_TYPE_BIG); } else if (uvar6 == 7) { uvar6 = stageMapSizeTypeNo; } int mapDispSizeType = 0; + + #if DEBUG + if (g_meter_mapHIO.mSizeTypeChange) { + uvar6 = g_meter_mapHIO.field_0x18; + } + #endif + switch (uvar6) { case 0: break; @@ -113,9 +239,12 @@ int dMeterMap_c::getMapDispSizeTypeNo() { } break; case 2: - if (mapDispType != 1) { - mapDispSizeType = 2; + if (mapDispType == 1) { + JUT_ASSERT(573, mapDispType != dStage_stagInfo_c::UB_D_MAP); + break; } + + mapDispSizeType = 2; break; case 3: if (mapDispType == 1) { @@ -138,31 +267,58 @@ bool dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo() { } f32 dMeterMap_c::getMapDispEdgeBottomY_Layout() { + #if (PLATFORM_WII || PLATFORM_SHIELD) + if (dComIfGs_getOptPointer() == 0) { + return g_meter_mapHIO.mGcY; + } + + if (mDoGph_gInf_c::isWide()) { + return g_meter_mapHIO.mWideY; + } + + return g_meter_mapHIO.mNormalY; + #else return 421.0f; + #endif } bool dMeterMap_c::isEventRunCheck() { if (dComIfGp_event_runCheck()) { return true; - } else if (dMsgObject_isTalkNowCheck()) { + } + + if (dMsgObject_isTalkNowCheck()) { + return true; + } + + if (dComIfGp_event_runCheck() != field_0x30) { return true; } - return dComIfGp_event_runCheck() != field_0x30 ? 1 : 0; + return false; } f32 dMeterMap_c::getMapDispEdgeLeftX_Layout() { + #if (PLATFORM_WII || PLATFORM_SHIELD) + if (mDoGph_gInf_c::isWide()) { + return g_meter_mapHIO.mWideBottomLeftX + field_0x28; + } + + return g_meter_mapHIO.mNormalBottomLeftX + field_0x28; + #else return field_0x28 + 35; + #endif } f32 dMeterMap_c::getMapDispEdgeTop() { f32 tmp = 0.0f; if (mMap != NULL) { tmp = mMap->getTexSizeY() - - mMap->getTexelPerCm() * (mMap->getPackZ() - mMap->getPackPlusZ()) - + mMap->getTexelPerCm() * (mMap->getPackZ() + -mMap->getPackPlusZ()) - mMap->getTopEdgePlus(); } - return getMapDispEdgeBottomY_Layout() - tmp; + f32 rv = getMapDispEdgeBottomY_Layout() - tmp; + return rv; } s16 dMeterMap_c::getDispPosInside_OffsetX() { @@ -170,7 +326,16 @@ s16 dMeterMap_c::getDispPosInside_OffsetX() { } s16 dMeterMap_c::getDispPosOutSide_OffsetX() { - f32 dvar3 = -36.0f - mSizeW; + #if DEBUG + f32 fVar1 = g_meter_mapHIO.mHiddenRightX + mDoGph_gInf_c::getMinXF(); + #endif + f32 dvar3 = + #if DEBUG + fVar1 + #else + -36.0f + #endif + - mSizeW; f32 offset = 0.0f; if (mMap != NULL) { offset = mMap->getTexelPerCm() * mMap->getPackX(); @@ -199,11 +364,22 @@ void dMeterMap_c::setMapAlpha(u8 i_alpha) { } bool dMeterMap_c::isMapOpenCheck() { - return dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 7 ? false : true; + #if DEBUG + if (dCam_getBody()->Gear() == 1) { + return false; + } + #endif + + if (dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 7) { + return false; + } + + return true; } dMeterMap_c::dMeterMap_c(J2DScreen* i_scrn) { #if DEBUG + i_scrn = i_scrn; field_0x4_debug = 0; field_0x8_debug = 0; dMeterMap_c::mMySelfPointer = this; @@ -212,6 +388,11 @@ dMeterMap_c::dMeterMap_c(J2DScreen* i_scrn) { } dMeterMap_c::~dMeterMap_c() { +#if DEBUG + field_0x4_debug = 0; + field_0x8_debug = 0; +#endif + _delete(); } @@ -254,13 +435,19 @@ void dMeterMap_c::_create(J2DScreen* unused) { sizeX = 96; sizeY = 96; break; + default: + JUT_ASSERT(988, FALSE); + break; } mSizeW = (s16)sizeX; mSizeH = (s16)sizeY; mMap = new dMap_c(sizeX, sizeY, dispSizeW, dispSizeH); + JUT_ASSERT(999, mMap != NULL); + mMapJ2DPicture = new J2DPicture(mMap->getResTIMGPointer()); + JUT_ASSERT(1002, mMapJ2DPicture != NULL); mIsCompass = dComIfGs_isDungeonItemCompass(); mIsMap = dComIfGs_isDungeonItemMap(); @@ -298,6 +485,16 @@ void dMeterMap_c::_create(J2DScreen* unused) { field_0x2b = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118]); } +void dMeterMap_c::setDispPosOutSide() { + field_0x2d = 0; + field_0x28 = getDispPosOutSide_OffsetX(); +} + +void dMeterMap_c::setDispPosInSide() { + field_0x2d = 1; + field_0x28 = getDispPosInside_OffsetX(); +} + void dMeterMap_c::_delete() { if (mMapJ2DPicture != NULL) { delete mMapJ2DPicture; @@ -317,17 +514,26 @@ void dMeterMap_c::_delete() { } void dMeterMap_c::_move(u32 param_0) { - /* dSv_event_flag_c::M_085 - Twilight Hyrule Field - Midna dialogue right before Boss Bug's Tear of Light appears */ + /* dSv_event_flag_c::M_085 - Twilight Hyrule Field - Midna dialogue right before Boss Bug's Tear of Light appears */ if (!field_0x2b && dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118])) { if (strcmp(dComIfGp_getStartStageName(), "F_SP115") == 0) { /* dSv_event_flag_c::M_086 - Twilight Hyrule Field - Show Boss Bug's Tear of Light on the map */ dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[119]); } else { - /* dSv_event_flag_c::M_085 - Twilight Hyrule Field - Midna dialogue right before Boss Bug's Tear of Light appears */ + /* dSv_event_flag_c::M_085 - Twilight Hyrule Field - Midna dialogue right before Boss Bug's Tear of Light appears */ field_0x2b = dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118]); dMeter2Info_setPauseStatus(2); } } + + #if DEBUG + if (field_0x4_debug) { + mMap->changeTextureSize(mSizeW, mSizeH, field_0x8_debug); + mMapJ2DPicture->changeTexture(mMap->getResTIMGPointer(), 0); + field_0x4_debug = 0; + } + #endif + int stayNo = dComIfGp_roomControl_getStayNo(); field_0x14 = param_0; @@ -343,7 +549,11 @@ void dMeterMap_c::_move(u32 param_0) { if (field_0x2d != 0) { if (field_0x28 != getDispPosInside_OffsetX()) { - cLib_addCalcAngleS(&field_0x28, getDispPosInside_OffsetX(), 2, 60, 10); + if (!cLib_addCalcAngleS(&field_0x28, getDispPosInside_OffsetX(), 2, 60, 10)) { + #if DEBUG + cLib_checkBit<u8>((int)field_0x2e, 4); + #endif + } } } else { cLib_addCalcAngleS(&field_0x28, getDispPosOutSide_OffsetX(), 2, 60, 10); @@ -351,6 +561,23 @@ void dMeterMap_c::_move(u32 param_0) { Vec map_pos = dMapInfo_n::getMapPlayerPos(); + #if DEBUG + f32 sizeW = g_meter_mapHIO.field_0x28; + f32 sizeH = g_meter_mapHIO.field_0x28; + if (g_meter_mapHIO.mDebugMapExpansion) { + sizeW = 400.0f; + sizeH = 400.0f; + } + + if (g_meter_mapHIO.mMapDisplaySize && mMap != NULL) { + sizeW = g_meter_mapHIO.field_0x2a; + sizeH = g_meter_mapHIO.field_0x2a; + } + + mSizeW = (s16)sizeW; + mSizeH = (s16)sizeH; + #endif + field_0x18 = field_0x28 + getMapDispEdgeLeftX_Layout(); field_0x1c = getMapDispEdgeBottomY_Layout() - mSizeH; @@ -359,111 +586,159 @@ void dMeterMap_c::_move(u32 param_0) { } void dMeterMap_c::_draw() { + #if DEBUG + if (!g_meter_mapHIO.mMapRenderingProhibited) { + mMap->_draw(); + dComIfGd_set2DOpa(this); + } + #else mMap->_draw(); dComIfGd_set2DOpa(this); + #endif } void dMeterMap_c::draw() { - if (mMap != NULL && mMap->isDraw()) { - dComIfGp_getCurrentGrafPort()->setup2D(); + if ( + #if DEBUG + !g_meter_mapHIO.mMapDisplayProhibited && + #endif + mMap != NULL && mMap->isDraw() + ) { + J2DGrafContext* graf = dComIfGp_getCurrentGrafPort(); + graf->setup2D(); f32 sizeX = mSizeW; f32 sizeY = mSizeH; f32 tmp2 = field_0x18; f32 tmp3 = field_0x1c; - mMapJ2DPicture->setAlpha(mMapAlpha); + u8 alpha = mMapAlpha; + #if DEBUG + if (g_meter_mapHIO.mMapAlphaTest) { + alpha = g_meter_mapHIO.mAlpha; + } + #endif + mMapJ2DPicture->setAlpha(alpha); + mMapJ2DPicture->draw(tmp2, tmp3, sizeX, sizeY, false, false, false); mMapJ2DPicture->calcMtx(); } } void dMeterMap_c::ctrlShowMap() { + int unused = 0; if (!dMeter2Info_isGameStatus(1)) { if (!isMapOpenCheck() && !isEventRunCheck()) { if (dMw_LEFT_TRIGGER() || dMw_RIGHT_TRIGGER()) { Z2GetAudioMgr()->seStart(Z2SE_SYS_ERROR, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } - } else { - if (dMeter2Info_getPauseStatus() == 1 || dMeter2Info_getPauseStatus() == 7 || - dMeter2Info_getPauseStatus() == 3 || dMeter2Info_getPauseStatus() == 5 || - dMeter2Info_getPauseStatus() == 2 || dMeter2Info_getPauseStatus() == 6) - { + return; + } + + if (dMeter2Info_getPauseStatus() == 1 || dMeter2Info_getPauseStatus() == 7 || + dMeter2Info_getPauseStatus() == 3 || dMeter2Info_getPauseStatus() == 5 || + dMeter2Info_getPauseStatus() == 2 || dMeter2Info_getPauseStatus() == 6) + { + #if !DEBUG + if (dMeter2Info_getMapStatus() == 0 && field_0x2d == 0) { + setDispPosInsideFlg_SE_On(); + Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibration(); + dMeter2Info_setMapStatus(1); + } + #endif + + if ( + #if DEBUG + dMeter2Info_getMapStatus() == 0 && + #else + dMeter2Info_getMapStatus() == 1 && field_0x2d != 0 && + #endif + isFmapScreen() + ) { + switch (dMeter2Info_getPauseStatus()) { + case 1: + dMeter2Info_setMapStatus(4); + break; + case 7: + dMeter2Info_setMapStatus(7); + break; + case 3: + dMeter2Info_setMapStatus(8); + break; + case 5: + dMeter2Info_setMapStatus(9); + break; + case 2: + dMeter2Info_setMapStatus(5); + break; + case 6: + dMeter2Info_setMapStatus(3); + break; + } + + dMeter2Info_setMapKeyDirection(0x400); + Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + #if !DEBUG + dMeter2Info_set2DVibration(); + #endif + } + dMeter2Info_resetPauseStatus(); + } else if (dMeter2Info_getPauseStatus() == 4) { + dMeter2Info_resetPauseStatus(); + if (isDmapScreen()) { + #if !DEBUG if (dMeter2Info_getMapStatus() == 0 && field_0x2d == 0) { setDispPosInsideFlg_SE_On(); - Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, - -1.0f, 0); + Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, + -1.0f, -1.0f, 0); dMeter2Info_set2DVibration(); dMeter2Info_setMapStatus(1); } - - if (dMeter2Info_getMapStatus() == 1 && field_0x2d != 0 && isFmapScreen()) { - switch (dMeter2Info_getPauseStatus()) { - case 1: - dMeter2Info_setMapStatus(4); - break; - case 7: - dMeter2Info_setMapStatus(7); - break; - case 3: - dMeter2Info_setMapStatus(8); - break; - case 5: - dMeter2Info_setMapStatus(9); - break; - case 2: - dMeter2Info_setMapStatus(5); - break; - case 6: - dMeter2Info_setMapStatus(3); - break; - } + #endif + + if ( + #if DEBUG + dMeter2Info_getMapStatus() == 0 + #else + dMeter2Info_getMapStatus() == 1 && field_0x2d != 0 + #endif + ) { + dMeter2Info_setMapStatus(6); dMeter2Info_setMapKeyDirection(0x400); - Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, - -1.0f, 0); + Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, + -1.0f, -1.0f, 0); dMeter2Info_set2DVibration(); } - dMeter2Info_resetPauseStatus(); - } else { - if (dMeter2Info_getPauseStatus() == 4) { - dMeter2Info_resetPauseStatus(); - if (isDmapScreen()) { - if (dMeter2Info_getMapStatus() == 0 && field_0x2d == 0) { - setDispPosInsideFlg_SE_On(); - Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, - -1.0f, -1.0f, 0); - dMeter2Info_set2DVibration(); - dMeter2Info_setMapStatus(1); - } - - if (dMeter2Info_getMapStatus() == 1 && field_0x2d != 0) { - dMeter2Info_setMapStatus(6); - dMeter2Info_setMapKeyDirection(0x400); - Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, - -1.0f, -1.0f, 0); - dMeter2Info_set2DVibration(); - } - } - - } else if (!mDoCPd_c::getTrigUp(PAD_1) && !mDoCPd_c::getTrigDown(PAD_1)) { - keyCheck(); - } } - if (mIsCompass != dComIfGs_isDungeonItemCompass()) { - if (!isDispPosInsideFlg()) { - setDispPosInsideFlg_SE_On(); - dMeter2Info_setMapStatus(1); - } - mIsCompass = dComIfGs_isDungeonItemCompass(); + } else if (!mDoCPd_c::getTrigUp(PAD_1) && !mDoCPd_c::getTrigDown(PAD_1)) { + keyCheck(); + } + + if (mIsCompass != dComIfGs_isDungeonItemCompass()) { + if (!isDispPosInsideFlg()) { + setDispPosInsideFlg_SE_On(); + #if !DEBUG + dMeter2Info_setMapStatus(1); + #endif } - if (mIsMap != dComIfGs_isDungeonItemMap()) { - if (!isDispPosInsideFlg()) { - setDispPosInsideFlg_SE_On(); - dMeter2Info_setMapStatus(1); - } - mIsMap = dComIfGs_isDungeonItemMap(); + mIsCompass = dComIfGs_isDungeonItemCompass(); + unused = 0; + } + + if (mIsMap != dComIfGs_isDungeonItemMap()) { + if (!isDispPosInsideFlg()) { + setDispPosInsideFlg_SE_On(); + #if !DEBUG + dMeter2Info_setMapStatus(1); + #endif } + + mIsMap = dComIfGs_isDungeonItemMap(); + unused = 0; } } } @@ -515,7 +790,11 @@ bool dMeterMap_c::isFmapScreen() { } bool dMeterMap_c::isDmapScreen() { - return dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 1 ? 1 : 0; + if (dStage_stagInfo_GetUpButton(dComIfGp_getStage()->getStagInfo()) == 1) { + return true; + } + + return false; } void dMeterMap_c::meter_map_move(u32 param_0) { @@ -529,32 +808,38 @@ void dMeterMap_c::meter_map_move(u32 param_0) { dMeter2Info_set2DVibration(); } dMeter2Info_resetPauseStatus(); - } else { - if (dMw_LEFT_TRIGGER() && !dComIfGp_event_runCheck() && - !dMsgObject_isTalkNowCheck() && - (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) - { - if (dMeter2Info_getMapStatus() == 0 && !dMeter2Info_isSub2DStatus(1)) { - if (isFmapScreen() || isDmapScreen()) { - dMeter2Info_setMapStatus(2); - dMeter2Info_setMapKeyDirection(0x200); - Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, - -1.0f, 0); - dMeter2Info_set2DVibration(); - } + } else if ( + #if DEBUG + dMw_RIGHT_TRIGGER() && + #else + dMw_LEFT_TRIGGER() && + #endif + !dComIfGp_event_runCheck() && + !dMsgObject_isTalkNowCheck() && + (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) + { + #if !DEBUG + if (dMeter2Info_getMapStatus() == 0 && !dMeter2Info_isSub2DStatus(1)) { + if (isFmapScreen() || isDmapScreen()) { + dMeter2Info_setMapStatus(2); + dMeter2Info_setMapKeyDirection(0x200); + Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibration(); } - } else if (dMw_RIGHT_TRIGGER() && !dComIfGp_event_runCheck() && - !dMsgObject_isTalkNowCheck() && - (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) - { - if (!dMeter2Info_isSub2DStatus(1)) { - if (isFmapScreen() || isDmapScreen()) { - dMeter2Info_setMapStatus(2); - dMeter2Info_setMapKeyDirection(0x400); - Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, - -1.0f, 0); - dMeter2Info_set2DVibration(); - } + } + } else if (dMw_RIGHT_TRIGGER() && !dComIfGp_event_runCheck() && + !dMsgObject_isTalkNowCheck() && + (dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) + { + #endif + if (!dMeter2Info_isSub2DStatus(1)) { + if (isFmapScreen() || isDmapScreen()) { + dMeter2Info_setMapStatus(2); + dMeter2Info_setMapKeyDirection(0x400); + Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, + -1.0f, 0); + dMeter2Info_set2DVibration(); } } } |
