This is the repository containing the build scripts for making translation patches for Suzumiya Haruhi no Chokuretsu. In addition to the build scripts, it also contains all of the assembly hack source files.
There are two ways to run this repo locally: you can run the scripts manually or you can run them in a Docker container. The Docker container method is provided to make configuration of the prerequisites easier.
- devkitARM, distributed by devkitPro
- CMake
- HaruhiChokuretsuCLI from the Chokuretsu Translation Utility
- This depends on the .NET 6.0 runtime
- NitroPacker
- PowerShell must be installed on non-Windows systems
Clone the strings repo and assets repo. Both of these are private at the moment, so if you want to contribute, you should get in touch with us.
Copy your ROM inside the root of this repo and name it original.nds
, then run setup.ps1
. This will copy the necessary files in the correct folders.
Finally, you must set up environment variables for devkitARM. Specifically, you will need to set:
DEVKITPRO
– the path to your devkitPro directoryDEVKITARM
– the path to your devkitARM installation
The remaining scripts should be run in this order:
build_arc.ps1
: builds the archive files and puts them in therom/data
foldercopy-movies.ps1
: copies the subtitled movie files from the Assets repo into therom
folder so they'll be included in the final buildbuild.ps1
: compiles the ASM hacks and builds a ROM namedHaruhiChokuretsu.nds
In detail:
./build_arc.ps1 -haruhiCli "PATH/TO/HaruhiChokuretsuCLI" -stringsFolder "PATH/TO/ChokuretsuTranslationStrings" -assetsFolder "PATH/TO/ChokuretsuTranslationAssets" -devkitArm "PATH/TO/devkitARM" -resxLangCode "<LANGCODE>" -version "<VERSION>"
LANGCODE
is an ISO 639-1 language code indicating the language you want to localize to, e.g.en
.VERSION
is the semantic version of the patch, e.g.0.4
.
Additional options:
-noGraphics
– skips over producinggrp.bin
and uses one that's already been generated. Useful when trying to iterate quickly and not needing graphics replacement.
./copy-movies.ps1 -assetsFolder "PATH/TO/ChokuretsuTranslationAssets" -langCode "<LANGCODE>"
LANGCODE
is an ISO 639-1 language code indicating the language you want to localize to, e.g.en
.
./build.ps1 -nitroPacker "PATH/TO/NitroPacker" -haruhiCli "PATH/TO/HaruhiChokuretsuCLI" -stringsFolder "PATH/TO/ChokuretsuTranslationStrings" -fontReplacementMap "PATH/TO/ChokuretsuTranslationAssets/misc/charset.json" -resxLangCode "<LANGCODE>"
LANGCODE
is an ISO 639-1 language code indicating the language you want to localize to, e.g.en
.
Additional options:
-noVoiceSubs
– Removes the voiced line subtitle ASM hack from the build so no voiced line subs appear in the game
On Linux and Mac, you will need to install the Docker Engine. On Windows, you will first need to install Windows Subsystem for Linux. Once you've installed that, you should open WSL and install the Docker Engine following the instructions for the distro you installed (e.g., Ubuntu).
Clone the strings repo and assets repo. Both of these are private at the moment, so if you want to contribute, you should get in touch with us.
Copy your ROM inside the root of this repo and name it original.nds
.
To run, open the build repo in your terminal (in WSL on Windows), then run sudo ./docker/run.sh PATH/TO/BUILD_REPO /PATH/TO/ASSETS_REPO PATH/TO/STRINGS_REPO LANGCODE VERSION
. The capitalized arguments should be replaced with:
PATH/TO/BUILD_REPO
– the path to your copy of ChokuretsuTranslationBuildPATH/TO/ASSETS_REPO
– the path to your copy of ChokurestuTranslationAssetsPATH/TO/STRINGS_REPO
– the path to your copy of ChokuretsuTranslationStringsLANGCODE
– an ISO 639-1 language code indicating which language to translate to, e.g.en
VERSION
– the version of the patch (displayed on the splash screen)