Changelog of @hackage/gtvm-hs 1.0.0

1.0.0 (2024-10-03)

First Hackage release.

  • get building with my new libraries
    • specifically rewrite SCP
  • disable flowchart & SL01 features (need a bit more work)

Previously unreleased changes, now possibly (temporarily) disabled or irrelevant:

  • large binary representation refactor: SCP, flowchart now handled generically via binrep, strongweak, refined
  • work on graphing SCP links

0.9.0 (2022-03-22)

  • new tool: SCP text replace (for translation)
  • new tool: SCPTL -- text replace made useful
  • remove patch feature: moved to own library+executable at https://github.com/raehik/bytepatch , https://hackage.haskell.org/package/bytepatch
  • rewrite CLI, disabled some features while refactoring further
    • CSV feature temporarily disabled (need to bring bytepatch in again)
  • early SCPX functionality
  • rewrite flowchart handling code, schema
    • No more intermediate type. We get less and simpler code. If it were more useful (not just the index generation), I would add one again. That way we recover the original approach ("lexed" and "parsed" versions), but tons better behaviour, safety etc.
  • various cleanup, interesting ideas
    • pattern for using single type for binary and JSON (and Haskell) composed of two mini libraries, using for flowchart
  • more SCP format documentation

0.8.0 (2021-08-26)

  • patch offsets now work from a base offset
    • prompting story: by calculating the relevant base offset, a user patching an ELF can now write offsets as virtual addresses and have them translated to physical file offsets!
    • absolute offsets can also be specified to confirm correct offset calculation
  • further patcher refactoring: partially generic over patch/stream type, patch-time meta is reused instead of wrapped in pretty patch format

0.7.0 (2021-08-16)

  • fix patcher runtime checks
  • refactor patcher: internals more generic & useful, text/binary patch formats now the same (no "simplified" one offset format), better potential error reporting (not yet implemented)

0.6.0 (2021-08-09)

  • add CSV -> text patch file generator
  • bytestrings in JSON/YAML must now use format 00 01 EF FF etc. (I had no choice but to implement my own format, since JSON explicitly disallows encoding byte arrays.)
  • refactor patcher internals (somewhat modular)

0.5.0 (2021-08-05)

I don't expect to alter the CLI in any more major ways, so go mad with scripts.

  • add binary/string patcher tool
  • some documentation; sound_se.pak repacking appears functional
  • partial CLI redesign (fewer options, more commands)

0.4.0 (2021-08-04)

  • CLI: partial redesign (internals overhauled)
  • add SL01 LZO1x en/decoding tool (output not tested in game)
  • add initial sound_se.pak pack/unpack support (output not tested in game)

0.3.0 (2021-08-02)

Release primarily to ensure the latest version displayed on GitHub has the correct executable name (gtvm-hs, not gtvm).

  • CLI: make prettify an option (still on by default)
  • CLI: fix: always allow printing text

0.2.0 (2021-08-02)

  • CLI interface to SCP manipulation

0.1.0 (2021-08-01)

Initial release.

  • various messy tools, primarily parsing/serializing
  • an initial CLI interface to flow_chart.bin manipulation