#VAR(dialogue, TABLE)
#ADDTBL("Atlas sjis.tbl", dialogue)
#ACTIVETBL(dialogue)
#VAR(PTR, CUSTOMPOINTER)
#CREATEPTR(PTR, "LINEAR", $10EA0, 32)
#VAR(PTRTBL, POINTERTABLE)
#PTRTBL(PTRTBL, $FF20, 4, PTR)
#JMP($10EA0)
#HDR($10EA0)
^^^
Only copy the text above and put it in front of the script file, it should look like this:
A blog dedicated to the English fan translation patch for Growlanser: Heritage of War's forgotten sequel.
Sunday, March 10, 2019
Growlanser 6 repacking the ISO
In this example i will show how to edit text in a file and repack it using quickBMS and Xpert.
Go to the quickbms folder and start "reimport.bat":
1. Choose the growlanser.bms script
2. choose the original GL6_SCEN.DAT file
3. choose the 00000005.flk file (which should be in its own folder alone)
And then let it reimport the file:
Now you have to start Xpert again and
1. choose a sound
2. choose the plugin
3. and open the original ISO
IF you didnt change the original folder where you unpacked the ISO
all you have to do is to click on the 3rd button "3. Rebuild File":
And after that click the 4th button "4. Rebuild LBA":
Now there should be a new ISO with the name "NEW-" in front of it:
Run the new ISO in an emulator, for example PCSX2, and you will be able to see the modified text:
Growlanser 6 extracting pointers and text block/script
This is how you are able to use the tool called "Cartoprapher" to extract the pointer position and text associated with it.
Tools you need:
Cartographer
https://www.romhacking.net/utilities/647/
Shift JIS Table file:
https://www.romhacking.net/documents/179/
Once you unpacked Cartographer, you should create a new test folder and put the following files in it:
- Cartographer.exe
- one .FLK file (in this example i use 00000005.flk)
- the downloaded sjis.tbl
- a new text file called "GL6_commands.txt"
- a new bat file called "Cartographer.bat"
It should look like this:
First, you have to input the following text into "GL6_commands.txt"
https://growlanser6project.blogspot.com/2019/03/growlanser-6-cartographer-template.html
Depending on the file you want to dump, this needs to be changed:
#POINTER TABLE START: This is the start of the pointer table, pointing at the 1st pointer
#POINTER TABLE STOP: this is the end of the pointer table, pointing at the last pointer, be careful not to point to a pointer that ends in 00 00 00 00, always point to the last pointer.
#BASE POINTER: This is the position of the start of the text block
#TABLE: This is the shift jis table file and it includes control points so the program knows when a new pointer has to start
It should look like this in the text file:
Next on the list is the sjis.tbl.
You only have to input additional commands at the very end:
Download the prepared table here: https://bitbucket.org/Risae/growlanser-6-english-translation/downloads/
END-FE and END-FF tells the program to use line breaks after it found the end of the text message.
It should look like this:
Last but not least is the "Cartographer.bat".
Open it in Notepad and copy in the following:
cartographer 00000005.flk GL6_commands.txt GL6_script_000 -s
pause
cartographer = tells the .bat file to start cartographer.exe with the commands
00000005.flk = the file it should "read"
GL6_commands.txt = the script it should execute
GL6_script_000 = this is the name of the textfile it will create the dump in. You can rename it however you want
-s = we use a script that only has 1 script block in it, read the Cartograph ReadMe for more information
It should look like this once you put it in:
Now, you can click on the "Cartographer.bat" to let the program create a dump of the script file, including the pointers:
a new file called "GL6_script_000.txt" should have created itself, and in it are the dumped script files:
A text editor like Notepad++ is able to display the Shift-JIS text.
Tools you need:
Cartographer
https://www.romhacking.net/utilities/647/
Shift JIS Table file:
https://www.romhacking.net/documents/179/
Once you unpacked Cartographer, you should create a new test folder and put the following files in it:
- Cartographer.exe
- one .FLK file (in this example i use 00000005.flk)
- the downloaded sjis.tbl
- a new text file called "GL6_commands.txt"
- a new bat file called "Cartographer.bat"
It should look like this:
First, you have to input the following text into "GL6_commands.txt"
https://growlanser6project.blogspot.com/2019/03/growlanser-6-cartographer-template.html
Depending on the file you want to dump, this needs to be changed:
#POINTER TABLE START: This is the start of the pointer table, pointing at the 1st pointer
#POINTER TABLE STOP: this is the end of the pointer table, pointing at the last pointer, be careful not to point to a pointer that ends in 00 00 00 00, always point to the last pointer.
#BASE POINTER: This is the position of the start of the text block
#TABLE: This is the shift jis table file and it includes control points so the program knows when a new pointer has to start
It should look like this in the text file:
Next on the list is the sjis.tbl.
You only have to input additional commands at the very end:
Download the prepared table here: https://bitbucket.org/Risae/growlanser-6-english-translation/downloads/
END-FE and END-FF tells the program to use line breaks after it found the end of the text message.
It should look like this:
Last but not least is the "Cartographer.bat".
Open it in Notepad and copy in the following:
cartographer 00000005.flk GL6_commands.txt GL6_script_000 -s
pause
cartographer = tells the .bat file to start cartographer.exe with the commands
00000005.flk = the file it should "read"
GL6_commands.txt = the script it should execute
GL6_script_000 = this is the name of the textfile it will create the dump in. You can rename it however you want
-s = we use a script that only has 1 script block in it, read the Cartograph ReadMe for more information
It should look like this once you put it in:
Now, you can click on the "Cartographer.bat" to let the program create a dump of the script file, including the pointers:
a new file called "GL6_script_000.txt" should have created itself, and in it are the dumped script files:
A text editor like Notepad++ is able to display the Shift-JIS text.
Growlanser 6 unpacking the ISO
This is how to unpack the Growlanser 6 ISO.
Things you need:
The Growlanser 6 ISO
The Program "Xpert"
http://xpert2.blogspot.com/2006/11/xpert-2-main-tool-still-in-testing_21.html
Download:
members.ps3-tools.de/Chipwelt/PS2/Expert_Tool_2.0.rar
The Program "quickbms"
https://aluigi.altervista.org/quickbms.htm
the file "growlanser.bms"
https://aluigi.altervista.org/bms/growlanser.bms
Once you have everything, you can start Xpert and choose the following:
- change sound settings
- choose plugin
- open the iso
Press the first button "1. Extract LBA"
And then the 2nd "Extract File"
Xpert should have succesfully unpacked the ISO:
Inside we can find various files, inside the "GL6_SCEN_DAT" are the files that contain the text
In order to unpack the .DAT file, we need to use the program QuickBMS.
First, choose the quickBMS growlanser.bms script:
Then, choose the "GL6_SCEN.DAT":
And then choose a folder where you want to save the unpacked files, in this case i created a new folder inside the .DAT files:
And with this, we succefully unpacked all the files:
Things you need:
The Growlanser 6 ISO
The Program "Xpert"
http://xpert2.blogspot.com/2006/11/xpert-2-main-tool-still-in-testing_21.html
Download:
members.ps3-tools.de/Chipwelt/PS2/Expert_Tool_2.0.rar
The Program "quickbms"
https://aluigi.altervista.org/quickbms.htm
the file "growlanser.bms"
https://aluigi.altervista.org/bms/growlanser.bms
Once you have everything, you can start Xpert and choose the following:
- change sound settings
- choose plugin
- open the iso
Press the first button "1. Extract LBA"
And then the 2nd "Extract File"
Xpert should have succesfully unpacked the ISO:
Inside we can find various files, inside the "GL6_SCEN_DAT" are the files that contain the text
In order to unpack the .DAT file, we need to use the program QuickBMS.
First, choose the quickBMS growlanser.bms script:
Then, choose the "GL6_SCEN.DAT":
And then choose a folder where you want to save the unpacked files, in this case i created a new folder inside the .DAT files:
And with this, we succefully unpacked all the files:
Growlanser 6 Pointer Table
Inside the "GL6_SCEN.DAT" are the text files located.
The files end with ".flk" and are build up like this:
STUFF
STUFF
POINTER TABLE
TEXT BLOCK
STUFF
STUFF
POINTER TABLE
TEXT BLOCK
STUFF
STUFF
GARBAGE
or
STUFF
STUFF
STUFF
POINTER TABLE
TEXT BLOCK
STUFF
STUFF
GARBAGE
As a short example i am describing the file "00000005.flk".
In this file there are 2 SDF headers with text pointers and text below it.
The 2nd SDF has almost the whole tutorial inside it:
There are a few codes in the first line of SDF that tell the file how big the pointer table and the pointer table + text block is:
SIZE OF THE POINTER TABLE + TEXT BLOCK
HEX REVERSED = HEX = DECIMAL
40 CB 00 00 = 00 00 CB 40 = 52032
This pointer tells the file how big the pointer table + text block is.
From FF00 to the very end it is 52032 bytes:
This might have to be updated once a translation has been inserted and the text block has become bigger
SIZE OF THE POINTER TABLE
HEX REVERSED = HEX = DECIMAL
A0 0F 00 00 = 00 00 0F A0 = 4000
This pointer tells the file how big the pointer table is.
From FF00 to the very end of the pointer table it is 4000 bytes:
Now, the actual pointer table will be displayed:
The pointers are build up in 4 bytes each.
The same logic applies here, the pointers tell the programm where the first byte is located counting from the start of the text block:
The files end with ".flk" and are build up like this:
STUFF
STUFF
POINTER TABLE
TEXT BLOCK
STUFF
STUFF
POINTER TABLE
TEXT BLOCK
STUFF
STUFF
GARBAGE
or
STUFF
STUFF
STUFF
POINTER TABLE
TEXT BLOCK
STUFF
STUFF
GARBAGE
As a short example i am describing the file "00000005.flk".
In this file there are 2 SDF headers with text pointers and text below it.
The 2nd SDF has almost the whole tutorial inside it:
There are a few codes in the first line of SDF that tell the file how big the pointer table and the pointer table + text block is:
SIZE OF THE POINTER TABLE + TEXT BLOCK
HEX REVERSED = HEX = DECIMAL
40 CB 00 00 = 00 00 CB 40 = 52032
This pointer tells the file how big the pointer table + text block is.
From FF00 to the very end it is 52032 bytes:
This might have to be updated once a translation has been inserted and the text block has become bigger
SIZE OF THE POINTER TABLE
HEX REVERSED = HEX = DECIMAL
A0 0F 00 00 = 00 00 0F A0 = 4000
This pointer tells the file how big the pointer table is.
From FF00 to the very end of the pointer table it is 4000 bytes:
Now, the actual pointer table will be displayed:
The pointers are build up in 4 bytes each.
The same logic applies here, the pointers tell the programm where the first byte is located counting from the start of the text block:
Subscribe to:
Posts (Atom)

































