Developing Translations - Ich73/DQM2-FanTranslation GitHub Wiki
These instructions show you how to use this repository for contributing to this fan translation.
Navigation:
- Prerequisites
- Setup Workspace
- Update Workspace
- Editing Files
- Game Patching
- Contributing
- Releasing Patches
You need:
- a 3DS with CFW (see 3DS Hacks Guide)
- Translation Toolkit
To patch games you need to enable game patching in Luma.
- Boot the 3DS while holding
SELECT
to launch Luma3DS configuration - Enable
Enable game patching
- Press
START
to save and boot your 3DS
First you need to setup a workspace.
- Create an empty folder (e.g.
DQM2-Translation
) - Copy
TranslationToolkit.exe
from the previously downloadedTranslation Toolkit
to this folder (e.g.DQM2-Translation/TranslationToolkit.exe
)
Then you need to obtain a .cia
file of the game from your original copy of the game: Dumping the Game.
If you have the official v1.1 update installed you can dump a .cia
of it as well: Dumping the Update.
The next step is to extract the .cia
.
- Copy the
.cia
file from the SD card to the workspace on your computer (e.g.DQM2-Translation/DQM2.cia
) - Run
TranslationToolkit.exe
- Enter
EG
to extract the game file - Enter the name of your
.cia
file (e.g.DQM2.cia
) - Enter a name for the CIA folder (e.g.
cia-game
) - Enter
y
to start the script - Wait until the process is finished
- Enter
- You can now delete the
.cia
file
If you also have a .cia
file of the update you need to extract it as well.
- Copy the
.cia
file from the SD card to the workspace on your computer (e.g.DQM2-Translation/DQM2-Update.cia
) - Run
TranslationToolkit.exe
- Enter
EG
to extract the game file - Enter the name or your
.cia
file (e.g.DQM2-Update.cia
) - Enter a name for the CIA folder (e.g.
cia-update
) - Enter
y
to start the script - Wait until the process is finished
- Enter
- You can now delete the
.cia
file of the update
To copy the required files from the CIA folder and download and apply all patches do the following.
- Run
TranslationToolkit.exe
- Enter
SW
to setup the workspace - Enter the download URL for this repository (
https://github.com/Ich73/DQM2-FanTranslation/archive/master.zip
) - Enter the name of your CIA folder (e.g.
cia-game
) -
If you extracted the v1.1 udpdate in the previous step
- Enter
y
- Enter the version
v1.1
- Enter the name of your update CIA folder (e.g.
cia-update
) - Enter
n
- Enter
-
Otherwise
- Enter
n
- Enter
- Enter
y
to start the script - Wait until the process is finished
- Enter
Note
This step is only required if you want to update your workspace with the latest changes. You can skip this step if you're currently setting up your workspace for the first time.
To download and apply all patches do the following.
- Run
TranslationToolkit.exe
- Enter
UW
to update the workspace - Enter the download url for this repository (
https://github.com/Ich73/DQM2-FanTranslation/archive/master.zip
) - Enter
y
to start the script - Wait until the process is finished
- Enter
The content of the folders is as follows:
-
Banner
contains the logo that is shown on the top screen in the 3DS home menu (see Editing the Banner) -
Code
contains the code of the game (see Editing the Code and Code Modifications) -
Event
contains.e
files storing the cutscene and dialog texts that can be edited using BinJ Editor (see Editing .e Files and Event Files) -
Font
contains the.bcfnt
fonts that are used in game (see Editing .bcfnt Files) -
Layout
contains.arc
archives storing.bclim
images for icons, pictures, frames, etc. (see Editing .arc Files) -
Message
contains.binJ
files storing texts that can be edited using BinJ Editor (see Editing .binJ Files and Message Files) -
NaviMap
contains.arc
archives storing.bclim
images for icons, pictures, frames, etc. (see Editing .arc Files) -
Param
contains.bin
files storing arbitrary configurations
This is done by using two scripts from the Translation Toolkit
.
First you need to distribute the correct files.
- Run
TranslationToolkit.exe
- Enter
D
to distribute - Enter the language you want to patch (e.g.
EN
orDE,EN
) - Enter the version of the game you want to play (
v1.0
orv1.1
) - Enter the destination folder (e.g.
_dist_v1.0_EN
or_dist_v1.1_DE_EN
) - Enter
y
to start the script - Wait until the process is finished
- Enter
Then you need to send those files to the 3DS using FTP.
- Boot the 3DS
- Start your FTP application
- Run
TranslationToolkit.exe
- Enter
S
to send- If you want to force overriding all files enter
S -f
instead
- If you want to force overriding all files enter
- Enter the folder from the
D
script (e.g._dist_v1.0_EN
) - Enter
00040000000cf500
(the title ID) - Enter the IP of your 3DS for the FTP connection. FTPD displays it on the top screen (e.g. [192.168.1.1]:5000).
- Enter the Port for the FTP connection. FTPD displays it on the top screen (e.g. [192.168.1.1]:5000).
- Enter the username for the FTP connection. In FTPD you can configure this in the settings by opening the Menu (Y) and selecting Settings.
- Enter the password for the FTP connection. This value can be configured the same way as the username can.
- Enter
y
to start the script - Wait until the process is finished
- Enter
Then you need to send those files to Citra.
- Run
TranslationToolkit.exe
- Enter
SC
to send to Citra- If you want to force overriding all files enter
SC -f
instead
- If you want to force overriding all files enter
- Enter the folder from the
D
script (e.g._dist_v1.0_EN
) - Enter
00040000000cf500
(the title ID) - Enter
y
to start the script - Wait until the process is finished
- Enter
You can now start the game with the patched files.
The best way to contribute is by sending me the patches for modified files directly so I can look over them and upload them to the repository afterwards.
Use the Translation Toolkit
to create all needed patches for your commit.
- Run
TranslationToolkit.exe
- Enter
CP
to create all patches - Enter
y
to start the script - Wait until the process finishes
- Enter
Now all patches were created and you can send them to me OR commit the changes and create a pull request.
Note
This step is only required if you want to create patches like I do for the releases.
This step has to be done once for every language and version you want do create patches for.
- Create a new CIA folder (e.g.
cia-game-<LANG>
orcia-update-<LANG>
, e.g.cia-game-EN
) -
If you created the folder for v1.0
- Copy the contents from the original CIA folder to it (e.g.
cia-game
→cia-game-<LANG>
)
- Copy the contents from the original CIA folder to it (e.g.
-
If you created the folder for v1.1
- Copy the contents from the update CIA folder to it (e.g.
cia-update
→cia-update-<LANG>
)
- Copy the contents from the update CIA folder to it (e.g.
Repeat this step for every language and version you want to create patches for.
- Go to your translation folder (e.g.
DQM2-Translation
) - Run
TranslationToolkit.exe
- Enter
RP
to release patches - Enter the desired language (e.g.
EN
orDE,EN
) - Enter the desired version (
v1.0
orv1.1
) - Enter the name of your patch CIA folder (e.g.
cia-game-<LANG>
orcia-update-<LANG>
) - Press Enter to use the default patches file (
_release\Patches-<VERSION>-<LANG>.zip
) - Enter
y
to start the script - Wait until the process is finished
- Enter
- The patches are saved to
_release\Patches-<VERSION>-<LANG>.zip
After using the RP
script you can optionally use the RG
script to rebuild a patched .cia
file.
- Go to your translation folder (e.g.
DQM2-Translation
) - Run
TranslationToolkit.exe
- Enter
RG
to rebuild the game - Enter the name of your patch CIA folder (e.g.
cia-game-<LANG>
orcia-update-<LANG>
) - Enter a name for the patched
.cia
file (e.g.DQM2-<LANG>.cia
orDQM2-Update-<LANG>.cia
) - Enter the version for the
.cia
file (e.g.v1.0.0
for the game orv1.2.0
for the update) - Enter
y
to start the script - Wait until the process is finished
- Enter