Skip to content

Releases: encounter/decomp-toolkit

v1.6.2

10 Jun 04:57
Compare
Choose a tag to compare

What's Changed

  • Fixed: Continue analyzing functions after unknown jumps by @cadmic in #106
  • Fixed: Support prolog/epilog sequences affected by float scheduling (#105, ba25896)
  • Added: dwarf dump: Guess endianness of "erased" DWARF info by @cadmic in #104

Full Changelog: v1.6.1...v1.6.2

v1.6.1

05 Jun 04:57
Compare
Choose a tag to compare

What's Changed

  • Added: Allow specifying replacement bytes in dtk extab clean by @cadmic in #103
  • Changed: Relax string size requirement for auto symbols by @ribbanya in #102

Full Changelog: v1.6.0...v1.6.1

v1.6.0

02 Jun 02:31
Compare
Choose a tag to compare

What's Changed

  • Added: dtk extab clean & config.yml clean_extab (9cafb77)
    • It was discovered that certain extab actions contain uninitalized data from the compiler. This provides a way to zero out uninitialized data in DOL or object files. Usage: dtk extab clean input.dol output.dol
    • A clean_extab setting was added to config.yml, so projects can link the cleaned objects and target the cleaned DOL hash.
  • Added: Some ProDG improvements by @dbalatoni13 in #101
  • Added: Write ldscript_template path to output depfile (9c68155)
  • Fixed: Fix BSS symbol data check in add_padding_symbols (f212b35)

Full Changelog: v1.5.1...v1.6.0

v1.5.1

12 May 04:26
Compare
Choose a tag to compare

What's Changed

  • Fixed: Padding symbols on REL section boundaries (5505120)

Full Changelog: v1.5.0...v1.5.1

v1.5.0

08 May 05:07
Compare
Choose a tag to compare

What's Changed

  • Added: rel make --version option @dbalatoni13 in #94
  • Added: shiftjis as possible data type for symbols by @Rainchus in #95
  • Added: dol apply: skip updating anonymous symbols by default by @robojumper in #97
  • Added: ALF support in elf2dol (a064ddf)

Full Changelog: v1.4.1...v1.5.0

v1.4.1

05 Feb 06:57
Compare
Choose a tag to compare

What's Changed

  • Fixed: Auto-split and padding symbol fixes (bb18a4b)

A few issues were causing linker errors:

  • Auto-splits could contain symbols that have a higher alignment than the split itself. Detect this and create a new auto-split at these symbols.
  • The analyzer can miss objects in between other objects if there are no direct relocations to them. In these cases, non-zero data could just get totally lost. Detect and create symbols for these.

Full Changelog: v1.4.0...v1.4.1

v1.4.0

28 Jan 03:09
Compare
Choose a tag to compare

What's Changed

  • Added: Improve split cyclic dependency errors (6c3887c)
    • When a link order is unresolvable, decomp-toolkit now prints out all of the TUs in a cycle, easing debugging.
  • Added: WAD support for object_base (51a7fbd)
    • This allows WAD projects to use the auto-extraction feature: decomp-toolkit will extract all objects from a disc file or WAD file that exists in the configured object_base.
  • Added: dol diff: Conditionally warn on symbol size mismatch (#35, b964232)
    • When a symbol's data matches but the size differs due to padding bytes, print a warning and continue.
  • Added: dol diff: Ignore globalized symbols (#61, e55ade1)
  • Added: Set alignment for floats/doubles in analyzer (#60, 9a6348e)
  • Added: Check for conflicting splits with different file extensions (#81, 93000b2)
  • Added: Treat a branch to the start of a function as a tail call (#74, a22e878)
  • Fixed: vfs ls: Column sizing with Unicode chars (04b60d3)
  • Fixed: Don't emit split alignment warnings for auto-splits (#84, 0c6eff4)
  • Fixed: Warn rather than fail on .note.split/.comment reading (589e59a)
  • Changed: Improve logic for generating padding symbols (6819a8b)
  • Changed: Update Error Messages by @NWPlayer123 in #87
  • Removed: elf split command (a6c7001)
    • This command was an early experiment and only worked correctly on one game. The project system has long superseded it. ELFs are better supported by generating a project config via elf config and using the DOL as the target object.

Full Changelog: v1.3.0...v1.4.0

v1.3.0

07 Nov 16:38
Compare
Choose a tag to compare

What's Changed

  • Add rename field to extract configuration (9fc56d8)
    • Allows renaming, for example, local statics from symbol$1234 to symbol for inclusion in the source function.
  • Add Wii WAD support to dtk vfs & wad commands (1cc38ad)

Examples:

$ dtk vfs ls 'test.wad:'
676 bytes | 000100014e414345.tik     | File       
736 bytes | 000100014e414345.tmd     | File       
2.50 KiB  | 000100014e414345.cert    | File       
225 KiB   | 000100014e414345.trailer | File       
225 KiB   | 00000000.app             | File       
1.62 MiB  | 00000001.app             | File       
4.35 MiB  | 00000002.app             | Archive: U8
2.55 MiB  | 00000003.app             | Archive: U8
2.06 MiB  | 00000004.app             | Archive: U8
33.5 MiB  | 00000005.app             | Archive: U8
257 KiB   | 00000006.app             | File       

$ dtk vfs ls 'test.wad:00000004.app:./HomeButton2/LZ77_homeBtn.arc:nlzss:arc/anim'
300 bytes | th_HomeBtn_b_12btn_on.brlan        | File
3.79 KiB  | th_HomeBtn_b_btry_gry.brlan        | File
2.85 KiB  | th_HomeBtn_b_btry_red.brlan        | File
3.79 KiB  | th_HomeBtn_b_btry_wht.brlan        | File
500 bytes | th_HomeBtn_b_btry_wink.brlan       | File
...

Full Changelog: v1.2.0...v1.3.0

v1.2.0

29 Oct 00:02
Compare
Choose a tag to compare

What's Changed

  • Added: Add header_type and custom_type to extract config

Extract configuration is now emitted in the output config, so tooling can load and perform their own tasks on extracted assets without having to parse YAML.

header_type:

  • symbol (default): Emit a full symbol declaration.
  • raw: Emit raw array data (for wrapping in your own declaration)
  • none: Don't emit a header at all. (For custom processing)

custom_type/custom_data: Passed through to the output config as-is for custom tasks.

Full Changelog: v1.1.4...v1.2.0

v1.1.4

18 Oct 06:50
8823c22
Compare
Choose a tag to compare

What's Changed

  • Added: Follow symlinks when looking for disc images by @cadmic in #78
  • Fixed: Address analysis with negative add operands by @sozud in #76
  • Fixed: ELF processing regressions introduced by object crate upgrade in v1.0.0 (8d8d801, fa5068f)

Full Changelog: v1.1.3...v1.1.4