Releases: encounter/decomp-toolkit
v0.7.2
- Added: Add
noexport
attr to symbols.txt - Changed: Rename
auto_force_active
toexport_all
.
This is a better solution for -code_merging
, as individual functions can be marked noexport
, rather than disabling export_all
globally.
Full Changelog: v0.7.1...v0.7.2
v0.7.1
- Added: Add support for MwOverlayBranch by @DaZombieKiller in #24
- Added: Support anonymous type names as seen in PS2 DWARF by @DaZombieKiller in #25
- Added: Infer anonymous unions from type layout by @DaZombieKiller in #26
- Added:
auto_force_active
option (disable to support linker-code_merging
, #13)
Full Changelog: v0.7.0...v0.7.1
v0.7.0
- Added: Support some more MetroWerkz DWARF extensions by @DaZombieKiller in #22
- Added: Analyzer improvements for ProDG games (WIP, #19)
- Added: dwarf dump: Emit address range for compile units and functions (458d059)
- Fixed: Disassembling
addi
with relocation assubi
(3bcfaef) - Fixed: Allow linker-generated symbol references from data sections (#15)
- Fixed: Allow matching multiple symbols during signature analysis (#20)
- Fixed: Avoid duplicate unit names when auto-splitting (#20)
- Fixed: Analyzer fix for fallthrough switch cases (#23)
Full Changelog: v0.6.5...v0.7.0
v0.6.5
- Added: Support for Little Endian DWARF, Inline Arrays & Additional MetroWerks Extensions by @Sewer56 in #14
- Fixed: Sanitize auto-split filenames (#16)
- Fixed: Permit object filenames with dots (#17)
- Fixed: Warn on unknown
.comment
section values instead of bailing (#18)
Full Changelog: v0.6.4...v0.6.5
v0.6.4
- Added: Overhauled common BSS support
- With a map, attempts to detect and handle common BSS automatically
- With a map, attempts to detect and correct inflated common BSS bug (< GC 2.7 linker)
- Support for "stripped" symbols, sometimes required to match inflated common BSS sizes
- Added: Warn on duplicated TUs in a map (other than common BSS)
- Added: Automatically adds
comment:0
to.s
units from a map (avoids linker crash) - Added: dwarf dump: Better support for GCC/ProDG & various fixes
- Displays subroutine "static" and "inline" if present
- Displays subroutine labels, blocks and inlines if present
- Displays struct member visibility if present
- Skips tags that can't be processed rather than bailing
Full Changelog: v0.6.3...v0.6.4
v0.6.3
- Fixed: Honor symbol alignment when extracting a symbol to a C header
Full Changelog: v0.6.2...v0.6.3
v0.6.2
- Added: Extract embedded assets to binary and C header (#11)
Adds an "extract" list to project configuration:
extract:
- symbol: SomeData
binary: Lib/SomeData.bin
header: Lib/SomeData.inc
This example extracts the data of symbol SomeData
to out_dir/bin/Lib/SomeData.bin
,
and a C array representation to out_dir/include/Lib/SomeData.inc
.
Full Changelog: v0.6.1...v0.6.2
v0.6.1
- Fixed:
dwarf dump
skipping some data when preceded by padding tags (#9) - Fixed:
dwarf dump
reversingclass
andstruct
in definitions (#10)
Full Changelog: v0.6.0...v0.6.1
v0.6.0
- More REL improvements
- Support overriding REL linkage (see below)
- Fix writing RELs with no relocations
- Add
-q
/--quiet
switch torel make
- Major
dwarf dump
rework- Supports games with C++ DWARF info
- Syntax highlighting when printing to console (disable with
--no-color
) - Overall improvements to parsing and output
- Skip writing objects and ldscripts if unchanged
- Avoids some unnecessary rebuilds
Module links
By default, every REL is linked with every other REL. Some games, like Mario Party, link RELs individually, so the module IDs are not unique. To support this, the links
field can be used to override which other modules are included in a module's analysis.
Example:
- object: orig/GMPE01_00/files/dll/E3setupDLL.rel # (module ID 2)
links: [_minigameDll] # only links against DOL (module ID 0), _minigameDll (module ID 1)
Full Changelog: v0.5.8...v0.6.0
v0.5.8
- Fix REL v2 creation.
- Avoid overwriting
symbols.txt
orsplits.txt
if the file was modified since it was read or if the file's contents didn't change. - Fix up & re-enable the
map
commands. - Add
-r
/--relocations
switch torel info
that prints (very) verbose relocation information.
Full Changelog: v0.5.7...v0.5.8