Commit Graph

935 Commits

Author SHA1 Message Date
Léo Lam 2e5ecb2352 Update tools 2021-08-22 13:27:11 +02:00
Léo Lam ad9b3e8a42 Merge pull request #61 from MonsterDruide1/master
tools: Add `create_build_dir` to custom `setup.py`
2021-08-21 01:01:29 +02:00
MonsterDruide1 0b50a1a5d2 tools: Add create_build_dir to custom setup.py 2021-08-21 00:59:26 +02:00
Léo Lam 75bdfbd44e lib: Update NintendoSDK 2021-08-20 18:34:26 +02:00
Léo Lam 737ea79669 ksys/res: Implement more ResourceMgrTask functions 2021-08-20 17:29:59 +02:00
Léo Lam f3c3332cef Merge pull request #60 from AlexApps99/starterpackmgr
StarterPackMgr
2021-08-20 14:13:15 +02:00
AlexApps99 dfeb87fd3d ksys: Add StarterPackMgr 2021-08-20 23:27:01 +12:00
Léo Lam 34d36b4dfc Update tools/common 2021-08-19 15:50:01 +02:00
Léo Lam c42f6cd657 Fix submodule names 2021-08-17 11:29:43 +02:00
Léo Lam 8812e80809 readme: Update reference to Contributing.md for 1.6.0->1.5.0 patch 2021-08-13 21:49:50 +02:00
Léo Lam 6635c517f5 tools/setup: Allow setup to be called without NSO for re-setting up tools 2021-08-12 15:06:10 +02:00
Léo Lam b5df224222 tools/setup: Remove useless imports 2021-08-12 15:04:19 +02:00
Léo Lam bd8915ab72 tools: Update common 2021-08-12 15:01:04 +02:00
Léo Lam 92fefe3e77 data: Fix function list warnings
Those functions have been decompiled but aren't being emitted atm
(because of missing virtual functions)

