Lots of FP hacking for little gain, super monkey ball is only slightly more sane (wow, it rhymed). Temporary no-speed-limit hack: Hold TAB.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@279 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard
2008-08-23 09:20:36 +00:00
parent 0becaa3223
commit f82bf2ae9a
25 changed files with 1107 additions and 861 deletions
@@ -74,7 +74,7 @@ void Mixer(short *buffer, int numSamples, int bits, int rate, int channels)
}
void Mixer_PushSamples(short *buffer, int num_stereo_samples, int sample_rate) {
// static FILE *f;
// static FILE *f;
// if (!f)
// f = fopen("d:\\hello.raw", "wb");
// fwrite(buffer, num_stereo_samples * 4, 1, f);
@@ -83,6 +83,7 @@ void Mixer_PushSamples(short *buffer, int num_stereo_samples, int sample_rate) {
static int PV1r=0,PV2r=0,PV3r=0,PV4r=0;
static int acc=0;
if (!GetAsyncKeyState(VK_TAB)) {
while (queue_size > queue_maxlength / 2) {
#ifdef _WIN32
DSound::DSound_UpdateSound();
@@ -91,7 +92,9 @@ void Mixer_PushSamples(short *buffer, int num_stereo_samples, int sample_rate) {
sleep(0);
#endif
}
} else {
return;
}
//convert into config option?
const int mode = 2;
@@ -210,16 +210,6 @@ bool FifoCommandRunnable(void)
void Decode(void)
{
static int DecoderCount = 0;
DecoderCount++;
if (DecoderCount == 0x0019c601)
{
int i = 0;
}
// 0x0019c603 <- error
int Cmd = g_pDataReader->Read8();
switch(Cmd)
{
@@ -236,7 +226,6 @@ void Decode(void)
case GX_LOAD_XF_REG:
{
u32 test = PeekFifo32(0);
u32 Cmd2 = g_pDataReader->Read32();
int dwTransferSize = ((Cmd2>>16)&15) + 1;
@@ -145,23 +145,26 @@ bool FifoCommandRunnable(void)
case GX_LOAD_XF_REG:
{
// check if we can read the header
if (iBufferSize >= 5) {
if (iBufferSize >= 5)
{
iCommandSize = 1 + 4;
u32 Cmd2 = PeekFifo32(1);
int dwTransferSize = ((Cmd2>>16)&15) + 1;
int dwTransferSize = ((Cmd2 >> 16) & 15) + 1;
iCommandSize += dwTransferSize * 4;
}
else {
else
{
return false;
}
}
break;
default:
if (Cmd&0x80)
if (Cmd & 0x80)
{
// check if we can read the header
if (iBufferSize >= 3) {
if (iBufferSize >= 3)
{
iCommandSize = 1 + 2;
u16 numVertices = PeekFifo16(1);
VertexLoader& vtxLoader = g_VertexLoaders[Cmd & GX_VAT_MASK];
@@ -189,7 +192,7 @@ bool FifoCommandRunnable(void)
if (iCommandSize > iBufferSize)
return false;
INFO_LOG("OP detected: Cmd 0x%x size %i buffer %i",Cmd, iCommandSize, iBufferSize);
// INFO_LOG("OP detected: Cmd 0x%x size %i buffer %i",Cmd, iCommandSize, iBufferSize);
return true;
}
@@ -268,7 +271,7 @@ void Decode(void)
{
// load vertices
u16 numVertices = g_pDataReader->Read16();
if( numVertices > 0 ) {
if (numVertices > 0) {
g_VertexLoaders[Cmd & GX_VAT_MASK].RunVertices((Cmd & GX_PRIMITIVE_MASK) >> GX_PRIMITIVE_SHIFT, numVertices);
}
}