0.0
The project is in a healthy, maintained state
Reads RPG Maker XP/VX/VXAce game text to .txt files and writes them to their initial form.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

rvpacker-txt

This project won't longer be maintained. Consider looking into my other projects: Rust implementation of Marshal and TypeScript implementation of Marshal

A tool to read RPG Maker data files to .txt files and write them back to the initial form. It's a port of Darkness9724's port of Ruby 1.9.x's rvpacker to Ruby 3.x to use .txt files instead of YAML, and overall improve the code quality.

rvpacker-txt consists of 3 parts:

  • classes.rb library - all necessary classes to properly load and dump RPG Maker files.
  • read.rb library - all necessary functions for reading and parsing RPG Maker files to text.
  • write.rb library - all necessary functions for writing parsed RPG Maker files back to their initial form.

Installation

gem install rvpacker-txt

Usage

You can get a help message on usage using rvpacker-txt -h.

$ rvpacker-txt -h
This tool allows to parse RPG Maker games to .txt files and write them back to their initial form.

Usage: rvpacker-txt COMMAND [OPTIONS]

COMMANDS:
    read - Parses files from "original" or "data" folders of input directory to "translation" folder of output directory.
    write - Writes translated files using original files from "original" or "data" folder of input directory and writes results to "output" folder of output directory.
OPTIONS:
    -i, --input-dir PATH             When reading: Input directory, containing folders "original" or "data" with original game files.
                                     When writing: Input directory, containing folders "original" or "data" and "translation" with original game files and .txt files with translation respectively.
    -o, --output-dir PATH            When reading: Output directory, where a "translation" folder will be created, containing parsed .txt files with the text from the game.
                                     When writing: Output directory, where an "output" folder will be created, containing compiled RPG Maker files with your translation.
        --disable-processing FILES   Skips processing specified files.
                                     Example: --disable-processing=maps,other,system.
                                     [Allowed values: maps, other, system, scripts]
        --disable-custom-processing  Disables built-in custom text processing for some games.
                                     This flag will automatically be used when writing if you parsed game text with it.
    -r, --romanize                   If you parsing text from a Japanese game, that contains symbols like 「」, which are just the Japanese quotation marks,
                                     it automatically replaces these symbols by their roman equivalents (in this case, "").
                                     This flag will automatically be used when writing if you parsed game text with it.
    -l, --log                        Enables logging.
    -h, --help                       Prints the program's help message or for the entered subcommand.

For example, to read a RPG Maker VX Ace project in E:/Documents/RPGMakerGame to .txt files:

$ rvpacker-txt read --input-dir E:/Documents/RPGMakerGame

Program determines game engine automatically.

This will parse all text from Data/* files into translation/maps and translation/other directories as files without _trans postfix that contain original text and files with _trans postfix that contain empty lines for translation. Lines from Scripts file will be parsed into translation/other/scripts.txt file as plain text, and also into a scripts_plain.txt file that contains scripts contents as a whole - that's just for convenience.

To write previously parsed project back to its initial form:

$ rvpacker-txt write --input-dir E:/Documents/RPGMakerGame

This will take all of translation lines from _trans files from the translation subdirectories and repack all of them to their initial form in output directory.

General

This is great for collaborating on translations and have clean version control. You can easily push .txt files and easily merge them.

Now your translation can be forked/merged in an extremely easy way.

Credit to previous authors

The RPG and RGSS libraries were originally taken from SiCrane's YAML importer/exporter on the gamedev forums.

http://www.gamedev.net/topic/646333-rpg-maker-vx-ace-data-conversion-utility/

akesterson, ymaxkrapzv and BigBlueHat created an original rvpacker repository with the initial frontend for SiCrane's YAML importer/exporter.

https://github.com/ymaxkrapzv/rvpacker

Darkness9724 forked rvpacker to rvpacker-ng, ported it to Ruby 3.x and updated dependencies.

https://gitlab.com/Darkness9724/rvpacker-ng