Home

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:

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:

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:

Credits