Closed fushi002 closed 4 months ago
If you'd rather pack the files, you can skip this step later we want to modify dlscenario.dat, but dlscenario.dat is encrypted in pack, so there is no way for us to modify it, so we can use garbro to extract it, and garbro will automatically decrypt it, and by the way this is the case for dlfilename.dat, and dltextdata.bin as well. so all you have to do is use garbro to extract dlfilename.dat and dlscenario.dat and dltextdata.bin from archive.dat then put them in the same directory as the game exe
If you'd rather pack the files, you can skip this step
now the engine will prioritize reading the file we put in the game directory, but the engine doesn't know that we decrypted the file, it will try to decrypt it again, and since the decryption algorithm is xor, decrypting it again will cause the file to be encrypted, which will crash the engine.
so we're going to disable the decryption function
just open game exe with x64dbg
and press ctrl+g to call up the jump dialog box
enter address 0045DFB0
(this is the address of the DL version of the exe, other versions may be different)
jut follow the photo guide
once you're done, open the game to see if it's working properly, and if it is, you can move on to the next step
modify dlscenario.dat
based on the following table
dlscenario.dat:offset:0x4FAA8 -> Msg Character Name Font
0B000003
00000000
F1000000
04020000
2C010000
1E000000 -> per line max len
1E000000 -> heigh
1E000000 -> width
1E000000 -> line space
FFFFFF00
01000000
dlscenario.dat:offset:0x4FAD4 -> Msg Text Font
0B000003
01000000
F1000000
36020000
0A030000
73000000 -> per line max len
1C000000 -> heigh
1E000000 -> width
2B000000 -> line space
FFFFFF00
01000000
dlscenario.dat:offset:0x4FB00 ->
0B000003
02000000
F1000000
36020000
0A030000
73000000
2D000000
2D000000
37000000
FFFFFF00
01000000
dlscenario.dat:offset:0x4FB2C ->
0B000003
03000000
F1000000
36020000
0A030000
73000000
46000000
46000000
46000000
FFFFFF00
01000000
dlscenario.dat:offset:0x4FB58 ->
0B000003
04000000
F1000000
36020000
0A030000
73000000
14000000
14000000
1E000000
FFFFFF00
01000000
dlscenario.dat:offset:0x5482C -> Config Font
0B000003
06000000
15030000
F1000000
3E010000
1E000000
1E000000
20000000
1E000000
FFFFFF00
01000000
dlscenario.dat:offset:0x4FBC0 -> Ruby Font
04180003
01000000
0C000000 -> heigh
0E000000 -> distance to target text
dlscenario.dat:offset:0x4FBD0 ->
04180003
02000000
10000000
12000000
dlscenario.dat:offset:0x4FBE0 ->
04180003
03000000
14000000
16000000
dlscenario.dat:offset:0x4FBF0 ->
04180003
04000000
08000000
09000000
dlscenario.dat:offset:0x4FCA8 / 0x509E4 / 0x50C2C -> Log Font
1B0103F0
7A000000
12000000
14040000
AA000000
04000000
AD000000
76000000
0B000000
1C000000 -> character name heigh
1E000000 -> character name width
1E000000 ->
0AAAFF00
0AAAFF00
01000100
FFFF1000
76000000
36000000
1C000000 -> msg text heigh
1E000000 -> msg text width
2B000000 -> msg text line space
FFFFFF00
FFFFFF00
01000100
00001000
00000000
00000000
here is an example showing how to change the font size of msg text, for others, please refer to the table above. I'm going to change the height and width of the font to 18, which is 0x12 in hexadecimal. you'll see the results.
Thanks to you, all the issues have been resolved. I really appreciate your incredibly detailed response.
First of all, thank you for always creating such great tools. I recently translated a game that was released, but there is an issue with the output font being too large. In the detailed article you posted about this engine previously, there was a section related to this issue, but it was a bit difficult for me to understand. Could you please explain it in a bit more detail?
The game I am trying to translate is https://vndb.org/v50141, (trial).
Have a happy day.