[PS1] Rittai Ninja Katsugeki - Tenchu - Shinobi Gaisen .CAD files

How to translate the files of a game
angel333119
Posts: 12
Joined: Thu Sep 10, 2015 6:05 pm

[PS1] Rittai Ninja Katsugeki - Tenchu - Shinobi Gaisen .CAD files

Post by angel333119 »

I need help to understand how the pointers logic works in this files.

Can someone help me please?
rabatini
Posts: 179
Joined: Tue Jan 18, 2022 12:21 am

Re: [PS1] Rittai Ninja Katsugeki - Tenchu - Shinobi Gaisen .CAD files

Post by rabatini »

angel333119 wrote:I need help to understand how the pointers logic works in this files.

Can someone help me please?
The pointer is the begin offset of a string in little endian.
Capturar.PNG
Image
angel333119
Posts: 12
Joined: Thu Sep 10, 2015 6:05 pm

Re: [PS1] Rittai Ninja Katsugeki - Tenchu - Shinobi Gaisen .CAD files

Post by angel333119 »

rabatini wrote:
angel333119 wrote:I need help to understand how the pointers logic works in this files.

Can someone help me please?
The pointer is the begin offset of a string in little endian.
Como sei que você é brasileiro, vou explicar em português. Quero entender a lógica dos ponteiros pra fazer uma ferramenta de extração e inserção dos textos, pra isso preciso entender a lógica de onde ler os ponteiros, que ao que parece, em cada arquivo pode estar em local diferente.

Não consegui entender a lógica, e é o que preciso entender, e sim, olhando o offset do texto da pra saber o valor do ponteiro e encontrar ele, porém, preciso automatizar isso, e essa é a questão... Quando os ponteiros vem em blocos antes ou depois do texto é bem simples de fazer a leitura, porém nesses arquivos nem parece haver uma lógica entre os ponteiros... Por isso preciso de ajuda...

Uma coisa que notei, mas ainda não confirmei, é que todo ponteiro é de 16bits e quase sempre tem o byte 0x0800 antes do valor do ponteiro... mas eu preciso confirmar se isso se aplica a todos os arquivos.

English by google translate

As I know you are Brazilian, I will explain in Portuguese. I want to understand the logic of the pointers to make a text extraction and insertion tool, for that I need to understand the logic of where to read the pointers, which apparently, in each file can be in a different location.

I couldn't understand the logic, and that's what I need to understand, and yes, looking at the text offset I can know the value of the pointer and find it, however, I need to automate this, and that's the question... When the pointers come in blocks before or after the text it is very simple to read, but in these files there doesn't even seem to be a logic between the pointers... That's why I need help...

One thing I've noticed, but haven't confirmed yet, is that every pointer is 16bit and almost always has the 0x0800 byte before the pointer value... but I need to confirm that this applies to all files.



EDIT:

Thanks to the help of rabatini, I managed to find a logic to extract and insert the texts in the files.

Image
Image