diff --git a/src/CxbxKrnl/EmuD3D8.cpp b/src/CxbxKrnl/EmuD3D8.cpp index aba13082a..1b57b6010 100644 --- a/src/CxbxKrnl/EmuD3D8.cpp +++ b/src/CxbxKrnl/EmuD3D8.cpp @@ -151,7 +151,7 @@ static XTL::X_VERTEXSHADERCONSTANTMODE g_VertexShaderConstantMode = X_VSCM_192; XTL::X_D3DTILE XTL::EmuD3DTileCache[0x08] = {0}; // cached active texture -XTL::X_D3DResource *XTL::EmuD3DActiveTexture[4] = {0,0,0,0}; +XTL::X_D3DPixelContainer *XTL::EmuD3DActiveTexture[4] = {0,0,0,0}; // information passed to the create device proxy thread struct EmuD3D8CreateDeviceProxyData @@ -1285,7 +1285,7 @@ static void EmuUnswizzleTextureStages() for( int i = 0; i < 4; i++ ) { // for current usages, we're always on stage 0 - XTL::X_D3DPixelContainer *pPixelContainer = (XTL::X_D3DPixelContainer*)XTL::EmuD3DActiveTexture[i]; + XTL::X_D3DPixelContainer *pPixelContainer = XTL::EmuD3DActiveTexture[i]; if(pPixelContainer == NULL || !(pPixelContainer->Common & X_D3DCOMMON_ISLOCKED)) return; @@ -3581,10 +3581,9 @@ HRESULT WINAPI XTL::EMUPATCH(D3DDevice_SetTexture) ");\n", Stage, pTexture); - IDirect3DBaseTexture8 *pBaseTexture8 = NULL; - - EmuD3DActiveTexture[Stage] = pTexture; + IDirect3DBaseTexture8 *pBaseTexture8 = nullptr; + EmuD3DActiveTexture[Stage] = (X_D3DPixelContainer*)pTexture; if(pTexture != NULL) { EmuVerifyResourceIsRegistered(pTexture); @@ -9587,7 +9586,7 @@ XTL::X_D3DResource* WINAPI XTL::EMUPATCH(D3DDevice_GetTexture2)(DWORD Stage) Stage); // Get the active texture from this stage - X_D3DResource* pRet = EmuD3DActiveTexture[Stage]; + X_D3DPixelContainer* pRet = EmuD3DActiveTexture[Stage]; diff --git a/src/CxbxKrnl/EmuD3D8.h b/src/CxbxKrnl/EmuD3D8.h index 5bcde4a96..cec330ec3 100644 --- a/src/CxbxKrnl/EmuD3D8.h +++ b/src/CxbxKrnl/EmuD3D8.h @@ -67,7 +67,7 @@ extern VOID EmuD3DCleanup(); extern X_D3DTILE EmuD3DTileCache[0x08]; // EmuD3DActiveTexture -extern X_D3DResource *EmuD3DActiveTexture[4]; +extern X_D3DPixelContainer *EmuD3DActiveTexture[4]; // ****************************************************************** // * patch: Direct3D_CreateDevice diff --git a/src/CxbxKrnl/EmuD3D8/PushBuffer.cpp b/src/CxbxKrnl/EmuD3D8/PushBuffer.cpp index e14e2183f..974e22aa3 100644 --- a/src/CxbxKrnl/EmuD3D8/PushBuffer.cpp +++ b/src/CxbxKrnl/EmuD3D8/PushBuffer.cpp @@ -74,7 +74,7 @@ void XTL::EmuExecutePushBuffer static void EmuUnswizzleActiveTexture() { // for current usages, we're always on stage 0 - XTL::X_D3DPixelContainer *pPixelContainer = (XTL::X_D3DPixelContainer*)XTL::EmuD3DActiveTexture[0]; + XTL::X_D3DPixelContainer *pPixelContainer = XTL::EmuD3DActiveTexture[0]; if(pPixelContainer == NULL || !(pPixelContainer->Common & X_D3DCOMMON_ISLOCKED)) return; diff --git a/src/CxbxKrnl/EmuD3D8/VertexBuffer.cpp b/src/CxbxKrnl/EmuD3D8/VertexBuffer.cpp index 3f87ba823..aba1f4a0c 100644 --- a/src/CxbxKrnl/EmuD3D8/VertexBuffer.cpp +++ b/src/CxbxKrnl/EmuD3D8/VertexBuffer.cpp @@ -644,7 +644,7 @@ bool XTL::VertexPatcher::NormalizeTexCoords(VertexPatchDesc *pPatchDesc, UINT ui for(uint08 i = 0; i < 4; i++) { - X_D3DPixelContainer *pPixelContainer = (X_D3DPixelContainer*)EmuD3DActiveTexture[i]; + X_D3DPixelContainer *pPixelContainer = EmuD3DActiveTexture[i]; if (pPixelContainer) { XTL::X_D3DFORMAT XBFormat = (XTL::X_D3DFORMAT)((pPixelContainer->Format & X_D3DFORMAT_FORMAT_MASK) >> X_D3DFORMAT_FORMAT_SHIFT);