summaryrefslogtreecommitdiff
path: root/src/d/d_meter_map.cpp
diff options
context:
space:
mode:
authorCarco_21 <144170194+carter-ktb21@users.noreply.github.com>2025-12-20 21:06:17 -0500
committerGitHub <noreply@github.com>2025-12-20 18:06:17 -0800
commitc434c2edde34aaa21e8e186b880c3801f969d14a (patch)
treeaf1c6f72e54edec6e688e869d258c03bb23aed0e /src/d/d_meter_map.cpp
parenta1c691ec92eac461d558e22ec46c1822ebb3d75b (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.cpp557
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();
}
}
}