mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-04 10:03:36 +00:00
Separate JFG microcode from DKR one because Vertex commands differ a bit.
This commit is contained in:
parent
254f315803
commit
070f914583
22
F3DDKR.cpp
22
F3DDKR.cpp
|
@ -53,7 +53,22 @@ void F3DDKR_DMA_Vtx( u32 w0, u32 w1 )
|
|||
gSP.vertexi += n;
|
||||
}
|
||||
|
||||
void F3DDKR_DMA_Tri( u32 w0, u32 w1 )
|
||||
void F3DJFG_DMA_Vtx(u32 w0, u32 w1)
|
||||
{
|
||||
if ((w0 & F3DDKR_VTX_APPEND)) {
|
||||
if (gSP.matrix.billboard)
|
||||
gSP.vertexi = 1;
|
||||
} else
|
||||
gSP.vertexi = 0;
|
||||
|
||||
u32 n = _SHIFTR(w0, 19, 5);
|
||||
|
||||
gSPDMAVertex(w1, n, gSP.vertexi + _SHIFTR(w0, 9, 5));
|
||||
|
||||
gSP.vertexi += n;
|
||||
}
|
||||
|
||||
void F3DDKR_DMA_Tri(u32 w0, u32 w1)
|
||||
{
|
||||
gSPDMATriangles( w1, _SHIFTR( w0, 4, 12 ) );
|
||||
gSP.vertexi = 0;
|
||||
|
@ -120,3 +135,8 @@ void F3DDKR_Init()
|
|||
gSPSetDMAOffsets( 0, 0 );
|
||||
}
|
||||
|
||||
void F3DJFG_Init()
|
||||
{
|
||||
F3DDKR_Init();
|
||||
GBI_SetGBI(G_DMA_VTX, F3DDKR_DMA_VTX, F3DJFG_DMA_Vtx);
|
||||
}
|
1
F3DDKR.h
1
F3DDKR.h
|
@ -10,5 +10,6 @@
|
|||
#define F3DDKR_DMA_OFFSETS 0xBF
|
||||
|
||||
void F3DDKR_Init();
|
||||
void F3DJFG_Init();
|
||||
#endif
|
||||
|
||||
|
|
3
GBI.cpp
3
GBI.cpp
|
@ -34,7 +34,7 @@ SpecialMicrocodeInfo specialMicrocodes[] =
|
|||
|
||||
{ F3DDKR, FALSE, 0x8d91244f, "Diddy Kong Racing" },
|
||||
{ F3DDKR, FALSE, 0x6e6fc893, "Diddy Kong Racing" },
|
||||
{ F3DDKR, FALSE, 0xbde9d1fb, "Jet Force Gemini" },
|
||||
{ F3DJFG, FALSE, 0xbde9d1fb, "Jet Force Gemini" },
|
||||
{ F3DPD, FALSE, 0x1c4f7869, "Perfect Dark" }
|
||||
};
|
||||
|
||||
|
@ -136,6 +136,7 @@ void GBIInfo::_makeCurrent(MicrocodeInfo * _pCurrent)
|
|||
case S2DEX: S2DEX_Init(); break;
|
||||
case S2DEX2: S2DEX2_Init(); break;
|
||||
case F3DDKR: F3DDKR_Init(); break;
|
||||
case F3DJFG: F3DJFG_Init(); break;
|
||||
case F3DWRUS: F3DWRUS_Init(); break;
|
||||
case F3DPD: F3DPD_Init(); break;
|
||||
}
|
||||
|
|
5
GBI.h
5
GBI.h
|
@ -16,8 +16,9 @@
|
|||
#define S2DEX2 7
|
||||
#define F3DPD 8
|
||||
#define F3DDKR 9
|
||||
#define F3DWRUS 10
|
||||
#define NONE 11
|
||||
#define F3DJFG 10
|
||||
#define F3DWRUS 11
|
||||
#define NONE 12
|
||||
|
||||
// Fixed point conversion factors
|
||||
#define FIXED2FLOATRECIP1 0.5f
|
||||
|
|
|
@ -19,12 +19,13 @@ static const char *MicrocodeTypes[] =
|
|||
"S2DEX",
|
||||
"S2DEX2",
|
||||
"Perfect Dark",
|
||||
"DKR/JFG",
|
||||
"DKR",
|
||||
"JFG",
|
||||
"Waverace US",
|
||||
"None"
|
||||
};
|
||||
|
||||
static const int numMicrocodeTypes = 11;
|
||||
static const int numMicrocodeTypes = 12;
|
||||
static unsigned int uc_crc;
|
||||
static const char * uc_str;
|
||||
|
||||
|
|
|
@ -16,12 +16,13 @@ static const char *MicrocodeTypes[] =
|
|||
"S2DEX",
|
||||
"S2DEX2",
|
||||
"Perfect Dark",
|
||||
"DKR/JFG",
|
||||
"DKR",
|
||||
"JFG",
|
||||
"Waverace US",
|
||||
"None"
|
||||
};
|
||||
|
||||
static const int numMicrocodeTypes = 11;
|
||||
static const int numMicrocodeTypes = 12;
|
||||
static unsigned int uc_crc;
|
||||
static const char * uc_str;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user