Jump to content

Home

Translating


spiderulernet

Recommended Posts

I don't know if that has been asked before.... but can people be able to hack and modify the dialogue and text from the SCUMM games and still be able to play them? i ask that because i live in Brazil and lots of people just can't play the game because they are not very good in english. If it's possible, i was hoping to give it a try...

Link to comment
Share on other sites

Yes its been asked before and yes it is possible but not easy.

You can modify the text in LSCR blocks and scripts but if you need to make it longer than the original text you need to patch block and scripts offsets.

Actually, there may be some news on this front soon. A tool is in development for translations but I dont know how advanced it is.

Link to comment
Share on other sites

You might want to check out this article which describes how to translate Indy3 (I think, the article is in Italian...). There you can also download some program called I3VIEW (with Delphi-source :)) which I think you're supposed to be able to translate the game with. I have not tried it out yet so I'm not sure.

Link to comment
Share on other sites

If want to modify things without enlarging text, you may just use an hex editor (yeah, that creepy thing with strange characters at the right and a bunch of A, C and F's at the left) and find the dialogues inside the data files. You should first decode the datafiles by using the one byte hex key that SCUMMRevisited uses to decrypt them.

 

I saw a program to decode LucasArts game files once, but I can' remember where. But you may use a very simple C program:

 

#include <stdio.h>
#define KEY 0xAF  /* put the proper key here */

int
main(void)
{
 char buf;

 for ( ; ; ) {
   buf = getchar();
   if (buf == EOF && feof(stdin)) break;
   putchar(KEY ^ buf);
 }
 return 0;
}

 

What a nice code..., isn't it?

 

Compile it to something called "foo" (or "foo.exe·" in Windoze) and execute it by redirecting stdin & stdout:

 

$ foo < monkey2.001 > monkey2.001-decoded

 

I know it's a very simple decoder and it may work faster... but it works nicely. Just change the hex value in the #define with the one SCUMMRev gives you.

 

After changing the decoded datafile, you need to reencode it: you can use the same program again, as XORing data is a reversible encryption.

Link to comment
Share on other sites

Originally posted by Tomas

You might want to check out this article which describes how to translate Indy3 (I think, the article is in Italian...). There you can also download some program called I3VIEW (with Delphi-source :)) which I think you're supposed to be able to translate the game with. I have not tried it out yet so I'm not sure.

 

 

Actually, this was not intended to translate the game, but to obtain the translated scripts from the old 16 color version of Indy and replace them in the 256 colors datafiles. :)

 

I think the best bet to translate this game is to decode it and replace strings with the 'don't change length' method. :)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...