Compatibility Issues: Difference between revisions

Jump to navigation Jump to search
No edit summary
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[LEGO Island]] was written in 1997 for Microsoft Windows 95. Since then, Windows has gone through several changes, many of which have broken the dated LEGO Island code. This is a list of known '''compatibility issues''' running LEGO Island on modern versions of Windows.
[[LEGO Island]] was written in 1997 for Microsoft Windows 95. Since then, Windows has gone through several changes, many of which have inadvertently affected the aging LEGO Island code. This is a list of known '''compatibility issues''' running LEGO Island on modern versions of Windows.


== D3DRM.DLL was not found ==
== D3DRM.DLL was not found ==
Line 12: Line 12:
* Restore Retained Mode manually using either of the following options:
* Restore Retained Mode manually using either of the following options:
** Acquire the file '''D3DRM.DLL''':
** Acquire the file '''D3DRM.DLL''':
*** '''Recommended:''' [[File:D3DRM.ZIP|Download the most recent version of D3DRM.DLL]]. This build is newer than the one on disc (2001 as opposed to 1997) and has generally better compatibility with modern Windows (particularly when using dgVoodoo or if playing in Wine).
*** The official LEGO Island disc contains an installer for DirectX 5 including D3DRM.DLL. It can be found at <code><CD drive>:\redist\directx\d3drm.dll</code>.
*** The official LEGO Island disc contains an installer for DirectX 5 including D3DRM.DLL. It can be found at <code><CD drive>:\redist\directx\d3drm.dll</code>.
*** Download the most recent version of D3DRM.DLL: [[File:D3DRM.ZIP]]. This build is newer than the one on disc (2001 as opposed to 1997) and has generally better compatibility with modern Windows (particularly when using dgVoodoo or if playing in Wine) as well as [https://msdl.microsoft.com/download/symbols/d3drm.pdb/3B7D82D31/d3drm.pdb debug symbols] that are extremely useful for modding.
** Copy '''D3DRM.DLL''' to either of the following locations:
** Copy '''D3DRM.DLL''' to either of the following locations:
*** The LEGO Island install directory (usually <code>C:\Program Files\LEGO Island</code> or <code>C:\Program Files (x86)\LEGO Island</code>)
*** The LEGO Island install directory (usually <code>C:\Program Files\LEGO Island</code> or <code>C:\Program Files (x86)\LEGO Island</code>)
Line 19: Line 19:


* Use a version of Windows older than Windows Vista.
* Use a version of Windows older than Windows Vista.
== LEGO Island often crashes upon exit ==
'''Affects:''' Windows 7+ (earlier versions may be affected too)
'''Description:''' When trying to exit, the game may glitch up and crash. The cause of this is unknown, but is presumably a change in one of the Windows/DirectX APIs that LEGO Island uses.
'''Solutions:'''
* Use an older version of Windows (95/98 are known to not suffer from this bug).


== Save files don't actually save ==
== Save files don't actually save ==
Line 38: Line 47:
'''Affects:''' Most versions of Windows 10
'''Affects:''' Most versions of Windows 10


'''Description:''' LEGO Island was written around a very old version of DirectDraw, including a retained mode API (D3DRM) that is not only unsupported now, it's also been dropped from Windows/DirectX entirely. Many of its DirectDraw function calls are obsolete, deprecated and/or completely abandoned now.
'''Description:''' LEGO Island was written around a very old version of DirectDraw, including a [[Direct3D Retained Mode|retained mode API]] (D3DRM) that is not only unsupported now, it's also been dropped from Windows/DirectX entirely. Many of its DirectDraw function calls are obsolete, deprecated and/or completely abandoned now.


'''Solutions:'''
'''Solutions:'''
* Change to a software mode in the LEGO Island configuration (Ramp Emulation, RGB Emulation, MMX Emulation, Direct3D HEL). These use CPU/software rather than GPU/hardware (theoretically slower, but imperceptible on modern PCs), so hardware/DirectX API differences aren't so impactful.
* Change to a software mode in the LEGO Island configuration (Ramp Emulation, RGB Emulation, MMX Emulation, Direct3D HEL). These use CPU/software rather than GPU/hardware (theoretically slower, but imperceptible on modern PCs), so hardware/DirectX API differences aren't so impactful.
* Use [http://dege.freeweb.hu/ dgVoodoo]. This wraps several old DirectX API calls to modern DirectX 11 calls, fixing a huge amount of compatibility issues with modern software and hardware.
* Use [[dgVoodoo]]. This wraps several old DirectX API calls to modern DirectX 11 calls, fixing a huge amount of compatibility issues with modern software and hardware.


== Textures are heavily glitched ==
== Textures are heavily glitched ==

Navigation menu