From c68bd7ca755d28541279d385a19b2de7e8fce52a Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Thu, 14 Apr 2016 13:05:19 +0600 Subject: [PATCH] Code refactor: move duplicated code from RDP_TexRect and RDP_TexRectFlip to a function. --- src/RDP.cpp | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/src/RDP.cpp b/src/RDP.cpp index 0bd5f3c3..bf312892 100644 --- a/src/RDP.cpp +++ b/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; _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 )