Fix missing instructions

This commit is contained in:
Christian Semmler
2023-10-19 07:41:17 -04:00
parent 553734c9f6
commit 28d497966b

View File

@@ -53,35 +53,39 @@ void MxRegion::vtable18(MxRect32 &p_rect)
cursor.Prepend(newTopBottom); cursor.Prepend(newTopBottom);
rectCopy.m_top = rectCopy.m_bottom; rectCopy.m_top = rectCopy.m_bottom;
} }
else if (rectCopy.m_top < topBottom->m_bottom) { else {
if (rectCopy.m_top < topBottom->m_top) { MxS32 *bottom = &topBottom->m_bottom;
MxRect32 topBottomRect(
MxPoint32(rectCopy.m_left, rectCopy.m_top),
MxSize32(rectCopy.m_right, topBottom->m_top)
);
MxRegionTopBottom *newTopBottom = new MxRegionTopBottom(topBottomRect); if (rectCopy.m_top < *bottom) {
cursor.Prepend(newTopBottom); if (rectCopy.m_top < topBottom->m_top) {
rectCopy.m_top = topBottom->m_top; MxRect32 topBottomRect(
} MxPoint32(rectCopy.m_left, rectCopy.m_top),
else if (topBottom->m_top < rectCopy.m_top) { MxSize32(rectCopy.m_right, topBottom->m_top)
MxRegionTopBottom *newTopBottom = topBottom->Clone(); );
newTopBottom->m_bottom = rectCopy.m_top;
topBottom->m_top = rectCopy.m_top;
cursor.Prepend(newTopBottom);
}
if (rectCopy.m_bottom < topBottom->m_top) { MxRegionTopBottom *newTopBottom = new MxRegionTopBottom(topBottomRect);
MxRegionTopBottom *newTopBottom = topBottom->Clone(); cursor.Prepend(newTopBottom);
newTopBottom->m_bottom = rectCopy.m_bottom; rectCopy.m_top = topBottom->m_top;
topBottom->m_top = rectCopy.m_bottom; }
newTopBottom->FUN_100c5280(rectCopy.m_left, rectCopy.m_right); else if (topBottom->m_top < rectCopy.m_top) {
cursor.Prepend(newTopBottom); MxRegionTopBottom *newTopBottom = topBottom->Clone();
rectCopy.m_top = rectCopy.m_bottom; newTopBottom->m_bottom = rectCopy.m_top;
} topBottom->m_top = rectCopy.m_top;
else { cursor.Prepend(newTopBottom);
topBottom->FUN_100c5280(rectCopy.m_left, rectCopy.m_right); }
rectCopy.m_top = topBottom->m_top;
if (rectCopy.m_bottom < *bottom) {
MxRegionTopBottom *newTopBottom = topBottom->Clone();
newTopBottom->m_bottom = rectCopy.m_bottom;
topBottom->m_top = rectCopy.m_bottom;
newTopBottom->FUN_100c5280(rectCopy.m_left, rectCopy.m_right);
cursor.Prepend(newTopBottom);
rectCopy.m_top = rectCopy.m_bottom;
}
else {
topBottom->FUN_100c5280(rectCopy.m_left, rectCopy.m_right);
rectCopy.m_top = topBottom->m_top;
}
} }
} }