diff --git a/README.md b/README.md index c1ea80f8..a869bcb0 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,9 @@ Wine. All those differences are also documented on the Included bug fixes and improvements =================================== -**Bugfixes and features included in the next upcoming release [4]:** +**Bugfixes and features included in the next upcoming release [5]:** +* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984)) * Ensure X11 input events are handled even without explicit message loop ([Wine Bug #8854](https://bugs.winehq.org/show_bug.cgi?id=8854)) * Fix handling of subdirectory in FtpFindFirstFile ([Wine Bug #16526](https://bugs.winehq.org/show_bug.cgi?id=16526)) * Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101)) diff --git a/debian/changelog b/debian/changelog index 7afeee84..607758fa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,7 @@ wine-staging (1.7.34) UNRELEASED; urgency=low * Added patch for stub of ntdll.RtlSetHeapInformation. * Added patch for IDXGIOutput::GetDesc. * Added patch for ID3DXEffect::FindNextValidTechnique. + * Added patch with stub for D3DXComputeTangentFrameEx. * Removed patch to implement combase HSTRING objects (accepted upstream). * Removed patch to add fake ProductId to registry (accepted upstream). * Removed patch to implement stubs for MFStartup and MFShutdown (accepted upstream). diff --git a/patches/Makefile b/patches/Makefile index 4a86e51d..9a91f80b 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -28,6 +28,7 @@ PATCHLIST := \ comctl32-LoadIconMetric.ok \ configure-Absolute_RPATH.ok \ d3d9-Surface_Refcount.ok \ + d3dx9_36-D3DXComputeTangentFrameEx.ok \ d3dx9_36-DXTn.ok \ d3dx9_36-Filter_Warnings.ok \ d3dx9_36-FindNextValidTechnique.ok \ @@ -344,6 +345,26 @@ d3d9-Surface_Refcount.ok: echo '+ { "Henri Verbeet", "d3d9: Don'\''t decrease surface refcount when its already zero.", 1 },'; \ ) > d3d9-Surface_Refcount.ok +# Patchset d3dx9_36-D3DXComputeTangentFrameEx +# | +# | This patchset fixes the following Wine bugs: +# | * [#31984] Add stub for D3DXComputeTangentFrameEx +# | +# | Modified files: +# | * dlls/d3dx9_24/d3dx9_24.spec, dlls/d3dx9_25/d3dx9_25.spec, dlls/d3dx9_26/d3dx9_26.spec, dlls/d3dx9_27/d3dx9_27.spec, +# | dlls/d3dx9_28/d3dx9_28.spec, dlls/d3dx9_29/d3dx9_29.spec, dlls/d3dx9_30/d3dx9_30.spec, dlls/d3dx9_31/d3dx9_31.spec, +# | dlls/d3dx9_32/d3dx9_32.spec, dlls/d3dx9_33/d3dx9_33.spec, dlls/d3dx9_34/d3dx9_34.spec, dlls/d3dx9_35/d3dx9_35.spec, +# | dlls/d3dx9_36/d3dx9_36.spec, dlls/d3dx9_36/mesh.c, dlls/d3dx9_37/d3dx9_37.spec, dlls/d3dx9_38/d3dx9_38.spec, +# | dlls/d3dx9_39/d3dx9_39.spec, dlls/d3dx9_40/d3dx9_40.spec, dlls/d3dx9_41/d3dx9_41.spec, dlls/d3dx9_42/d3dx9_42.spec, +# | dlls/d3dx9_43/d3dx9_43.spec +# | +.INTERMEDIATE: d3dx9_36-D3DXComputeTangentFrameEx.ok +d3dx9_36-D3DXComputeTangentFrameEx.ok: + $(call APPLY_FILE,d3dx9_36-D3DXComputeTangentFrameEx/0001-d3dx9_36-Add-stub-for-D3DXComputeTangentFrameEx.patch) + @( \ + echo '+ { "Christian Costa", "d3dx9_36: Add stub for D3DXComputeTangentFrameEx.", 1 },'; \ + ) > d3dx9_36-D3DXComputeTangentFrameEx.ok + # Patchset d3dx9_36-DXTn # | # | This patchset fixes the following Wine bugs: diff --git a/patches/d3dx9_36-D3DXComputeTangentFrameEx/0001-d3dx9_36-Add-stub-for-D3DXComputeTangentFrameEx.patch b/patches/d3dx9_36-D3DXComputeTangentFrameEx/0001-d3dx9_36-Add-stub-for-D3DXComputeTangentFrameEx.patch new file mode 100644 index 00000000..623519c5 --- /dev/null +++ b/patches/d3dx9_36-D3DXComputeTangentFrameEx/0001-d3dx9_36-Add-stub-for-D3DXComputeTangentFrameEx.patch @@ -0,0 +1,320 @@ +From 22d02997812e5ed4cc71e8b114fe8fad1ef67d81 Mon Sep 17 00:00:00 2001 +From: Christian Costa +Date: Sat, 20 Dec 2014 15:40:10 +0100 +Subject: d3dx9_36: Add stub for D3DXComputeTangentFrameEx. + +--- + dlls/d3dx9_24/d3dx9_24.spec | 2 +- + dlls/d3dx9_25/d3dx9_25.spec | 2 +- + dlls/d3dx9_26/d3dx9_26.spec | 2 +- + dlls/d3dx9_27/d3dx9_27.spec | 2 +- + dlls/d3dx9_28/d3dx9_28.spec | 2 +- + dlls/d3dx9_29/d3dx9_29.spec | 2 +- + dlls/d3dx9_30/d3dx9_30.spec | 2 +- + dlls/d3dx9_31/d3dx9_31.spec | 2 +- + dlls/d3dx9_32/d3dx9_32.spec | 2 +- + dlls/d3dx9_33/d3dx9_33.spec | 2 +- + dlls/d3dx9_34/d3dx9_34.spec | 2 +- + dlls/d3dx9_35/d3dx9_35.spec | 2 +- + dlls/d3dx9_36/d3dx9_36.spec | 2 +- + dlls/d3dx9_36/mesh.c | 20 ++++++++++++++++++++ + dlls/d3dx9_37/d3dx9_37.spec | 2 +- + dlls/d3dx9_38/d3dx9_38.spec | 2 +- + dlls/d3dx9_39/d3dx9_39.spec | 2 +- + dlls/d3dx9_40/d3dx9_40.spec | 2 +- + dlls/d3dx9_41/d3dx9_41.spec | 2 +- + dlls/d3dx9_42/d3dx9_42.spec | 2 +- + dlls/d3dx9_43/d3dx9_43.spec | 2 +- + 21 files changed, 40 insertions(+), 20 deletions(-) + +diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec +index 0e9068c..ed77889 100644 +--- a/dlls/d3dx9_24/d3dx9_24.spec ++++ b/dlls/d3dx9_24/d3dx9_24.spec +@@ -22,7 +22,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_25/d3dx9_25.spec b/dlls/d3dx9_25/d3dx9_25.spec +index 0111580..2aead3d 100644 +--- a/dlls/d3dx9_25/d3dx9_25.spec ++++ b/dlls/d3dx9_25/d3dx9_25.spec +@@ -22,7 +22,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_26/d3dx9_26.spec b/dlls/d3dx9_26/d3dx9_26.spec +index b41f0c4..b1e5e7d 100644 +--- a/dlls/d3dx9_26/d3dx9_26.spec ++++ b/dlls/d3dx9_26/d3dx9_26.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_27/d3dx9_27.spec b/dlls/d3dx9_27/d3dx9_27.spec +index b41f0c4..b1e5e7d 100644 +--- a/dlls/d3dx9_27/d3dx9_27.spec ++++ b/dlls/d3dx9_27/d3dx9_27.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_28/d3dx9_28.spec b/dlls/d3dx9_28/d3dx9_28.spec +index e24b04a..2bc8b0b 100644 +--- a/dlls/d3dx9_28/d3dx9_28.spec ++++ b/dlls/d3dx9_28/d3dx9_28.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_29/d3dx9_29.spec b/dlls/d3dx9_29/d3dx9_29.spec +index e24b04a..2bc8b0b 100644 +--- a/dlls/d3dx9_29/d3dx9_29.spec ++++ b/dlls/d3dx9_29/d3dx9_29.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_30/d3dx9_30.spec b/dlls/d3dx9_30/d3dx9_30.spec +index 61ddf29..f182dc8 100644 +--- a/dlls/d3dx9_30/d3dx9_30.spec ++++ b/dlls/d3dx9_30/d3dx9_30.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_31/d3dx9_31.spec b/dlls/d3dx9_31/d3dx9_31.spec +index 5ddacc7..cf09a03 100644 +--- a/dlls/d3dx9_31/d3dx9_31.spec ++++ b/dlls/d3dx9_31/d3dx9_31.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_32/d3dx9_32.spec b/dlls/d3dx9_32/d3dx9_32.spec +index 7415ad6..e0cc67b 100644 +--- a/dlls/d3dx9_32/d3dx9_32.spec ++++ b/dlls/d3dx9_32/d3dx9_32.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_33/d3dx9_33.spec b/dlls/d3dx9_33/d3dx9_33.spec +index 7415ad6..e0cc67b 100644 +--- a/dlls/d3dx9_33/d3dx9_33.spec ++++ b/dlls/d3dx9_33/d3dx9_33.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_34/d3dx9_34.spec b/dlls/d3dx9_34/d3dx9_34.spec +index 7415ad6..e0cc67b 100644 +--- a/dlls/d3dx9_34/d3dx9_34.spec ++++ b/dlls/d3dx9_34/d3dx9_34.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_35/d3dx9_35.spec b/dlls/d3dx9_35/d3dx9_35.spec +index 7415ad6..e0cc67b 100644 +--- a/dlls/d3dx9_35/d3dx9_35.spec ++++ b/dlls/d3dx9_35/d3dx9_35.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec +index 13f0d99..54f57c9 100644 +--- a/dlls/d3dx9_36/d3dx9_36.spec ++++ b/dlls/d3dx9_36/d3dx9_36.spec +@@ -26,7 +26,7 @@ + @ stub D3DXComputeNormals(ptr ptr) + @ stub D3DXComputeTangent(ptr long long long long ptr) + @ stub D3DXComputeTangentFrame(ptr long) +-@ stub D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) + @ stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) + @ stub D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) + @ stub D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) +diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c +index 6f268f2..39ee53b 100644 +--- a/dlls/d3dx9_36/mesh.c ++++ b/dlls/d3dx9_36/mesh.c +@@ -7234,3 +7234,23 @@ HRESULT WINAPI D3DXOptimizeFaces(const void *indices, UINT num_faces, + error: + return hr; + } ++ ++/************************************************************************* ++ * D3DXComputeTangentFrameEx (D3DX9_36.@) ++ */ ++HRESULT WINAPI D3DXComputeTangentFrameEx(ID3DXMesh *Mesh, DWORD TextureInSemantic, DWORD TextureInIndex, ++ DWORD UPartialOutSemantic, DWORD UPartialOutIndex, DWORD VPartialOutSemantic, DWORD VPartialOutIndex, ++ DWORD NormalOutSemantic, DWORD NormalOutIndex, DWORD options, const DWORD *adjacency, ++ FLOAT PartialEdgeThreshold, FLOAT SingularPointThreshold, FLOAT NormalEdgeThreshold, ++ ID3DXMesh **MeshOut, ID3DXBuffer **VertexMapping) ++{ ++ FIXME("Mesh %p, TextureInSemantic %u, TextureInIndex %u, UPartialOutSemantic %u, UPartialOutIndex %u, " ++ "VPartialOutSemantic %u, VPartialOutIndex %u, NormalOutSemantic %u, NormalOutIndex %u, " ++ "options %x, adjacency %p, PartialEdgeThreshold %f, SingularPointThreshold %f, NormalEdgeThreshold %f, " ++ "MeshOut %p, VertexMapping %p stub.\n", ++ Mesh, TextureInSemantic, TextureInIndex, UPartialOutSemantic, UPartialOutIndex, VPartialOutSemantic, ++ VPartialOutIndex, NormalOutSemantic, NormalOutIndex, options, adjacency, PartialEdgeThreshold, ++ SingularPointThreshold, NormalEdgeThreshold, MeshOut, VertexMapping); ++ ++ return E_NOTIMPL; ++} +diff --git a/dlls/d3dx9_37/d3dx9_37.spec b/dlls/d3dx9_37/d3dx9_37.spec +index cc5d8fe..2200281 100644 +--- a/dlls/d3dx9_37/d3dx9_37.spec ++++ b/dlls/d3dx9_37/d3dx9_37.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_38/d3dx9_38.spec b/dlls/d3dx9_38/d3dx9_38.spec +index cc5d8fe..2200281 100644 +--- a/dlls/d3dx9_38/d3dx9_38.spec ++++ b/dlls/d3dx9_38/d3dx9_38.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_39/d3dx9_39.spec b/dlls/d3dx9_39/d3dx9_39.spec +index cc5d8fe..2200281 100644 +--- a/dlls/d3dx9_39/d3dx9_39.spec ++++ b/dlls/d3dx9_39/d3dx9_39.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_40/d3dx9_40.spec b/dlls/d3dx9_40/d3dx9_40.spec +index cc5d8fe..2200281 100644 +--- a/dlls/d3dx9_40/d3dx9_40.spec ++++ b/dlls/d3dx9_40/d3dx9_40.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_41/d3dx9_41.spec b/dlls/d3dx9_41/d3dx9_41.spec +index cc5d8fe..2200281 100644 +--- a/dlls/d3dx9_41/d3dx9_41.spec ++++ b/dlls/d3dx9_41/d3dx9_41.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_42/d3dx9_42.spec b/dlls/d3dx9_42/d3dx9_42.spec +index cc5d8fe..2200281 100644 +--- a/dlls/d3dx9_42/d3dx9_42.spec ++++ b/dlls/d3dx9_42/d3dx9_42.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +diff --git a/dlls/d3dx9_43/d3dx9_43.spec b/dlls/d3dx9_43/d3dx9_43.spec +index 0cb9e31..40406a4 100644 +--- a/dlls/d3dx9_43/d3dx9_43.spec ++++ b/dlls/d3dx9_43/d3dx9_43.spec +@@ -26,7 +26,7 @@ + @ stdcall D3DXComputeNormals(ptr ptr) d3dx9_36.D3DXComputeNormals + @ stdcall D3DXComputeTangent(ptr long long long long ptr) d3dx9_36.D3DXComputeTangent + @ stdcall D3DXComputeTangentFrame(ptr long) d3dx9_36.D3DXComputeTangentFrame +-@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr long long long ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx ++@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr) d3dx9_36.D3DXComputeTangentFrameEx + @ stdcall D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXConcatenateMeshes + @ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip + @ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips +-- +2.1.3 + diff --git a/patches/d3dx9_36-D3DXComputeTangentFrameEx/definition b/patches/d3dx9_36-D3DXComputeTangentFrameEx/definition new file mode 100644 index 00000000..d380579f --- /dev/null +++ b/patches/d3dx9_36-D3DXComputeTangentFrameEx/definition @@ -0,0 +1 @@ +Fixes: [31984] Add stub for D3DXComputeTangentFrameEx