234 Commits

Author SHA1 Message Date
Luke Street 73cdd6c243 clippy fixes 2025-11-18 22:39:37 -07:00
Luke Street 8e417a4ad6 rel make: Avoid EMFILE when loading many modules (#122) 2025-11-12 19:26:20 +00:00
Dávid Balatoni 2a3eaf9d4f Add support for structure types and enums being nested in structure types (#119)
* Add support for structure types and enums being nested in structure types

* Fix formatting
2025-10-27 01:30:12 -06:00
Luke Street 89864dc76e refactor: rename relocations field and flatten relocs (#115) 2025-09-13 08:17:36 +00:00
Luke Street 9c5210184d Remove globalize_symbols test (#116) 2025-09-13 08:14:37 +00:00
Luke Street 31c42d58db Fix clippy lints and address cargo deny advisories (#117) 2025-09-13 02:04:42 -06:00
Vi d3596dbaa4 account for enum size in dwarf dump (#110) 2025-08-30 11:03:48 -06:00
Luke Street b56b399201 Support loading Wii Menu (BootStage) DOL files
Also adds support to elf2dol to extract the inner DOL
from a BootStage DOL.
2025-06-23 18:21:42 -06:00
Luke Street ae00c35ec3 Better jump table error context 2025-06-09 22:45:48 -06:00
Luke Street ba2589646e Relax prolog/epilog sequence checks
Some games (e.g. Excite Truck) have very aggressive float
scheduling that can create large gaps between prolog
instructions. This allows arbitrary instructions in the
sequence checks, provided they're not a branch and don't
touch r0/r1.

Resolves #105
2025-06-09 22:45:48 -06:00
cadmic 7bc0bc474d Continue analyzing functions after unknown jumps (#106)
* Continue analyzing functions after unknown jumps
2025-06-09 22:45:21 -06:00
cadmic d969819b78 Guess endianness of "erased" DWARF info (#104) 2025-06-09 22:44:39 -06:00
Robin Avery d92a892c2b Relax string size requirement for auto symbols (#102) 2025-06-04 20:01:39 -07:00
cadmic 5e33fea49f Allow specifying replacement bytes in dtk extab clean (#103)
* Allow specifying replacement bytes in dtk extab clean

* Simplify extab padding replacement

* Reword log message

* clippy has bad taste

* Don't specify revision number for cwextab

---------

Co-authored-by: Amber Brault <celestialamber1@gmail.com>
2025-06-04 20:01:05 -07:00
Luke Street 9cafb77d3f Add dtk extab clean & config.yml clean_extab
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.
2025-06-01 20:23:07 -06:00
Dávid Balatoni 20e877c9ec Some ProDG improvements (#101) 2025-06-01 16:43:13 -06:00
Luke Street 88d0e6b789 cargo clippy --fix 2025-06-01 16:42:00 -06:00
Luke Street f212b35d28 Fix BSS symbol data check in add_padding_symbols 2025-06-01 16:40:40 -06:00
Luke Street 9c681557f5 Write ldscript_template path to ouput depfile 2025-05-30 19:18:46 -06:00
Luke Street 5505120148 Fix padding symbols on REL section boundaries
Regression introduced in 6819a8b
2025-05-11 22:15:02 -06:00
robojumper 97302e5127 dtk dol apply: skip updating anonymous symbols by default (#97)
* Add --relaxed flag to dtk dol apply to skip updating anonymous symbols

* Invert --relaxed switch -> --full
2025-05-07 21:02:15 -06:00
Rainchus 18987ed330 add shiftjis as possible data type for symbols (#95)
* add shiftjis as possible data type for symbols

* usage of anyhow:bail! -> bail!

* revise output of sjis strings

* rename shiftjis internally, symbols now uses sjis instead of shiftjis

* remove sjis decoding error check as the output is a comment

* run cargo fmt
2025-04-16 23:59:21 -06:00
dbalatoni13 614d4f2efc Add new options to rel make (#94) 2025-03-31 17:15:16 -06:00
Luke Street ddd9dbb0ba clippy fixes 2025-03-21 16:14:44 -06:00
Luke Street a064ddfd68 Quick & dirty ALF support in elf2dol 2025-03-21 16:13:04 -06:00