Getting Started: Difference between revisions
No edit summary |
No edit summary |
||
Line 54: | Line 54: | ||
LEGO Island was only ever designed to run at 640x480 which was relatively standard at the time. Given the much larger variety of resolution available today, it may be desirable to run the game at a higher resolution. Currently, the best way to do this is with [[dgVoodoo]], which allows users to override the resolution to one of their choosing. Note that this is unfortunately '''not''' a true widescreen patch, the game will still have a 4:3 aspect ratio that will get stretched to whatever resolution you choose. As such, it's recommended to use a 4:3 resolution to maintain LEGO Island's native aspect ratio (e.g. 1440x1080 instead of 1920x1080). Currently [[LEGO Island Rebuilder]] is working on a true widescreen patch to address this issue. | LEGO Island was only ever designed to run at 640x480 which was relatively standard at the time. Given the much larger variety of resolution available today, it may be desirable to run the game at a higher resolution. Currently, the best way to do this is with [[dgVoodoo]], which allows users to override the resolution to one of their choosing. Note that this is unfortunately '''not''' a true widescreen patch, the game will still have a 4:3 aspect ratio that will get stretched to whatever resolution you choose. As such, it's recommended to use a 4:3 resolution to maintain LEGO Island's native aspect ratio (e.g. 1440x1080 instead of 1920x1080). Currently [[LEGO Island Rebuilder]] is working on a true widescreen patch to address this issue. | ||
== Running on Linux/Mac through Wine == | |||
''LEGO Island'' is nearly perfectly playable through [https://winehq.org/ Wine], however some extra steps are required to make it work correctly. | |||
=== Installation === | |||
Installation should be more or less the same as above - the default installer should run fine, or you can use the "Alternative Installer". | |||
=== D3DRM.DLL === | |||
Wine, unlike modern versions of Windows, does contain an implementation of D3DRM.DLL. However, it is largely incomplete and will cause the game to crash on startup. As such, you will need to manually replace it with a real copy. The easiest way to do this is to install [https://github.com/Winetricks/winetricks Winetricks] and run the following command: <code>winetricks d3drm</code> | |||
Even though the alternative installer does install D3DRM.DLL, Wine will continue to use its "builtin" version unless told otherwise. The above Winetricks script will do this automatically, however if you'd prefer to do it manually, you can also add a manual override in <code>winecfg</code> after the DLL has been placed in a valid location. | |||
=== Graphics Modes === | |||
On vanilla Wine, different graphics modes will appear in [CONFIG.EXE]. Wine doesn't implement the Ramp/RGB/MMX software modes, instead only implementing one software mode called "Direct3D HEL" (hardware emulation layer). | |||
Currently, unlike modern Windows, hardware mode - aka "Direct3D HAL" (hardware abstraction layer) - appears to work better in Wine than "Direct3D HEL". Currently "HEL" appears to render only a black screen. | |||
=== Windowed Mode === | |||
{{Main article|Windowed_Mode#Wine_.28Linux.2FMac.29}} | |||
Windowed mode in Wine has various challenges. These are detailed more in detail on the [[Windowed_Mode#Wine_.28Linux.2FMac.29|windowed mode]] article. It's generally recommended to bypass the game's built-in windowed mode entirely and instead use [[dgVoodoo]] to force windowed mode. | |||
=== Clicking 3D objects doesn't work or crashes === | |||
''LEGO Island'' makes use of an obscure old DirectDraw function called "Pick" which is not implemented in Wine. It is, however, implemented in [[dgVoodoo]], and it's recommended to use it for a complete experience. | |||
== See also == | == See also == |
Revision as of 20:55, 1 November 2023
Setting up LEGO Island is generally straightforward on PCs of its era, however some extra effort and considerations are sometimes required depending on how modern your system is.
Installing
Standard
The stock installer located at \INSTALL.EXE
should run fine on any version of Windows (ignore \SETUP.EXE
as it's a 16-bit application that won't run on any 64-bit version of Windows). This will provide a fairly standard install of LEGO Island authentic to the era, with the obvious caveat that it doesn't take into account some extra steps required on modern versions of Windows:
D3DRM.DLL
Main article: Direct3D Retained Mode
From Vista onwards, D3DRM.DLL - a DLL required to run LEGO Island - was removed from Windows itself and has to be manually restored. While the DLL is on the LEGO Island CD (located at \redist\directx\d3drm.dll
), it's recommended to use a newer version that was released with Windows XP for better compatibility. You'll want to place D3DRM.DLL into LEGO Island's install folder (usually C:\Program Files (x86)\LEGO Island
).
No-CD Patch
Main article: NOCD.SI
If you want LEGO Island to run without a CD, it's as simple as copying the \Lego
folder from the CD to LEGO Island's install folder (usually C:\Program Files (x86)\LEGO Island
). You'll want to merge with the LEGO
folder that already exists and don't worry about replacing the file NOCD.SI
(it's the same file so skipping or replacing it makes no difference).
Japanese Version
For unknown reasons, the Japanese LEGO Island installer features a version check that fails if the version of Windows you're using is not 4.x (e.g. 95, 98, or Me). This means the installer will fail on any Windows version newer (starting with Windows 2000). As such, for this version you should probably use the LEGO Island Alternative Installer.
Alternative Installer
A community alternative installer exists to make up for the shortcomings of the stock installer. It will automatically copy D3DRM.DLL from the CD as well as the LEGO folder if you select a "Full" install. This is generally a much easier and more fool-proof option than the stock installer.
Playing LEGO Island
Persistent save data
Main article: Compatibility Issues
LEGO Island stores its save data in its program folder, which in modern software is a big no-no due to inherent security risks involved. From Windows Vista, access to the Program Files folder was restricted to administrator access only, preventing LEGO Island from saving game data. The solutions are generally as follows:
- Using LEGO Island Rebuilder. Rebuilder functions as a launcher that automatically redirects save data to a safe location so that administrator privileges are not required. This is the simplest and most recommended solution.
- Run LEGO Island as administrator. Relatively simple by right clicking LEGO Island and selecting "Run as Administrator" or opening "Properties", navigating to the "Compatibility" and selecting "Run as Administrator" so that the game is always run as administrator.
- Re-installing LEGO Island to a non-restricted location. Often this is a second drive on your PC or somewhere in your home folder. This will work, but may get complicated depending on where you choose to install it.
Turn speed
Main article: Turn Speed
LEGO Island infamously ties the turn speed to the frame rate, meaning the much faster computers of the day heavily impact the game's controls and playability. It's recommended to use LEGO Island Rebuilder which has parameters for separating the turn speed from the frame rate as well as changing the turn and walk speeds in general.
"To configure LEGO Island" doesn't save
This issue is similar to the save data not saving correctly but a slightly different presentation. In this scenario, the data is not being saved to the game's program folder, but rather the registry's HKEY_LOCAL_MACHINE
hive - another section of Windows that has become more restricted in over time due to inherent security risks.
For some reason, running CONFIG.EXE
as administrator doesn't seem to address this issue. It seems the only way to make it save configuration data is to set its compatibility mode to "Windows 95" (right click > Properties > Compatibility tab).
General graphical glitches
Main article: Compatibility Issues
LEGO Island relies on various dated DirectX APIs that have seen numerous changes over the decades since its release. As such, using Direct3D HAL can result in various graphical glitches and crashes that impact the game's playability. To address this, it's recommended to either use a software mode instead ("Ramp Emulation", "RGB Emulation", or "MMX Emulation") as those are CPU-based and have therefore been largely unaffected by the changes to the Direct3D API, or to use dgVoodoo which translates LEGO Island's outdated DirectX 5 calls to modern DirectX 11 calls. This has the advantage of allowing other graphical tweaks too, such as increasing the resolution, adding anti-aliasing, overriding texture filtering, and more.
High-definition Patch
Main article: dgVoodoo
LEGO Island was only ever designed to run at 640x480 which was relatively standard at the time. Given the much larger variety of resolution available today, it may be desirable to run the game at a higher resolution. Currently, the best way to do this is with dgVoodoo, which allows users to override the resolution to one of their choosing. Note that this is unfortunately not a true widescreen patch, the game will still have a 4:3 aspect ratio that will get stretched to whatever resolution you choose. As such, it's recommended to use a 4:3 resolution to maintain LEGO Island's native aspect ratio (e.g. 1440x1080 instead of 1920x1080). Currently LEGO Island Rebuilder is working on a true widescreen patch to address this issue.
Running on Linux/Mac through Wine
LEGO Island is nearly perfectly playable through Wine, however some extra steps are required to make it work correctly.
Installation
Installation should be more or less the same as above - the default installer should run fine, or you can use the "Alternative Installer".
D3DRM.DLL
Wine, unlike modern versions of Windows, does contain an implementation of D3DRM.DLL. However, it is largely incomplete and will cause the game to crash on startup. As such, you will need to manually replace it with a real copy. The easiest way to do this is to install Winetricks and run the following command: winetricks d3drm
Even though the alternative installer does install D3DRM.DLL, Wine will continue to use its "builtin" version unless told otherwise. The above Winetricks script will do this automatically, however if you'd prefer to do it manually, you can also add a manual override in winecfg
after the DLL has been placed in a valid location.
Graphics Modes
On vanilla Wine, different graphics modes will appear in [CONFIG.EXE]. Wine doesn't implement the Ramp/RGB/MMX software modes, instead only implementing one software mode called "Direct3D HEL" (hardware emulation layer).
Currently, unlike modern Windows, hardware mode - aka "Direct3D HAL" (hardware abstraction layer) - appears to work better in Wine than "Direct3D HEL". Currently "HEL" appears to render only a black screen.
Windowed Mode
Main article: Windowed_Mode#Wine_.28Linux.2FMac.29
Windowed mode in Wine has various challenges. These are detailed more in detail on the windowed mode article. It's generally recommended to bypass the game's built-in windowed mode entirely and instead use dgVoodoo to force windowed mode.
Clicking 3D objects doesn't work or crashes
LEGO Island makes use of an obscure old DirectDraw function called "Pick" which is not implemented in Wine. It is, however, implemented in dgVoodoo, and it's recommended to use it for a complete experience.