mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 06:39:46 -06:00
Fix Pikmin PAL not booting thanks to LordMark for figuring it out ! :D
Added "AccurateFCMP" ini setting which fixes Nights, Paper Mario games... git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4042 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -122,7 +122,8 @@ void PixelShaderManager::SetConstants()
|
||||
|
||||
if (s_bZBiasChanged || s_bDepthRangeChanged)
|
||||
{
|
||||
//ERROR_LOG("pixel=%x,%x, bias=%x\n", bpmem.zcontrol.pixel_format, bpmem.ztex2.type, lastZBias);
|
||||
//ERROR_LOG("pixel=%x,%x, bias=%x\n", bpmem.zcontrol.pixel_format, bpmem.ztex2.type, lastZBias);
|
||||
// TODO : Should this use 16777216.0f or 16777215.0f ?
|
||||
SetPSConstant4f(C_ZBIAS+1, lastDepthRange[0] / 16777216.0f, lastDepthRange[1] / 16777216.0f, 0, (float)( (((int)lastZBias<<8)>>8))/16777216.0f);
|
||||
s_bZBiasChanged = s_bDepthRangeChanged = false;
|
||||
}
|
||||
|
@ -91,6 +91,8 @@
|
||||
#define XFMEM_SETMATRIXINDA 0x1018
|
||||
#define XFMEM_SETMATRIXINDB 0x1019
|
||||
#define XFMEM_SETVIEWPORT 0x101a
|
||||
#define XFMEM_SETZSCALE 0x101c
|
||||
#define XFMEM_SETZOFFSET 0x101f
|
||||
#define XFMEM_SETPROJECTION 0x1020
|
||||
#define XFMEM_SETNUMTEXGENS 0x103f
|
||||
#define XFMEM_SETTEXMTXINFO 0x1040
|
||||
|
@ -169,6 +169,24 @@ void LoadXFReg(u32 transferSize, u32 baseAddress, u32 *pData)
|
||||
}
|
||||
break;
|
||||
|
||||
// GXSetZScaleOffset ?
|
||||
// Actually everything i tried didn't seem to change anything x)
|
||||
case XFMEM_SETZSCALE:
|
||||
// paper mario writes 16777216.0f, 1677721.75
|
||||
// Killer 7 writes 16777216.0f here
|
||||
WARN_LOG(VIDEO, "Set ZScale : %x=%x\n", address, data);
|
||||
break;
|
||||
|
||||
case XFMEM_SETZOFFSET:
|
||||
// paper mario writes 16777216.0f, 5033165.0f
|
||||
// Killer 7 alterns this between 16777216.0f and 16710107.0f
|
||||
WARN_LOG(VIDEO, "Set ZOffset : %x=%x\n", address, data);
|
||||
break;
|
||||
|
||||
// --------------
|
||||
// Unknown Regs
|
||||
// --------------
|
||||
|
||||
// Maybe these are for Normals?
|
||||
case 0x1048: //xfregs.texcoords[0].nrmmtxinfo.hex = data; break; ??
|
||||
case 0x1049:
|
||||
@ -181,21 +199,12 @@ void LoadXFReg(u32 transferSize, u32 baseAddress, u32 *pData)
|
||||
DEBUG_LOG(VIDEO, "Possible Normal Mtx XF reg?: %x=%x\n", address, data);
|
||||
break;
|
||||
|
||||
// --------------
|
||||
// Unknown Regs
|
||||
// --------------
|
||||
case 0x1013:
|
||||
case 0x1014:
|
||||
case 0x1015:
|
||||
case 0x1016:
|
||||
case 0x1017:
|
||||
|
||||
case 0x101c:
|
||||
// paper mario writes 16777216.0f, 1677721.75
|
||||
// Killer 7 writes 0x4b800000 here on 3D rendering only
|
||||
case 0x101f:
|
||||
// paper mario writes 16777216.0f, 5033165.0f
|
||||
// Killer 7 alterns this between 0x4b800000 and 0x4b7ef9db on 3D rendering
|
||||
default:
|
||||
WARN_LOG(VIDEO, "Unknown XF Reg: %x=%x\n", address, data);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user