AGTTeam / OokamiTranslation

Translation patch project for Spice & Wolf (Ookami to Koushinryou) on the NDS.
MIT License
12 stars 2 forks source link

I can't found fontconfig.txt file. and more question. #5

Closed orangespoons closed 3 years ago

orangespoons commented 3 years ago

I would like to use this program because I want to do a Japanese-Korean translation. I am not good at English. Thank you for your understanding.

First, let me explain the current situation.

  1. I'm trying to translate "Spice and Wolf: My Year With Holo"

  2. I used the "tool extract" command, The work has been completed successfully. [extract, out_IMG, repack] folders, [bin_output.txt, dat_output.txt, wsb_analysis.txt, and wsb_output.txt] files were extracted.

  3. I already have a table file used by CrystalTile2 and an Icfont12.NFTR file that I have already created.

Now, let me ask you a question.

  1. I would like to know what you wrote in readme.md about fontconfig.txt. For me, the fontconfig.txt file was not extracted. Can you explain in more detail?

  2. Can I use the Icfont12.NFTR file that I have already modified?

  3. Is the method I use appropriate? -1. create data folder, put the holo.nds file in it. -2. Open the CMD window, move to the path where the tool.exe file is located, and input command -3. modify wsb_output.txt, out_IMG files....etc -4. Rename the out_IMG folder to work_IMG, also renamed _output.txt files to _input.txt (bin_output.txt/dat_output.txt/wsb_output.txt) -5. Open the CMD window, move to the path where the tool.exe file is located, and input command

  4. An error has occurred. What to do? F:\GameTranslate\SpiceWolfNDS\work>tool repack OokamiTranslation version 1.5.2 Repacking BIN from data/bin_input.txt ... Done! Translation is at 0.26% Applying armips patch ... [ERROR] Command error C:\Users\SNOWYE~1\AppData\Local\Temp_MEI158762\armips.exe C:\Users\SNOWYE~1\AppData\Local\Temp_MEI158762\bin_patch.asm Done! Repacking DAT from data/dat_input.txt ... 5%|████▏ | 1/20 [00:00<00:00, 34.58it/s] Traceback (most recent call last): File "tool.py", line 122, in File "lib\site-packages\click\core.py", line 829, in call File "lib\site-packages\click\core.py", line 782, in main File "lib\site-packages\click\core.py", line 1259, in invoke File "lib\site-packages\click\core.py", line 1066, in invoke File "lib\site-packages\click\core.py", line 610, in invoke File "tool.py", line 62, in repack File "repack_dat.py", line 68, in run File "lib\site-packages\hacktools\common.py", line 185, in writeUInt struct.error: argument out of range [15116] Failed to execute script tool

Illidanz commented 3 years ago
  1. I would like to know what you wrote in readme.md about fontconfig.txt. For me, the fontconfig.txt file was not extracted. Can you explain in more detail?

The fontconfig.txt file just takes a list of characters and their replacement, for example:

“={
‘=}

This will replace with {and with } while writing strings. If you keep all the characters in ASCII space, this is preferred since it will work better with the VWF and automatic wordwrapping.

  1. Can I use the Icfont12.NFTR file that I have already modified?

Yes, you need to put it in a "replace" folder, with the full path being: data/replace/data/font/lcfont12.NFTR

  1. Is the method I use appropriate?

This is correct. You will also need subtitle files for the opening and special message in the data folder, I've attached the English ones here: subfiles.zip

  1. An error has occurred. What to do?

There are a couple of lines that are exported incorrectly from the dat file, and you need to remove them from the dat input file. I believe they all start with L. If they're the only lines for a file (like pricegossip.dat) you should remove the file line altogether. Doing that and adding the subtitle files should do the trick.

orangespoons commented 3 years ago

Thank you for your answer!

There are a couple of lines that are exported incorrectly from the dat file, and you need to remove them from the dat input file. I believe they all start with L.

Do you mean strings like this?

<LUNK (0700)=>
<L=>
<LR=>
<LUNK(C602)UNK(022F)script/event/ev_act/bend_ending.wsb=>
<%02d.NCLR=>
<芸UNK(0402)||UNK(0402)l|UNK(0402)=>
<LL pointer is passed.=>
<LpFlg: parameter error=>
<LVL=>

Can I cut off all lines like this type of control code?

<%sの知識レベルが上がりました。|(%d → %d)=> These types of strings are fine. Is it right? (Translation without (%d → %d), %s....etc.)

orangespoons commented 3 years ago

Another error occurred.

Done! Translation is at 0.00%
Repacking WSB from data/wsb_input.txt ...
  0%|                                                                                          | 0/264 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "tool.py", line 122, in <module>
    common.cli()
  File "lib\site-packages\click\core.py", line 829, in __call__
  File "lib\site-packages\click\core.py", line 782, in main
  File "lib\site-packages\click\core.py", line 1259, in invoke
  File "lib\site-packages\click\core.py", line 1066, in invoke
  File "lib\site-packages\click\core.py", line 610, in invoke
  File "tool.py", line 65, in repack
    repack_wsb.run(firstgame)
  File "repack_wsb.py", line 92, in run
    newlen = game.writeShiftJIS(f, newsjis, b1 == 0x95, False, 0, encoding, firstgame)
  File "game.py", line 91, in writeShiftJIS
    f.write(c.encode(encoding))
UnicodeEncodeError: 'shift_jis' codec can't encode character '\uc548' in position 0: illegal multibyte sequence
[2828] Failed to execute script tool

Does this program only support English and Japanese? I think "shift_jis codec" does not support Korean.

Illidanz commented 3 years ago

Yes you should remove any line that doesn't need a translation or looks wrong from bin_input and dat_input.

The other lines with control codes are fine if left empty since in that case it will keep the Japanese, when you translate them you should include the codes like: %sの知識レベルが上がりました。|(%d → %d)=Knowledge of %s|has increased. (%d → %d)|

About the other error, you should add all the Korean characters to the fontconfig.txt file so they get replaced, since the game only supports ASCII and Shift-jis.

orangespoons commented 3 years ago

I have already added all Korean characters to fontconfig.txt. like this: THIS

Illidanz commented 3 years ago

The file is backwards, should be the other way around, for example:

가=亜
각=唖

And so on

orangespoons commented 3 years ago

I just changed all txt files to utf-8 and completed the test. Everything works fine! Thanks!

And... I have one more question. When the "product description" window appears, can I ignore the length limit of the line?

ex) JP: 瓜 - 水分たっぷりの大きな瓜。疲労|回復に効果があるとされる食材。 EN: Oriental melon KR: 참외

瓜(2byte) <-> 참외 (4byte)

From what I tested, it seems to be automatic expanding script space, right?

Illidanz commented 3 years ago

There are different limitations and workarounds depending on the file you're translating

bin_input: longer lines are moved to different locations of ROM so there's plenty of space for these. wsb_input: the script and pointers are all rewritten to fit the text so no limits here. This also includes turning a single textbox into multiple ones with >> dat_input: the files here all have different limits, but there should be plenty of space to fit them, and you should get an error if they don't fit.

orangespoons commented 3 years ago

Thank you for making such a great tool! more people can enjoy the game of Spice and wolf in their language! And thank you so much for your quick response!