Additional deferred render state updates used by Futurama.
- D3DRS_FOGDENSITY (4) - D3DRS_RANGEFOGENABLE (5) - D3DRS_WRAP1 (7) - D3DRS_DIFFUSEMATERIALSOURCE (19) - D3DRS_EMISSIVEMATERIALSOURCE (21)
This commit is contained in:
parent
da6a1816e8
commit
5bed305918
|
@ -63,6 +63,12 @@ void XTL::EmuUpdateDeferredStates()
|
|||
if(XTL::EmuD3DDeferredRenderState[3] != X_D3DRS_UNK)
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_FOGEND, XTL::EmuD3DDeferredRenderState[3]);
|
||||
|
||||
if(XTL::EmuD3DDeferredRenderState[4] != X_D3DRS_UNK)
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_FOGDENSITY, XTL::EmuD3DDeferredRenderState[4]);
|
||||
|
||||
if(XTL::EmuD3DDeferredRenderState[5] != X_D3DRS_UNK)
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_RANGEFOGENABLE, XTL::EmuD3DDeferredRenderState[5]);
|
||||
|
||||
if(XTL::EmuD3DDeferredRenderState[6] != X_D3DRS_UNK)
|
||||
{
|
||||
::DWORD dwConv = 0;
|
||||
|
@ -74,6 +80,17 @@ void XTL::EmuUpdateDeferredStates()
|
|||
g_pD3DDevice8->SetRenderState(D3DRS_WRAP0, dwConv);
|
||||
}
|
||||
|
||||
if(XTL::EmuD3DDeferredRenderState[7] != X_D3DRS_UNK)
|
||||
{
|
||||
::DWORD dwConv = 0;
|
||||
|
||||
dwConv |= (XTL::EmuD3DDeferredRenderState[7] & 0x00000010) ? D3DWRAP_U : 0;
|
||||
dwConv |= (XTL::EmuD3DDeferredRenderState[7] & 0x00001000) ? D3DWRAP_V : 0;
|
||||
dwConv |= (XTL::EmuD3DDeferredRenderState[7] & 0x00100000) ? D3DWRAP_W : 0;
|
||||
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_WRAP1, dwConv);
|
||||
}
|
||||
|
||||
if(XTL::EmuD3DDeferredRenderState[10] != X_D3DRS_UNK)
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_LIGHTING, XTL::EmuD3DDeferredRenderState[10]);
|
||||
|
||||
|
@ -83,9 +100,15 @@ void XTL::EmuUpdateDeferredStates()
|
|||
if(XTL::EmuD3DDeferredRenderState[13] != X_D3DRS_UNK)
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_COLORVERTEX, XTL::EmuD3DDeferredRenderState[13]);
|
||||
|
||||
if(XTL::EmuD3DDeferredRenderState[19] != X_D3DRS_UNK)
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_DIFFUSEMATERIALSOURCE, XTL::EmuD3DDeferredRenderState[19]);
|
||||
|
||||
if(XTL::EmuD3DDeferredRenderState[20] != X_D3DRS_UNK)
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_AMBIENTMATERIALSOURCE, XTL::EmuD3DDeferredRenderState[20]);
|
||||
|
||||
if(XTL::EmuD3DDeferredRenderState[21] != X_D3DRS_UNK)
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_EMISSIVEMATERIALSOURCE, XTL::EmuD3DDeferredRenderState[21]);
|
||||
|
||||
if(XTL::EmuD3DDeferredRenderState[23] != X_D3DRS_UNK)
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_AMBIENT, XTL::EmuD3DDeferredRenderState[23]);
|
||||
|
||||
|
@ -121,9 +144,9 @@ void XTL::EmuUpdateDeferredStates()
|
|||
{
|
||||
if(XTL::EmuD3DDeferredRenderState[v] != X_D3DRS_UNK)
|
||||
{
|
||||
if(v != 0 && v != 1 && v != 2 && v != 3 && v != 6 && v != 10 && v != 11 && v != 13
|
||||
&& v != 20 && v != 23 && v != 24 && v != 25 && v != 26 && v != 27 && v != 28 && v != 29
|
||||
&& v != 30 && v != 31 && v != 33)
|
||||
if(v != 0 && v != 1 && v != 2 && v != 3 && v != 4 && v != 5 && v != 6 && v != 7
|
||||
&& v != 10 && v != 11 && v != 13 && v != 19 && v != 20 && v != 21 && v != 23 && v != 24
|
||||
&& v != 25 && v != 26 && v != 27 && v != 28 && v != 29 && v != 30 && v != 31 && v != 33)
|
||||
EmuWarning("Unhandled RenderState Change @ %d (%d)", v, v + 82);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue