README
¶
English
MeidoSerialization CLI
MeidoSerialization CLI is a command-line interface for the MeidoSerialization library, allowing you to convert between COM3D2 MOD files and JSON formats directly from the command line.
For .tex files, it converts between common image formats and the .tex format.
You can also use COM3D2 MOD EDITOR V2 to open the converted json file or unconverted files.
After converting to JSON text, you can more conveniently use batch processing tools for tasks like keyword replacement.
Please note that the converted JSON does not contain newlines. You may need to use tools like Visual Studio Code to format it for readability.
You can use this simple GUI tool for batch processing like keyword replacement and renaming, which is useful for creating variations (Chinese only): https://github.com/90135/COM3D2_Tools_901
Download
Download in Release
Usage
The CLI provides the following main commands:
convert2json
Convert MOD files to JSON format.
Does not support .tex conversion.
MeidoSerialization.exe convert2json [file/directory]
Examples:
MeidoSerialization.exe convert2json example.menu
MeidoSerialization.exe convert2json ./mods_directory
MeidoSerialization.exe convert2json --type menu ./mods_directory # Only convert .menu files
convert2mod
Convert JSON files back to MOD format.
Does not support .tex.json conversion.
MeidoSerialization.exe convert2mod [file/directory]
Examples:
MeidoSerialization.exe convert2mod example.menu.json
MeidoSerialization.exe convert2mod ./json_directory
MeidoSerialization.exe convert2mod --type mate.json ./json_directory # Only convert .mate.json files
convert2image
Convert .tex files to image format.
MeidoSerialization.exe convert2image [file/directory]
Examples:
MeidoSerialization.exe convert2image example.tex
MeidoSerialization.exe convert2image example.tex --format jpg # Convert to JPG format
MeidoSerialization.exe convert2image ./textures_directory
MeidoSerialization.exe convert2image ./textures_directory --format webp # Convert to WebP format
# You can also filter by type in directory mode
MeidoSerialization.exe convert2image ./textures_directory --type tex
convert2tex
Convert image files to .tex format.
MeidoSerialization.exe convert2tex [file/directory]
Examples:
MeidoSerialization.exe convert2tex example.png
MeidoSerialization.exe convert2tex example.jpg --compress # Use DXT compression
MeidoSerialization.exe convert2tex example.png --forcePng false
MeidoSerialization.exe convert2tex example.png --forcePng true # Force using PNG format (lossless) for the data part of the .tex file
MeidoSerialization.exe convert2tex ./images_directory
MeidoSerialization.exe convert2tex ./images_directory --compress --forcePng false
# Filter only images in directory mode
MeidoSerialization.exe convert2tex ./images_directory --type image
convert2csv
Convert .nei files (encrypted Shift-JIS CSV) to .csv format.
MeidoSerialization.exe convert2csv [file/directory]
Examples:
MeidoSerialization.exe convert2csv example.nei
MeidoSerialization.exe convert2csv ./nei_directory
# Filter only .nei in directory mode
MeidoSerialization.exe convert2csv ./nei_directory --type nei
convert2nei
Convert .csv files to .nei format (encrypted Shift-JIS CSV).
MeidoSerialization.exe convert2nei [file/directory]
Examples:
MeidoSerialization.exe convert2nei example.csv
MeidoSerialization.exe convert2nei ./csv_directory
# Filter only .csv in directory mode
MeidoSerialization.exe convert2nei ./csv_directory --type csv
convert
Auto-detect and convert files(Concurrency is not supported. Please use a separate conversion command if concurrency is required.)
- MOD <-> JSON
- TEX <-> Image
- NEI <-> CSV
- ARC -> Folder
MeidoSerialization.exe convert [file/directory]
Examples:
MeidoSerialization.exe convert example.menu
MeidoSerialization.exe convert example.menu.json
MeidoSerialization.exe convert example.tex
MeidoSerialization.exe convert example.nei
MeidoSerialization.exe convert ./mixed_directory
# In directory mode, you can filter by type
MeidoSerialization.exe convert --type pmat ./mixed_directory # Only convert .pmat (binary)
MeidoSerialization.exe convert --type pmat.json ./mixed_directory # Only convert .pmat.json
MeidoSerialization.exe convert --type tex ./mixed_directory # Only convert .tex to image
MeidoSerialization.exe convert --type image ./mixed_directory # Only convert image files to .tex
MeidoSerialization.exe convert --type nei ./mixed_directory # Only convert .nei to .csv
MeidoSerialization.exe convert --type csv ./mixed_directory # Only convert .csv to .nei
determine
Determine the types of files in a directory or a single file.
MeidoSerialization.exe determine [file/directory]
Examples:
MeidoSerialization.exe determine example.menu
MeidoSerialization.exe determine --strict ./mods_directory
# Type filtering also supported (including '<type>.json')
MeidoSerialization.exe determine --type menu ./mods_directory
MeidoSerialization.exe determine --type menu.json ./mods_directory
unpackArc
Unpack a .arc file into a folder
Examples:
MeidoSerialization.exe unpackArc example.arc
MeidoSerialization.exe unpackArc example.arc -o ./output_dir
MeidoSerialization.exe unpackArc ./arc_directory
packArc
Pack a directory into a .arc file
Examples:
MeidoSerialization packArc ./my_folder
MeidoSerialization packArc ./my_folder -o custom.arc
listArc
List all files inside a .arc archive.
MeidoSerialization.exe listArc [file]
Examples:
MeidoSerialization.exe listArc example.arc
extractArc
Extract files from a .arc archive by extension or file path.
Use --ext to extract all files with a given extension.
Use --file to extract a single file by its full path or filename within the archive (single .arc only).
If only a filename is given, the archive is searched for a matching entry.
Execution Order:
- First, attempt an exact match for the complete path.
- If no match is found, fall back to matching by filename (case-insensitive).
- If a unique file is matched, return its complete path.
- If multiple files are matched, report an error and list all matches, prompting the user to specify the complete path.
- If no match is found, report an error indicating the file was not found.
MeidoSerialization.exe extractArc [file/directory]
Examples:
MeidoSerialization.exe extractArc example.arc --ext .menu
MeidoSerialization.exe extractArc example.arc --ext tex
MeidoSerialization.exe extractArc example.arc --file folder/texture.tex
MeidoSerialization.exe extractArc example.arc --file texture.tex
MeidoSerialization.exe extractArc example.arc --ext .menu -o ./output_dir
MeidoSerialization.exe extractArc ./arc_directory --ext .tex
Global Flags
--strictor-s: Use strict mode for file type determination (based on content rather than file extension)--typeor-t: Filter by file type. Supported values:menu, mate, pmat, col, phy, psk, anm, model, tex, preset, nei, csv, image, arc- image refers to any image format supported by ImageMagick (such as .png, .jpg, .gif, .webp, etc.)
- or
'<type>.json'for MOD JSON files (e.g.,menu.json) - Note:
<type>(without.json) matches binary only;<type>.jsonmatches JSON only.
Supported File Types
see main README
Build
- Make sure you have Go installed (version 1.25 or higher)
- Clone the repository:
git clone https://github.com/MeidoPromotionAssociation/MeidoSerialization.git - Build the CLI:
cd MeidoSerialization go build -o MeidoSerialization.exe
简体中文
MeidoSerialization CLI
MeidoSerialization CLI 是 MeidoSerialization 库的命令行界面,允许您直接从命令行在 COM3D2 MOD 文件和 JSON 格式之间进行转换。
对于 .tex 文件,则是在普通图片格式和 .tex 格式之间进行转换。
您也可以使用 COM3D2 MOD EDITOR V2 打开转换后的 json 文件或是未转换的文件。
转换为 JSON 文本以后,您可以更为方便地使用一些批处理工具进行批量处理,例如关键词替换等。
请注意转换后的 JSON 是没有换行符的,进行关键词替换时需要注意,您也可以使用 Visual Studio Code 等工具进行格式化。
您可以使用这里提供的简单 GUI 工具来进行简单的关键词替换,重命名等批处理,制作差分很有用(仅中文):https://github.com/90135/COM3D2_Tools_901
下载
在 Release 中下载
使用方法
CLI 提供以下主要命令:
convert2json
将 MOD 文件转换为 JSON 格式。
不支持 .tex 转换
MeidoSerialization.exe convert2json [文件/目录]
示例:
MeidoSerialization.exe convert2json example.menu
MeidoSerialization.exe convert2json ./mods_directory
MeidoSerialization.exe convert2json --type menu ./mods_directory # 仅转换 .menu 文件
convert2mod
将 JSON 文件转换回 MOD 格式。
不支持 .tex.json 转换
MeidoSerialization.exe convert2mod [文件/目录]
示例:
MeidoSerialization.exe convert2mod example.menu.json
MeidoSerialization.exe convert2mod ./json_directory
MeidoSerialization.exe convert2mod --type mate.json ./json_directory # 仅转换 .mate.json 文件
convert2image
将 .tex 文件转换为图片格式。
MeidoSerialization.exe convert2image [文件/目录]
示例:
MeidoSerialization.exe convert2image example.tex
MeidoSerialization.exe convert2image example.tex --format jpg # 转换为 JPG 格式
MeidoSerialization.exe convert2image ./textures_directory
MeidoSerialization.exe convert2image ./textures_directory --format webp # 转换为 WebP 格式
# 目录模式下也可以用类型过滤
MeidoSerialization.exe convert2image ./textures_directory --type tex
convert2tex
将图片文件转换为 .tex 格式。
MeidoSerialization.exe convert2tex [文件/目录]
示例:
MeidoSerialization.exe convert2tex example.png
MeidoSerialization.exe convert2tex example.jpg --compress # 使用 DXT 压缩
MeidoSerialization.exe convert2tex example.png --forcePng false
MeidoSerialization.exe convert2tex example.png --forcePng true # 强制使用 PNG 格式(无损)进行 .tex 文件的数据部分
MeidoSerialization.exe convert2tex ./images_directory
MeidoSerialization.exe convert2tex ./images_directory --compress --forcePng false
# 目录模式下按类型过滤
MeidoSerialization.exe convert2tex ./images_directory --type image
convert2csv
将 .nei 文件(加密的 Shift-JIS CSV)转换为 .csv 格式。
MeidoSerialization.exe convert2csv [文件/目录]
示例:
MeidoSerialization.exe convert2csv example.nei
MeidoSerialization.exe convert2csv ./nei_directory
# 目录模式下按类型过滤
MeidoSerialization.exe convert2csv ./nei_directory --type nei
convert2nei
将 .csv 文件转换为 .nei 格式(加密的 Shift-JIS CSV)。
MeidoSerialization.exe convert2nei [文件/目录]
示例:
MeidoSerialization.exe convert2nei example.csv
MeidoSerialization.exe convert2nei ./csv_directory
# 目录模式下按类型过滤
MeidoSerialization.exe convert2nei ./csv_directory --type csv
convert
自动检测并进行转换(不支持并发,需要并发请使用单独的转换命令):
- MOD <-> JSON
- TEX <-> 图片
- NEI <-> CSV
- ARC -> 文件夹
MeidoSerialization.exe convert [文件/目录]
示例:
MeidoSerialization.exe convert example.menu
MeidoSerialization.exe convert example.menu.json
MeidoSerialization.exe convert example.tex
MeidoSerialization.exe convert example.nei
MeidoSerialization.exe convert ./mixed_directory
# 目录模式下可按类型过滤
MeidoSerialization.exe convert --type pmat ./mixed_directory # 仅转换 .pmat(二进制)
MeidoSerialization.exe convert --type pmat.json ./mixed_directory # 仅转换 .pmat.json
MeidoSerialization.exe convert --type tex ./mixed_directory # 仅将 .tex 转为图片
MeidoSerialization.exe convert --type image ./mixed_directory # 仅将图片转为 .tex
MeidoSerialization.exe convert --type nei ./mixed_directory # 仅将 .nei 转为 .csv
MeidoSerialization.exe convert --type csv ./mixed_directory # 仅将 .csv 转为 .nei
determine
确定目录中的文件或单个文件的类型。
MeidoSerialization.exe determine [文件/目录]
示例:
MeidoSerialization.exe determine example.menu
MeidoSerialization.exe determine --strict ./mods_directory
# 也支持类型过滤(包含 '<type>.json')
MeidoSerialization.exe determine --type menu ./mods_directory
MeidoSerialization.exe determine --type menu.json ./mods_directory
unpackArc
将 .arc 文件解压到指定文件夹。
示例:
MeidoSerialization.exe unpackArc example.arc
MeidoSerialization.exe unpackArc example.arc -o ./output_dir
MeidoSerialization.exe unpackArc ./arc_directory
packArc
将目录打包成 .arc 文件。
示例:
MeidoSerialization packArc ./my_folder
MeidoSerialization packArc ./my_folder -o custom.arc
listArc
列出 .arc 存档中的所有文件。
MeidoSerialization.exe listArc [文件]
示例:
MeidoSerialization.exe listArc example.arc
extractArc
按扩展名或文件路径从 .arc 存档中提取文件。
使用 --ext 提取所有具有指定扩展名的文件。
使用 --file 按完整路径或文件名提取单个文件(仅限单个 .arc 文件)。
如果仅提供文件名,将在存档中搜索匹配的条目。
执行顺序
- 先尝试精确匹配完整路径
- 若未匹配到,退回到按文件名匹配(大小写不敏感)
- 如果匹配到唯一文件,直接返回其完整路径
- 如果匹配到多个文件,报错并列出所有匹配项,提示用户指定完整路径
- 如果没有匹配,报错提示文件未找到
MeidoSerialization.exe extractArc [文件/目录]
示例:
MeidoSerialization.exe extractArc example.arc --ext .menu
MeidoSerialization.exe extractArc example.arc --ext tex
MeidoSerialization.exe extractArc example.arc --file folder/texture.tex
MeidoSerialization.exe extractArc example.arc --file texture.tex
MeidoSerialization.exe extractArc example.arc --ext .menu -o ./output_dir
MeidoSerialization.exe extractArc ./arc_directory --ext .tex
全局参数
--strict或-s:使用严格模式进行文件类型判断(基于文件内容而非扩展名)--type或-t:按类型过滤。支持:menu, mate, pmat, col, phy, psk, anm, model, tex, preset, nei, csv, image, arc- image 指任意被 ImageMagick 支持的图片格式(如 .png, .jpg, .gif, .webp 等)
- 或使用
'<type>.json'过滤 MOD 的 JSON 文件(如menu.json) - 注意:不带
.json的<type>仅匹配二进制;带.json的<type>.json仅匹配 JSON。
支持的文件类型
见主 README
构建
- 确保已安装 Go(版本 1.25 或更高)
- 克隆仓库:
git clone https://github.com/MeidoPromotionAssociation/MeidoSerialization.git - 构建 CLI:
cd MeidoSerialization go build -o MeidoSerialization.exe
日本語
MeidoSerialization CLI
AI Translated
MeidoSerialization CLI は MeidoSerialization ライブラリのコマンドラインインターフェースで、コマンドラインから直接 COM3D2 MOD ファイルと JSON 形式間の変換が可能です。
.tex ファイルについては、一般的な画像形式と .tex 形式間の変換を行います。
COM3D2 MOD EDITOR V2 を使用して、変換された JSON ファイルまたは未変換のファイルを開くこともできます。
JSON テキストに変換した後、キーワード置換などのバッチ処理ツールをより便利に使用できます。
変換された JSON には改行が含まれていないことに注意してください。Visual Studio Code などのツールを使用してフォーマットする必要があるかもしれません。
キーワード置換やリネームなどのバッチ処理には、このシンプルな GUI ツールを使用できます。差分作成に便利です(中国語のみ):https://github.com/90135/COM3D2_Tools_901
ダウンロード
Release からダウンロード
使用方法
CLI は以下の主要コマンドを提供します:
convert2json
MOD ファイルを JSON 形式に変換します。
.tex 変換には対応していません。
MeidoSerialization.exe convert2json [ファイル/ディレクトリ]
例:
MeidoSerialization.exe convert2json example.menu
MeidoSerialization.exe convert2json ./mods_directory
MeidoSerialization.exe convert2json --type menu ./mods_directory # .menu ファイルのみ変換
convert2mod
JSON ファイルを MOD 形式に変換します。
.tex.json 変換には対応していません。
MeidoSerialization.exe convert2mod [ファイル/ディレクトリ]
例:
MeidoSerialization.exe convert2mod example.menu.json
MeidoSerialization.exe convert2mod ./json_directory
MeidoSerialization.exe convert2mod --type mate.json ./json_directory # .mate.json ファイルのみ変換
convert2image
.tex ファイルを画像形式に変換します。
MeidoSerialization.exe convert2image [ファイル/ディレクトリ]
例:
MeidoSerialization.exe convert2image example.tex
MeidoSerialization.exe convert2image example.tex --format jpg # JPG 形式に変換
MeidoSerialization.exe convert2image ./textures_directory
MeidoSerialization.exe convert2image ./textures_directory --format webp # WebP 形式に変換
# ディレクトリモードでもタイプでフィルタリング可能
MeidoSerialization.exe convert2image ./textures_directory --type tex
convert2tex
画像ファイルを .tex 形式に変換します。
MeidoSerialization.exe convert2tex [ファイル/ディレクトリ]
例:
MeidoSerialization.exe convert2tex example.png
MeidoSerialization.exe convert2tex example.jpg --compress # DXT 圧縮を使用
MeidoSerialization.exe convert2tex example.png --forcePng false
MeidoSerialization.exe convert2tex example.png --forcePng true # .tex ファイルのデータ部分に PNG 形式(ロスレス)を強制使用
MeidoSerialization.exe convert2tex ./images_directory
MeidoSerialization.exe convert2tex ./images_directory --compress --forcePng false
# ディレクトリモードで画像のみフィルタリング
MeidoSerialization.exe convert2tex ./images_directory --type image
convert2csv
.nei ファイル(暗号化された Shift-JIS CSV)を .csv 形式に変換します。
MeidoSerialization.exe convert2csv [ファイル/ディレクトリ]
例:
MeidoSerialization.exe convert2csv example.nei
MeidoSerialization.exe convert2csv ./nei_directory
# ディレクトリモードで .nei のみフィルタリング
MeidoSerialization.exe convert2csv ./nei_directory --type nei
convert2nei
.csv ファイルを .nei 形式(暗号化された Shift-JIS CSV)に変換します。
MeidoSerialization.exe convert2nei [ファイル/ディレクトリ]
例:
MeidoSerialization.exe convert2nei example.csv
MeidoSerialization.exe convert2nei ./csv_directory
# ディレクトリモードで .csv のみフィルタリング
MeidoSerialization.exe convert2nei ./csv_directory --type csv
convert
自動検出して変換(同時実行はサポートされていません。同時実行が必要な場合は、別の変換コマンドを使用してください。):
- MOD <-> JSON
- TEX <-> 画像
- NEI <-> CSV
- ARC -> フォルダ
MeidoSerialization.exe convert [ファイル/ディレクトリ]
例:
MeidoSerialization.exe convert example.menu
MeidoSerialization.exe convert example.menu.json
MeidoSerialization.exe convert example.tex
MeidoSerialization.exe convert example.nei
MeidoSerialization.exe convert ./mixed_directory
# ディレクトリモードでタイプでフィルタリング可能
MeidoSerialization.exe convert --type pmat ./mixed_directory # .pmat(バイナリ)のみ変換
MeidoSerialization.exe convert --type pmat.json ./mixed_directory # .pmat.json のみ変換
MeidoSerialization.exe convert --type tex ./mixed_directory # .tex を画像に変換のみ
MeidoSerialization.exe convert --type image ./mixed_directory # 画像ファイルを .tex に変換のみ
MeidoSerialization.exe convert --type nei ./mixed_directory # .nei を .csv に変換のみ
MeidoSerialization.exe convert --type csv ./mixed_directory # .csv を .nei に変換のみ
determine
ディレクトリ内のファイルまたは単一ファイルのタイプを判定します。
MeidoSerialization.exe determine [ファイル/ディレクトリ]
例:
MeidoSerialization.exe determine example.menu
MeidoSerialization.exe determine --strict ./mods_directory
# タイプフィルタリングも対応('<type>.json' を含む)
MeidoSerialization.exe determine --type menu ./mods_directory
MeidoSerialization.exe determine --type menu.json ./mods_directory
unpackArc
.arc ファイルをフォルダに展開します
例:
MeidoSerialization.exe unpackArc example.arc
MeidoSerialization.exe unpackArc example.arc -o ./output_dir
MeidoSerialization.exe unpackArc ./arc_directory
packArc
ディレクトリを .arc ファイルにパックします
例:
MeidoSerialization packArc ./my_folder
MeidoSerialization packArc ./my_folder -o custom.arc
listArc
.arc アーカイブ内のすべてのファイルを一覧表示します。
MeidoSerialization.exe listArc [ファイル]
例:
MeidoSerialization.exe listArc example.arc
extractArc
拡張子またはファイルパスで .arc アーカイブからファイルを抽出します。
--ext を使用して、指定した拡張子のすべてのファイルを抽出します。
--file を使用して、フルパスまたはファイル名で単一ファイルを抽出します(単一の .arc ファイルのみ)。
ファイル名のみが指定された場合、アーカイブ内で一致するエントリを検索します。
実行順序:
- まず、完全なパスで完全一致を試みます。
- 一致するものが見つからない場合は、ファイル名(大文字と小文字を区別しない)による一致にフォールバックします。
- 一致するファイルが 1 つだけの場合は、その完全なパスを返します。
- 一致するファイルが複数ある場合は、エラーを報告し、すべての一致を一覧表示して、ユーザーに完全なパスを指定するよう促します。
- 一致するものが見つからない場合は、ファイルが見つからなかったことを示すエラーを報告します。
MeidoSerialization.exe extractArc [ファイル/ディレクトリ]
例:
MeidoSerialization.exe extractArc example.arc --ext .menu
MeidoSerialization.exe extractArc example.arc --ext tex
MeidoSerialization.exe extractArc example.arc --file folder/texture.tex
MeidoSerialization.exe extractArc example.arc --file texture.tex
MeidoSerialization.exe extractArc example.arc --ext .menu -o ./output_dir
MeidoSerialization.exe extractArc ./arc_directory --ext .tex
グローバルフラグ
--strictまたは-s:厳密モードでファイルタイプを判定(拡張子ではなくファイル内容に基づく)--typeまたは-t:タイプでフィルタリング。対応値:menu, mate, pmat, col, phy, psk, anm, model, tex, preset, nei, csv, image, arc- image は ImageMagick でサポートされている任意の画像形式を指します(.png, .jpg, .gif, .webp など)
- または
'<type>.json'で MOD の JSON ファイルをフィルタリング(例:menu.json) - 注意:
.jsonなしの<type>はバイナリのみにマッチ、.json付きの<type>.jsonは JSON のみにマッチ
対応ファイル形式
メインの README を参照
ビルド
- Go がインストールされていることを確認(バージョン 1.25 以上)
- リポジトリをクローン:
git clone https://github.com/MeidoPromotionAssociation/MeidoSerialization.git - CLI をビルド:
cd MeidoSerialization go build -o MeidoSerialization.exe
Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var RootCmd = &cobra.Command{ Use: "MeidoSerialization", Short: "MeidoSerialization CLI tool", Long: `MeidoSerialization CLI tool for converting between COM3D2 MOD files and JSON. This tool can convert MOD files to JSON, JSON files to MOD files, and determine file types. (For .tex, it is converted to image, for .nei, it is converted to .csv) Supported file types include: .menu, .mate, .pmat, .col, .phy, .psk, .tex, .anm, .model, .nei Github: https://github.com/MeidoPromotionAssociation/MeidoSerialization MeidoSerialization CLI 工具,用于在 COM3D2 MOD 文件和 JSON 之间进行转换。 此工具可以将 MOD 文件转换为 JSON,也可以将 JSON 文件转换为 MOD 文件,并可识别文件类型。 (对于 .tex 则是转换为图片,对于 .nei 则是转换为 .csv) 支持的文件类型包括:.menu、.mate、.pmat、.col、.phy、.psk、.tex、.anm、.model、.nei 中文说明请查看在线文档: Github:https://github.com/MeidoPromotionAssociation/MeidoSerialization `, Run: func(cmd *cobra.Command, args []string) { err := cmd.Help() if err != nil { return } }, }
RootCmd represents the base command when called without any subcommands
Functions ¶
Types ¶
This section is empty.