@@ -769,6 +769,7 @@ bool GameActivity::CreateDelivery(int player, int mode, Vector &waypoint, Actor
769
769
newDelivery.pCraft = pDeliveryCraft;
770
770
newDelivery.orderedByPlayer = player;
771
771
newDelivery.landingZone = m_LandingZone[player];
772
+ newDelivery.multiOrderYOffset = 0 ;
772
773
newDelivery.delay = m_DeliveryDelay * pDeliveryCraft->GetDeliveryDelayMultiplier ();
773
774
newDelivery.timer .Reset ();
774
775
@@ -1768,14 +1769,15 @@ void GameActivity::Update()
1768
1769
} else {
1769
1770
// Place the new marker above the cursor so that they don't intersect with each other.
1770
1771
lzOffsetY += m_AIReturnCraft[player] ? -32 .0F : 32 .0F ;
1772
+ m_LandingZone[player].m_Y = g_SceneMan.FindAltitude (m_LandingZone[player], g_SceneMan.GetSceneHeight (), 10 ) + lzOffsetY;
1771
1773
}
1772
- m_LandingZone[player].m_Y = g_SceneMan.FindAltitude (m_LandingZone[player], g_SceneMan.GetSceneHeight (), 10 ) + lzOffsetY;
1773
1774
1774
1775
if (m_pBuyGUI[player]->GetTotalOrderCost () > GetTeamFunds (team)) {
1775
1776
g_GUISound.UserErrorSound ()->Play (player);
1776
1777
m_FundsChanged[team] = true ;
1777
1778
} else {
1778
1779
CreateDelivery (player);
1780
+ m_Deliveries->rbegin ()->multiOrderYOffset = lzOffsetY;
1779
1781
}
1780
1782
// Revert the Y offset so that the cursor doesn't flinch.
1781
1783
m_LandingZone[player].m_Y -= lzOffsetY;
@@ -2223,6 +2225,14 @@ void GameActivity::DrawGUI(BITMAP *pTargetBitmap, const Vector &targetPos, int w
2223
2225
{
2224
2226
int halfWidth = 24 ;
2225
2227
landZone = itr->landingZone - targetPos;
2228
+ bool anyPlayerOnTeamIsInLandingZoneSelectViewState = false ;
2229
+ for (int player = Players::PlayerOne; player < Players::MaxPlayerCount; ++player) {
2230
+ if (GetTeamOfPlayer (player) == team && m_ViewState[player] == ViewState::LandingZoneSelect) {
2231
+ anyPlayerOnTeamIsInLandingZoneSelectViewState = true ;
2232
+ break ;
2233
+ }
2234
+ }
2235
+ if (!anyPlayerOnTeamIsInLandingZoneSelectViewState) { landZone.m_Y -= itr->multiOrderYOffset ; }
2226
2236
// Cursor
2227
2237
draw_sprite (pTargetBitmap, m_aLZCursor[cursor][frame], landZone.m_X - halfWidth, landZone.m_Y - 48 );
2228
2238
draw_sprite_h_flip (pTargetBitmap, m_aLZCursor[cursor][frame], landZone.m_X + halfWidth - m_aLZCursor[cursor][frame]->w , landZone.m_Y - 48 );
0 commit comments