ISLE.EXE: Difference between revisions

1,025 bytes added ,  31 May 2023
no edit summary
(Removed redirect to Local Files#ISLE.EXE)
Tag: Removed redirect
No edit summary
Line 2: Line 2:


Its simplicity is demonstrated in its file size, only 85KB compared to LEGO1's over 1,000 (unless your copy shipped with [[#SecuROM|SecuROM]], in which case ISLE will be much larger). However, it does handle a number of crucial responsibilities that are worth documenting.
Its simplicity is demonstrated in its file size, only 85KB compared to LEGO1's over 1,000 (unless your copy shipped with [[#SecuROM|SecuROM]], in which case ISLE will be much larger). However, it does handle a number of crucial responsibilities that are worth documenting.
== DirectSound Test ==
One of the first things ISLE.EXE does is attempt to create a DirectSound device and then immediately destroy it. If it fails to create one, it will wait for 500 ms and try again. If it continues to fail, it will do this up to 20 times before giving up and showing an error message that it failed to find any DirectSound devices:
<center>[[File:SoundError.png]]</center>
This is a somewhat odd behavior because ISLE.EXE is not otherwise responsible for any sound-related functionality. It simply creates a device to see if it can, and then either destroys it or throws the above error if it can't create one. Presumably this is done because sound hardware was much less reliable back then, so it became necessary to attempt initializing it multiple times before it could definitively be considered a failure. However, it's not clear why this functionality could not be part of LEGO1's sound initialization routine instead, considering that's the code that actually handles all of the in-game sound.


== SecuROM ==
== SecuROM ==