mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-08-20 09:57:09 +00:00
Refactor safe zone calculations in UI components for consistency
Updated the safe zone calculations across multiple UI components to ensure symmetry in split viewports. Removed unnecessary assignments and added comments for clarity. Modified the repositionHud function to include an additional parameter for better handling of HUD positioning in split-screen scenarios.
This commit is contained in:
parent
bcc8fe25ea
commit
0edb9f81ed
|
|
@ -93,18 +93,22 @@ void UIComponent_Tooltips::updateSafeZone()
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_TOP:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_TOP:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM:
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT:
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeBottom = getSafeZoneHalfHeight();
|
||||||
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT:
|
||||||
safeRight = getSafeZoneHalfWidth();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeBottom = getSafeZoneHalfHeight();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
|
|
@ -112,22 +116,22 @@ void UIComponent_Tooltips::updateSafeZone()
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT:
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT:
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_FULLSCREEN:
|
case C4JRender::VIEWPORT_TYPE_FULLSCREEN:
|
||||||
default:
|
default:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeBottom = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
setSafeZone(safeTop, safeBottom, safeLeft, safeRight);
|
setSafeZone(safeTop, safeBottom, safeLeft, safeRight);
|
||||||
|
|
|
||||||
|
|
@ -172,15 +172,22 @@ void UIScene::updateSafeZone()
|
||||||
{
|
{
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_TOP:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_TOP:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM:
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
// safeTop mirrors SPLIT_TOP for visual symmetry. safeBottom omitted.
|
||||||
|
safeTop = getSafeZoneHalfHeight();
|
||||||
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT:
|
||||||
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT:
|
||||||
safeRight = getSafeZoneHalfWidth();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
|
|
@ -188,22 +195,22 @@ void UIScene::updateSafeZone()
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT:
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT:
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_FULLSCREEN:
|
case C4JRender::VIEWPORT_TYPE_FULLSCREEN:
|
||||||
default:
|
default:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeBottom = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
setSafeZone(safeTop, safeBottom, safeLeft, safeRight);
|
setSafeZone(safeTop, safeBottom, safeLeft, safeRight);
|
||||||
|
|
|
||||||
|
|
@ -65,22 +65,26 @@ void UIScene_HUD::updateSafeZone()
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_TOP:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_TOP:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM:
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
// safeTop mirrors SPLIT_TOP so both players have the same vertical inset
|
||||||
|
// from their viewport's top edge (split divider), keeping GUI symmetrical.
|
||||||
|
// safeBottom is intentionally omitted: it would shift m_Hud.y upward in
|
||||||
|
// ActionScript, placing the hotbar too high relative to SPLIT_TOP.
|
||||||
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT:
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeBottom = getSafeZoneHalfHeight();
|
||||||
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT:
|
case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT:
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeBottom = getSafeZoneHalfHeight();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
|
|
@ -88,22 +92,22 @@ void UIScene_HUD::updateSafeZone()
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT:
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT:
|
case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT:
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
case C4JRender::VIEWPORT_TYPE_FULLSCREEN:
|
case C4JRender::VIEWPORT_TYPE_FULLSCREEN:
|
||||||
default:
|
default:
|
||||||
safeTop = getSafeZoneHalfHeight();
|
safeTop = getSafeZoneHalfHeight();
|
||||||
safeBottom = getSafeZoneHalfHeight();
|
safeBottom = getSafeZoneHalfHeight();
|
||||||
safeLeft = getSafeZoneHalfWidth();
|
safeLeft = getSafeZoneHalfWidth();
|
||||||
safeRight = getSafeZoneHalfWidth();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
setSafeZone(safeTop, safeBottom, safeLeft, safeRight);
|
setSafeZone(safeTop, safeBottom, safeLeft, safeRight);
|
||||||
|
|
@ -734,7 +738,7 @@ void UIScene_HUD::render(S32 width, S32 height, C4JRender::eViewportType viewpor
|
||||||
|
|
||||||
IggyPlayerSetDisplaySize( getMovie(), (S32)(m_movieWidth * scale), (S32)(m_movieHeight * scale) );
|
IggyPlayerSetDisplaySize( getMovie(), (S32)(m_movieWidth * scale), (S32)(m_movieHeight * scale) );
|
||||||
|
|
||||||
repositionHud(tileWidth, tileHeight, scale);
|
repositionHud(tileWidth, tileHeight, scale, needsYTile);
|
||||||
|
|
||||||
m_renderWidth = tileWidth;
|
m_renderWidth = tileWidth;
|
||||||
m_renderHeight = tileHeight;
|
m_renderHeight = tileHeight;
|
||||||
|
|
@ -805,7 +809,7 @@ void UIScene_HUD::handleTimerComplete(int id)
|
||||||
//setVisible(anyVisible);
|
//setVisible(anyVisible);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UIScene_HUD::repositionHud(S32 tileWidth, S32 tileHeight, F32 scale)
|
void UIScene_HUD::repositionHud(S32 tileWidth, S32 tileHeight, F32 scale, bool needsYTile)
|
||||||
{
|
{
|
||||||
if(!m_bSplitscreen) return;
|
if(!m_bSplitscreen) return;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -176,5 +176,5 @@ protected:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void repositionHud(S32 tileWidth, S32 tileHeight, F32 scale);
|
void repositionHud(S32 tileWidth, S32 tileHeight, F32 scale, bool needsYTile);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue