diff --git a/patches/d3dx9_36-D3DXCreateAnimationController/0001-d3dx9_36-Implement-D3DXCreateAnimationController-wit.patch b/patches/d3dx9_36-AnimationController/0001-d3dx9_36-Implement-D3DXCreateAnimationController-wit.patch similarity index 87% rename from patches/d3dx9_36-D3DXCreateAnimationController/0001-d3dx9_36-Implement-D3DXCreateAnimationController-wit.patch rename to patches/d3dx9_36-AnimationController/0001-d3dx9_36-Implement-D3DXCreateAnimationController-wit.patch index 99f09aaa..c9cf3752 100644 --- a/patches/d3dx9_36-D3DXCreateAnimationController/0001-d3dx9_36-Implement-D3DXCreateAnimationController-wit.patch +++ b/patches/d3dx9_36-AnimationController/0001-d3dx9_36-Implement-D3DXCreateAnimationController-wit.patch @@ -1,4 +1,4 @@ -From 68e6f505ad61148ddd881f00d9a03ce7185a8797 Mon Sep 17 00:00:00 2001 +From 9ec1a00c3d775cd5abd91ec88af216d669136152 Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Sat, 17 Jan 2015 23:54:14 +0100 Subject: d3dx9_36: Implement D3DXCreateAnimationController with a stubbed @@ -8,7 +8,8 @@ Subject: d3dx9_36: Implement D3DXCreateAnimationController with a stubbed dlls/d3dx9_36/Makefile.in | 1 + dlls/d3dx9_36/animation.c | 455 ++++++++++++++++++++++++++++++++++++++++++++ dlls/d3dx9_36/d3dx9_36.spec | 2 +- - 3 files changed, 457 insertions(+), 1 deletion(-) + include/d3dx9anim.h | 8 +- + 4 files changed, 461 insertions(+), 5 deletions(-) create mode 100644 dlls/d3dx9_36/animation.c diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in @@ -497,6 +498,39 @@ index 13f0d99..4182f59 100644 @ stdcall D3DXCreateBox(ptr float float float ptr ptr) @ stdcall D3DXCreateBuffer(long ptr) @ stub D3DXCreateCompressedAnimationSet(ptr long long ptr long ptr ptr) +diff --git a/include/d3dx9anim.h b/include/d3dx9anim.h +index b5f2232..c4d4d64 100644 +--- a/include/d3dx9anim.h ++++ b/include/d3dx9anim.h +@@ -327,7 +327,7 @@ DECLARE_INTERFACE_(ID3DXAnimationController, IUnknown) + STDMETHOD_(UINT, GetNumAnimationSets)(THIS) PURE; + STDMETHOD(GetAnimationSet)(THIS_ UINT index, ID3DXAnimationSet **anim_set) PURE; + STDMETHOD(GetAnimationSetByName)(THIS_ const char *name, ID3DXAnimationSet **anim_set) PURE; +- STDMETHOD(AdvanceTime)(THIS_ double time_delta, ID3DXAnimationCallbackHandler **callback_handler) PURE; ++ STDMETHOD(AdvanceTime)(THIS_ DOUBLE time_delta, ID3DXAnimationCallbackHandler **callback_handler) PURE; + STDMETHOD(ResetTime)(THIS) PURE; + STDMETHOD_(DOUBLE, GetTime)(THIS) PURE; + STDMETHOD(SetTrackAnimationSet)(THIS_ UINT track, ID3DXAnimationSet *anim_set) PURE; +@@ -337,8 +337,8 @@ DECLARE_INTERFACE_(ID3DXAnimationController, IUnknown) + STDMETHOD(SetTrackWeight)(THIS_ UINT track, FLOAT weight) PURE; + STDMETHOD(SetTrackPosition)(THIS_ UINT track, DOUBLE position) PURE; + STDMETHOD(SetTrackEnable)(THIS_ UINT track, BOOL enable) PURE; +- STDMETHOD(SetTrackDesc)(THIS_ UINT track, LPD3DXTRACK_DESC desc) PURE; +- STDMETHOD(GetTrackDesc)(THIS_ UINT track, LPD3DXTRACK_DESC desc) PURE; ++ STDMETHOD(SetTrackDesc)(THIS_ UINT track, D3DXTRACK_DESC *desc) PURE; ++ STDMETHOD(GetTrackDesc)(THIS_ UINT track, D3DXTRACK_DESC *desc) PURE; + STDMETHOD(SetPriorityBlend)(THIS_ FLOAT blend_weight) PURE; + STDMETHOD_(FLOAT, GetPriorityBlend)(THIS) PURE; + STDMETHOD_(D3DXEVENTHANDLE, KeyTrackSpeed)(THIS_ UINT track, FLOAT new_speed, +@@ -357,7 +357,7 @@ DECLARE_INTERFACE_(ID3DXAnimationController, IUnknown) + STDMETHOD_(D3DXEVENTHANDLE, GetUpcomingTrackEvent)(THIS_ UINT track, D3DXEVENTHANDLE event) PURE; + STDMETHOD_(D3DXEVENTHANDLE, GetUpcomingPriorityBlend)(THIS_ D3DXEVENTHANDLE handle) PURE; + STDMETHOD(ValidateEvent)(THIS_ D3DXEVENTHANDLE event) PURE; +- STDMETHOD(GetEventDesc)(THIS_ D3DXEVENTHANDLE event, LPD3DXEVENT_DESC desc) PURE; ++ STDMETHOD(GetEventDesc)(THIS_ D3DXEVENTHANDLE event, D3DXEVENT_DESC *desc) PURE; + STDMETHOD(CloneAnimationController)(THIS_ UINT max_num_anim_outputs, UINT max_num_anim_sets, + UINT max_num_tracks, UINT max_num_events, ID3DXAnimationController **anim_controller) PURE; + }; -- 2.2.1 diff --git a/patches/d3dx9_36-D3DXCreateAnimationController/definition b/patches/d3dx9_36-AnimationController/definition similarity index 100% rename from patches/d3dx9_36-D3DXCreateAnimationController/definition rename to patches/d3dx9_36-AnimationController/definition diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 349fc8a6..3efbfb55 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -63,8 +63,8 @@ patch_enable_all () enable_comctl32_LoadIconMetric="$1" enable_configure_Absolute_RPATH="$1" enable_d3d9_Surface_Refcount="$1" + enable_d3dx9_36_AnimationController="$1" enable_d3dx9_36_ConvertToIndexedBlended="$1" - enable_d3dx9_36_D3DXCreateAnimationController="$1" enable_d3dx9_36_D3DXStubs="$1" enable_d3dx9_36_DDS="$1" enable_d3dx9_36_DXTn="$1" @@ -214,12 +214,12 @@ patch_enable () d3d9-Surface_Refcount) enable_d3d9_Surface_Refcount="$2" ;; + d3dx9_36-AnimationController) + enable_d3dx9_36_AnimationController="$2" + ;; d3dx9_36-ConvertToIndexedBlended) enable_d3dx9_36_ConvertToIndexedBlended="$2" ;; - d3dx9_36-D3DXCreateAnimationController) - enable_d3dx9_36_D3DXCreateAnimationController="$2" - ;; d3dx9_36-D3DXStubs) enable_d3dx9_36_D3DXStubs="$2" ;; @@ -857,9 +857,9 @@ if test "$enable_ntdll_Junction_Points" -eq 1; then enable_ntdll_Fix_Free=1 fi -if test "$enable_d3dx9_36_D3DXCreateAnimationController" -eq 1; then +if test "$enable_d3dx9_36_AnimationController" -eq 1; then if test "$enable_d3dx9_36_DXTn" -gt 1; then - abort "Patchset d3dx9_36-DXTn disabled, but d3dx9_36-D3DXCreateAnimationController depends on that." + abort "Patchset d3dx9_36-DXTn disabled, but d3dx9_36-AnimationController depends on that." fi enable_d3dx9_36_DXTn=1 fi @@ -1076,21 +1076,6 @@ if test "$enable_d3d9_Surface_Refcount" -eq 1; then ) >> "$patchlist" fi -# Patchset d3dx9_36-ConvertToIndexedBlended -# | -# | This patchset fixes the following Wine bugs: -# | * [#36449] Fix parameters for ConvertToIndexedBlendedMesh stub -# | -# | Modified files: -# | * dlls/d3dx9_36/skin.c, include/d3dx9mesh.h -# | -if test "$enable_d3dx9_36_ConvertToIndexedBlended" -eq 1; then - patch_apply d3dx9_36-ConvertToIndexedBlended/0001-d3dx9_36-Fix-d3dx9_skin_info_ConvertToIndexedBlended.patch - ( - echo '+ { "Christian Costa", "d3dx9_36: Fix d3dx9_skin_info_ConvertToIndexedBlendedMesh stub.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-DXTn # | # | This patchset fixes the following Wine bugs: @@ -1133,18 +1118,33 @@ if test "$enable_d3dx9_36_DXTn" -eq 1; then ) >> "$patchlist" fi -# Patchset d3dx9_36-D3DXCreateAnimationController +# Patchset d3dx9_36-AnimationController # | # | Modified files: -# | * dlls/d3dx9_36/Makefile.in, dlls/d3dx9_36/animation.c, dlls/d3dx9_36/d3dx9_36.spec +# | * dlls/d3dx9_36/Makefile.in, dlls/d3dx9_36/animation.c, dlls/d3dx9_36/d3dx9_36.spec, include/d3dx9anim.h # | -if test "$enable_d3dx9_36_D3DXCreateAnimationController" -eq 1; then - patch_apply d3dx9_36-D3DXCreateAnimationController/0001-d3dx9_36-Implement-D3DXCreateAnimationController-wit.patch +if test "$enable_d3dx9_36_AnimationController" -eq 1; then + patch_apply d3dx9_36-AnimationController/0001-d3dx9_36-Implement-D3DXCreateAnimationController-wit.patch ( echo '+ { "Christian Costa", "d3dx9_36: Implement D3DXCreateAnimationController with a stubbed ID3DXAnimationController interface.", 1 },'; ) >> "$patchlist" fi +# Patchset d3dx9_36-ConvertToIndexedBlended +# | +# | This patchset fixes the following Wine bugs: +# | * [#36449] Fix parameters for ConvertToIndexedBlendedMesh stub +# | +# | Modified files: +# | * dlls/d3dx9_36/skin.c, include/d3dx9mesh.h +# | +if test "$enable_d3dx9_36_ConvertToIndexedBlended" -eq 1; then + patch_apply d3dx9_36-ConvertToIndexedBlended/0001-d3dx9_36-Fix-d3dx9_skin_info_ConvertToIndexedBlended.patch + ( + echo '+ { "Christian Costa", "d3dx9_36: Fix d3dx9_skin_info_ConvertToIndexedBlendedMesh stub.", 1 },'; + ) >> "$patchlist" +fi + # Patchset d3dx9_36-D3DXStubs # | # | This patchset fixes the following Wine bugs: