Skip to content

Commit 5e9a25d

Browse files
committed
Fix RenderState WrapU and WrapV
Fixes Outlaws
1 parent 6ed297a commit 5e9a25d

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

Dllmain/BuildNo.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
#define BUILD_NUMBER 8076
1+
#define BUILD_NUMBER 8077

ddraw/IDirect3DDeviceX.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2071,9 +2071,9 @@ HRESULT m_IDirect3DDeviceX::SetRenderState(D3DRENDERSTATETYPE dwRenderStateType,
20712071
}
20722072
return SetStateBlockRenderState(dwRenderStateType, dwRenderState);
20732073
case D3DRENDERSTATE_WRAPU: // 5
2074-
return SetD9RenderState(D3DRS_WRAP0, (dwRenderState ? D3DWRAP_U : 0) | (DeviceStates.RenderState[D3DRENDERSTATE_WRAPV].State ? D3DWRAP_V : 0));
2074+
return SetD9RenderState(D3DRS_WRAP0, (dwRenderState ? D3DWRAP_U : 0) | (DeviceStates.RenderState[D3DRS_WRAP0].State & D3DWRAP_V));
20752075
case D3DRENDERSTATE_WRAPV: // 6
2076-
return SetD9RenderState(D3DRS_WRAP0, (DeviceStates.RenderState[D3DRENDERSTATE_WRAPU].State ? D3DWRAP_U : 0) | (dwRenderState ? D3DWRAP_V : 0));
2076+
return SetD9RenderState(D3DRS_WRAP0, (DeviceStates.RenderState[D3DRS_WRAP0].State & D3DWRAP_U) | (dwRenderState ? D3DWRAP_V : 0));
20772077
case D3DRENDERSTATE_LINEPATTERN: // 10
20782078
DeviceStates.RenderState[dwRenderStateType].State = dwRenderState;
20792079
if (dwRenderState != 0)
@@ -6166,6 +6166,9 @@ void m_IDirect3DDeviceX::SetDefaults()
61666166
}
61676167
}
61686168

6169+
// Required to default to 0 because of how D3DRENDERSTATE_WRAPU and D3DRENDERSTATE_WRAPV uses it
6170+
DeviceStates.RenderState[D3DRS_WRAP0].State = 0;
6171+
61696172
// Set DirectDraw defaults
61706173
for (UINT x = 1; x < D3DHAL_TSS_MAXSTAGES; x++)
61716174
{

0 commit comments

Comments
 (0)