-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PAK support for Corruption #129
PAK support for Corruption #129
Conversation
Mostly a repeat from pak_gc.py, still with a few changes to reflect the Corruption differences with Echoes or Prime. Not yet tested, has plenty of comments regarding some questions I have on specific parts of the code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some style guidelines regarding comments.
Note, that in most cases, we will not block a PR due to comment style.
pre-commit is broken here rn, these are addressed automatically |
Wrote requested changes and fixed comment format. Should also have fixed the broken import that failed the tests. Commented out the compression size check as recommended.
contents are properly built, missing md5_hash
relative to start of DATA when building
for more information, see https://pre-commit.ci
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #129 +/- ##
==========================================
+ Coverage 68.08% 68.57% +0.49%
==========================================
Files 81 82 +1
Lines 5091 5194 +103
==========================================
+ Hits 3466 3562 +96
- Misses 1625 1632 +7 ☔ View full report in Codecov by Sentry. |
yell at me this time
for more information, see https://pre-commit.ci
Apparently I still need to change something, but I can't seem to find what it is. I believe I've resolved every discussion in the initial review, did I miss something ? |
If you're talking about the big red "Changes requested", that just means that no one has rereviewed it yet. |
Bumping this and also taking the chance to ask another question : |
Did you play around with decoding all PAKs? A bit tricky with being able to determine the contents are correct, but you can try comparing what you get with PakTool or PWE. If you recreate a PAK, can you parse what you just created? What if you feed what you created to PakTool, does it still work? What about booting the game in Dolphin? You can boot extracted games in Dolphin, so you don't even need to create an ISO (though you can just use |
So I tested all of the pak files from the game, and all pass the tests but one : Worlds.pak fails test_identical_when_keep_data (but still passes test_compare_header_keep_data). |
Ah yes, game data that feels like bugs. Would be great to know how the game itself handles this case: does it search for all ids with a name, only the first one or only the last one? My guess is one of the later two. Using the asset id as a key is a bit weird, I'd imagine you're interested in finding the value for a given name. Though checking uses, we never actually use these named resources right now (more because we don't touch these). My suggestion is to change these named resources to just be a list. |
resources sharing the same name
"tests" to perform the recommended verifications
…i/retro-data-structures into mp3-pak-read-support
So I did all of the recommended verifications, and everything seemed in order :
|
What it says on the tin :)
Mostly a repeat from pak_gc.py, still with a few changes to reflect the Corruption differences with Echoes or Prime. Not yet tested, has plenty of comments regarding some questions I have on specific parts of the code.
Also regarding tests, I'm not entirely sure which tests I should run and how I should setup the testing environment
It's unfinished for now, so I'm just creating this pull request to submit my code for review and hopefully refine it a little better