From 3aafe7fa1637bbfb3f4518b3e428af770daa0f07 Mon Sep 17 00:00:00 2001 From: TakaRikka Date: Wed, 6 May 2026 04:19:00 -0700 Subject: [PATCH] more mirror mode map fixes --- src/d/d_map.cpp | 8 ++++---- src/d/d_menu_dmap.cpp | 5 ++++- src/d/d_menu_dmap_map.cpp | 4 ++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/d/d_map.cpp b/src/d/d_map.cpp index d4e5a98888..25d792f309 100644 --- a/src/d/d_map.cpp +++ b/src/d/d_map.cpp @@ -1595,7 +1595,7 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { calcMapCmPerTexel(field_0x80, &field_0x58); getPack(field_0x80, &mPackX, &mPackZ); - mCenterX += mPackX; + mCenterX += IF_DUSK(dusk::getSettings().game.enableMirrorMode ? -mPackX :) mPackX; mCenterZ -= mPackZ; mCenterX += field_0x64; mCenterZ += mPackPlusZ; @@ -1657,7 +1657,7 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { calcMapCmPerTexel(field_0x80, &field_0x58); getPack(field_0x80, &mPackX, &mPackZ); - mCenterX += mPackX; + mCenterX += IF_DUSK(dusk::getSettings().game.enableMirrorMode ? -mPackX :) mPackX; mCenterZ -= mPackZ; } break; @@ -1737,7 +1737,7 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { calcMapCmPerTexel(field_0x80, &field_0x58); getPack(field_0x80, &mPackX, &mPackZ); - mCenterX += mPackX; + mCenterX += IF_DUSK(dusk::getSettings().game.enableMirrorMode ? -mPackX :) mPackX; mCenterZ -= mPackZ; field_0x8f = 4; #if DEBUG @@ -1829,7 +1829,7 @@ void dMap_c::_move(f32 i_centerX, f32 i_centerZ, int i_roomNo, f32 param_3) { sp14 += temp_f31_2 * (spC - sp14); sp10 += temp_f31_2 * (sp8 - sp10); - mCenterX += sp14; + mCenterX += IF_DUSK(dusk::getSettings().game.enableMirrorMode ? -sp14 :) sp14; mCenterZ -= sp10; break; } diff --git a/src/d/d_menu_dmap.cpp b/src/d/d_menu_dmap.cpp index 8ef7fadd4b..b39c9bb287 100644 --- a/src/d/d_menu_dmap.cpp +++ b/src/d/d_menu_dmap.cpp @@ -942,7 +942,10 @@ void dMenu_DmapBg_c::draw() { f32 local_28c = mpBackTexture->getBounds().i.x; mpBackTexture->setBlackWhite(color_black, color_white); mpBackTexture->draw(local_28c, field_0xd94 + mpBackTexture->getBounds().i.y, mpBackTexture->getWidth(), - mpBackTexture->getHeight(), false, false, false); + mpBackTexture->getHeight(), + IF_DUSK(dusk::getSettings().game.enableMirrorMode ? true :) false, + false, + false); grafContext->scissor(field_0xd94 + mDoGph_gInf_c::getMinXF(), scissor_top, mDoGph_gInf_c::getWidthF(), diff --git a/src/d/d_menu_dmap_map.cpp b/src/d/d_menu_dmap_map.cpp index 9100a7d63a..0bb9717952 100644 --- a/src/d/d_menu_dmap_map.cpp +++ b/src/d/d_menu_dmap_map.cpp @@ -368,7 +368,7 @@ void dMenu_StageMapCtrl_c::initGetTreasureList(u8 param_0, s8 param_1) { } inline static s16 rightModeCnvRot(s16 param_0) { - return param_0; + return IF_DUSK(dusk::getSettings().game.enableMirrorMode ? -param_0 :) param_0; } bool dMenu_StageMapCtrl_c::getTreasureList(f32* o_posX, f32* o_posY, s8* param_2, u8* o_swbit, @@ -405,7 +405,7 @@ bool dMenu_StageMapCtrl_c::getTreasureList(f32* o_posX, f32* o_posY, s8* param_2 } inline static f32 rightModeCnvPos(f32 param_0) { - return param_0; + return IF_DUSK(dusk::getSettings().game.enableMirrorMode ? -param_0 :) param_0; } void dMenu_StageMapCtrl_c::cnvPosTo2Dpos(f32 param_0, f32 param_1, f32* param_2,