1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00

Fix gDPSetConvert.

This commit is contained in:
Sergey Lipskiy 2014-10-28 10:09:43 +06:00
parent ad2de9ba77
commit 6961e8c810
2 changed files with 11 additions and 7 deletions

View File

@ -178,7 +178,7 @@ void RDP_SetConvert( u32 w0, u32 w1 )
{
gDPSetConvert( _SHIFTR( w0, 13, 9 ), // k0
_SHIFTR( w0, 4, 9 ), // k1
_SHIFTL( w0, 5, 4 ) | _SHIFTR( w1, 25, 5 ), // k2
_SHIFTL( w0, 5, 4 ) | _SHIFTR( w1, 27, 5 ), // k2
_SHIFTR( w1, 18, 9 ), // k3
_SHIFTR( w1, 9, 9 ), // k4
_SHIFTR( w1, 0, 9 ) ); // k5

16
gDP.cpp
View File

@ -901,12 +901,16 @@ void gDPFillRectangle( s32 ulx, s32 uly, s32 lrx, s32 lry )
void gDPSetConvert( s32 k0, s32 k1, s32 k2, s32 k3, s32 k4, s32 k5 )
{
gDP.convert.k0 = k0;
gDP.convert.k1 = k1;
gDP.convert.k2 = k2;
gDP.convert.k3 = k3;
gDP.convert.k4 = k4;
gDP.convert.k5 = k5;
// angrylion's macro
#define SRA(exp, sa) ((signed)(exp) >> (sa))
#define SIGN(i, b) SRA((i) << (32 - (b)), (32 - (b)))
gDP.convert.k0 = SIGN(k0, 9);
gDP.convert.k1 = SIGN(k1, 9);
gDP.convert.k2 = SIGN(k2, 9);
gDP.convert.k3 = SIGN(k3, 9);
gDP.convert.k4 = SIGN(k4, 9);
gDP.convert.k5 = SIGN(k5, 9);
}
void gDPSetKeyR( u32 cR, u32 sR, u32 wR )