Merge pull request #1833 from NZJenkins/remove_patches
Remove some patches
This commit is contained in:
commit
c42c68a980
|
@ -4092,81 +4092,6 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetViewport)
|
||||||
UpdateViewPortOffsetAndScaleConstants();
|
UpdateViewPortOffsetAndScaleConstants();
|
||||||
}
|
}
|
||||||
|
|
||||||
// LTCG specific D3DDevice_GetViewportOffsetAndScale function...
|
|
||||||
// This function is still not working so should be investigated...
|
|
||||||
// This uses a custom calling convention where parameter is passed in EDX, ECX
|
|
||||||
// Test-case: RalliSport Challenge 2
|
|
||||||
VOID __stdcall XTL::EMUPATCH(D3DDevice_GetViewportOffsetAndScale_0)
|
|
||||||
(
|
|
||||||
)
|
|
||||||
{
|
|
||||||
D3DXVECTOR4 *pOffset;
|
|
||||||
D3DXVECTOR4 *pScale;
|
|
||||||
|
|
||||||
__asm {
|
|
||||||
mov pScale, ecx
|
|
||||||
mov pOffset, edx
|
|
||||||
}
|
|
||||||
|
|
||||||
return EMUPATCH(D3DDevice_GetViewportOffsetAndScale)(pOffset, pScale);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ******************************************************************
|
|
||||||
// * patch: D3DDevice_GetViewportOffsetAndScale
|
|
||||||
// ******************************************************************
|
|
||||||
VOID WINAPI XTL::EMUPATCH(D3DDevice_GetViewportOffsetAndScale)
|
|
||||||
(
|
|
||||||
X_D3DXVECTOR4 *pOffset,
|
|
||||||
X_D3DXVECTOR4 *pScale
|
|
||||||
)
|
|
||||||
{
|
|
||||||
LOG_FUNC_BEGIN
|
|
||||||
LOG_FUNC_ARG(pOffset)
|
|
||||||
LOG_FUNC_ARG(pScale)
|
|
||||||
LOG_FUNC_END;
|
|
||||||
|
|
||||||
// LOG_TEST_CASE("D3DDevice_GetViewportOffsetAndScale"); // Get us some test-cases
|
|
||||||
// Test case : 007: From Russia with Love
|
|
||||||
// Test case : Army Men?: Sarge's War
|
|
||||||
// Test case : BeatDown - Fists of Vengeance
|
|
||||||
// Test case : Big Mutha Truckers
|
|
||||||
// Test case : Big Mutha Truckers 2
|
|
||||||
// Test case : Classified : The Sentinel Crisis
|
|
||||||
// Test case : Cold Fear
|
|
||||||
// Test case : Commandos SF
|
|
||||||
// Test case : Darkwatch
|
|
||||||
// Test case : Dr.Muto
|
|
||||||
// Test case : GTA : Vice City
|
|
||||||
// Test case : Jacked
|
|
||||||
// Test case : Madagascar
|
|
||||||
// Test case : Max Payne 2
|
|
||||||
// Test case : NBA LIVE 2005
|
|
||||||
// Test case : NFS : Underground
|
|
||||||
// Test case : NFS : Underground 2
|
|
||||||
// Test case : PoP : The Sands of Time
|
|
||||||
// Test case : Prince of Persia : T2T - see #1109 (comment)
|
|
||||||
// Test case : RPM Tuning
|
|
||||||
// Test case : Street Racing Syndicate
|
|
||||||
// Test case : Spongebob - Battle for Bikini Bottom
|
|
||||||
// Test case : The Incredibles : Rise of the Underminer
|
|
||||||
// Test case : The SpongeBob SquarePants Movie
|
|
||||||
// Test case : TMNT(R)2
|
|
||||||
// Test case : TMNT(R)3
|
|
||||||
|
|
||||||
float vOffset[4], vScale[4];
|
|
||||||
GetViewPortOffsetAndScale(vOffset, vScale);
|
|
||||||
|
|
||||||
pOffset->x = vOffset[0];
|
|
||||||
pOffset->y = vOffset[1];
|
|
||||||
pOffset->z = vOffset[2];
|
|
||||||
pOffset->w = vOffset[3];
|
|
||||||
|
|
||||||
pScale->x = vScale[0];
|
|
||||||
pScale->y = vScale[1];
|
|
||||||
pScale->z = vScale[2];
|
|
||||||
pScale->w = vScale[3];
|
|
||||||
}
|
|
||||||
|
|
||||||
// LTCG specific D3DDevice_SetShaderConstantMode function...
|
// LTCG specific D3DDevice_SetShaderConstantMode function...
|
||||||
// This uses a custom calling convention where parameter is passed in EAX
|
// This uses a custom calling convention where parameter is passed in EAX
|
||||||
VOID __stdcall XTL::EMUPATCH(D3DDevice_SetShaderConstantMode_0)
|
VOID __stdcall XTL::EMUPATCH(D3DDevice_SetShaderConstantMode_0)
|
||||||
|
@ -7954,28 +7879,6 @@ void WINAPI XTL::EMUPATCH(D3DDevice_SetSoftDisplayFilter)
|
||||||
LOG_IGNORED();
|
LOG_IGNORED();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ******************************************************************
|
|
||||||
// * patch: D3DDevice_GetVertexShaderSize
|
|
||||||
// ******************************************************************
|
|
||||||
VOID WINAPI XTL::EMUPATCH(D3DDevice_GetVertexShaderSize)
|
|
||||||
(
|
|
||||||
DWORD Handle,
|
|
||||||
UINT* pSize
|
|
||||||
)
|
|
||||||
{
|
|
||||||
LOG_FUNC_BEGIN
|
|
||||||
LOG_FUNC_ARG(Handle)
|
|
||||||
LOG_FUNC_ARG(pSize)
|
|
||||||
LOG_FUNC_END;
|
|
||||||
|
|
||||||
// Handle is always address of an Xbox VertexShader struct, or-ed with 1 (X_D3DFVF_RESERVED0)
|
|
||||||
|
|
||||||
if (pSize) {
|
|
||||||
CxbxVertexShader *pVertexShader = GetCxbxVertexShader(Handle);
|
|
||||||
*pSize = pVertexShader ? pVertexShader->XboxNrAddressSlots : 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// LTCG specific D3DDevice_DeleteVertexShader function...
|
// LTCG specific D3DDevice_DeleteVertexShader function...
|
||||||
// This uses a custom calling convention where parameter is passed in EAX
|
// This uses a custom calling convention where parameter is passed in EAX
|
||||||
// UNTESTED - Need test-case!
|
// UNTESTED - Need test-case!
|
||||||
|
@ -8345,31 +8248,6 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_LoadVertexShaderProgram)
|
||||||
EmuLog(LOG_LEVEL::WARNING, "Vertex Shader Cache Size: %d", g_LoadVertexShaderProgramCache.size());
|
EmuLog(LOG_LEVEL::WARNING, "Vertex Shader Cache Size: %d", g_LoadVertexShaderProgramCache.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
// ******************************************************************
|
|
||||||
// * patch: D3DDevice_GetVertexShaderType
|
|
||||||
// ******************************************************************
|
|
||||||
VOID WINAPI XTL::EMUPATCH(D3DDevice_GetVertexShaderType)
|
|
||||||
(
|
|
||||||
DWORD Handle,
|
|
||||||
DWORD *pType
|
|
||||||
)
|
|
||||||
{
|
|
||||||
LOG_FUNC_BEGIN
|
|
||||||
LOG_FUNC_ARG(Handle)
|
|
||||||
LOG_FUNC_ARG(pType)
|
|
||||||
LOG_FUNC_END;
|
|
||||||
|
|
||||||
// Handle is always address of an Xbox VertexShader struct, or-ed with 1 (X_D3DFVF_RESERVED0)
|
|
||||||
// *pType is set according to flags in the VertexShader struct
|
|
||||||
|
|
||||||
if (pType) {
|
|
||||||
CxbxVertexShader *pCxbxVertexShader = GetCxbxVertexShader(Handle);
|
|
||||||
if (pCxbxVertexShader) {
|
|
||||||
*pType = pCxbxVertexShader->XboxVertexShaderType;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
// * patch: D3DDevice_GetVertexShaderDeclaration
|
// * patch: D3DDevice_GetVertexShaderDeclaration
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
|
|
@ -3921,3 +3921,125 @@ D3DCOLOR * WINAPI XTL::EMUPATCH(D3DPalette_Lock2)
|
||||||
|
|
||||||
RETURN(pData);
|
RETURN(pData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ******************************************************************
|
||||||
|
// * patch: D3DDevice_GetVertexShaderSize
|
||||||
|
// ******************************************************************
|
||||||
|
VOID WINAPI XTL::EMUPATCH(D3DDevice_GetVertexShaderSize)
|
||||||
|
(
|
||||||
|
DWORD Handle,
|
||||||
|
UINT* pSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
LOG_FUNC_BEGIN
|
||||||
|
LOG_FUNC_ARG(Handle)
|
||||||
|
LOG_FUNC_ARG(pSize)
|
||||||
|
LOG_FUNC_END;
|
||||||
|
|
||||||
|
// Handle is always address of an Xbox VertexShader struct, or-ed with 1 (X_D3DFVF_RESERVED0)
|
||||||
|
|
||||||
|
if (pSize) {
|
||||||
|
CxbxVertexShader *pVertexShader = GetCxbxVertexShader(Handle);
|
||||||
|
*pSize = pVertexShader ? pVertexShader->XboxNrAddressSlots : 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ******************************************************************
|
||||||
|
// * patch: D3DDevice_GetVertexShaderType
|
||||||
|
// ******************************************************************
|
||||||
|
VOID WINAPI XTL::EMUPATCH(D3DDevice_GetVertexShaderType)
|
||||||
|
(
|
||||||
|
DWORD Handle,
|
||||||
|
DWORD *pType
|
||||||
|
)
|
||||||
|
{
|
||||||
|
LOG_FUNC_BEGIN
|
||||||
|
LOG_FUNC_ARG(Handle)
|
||||||
|
LOG_FUNC_ARG(pType)
|
||||||
|
LOG_FUNC_END;
|
||||||
|
|
||||||
|
// Handle is always address of an Xbox VertexShader struct, or-ed with 1 (X_D3DFVF_RESERVED0)
|
||||||
|
// *pType is set according to flags in the VertexShader struct
|
||||||
|
|
||||||
|
if (pType) {
|
||||||
|
CxbxVertexShader *pCxbxVertexShader = GetCxbxVertexShader(Handle);
|
||||||
|
if (pCxbxVertexShader) {
|
||||||
|
*pType = pCxbxVertexShader->XboxVertexShaderType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// LTCG specific D3DDevice_GetViewportOffsetAndScale function...
|
||||||
|
// This function is still not working so should be investigated...
|
||||||
|
// This uses a custom calling convention where parameter is passed in EDX, ECX
|
||||||
|
// Test-case: RalliSport Challenge 2
|
||||||
|
VOID __stdcall XTL::EMUPATCH(D3DDevice_GetViewportOffsetAndScale_0)
|
||||||
|
(
|
||||||
|
)
|
||||||
|
{
|
||||||
|
D3DXVECTOR4 *pOffset;
|
||||||
|
D3DXVECTOR4 *pScale;
|
||||||
|
|
||||||
|
__asm {
|
||||||
|
mov pScale, ecx
|
||||||
|
mov pOffset, edx
|
||||||
|
}
|
||||||
|
|
||||||
|
return EMUPATCH(D3DDevice_GetViewportOffsetAndScale)(pOffset, pScale);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ******************************************************************
|
||||||
|
// * patch: D3DDevice_GetViewportOffsetAndScale
|
||||||
|
// ******************************************************************
|
||||||
|
VOID WINAPI XTL::EMUPATCH(D3DDevice_GetViewportOffsetAndScale)
|
||||||
|
(
|
||||||
|
X_D3DXVECTOR4 *pOffset,
|
||||||
|
X_D3DXVECTOR4 *pScale
|
||||||
|
)
|
||||||
|
{
|
||||||
|
LOG_FUNC_BEGIN
|
||||||
|
LOG_FUNC_ARG(pOffset)
|
||||||
|
LOG_FUNC_ARG(pScale)
|
||||||
|
LOG_FUNC_END;
|
||||||
|
|
||||||
|
// LOG_TEST_CASE("D3DDevice_GetViewportOffsetAndScale"); // Get us some test-cases
|
||||||
|
// Test case : 007: From Russia with Love
|
||||||
|
// Test case : Army Men?: Sarge's War
|
||||||
|
// Test case : BeatDown - Fists of Vengeance
|
||||||
|
// Test case : Big Mutha Truckers
|
||||||
|
// Test case : Big Mutha Truckers 2
|
||||||
|
// Test case : Classified : The Sentinel Crisis
|
||||||
|
// Test case : Cold Fear
|
||||||
|
// Test case : Commandos SF
|
||||||
|
// Test case : Darkwatch
|
||||||
|
// Test case : Dr.Muto
|
||||||
|
// Test case : GTA : Vice City
|
||||||
|
// Test case : Jacked
|
||||||
|
// Test case : Madagascar
|
||||||
|
// Test case : Max Payne 2
|
||||||
|
// Test case : NBA LIVE 2005
|
||||||
|
// Test case : NFS : Underground
|
||||||
|
// Test case : NFS : Underground 2
|
||||||
|
// Test case : PoP : The Sands of Time
|
||||||
|
// Test case : Prince of Persia : T2T - see #1109 (comment)
|
||||||
|
// Test case : RPM Tuning
|
||||||
|
// Test case : Street Racing Syndicate
|
||||||
|
// Test case : Spongebob - Battle for Bikini Bottom
|
||||||
|
// Test case : The Incredibles : Rise of the Underminer
|
||||||
|
// Test case : The SpongeBob SquarePants Movie
|
||||||
|
// Test case : TMNT(R)2
|
||||||
|
// Test case : TMNT(R)3
|
||||||
|
|
||||||
|
float vOffset[4], vScale[4];
|
||||||
|
GetViewPortOffsetAndScale(vOffset, vScale);
|
||||||
|
|
||||||
|
pOffset->x = vOffset[0];
|
||||||
|
pOffset->y = vOffset[1];
|
||||||
|
pOffset->z = vOffset[2];
|
||||||
|
pOffset->w = vOffset[3];
|
||||||
|
|
||||||
|
pScale->x = vScale[0];
|
||||||
|
pScale->y = vScale[1];
|
||||||
|
pScale->z = vScale[2];
|
||||||
|
pScale->w = vScale[3];
|
||||||
|
}
|
||||||
|
|
|
@ -95,9 +95,9 @@ std::map<const std::string, const xbox_patch_t> g_PatchTable = {
|
||||||
PATCH_ENTRY("D3DDevice_GetVertexShaderDeclaration", XTL::EMUPATCH(D3DDevice_GetVertexShaderDeclaration), PATCH_HLE_D3D),
|
PATCH_ENTRY("D3DDevice_GetVertexShaderDeclaration", XTL::EMUPATCH(D3DDevice_GetVertexShaderDeclaration), PATCH_HLE_D3D),
|
||||||
PATCH_ENTRY("D3DDevice_GetVertexShaderFunction", XTL::EMUPATCH(D3DDevice_GetVertexShaderFunction), PATCH_HLE_D3D),
|
PATCH_ENTRY("D3DDevice_GetVertexShaderFunction", XTL::EMUPATCH(D3DDevice_GetVertexShaderFunction), PATCH_HLE_D3D),
|
||||||
PATCH_ENTRY("D3DDevice_GetVertexShaderInput", XTL::EMUPATCH(D3DDevice_GetVertexShaderInput), PATCH_HLE_D3D),
|
PATCH_ENTRY("D3DDevice_GetVertexShaderInput", XTL::EMUPATCH(D3DDevice_GetVertexShaderInput), PATCH_HLE_D3D),
|
||||||
PATCH_ENTRY("D3DDevice_GetVertexShaderSize", XTL::EMUPATCH(D3DDevice_GetVertexShaderSize), PATCH_HLE_D3D),
|
//PATCH_ENTRY("D3DDevice_GetVertexShaderSize", XTL::EMUPATCH(D3DDevice_GetVertexShaderSize), PATCH_HLE_D3D),
|
||||||
PATCH_ENTRY("D3DDevice_GetVertexShaderType", XTL::EMUPATCH(D3DDevice_GetVertexShaderType), PATCH_HLE_D3D),
|
//PATCH_ENTRY("D3DDevice_GetVertexShaderType", XTL::EMUPATCH(D3DDevice_GetVertexShaderType), PATCH_HLE_D3D),
|
||||||
PATCH_ENTRY("D3DDevice_GetViewportOffsetAndScale", XTL::EMUPATCH(D3DDevice_GetViewportOffsetAndScale), PATCH_HLE_D3D),
|
//PATCH_ENTRY("D3DDevice_GetViewportOffsetAndScale", XTL::EMUPATCH(D3DDevice_GetViewportOffsetAndScale), PATCH_HLE_D3D),
|
||||||
PATCH_ENTRY("D3DDevice_GetVisibilityTestResult", XTL::EMUPATCH(D3DDevice_GetVisibilityTestResult), PATCH_HLE_D3D),
|
PATCH_ENTRY("D3DDevice_GetVisibilityTestResult", XTL::EMUPATCH(D3DDevice_GetVisibilityTestResult), PATCH_HLE_D3D),
|
||||||
PATCH_ENTRY("D3DDevice_InsertCallback", XTL::EMUPATCH(D3DDevice_InsertCallback), PATCH_HLE_D3D),
|
PATCH_ENTRY("D3DDevice_InsertCallback", XTL::EMUPATCH(D3DDevice_InsertCallback), PATCH_HLE_D3D),
|
||||||
PATCH_ENTRY("D3DDevice_InsertFence", XTL::EMUPATCH(D3DDevice_InsertFence), PATCH_HLE_D3D),
|
PATCH_ENTRY("D3DDevice_InsertFence", XTL::EMUPATCH(D3DDevice_InsertFence), PATCH_HLE_D3D),
|
||||||
|
|
Loading…
Reference in New Issue