Module: wine Branch: master Commit: fa608e247a114a266e7eff213d8eda9b2451612a URL: http://source.winehq.org/git/wine.git/?a=commit;h=fa608e247a114a266e7eff213d...
Author: Rico Schüller kgbricola@web.de Date: Mon Apr 18 10:57:53 2011 +0200
d3dx9: Implement ID3DXBaseEffect::GetTechniqueByName().
---
dlls/d3dx9_36/effect.c | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c index f11b755..fefb3b4 100644 --- a/dlls/d3dx9_36/effect.c +++ b/dlls/d3dx9_36/effect.c @@ -605,8 +605,28 @@ static D3DXHANDLE WINAPI ID3DXBaseEffectImpl_GetTechnique(ID3DXBaseEffect *iface static D3DXHANDLE WINAPI ID3DXBaseEffectImpl_GetTechniqueByName(ID3DXBaseEffect *iface, LPCSTR name) { struct ID3DXBaseEffectImpl *This = impl_from_ID3DXBaseEffect(iface); + unsigned int i;
- FIXME("iface %p, name %s stub\n", This, debugstr_a(name)); + TRACE("iface %p, name %s stub\n", This, debugstr_a(name)); + + if (!name) + { + WARN("Invalid argument specified.\n"); + return NULL; + } + + for (i = 0; i < This->technique_count; ++i) + { + struct d3dx_technique *tech = get_technique_struct(This->technique_handles[i]); + + if (!strcmp(tech->name, name)) + { + TRACE("Returning technique %p\n", This->technique_handles[i]); + return This->technique_handles[i]; + } + } + + WARN("Invalid argument specified.\n");
return NULL; }