mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-04 10:03:36 +00:00
Correct reject box implementation: add special flag for it in gDP.changed flags.
Fixed Rejection process issues #1954
This commit is contained in:
parent
29575624b9
commit
0d3c3c151d
|
@ -1553,13 +1553,14 @@ bool GraphicsDrawer::isRejected(s32 _v0, s32 _v1, s32 _v2) const
|
|||
return false;
|
||||
|
||||
static gDPScissor rejectBox;
|
||||
if (gDP.changed & CHANGED_SCISSOR) {
|
||||
if ((gDP.changed & CHANGED_REJECT_BOX) != 0) {
|
||||
const f32 scissorWidth2 = (gDP.scissor.lrx - gDP.scissor.ulx) * (gSP.clipRatio - 1) * 0.5f;
|
||||
const f32 scissorHeight2 = (gDP.scissor.lry - gDP.scissor.uly) * (gSP.clipRatio - 1) * 0.5f;
|
||||
rejectBox.ulx = gDP.scissor.ulx - scissorWidth2;
|
||||
rejectBox.lrx = gDP.scissor.lrx + scissorWidth2;
|
||||
rejectBox.uly = gDP.scissor.uly - scissorHeight2;
|
||||
rejectBox.lry = gDP.scissor.lry + scissorHeight2;
|
||||
gDP.changed ^= CHANGED_REJECT_BOX;
|
||||
}
|
||||
s32 verts[3] = { _v0, _v1, _v2 };
|
||||
for (u32 i = 0; i < 3; ++i) {
|
||||
|
|
|
@ -675,7 +675,7 @@ void gDPSetScissor( u32 mode, f32 ulx, f32 uly, f32 lrx, f32 lry )
|
|||
gDP.scissor.lrx = lrx;
|
||||
gDP.scissor.lry = lry;
|
||||
|
||||
gDP.changed |= CHANGED_SCISSOR;
|
||||
gDP.changed |= CHANGED_SCISSOR | CHANGED_REJECT_BOX;
|
||||
|
||||
#ifdef DEBUG_DUMP
|
||||
DebugMsg( DEBUG_NORMAL, "gDPSetScissor( %s, %.2f, %.2f, %.2f, %.2f );\n",
|
||||
|
|
Loading…
Reference in New Issue
Block a user