Posted August 20, 2019
EDIT: The 1.3 GOG update released on 21/08/2019 automatically restores the loading screen, there is no need to perform the below steps anymore. This guide is now obsolete. (The NULL resource in ART.REZ is not restored, but that is anyway not really necessary.)
The GOG version of Might & Magic IX is missing the loading screen (replaced by blackness), supposedly because it can cause technical issues with the game, like the screen freezing on it when loading finishes. Not all systems may be affected by those issues however, and luckily the needed resources are not deleted from the data files. They can be restored by some hex editing.
Here are the files that need to be edited, the replacements needed in each, and the number of occurrences for each replacement (all instances should be replaced). The search strings are case-sensitive. If the new text is longer than the old one, do not insert new bytes into the file, just overwrite the existing ones (those bytes should contain only binary zeroes initially).
data\cshell.dll:
WING.PCX -> LoadingBG.pcx (x1)
loadscree_ -> loadscreen (x3)
WINGB.pcx -> loadingBG.pcx (x1)
data\ART.REZ:
NNLL -> NULL (x1, optional)
The last one is marked as optional because it's not really needed for the loading screen to function properly. It seems to be used as a placeholder image in case another image is missing (e.g. it will show up on the loading screen if it is not restored properly).
The GOG version of Might & Magic IX is missing the loading screen (replaced by blackness), supposedly because it can cause technical issues with the game, like the screen freezing on it when loading finishes. Not all systems may be affected by those issues however, and luckily the needed resources are not deleted from the data files. They can be restored by some hex editing.
Here are the files that need to be edited, the replacements needed in each, and the number of occurrences for each replacement (all instances should be replaced). The search strings are case-sensitive. If the new text is longer than the old one, do not insert new bytes into the file, just overwrite the existing ones (those bytes should contain only binary zeroes initially).
data\cshell.dll:
WING.PCX -> LoadingBG.pcx (x1)
loadscree_ -> loadscreen (x3)
WINGB.pcx -> loadingBG.pcx (x1)
data\ART.REZ:
NNLL -> NULL (x1, optional)
The last one is marked as optional because it's not really needed for the loading screen to function properly. It seems to be used as a placeholder image in case another image is missing (e.g. it will show up on the loading screen if it is not restored properly).
Post edited August 22, 2019 by narzoul