Jump to content

Home

Dunstan

Members
  • Posts

    11
  • Joined

  • Last visited

Everything posted by Dunstan

  1. I wonder if we could modify the starting room in the game to the dancing monkeys' room, maybe we could get the intro sequence? It would be nice to find out where is the starting room number programmed.
  2. I am sorry, but my tool uses PHP language, which is a web programming language, so it needs a PHP-enabled WWW-server to work. I can't create C++ or Java, even FreePascal programs, since I don't know these languages well enough. I'm afraid, I will have no time to find the bugs in it, especially since we have finished the translation. Generally it works (the translation of uitext.info was error-free, speech info uses a more complex index table), but rarely it wrongs the index table of the edited file, and these errors are hard to correct, (sometimes it is hard even to notice them, my translated speech.info looked right, but a lot of voices ceased to exist in the game). So if somebody wants it, it is 'as is' (like the half-sunken boat at Stan's in Monkey 1 ). Anyway, you will need some programming experience to re-program the library's scripts which handle the card catalog, if you want an ordered catalog system in your language. It is in original LucasArts scripting language, and can be re-programmed by using some Scumm tools like ScumRev, scummrp, etc. I did it once by creating an ordered library catalog in Hungarian, and I can give more info about this if somebody is interested.
  3. I wrote my translation tool, but it isn't stable, and I can't give it to you, because it is in PHP . Since nobody else could create a working translator yet, you should write yours. I made a description about the uitext.info and the speech.info formats here: http://www.lucasforums.com/showpost.php?p=2748260&postcount=275 . It is quite easy to make a translator, if you know some programming language, I wrote mine (which is still buggy) in a day or so. Character sets are in png graphics (at least for the PC edition), so you could edit them in any better graphics editor.
  4. It's because the game uses the classic game's scripts to control the Special Edition. Since the classic game is still in the original SCUMM compressed file, and the library catalog needs a different handler script for every language, it was almost impossible for LucasArts to create a correct translation.
  5. I'm just translating the game to Hungarian, and it is strange that there are two 22-s in every set of texts whether it is Guybrush 'I'd like 22 black', the dealer's '22 black it is' or Oscar's 'The winning number will be 22 black', both colors. Do the scripts pick a value between 1 and 32 or between 0 and 32? In the latter, the second 22 is used in the game.
  6. There are pecularities in the game text, too. For example there are two 22 reds and two 22 blacks on the roulette wheel on Phatt Island.
  7. Can somebody help me find the scripts this game uses? In Monkey2 original I could make a translation of the library catalog only by re-ordering the handler scripts (Lscr_0204, Scrp_063 and Scrp_064, I think). Is it possible, that this game uses the original's scripts? From the non-english versions, it is clear, that LucasArts couldn't create a consistent translation of the library catalog in MI2SE. By the way, I described the file formats of fr.speech.info and fr.uitext.info here: http://www.lucasforums.com/showpost.php?p=2748260&postcount=275 in case somebody would write a translator. I wrote mine, but unfortunately it's still buggy.
  8. Formats of MI2SE fr.uitex.info and fr.speech.info: Format of fr.uitext.info: Byte 0-3: identifying data(?) Byte 4-10131 index table in 8 byte records Byte 10131- localization data in label text - localization text format separated by 00 bytes. The index table contains reversed 4 byte values (for example hex 90 27 00 00 -> hex 00 00 27 90), every value corresponds to one of the labels (like MENU_PLAY_NEW_GAME) or one of the localized texts (like NOUVELLE PARTIE). There is an offset value for every element in the index table which is the address of the first byte of the pointer in the file. In the case of the first record, for the index of the table which points to 'MENU_PLAY_NEW_GAME' by value 00 00 27 90, the correct address would be 00 00 27 94, for the second index, which is the translated text 'NOUVELLE PARTIE' 00 00 27 9F, the correct address is 00 00 27 A7. The correct addresses of the n-th item are: label text of the n-th item: (reversed value from the 4 bytes starting at (2*(n)-1) in the index table)+4*(2*n-1) localized text of the n-th item: (reversed value from the 4 bytes starting at (2*n) in the index table)+4*(2*n) where n starts with 1. Format of the fr.speech.info: byte 0-3 : identification data (?) byte 4-279203 : index table in 32 byte records (8725 entries) byte 279204- : localization text in label text - English original - translation format separated by bytes 00. The index table's 32 byte records contain pointers to the actual speech file, and to the localization data in this file. Bytes 20-31 contain the three 4-byte reversed pointers, bytes 20-23 for the label text (like 'GUY_4_shore_11_1a'), bytes 24-27 for English original (like 'It doesn't seem to open.'), bytes 28-31 for the translation (like 'Ça n'a pas l'air de s'ouvrir.'). Reversed values mean, the actual value of the pointer is byte0+256*byte1+256*256*byte2+256*256*256*byte3. Pointers have an offset which is the position of the first byte in the file. So correct pointers for the n-th item are: label text of the n-th item: (value from the reversed 4 bytes starting at position 4+(n-1)*32+20) + 4+(n-1)*32+20 English original of the n-th item: (value from the reversed 4 bytes starting at position 4+(n-1)*32+24) + 4+(n-1)*32+24 localized text of the n-th item: (value from the reversed 4 bytes at position 4+(n-1)*32+28) + 4+(n-1)*32+28 Where n starts with 1. Hope it helps.
  9. The format of the fr.speech.info is the following: byte 0-3 : identification data (?) byte 4-279203 : index table in 32 byte records (8725 entries) byte 279204- : localization text in pointer text - English original - translation format separated by bytes 00. The index table's 32 byte records contain pointers to the actual speech file, and to the localization data in this file. Bytes 20-31 contain the three 4-byte reversed pointers, bytes 20-23 for the pointer text (like 'GUY_4_shore_11_1a'), bytes 24-27 for English original (like 'It doesn't seem to open.'), bytes 28-31 for the translation (like 'Ça n'a pas l'air de s'ouvrir.'). Reversed values mean, the actual value of the pointer is byte0+256*byte1+256*256*byte2+256*256*256*byte3. Pointers have an offset which is the position of the first byte in the file. So correct pointers for the n-th item are: pointer text of the n-th item: (value from the reversed 4 bytes starting at position 4+(n-1)*32+20) + 4+(n-1)*32+20 English original of the n-th item: (value from the reversed 4 bytes starting at position 4+(n-1)*32+24) + 4+(n-1)*32+24 localized text of the n-th item: (value from the reversed 4 bytes at position 4+(n-1)*32+28) + 4+(n-1)*32+28 Where n starts with 1. Hope it helps.
  10. For those who'd like to write a translator for Mi2SE: The fr.uitext.info's format is the following: Byte 0-3: identifying data(?) Byte 4-10131 index table Byte 10131- localization data in pointer text - localization text format separated by 00 bytes. The index table contains reversed 4 byte values (for example hex 90 27 00 00 -> hex 00 00 27 90), every value corresponds to one of the pointer texts (like MENU_PLAY_NEW_GAME) or one of the localized texts (like NOUVELLE PARTIE). There is an offset value for every element in the index table which is i*4 where i is the element's position in the table (starting with 1). In the case of the first index of the table which points to 'MENU_PLAY_NEW_GAME' by value 00 00 27 90, the correct address would be 00 00 27 94, the second index, which is the translated text 'NOUVELLE PARTIE' 00 00 27 9F, the correct address is 00 00 27 A7. The correct addresses of the n-th item are: pointer text of the n-th item: (2*(n)-1)-th element of the index table+4*(2*n-1) localized text of the n-th item: (2*n)-th element of the index table+4*(2*n) where n starts with 1. I hope it helps.
  11. Yes, please, Koun, would you be so kind and modify your program to handle Monkey2SE texts, too? I promise to give you feedback, just please, please... I have a complete Monkey2 translation, but I can't insert it into the localization files with a hex editor, because some sentences are too long.
×
×
  • Create New...