<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.legoisland.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=XZise</id>
	<title>LEGO Island Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.legoisland.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=XZise"/>
	<link rel="alternate" type="text/html" href="https://www.legoisland.org/wiki/Special:Contributions/XZise"/>
	<updated>2026-04-27T10:37:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://www.legoisland.org/index.php?title=WORLD.WDB&amp;diff=1253</id>
		<title>WORLD.WDB</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=WORLD.WDB&amp;diff=1253"/>
		<updated>2026-03-14T15:41:50Z</updated>

		<summary type="html">&lt;p&gt;XZise: URL to ImHex patterns has been moved&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WORLD.WDB]] or &#039;&#039;&#039;World DataBase&#039;&#039;&#039; is an asset file for LEGO Island. It is one of the few files [[Local Files|copied to the hard drive]] during installation, as opposed to the majority which are [[Interleaf File|streamed from CD-ROM]].&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
WORLD.WDB is the only &#039;&#039;&#039;.WDB&#039;&#039;&#039; file in LEGO Island, unlike the much more common [[Interleaf File]] format. As such, it is generally even less well understood. It does not follow the chunking/streaming conventions of the Interleaf format as it is always read from hard drive.&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
&lt;br /&gt;
It is known that WORLD.WDB contains most of the 3D models used by the game and many of the textures (but notably excluding the [[phonemes]], which are in Interleaf files). There have been successful attempts at ripping and even swapping assets from WORLD.WDB, but no known attempts at reconstruction.&lt;br /&gt;
&lt;br /&gt;
The file contains a list of worlds, where each world references a number of models and parts. After the models exists a list of textures and a single part. Each model and part can also have a list of textures themselves. The textures use a palette and store an uncompressed stream of bytes referencing the palette. Model references also contain a location, direction and up vector placing them in the world.&lt;br /&gt;
&lt;br /&gt;
A model contains an ROI (Realtime object instance), which can contain other ROIs, allowing them to be animated separately as the animation modify a ROI. A part contains a list of ROIs directly although those cannot contain another ROI.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [https://github.com/floriandotorg/isle-documentation/tree/master/docs/patterns ImHex Patterns] to parse several LEGO Island related files with the hex editor [https://imhex.werwolv.net/ ImHex]&lt;br /&gt;
* [http://fileformats.archiveteam.org/wiki/Lego_Island_World_Database Incomplete reverse-engineered WDB documentation]&lt;br /&gt;
* [https://github.com/LiamBrandt/WDBRipper WDBRipper], unmaintained but decently functional tool for extracting assets from WORLD.WDB&lt;/div&gt;</summary>
		<author><name>XZise</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=Registry&amp;diff=678</id>
		<title>Registry</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=Registry&amp;diff=678"/>
		<updated>2025-07-27T22:11:32Z</updated>

		<summary type="html">&lt;p&gt;XZise: Add VirtualStore redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LEGO Island uses the {{Wikipedia|Windows Registry}} to store most of its configuration data. The following is a reference of all of its registry entries:&lt;br /&gt;
&lt;br /&gt;
All data stored in &amp;lt;code&amp;gt;HKEY_LOCAL_MACHINE\SOFTWARE\Mindscape\LEGO Island&amp;lt;/code&amp;gt; (32-bit) or &amp;lt;code&amp;gt;HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mindscape\LEGO Island&amp;lt;/code&amp;gt; (64-bit). When the applications are run without administator privilages, the data is read from &amp;lt;code&amp;gt;HKEY_CLASSES_ROOT\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Mindscape\LEGO Island&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D Device ID&amp;lt;/code&amp;gt; || The ID of the Direct3D device to use. Best set by LEGO Island&#039;s configuration.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3D Device Name&amp;lt;/code&amp;gt; || The name/type of the Direct3D device to use. Usually &amp;quot;Direct3D HAL&amp;quot;, &amp;quot;Ramp Emulation, etc. Best set by LEGO Island&#039;s configuration.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3DSound&amp;lt;/code&amp;gt; || &amp;quot;YES&amp;quot; to use DirectSound&#039;s 3D sound, &amp;quot;NO&amp;quot; to disable it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Back Buffers in Video RAM&amp;lt;/code&amp;gt; || &amp;quot;YES&amp;quot; to use DirectSound&#039;s 3D sound, &amp;quot;NO&amp;quot; to disable it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cdpath&amp;lt;/code&amp;gt; || Secondary path to search for LEGO Island [[SI Files|SI files]]. Set to the directory LEGO Island was installed from by the installer.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;diskpath&amp;lt;/code&amp;gt; || Primary path to search for LEGO Island [[SI Files|SI files]]. Set to the directory LEGO Island was installed to by the installer.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Display Bit Depth&amp;lt;/code&amp;gt; || &amp;quot;8&amp;quot; or 256-color, &amp;quot;16&amp;quot; for high/16-bit color&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Draw Cursor&amp;lt;/code&amp;gt; || &amp;quot;YES&amp;quot; to draw a software cursor on screen, &amp;quot;NO&amp;quot; to disable it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Flip Surfaces&amp;lt;/code&amp;gt; || &amp;quot;YES&amp;quot; or &amp;quot;NO&amp;quot;, corresponds to the LEGO Island configuration&#039;s &amp;quot;Flip Video Memory Pages&amp;quot; setting.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Full Screen&amp;lt;/code&amp;gt; || [[Windowed Mode|Hidden setting inaccessible through Lego Island configuration]]. &amp;quot;YES&amp;quot; to run full screen, &amp;quot;NO&amp;quot; to run windowed.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Island Quality&amp;lt;/code&amp;gt; || &amp;quot;1&amp;quot; or &amp;quot;2&amp;quot; corresponding to the LEGO Island configuration&#039;s &amp;quot;Island Model Quality&amp;quot; setting (&amp;quot;Fast&amp;quot; and &amp;quot;High&amp;quot; respectively).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Island Texture&amp;lt;/code&amp;gt; || &amp;quot;1&amp;quot; or &amp;quot;2&amp;quot; corresponding to the LEGO Island configuration&#039;s &amp;quot;Island Texture Quality&amp;quot; setting (&amp;quot;Fast&amp;quot; and &amp;quot;High&amp;quot; respectively).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;JoystickIndex&amp;lt;/code&amp;gt; || Unknown, but most likely set to an integer ID of the joystick device to use. &amp;quot;-1&amp;quot; if no joystick is set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Music&amp;lt;/code&amp;gt; || &amp;quot;YES&amp;quot; to enable music, &amp;quot;NO&amp;quot; to disable it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;savepath&amp;lt;/code&amp;gt; || The directory to save LEGO Island&#039;s save data to.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;UseJoystick&amp;lt;/code&amp;gt; || &amp;quot;YES&amp;quot; to enable joystick usage, &amp;quot;NO&amp;quot; to disable it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Wide View Angle&amp;lt;/code&amp;gt; || Unknown. Changing to &amp;quot;YES&amp;quot; or &amp;quot;NO&amp;quot; doesn&#039;t appear to make a difference.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>XZise</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=Interleaf_File&amp;diff=659</id>
		<title>Interleaf File</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=Interleaf_File&amp;diff=659"/>
		<updated>2025-07-20T10:33:56Z</updated>

		<summary type="html">&lt;p&gt;XZise: /* Extra string */ fixed INFOHAT belonging to PTATCAM and actor name not being the key&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An &#039;&#039;&#039;Interleaf File&#039;&#039;&#039; (extension &#039;&#039;&#039;.SI&#039;&#039;&#039;) is a general-purpose asset archive format designed for streaming from CD-ROM. It was developed by [[Mindscape]] for use throughout [[LEGO Island]].&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Interleaf file format was originally thought to be exclusive to &#039;&#039;[[LEGO Island]]&#039;&#039;, but has since also been discovered in earlier [[Mindscape]] games called &#039;&#039;{{Wikipedia|Warhammer: Shadow of the Horned Rat}}&#039;&#039; and &#039;&#039;{{Wikipedia|Chessmaster 5000}}&#039;&#039;. Regardless, it remains an extremely obscure format and therefore is not well documented. All information known about this format has been through reverse engineering or interviews with game developers.&lt;br /&gt;
&lt;br /&gt;
Interleaf files are derived from the {{Wikipedia|Resource Interchange File Format}} standard (best known as the basis of {{Wikipedia|Audio Video Interleave}} and {{Wikipedia|WAV}} files). They are comprised of various LEGO Island-specific structures (such as [[MxDa]] and [[MxCh]]), however these structures usually contain standard format file data (such as PCM WAV audio and Windows BMP images).&lt;br /&gt;
&lt;br /&gt;
The primary purpose of Interleaf files is to split various file formats into smaller chunks that are interleaved together so they can all be read as one continuous stream. For example, a chunk of voice data may be followed by a chunk of matching animation data or a bitmapped graphic. This is done to reduce the amount of seeking around the disc for assets since CD-ROM speeds of the era were generally very slow and end-user hard drive space was usually too limited to store much game data.&lt;br /&gt;
&lt;br /&gt;
Interleaf files were produced internally with a tool called [[Weaver]], however this tool has never been publicly released or leaked.&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Interleaf files went through a number of revisions, as indicated by this error message that&#039;s thrown if an SI version doesn&#039;t match:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:WrongSIVersion.png|alt=Error. Wrong SI file version. 2.2 expected.]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SI version is set in an SI file&#039;s [[MxHd]] section. The version used in both retail versions is 2.2.&lt;br /&gt;
&lt;br /&gt;
Below is a table of known SI file versions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Known Interleaf/SI file versions&lt;br /&gt;
|-&lt;br /&gt;
! Version !! Known usage&lt;br /&gt;
|-&lt;br /&gt;
| 1.0 || &#039;&#039;Warhammer: Shadow of the Horned Rat&#039;&#039;, &#039;&#039;Chestmaster 5000&#039;&#039;, &#039;&#039;LEGO Island&#039;&#039; (July 1996 build)&lt;br /&gt;
|-&lt;br /&gt;
| 2.2 || &#039;&#039;LEGO Island (final)&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Modification ==&lt;br /&gt;
As aforementioned, no official documentation of Interleaf files has ever been released. There are a handful of tools for working with them (e.g. [[LEGO Island Rebuilder]]), but none with a complete implementation. Therefore, manual hex editing is often used to replace or extract assets.&lt;br /&gt;
&lt;br /&gt;
When working with Interleaf files, this interleaving needs to be taken account as it will dictate how the data is both extracted and inserted. One file stream may be separated into several chunks with chunks of other files interleaved between them.&lt;br /&gt;
&lt;br /&gt;
Since audio is stored in PCM, Interleaf files can be crudely listened to using Audacity&#039;s &amp;quot;Import Raw Data&amp;quot; feature. SI audio is always uncompressed mono PCM and is either 11025 Hz and 16-bit or 22050 Hz and 8-bit. Unfortunately, due to the aforementioned chunked/interleaved nature of SI files, the audio retrieved through this method will be noticeably glitchy and will require further processing (removal of chunk headers and any non-audio chunks) to extract clean PCM data.&lt;br /&gt;
&lt;br /&gt;
== Extra string ==&lt;br /&gt;
Each object in the Interleaf file can have an extra string where additional information is stored. It is a list of key-value-pairs, although some keys do not use values and the keys are case-insensitive. To get each pair the string is split along one of the following characters:&lt;br /&gt;
* &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;&lt;br /&gt;
* Space&lt;br /&gt;
* Tab&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Carriage_return Carriage return]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Line_feed Line feed]&lt;br /&gt;
* &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each item can then either be just present or have a value. In some cases, the value can be further split with &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is an incomplete list of existing extra information and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Valid values !! Example&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Images&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VISIBILITY&amp;lt;/code&amp;gt; || Makes the image by default invisible/disabled when set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;Visibility:FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;BMP_ISMAP&amp;lt;/code&amp;gt; || Does not draw the image and is only used to map a position to an value (e.g. to determine what is clicked) || &amp;lt;code&amp;gt;BMP_ISMAP&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Sound&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SOUND&amp;lt;/code&amp;gt; || Makes the sound by default muted/disabled when set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;Sound:FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Models&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DB_CREATE&amp;lt;/code&amp;gt; || Spawns the model at the giving location || Name of the model in WORLD.WDB || &amp;lt;code&amp;gt;DB_CREATE:ambul&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Animations&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PTATCAM&amp;lt;/code&amp;gt; || Point given objects to camera (used on the isle so that actors look at the player) || Name of the ROIs || &amp;lt;code&amp;gt;PTATCAM:HEAD;INFOHAT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Dialogs&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Actor Name&#039;&#039; || Attaches a phoneme (face animation) or sound to the actor (has no key and is then the only content)  || Any valid actor name || &amp;lt;code&amp;gt;brickstr&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Path actors&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; || Determines the location of the actor || name of boundary, source edge, source scale, destination edge, destination scale || &amp;lt;code&amp;gt;Path:EDG03_34;2;0.60;0;0.40&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Controls&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VISIBILITY&amp;lt;/code&amp;gt; || Makes the control by default invisible/disabled when set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;VISIBILITY:FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;STYLE&amp;lt;/code&amp;gt; || Can specify how the controls handles a mouse click. &amp;lt;code&amp;gt;MAP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;GRID&amp;lt;/code&amp;gt; support additional values || &amp;lt;code&amp;gt;MAP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GRID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TOGGLE&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;Style:Grid;2;2&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Meters (speed/fuel)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FILLER_INDEX&amp;lt;/code&amp;gt; || Used in meters (speed/fuel) to set the color for the fill used from the image&#039;s palette || A number between 1 and 255 || &amp;lt;code&amp;gt;Filler_index:160&amp;lt;/code&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TYPE&amp;lt;/code&amp;gt; || Determines in which direction the meter is filled. Even though all four directions are recognized &amp;lt;code&amp;gt;RIGHT_TO_LEFT&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TOP_TO_BOTTOM&amp;lt;/code&amp;gt; are not fully implemented || &amp;lt;code&amp;gt;LEFT_TO_RIGHT&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;BOTTOM_TO_TOP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RIGHT_TO_LEFT&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TOP_TO_BOTTOM&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;Type:bottom_to_top&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VARIABLE&amp;lt;/code&amp;gt; || Specifies the variable which is used || The name of the variable || &amp;lt;code&amp;gt;Variable:jetFUEL&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Currently Unknown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;World&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;World:current&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;World:BLDH&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;Object:Act2Actor&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;HIDE_ON_STOP&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;HIDE_ON_STOP&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;COLLIDE_BOX&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;COLLIDE_BOX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Speed&amp;lt;/code&amp;gt; ||  || Any non-negative floating pointer number || &amp;lt;code&amp;gt;Speed:0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Animation&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;Animation:Cm_Walk;1.0&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;AUTO_CREATE&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;AUTO_CREATE:Cm&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;Mute&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Comp&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;Comp:1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Map_Locator&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;Map_Locator:Studs_Locator&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Map_Geometry&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;Map_Geometry:-900;1100;480;720;150;118;366;216&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Action&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;Action:openram&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Triggers_Source&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;Triggers_Source:\\Lego\\Scripts\\Race\\CarRaceR&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Must_Succeed&amp;lt;/code&amp;gt; ||  ||  || &amp;lt;code&amp;gt;Must_Succeed&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Action names are case-sensitive and are not cased consistently (e.g. &amp;lt;code&amp;gt;OBject:LegoRaceCar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Auto_create:actor_02&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[JUKEBOX.SI]]&lt;br /&gt;
* [[NOCD.SI]]&lt;/div&gt;</summary>
		<author><name>XZise</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=WORLD.WDB&amp;diff=655</id>
		<title>WORLD.WDB</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=WORLD.WDB&amp;diff=655"/>
		<updated>2025-07-19T12:41:21Z</updated>

		<summary type="html">&lt;p&gt;XZise: Reference ImHex Pattern and explain a bit of the format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WORLD.WDB]] or &#039;&#039;&#039;World DataBase&#039;&#039;&#039; is an asset file for LEGO Island. It is one of the few files [[Local Files|copied to the hard drive]] during installation, as opposed to the majority which are [[Interleaf File|streamed from CD-ROM]].&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
