ScummVM currently has support for this unofficial version built in, but unlike for the talkie version of MI1, language selection is not permitted - i.e. ScummVM forces the game to start in english (game text and subtitles).

My goal would be to have the game run in german, with english voiceovers. Its not so much a necessity as a nostalgia thing for the german translation of the game paired with a "want" to also hear the voiceover lines for the first time.

scummvm.ini modifications also dont work to start the game in a different language and simply are ignored.

Which brings me to the following two questions.

- Is it possible to hexedit hack the game files to swap the english and german translations as far as ScummVM is concerned? Without breaking ScummVM compatibility for that version (it recognizing the game).

- Are there plans to also allow different language versions to be selected for the MI2 Ultimate Talkie Edition v0.2 - the same way they are selectable for the MI 1 Talkie Edition already?

I believe LogicDeLuxe made the effort to craft this unofficial version, and add support for it to ScummVM - so I would like to also thank them at this point, regardless of outcome. It is refreshing to have those games play with voice as an integral element.

harlekin wrote:ScummVM currently has support for this unofficial version built in, but unlike for the talkie version of MI1, language selection is not permitted - i.e. ScummVM forces the game to start in english (game text and subtitles).

This is probably because there is no translated version of the MI2 talkie, unlike MI1.

harlekin wrote:- Is it possible to hexedit hack the game files to swap the english and german translations as far as ScummVM is concerned?

Since the strings have different lengths, it's not that simple. You have to rebuild the game resources to accommodate the modified strings. Fortunately, there is a command line tool doing exactly what you want, ie. replacing strings in the game: http://hibernatus34.free.fr/scumm/scummtr.exe

I've just finished replacing the first 500 lines. (only three more months to go.. )

Two questions, if you happen to know.

1. To solve the special characters issue, I've copied over all CHAR* files from the german version. The linked topic above also suggests that 9x.LFL and 9xx.LFL might be related to fonts in the game. Do you by any chance know those files and what they "are"?

edit: According to a french forum I better not link those two files are font files as well, I'll convert them to bmp and look at them tomorrow..

edit2: monkey2 doesnt use those lfl files. So scratch that question.

2. The german verbs in the verb grid (Look, open, close, ...) are translated now as well - its just that three of them are a bit larger than their respective fields in the english version. do you happen to know which file I'd have to copy from the german version to solve that problem?

After automating a bunch of the process, I've now a validated full german translation of monkey2 talkie edition running on ScummVM.

Except for all of those book titles, they probably need to be retranslated, because the original localization took some liberties in both the length of the list, and the available titles.

Apart from that I mapped everything correctly (from the casino game to the bones riddle, both of which had a bunch of different scripting, mapped all the dynamic scripts to several lines of the same static script, translated the handful of new entries - in short, I did it all... In a day. )

The "non fitting" verb grid is now the most pressing issue - and without knowing where to look - this will take quite some time to fix..

edit: It was easier than expected..
The file SCRP_0021 (in folder LFLF_0004) holds the gridsize for the verbs on the on sceen interface. Cross my fingers, that I dont introduce issues to the talkie with forcing it to be overwritten with the one from the german version - but so far - everything works.

Also - if you are reading this and try to do this as well, you'll need some Reg Ex skills to be able to do it in a day (isolate all \number that occur 17 or (as in | ) 16 times in a row - to get a list of terms mostly isolated from their script numbers, compare them side by side with the other language version about 40 entries at a time, moving them in the position they should hold according to the talkie script, look at line numbering and craft your version. You'll get the internal logic of the entries pretty fast. Use regex to delete all BUT script numbers of 17 or 16 length from the english version extract, merge this with your translation using paste (command line tool), use some more regex to find all entries not beginning with a \number, followed by a tabspace (paste introduced) replace with nothing - to get rid of doubled terms (english termes followed by your languages terms, in lines that didn't start with scriptnumbering (mostly item names), dont use replace all ), then do a regex search for doubled script \numbers only seperated by a tabspace, and reduce them. replace, not replace all. Find the few instances where that didn't work. Then remove all tabspaces. (replace all) Try to compile - fixing the errors which are NOT in the line number given to you by the compilation .exe (in my case I only had to fix four. ) - Profit.. )