Skip to content

Releases: encounter/decomp-toolkit

v1.7.1

19 Nov 06:01

Choose a tag to compare

What's Changed

Full Changelog: v1.7.0...v1.7.1

v1.7.0

12 Nov 19:41
8e417a4

Choose a tag to compare

What's Changed

  • Added: Update dwarf dump to account for enum byte size by @SamuraiOndo in #110
  • Added: Export relocations with asset extraction by @encounter in #115
    • relocations field in extract objects in config.yml
  • Added: Option to disable symbol globalization by @encounter in #116
    • globalize_symbols: false in config.yml
  • Added: dwarf dump: Support for structure types and enums being nested in structure types by @dbalatoni13 in #119
  • Fixed: rel make: Avoid EMFILE when loading many modules by @encounter in #122

Full Changelog: v1.6.2...v1.7.0

v1.6.2

10 Jun 04:57

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

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

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

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

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

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

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

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