- Joined
- Jan 26, 2008
- Messages
- 2,131
- Trophies
- 0
- Age
- 33
- Location
- Seoul.. (in Korea)
- Website
- Visit site
- XP
- 211
- Country
Before I promise anything, I need few tools to be made, because I lack in programming skills.
First is a NFP unpack/repacker.
There is a file called sangoku.nfp in this game, which seems to contain many files.
0x00000000 ~ 0x0000002F a header that says "NFP2.0 ©NOBORI 1997-2002"
0x00000030 ~ 0x00000033 00's
0x00000034 ~ 0x00000037 the number of files contained in the NFP (1695 in this file)
0x00000038 ~ 0x0000003B offset where the file table starts (0x00000040 in this file)
0x0000003C ~ 0x0000003F offset where the individual files start (0x00016990 in this file)
and then comes the file table section. Each file is divided into a 16 byte section:
0x00000000 ~ 0x0000000B the file name
0x0000000C ~ 0x0000000F pointer for the file
but few things about this file:
some extensions found inside this file is SCM, SWV, SSEQ, SWAR, SBNK, NFTR (probably there are more, for graphics)
so, first of all, because there is an NFTR font inside, PROBABLY the other files will contain graphics, (well because this game is graphic heavy)
so the point is that this can turn to be something useless.
Somebody coded one for me, and he said he will soon work on a SAR unpack/repacker. How thankful
So looking deeper into the ROM, I've found some files, such as unicode.bin (looked more like a character map file)
dat files such as tactics.dat, tricks.dat etc which contained some text inside it. But it doesn't seem like it is used ingame.
as you can see, it is just a table.
The second tool I need is a SAR unpack/repacker.
The script file is a SAR file, and the SAR file seems to be a group of files, too.
pretty simple, though.
0x00000000 ~ 0x00000003 is a pointer, 0x00000004 ~ 0x00000007 is the size, and repeats.
After that's made, I'll look through the script and ask for a 3rd tool to edit the script XP
So NOW, I think the main stuff will either be in the arm9 binary or the SAR files...
Now some problems.
1. The font was NOT the NFTR, but is saved somewhere else. probably in the arm9.bin. Will need to look harder...
2. The font NEEDS a VWF. Even though single byte characters are supported, it looks just like the fat 2 byte characters.
Just looked into the first script file:
I'm not 100% sure about this, but I've at least found the pointers.
I found out how the pointer table works for the first script file, but the first script is really basic. So I still need to find another script file that is seen in-game so I can see how it completely works.
There are still bytes before the pointer table that I have to figure out. For what I know so far,
pointers that start with 0201 are actual pointers. Other data in the pointer table that starts with 0200 seems to be like "end script" etc.
and then for the 3rd and 4th byte, for the 0201's, are either 0B00 or 0C00. 0B00 means it is a pointer for the script, and 0C00 means for it is a pointer for the speaker. (well from what I see in the first script file)
and the 5th and 6th byte is the pointer itself, with calculation starting from 0000.
The 7th and 8th byte is always 0081 for this script file.
But in other script files, there are more stuff which I need to see in-game to see how the other bytes in other script files work.
That was only for pointers.. there are still more bytes before the table I need to inspect and I'll try to come up with a final conclusion soon after a little bit of more testing.
Even though the text is editable, I still need to find the font and a width table for it.
and I still need to locate the graphics :|
There is a file called sangoku.nfp in this game, which seems to contain many files.
0x00000000 ~ 0x0000002F a header that says "NFP2.0 ©NOBORI 1997-2002"
0x00000030 ~ 0x00000033 00's
0x00000034 ~ 0x00000037 the number of files contained in the NFP (1695 in this file)
0x00000038 ~ 0x0000003B offset where the file table starts (0x00000040 in this file)
0x0000003C ~ 0x0000003F offset where the individual files start (0x00016990 in this file)
and then comes the file table section. Each file is divided into a 16 byte section:
0x00000000 ~ 0x0000000B the file name
0x0000000C ~ 0x0000000F pointer for the file
but few things about this file:
some extensions found inside this file is SCM, SWV, SSEQ, SWAR, SBNK, NFTR (probably there are more, for graphics)
so, first of all, because there is an NFTR font inside, PROBABLY the other files will contain graphics, (well because this game is graphic heavy)
so the point is that this can turn to be something useless.
Somebody coded one for me, and he said he will soon work on a SAR unpack/repacker. How thankful
So looking deeper into the ROM, I've found some files, such as unicode.bin (looked more like a character map file)
dat files such as tactics.dat, tricks.dat etc which contained some text inside it. But it doesn't seem like it is used ingame.
Code:
# ??????
defcmdÂÂÂÂclearLÂÂÂÂÂÂÂÂ0ÂÂÂÂÂÂÂÂÂÂÂÂ# ??????
defcmdÂÂÂÂclearRÂÂÂÂÂÂÂÂ1ÂÂÂÂÂÂÂÂÂÂÂÂ# ??????
defcmdÂÂÂÂtitleÂÂÂÂÂÂÂÂÂÂÂÂ2ÂÂÂÂÂÂÂÂÂÂÂÂ# ??????????
defcmdÂÂÂÂstoryÂÂÂÂÂÂÂÂÂÂÂÂ3ÂÂÂÂÂÂÂÂÂÂÂÂ# ???????????
defcmdÂÂÂÂtargetÂÂÂÂÂÂÂÂ4ÂÂÂÂÂÂÂÂÂÂÂÂ# ????????
defcmdÂÂÂÂfadeinÂÂÂÂÂÂÂÂ5ÂÂÂÂÂÂÂÂÂÂÂÂ# ??????
defcmdÂÂÂÂfadeoutÂÂÂÂÂÂÂÂ6ÂÂÂÂÂÂÂÂÂÂÂÂ# ???????
defcmdÂÂÂÂclearÂÂÂÂÂÂÂÂÂÂÂÂ7ÂÂÂÂÂÂÂÂÂÂÂÂ# ????????????
defcmdÂÂÂÂdispÂÂÂÂÂÂÂÂÂÂÂÂ8ÂÂÂÂÂÂÂÂÂÂÂÂ# ??????????
defcmdÂÂÂÂhideÂÂÂÂÂÂÂÂÂÂÂÂ9ÂÂÂÂÂÂÂÂÂÂÂÂ# ??????????
defcmdÂÂÂÂmoveÂÂÂÂÂÂÂÂ10ÂÂÂÂÂÂÂÂÂÂÂÂ# ??????????
The script file is a SAR file, and the SAR file seems to be a group of files, too.
pretty simple, though.
0x00000000 ~ 0x00000003 is a pointer, 0x00000004 ~ 0x00000007 is the size, and repeats.
After that's made, I'll look through the script and ask for a 3rd tool to edit the script XP
So NOW, I think the main stuff will either be in the arm9 binary or the SAR files...
Now some problems.
1. The font was NOT the NFTR, but is saved somewhere else. probably in the arm9.bin. Will need to look harder...
2. The font NEEDS a VWF. Even though single byte characters are supported, it looks just like the fat 2 byte characters.
Just looked into the first script file:
I'm not 100% sure about this, but I've at least found the pointers.
I found out how the pointer table works for the first script file, but the first script is really basic. So I still need to find another script file that is seen in-game so I can see how it completely works.
There are still bytes before the pointer table that I have to figure out. For what I know so far,
pointers that start with 0201 are actual pointers. Other data in the pointer table that starts with 0200 seems to be like "end script" etc.
and then for the 3rd and 4th byte, for the 0201's, are either 0B00 or 0C00. 0B00 means it is a pointer for the script, and 0C00 means for it is a pointer for the speaker. (well from what I see in the first script file)
and the 5th and 6th byte is the pointer itself, with calculation starting from 0000.
The 7th and 8th byte is always 0081 for this script file.
But in other script files, there are more stuff which I need to see in-game to see how the other bytes in other script files work.
That was only for pointers.. there are still more bytes before the table I need to inspect and I'll try to come up with a final conclusion soon after a little bit of more testing.
Even though the text is editable, I still need to find the font and a width table for it.
and I still need to locate the graphics :|