Skip to content

Latest commit

 

History

History
101 lines (70 loc) · 2.81 KB

File metadata and controls

101 lines (70 loc) · 2.81 KB

FrontierDataTool

Extract and modify game data structures (armor, weapons, quests, shop prices).

Features

  • Automatically handles encrypted (ECD/EXF) and compressed (JPK) files
  • Exports to CSV in UTF-8 with BOM (easy editing in Excel/text editors)
  • Auto-detects CSV encoding when importing (supports both UTF-8 and Shift-JIS)
  • Supports importing modified data back into game files

Commands

Dump Data (--dump)

Export all game data to CSV files:

./FrontierDataTool --dump --suffix demo --mhfpac mhfpac.bin --mhfdat mhfdat.bin --mhfinf mhfinf.bin

Generates:

  • Armor.csv - Armor data
  • Melee.csv - Melee weapon data
  • Ranged.csv - Ranged weapon data
  • InfQuests.csv - Quest data
  • mhsx_[type]_demo.txt - Various data files

Import Data (--import)

Import modified CSV data back into game files. The CSV type is auto-detected from the filename.

Import Armor

./FrontierDataTool --import --csv Armor.csv --mhfdat mhfdat.bin --mhfpac mhfpac.bin

Import Melee Weapons

./FrontierDataTool --import --csv Melee.csv --mhfdat mhfdat.bin

Import Ranged Weapons

./FrontierDataTool --import --csv Ranged.csv --mhfdat mhfdat.bin

Import Quest Data

./FrontierDataTool --import --csv InfQuests.csv --mhfinf mhfinf.bin

Note: Quest text fields (Title, TextMain, TextSubA, TextSubB) are read-only and cannot be modified through CSV import.

Output is written to the output/ directory.

Modify Shop Prices (--modshop)

Adjust shop prices in mhfdat.bin (buy price / 50, sell price * 5):

./FrontierDataTool --modshop --mhfdat mhfdat.bin

Import Requirements Summary

CSV File Required Files
Armor.csv --mhfdat, --mhfpac
Melee.csv --mhfdat
Ranged.csv --mhfdat
InfQuests.csv --mhfinf

Options

Option Description
--dump Export game data to CSV
--import Import CSV data back into game files
--modshop Modify shop prices
--suffix <name> Suffix for output files (required for --dump)
--csv <file> CSV file path (required for --import)
--mhfdat <file> Path to mhfdat.bin
--mhfpac <file> Path to mhfpac.bin
--mhfinf <file> Path to mhfinf.bin
--shift-jis Output CSV in Shift-JIS encoding (default: UTF-8 with BOM)
--help Show help

CSV Encoding

By default, CSV files are written in UTF-8 with BOM for easier editing in Excel and text editors.

When reading CSV files (for --import), the encoding is auto-detected:

  • Files starting with UTF-8 BOM (EF BB BF) are read as UTF-8
  • Other files are read as Shift-JIS (legacy format)

Use --shift-jis to output CSV files in Shift-JIS encoding for compatibility with older workflows.