http://bugs.winehq.org/show_bug.cgi?id=25138
--- Comment #4 from Rico kgbricola@web.de 2011-09-26 07:07:52 CDT --- The game uses d3dx9_25, so I suspect using d3dx9_25 is enough. I tend to say it's the same problem as bug 26258 but I didn't had a look at d3dx9_30 yet. There seems to be a difference in the effect interface.
Effects 24,25 (February 2005) IID_ID3DXEffect = 0xd165ccb1, 0x62b0, 0x4a33, 0xb3, 0xfa, 0xa9, 0x23, 0x0, 0x30, 0x5a, 0x11 +CloneEffect
Effects 26 (June 2005) IID_ID3DXEffect = 0xc7b17651, 0x5420, 0x490e, 0x8a, 0x7f, 0x92, 0x36, 0x75, 0xa2, 0xd6, 0x87 +DeleteParameterBlock +CloneEffect
Effects 27 (Aug 2005) IID_ID3DXEffect = 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0xc, 0xd5 +DeleteParameterBlock
+CloneEffect +SetRawValue
Actually the game likes to clone the effect, but gets DeleteParameterBlock. This could be seen in the log, where the device pointer is send to DeleteParameterBlock. - D3DXCreateEffectEx (*0x132510*, ... - DeleteParameterBlock (0x207678)->(*0x132510*)