Skip to content

About

Unofficial development, translation, graphics editing, ROM-building, and direct-boot project toolkit for RPG Tsukuru DS+.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

RPG Maker DS Toolkit graphics editor

RPG Maker DS Toolkit

An unofficial Windows development, translation, and modding toolkit for the Japanese Nintendo DS release of RPG Tsukuru DS+.

The toolkit targets RPG Tsukuru DS+: Create the New World. It translates the editor interface, help text, generated event text, menus, and graphical interface assets while preserving the original game and save-data formats.

Release status: Active development and testing. This repository does not currently provide a public translation patch or any Nintendo ROM data.

Main features

  • Extracts and edits thousands of CP932 text records from ARM9 and overlays.
  • Reuses verified text storage and safely relocates longer translations within the same loaded code unit.
  • Preserves runtime formatting tokens and parser-critical metadata.
  • Exports, previews, and imports RPG Tsukuru DS+ CHBG graphical assets as PNGs.
  • Preserves palette roles and tile IDs used by highlighted or animated UI.
  • Reuses genuinely unused palette entries for suitable static artwork.
  • Removes PNG metadata and validates dimensions, palette conversion, tile capacity, and decoded image size before compiling.
  • Provides automatic glossary translation, online translation, abbreviation, and sentence-shortening tools.
  • Saves text and replacement artwork together in a portable .rpgdsproj project archive.
  • Browses and previews all 40 BGM, 10 ambience, 10 musical-event, and 136 sound-effect sequences using the ROM's native Nintendo DS ADPCM instruments.
  • Exports MIDI or the complete SSEQ/SBNK/SWAR/SWAV sound library, and imports MIDI with per-track access to every instrument in the ROM, volume, tempo, and real SSEQ loop points. Selected cross-bank instruments and samples are safely assembled into a new song-specific bank without overwriting original audio.
  • Reads RPG Tsukuru DS+ .sav and DeSmuME .dsv files, validates their four mirrored created-game slots, and builds a one-time direct-boot ROM from the selected project without changing the saved toolkit project.

Supported game

Game Game code Clean ROM SHA-256
RPG Tsukuru DS+: Create the New World (Japan) VEBJ D1FF98FE4FDE406B004D3C45986216F9EB67D3C765F1B2F16213677E005E216F

The ROM must match the appropriate clean SHA-256. A different revision, modified dump, or damaged file should not be used.

Using the Windows editor

  1. Run dist\RPG Maker DS Toolkit.exe.
  2. Use the compact navigation tabs for File, Text, Graphics, Compile, Direct Boot, and Music / SFX. The most recent valid project or ROM is reopened automatically.
  3. Open File, select Open Original ROM, and choose a supported clean Japanese ROM when starting new work.
  4. To continue from the included English translation, open File, select Open Toolkit Project, and choose RPG Tsukuru DS+ English.rpgdsproj.
  5. Open Text and use Quick Auto to apply the built-in interface glossary.
  6. Choose a Google Translate target language, then optionally use Auto Translate or Auto Translate + Shorten for untranslated text.
  7. Review the results in the Text workspace and correct them in game context.
  8. Use Graphics to export, edit, and re-import graphical assets. It exposes tiled CHBG atlases and fixed-size BMBG bitmaps such as edit/ep67.blz.
  9. Use Music / SFX to preview native tracks, import MIDI with searchable per-track selection from every ROM instrument plus volume and tempo setup, import ordinary WAV files as replacement sound effects, or extract the complete sound-bank library. Music previews loop until Stop is pressed. The MIDI setup dialog can separately preview the complete MIDI or play its intro once and repeat the editable loop section with the current instrument, volume, and tempo choices.
  10. Return to File and select Save Toolkit Project to preserve the translation work.
  11. Open Compile ROM to create a separate test ROM.

Build Direct-Boot ROM from Save reads the four created-game slots from a raw .sav or DeSmuME .dsv. Only populated slots with matching redundant safety copies and valid integrity markers can be selected. The selected slot is used for that build only: it is not attached to or saved inside the loaded .rpgdsproj, and the normal Compile ROM button continues producing an ordinary translation ROM. The one-time build adds the slot to NitroFS as embedded/project-slot.bin and enables a verified cold-boot installer. On a blank save, the ROM copies that data into project slot 1 using the game's native save routines and rescans it; an existing valid slot 1 is never overwritten. The direct-boot ROM displays none of the game's boot logos, title screen, main menu, or project picker. It enters the original Play Game / slot 1 path and launches the embedded game automatically from a cold boot.

