https://bugs.winehq.org/show_bug.cgi?id=22039
Sergey Isakov isakov-sl@bk.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |isakov-sl@bk.ru
--- Comment #15 from Sergey Isakov isakov-sl@bk.ru --- Let me add some observations. The game installed just fine. If I made this implementation ~~~~ static HRESULT WINAPI d3drm_viewport1_SetAppData(IDirect3DRMViewport *iface, DWORD data) { struct d3drm_viewport *viewport = impl_from_IDirect3DRMViewport(iface); FIXME("iface %p, data %#x semistub!\n", iface, data);
viewport->user_data = data;
return S_OK; //E_NOTIMPL; } ~~~~ then the crash will happen later ~~~ fixme:d3drm:d3drm_viewport1_SetAppData iface 0x1799f8, data 0x3733e8 semistub! fixme:d3drm:d3drm_viewport1_AddDestroyCallback iface 0x1799f8, cb 0x100a1240, ctx 0x3733e8 stub! fixme:d3drm:d3drm_viewport1_SetAppData iface 0x1799f8, data 0 semistub! Feb 29 14:44:03 Sergeys-iMac.local isle.exe[46597] <Error>: CGContextGetCTM: invalid context 0x0 Feb 29 14:44:03 Sergeys-iMac.local isle.exe[46597] <Error>: CGContextSetBaseCTM: invalid context 0x0 Feb 29 14:44:12 Sergeys-iMac.local isle.exe[46597] <Error>: CGContextGetCTM: invalid context 0x0 Feb 29 14:44:12 Sergeys-iMac.local isle.exe[46597] <Error>: CGContextSetBaseCTM: invalid context 0x0 err:ddraw:DllMain (0x163b30) EnumSurfaces failed, prepare for trouble err:ddraw:DllMain (0x163b30) EnumSurfaces failed, prepare for trouble err:ddraw:DllMain DDraw 0x163b30 still has surfaces attached. ~~~ see same address for context of AddDestroyCallback and data of SetAppData. It seems AddDestroyCallback should be more implemented.
And I have a doubt about GetAppData() According to MSDN the function will return HResult HRESULT retVal = object.GetAppData(pdwAppData); where data will be in argument pdwAppData [out] Type: DWORD_PTR While current wine implementation declare this function as static DWORD WINAPI d3drm_viewport1_GetAppData(IDirect3DRMTexture *iface) is this the bug?
This game uses many unimplemented functions so I can't make it working.