Also fixes the aoc2.cpp file name
2021-08-11 02:22:38 +02:00
Léo Lam df99eb76ba readme: Reorder some paragraphs to make the intro flow better 2021-08-11 02:15:33 +02:00
Léo Lam 0352e590cc tools: Update common 2021-08-11 02:10:50 +02:00
Léo Lam 771a58b0ac lib: Update sead 2021-08-11 01:13:42 +02:00
Léo Lam 7efc22873a Merge pull request #59 from MonsterDruide1/external-tools-cleanup
tools: Move to separate repo
2021-08-10 22:17:52 +02:00
MonsterDruide1 aa4231eff2 tools/setup: Auto-install check (viking) 2021-08-10 22:11:04 +02:00
MonsterDruide1 18152c5909 tools: Migrate to external repo 2021-08-10 22:11:03 +02:00
Léo Lam 802be64d8e ksys/act: Start adding Awareness
Incomplete.
2021-08-07 14:44:27 +02:00
Léo Lam 9d4dbaf815 Remove dead symlink to diff.py wrapper 2021-08-07 02:36:16 +02:00
Léo Lam 90caa37360 Merge pull request #57 from MonsterDruide1/PlacementGlobal
ksys: Add SystemTimers
2021-08-06 15:16:55 +02:00
MonsterDruide1 6982047134 ksys: Add SystemTimers 2021-08-06 15:14:57 +02:00
Léo Lam 0f6a9d95b5 Remove old diff.py wrapper (superseded by botw-check) and update docs 2021-08-06 01:25:29 +02:00
Léo Lam e37272f14a tools: Add single function check mode
Similar to diff.py wrapper usage, except this will also automatically
update the function CSV with the actual match status.
2021-08-05 22:30:20 +02:00
Léo Lam 15f062a2fc tools: Refactor "check all functions" into its own function
In preparation for adding a single function checking mode.
2021-08-05 22:30:19 +02:00
Léo Lam d1032acc1c tools: Remove dead code 2021-08-05 22:30:19 +02:00
Léo Lam 8bcf98bcaa data: Remove false positives from function list 2021-08-05 16:42:37 +02:00
Léo Lam 40530f01ad ksys/act: Fix BaseProcJobHandlerT actor pointer type in ctor 2021-08-05 00:58:56 +02:00
Léo Lam af2207632e ksys/act: Implement BaseProcJobHandlerT 2021-08-05 00:44:41 +02:00
Léo Lam 6f7547e0db Merge pull request #55 from MonsterDruide1/MusicInfo
ksys/snd: Add MusicInfo and subclasses
2021-08-04 22:18:30 +02:00
MonsterDruide1 b3d32fb766 ksys/snd: Add MusicInfo and subclasses 2021-08-04 22:12:42 +02:00
Léo Lam 5367d0c85a tools: Print a note when a U function actually exists and matches
Also fixes the function call check not being as strict as it should be
and fixes several false positives in the function list
2021-08-04 17:37:12 +02:00
Léo Lam e3887d6835 tools: Add duplicate name checking 2021-08-04 17:28:50 +02:00
Léo Lam 8f8a48a1dc tools: Do not overwrite function names with j_ names either 2021-08-02 15:53:59 +02:00
Léo Lam e28ba16cc0 tools: Do not overwrite function names with nullsub_ and sub_ 2021-08-02 15:49:33 +02:00
Léo Lam 85000e3c7c Merge pull request #45 from MonsterDruide1/SupportBoneResource
Support bone resource
2021-08-02 01:16:59 +02:00
Léo Lam c64fb93fbd ksys/phys: Fix matching issues in SupportBone 2021-08-02 01:11:24 +02:00
MonsterDruide1 90c34d80fe ksys/phys: Add SupportBoneResource
[committer's note: rebased]
2021-08-02 01:11:23 +02:00
Léo Lam e9dfd1327c Merge pull request #54 from AlexApps99/rust
Added support for WIP function status
2021-08-01 12:10:23 +02:00
AlexApps99 3c0648e51f Added support for WIP function status
This brings functionality up to what diff.py uses
2021-08-01 14:19:29 +12:00
Léo Lam 2f5bb47689 data: Fix uking_functions.csv line endings 2021-07-31 22:18:09 +02:00
Léo Lam f571280fee Merge pull request #52 from AlexApps99/master
Ghidra function import script
2021-07-31 12:57:22 +02:00
Léo Lam f901792ea0 Merge pull request #53 from AlexApps99/fix-warn
Fix warning
2021-07-31 12:52:15 +02:00
AlexApps99 2d4a192394 Fix warning 2021-07-31 22:50:29 +12:00
Léo Lam 80bf9236a3 Remove old tools/check.py
RIP check.py 2020-2021
2021-07-31 12:42:14 +02:00
AlexApps99 ca31637da0 Ghidra function import script
Added .gitignore for Ghidra
2021-07-31 22:41:26 +12:00
Léo Lam 71fc0f35e8 Merge pull request #51 from leoetlino/optimized-checker
tools: Add a new, optimized check tool
2021-07-31 12:23:40 +02:00
Léo Lam 6e30bbea32 tools: Add a new, optimized check tool
Reimplements tools/check.py in a faster language (picked Rust to learn
and play with the language and because installing dependencies is way
easier than with C++)

On my machine, a full run takes ~160ms with this new implementation
and 49s (!) with check.py.

The main performance improvements come from not having to use
pyelftools and the Python bindings of Capstone (which are both insanely
slow and perhaps less efficient than they could be). Function checking
is now also performed in parallel rather than sequentially for yet
another significant performance boost.

Other tweaks include editing Capstone and the bindings to avoid
computing expensive things that we don't actually need and avoiding
dynamic memory allocations in hot paths as much as possible.

check.py will be removed after the setup instructions are updated.
2021-07-30 23:52:55 +02:00