From e8e6fc56fbc6094fc9eb9523c5c930f5200b6b84 Mon Sep 17 00:00:00 2001 From: patrickvl Date: Sat, 12 May 2018 01:15:23 +0200 Subject: [PATCH] D3D : Don't crash hard when SetStreamSource fails (this gets Galleon in-game again) --- src/CxbxKrnl/EmuD3D8/PixelShader.cpp | 4 ++-- src/CxbxKrnl/EmuD3D8/VertexBuffer.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/CxbxKrnl/EmuD3D8/PixelShader.cpp b/src/CxbxKrnl/EmuD3D8/PixelShader.cpp index 7a4cc8950..3269a7795 100644 --- a/src/CxbxKrnl/EmuD3D8/PixelShader.cpp +++ b/src/CxbxKrnl/EmuD3D8/PixelShader.cpp @@ -4239,9 +4239,9 @@ VOID XTL::DxbxUpdateActivePixelShader() // NOPATCH HRESULT Result = D3D_OK; - // TODO: Is this even right? he first RenderState is PSAlpha, + // TODO: Is this even right? The first RenderState is PSAlpha, // The pixel shader is stored in pDevice->m_pPixelShader - // For now, we still patch SetPixleShader and read from there... + // For now, we still patch SetPixelShader and read from there... //DWORD *XTL_D3D__RenderState = XTL::EmuMappedD3DRenderState[0]; //pPSDef = (XTL::X_D3DPIXELSHADERDEF*)(XTL_D3D__RenderState); pPSDef = g_D3DActivePixelShader != nullptr ? g_D3DActivePixelShader->pPSDef : nullptr; diff --git a/src/CxbxKrnl/EmuD3D8/VertexBuffer.cpp b/src/CxbxKrnl/EmuD3D8/VertexBuffer.cpp index f146c011e..40efbc479 100755 --- a/src/CxbxKrnl/EmuD3D8/VertexBuffer.cpp +++ b/src/CxbxKrnl/EmuD3D8/VertexBuffer.cpp @@ -350,7 +350,7 @@ void XTL::CxbxVertexBufferConverter::ConvertStream HRESULT hRet = g_pD3DDevice->SetStreamSource(uiStream, nullptr, 0); // DEBUG_D3DRESULT(hRet, "g_pD3DDevice->SetStreamSource"); if (FAILED(hRet)) { - CxbxKrnlCleanup("g_pD3DDevice->SetStreamSource(uiStream, nullptr, 0)\n"); + EmuWarning("g_pD3DDevice->SetStreamSource(uiStream, nullptr, 0)"); } return; @@ -407,7 +407,7 @@ void XTL::CxbxVertexBufferConverter::ConvertStream ((SHORT *)pHostVertexAsFloat)[0] = ((SHORT*)pXboxVertex)[0]; ((SHORT *)pHostVertexAsFloat)[1] = ((SHORT*)pXboxVertex)[1]; ((SHORT *)pHostVertexAsFloat)[2] = ((SHORT*)pXboxVertex)[2]; - ((SHORT *)pHostVertexAsFloat)[3] = 0x01; + ((SHORT *)pHostVertexAsFloat)[3] = 0x01; // Turok verified (character disappears when this is 32767) pXboxVertex += 3 * sizeof(SHORT); break; }