News:

11 March 2016 - Forum Rules

Main Menu

Paladin's Quest translation and decompression questions

Started by Fritz Fitzgerald, February 22, 2022, 05:33:25 PM

Previous topic - Next topic

Fritz Fitzgerald

Hello,

I'm willing to translate a not so well known SNES RPG from English to my native language, but, despite following the whole process, I don't have that much experience with SNES ROM translation and I've been encountering some difficulties, among them, the fact that almost all the ROM is compressed, texts, tiles and a good part of the sprites.

I still managed to visualize some in TileMolester, but the vast majority is really compressed. So, I wanted to know how I do to decompress the graphics, but mainly the game text and how I can start translating. My biggest doubt is about the decompression. I browsed through the site's documents and downloaded some  ones, but still.

Does anyone have a tutorial or document for SNES? Or something that talks about translation?

Thanks.
Here's that part again where everything's more than it should be.

Joehiyo

Hi, I'm currently working on a heavy text hack for this game and have been in both the Japanese (Lennus) and English ROMs quite a bit and can provide help. The text is not compressed in either game, but it does use some DTE/MTE entries. The English version of the game does not have a contiguous alphabet; what I mean by this is if you are using a relative searcher it might be difficult to find the bytes for text entry because they jump forward every 16 characters as a byproduct of the translation team expanding the letters to be 2 tiles height. Here's the byte table that I defined:

0A=0
0B=1
0C=2
0D=3
0E=4
0F=5
10=6
11=7
12=8
13=9
30=A
31=B
32=C
33=D
34=E
35=F
36=G
37=H
38=I
39=J
3A=K
3B=L
3C=M
3D=N
3E=O
3F=P
50=Q
51=R
52=S
53=T
54=U
55=V
56=W
57=X
58=Y
59=Z
5A=a
5B=b
5C=c
5D=d
5E=e
5F=f
70=g
71=h
72=i
73=j
74=k
75=l
76=m
77=n
78=o
79=p
7A=q
7B=r
7C=s
7D=t
7E=u
7F=v
90=w
91=x
92=y
93=z
B1=?
B2=!
B3=.
B4=,
B5='
B6="
B8=:
BC=;
E0=(Chezni)
E1=(Midia)
E2=the
E3=you
E4=.<LINE>
E5=in
E6=to
E7=he
E8=that
EA=on
EB=Zaygos
EC=it
ED=You
EE=have
EF=for
F0=his
F1=Gabnid
F2=Lennus
F3=nd

I have not run into any compressed graphics either, but I have only searched for enemy graphics for the sake of uncensoring. Is there something in particular you can't find?

Fritz Fitzgerald

Quote from: kyuwert on February 23, 2022, 12:54:40 PM
Hi, I'm currently working on a heavy text hack for this game and have been in both the Japanese (Lennus) and English ROMs quite a bit and can provide help. The text is not compressed in either game, but it does use some DTE/MTE entries. The English version of the game does not have a contiguous alphabet; what I mean by this is if you are using a relative searcher it might be difficult to find the bytes for text entry because they jump forward every 16 characters as a byproduct of the translation team expanding the letters to be 2 tiles height. Here's the byte table that I defined:

0A=0
0B=1
0C=2
0D=3
0E=4
0F=5
10=6
11=7
12=8
13=9
30=A
31=B
32=C
33=D
34=E
35=F
36=G
37=H
38=I
39=J
3A=K
3B=L
3C=M
3D=N
3E=O
3F=P
50=Q
51=R
52=S
53=T
54=U
55=V
56=W
57=X
58=Y
59=Z
5A=a
5B=b
5C=c
5D=d
5E=e
5F=f
70=g
71=h
72=i
73=j
74=k
75=l
76=m
77=n
78=o
79=p
7A=q
7B=r
7C=s
7D=t
7E=u
7F=v
90=w
91=x
92=y
93=z
B1=?
B2=!
B3=.
B4=,
B5='
B6="
B8=:
BC=;
E0=(Chezni)
E1=(Midia)
E2=the
E3=you
E4=.<LINE>
E5=in
E6=to
E7=he
E8=that
EA=on
EB=Zaygos
EC=it
ED=You
EE=have
EF=for
F0=his
F1=Gabnid
F2=Lennus
F3=nd

I have not run into any compressed graphics either, but I have only searched for enemy graphics for the sake of uncensoring. Is there something in particular you can't find?

Hello, thanks a lot for your help!
I'm having some difficult in finding the proper texts. I mean, even with the table, I don't find the dialogues to translate. I'm using translhextion and windhex for now and none of them give me the proper texts, they just give me the raw table results but the game seems encrypted yet. I thought of using ImHex, but I absolutely don't know how to compile it, I'm more a translator than a programmer ;D.
Since the game uses MTEs and DTEs, I'll have to learn about to edit them and to fit my own language into the game. The main problem for now is finding the texts to translate. I have a lot of things to learn yet.
Here's that part again where everything's more than it should be.

Joehiyo

Try some of these addresses and see if you have any luck.


011B30 - 011BE3: Character names
011C46 - 011D29: Spell names
011F33 - 012488: Item names
0125DE - 012AF2: Enemy names
017557 - 017734: Battle misc. text (be careful, there's multiple "sets" of text here each with its own pointer table)
0383C2 - 0390FA: Menu options/prompts text (there's a lot here, with a lot of code in between them, but didn't feel like separating each one out)
03F85C - 03F991: Race names and status conditions (and "Mal"/"Fem" stuck in there too)
058000 - 05FFFF: Dialogue
060028 - 060072: MTE entries
060D2A - 067FFF: Dialogue
073527 - 073854: Credits/Staff
0C6400 - 0C7FFF: Dialogue
0EF540 - 0EFFFF: Dialogue
0FE080 - 0FFFFF: Dialogue
106570 - 1079C8: Dialogue/Misc (shopkeeper, spell descriptions)
12F2B9 - 12FFFF: Menu prompts

This isn't everything, but it's pretty close.

Pointers for most of these (or all of them? I forgot) are typically right next to the data/text, either directly before the data begins or directly after.

I'm not aware of any version of this game being compressed, but I've seen crazier things. If you can't find the text above I'm happy to help figure out what's going on.