mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-04 10:03:36 +00:00
Code refactor: move duplicated code from RDP_TexRect and RDP_TexRectFlip to a function.
This commit is contained in:
parent
c095fea58a
commit
c68bd7ca75
30
src/RDP.cpp
30
src/RDP.cpp
|
@ -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;
|
u32 w2, w3;
|
||||||
_getTexRectParams(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(w2, 0, 16), 5), // t
|
||||||
_FIXED2FLOAT((s16)_SHIFTR(w3, 16, 16), 10), // dsdx
|
_FIXED2FLOAT((s16)_SHIFTR(w3, 16, 16), 10), // dsdx
|
||||||
_FIXED2FLOAT((s16)_SHIFTR(w3, 0, 16), 10), // dsdy
|
_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 )
|
void RDP_TexRect( u32 w0, u32 w1 )
|
||||||
{
|
{
|
||||||
u32 w2, w3;
|
_TexRect(w0, w1, false);
|
||||||
_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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RDP_TriFill( u32 _w0, u32 _w1 )
|
void RDP_TriFill( u32 _w0, u32 _w1 )
|
||||||
|
|
Loading…
Reference in New Issue
Block a user