Windowed Mode: Difference between revisions

From LEGO Island Wiki
Jump to navigation Jump to search
(Created page with "Lego Island does not have a readily accessible Windowed Mode, however there is partial support for it. It seems the feature was never complete or perhaps even never intend...")
 
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
Lego Island does not have a readily accessible [[Windowed Mode]], however there is partial support for it. It seems the feature was never complete or perhaps even never intended to be used outside of development. Regardless, there is a way to make it run in a window, with a few limitations.
''[[LEGO Island]]'' does not officially have a [[Windowed Mode]], however one can be enabled with the use of registry tweaks. The mode is somewhat limited, it seems the feature was either never completed or perhaps only intended for use during development. Regardless, the game is fully playable in it with only a few graphical compromises.


== Enabling Windowed Mode ==
== Enabling ==


Firstly, you must have registry write access (usually only an administrator can write to the registry).
=== Automatic (LEGO Island Rebuilder) ===


# In the Lego Island configuration, set your Direct3D device to '''Ramp Emulation''' (Lego Island will crash on launch if it's set to `Direct3D HAL` and windowed mode).
[[LEGO Island Rebuilder]] allows you to modify the "Full Screen" setting on launch without requiring editing registry entries or adminstrator privileges:
# Using <code>regedit.exe</code>, browse to <code>Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mindscape\LEGO Island</code> (64-bit) or <code>Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Mindscape\LEGO Island</code> (32-bit)
# Set value '''Full Screen''' to '''NO'''.
# Lego Island will now run in a window next time you run it.


NOTE: Lego Island Configuration will automatically set "Full Screen" back to YES
<center>https://i.imgur.com/vAXy68m.png</center>


