Saving the Masters of the Elements From Getting Lost to Time: Part 4
Published at , last update 2025-11-14 14:11:58#windows #retrogaming #preservation
In the previous part of this series, we finally fixed the game itself by removing the broken library and replacing it with a more modern alternative.
However, we are not done yet - there are still some minor issues left to fix. Let’s go!
Starting the game is a whole puzzle by itself. Depending on the release, the intro screen, which also serves as the main menu, is broken starting with Windows 2000. This issue significantly hinders the game’s usability, as you’ll either get almost all UI elements (except the one that actually starts the game) or none (unless you know the exact location and hover the mouse over them).
When rendered correctly, the intro screen is supposed to look like this:
The rendering issue is not too bad in the German release. The only UI element that is missing is the “pull switch” that starts the game. Luckily, you can just use the Hilfe button, since that one will start the game as well.
For comparison, here’s a screenshot of a properly rendered intro screen of the English release:
As you can see in the screenshot below, the English (as well as the French and Dutch) releases are affected more severely. The UI elements are entirely missing, unless you hover the mouse cursor at the exact location. This makes it basically impossible to start the game unless you played it before and remember the exact locations of the UI elements.
Like many Macromedia Director games, Masters of the Elements relies on a screen resolution of 640x480 and a color depth of 256 colors. While 256 colors were common back in the day, modern Windows releases and graphics drivers basically only support this color mode through emulation and by wrapping the necessary functions. Furthermore, Macromedia Director supports multiple color palettes and even provides options to swap them mid-movie, allowing more colors than the initial color palette provides.
Setting the screen resolution and proper color depth is accomplished by a small launcher executable that all versions of Masters of the Elements provide. This application sets the screen resolution and color depth, then launches the Macromedia Director projector executable, ultimately starting the game. And yes, this launcher executable is also broken on modern Windows. The non-native 256 colors combined with the palette assignment in Macromedia Director is what breaks the intro screen.
I was able to track down the broken palette assignment in the INTRO\INTRO.DIR file. The relevant code is the on startIntro function in Movie Script 31:
on startIntro
set navigationZones to []
set navigationZones to [rect(0, 0, 640, 480)]
set navigationPoints to [[300, 170]]
set navigationDirection to [1]
set navigationScripts to ["zoomInOnBook"]
puppetPalette("black palette", 25)
updateStage()
set the loc of sprite 1 to point(2000, 2000)
setSprite(4, iassets, 21)
setSprite(2, iassets, 11)
showButtons()
...
Removing the line
puppetPalette("black palette", 25)
which transitions to the palette called black palette with a speed setting of 25 (where 1 is the slowest and 60 the fastest possible setting) fixes the rendering issues without any notable side effects. Since using this palette won’t cause issues when running the game on Windows 95/98/ME using the native 256 color space, my conclusion is that a) the palette transition breaks the 256 color mapping into the 32-bit color space of current Windows and b) the color mapping is working well enough to avoid any negative side effects.
The odd one out is the Italian release. Right now, I don’t fully understand what is wrong with this version. The UI elements in the intro screen render correctly; however, both the clouds at the beginning and the transition to the Room of Gravity are rendered using the incorrect color palette. Luckily for us, this is the only issue I could find, so this is more likely related to the transition itself and not directly to the color palette.
When running the game natively without any modifications on Windows 95/98/ME, the transition to the Room of Gravity looks like this:
Comparing the screenshots from above with the broken rendering reveals that the solid blue background of the “first half” of the room transition is replaced with solid black:
Interestingly, this version includes the line in the INTRO.DIR movie that breaks all the other versions, so they likely used an entirely different palette or changed something I have yet to find when building the movie files themselves.
Minor changes across the different language releases are a recurring theme for this game. Many strings are hard-coded into the movie files, so they vary slightly across all versions. Furthermore, there’s a movie file called CHECK.DIR that’s embedded into the projector file for the French, Italian, and Dutch release I own, while the other releases have this movie as a seperate file. At this point, I’m convinced that I don’t own the truly original Dutch release, but rather the later re-release primarily marketed in Belgium. If someone has the original Dutch release from 1997 for sale, please get in touch with me.
When you start the game, you’ll notice that the game is rendered really, really small, especially when using a larger screen resolution. As I briefly mentioned, the game originally switched to 640x480 by using the (now broken) helper application. Initially, I tried to use the compatibility option provided by Windows, but the program never notifies Windows when it closes, so you then have to manually revert back from 640x480 to your native screen resolution. This gets annoying really, really fast.
The perfect solution for this problem is a small utility called Res-o-Matic by bCheck. This tool lets you pick an application and the resolution it should run in. Then, it will create a shortcut file that switches your display to the selected resolution, launches the application, and returns to the original resolution after the program exits. Really convenient! I used this tool for the entirety of this series, so I can’t recommend it enough. Thank you, bCheck!
To summarize, the game is now fully functional, for the first time in about 20 yearss. We have successfully fixed all the issues that we could. Mission accomplished?
Well… I think I just found some subtle changes in the Lingo code across the different releases, and they are not related to the localization. This can only mean one thing: There might be multiple versions of the game engine.
Do you have any comments or suggestions regarding this article? Please drop an e-mail to feedback@felsqualle.com!