Closed garoxas closed 5 years ago
I'm too lazy to fix this so I figure I just put what I found here 😁 I could do the dirty implementation (it's simple using the current code, but there are too many unnecessary loops) but I just don't feel to do it now. Maybe later if I could make the finding above simpler to be implemented
Just take your time. :)
This is a simple write-up on how to get the proper game revision info from an XCI (Note that game revision in this case is not the scene revision, but the actual game version) There might be a simpler way, but this is what I have for now
I'm using Super Mario Odyssey (rev001) as example
First extract Secure Partition using hactool
There you'll find 2 .cnmt.nca files, each for the base game and the patch. To figure out which one is which, we need to extract both NCA
If it's not already obvious, the patch is in the Patch_0100000000010800.cnmt, so we proceed with this file (if there are multiple patches, that means we have to look each one of them)
Using Hex Editor, open the cnmt file and look at offset 0x0E. Here we got value 0x18, now add 0x20 + 0x18 + 0x38 = 0x70 and you'll get the offset for the filename of the NCA we need Details on the cnmt format here https://switchbrew.org/index.php?title=NCA
Now open the NCA once again using hactool and you'll get the control.nacp file
And finally, open control.nacp file using Hex Editor and go to offset 0x3060. There you'll find the version information Details on control.nacp http://switchbrew.org/index.php?title=Control.nacp