== Troubleshooting ==
=== Manual (Registry Editing ===


=== In windowed mode, the background textures are missing and everything is blue ===
To enable windowed mode through the registry, you'll need to edit the string value at <code>HKEY_LOCAL_MACHINE\Software\Mindscape\LEGO Island\Full Screen</code> to <code>NO</code> using <code>regedit</code>.
 
On 64-bit systems, this key will be located at <code>HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mindscape\LEGO Island</code> instead.
 
Note that changing settings through [[CONFIG.EXE]] will always reset this value to <code>YES</code>, so you'll have to change it back again.
 
=== Limitations ===
 
While ''LEGO Island'' is fully playable in windowed mode, it requires some specific configuration to work properly:
 
==== Windowed in hardware mode ====
 
Ordinarily, if your graphics mode is set to "Direct3D HAL", ''LEGO Island'' will throw a "failed to startup" error. This is actually thrown when the <code>Flip Surfaces</code> setting is enabled, which [[CONFIG.EXE]] forces on when "Direct3D HAL" is selected. If you toggle <code>Flip Surfaces</code> off, either in the registry or with [[LEGO Island Rebuilder]], you will be able to run "Direct3D HAL" in windowed mode.
 
==== Missing bitmaps ====
 
''LEGO Island'' only supports 8-bit and 16-bit color modes, however most modern computers run in 32-bit color. The 3D can render here since it's handled by Direct3D, but the bitmaps are handled manually by the game, and since it doesn't support 32-bit they simply don't render.
 
This results in backgrounds becoming a solid blue color:


https://i.imgur.com/F43M2lN.png
https://i.imgur.com/F43M2lN.png


'''Solution:''' Run Lego Island in 256-color mode.
===== Windows =====


'''Explanation: ''' "Ramp Emulation", which we had to enable in step 1 for windowed mode to work in the first place, is limited to 256 color mode. For reference, a modern computer will usually be running in 16777216 color mode (also known as "True Color", "32-bit", or "Millions of Colors"). When running in full screen, Lego Island will automatically change the display mode to 256 color mode, but it doesn't in windowed mode which causes this issue.
Starting with Windows XP, applications can be individually set to run at a different bit depth. To do so, right click LEGO Island and click Properties in the context menu. Then switch to the "Compatibility" tab.


Luckily in Windows' compatibility tab (right click Lego Island > Properties), we can specifically use 256 color mode when running Lego Island.
https://i.imgur.com/cngmbTo.png


https://i.imgur.com/cngmbTo.png
Prior to Windows 8, the only available mode is "256 color" mode and your whole system will be temporarily set to this mode until the application quits. LEGO Island will run perfectly fine in 256 color mode, but you may see some color banding or other artifacts.
 
From Windows 8 onwards, 16-bit mode is also available providing much more color and the mode is only set for the application rather than the whole system. This is strongly recommended for playing LEGO Island windowed.
 
Alternatively, you can manually set the bit depth yourself to 16-bit in Display properties (pre-Vista) or Screen Resolution (post-Vista).
 
===== Wine (Linux/Mac) =====
 
The same limitations on Direct3D HAL/Flip Surfaces above apply here.
 
Wine does not have Windows' 8-bit/16-bit color compatibility mode, nor do their host operating systems Linux and macOS. This makes it difficult to address the missing bitmap/blue background issue.
 
Instead, it can be better to run the game in full screen, and then enable Wine's "Emulate Virtual Desktop" feature. This will force any full screen game into a window, but also limits anything else you do in that Wine prefix to that window. There are also known graphical glitches that appear for unknown reasons in this mode, though they are not critical enough to be game-breaking.
 
For a more ideal solution, it's recommended to look into [[#dgVoodoo|dgVoodoo]] (see below). You may also need to install [https://github.com/doitsujin/dxvk DXVK] for the game to render correctly.
 
== dgVoodoo ==
 
Alternatively, [[dgVoodoo]] can force windowed mode if ''LEGO Island'' is set to "Direct3D HAL" with full screen '''enabled'''. This works on both Windows and Wine and is in many ways superior to the game's built-in windowed mode. It has no limitations on 32-bit color mode and allows (read: requires) hardware mode.
 
The following images show a dgVoodoo configuration that will force ''LEGO Island'' into a windowed mode:


This should fix the missing textures/blueness.
<center>
<gallery>
File:Dgvwin1.png
File:Dgvwin2.png
</gallery>
</center>


NOTE: Since Windows 8, Windows can set a color mode specifically for each app. 7 and earlier require the entire system to be set to 256 colors.
== External Links ==
* [http://www.dege.freeweb.hu/ dgVoodoo Official Website]
* [https://github.com/doitsujin/dxvk DXVK GitHub]

Latest revision as of 20:52, 1 November 2023

LEGO Island does not officially have a Windowed Mode, however one can be enabled with the use of registry tweaks. The mode is somewhat limited, it seems the feature was either never completed or perhaps only intended for use during development. Regardless, the game is fully playable in it with only a few graphical compromises.

Enabling

Automatic (LEGO Island Rebuilder)

LEGO Island Rebuilder allows you to modify the "Full Screen" setting on launch without requiring editing registry entries or adminstrator privileges:

https://i.imgur.com/vAXy68m.png

Manual (Registry Editing

To enable windowed mode through the registry, you'll need to edit the string value at HKEY_LOCAL_MACHINE\Software\Mindscape\LEGO Island\Full Screen to NO using regedit.

On 64-bit systems, this key will be located at HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mindscape\LEGO Island instead.

Note that changing settings through CONFIG.EXE will always reset this value to YES, so you'll have to change it back again.

Limitations

While LEGO Island is fully playable in windowed mode, it requires some specific configuration to work properly:

Windowed in hardware mode

Ordinarily, if your graphics mode is set to "Direct3D HAL", LEGO Island will throw a "failed to startup" error. This is actually thrown when the Flip Surfaces setting is enabled, which CONFIG.EXE forces on when "Direct3D HAL" is selected. If you toggle Flip Surfaces off, either in the registry or with LEGO Island Rebuilder, you will be able to run "Direct3D HAL" in windowed mode.

Missing bitmaps

LEGO Island only supports 8-bit and 16-bit color modes, however most modern computers run in 32-bit color. The 3D can render here since it's handled by Direct3D, but the bitmaps are handled manually by the game, and since it doesn't support 32-bit they simply don't render.

This results in backgrounds becoming a solid blue color:

https://i.imgur.com/F43M2lN.png

Windows

Starting with Windows XP, applications can be individually set to run at a different bit depth. To do so, right click LEGO Island and click Properties in the context menu. Then switch to the "Compatibility" tab.

https://i.imgur.com/cngmbTo.png

Prior to Windows 8, the only available mode is "256 color" mode and your whole system will be temporarily set to this mode until the application quits. LEGO Island will run perfectly fine in 256 color mode, but you may see some color banding or other artifacts.

From Windows 8 onwards, 16-bit mode is also available providing much more color and the mode is only set for the application rather than the whole system. This is strongly recommended for playing LEGO Island windowed.

Alternatively, you can manually set the bit depth yourself to 16-bit in Display properties (pre-Vista) or Screen Resolution (post-Vista).

Wine (Linux/Mac)

The same limitations on Direct3D HAL/Flip Surfaces above apply here.

Wine does not have Windows' 8-bit/16-bit color compatibility mode, nor do their host operating systems Linux and macOS. This makes it difficult to address the missing bitmap/blue background issue.

Instead, it can be better to run the game in full screen, and then enable Wine's "Emulate Virtual Desktop" feature. This will force any full screen game into a window, but also limits anything else you do in that Wine prefix to that window. There are also known graphical glitches that appear for unknown reasons in this mode, though they are not critical enough to be game-breaking.

For a more ideal solution, it's recommended to look into dgVoodoo (see below). You may also need to install DXVK for the game to render correctly.

dgVoodoo

Alternatively, dgVoodoo can force windowed mode if LEGO Island is set to "Direct3D HAL" with full screen enabled. This works on both Windows and Wine and is in many ways superior to the game's built-in windowed mode. It has no limitations on 32-bit color mode and allows (read: requires) hardware mode.

The following images show a dgVoodoo configuration that will force LEGO Island into a windowed mode:

External Links