Skip to content

Releases: thpatch/thtk

thtk release 12

27 Oct 23:58
12
Compare
Choose a tag to compare

What's new in thtk 12

A lot of improvements for thecl. If you want to recompile ZUN's files bit-for-bit, make sure you use the simple creation flag (-s) introduced in this version.

thanm

  • Support for TH17 has been added.

thecl

  • Scan and parse negative (-val) function. (th13+ only)
  • Complete support for th16.5.
  • Look up ≥th10 instruction formats even if they have no parameters.
  • Print the total parameter size for unknown ≥th10 instructions.
  • th10: Add neqf to format table.
  • Print error and quit if expressions contain invalid types.
  • Allow floats in the form 1.f
  • Allow floats in the form +1f (and +1.2f and +1.f)
  • Allow integers in the form +123
  • Add sin, cos and sqrt expressions.
  • Allow sub calls by name with parameters cast by type.
  • Add proper if-else blocks.
  • Add while and (simple) switch blocks.
  • Add global definitions.
  • Add missing and fix existing EoSD instructions.
  • th06: Check if instruction's opcode is higher than the max usable by the game
  • Add bitwise operators.
  • Fix argument types for a handful of th12 and th13 instructions.
  • Support for TH17 has been added.
  • Add escaping quotes and backslashes in strings.
  • Add ZUN-style difficulty switches for writing custom ECL
  • Don't force typecasts for instruction calls
  • Add syntax for writing degree-floats (auto converts value to radians).
  • Add syntax for writing binary integer literals.
  • Add forced sub calls by name.
  • Allow var declarations anywhere in the sub.
  • Add variable initialization.
  • Automatically add missing ins_10 at the end of a sub.
  • Better difficulty switch expression.
  • Add times loop.
  • Add simple creation mode.
  • Added typed variables.
  • Improved code blocks.
  • Add shorthand operators. (e.g. +=)
  • Constant math optimization pass.
  • Add #include directive
  • Add #eclmap directive
  • Add single-line comments.
  • Add proper pre-th10 timeline dumping.
  • Add #ins directive
  • Typed functions, return values.
  • Variable scoping.
  • Parse true/false as integer 1/0 respectively.
  • Add relative time labels (i.e. +60:). These are the default format when dumping. The total absolute value is appended as a comment.
  • Add inline sub support. Prepend the keyword "inline" to the sub type to make every call to that sub inline. Inline subs cannot call themselves.
  • Gotos will automatically assign the same time as to where the label is located if no time is specified.

thdat

  • Support for TH17 has been added.
  • Add support for th09e.dat.

thmsg

  • Support for TH17 has been added.

thstd

  • Support for TH17 has been added.

Please submit an issue at GitHub (https://github.com/thpatch/thtk/issues) if you find a bug.

thtk release 11

07 Oct 19:09
11
Compare
Choose a tag to compare

What's new in thtk 11

This release adds thstd, a new tool to dump and recreate the background scripts found in the *.std files. Further changes to existing tools:

thanm

In preparation of thcrap's upcoming support for ANM header patching, more thorough reverse-engineering went into the various ANM structures. All previously unknown fields have now been identified and named.
Additionally, index numbers are now dumped for entries and instruction lines, as this is the only reliable way to address them in an ANM header patch.
Creating new ANM archives from old spec dumps will show backwards-compatibility warnings to ease the transition to the new, more correct dump format.

Thanks to GhostPhanom for funding this development!

  • Type declarations are now taken from the thtypes repository, which has been added as an additional Git submodule.

  • Support for TH16.5 has been added.

thecl

  • Support for TH16.5 has been added.

thmsg

  • Support for TH16.5 has been added.

Please submit an issue if you find a bug in this release.

thtk release 10

17 Apr 07:43
10
Compare
Choose a tag to compare

What's new in thtk 10

This release introduces a new syntax for all commands, incompatible with previous versions. Please refer to the manpages for new syntax.

Mnemonic version names (such as HSiFS or LoLK) are now supported by all commands.

thanm

  • Support spaces in image file names.

thecl

  • Multiple eclmaps can be specified on the command line now.
  • Added unused instruction formats (th07)

thdat

  • Added support for Uwabami Breakers
  • Added automatic version detection, using -xd and -ld parameters
  • Fixed crash when trying to list archive of wrong version

thtk

  • Added support for wide filenames
  • Functions for detecting the version of dat file
  • Import lib is now included with the release

contrib

  • Added a contrib directory with a bunch of goodies.
  • C++ wrapper for thtk library
  • thdat plugin for Midnight Commander
  • thdat plugin for Total Commander

Please submit an issue if you find a bug in this release.

thtk-9

31 Oct 21:27
thtk-9
a7418e5
Compare
Choose a tag to compare

What's new in thtk 9

thecl

  • Fixed compiling TH06-095 ECL files.

thanm

  • Add the missing opcodes introduced in th143. (9811c4f)

Please submit an issue if you find a bug in this release.

thtk-8

15 Aug 04:51
9aeee03
Compare
Choose a tag to compare

What's new in thtk 8:

thanm

  • Support for TH16 has been added.

thdat

  • Support for TH01 and TH16 has been added.
  • Fixed multi-threading support.

thecl

  • Support for TH16 has been added.
  • Many fixes to opcode parameter formats.
  • Improved difficulty flag handling for TH13+. This is a breaking change and
    may cause issues when compiling existing ECL sources.
  • Added support for mapping ECL global variables and opcodes to human readable
    names.
  • Fixed the long broken expression decompilation support.

thmsg

  • Support for TH16 has been added.

Please submit an issue if you find a bug in this release.

thtk-7

18 Aug 04:28
Compare
Choose a tag to compare

What's new in thtk 7:

thdat
  • Support for TH14, TH143, and TH15 has been added.
  • Support for TH105, and TH123 has been added. These are not tested, and may behave wrongly.
  • You can archive the whole directory recursively without using wildcards. Pass the directory name as the argument.
thecl
  • Support for TH14, TH143, and TH15 has been added.
thanm
  • Support for TH15 has been added.
thmsg
  • Support for TH15 has been added.

Support for TH143 is not tested. Please submit the issue if you found a bug.

thtk-nmlgc-6

10 Aug 22:33
Compare
Choose a tag to compare

What's new in thtk-nmlgc 6:

thecl
  • Support for Uwabami Breakers has been added.
  • Support for the TH14 trial has been added.

Furthermore, main ECL sub dumping for TH06, TH07 and TH08 has been added in the th06-main-sub-dump branch. Since it still lacks a compiler and is thus pretty useless, it is not yet available in the master branch and the binary releases.

thanm
  • Support for the TH14 trial has been added.
thmsg
  • Support for the TH14 web trial build (v0.01b) has been added.
    The Reitaisai release (v0.01a) uses the same format as TH13.