I am currently trying to port a greek fan made translation for the CD version of SOMI to the DOS/VGA version.
Things seem to go well (fonts were changed successfully), but after I imported the new subtitles text, upon loading the game through ScummVM I got the "Dial-a-pirate" copy protection system, but with messed up background image.
That means noone can make sense of what the pirate presented looks like. It also tends to crash often and randomly at this point.
Also this part seems to be bypassed by ScummVM for the original (english) version.
Any ideas on what to do?
Edit: (Some more info). I tried running the original (english) Monkey Island, with the copy_protection=true parameter set in the ScummVm.ini. In this case, the "Dial-a-pirate" appears normally (no image distortion).
Then I ran the greek translated Monkey Island with copy_protection=false, and I had the same results as before (the copy protection still appears, and the image is all messed up_.
Finally I tried changing only one letter (I deleted a character) from the original text and then I re-imported it into the game. Again I got the messed up version of the Dial-a-pirate. Thus, I assume there is some kind of MD5 checksum check that decides whether to skip the copy protection or show it. But why show it messed up like that?
P.S. Just to clarify things, I have no problem with the copy protection system being shown if that is inevitable for the translated version. My problem is with it being shown all messed up, and thus noone can make sense of it.
Some images to show what I mean:
With changed text (even with deleting just one character):


With unchanged text and explicitly enabling the copy protection from the scummvm.ini:


Edit 2: It seems that I might have been wrong about the checksum thing. From a few tests I run, I concluded that the subtitles' text is serially distributed amongst the 4 .LEC files. Changing the text ONLY from the first file results in the problem I am encountering. This only happens when the overall number of characters in this chunk of text is changed (characters added or deleted), and does not occur when the overall number of characters remains the same (!!). Which leads me to believe that when importing my translated text into the game, some values don't get updated as they should, and so something overlaps with other data when it should not.
Unfortunately, until I find out more (if available) for the .Lec and lfl structure of the Scumm V4 engine, I won't be able to find a practical solution for this.