1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-02 09:03:37 +00:00

Code refactor: move duplicated code from RDP_TexRect and RDP_TexRectFlip to a function.

This commit is contained in:
Sergey Lipskiy 2016-04-14 13:05:19 +06:00
parent c095fea58a
commit c68bd7ca75

View File

@ -280,7 +280,8 @@ void _getTexRectParams(u32 & w2, u32 & w3)
}
}
void RDP_TexRectFlip( u32 w0, u32 w1 )
static
void _TexRect( u32 w0, u32 w1, bool flip )
{
u32 w2, w3;
_getTexRectParams(w2, w3);
@ -300,30 +301,17 @@ void RDP_TexRectFlip( u32 w0, u32 w1 )
_FIXED2FLOAT((s16)_SHIFTR(w2, 0, 16), 5), // t
_FIXED2FLOAT((s16)_SHIFTR(w3, 16, 16), 10), // dsdx
_FIXED2FLOAT((s16)_SHIFTR(w3, 0, 16), 10), // dsdy
true); //flip
flip);
}
void RDP_TexRectFlip( u32 w0, u32 w1 )
{
_TexRect(w0, w1, true);
}
void RDP_TexRect( u32 w0, u32 w1 )
{
u32 w2, w3;
_getTexRectParams(w2, w3);
const u32 ulx = _SHIFTR(w1, 12, 12);
const u32 uly = _SHIFTR(w1, 0, 12);
const u32 lrx = _SHIFTR(w0, 12, 12);
const u32 lry = _SHIFTR(w0, 0, 12);
if ((lrx >> 2) < (ulx >> 2) || (lry >> 2) < (uly >> 2))
return;
gDPTextureRectangle(
_FIXED2FLOAT(ulx, 2),
_FIXED2FLOAT(uly, 2),
_FIXED2FLOAT(lrx, 2),
_FIXED2FLOAT(lry, 2),
_SHIFTR(w1, 24, 3), // tile
_FIXED2FLOAT((s16)_SHIFTR(w2, 16, 16), 5), // s
_FIXED2FLOAT((s16)_SHIFTR(w2, 0, 16), 5), // t
_FIXED2FLOAT((s16)_SHIFTR(w3, 16, 16), 10), // dsdx
_FIXED2FLOAT((s16)_SHIFTR(w3, 0, 16), 10), // dsdy
false); // flip
_TexRect(w0, w1, false);
}
void RDP_TriFill( u32 _w0, u32 _w1 )