https://bugs.winehq.org/show_bug.cgi?id=22039
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Component|-unknown |directx-d3d Summary|Lego Island: failed to |LEGO Island (Mindscape) |start. |fails to start | |(Direct3DRMViewport::SetApp | |Data() and | |IDirect3DRMViewport::GetApp | |Data() are stubs) Ever confirmed|0 |1
--- Comment #11 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming. Thanks to people still seeding this ancient stuff I got a copy for investigation.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/LEGO Island
$ WINEDEBUG=+tid,+seh,+relay,+d3d,+d3drm wine ./LEGOIsle.exe >>log.txt 2>&1 ... 0028:Call KERNEL32.CreateProcessW(0033f4b4 L"isle.exe",00421438 L"isle.exe /diskstream /script \lego\scripts\isle\isle.si",00000000,00000000,00000001,00000400,00000000,00000000,0033f6cc,0033f6bc) ret=7e5366c8 ... 002a:Call KERNEL32.__wine_kernel_init() ret=7bc6c8df 0028:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7e5366c8 ... 002a:Call d3drm.Direct3DRMCreate(0033f4f8) ret=100a1671 ... 002a:Ret d3drm.Direct3DRMCreate() retval=00000000 ret=100a1671 002a:trace:d3drm:d3drm1_QueryInterface iface 0x1c8d50, riid {4516ecc8-8f20-11d0-9b6d-0000c0781bc3}, out 0x1010103c. ... 002a:trace:d3drm:d3drm2_CreateFrame iface 0x1c8d54, parent_frame (nil), frame 0x3739b4. 002a:trace:d3drm:Direct3DRMFrame_create riid {c3dfbd60-3988-11d0-9ec2-0000c0291ac3}, parent (nil), out 0x3739b4. ... 002a:trace:d3drm:d3drm_frame3_QueryInterface iface 0x1c9bdc, riid {c3dfbd60-3988-11d0-9ec2-0000c0291ac3}, out 0x3739b4. 002a:trace:d3drm:d3drm_frame2_AddRef iface 0x1c9bd8. 002a:trace:d3drm:d3drm_frame3_AddRef 0x1c9bdc increasing refcount to 2. 002a:trace:d3drm:d3drm_frame3_Release 0x1c9bdc decreasing refcount to 1. 002a:trace:d3drm:d3drm2_CreateFrame iface 0x1c8d54, parent_frame (nil), frame 0x3739c4. 002a:trace:d3drm:Direct3DRMFrame_create riid {c3dfbd60-3988-11d0-9ec2-0000c0291ac3}, parent (nil), out 0x3739c4. ... 002a:fixme:d3drm:d3drm2_SetDefaultTextureShades iface 0x1c8d54, shade_count 32 stub! 002a:fixme:d3drm:d3drm2_SetDefaultTextureColors iface 0x1c8d54, color_count 256 stub! 002a:trace:d3drm:d3drm_device2_SetQuality iface 0x1ca164, quality 137. 002a:trace:d3drm:d3drm_device3_SetQuality iface 0x1ca168, quality 137. 002a:trace:d3drm:d3drm_device2_SetShades iface 0x1ca164, count 32. 002a:fixme:d3drm:d3drm_device3_SetShades iface 0x1ca168, count 32 stub! 002a:trace:d3drm:d3drm_device2_SetDither iface 0x1ca164, enabled 0. 002a:trace:d3drm:d3drm_device3_SetDither iface 0x1ca168, enable 0. 002a:trace:d3drm:d3drm_device2_GetWidth iface 0x1ca164. 002a:trace:d3drm:d3drm_device3_GetWidth iface 0x1ca168. 002a:trace:d3drm:d3drm_device2_GetHeight iface 0x1ca164. 002a:trace:d3drm:d3drm_device3_GetHeight iface 0x1ca168. 002a:fixme:d3drm:d3drm2_CreateViewport iface 0x1c8d54, device 0x1ca164, camera 0x1c9c58, x 0, y 0, width 0, height 0, viewport 0x3739e4 partial stub! 002a:trace:d3drm:Direct3DRMViewport_create riid {eb16cb02-d271-11ce-ac48-0000c03825a1}, out 0x3739e4 ... 002a:trace:d3drm:d3drm2_CreateFrame iface 0x1c8d54, parent_frame (nil), frame 0x3739f0. 002a:trace:d3drm:Direct3DRMFrame_create riid {c3dfbd60-3988-11d0-9ec2-0000c0291ac3}, parent (nil), out 0x3739f0. ... 002a:fixme:d3drm:d3drm_viewport1_SetAppData iface 0x1c9cd8, data 0x3739f0 stub! 002a:trace:d3drm:d3drm_frame2_GetChildren iface 0x1ca1a8, children 0x33f2cc. 002a:trace:d3drm:d3drm_frame3_GetChildren iface 0x1ca1ac, children 0x33f2cc. ... 002a:fixme:d3drm:d3drm_viewport1_SetAppData iface 0x1c9cd8, data 0 stub! 002a:trace:d3drm:d3drm_viewport1_Release 0x1c9cd8 decreasing refcount to 0. ... 002a:trace:d3drm:d3drm_device2_Release iface 0x1ca164. 002a:trace:d3drm:d3drm_device3_Release 0x1ca168 decreasing refcount to 0. 002a:trace:d3drm:d3drm_device_destroy Releasing attached ddraw interfaces. 002a:trace:d3drm:d3drm1_Release 0x1c8d50 decreasing refcount to 1. ... 002a:Call user32.MessageBoxA(00000000,004100c8 ""LEGO\xae Island" failed to start. Please quit all other applications and try again.",0041011c "LEGO\xae Island Error",00000000) ret=004016eb --- snip ---
The problem results from 'IDirect3DRMViewport::SetAppData()' and 'IDirect3DRMViewport::GetAppData()' being stubs. The viewport/device gets destroyed due to 'SetAppData' stub.
With 'SetAppData' semi-stubbed it crashes a bit later due to 'GetAppData' stub (tries to access NULL data).
Source:
https://source.winehq.org/git/wine.git/blob/175e68fe053fa7c74c8cf8b35ed1de49...
https://source.winehq.org/git/wine.git/blob/175e68fe053fa7c74c8cf8b35ed1de49...
Refining summary to target these.
ProtectionID scan for documentation purpose:
--- snip --- -=[ ProtectionID v0.6.6.7 DECEMBER]=- (c) 2003-2015 CDKiLLER & TippeX Build 24/12/14-22:48:13 Ready... Scanning -> C:\Program Files\LEGO Island\ISLE.EXE File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 86528 (015200h) Byte(s) Compilation TimeStamp : 0x34145858 -> Mon 08th Sep 1997 19:56:08 (GMT) [TimeStamp] 0x34145858 -> Mon 08th Sep 1997 19:56:08 (GMT) | PE Header | - | Offset: 0x00000088 | VA: 0x00400088 | - [File Heuristics] -> Flag #1 : 00000000000001001100000000000000 (0x0004C000) [Entrypoint Section Entropy] : 6.39 (section #0) ".text " | Size : 0xD5D6 (54742) byte(s) [DllCharacteristics] -> Flag : (0x0000) -> NONE [SectionCount] 6 (0x6) | ImageSize 0x1A000 (106496) byte(s) [VersionInfo] Company Name : Mindscape [VersionInfo] Product Name : Adventures on LEGO Island [VersionInfo] Product Version : 1. 1. 0. 0 [VersionInfo] File Description : isle [VersionInfo] File Version : 1. 1. 0. 0 [VersionInfo] Original FileName : isle.exe [VersionInfo] Internal Name : isle [VersionInfo] Version Comments : DG JB AG RC EE [VersionInfo] Legal Copyrights : Copyright © 1997 [CompilerDetect] -> Visual C++ 4.2 [!] File appears to have no protection or is using an unknown protection - Scan Took : 0.328 Second(s) [000000148h (328) tick(s)] [499 of 573 scan(s) done]
Scanning -> C:\Program Files\LEGO Island\LEGO1.DLL File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 1135616 (0115400h) Byte(s) Compilation TimeStamp : 0x34107E9B -> Fri 05th Sep 1997 21:50:19 (GMT) [TimeStamp] 0x34107E9B -> Fri 05th Sep 1997 21:50:19 (GMT) | PE Header | - | Offset: 0x00000088 | VA: 0x10000088 | - [TimeStamp] 0x34107E9B -> Fri 05th Sep 1997 21:50:19 (GMT) | Export | - | Offset: 0x000ECE44 | VA: 0x100EDE44 | - [File Heuristics] -> Flag #1 : 00000000000001001100000100000000 (0x0004C100) [Entrypoint Section Entropy] : 6.47 (section #0) ".text " | Size : 0xD2A66 (862822) byte(s) [DllCharacteristics] -> Flag : (0x0000) -> NONE [SectionCount] 6 (0x6) | ImageSize 0x121000 (1183744) byte(s) [Export] 100% of function(s) (130 of 130) are in file | 0 are forwarded | 130 code | 0 data | 0 uninit data | 0 unknown | [VersionInfo] Company Name : Mindscape. Inc. [VersionInfo] Product Name : LegoOmni Library [VersionInfo] Product Version : 1. 1. 0. 0 [VersionInfo] File Description : LegoOmni Library [VersionInfo] File Version : 1. 1. 0. 0 [VersionInfo] Original FileName : LegoOmni Library [VersionInfo] Internal Name : LegoOmni Library [VersionInfo] Legal Copyrights : Copyright © 1997 [CompilerDetect] -> Visual C++ 4.2 [!] File appears to have no protection or is using an unknown protection - Scan Took : 0.563 Second(s) [000000233h (563) tick(s)] [244 of 573 scan(s) done]
Scanning -> C:\Program Files\LEGO Island\LEGOIsle.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 95744 (017600h) Byte(s) Compilation TimeStamp : 0x341455A1 -> Mon 08th Sep 1997 19:44:33 (GMT) [TimeStamp] 0x341455A1 -> Mon 08th Sep 1997 19:44:33 (GMT) | PE Header | - | Offset: 0x00000088 | VA: 0x00400088 | - [File Heuristics] -> Flag #1 : 00000000000001001100000000000000 (0x0004C000) [Entrypoint Section Entropy] : 5.99 (section #0) ".text " | Size : 0x427E (17022) byte(s) [DllCharacteristics] -> Flag : (0x0000) -> NONE [SectionCount] 6 (0x6) | ImageSize 0x1A000 (106496) byte(s) [VersionInfo] Company Name : Mindscape. Inc. [VersionInfo] Product Name : LEGO Island [VersionInfo] Product Version : 1. 1. 0. 0 [VersionInfo] File Description : LEGOIsland & Configuration application [VersionInfo] File Version : 1. 1. 0. 0 [VersionInfo] Original FileName : CONFIG.EXE [VersionInfo] Internal Name : LEGOISLE.EXE [VersionInfo] Legal Copyrights : Copyright © 1997 [CompilerDetect] -> Visual C++ 4.2 [!] File appears to have no protection or is using an unknown protection - Scan Took : 0.314 Second(s) [00000013Ah (314) tick(s)] [499 of 573 scan(s) done] --- snip ---
$ wine --version wine-1.7.53
Regards