From 98cd28be0d5771884db3212be93709e42c793fdc Mon Sep 17 00:00:00 2001 From: winesync Date: Sat, 4 Jan 2020 01:56:18 +0100 Subject: [PATCH] [WINESYNC]d3dx9_*: Add D3DXSHProjectCubeMap stub Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46284 wine-staging patch by Andrey Gusev --- dll/directx/wine/d3dx9_24/d3dx9_24.spec | 2 +- dll/directx/wine/d3dx9_25/d3dx9_25.spec | 2 +- dll/directx/wine/d3dx9_26/d3dx9_26.spec | 2 +- dll/directx/wine/d3dx9_27/d3dx9_27.spec | 2 +- dll/directx/wine/d3dx9_28/d3dx9_28.spec | 2 +- dll/directx/wine/d3dx9_29/d3dx9_29.spec | 2 +- dll/directx/wine/d3dx9_30/d3dx9_30.spec | 2 +- dll/directx/wine/d3dx9_31/d3dx9_31.spec | 2 +- dll/directx/wine/d3dx9_32/d3dx9_32.spec | 2 +- dll/directx/wine/d3dx9_33/d3dx9_33.spec | 2 +- dll/directx/wine/d3dx9_34/d3dx9_34.spec | 2 +- dll/directx/wine/d3dx9_35/d3dx9_35.spec | 2 +- dll/directx/wine/d3dx9_36/d3dx9_36.spec | 2 +- dll/directx/wine/d3dx9_36/math.c | 14 + dll/directx/wine/d3dx9_37/d3dx9_37.spec | 2 +- dll/directx/wine/d3dx9_38/d3dx9_38.spec | 2 +- dll/directx/wine/d3dx9_39/d3dx9_39.spec | 2 +- dll/directx/wine/d3dx9_40/d3dx9_40.spec | 2 +- dll/directx/wine/d3dx9_41/d3dx9_41.spec | 2 +- dll/directx/wine/d3dx9_42/d3dx9_42.spec | 2 +- dll/directx/wine/d3dx9_43/d3dx9_43.spec | 2 +- sdk/include/dxsdk/d3dx9math.h | 1 + ...3dx9____Add_D3DXSHProjectCubeMap_stub.diff | 297 ++++++++++++++++++ 23 files changed, 332 insertions(+), 20 deletions(-) create mode 100644 sdk/tools/winesync/d3dx9_staging/0010-d3dx9____Add_D3DXSHProjectCubeMap_stub.diff diff --git a/dll/directx/wine/d3dx9_24/d3dx9_24.spec b/dll/directx/wine/d3dx9_24/d3dx9_24.spec index b7d81740428..ad3ea3a036e 100644 --- a/dll/directx/wine/d3dx9_24/d3dx9_24.spec +++ b/dll/directx/wine/d3dx9_24/d3dx9_24.spec @@ -256,7 +256,7 @@ @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_25/d3dx9_25.spec b/dll/directx/wine/d3dx9_25/d3dx9_25.spec index 9a86cb84754..b54a8e16d10 100644 --- a/dll/directx/wine/d3dx9_25/d3dx9_25.spec +++ b/dll/directx/wine/d3dx9_25/d3dx9_25.spec @@ -256,7 +256,7 @@ @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_26/d3dx9_26.spec b/dll/directx/wine/d3dx9_26/d3dx9_26.spec index 85d2c3408b3..03542f07aae 100644 --- a/dll/directx/wine/d3dx9_26/d3dx9_26.spec +++ b/dll/directx/wine/d3dx9_26/d3dx9_26.spec @@ -260,7 +260,7 @@ @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_27/d3dx9_27.spec b/dll/directx/wine/d3dx9_27/d3dx9_27.spec index 85d2c3408b3..03542f07aae 100644 --- a/dll/directx/wine/d3dx9_27/d3dx9_27.spec +++ b/dll/directx/wine/d3dx9_27/d3dx9_27.spec @@ -260,7 +260,7 @@ @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_28/d3dx9_28.spec b/dll/directx/wine/d3dx9_28/d3dx9_28.spec index 95b6bc510f1..b470fb33606 100644 --- a/dll/directx/wine/d3dx9_28/d3dx9_28.spec +++ b/dll/directx/wine/d3dx9_28/d3dx9_28.spec @@ -265,7 +265,7 @@ @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_29/d3dx9_29.spec b/dll/directx/wine/d3dx9_29/d3dx9_29.spec index 95b6bc510f1..b470fb33606 100644 --- a/dll/directx/wine/d3dx9_29/d3dx9_29.spec +++ b/dll/directx/wine/d3dx9_29/d3dx9_29.spec @@ -265,7 +265,7 @@ @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_30/d3dx9_30.spec b/dll/directx/wine/d3dx9_30/d3dx9_30.spec index ed6cb55e75b..e90185a5b7d 100644 --- a/dll/directx/wine/d3dx9_30/d3dx9_30.spec +++ b/dll/directx/wine/d3dx9_30/d3dx9_30.spec @@ -265,7 +265,7 @@ @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_31/d3dx9_31.spec b/dll/directx/wine/d3dx9_31/d3dx9_31.spec index ecd12b659d4..b926ad5e085 100644 --- a/dll/directx/wine/d3dx9_31/d3dx9_31.spec +++ b/dll/directx/wine/d3dx9_31/d3dx9_31.spec @@ -262,7 +262,7 @@ @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_32/d3dx9_32.spec b/dll/directx/wine/d3dx9_32/d3dx9_32.spec index 3e5fb3f301f..a4d698bd4de 100644 --- a/dll/directx/wine/d3dx9_32/d3dx9_32.spec +++ b/dll/directx/wine/d3dx9_32/d3dx9_32.spec @@ -267,7 +267,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_33/d3dx9_33.spec b/dll/directx/wine/d3dx9_33/d3dx9_33.spec index 3e5fb3f301f..a4d698bd4de 100644 --- a/dll/directx/wine/d3dx9_33/d3dx9_33.spec +++ b/dll/directx/wine/d3dx9_33/d3dx9_33.spec @@ -267,7 +267,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_34/d3dx9_34.spec b/dll/directx/wine/d3dx9_34/d3dx9_34.spec index 3e5fb3f301f..a4d698bd4de 100644 --- a/dll/directx/wine/d3dx9_34/d3dx9_34.spec +++ b/dll/directx/wine/d3dx9_34/d3dx9_34.spec @@ -267,7 +267,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_35/d3dx9_35.spec b/dll/directx/wine/d3dx9_35/d3dx9_35.spec index 3e5fb3f301f..a4d698bd4de 100644 --- a/dll/directx/wine/d3dx9_35/d3dx9_35.spec +++ b/dll/directx/wine/d3dx9_35/d3dx9_35.spec @@ -267,7 +267,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_36/d3dx9_36.spec b/dll/directx/wine/d3dx9_36/d3dx9_36.spec index 544b744b2b8..3b5fdcc45dc 100644 --- a/dll/directx/wine/d3dx9_36/d3dx9_36.spec +++ b/dll/directx/wine/d3dx9_36/d3dx9_36.spec @@ -269,7 +269,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_36/math.c b/dll/directx/wine/d3dx9_36/math.c index 08e51b765e7..976610c15e9 100644 --- a/dll/directx/wine/d3dx9_36/math.c +++ b/dll/directx/wine/d3dx9_36/math.c @@ -2969,6 +2969,20 @@ static void rotate_X(FLOAT *out, UINT order, FLOAT a, FLOAT *in) out[35] = 0.9057110548f * in[31] - 0.4192627370f * in[33] + 0.0624999329f * in[35]; } +HRESULT WINAPI D3DXSHProjectCubeMap(UINT order, IDirect3DCubeTexture9 *cubemap, FLOAT *rout, FLOAT *gout, FLOAT *bout) +{ + FIXME("order %u, cubemap %p, rout %p, gout %p, bout %p: stub!\n", order, cubemap, rout, gout, bout); + + if(!cubemap || order < D3DXSH_MINORDER || order > D3DXSH_MAXORDER) + return D3DERR_INVALIDCALL; + + *rout = 0.0f; + *gout = 0.0f; + *bout = 0.0f; + + return D3D_OK; +} + FLOAT* WINAPI D3DXSHRotate(FLOAT *out, UINT order, const D3DXMATRIX *matrix, const FLOAT *in) { FLOAT alpha, beta, gamma, sinb, temp[36], temp1[36]; diff --git a/dll/directx/wine/d3dx9_37/d3dx9_37.spec b/dll/directx/wine/d3dx9_37/d3dx9_37.spec index 544b744b2b8..3b5fdcc45dc 100644 --- a/dll/directx/wine/d3dx9_37/d3dx9_37.spec +++ b/dll/directx/wine/d3dx9_37/d3dx9_37.spec @@ -269,7 +269,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_38/d3dx9_38.spec b/dll/directx/wine/d3dx9_38/d3dx9_38.spec index 544b744b2b8..3b5fdcc45dc 100644 --- a/dll/directx/wine/d3dx9_38/d3dx9_38.spec +++ b/dll/directx/wine/d3dx9_38/d3dx9_38.spec @@ -269,7 +269,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_39/d3dx9_39.spec b/dll/directx/wine/d3dx9_39/d3dx9_39.spec index 544b744b2b8..3b5fdcc45dc 100644 --- a/dll/directx/wine/d3dx9_39/d3dx9_39.spec +++ b/dll/directx/wine/d3dx9_39/d3dx9_39.spec @@ -269,7 +269,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_40/d3dx9_40.spec b/dll/directx/wine/d3dx9_40/d3dx9_40.spec index 544b744b2b8..3b5fdcc45dc 100644 --- a/dll/directx/wine/d3dx9_40/d3dx9_40.spec +++ b/dll/directx/wine/d3dx9_40/d3dx9_40.spec @@ -269,7 +269,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_41/d3dx9_41.spec b/dll/directx/wine/d3dx9_41/d3dx9_41.spec index 544b744b2b8..3b5fdcc45dc 100644 --- a/dll/directx/wine/d3dx9_41/d3dx9_41.spec +++ b/dll/directx/wine/d3dx9_41/d3dx9_41.spec @@ -269,7 +269,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_42/d3dx9_42.spec b/dll/directx/wine/d3dx9_42/d3dx9_42.spec index f4e70364e9b..3a681e3edfa 100644 --- a/dll/directx/wine/d3dx9_42/d3dx9_42.spec +++ b/dll/directx/wine/d3dx9_42/d3dx9_42.spec @@ -262,7 +262,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/dll/directx/wine/d3dx9_43/d3dx9_43.spec b/dll/directx/wine/d3dx9_43/d3dx9_43.spec index f4e70364e9b..3a681e3edfa 100644 --- a/dll/directx/wine/d3dx9_43/d3dx9_43.spec +++ b/dll/directx/wine/d3dx9_43/d3dx9_43.spec @@ -262,7 +262,7 @@ @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) -@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) +@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) @ stdcall D3DXSHRotate(ptr long ptr ptr) @ stdcall D3DXSHRotateZ(ptr long float ptr) @ stdcall D3DXSHScale(ptr long ptr float) diff --git a/sdk/include/dxsdk/d3dx9math.h b/sdk/include/dxsdk/d3dx9math.h index 2c41b73d423..7aed21e3ee3 100644 --- a/sdk/include/dxsdk/d3dx9math.h +++ b/sdk/include/dxsdk/d3dx9math.h @@ -396,6 +396,7 @@ HRESULT WINAPI D3DXSHEvalSphericalLight(UINT order, const D3DXVECTOR3 *dir, FLOA FLOAT* WINAPI D3DXSHMultiply2(FLOAT *out, const FLOAT *a, const FLOAT *b); FLOAT* WINAPI D3DXSHMultiply3(FLOAT *out, const FLOAT *a, const FLOAT *b); FLOAT* WINAPI D3DXSHMultiply4(FLOAT *out, const FLOAT *a, const FLOAT *b); +HRESULT WINAPI D3DXSHProjectCubeMap(UINT order, IDirect3DCubeTexture9 *cubemap, FLOAT *rout, FLOAT *gout, FLOAT *bout); FLOAT* WINAPI D3DXSHRotate(FLOAT *out, UINT order, const D3DXMATRIX *matrix, const FLOAT *in); FLOAT* WINAPI D3DXSHRotateZ(FLOAT *out, UINT order, FLOAT angle, const FLOAT *in); FLOAT* WINAPI D3DXSHScale(FLOAT *out, UINT order, const FLOAT *a, const FLOAT scale); diff --git a/sdk/tools/winesync/d3dx9_staging/0010-d3dx9____Add_D3DXSHProjectCubeMap_stub.diff b/sdk/tools/winesync/d3dx9_staging/0010-d3dx9____Add_D3DXSHProjectCubeMap_stub.diff new file mode 100644 index 00000000000..322d9f16dff --- /dev/null +++ b/sdk/tools/winesync/d3dx9_staging/0010-d3dx9____Add_D3DXSHProjectCubeMap_stub.diff @@ -0,0 +1,297 @@ +diff --git a/dll/directx/wine/d3dx9_24/d3dx9_24.spec b/dll/directx/wine/d3dx9_24/d3dx9_24.spec +index b7d81740..ad3ea3a0 100644 +--- a/dll/directx/wine/d3dx9_24/d3dx9_24.spec ++++ b/dll/directx/wine/d3dx9_24/d3dx9_24.spec +@@ -256,7 +256,7 @@ + @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_25/d3dx9_25.spec b/dll/directx/wine/d3dx9_25/d3dx9_25.spec +index 9a86cb84..b54a8e16 100644 +--- a/dll/directx/wine/d3dx9_25/d3dx9_25.spec ++++ b/dll/directx/wine/d3dx9_25/d3dx9_25.spec +@@ -256,7 +256,7 @@ + @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_26/d3dx9_26.spec b/dll/directx/wine/d3dx9_26/d3dx9_26.spec +index 85d2c340..03542f07 100644 +--- a/dll/directx/wine/d3dx9_26/d3dx9_26.spec ++++ b/dll/directx/wine/d3dx9_26/d3dx9_26.spec +@@ -260,7 +260,7 @@ + @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_27/d3dx9_27.spec b/dll/directx/wine/d3dx9_27/d3dx9_27.spec +index 85d2c340..03542f07 100644 +--- a/dll/directx/wine/d3dx9_27/d3dx9_27.spec ++++ b/dll/directx/wine/d3dx9_27/d3dx9_27.spec +@@ -260,7 +260,7 @@ + @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_28/d3dx9_28.spec b/dll/directx/wine/d3dx9_28/d3dx9_28.spec +index 95b6bc51..b470fb33 100644 +--- a/dll/directx/wine/d3dx9_28/d3dx9_28.spec ++++ b/dll/directx/wine/d3dx9_28/d3dx9_28.spec +@@ -265,7 +265,7 @@ + @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_29/d3dx9_29.spec b/dll/directx/wine/d3dx9_29/d3dx9_29.spec +index 95b6bc51..b470fb33 100644 +--- a/dll/directx/wine/d3dx9_29/d3dx9_29.spec ++++ b/dll/directx/wine/d3dx9_29/d3dx9_29.spec +@@ -265,7 +265,7 @@ + @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_30/d3dx9_30.spec b/dll/directx/wine/d3dx9_30/d3dx9_30.spec +index ed6cb55e..e90185a5 100644 +--- a/dll/directx/wine/d3dx9_30/d3dx9_30.spec ++++ b/dll/directx/wine/d3dx9_30/d3dx9_30.spec +@@ -265,7 +265,7 @@ + @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_31/d3dx9_31.spec b/dll/directx/wine/d3dx9_31/d3dx9_31.spec +index ecd12b65..b926ad5e 100644 +--- a/dll/directx/wine/d3dx9_31/d3dx9_31.spec ++++ b/dll/directx/wine/d3dx9_31/d3dx9_31.spec +@@ -262,7 +262,7 @@ + @ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_32/d3dx9_32.spec b/dll/directx/wine/d3dx9_32/d3dx9_32.spec +index 3e5fb3f3..a4d698bd 100644 +--- a/dll/directx/wine/d3dx9_32/d3dx9_32.spec ++++ b/dll/directx/wine/d3dx9_32/d3dx9_32.spec +@@ -267,7 +267,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_33/d3dx9_33.spec b/dll/directx/wine/d3dx9_33/d3dx9_33.spec +index 3e5fb3f3..a4d698bd 100644 +--- a/dll/directx/wine/d3dx9_33/d3dx9_33.spec ++++ b/dll/directx/wine/d3dx9_33/d3dx9_33.spec +@@ -267,7 +267,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_34/d3dx9_34.spec b/dll/directx/wine/d3dx9_34/d3dx9_34.spec +index 3e5fb3f3..a4d698bd 100644 +--- a/dll/directx/wine/d3dx9_34/d3dx9_34.spec ++++ b/dll/directx/wine/d3dx9_34/d3dx9_34.spec +@@ -267,7 +267,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_35/d3dx9_35.spec b/dll/directx/wine/d3dx9_35/d3dx9_35.spec +index 3e5fb3f3..a4d698bd 100644 +--- a/dll/directx/wine/d3dx9_35/d3dx9_35.spec ++++ b/dll/directx/wine/d3dx9_35/d3dx9_35.spec +@@ -267,7 +267,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_36/d3dx9_36.spec b/dll/directx/wine/d3dx9_36/d3dx9_36.spec +index 544b744b..3b5fdcc4 100644 +--- a/dll/directx/wine/d3dx9_36/d3dx9_36.spec ++++ b/dll/directx/wine/d3dx9_36/d3dx9_36.spec +@@ -269,7 +269,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_36/math.c b/dll/directx/wine/d3dx9_36/math.c +index 08e51b76..976610c1 100644 +--- a/dll/directx/wine/d3dx9_36/math.c ++++ b/dll/directx/wine/d3dx9_36/math.c +@@ -2969,6 +2969,20 @@ static void rotate_X(FLOAT *out, UINT order, FLOAT a, FLOAT *in) + out[35] = 0.9057110548f * in[31] - 0.4192627370f * in[33] + 0.0624999329f * in[35]; + } + ++HRESULT WINAPI D3DXSHProjectCubeMap(UINT order, IDirect3DCubeTexture9 *cubemap, FLOAT *rout, FLOAT *gout, FLOAT *bout) ++{ ++ FIXME("order %u, cubemap %p, rout %p, gout %p, bout %p: stub!\n", order, cubemap, rout, gout, bout); ++ ++ if(!cubemap || order < D3DXSH_MINORDER || order > D3DXSH_MAXORDER) ++ return D3DERR_INVALIDCALL; ++ ++ *rout = 0.0f; ++ *gout = 0.0f; ++ *bout = 0.0f; ++ ++ return D3D_OK; ++} ++ + FLOAT* WINAPI D3DXSHRotate(FLOAT *out, UINT order, const D3DXMATRIX *matrix, const FLOAT *in) + { + FLOAT alpha, beta, gamma, sinb, temp[36], temp1[36]; +diff --git a/dll/directx/wine/d3dx9_37/d3dx9_37.spec b/dll/directx/wine/d3dx9_37/d3dx9_37.spec +index 544b744b..3b5fdcc4 100644 +--- a/dll/directx/wine/d3dx9_37/d3dx9_37.spec ++++ b/dll/directx/wine/d3dx9_37/d3dx9_37.spec +@@ -269,7 +269,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_38/d3dx9_38.spec b/dll/directx/wine/d3dx9_38/d3dx9_38.spec +index 544b744b..3b5fdcc4 100644 +--- a/dll/directx/wine/d3dx9_38/d3dx9_38.spec ++++ b/dll/directx/wine/d3dx9_38/d3dx9_38.spec +@@ -269,7 +269,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_39/d3dx9_39.spec b/dll/directx/wine/d3dx9_39/d3dx9_39.spec +index 544b744b..3b5fdcc4 100644 +--- a/dll/directx/wine/d3dx9_39/d3dx9_39.spec ++++ b/dll/directx/wine/d3dx9_39/d3dx9_39.spec +@@ -269,7 +269,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_40/d3dx9_40.spec b/dll/directx/wine/d3dx9_40/d3dx9_40.spec +index 544b744b..3b5fdcc4 100644 +--- a/dll/directx/wine/d3dx9_40/d3dx9_40.spec ++++ b/dll/directx/wine/d3dx9_40/d3dx9_40.spec +@@ -269,7 +269,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_41/d3dx9_41.spec b/dll/directx/wine/d3dx9_41/d3dx9_41.spec +index 544b744b..3b5fdcc4 100644 +--- a/dll/directx/wine/d3dx9_41/d3dx9_41.spec ++++ b/dll/directx/wine/d3dx9_41/d3dx9_41.spec +@@ -269,7 +269,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_42/d3dx9_42.spec b/dll/directx/wine/d3dx9_42/d3dx9_42.spec +index f4e70364..3a681e3e 100644 +--- a/dll/directx/wine/d3dx9_42/d3dx9_42.spec ++++ b/dll/directx/wine/d3dx9_42/d3dx9_42.spec +@@ -262,7 +262,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/dll/directx/wine/d3dx9_43/d3dx9_43.spec b/dll/directx/wine/d3dx9_43/d3dx9_43.spec +index f4e70364..3a681e3e 100644 +--- a/dll/directx/wine/d3dx9_43/d3dx9_43.spec ++++ b/dll/directx/wine/d3dx9_43/d3dx9_43.spec +@@ -262,7 +262,7 @@ + @ stdcall -stub D3DXSHMultiply6(ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr) + @ stdcall -stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) +-@ stdcall -stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr) ++@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr) + @ stdcall D3DXSHRotate(ptr long ptr ptr) + @ stdcall D3DXSHRotateZ(ptr long float ptr) + @ stdcall D3DXSHScale(ptr long ptr float) +diff --git a/sdk/include/dxsdk/d3dx9math.h b/sdk/include/dxsdk/d3dx9math.h +index 2c41b73d..7aed21e3 100644 +--- a/sdk/include/dxsdk/d3dx9math.h ++++ b/sdk/include/dxsdk/d3dx9math.h +@@ -396,6 +396,7 @@ HRESULT WINAPI D3DXSHEvalSphericalLight(UINT order, const D3DXVECTOR3 *dir, FLOA + FLOAT* WINAPI D3DXSHMultiply2(FLOAT *out, const FLOAT *a, const FLOAT *b); + FLOAT* WINAPI D3DXSHMultiply3(FLOAT *out, const FLOAT *a, const FLOAT *b); + FLOAT* WINAPI D3DXSHMultiply4(FLOAT *out, const FLOAT *a, const FLOAT *b); ++HRESULT WINAPI D3DXSHProjectCubeMap(UINT order, IDirect3DCubeTexture9 *cubemap, FLOAT *rout, FLOAT *gout, FLOAT *bout); + FLOAT* WINAPI D3DXSHRotate(FLOAT *out, UINT order, const D3DXMATRIX *matrix, const FLOAT *in); + FLOAT* WINAPI D3DXSHRotateZ(FLOAT *out, UINT order, FLOAT angle, const FLOAT *in); + FLOAT* WINAPI D3DXSHScale(FLOAT *out, UINT order, const FLOAT *a, const FLOAT scale);