WORLD.WDB is the only &#039;&#039;&#039;.WDB&#039;&#039;&#039; file in LEGO Island, unlike the much more common [[Interleaf File]] format. As such, it is generally even less well understood. It does not follow the chunking/streaming conventions of the Interleaf format as it is always read from hard drive.&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
&lt;br /&gt;
It is known that WORLD.WDB contains most of the 3D models used by the game and many of the textures (but notably excluding the [[phonemes]], which are in Interleaf files). There have been successful attempts at ripping and even swapping assets from WORLD.WDB, but no known attempts at reconstruction.&lt;br /&gt;
&lt;br /&gt;
The file contains a list of worlds, where each world references a number of models and parts. After the models exists a list of textures and a single part. Each model and part can also have a list of textures themselves. The textures use a palette and store an uncompressed stream of bytes referencing the palette. Model references also contain a location, direction and up vector placing them in the world.&lt;br /&gt;
&lt;br /&gt;
A model contains an ROI (Realtime object instance), which can contain other ROIs, allowing them to be animated separately as the animation modify a ROI. A part contains a list of ROIs directly although those cannot contain another ROI.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [https://github.com/floriandotorg/isle-documentation/tree/master/imhex-patterns ImHex Patterns] to parse several LEGO Island related files with the hex editor [https://imhex.werwolv.net/ ImHex]&lt;br /&gt;
* [http://fileformats.archiveteam.org/wiki/Lego_Island_World_Database Incomplete reverse-engineered WDB documentation]&lt;br /&gt;
* [https://github.com/LiamBrandt/WDBRipper WDBRipper], unmaintained but decently functional tool for extracting assets from WORLD.WDB&lt;/div&gt;</summary>
		<author><name>XZise</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=Interleaf_File&amp;diff=654</id>
		<title>Interleaf File</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=Interleaf_File&amp;diff=654"/>
		<updated>2025-07-19T12:24:41Z</updated>

		<summary type="html">&lt;p&gt;XZise: /* Extra string */ Add more extra strings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An &#039;&#039;&#039;Interleaf File&#039;&#039;&#039; (extension &#039;&#039;&#039;.SI&#039;&#039;&#039;) is a general-purpose asset archive format designed for streaming from CD-ROM. It was developed by [[Mindscape]] for use throughout [[LEGO Island]].&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Interleaf file format was originally thought to be exclusive to &#039;&#039;[[LEGO Island]]&#039;&#039;, but has since also been discovered in earlier [[Mindscape]] games called &#039;&#039;{{Wikipedia|Warhammer: Shadow of the Horned Rat}}&#039;&#039; and &#039;&#039;{{Wikipedia|Chessmaster 5000}}&#039;&#039;. Regardless, it remains an extremely obscure format and therefore is not well documented. All information known about this format has been through reverse engineering or interviews with game developers.&lt;br /&gt;
&lt;br /&gt;
Interleaf files are derived from the {{Wikipedia|Resource Interchange File Format}} standard (best known as the basis of {{Wikipedia|Audio Video Interleave}} and {{Wikipedia|WAV}} files). They are comprised of various LEGO Island-specific structures (such as [[MxDa]] and [[MxCh]]), however these structures usually contain standard format file data (such as PCM WAV audio and Windows BMP images).&lt;br /&gt;
&lt;br /&gt;
The primary purpose of Interleaf files is to split various file formats into smaller chunks that are interleaved together so they can all be read as one continuous stream. For example, a chunk of voice data may be followed by a chunk of matching animation data or a bitmapped graphic. This is done to reduce the amount of seeking around the disc for assets since CD-ROM speeds of the era were generally very slow and end-user hard drive space was usually too limited to store much game data.&lt;br /&gt;
&lt;br /&gt;
Interleaf files were produced internally with a tool called [[Weaver]], however this tool has never been publicly released or leaked.&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Interleaf files went through a number of revisions, as indicated by this error message that&#039;s thrown if an SI version doesn&#039;t match:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:WrongSIVersion.png|alt=Error. Wrong SI file version. 2.2 expected.]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SI version is set in an SI file&#039;s [[MxHd]] section. The version used in both retail versions is 2.2.&lt;br /&gt;
&lt;br /&gt;
Below is a table of known SI file versions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Known Interleaf/SI file versions&lt;br /&gt;
|-&lt;br /&gt;
! Version !! Known usage&lt;br /&gt;
|-&lt;br /&gt;
| 1.0 || &#039;&#039;Warhammer: Shadow of the Horned Rat&#039;&#039;, &#039;&#039;Chestmaster 5000&#039;&#039;, &#039;&#039;LEGO Island&#039;&#039; (July 1996 build)&lt;br /&gt;
|-&lt;br /&gt;
| 2.2 || &#039;&#039;LEGO Island (final)&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Modification ==&lt;br /&gt;
As aforementioned, no official documentation of Interleaf files has ever been released. There are a handful of tools for working with them (e.g. [[LEGO Island Rebuilder]]), but none with a complete implementation. Therefore, manual hex editing is often used to replace or extract assets.&lt;br /&gt;
&lt;br /&gt;
When working with Interleaf files, this interleaving needs to be taken account as it will dictate how the data is both extracted and inserted. One file stream may be separated into several chunks with chunks of other files interleaved between them.&lt;br /&gt;
&lt;br /&gt;
Since audio is stored in PCM, Interleaf files can be crudely listened to using Audacity&#039;s &amp;quot;Import Raw Data&amp;quot; feature. SI audio is always uncompressed mono PCM and is either 11025 Hz and 16-bit or 22050 Hz and 8-bit. Unfortunately, due to the aforementioned chunked/interleaved nature of SI files, the audio retrieved through this method will be noticeably glitchy and will require further processing (removal of chunk headers and any non-audio chunks) to extract clean PCM data.&lt;br /&gt;
&lt;br /&gt;
== Extra string ==&lt;br /&gt;
Each object in the Interleaf file can have an extra string where additional information is stored. It is a list of key-value-pairs, although some keys do not use values and the keys are case-insensitive. To get each pair the string is split along one of the following characters:&lt;br /&gt;
* &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;&lt;br /&gt;
* Space&lt;br /&gt;
* Tab&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Carriage_return Carriage return]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Line_feed Line feed]&lt;br /&gt;
* &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each item can then either be just present or have a value. In some cases the value can be further split with &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is an incomplete list of existing extra information and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Valid values&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Images&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VISIBILITY&amp;lt;/code&amp;gt; || Makes the image by default invisible/disabled when set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;. || &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;BMP_ISMAP&amp;lt;/code&amp;gt; || Does not draw the image and is only used to map a position to an value (e.g. to determine what is clicked). || &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Sound&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SOUND&amp;lt;/code&amp;gt; || Makes the sound by default muted/disabled when set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;. || &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Path actors&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; || Determines the location of the actor || name of boundary, source edge, source scale, destination edge, destination scale&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Controls&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VISIBILITY&amp;lt;/code&amp;gt; || Makes the control by default invisible/disabled when set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;. || &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;STYLE&amp;lt;/code&amp;gt; || Can specify how the controls handles a mouse click. &amp;lt;code&amp;gt;MAP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;GRID&amp;lt;/code&amp;gt; support additional values. || &amp;lt;code&amp;gt;MAP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GRID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TOGGLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Meters (speed/fuel)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FILLER_INDEX&amp;lt;/code&amp;gt; || Used in meters (speed/fuel) to set the color for the fill used from the image&#039;s palette. || A number between 1 and 255&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TYPE&amp;lt;/code&amp;gt; || Determines in which direction the meter is filled. Even though all four directions are recognized &amp;lt;code&amp;gt;RIGHT_TO_LEFT&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TOP_TO_BOTTOM&amp;lt;/code&amp;gt; are not fully implemented. || &amp;lt;code&amp;gt;LEFT_TO_RIGHT&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;BOTTOM_TO_TOP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RIGHT_TO_LEFT&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TOP_TO_BOTTOM&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VARIABLE&amp;lt;/code&amp;gt; || Specifies the variable which is used || The name of the variable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[JUKEBOX.SI]]&lt;br /&gt;
* [[NOCD.SI]]&lt;/div&gt;</summary>
		<author><name>XZise</name></author>
	</entry>
	<entry>
		<id>https://www.legoisland.org/index.php?title=Interleaf_File&amp;diff=652</id>
		<title>Interleaf File</title>
		<link rel="alternate" type="text/html" href="https://www.legoisland.org/index.php?title=Interleaf_File&amp;diff=652"/>
		<updated>2025-07-18T22:51:52Z</updated>

		<summary type="html">&lt;p&gt;XZise: Add initial documentation for the extra string&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An &#039;&#039;&#039;Interleaf File&#039;&#039;&#039; (extension &#039;&#039;&#039;.SI&#039;&#039;&#039;) is a general-purpose asset archive format designed for streaming from CD-ROM. It was developed by [[Mindscape]] for use throughout [[LEGO Island]].&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Interleaf file format was originally thought to be exclusive to &#039;&#039;[[LEGO Island]]&#039;&#039;, but has since also been discovered in earlier [[Mindscape]] games called &#039;&#039;{{Wikipedia|Warhammer: Shadow of the Horned Rat}}&#039;&#039; and &#039;&#039;{{Wikipedia|Chessmaster 5000}}&#039;&#039;. Regardless, it remains an extremely obscure format and therefore is not well documented. All information known about this format has been through reverse engineering or interviews with game developers.&lt;br /&gt;
&lt;br /&gt;
Interleaf files are derived from the {{Wikipedia|Resource Interchange File Format}} standard (best known as the basis of {{Wikipedia|Audio Video Interleave}} and {{Wikipedia|WAV}} files). They are comprised of various LEGO Island-specific structures (such as [[MxDa]] and [[MxCh]]), however these structures usually contain standard format file data (such as PCM WAV audio and Windows BMP images).&lt;br /&gt;
&lt;br /&gt;
The primary purpose of Interleaf files is to split various file formats into smaller chunks that are interleaved together so they can all be read as one continuous stream. For example, a chunk of voice data may be followed by a chunk of matching animation data or a bitmapped graphic. This is done to reduce the amount of seeking around the disc for assets since CD-ROM speeds of the era were generally very slow and end-user hard drive space was usually too limited to store much game data.&lt;br /&gt;
&lt;br /&gt;
Interleaf files were produced internally with a tool called [[Weaver]], however this tool has never been publicly released or leaked.&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Interleaf files went through a number of revisions, as indicated by this error message that&#039;s thrown if an SI version doesn&#039;t match:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:WrongSIVersion.png|alt=Error. Wrong SI file version. 2.2 expected.]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SI version is set in an SI file&#039;s [[MxHd]] section. The version used in both retail versions is 2.2.&lt;br /&gt;
&lt;br /&gt;
Below is a table of known SI file versions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Known Interleaf/SI file versions&lt;br /&gt;
|-&lt;br /&gt;
! Version !! Known usage&lt;br /&gt;
|-&lt;br /&gt;
| 1.0 || &#039;&#039;Warhammer: Shadow of the Horned Rat&#039;&#039;, &#039;&#039;Chestmaster 5000&#039;&#039;, &#039;&#039;LEGO Island&#039;&#039; (July 1996 build)&lt;br /&gt;
|-&lt;br /&gt;
| 2.2 || &#039;&#039;LEGO Island (final)&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Modification ==&lt;br /&gt;
As aforementioned, no official documentation of Interleaf files has ever been released. There are a handful of tools for working with them (e.g. [[LEGO Island Rebuilder]]), but none with a complete implementation. Therefore, manual hex editing is often used to replace or extract assets.&lt;br /&gt;
&lt;br /&gt;
When working with Interleaf files, this interleaving needs to be taken account as it will dictate how the data is both extracted and inserted. One file stream may be separated into several chunks with chunks of other files interleaved between them.&lt;br /&gt;
&lt;br /&gt;
Since audio is stored in PCM, Interleaf files can be crudely listened to using Audacity&#039;s &amp;quot;Import Raw Data&amp;quot; feature. SI audio is always uncompressed mono PCM and is either 11025 Hz and 16-bit or 22050 Hz and 8-bit. Unfortunately, due to the aforementioned chunked/interleaved nature of SI files, the audio retrieved through this method will be noticeably glitchy and will require further processing (removal of chunk headers and any non-audio chunks) to extract clean PCM data.&lt;br /&gt;
&lt;br /&gt;
== Extra string ==&lt;br /&gt;
Each object in the Interleaf file can have an extra string where additional information is stored. It is a list of key-value-pairs, although some keys do not use values and the keys are case-insensitive. To get each pair the string is split along one of the following characters:&lt;br /&gt;
* &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;&lt;br /&gt;
* Space&lt;br /&gt;
* Tab&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Carriage_return Carriage return]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Line_feed Line feed]&lt;br /&gt;
* &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each item can then either be just present or have a value. In some cases the value can be further split with &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is an incomplete list of existing extra information and their meaning:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Values&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Controls&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;STYLE&amp;lt;/code&amp;gt; || Can specify how the controls handles a mouse click. &amp;lt;code&amp;gt;MAP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;GRID&amp;lt;/code&amp;gt; support additional values. || &amp;lt;code&amp;gt;MAP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GRID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TOGGLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Meters (speed/fuel)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FILLER_INDEX&amp;lt;/code&amp;gt; || Used in meters (speed/fuel) to set the color for the fill used from the image&#039;s palette. || A number between 1 and 255&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TYPE&amp;lt;/code&amp;gt; || Determines in which direction the meter is filled. Even though all four directions are recognized &amp;lt;code&amp;gt;RIGHT_TO_LEFT&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;TOP_TO_BOTTOM&amp;lt;/code&amp;gt; are not fully implemented. || &amp;lt;code&amp;gt;LEFT_TO_RIGHT&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;BOTTOM_TO_TOP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RIGHT_TO_LEFT&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TOP_TO_BOTTOM&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VARIABLE&amp;lt;/code&amp;gt; || Specifies the variable which is used || The name of the variable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[JUKEBOX.SI]]&lt;br /&gt;
* [[NOCD.SI]]&lt;/div&gt;</summary>
		<author><name>XZise</name></author>
	</entry>
</feed>