AlphaYellow wrote: Sun Sep 11, 2022 5:00 pm
Take your time mate, hope it can be done something about it, if not, the Glide version works just fine too. I just finished recording a full walkthrough using your fixes and didn't have any issues at all at 1080p and solid 60 fps, even with the higher framerate of 60, everything ran smoothly and without any issues

I'll post here the link as soon as it's up. I wonder if you could do a fix like this for Laura's Happy Adventures and Alex Builds His Farm as well, so the entire Playmobil game collection would be in widescreen and 60 fps!
I finally did some work on the Direct3D EXE
Disclaimer: This is not (yet) a widescreen or FPS-fix for the game! It is merely a different (and probably more flexible) way of running the game on modern computers.
The first step was to get an overview over the different versions of the game's EXE that exist. Even though I know there are possibly more versions (e.g. the Spanish EXE), I would like to distinguish the following 5 versions of the Hype executable:
- MaiD3Dvr_bleu.exe "V1" : The original Direct3D executable (dated Oct 29, 1999) that shipped e.g. with the English, French and German release of the game. I decrypted the SafeDisc-encrypted files of all three localized releases of the game and they are indeed completely identical!
- MaiDFXvr_bleu.exe "V1": The original Glide executable (dated Oct 29, 1999).
- MaiD3Dvr_bleu.exe "V2" : Dated Jan 26, 2000. This is from an official patch by UbiSoft, which – according to the readme – "corrects the Voodoo3 issues and some graphical D3D issues". The patch also came with a bunch of other replacement files (e.g. DLL-files), but as far as I can tell, they are only needed for SafeDisc to work (which doesn't work on modern Windows anyway) and none of them are needed if you are playing the game without the CD. In fact, you could remove all of them and the game will still run just as well. I do not know exactly what they changed from "V1". So far, I have only noticed a very subtle difference when it comes to video playback (see below).
- MaiDFXvr_bleu.exe "V2" : Dated Jan 26, 2000. Same as MaiD3Dvr_bleu.exe "V2", but for Glide.
- MaiDFXvr_bleu.exe "nGlide" : I call this the "nGlide" version, because it is available on the nGlide website. This is the version I have been using as a basis for my previous widescreen fixes! It already has the SafeDisc encryption removed and is patched so that the game runs without the disc in the drive.
In order to get the Direct3D version of the game to run, I first wanted to understand how exactly the
"nGlide" EXE has been altered so that the game runs on modern systems. A quick comparison of the sizes of the decrypted EXEs showed me that the
"nGlide" EXE is in fact based on the original
"V1" of MaiD3Dvr_bleu.exe and not on the newer patch by UbiSoft. I then ran both of them through a decompiler and compared them byte by byte in order to determine the differences. Turns out that they are almost identical except for a few changes:
- CD checks have been removed at 8 different places in the code.
- The game no longer looks for ubi.ini in <WindowsFolder>\UbiSoft\, but instead expects it to be in <GameFolder>\UbiSoft\. This makes the game more "portable". Relevant code has been replaced in 3 different places.
- A string has been changed from "%c:\GameData\World\Levels\fix.cnt" to ".\GameData\World\Levels\fix.cnt". This apparently has no impact since the game works either way.
- A hard-coded floating point number in a function has been changed from 1.2 to 2.0. I have no idea what this function does, but I attached the debugger to it and played the game for a while. The code in question never got executed, so I guess it's not really important.
Since I figured that changes 3 & 4 were not important, I tried to apply 1 & 2 to the Direct3d EXE. In fact, I wrote a little Python-script that takes
any version of the EXE (with SafeDisc encryption already removed) and implements changes 1 & 2 mentioned above.
This way, I got all four versions (D3D
"V1" and
"V2" as well as DFX
"V1" and
"V2") to work on my computer (using an appropriate wrapper for Glide / old DirectX)
Attached below, you can find the patched
MaiD3Dvr_bleu.exe "V2" , in case you want to try it out yourself. Since the game is based on an old DirectX version, you will have to use a Direct3D-wrapper in order to run the game (much like the Glide-wrapper needed for the Glide version). Several ones will work, but I will once again recommend dgVoodoo2 (which – despite its name – is not only a Glide wrapper but also a Direct3D-wrapper). Simply copy the files
DDraw.dll and
D3DImm.dll from the folder MS\x86\ and
dgVoodoo.conf and
dgVoodooCpl.exe from the main directy to your Hype directory. Use
dgVoodooCpl.exe to adjust the setting.
Important: Under the "DirectX" tab, set "VideoCard" to "ATI Radeon 8500". Otherwise there will be graphical glitches as you can see in the screenshot below.

- Hype_Graphics_Glitch.png (75.91 KiB) Viewed 1939 times
There are two additional things I would like to mention:
Video playback: Inside game window vs. child window
During my testing I found a little curiosity, which is the only difference between the different EXE versions (
"V1" and
"V2") I have found so far. In the config file
ubi.ini, there is an option to determine wether the video files should play inside the game's main window or in a separate child window. If it is not already there, you have to add the line "
ForceVideoMode=" under the
[Hype - The Time Quest] section of
ubi.ini. From debugging the EXE files, I know it can have three different values, whose behavior – strangely enough – depends on the version of the EXE.
ForceVideoMode=Default (or simply leaving out the line) : Always plays the videos inside the game's main window
ForceVideoMode=ChildWindow : Always plays the videos in a separate child window.
ForceVideoMode=DXMedia : Plays the video inside the main window for V1 of the EXEs (both Glide and D3D) and play the video in a separate window for V2... very strange!
How to fix problems with video playback / crash on startup:
The game only has three video-cutscenes: the logo (
LOGO.AVI), the intro (
HypeIntro.avi) and the outro (
HypeConclusion.avi). They are all encoded using the Indeo-50 codec, which was quite common at the time. However, due to security concerns, Microsoft disabled the codec on modern Windows systems. The Glide version of the game (
MaiDFXvr_bleu.exe) seems to have its own built-in decoder, so the videos still run fine. The Direct3D version (
MaiD3Dvr_bleu.exe) on the other hand, relies on Windows functionality to play the videos. Depending on whether you run the videos inside the game-window or in a child-window (see previous section for details), you will either get only sound – no picture – or the game will crash. Either way, there are three ways to fix this:
- Method 1 (not really a fix, but prevents crashing): Turn off video playback by setting PlayVideo=0 in ubi.ini. Recall that ubi.ini must be placed in <GameFolder>\UbiSoft\ and NOT <WindowsFolder>\UbiSoft\, since we specifically patched the EXE to look for the ini-file in the game folder and not the windows folder!
- Method 2 (recommended): Convert the video files to use the Cinepak codec instead of Indeo-50. It works fine with both MaiD3Dvr_bleu.exe and MaiDFXvr_bleu.exe, and the codec is not disabled on modern Windows systems! In order to do this, download ffmpeg and run
Code: Select all
ffmpeg -i "OLD_FILE.avi" -c:a copy -c:v cinepak "NEW_FILE.avi"
to convert the AVI-file. Note that Cinepak encoding is VERY SLOW, even on modern systems. Fortunately this only has to be done once
I considererd providing the converted video files as a download, but then it occured to me that it would have to be done separately for every language... 
- Method 3 (not recommended): Register the Indeo Video Codec following the instructions on https://www.pcgamingwiki.com/wiki/Windows (search the page for "Indeo"). Due to security issues, make sure to unregister the codec after playing the game (instructions are on the same page)!
Next step is to get the Widescreen and FPS fixes running on the Direct3D EXE
