Skip to content

Releases: Houmgaor/ReFrontier

v2.2.0

Choose a tag to compare

@Houmgaor Houmgaor released this 23 Feb 18:44

What's New

ReFrontier

  • --diff option: Structural file comparison for comparing unpacked game archives
  • --validate option: File integrity checking to verify encryption/compression roundtrips

FrontierDataTool

  • Quest text reimport: Import edited quest text back into binary files
  • JSON output: Export quest data as JSON in addition to CSV

Full Changelog

v2.1.0...v2.2.0

v2.1.0: tools polishing

Choose a tag to compare

@Houmgaor Houmgaor released this 22 Feb 19:44

ReFrontier v2.1.0

Features

  • Drag-and-drop support: ReFrontier now waits for a keypress when launched via drag-and-drop (e.g. on Windows), so users can see the output before the console closes.
  • Skill enums for FrontierDataTool: Added comprehensive skill enum definitions and lookup utilities, improving readability of extracted data.
  • QuestData field identification: Identified and documented QuestData fields from mhfinf.bin in FrontierDataTool, expanding data extraction coverage.

Bug Fixes

  • FrontierTextTool: Filter garbage/invalid strings from --fulldump output, producing cleaner extraction results.

Breaking Changes

  • CSV format: Switched from TSV to RFC 4180 compliant CSV. Existing TSV files from previous versions will need to be re-exported.
  • Column naming: Renamed JString/EString columns to Original/Translation across all CSV output for clarity.
  • CLI argument rename: The positional file argument is now named inputPath (previously file). Usage is unchanged for most users.

Data Structure Improvements

  • Renamed many Unk (unknown) fields to meaningful names based on ImHex pattern analysis.
  • Renamed and documented data structure fields in FrontierDataTool for better readability.

Testing & Quality

  • Improved FrontierDataTool test coverage from 47% to 66%.
  • Improved FrontierTextTool test coverage from 51% to 55%.

Documentation

  • Added project banner to README.
  • Fixed incorrect CLI examples for FrontierTextTool and FrontierDataTool.
  • Fixed incorrect CLI options and CSV format references in documentation.

CI

  • Fixed publish warning by specifying project explicitly in CI pipeline.

Full Changelog: v2.0.0...v2.1.0

v2.0.0: ReFrontier Reworked

Choose a tag to compare

@Houmgaor Houmgaor released this 01 Feb 11:10

This release is a major rework on ReFrontier. It contains numerous improvements, clearer arguments, but also breaking changes. See MIGRATION_2.0.md.

ReFrontier Screenshot

It also contains much better documentation, both for code and cryptography.

Added

  • UTF-8 CSV encoding: CSV files are now written in UTF-8 with BOM by default for easier editing in Excel and text editors
  • CSV encoding auto-detection: When reading CSV files, encoding is automatically detected (UTF-8 BOM or Shift-JIS)
  • Shift-JIS validation: Warns when inserting text containing characters that cannot be encoded to Shift-JIS
  • --shift-jis option for FrontierTextTool and FrontierDataTool to output CSV files in Shift-JIS encoding
  • EXF encryption: Full round-trip support for EXF encrypted files (decrypt with --saveMeta, re-encrypt with --encrypt)
  • FTXT repacking: Pack extracted text files back to FTXT binary format (extract with --saveMeta, repack with --pack)
  • Auto decrypt/decompress: FrontierTextTool and FrontierDataTool now automatically detect and process encrypted (ECD/EXF) and compressed (JPK) files
  • FilePreprocessor class for automatic file preprocessing with cleanup support
  • Unit tests for Crypto, JPK compression codecs, ArgumentsParser, ByteOperations, and FileOperations
  • GitHub Actions CI workflow for build and test with code coverage
  • Dependency injection support for testability (IFileSystem, ILogger, ICodecFactory)
  • Service layer (FileProcessingService, PackingService, UnpackingService)
  • Support for None decoder in JPK decompression

Changed

  • BREAKING: Replaced custom argument parser with System.CommandLine library
  • BREAKING: Removed static methods and Lazy singletons in favor of instance methods
  • BREAKING: Removed --noFileRewrite CLI option and rewriteOldFile parameter - decrypted/decompressed files are now always written to new files (e.g., .decd suffix) instead of overwriting originals
  • FrontierTextTool and FrontierDataTool no longer require manual decryption/decompression of input files
  • Refactored InputArguments to a struct for easier debugging
  • Made Program class and methods public for testing

Fixed

  • EXF decryption now processes all bytes (was stopping 16 bytes early)
  • Removed dead nullspace fill loop in Crypto.cs
  • Improved exception types throughout the codebase
  • Added proper using statements for streams and readers to prevent resource leaks
  • Upgraded CsvHelper in FrontierTextTool to match FrontierDataTool version

Notes

Full Changelog: v1.2.0...v2.0.0

v1.2.0: depacking upgrade

Choose a tag to compare

@Houmgaor Houmgaor released this 27 Nov 16:51

The depacking feature was updated to be much faster with multiprocessing.
Depacked files do no longer overwrite old files.

Fix an issue where files with the same name without extension could not be depacked (#5).

Deprecated: decrypted files still rewrite old files (for compatibility).

Full Changelog: v1.1.0...v1.2.0

Adds Chakratos feats, other QoL

Choose a tag to compare

@Houmgaor Houmgaor released this 20 Nov 12:43

added: text full dump features from Chakratos/ReFrontier.
added: start program versioning.

fix: better CSV writing and parsing.
fix: LZ decompression was buggy.
fix: less garbage text generated using fulldump.

doc: README for all features.

Full Changelog: v1.0.1...v1.1.0

Fixing stuff

Choose a tag to compare

@Houmgaor Houmgaor released this 17 Nov 20:18

This release 1.0.1 addresses various bugs.

Those bugs are fixed:

  • Bad decompression (smallish issue in the LZ77 algorithm).
  • Compression level limits were not always respected. It made the compression a bit slower.
  • Encoding not recognized for text extraction.

Full Changelog: v1.0.0...v1.0.1

Initial release

Choose a tag to compare

@Houmgaor Houmgaor released this 05 Nov 19:04

Initial release for the refactored version of ReFrontier.

The main differences are that you can build the project in release mode and use more standard arguments.

Full Changelog: https://github.com/Houmgaor/ReFrontier/commits/v1.0.0