The online translator uses Google Translate's public web endpoint. It requires internet access and may change or become unavailable. Automatically translated text should always be reviewed before a public release.

Imported BMBG replacements retain their original dimensions, bit depth, palette relationship, and decoded byte size.

Project file contents

RPG Tsukuru DS+ English.rpgdsproj is a compressed project archive. It stores:

  • every extracted text record and its current English translation;
  • imported replacement PNG artwork;
  • imported replacement SSEQ music generated from MIDI;
  • the expected source-ROM path and SHA-256; and
  • metadata linking each replacement to its internal ROM asset.

It does not contain the Japanese ROM, a compiled English ROM, DeSmuME save files, save states, or untouched original graphics. The clean source ROM is still required when opening and compiling the project.

Translation and image safeguards

  • Longer English text is relocated only within verified string storage in the same ARM9 or overlay load unit. Overlay RAM sizes, BSS addresses, executable instructions, and save-data structures are not expanded.
  • Strings reached through stable layouts or computed offsets are protected from unsafe relocation.
  • Runtime tokens such as %s, %d, %02d, and ~4,10 are preserved.
  • Parser-critical suffixes such as :NNN asset identifiers are restored and validated during compilation.
  • Special generated-event messages use the game's required full-width CP932 representation instead of unsafe raw ASCII.
  • Imported images must retain their exact original pixel dimensions.
  • EXIF, XMP, IPTC, DPI, ICC, software tags, and redundant alpha data are removed before image validation.
  • Existing palette indices and tile IDs are retained where the game may animate or recolor them.
  • CHBG images may use at most 150% of their original decoded size. Imports over that limit are rejected with required and available tile counts.

PNG file size and compressed .blz size may differ from the original. The decoded CHBG allocation is the relevant safety limit for game memory.

Current project scope

  • RPG Tsukuru DS+ profile: 4,137 exposed text records and 841 CHBG graphics.
  • The DS+ project embeds its current translated text and replacement artwork in RPG Tsukuru DS+ English.rpgdsproj.

Build from source

Requirements:

  • Python 3.12 or a compatible Python 3 release
  • Tkinter (included with standard Windows Python; on Linux, install your distribution's Tk package, such as python3-tk)
  • CMake, Ninja, and a C++17 compiler for the accurate DS audio renderer

Windows

From PowerShell in the repository root:

py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt pyinstaller
powershell -ExecutionPolicy Bypass -File .\build_exe.ps1

The Windows build script installs the required packages, removes its temporary PyInstaller files, and replaces the existing application at:

dist\RPG Maker DS Toolkit.exe

Linux

Install Python, venv, and Tk using your distribution's package manager first. For Debian or Ubuntu:

sudo apt install python3 python3-venv python3-tk cmake ninja-build g++

Then, from a terminal in the repository root:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt pyinstaller
cmake -S native/ncsf_preview -B native/ncsf_preview/build \
  -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build native/ncsf_preview/build
python -m PyInstaller --noconfirm --clean --onefile --windowed \
  --name "RPG Maker DS Toolkit" --distpath dist --workpath build \
  --add-binary "native/ncsf_preview/build/rpgds_ncsf_preview:." rpgds_gui.py
rm -rf build "RPG Maker DS Toolkit.spec"

The native Linux executable is created at:

dist/RPG Maker DS Toolkit

PyInstaller produces an executable for the operating system on which it runs; the Linux command does not produce a Windows .exe.

The command-line rpgds_text.py extractor is also available for CSV-based workflows.

Systems used

Accurate BGM/BGS/ME preview uses the BSD-licensed in_ncsf SSEQ Player by Naram Qashat, adapted from the FeOS Sound System by fincs and incorporating Nintendo DS audio behavior studied by the DeSmuME project. Its license is included at native/ncsf_preview/LICENSE-in_xsf.txt.

RPG Maker and RPG Tsukuru DS+ are properties of their respective copyright holders. This is an unofficial fan project and is not affiliated with or endorsed by Nintendo or Enterbrain.

About

Unofficial development, translation, graphics editing, ROM-building, and direct-boot project toolkit for RPG Tsukuru DS+.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages