mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-04 10:03:36 +00:00
Fix implementation of 0xD5 (Special_1) command for F3DEX2 ucode.
olivieryuyu found that 0xD5 command, when presents in ucode, updates combined matrix. I could not remeber, which game uses implementation of F3DEX2_Special_1 with gSPDlistCount call. Probably such game does not exists and this code was added by mistake. I removed it.
This commit is contained in:
parent
187f9ef390
commit
8985e38bc0
|
@ -138,12 +138,8 @@ void F3DEX2_DMAIO( u32 w0, u32 w1 )
|
|||
|
||||
void F3DEX2_Special_1( u32 w0, u32 w1 )
|
||||
{
|
||||
if (GBI.isCombineMatrices()) {
|
||||
const u32 mode = _SHIFTR( w0, 0, 8 );
|
||||
gSPCombineMatrices(mode);
|
||||
} else {
|
||||
gSPDlistCount(_SHIFTR( w0, 0, 8 ), w1);
|
||||
}
|
||||
const u32 mode = _SHIFTR( w0, 0, 8 );
|
||||
gSPCombineMatrices(mode);
|
||||
}
|
||||
|
||||
void F3DEX2_Special_2( u32 w0, u32 w1 )
|
||||
|
|
|
@ -251,7 +251,6 @@ void GBIInfo::loadMicrocode(u32 uc_start, u32 uc_dstart, u16 uc_dsize)
|
|||
current.negativeY = true;
|
||||
current.textureGen = true;
|
||||
current.texturePersp = true;
|
||||
current.combineMatrices = false;
|
||||
current.type = NONE;
|
||||
|
||||
// See if we can identify it by CRC
|
||||
|
@ -293,11 +292,8 @@ void GBIInfo::loadMicrocode(u32 uc_start, u32 uc_dstart, u16 uc_dsize)
|
|||
if (strncmp( &uc_str[14], "F3D", 3 ) == 0) {
|
||||
if (uc_str[28] == '1' || strncmp(&uc_str[28], "0.95", 4) == 0 || strncmp(&uc_str[28], "0.96", 4) == 0)
|
||||
type = F3DEX;
|
||||
else if (uc_str[31] == '2') {
|
||||
else if (uc_str[31] == '2')
|
||||
type = F3DEX2;
|
||||
if (uc_str[35] == 'H')
|
||||
current.combineMatrices = true;
|
||||
}
|
||||
if (strncmp(&uc_str[14], "F3DF", 4) == 0)
|
||||
current.textureGen = false;
|
||||
else if (strncmp(&uc_str[14], "F3DZEX", 6) == 0) {
|
||||
|
|
|
@ -501,7 +501,6 @@ struct MicrocodeInfo
|
|||
bool negativeY;
|
||||
bool textureGen;
|
||||
bool texturePersp;
|
||||
bool combineMatrices;
|
||||
};
|
||||
|
||||
struct GBIInfo
|
||||
|
@ -519,7 +518,6 @@ struct GBIInfo
|
|||
bool isNegativeY() const { return m_pCurrent != nullptr ? m_pCurrent->negativeY : true; }
|
||||
bool isTextureGen() const { return m_pCurrent != nullptr ? m_pCurrent->textureGen: true; }
|
||||
bool isTexturePersp() const { return m_pCurrent != nullptr ? m_pCurrent->texturePersp: true; }
|
||||
bool isCombineMatrices() const { return m_pCurrent != nullptr ? m_pCurrent->combineMatrices: false; }
|
||||
|
||||
private:
|
||||
void _flushCommands();
|
||||
|
|
|
@ -1768,9 +1768,6 @@ void gSPInsertMatrix( u32 where, u32 num )
|
|||
|
||||
f32 fraction, integer;
|
||||
|
||||
if (gSP.changed & CHANGED_MATRIX)
|
||||
_gSPCombineMatrices();
|
||||
|
||||
if ((where & 0x3) || (where > 0x3C))
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user