Awesome
Attack of the Friday Monsters!
Translation Tools
Tools for the Spanish fan-translation of the 3DS video-game: Attack of the Friday Monsters! A Tokyo Tale. By GradienWords.
Getting the tools
Dependencies
These tools use different languages like C, C# and Python. To compile and use them you need the following programs:
- CMake: >= 3.18.1
- .NET Core SDK 3.1
- Python: 3.8
- gcc / clang / Visual Studio
- In Unix with C++ compile and static libstdc++
Preparation
First, you need to compile and prepare the tools. Run the following commands in a terminal:
mkdir GameData
cd Programs
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=<repo>/GameData
cmake --build . --target install --config Release -j
cd ../../
dotnet tool restore
python -m venv .env
source .env/bin/activate # Unix
.\.env\Scripts\Activate.ps1 # Windows with PowerShell
pip install pypng
Export files
Run in a terminal:
source .env/bin/activate # Unix
export LD_LIBRARY_PATH=<repo>/GameData/tools:$LD_LIBRARY_PATH
.\.env\Scripts\Activate.ps1 # Windows with PowerShell
dotnet cake exporter.cake
Optional arguments:
-
--game=<path>
--> game file path in decrypted (non-legit) CIA format. Default valueGameData/00040000000E7500 Attack of the Friday Monsters! (CTR-N-JKEP) (E).cia
(default name from godmode9 dumps). -
--output=<path>
--> output folder to write the text and images files. Default valueGameData/extracted
.
Export code binary texts
To export the text from the code.bin
file, the tool needs a YAML file
code_text.yml
with the pointer and size of each text string in the binary. The
file is available in Programs
and CMake will copy it to the GameData/tools
folder.
This file was generated by creating a Ghidra project with the code.bin
file.
Then running the auto-analysis to find string texts and manually defining other
text data. Once all the data was located, the following Ghidra script generates
the YAML file.
<ghidra_installation>/support/analyzeHeadless <ghidra_project> <project_name> \
-process code.bin \
-postScript ./Programs/Ghidra/ExportDefinedStrings.java ./GameData/tools/code_texts.yaml \
-noanalysis
Note: before importing the file code.bin
, make sure it is decompressed with
the CUE tool blz
.
Import files
Run in a terminal:
source .env/bin/activate # Unix
export LD_LIBRARY_PATH=<repo>/GameData/tools:$LD_LIBRARY_PATH
.\.env\Scripts\Activate.ps1 # Windows with PowerShell
dotnet cake importer.cake
Optional arguments:
-
--game=<path>
--> game file path in decrypted (non-legit) CIA format. Default valueGameData/00040000000E7500 Attack of the Friday Monsters! (CTR-N-JKEP) (E).cia
(default name from godmode9 dumps). -
--translation=<path>
--> folder with the modified / translated exported files. Default valueSpanish/es
. -
--output=<path>
--> folder to write the modified RomFS, ExeFS and NCCH extended header. Default valueGameData/output
. -
--layeredfs=<path>
--> folder to write the modified files for systems compatible with LayeredFS such as Luma and Citra. Default valueGameData/output/luma/titles
(theluma
folder can be copied directly to the root of the SD to use it). -
--copy-citra=true|false
--> copy the LayeredFS patch to the Citra mods folder of this computer. Default valuetrue
.
Credits
- pleonex:
- CUE:
- ObsidianX:
- dnasdw:
- jmacd: