Investigating MRSC text file [senran kagura]

How to translate the files of a game
Eldinen
Posts: 10
Joined: Fri Apr 28, 2017 10:48 am

Investigating MRSC text file [senran kagura]

Post by Eldinen »

Hi everyone!

I am trying to understand a file from senran kagura.
I coded a tool to extract and insert all the text from the file I attach here, but I must be missing something because the strings are been showed in a wrong way. It must be because of pointers, but I havent found all the info I need.

So, I leave here the current info I got when I investigated the file:

*Header
(30 bytes)
0x00 - 4 bytes Magic number MRSC
0x04 - amount of blocks of text, I explain it later
0x08 - 4 bytes pointer to a table.
I only understand the 4º value in this table, the last 4 bytes in each line is the pointer to the beginning of the block of text fron the beginning of the text's section
By example: 00 is the first, 0B38 is the second, 0D0C is the third...
With this, I have extracted all the text of this file.
I tried to re-do it changing only this value, the pointers of each block, but the text is showed in wrong order.

0x0C - 4 bytes, pointer to another table I dont understand
0x10 - 4 bytes, pointer to another table I dont understand either
0x14 - 4 bytes, pointer to the text's section
From this point, you can extract each block of text with the pointers I said earlier.
But I havent found references to the null values inside each block of text.
I think that is what I am missing.

I hope someone can help me to understand the rest of this file!
Delutto
Posts: 561
Joined: Tue Oct 13, 2015 1:26 pm

Re: Investigating MRSC text file

Post by Delutto »

Name of the game? Senran Kagura series have a bunch of different games...
Eldinen wrote:But I havent found references to the null values inside each block of text.
It's the padding, every text entry size must be a multiple of 4.
Eldinen
Posts: 10
Joined: Fri Apr 28, 2017 10:48 am

Re: Investigating MRSC text file

Post by Eldinen »

Yes, I know that. I am filling every line with 0x00 null values until the size is multiple of 4.
Must be something else...

Edit: Resolved!