http://bugs.winehq.org/show_bug.cgi?id=48598
Connor McAdams cmcadams@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cmcadams@codeweavers.com
--- Comment #1 from Connor McAdams cmcadams@codeweavers.com --- The crash here is an access violation when trying to dereference the interface pointer returned by GetTrackAnimationSet():
7730.260:0138:013c:fixme:d3dx:d3dx9_animation_controller_GetTrackAnimationSet iface 000000000F7DB550, track 0, anim_set 000000000011DC20 stub. 7730.260:0138:013c:warn:seh:dispatch_exception backtrace: --- Exception 0xc0000005. 7730.260:0138:013c:trace:seh:dispatch_exception code=c0000005 (EXCEPTION_ACCESS_VIOLATION) flags=0 addr=00000001406B754A
Storing the animation set passed into RegisterAnimationSet() and returning it from GetTrackAnimationSet() is enough to stop the game from crashing. I'll try to get an upstream MR for that.
This gets the game running, but it has rendering issues. The game uses SetRawValue() on a D3DXPC_STRUCT effect parameter:
27225.914:0138:013c:fixme:d3dx:d3dx_effect_SetRawValue Unhandled parameter class D3DXPC_STRUCT.
It's a structure with multiple vec3s. I hacked in support for that and the game runs and renders fine with builtin d3dx9. Once this bug is fixed, we'll likely need a separate bug report for the SetRawValue() bug.