mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 14:53:52 +00:00
Match up rects when using mailbox
This commit is contained in:
@@ -883,6 +883,8 @@ void FinishGliderMailingLeft (gliderPtr thisGlider)
|
|||||||
FlagGliderNormal(thisGlider);
|
FlagGliderNormal(thisGlider);
|
||||||
thisGlider->enteredRect = thisGlider->dest;
|
thisGlider->enteredRect = thisGlider->dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------- FinishGliderMailingRight
|
//-------------------------------------------------------------- FinishGliderMailingRight
|
||||||
@@ -921,6 +923,8 @@ void FinishGliderMailingRight (gliderPtr thisGlider)
|
|||||||
FlagGliderNormal(thisGlider);
|
FlagGliderNormal(thisGlider);
|
||||||
thisGlider->enteredRect = thisGlider->dest;
|
thisGlider->enteredRect = thisGlider->dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------- FinishGliderDuctingIn
|
//-------------------------------------------------------------- FinishGliderDuctingIn
|
||||||
@@ -1015,9 +1019,15 @@ void MoveGliderInMailLeft (gliderPtr thisGlider)
|
|||||||
if (onePlayerLeft)
|
if (onePlayerLeft)
|
||||||
{
|
{
|
||||||
if (playerDead == kPlayer1)
|
if (playerDead == kPlayer1)
|
||||||
|
{
|
||||||
MoveMailToMail(&theGlider2);
|
MoveMailToMail(&theGlider2);
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
MoveMailToMail(&theGlider);
|
MoveMailToMail(&theGlider);
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1025,17 +1035,26 @@ void MoveGliderInMailLeft (gliderPtr thisGlider)
|
|||||||
{
|
{
|
||||||
otherPlayerEscaped = kNoOneEscaped;
|
otherPlayerEscaped = kNoOneEscaped;
|
||||||
MoveMailToMail(thisGlider);
|
MoveMailToMail(thisGlider);
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
otherPlayerEscaped = kPlayerMailedOut;
|
otherPlayerEscaped = kPlayerMailedOut;
|
||||||
RefreshScoreboard(kEscapedTitleMode);
|
RefreshScoreboard(kEscapedTitleMode);
|
||||||
FlagGliderInLimbo(thisGlider, true);
|
FlagGliderInLimbo(thisGlider, true);
|
||||||
|
|
||||||
|
// GP: Match rects
|
||||||
|
thisGlider->dest.right = thisGlider->dest.left + (thisGlider->src.right - thisGlider->src.left);
|
||||||
|
thisGlider->mask.right = thisGlider->mask.left + (thisGlider->src.right - thisGlider->src.left);
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
MoveMailToMail(thisGlider);
|
MoveMailToMail(thisGlider);
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1043,8 +1062,12 @@ void MoveGliderInMailLeft (gliderPtr thisGlider)
|
|||||||
thisGlider->src.right = thisGlider->src.left + hNotClipped;
|
thisGlider->src.right = thisGlider->src.left + hNotClipped;
|
||||||
thisGlider->mask.right = thisGlider->mask.left + hNotClipped;
|
thisGlider->mask.right = thisGlider->mask.left + hNotClipped;
|
||||||
thisGlider->destShadow.right = thisGlider->dest.right;
|
thisGlider->destShadow.right = thisGlider->dest.right;
|
||||||
|
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------- MoveGliderInMailRight
|
//-------------------------------------------------------------- MoveGliderInMailRight
|
||||||
@@ -1122,6 +1145,10 @@ void MoveGliderInMailRight (gliderPtr thisGlider)
|
|||||||
otherPlayerEscaped = kPlayerMailedOut;
|
otherPlayerEscaped = kPlayerMailedOut;
|
||||||
RefreshScoreboard(kEscapedTitleMode);
|
RefreshScoreboard(kEscapedTitleMode);
|
||||||
FlagGliderInLimbo(thisGlider, true);
|
FlagGliderInLimbo(thisGlider, true);
|
||||||
|
|
||||||
|
// GP: Match rects
|
||||||
|
thisGlider->dest.left = thisGlider->dest.right + (thisGlider->src.left - thisGlider->src.right);
|
||||||
|
thisGlider->mask.left = thisGlider->mask.right + (thisGlider->src.left - thisGlider->src.right);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1136,6 +1163,8 @@ void MoveGliderInMailRight (gliderPtr thisGlider)
|
|||||||
thisGlider->destShadow.left = thisGlider->dest.left;
|
thisGlider->destShadow.left = thisGlider->dest.left;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(thisGlider->src.right - thisGlider->src.left == thisGlider->dest.right - thisGlider->dest.left);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------- DeckGliderInFoil
|
//-------------------------------------------------------------- DeckGliderInFoil
|
||||||
|
@@ -98,6 +98,9 @@ void ReadyGliderFromTransit (gliderPtr thisGlider, short toWhat)
|
|||||||
thisGlider->destShadow.right = thisGlider->dest.right;
|
thisGlider->destShadow.right = thisGlider->dest.right;
|
||||||
thisGlider->whole = thisGlider->dest;
|
thisGlider->whole = thisGlider->dest;
|
||||||
thisGlider->wholeShadow = thisGlider->destShadow;
|
thisGlider->wholeShadow = thisGlider->destShadow;
|
||||||
|
// GP: Match rects
|
||||||
|
thisGlider->src.right = thisGlider->src.left;
|
||||||
|
thisGlider->mask.right = thisGlider->mask.left;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kLinkedToRightMailbox:
|
case kLinkedToRightMailbox:
|
||||||
@@ -114,6 +117,9 @@ void ReadyGliderFromTransit (gliderPtr thisGlider, short toWhat)
|
|||||||
thisGlider->destShadow.right = thisGlider->dest.right;
|
thisGlider->destShadow.right = thisGlider->dest.right;
|
||||||
thisGlider->whole = thisGlider->dest;
|
thisGlider->whole = thisGlider->dest;
|
||||||
thisGlider->wholeShadow = thisGlider->destShadow;
|
thisGlider->wholeShadow = thisGlider->destShadow;
|
||||||
|
// GP: Match rects
|
||||||
|
thisGlider->src.left = thisGlider->src.right;
|
||||||
|
thisGlider->mask.left = thisGlider->mask.right;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kLinkedToCeilingDuct:
|
case kLinkedToCeilingDuct:
|
||||||
|
Reference in New Issue
Block a user