dimok789 / loadiine_gx2

A WiiU SD Loader with GX2 GUI
GNU General Public License v3.0
288 stars 78 forks source link

Get ID6 from meta/meta.xml as fallback #102

Closed drizzt closed 8 years ago

drizzt commented 8 years ago

Since I hate to have the Title ID in directory name and since you have the needed informations in meta/meta.xml (if it's a proper dump made with ddd, extracted from WUD or downloaded and decrypted from NUS) I implemented the read of meta/meta.xml as fallback in order to extract the ID6 and the name.

Obviously I'm not changing the default behaviour, this works only if you don't have the legacy default directory naming

Leseratte10 commented 8 years ago

Sounds like a good idea, but one thing to improve: Why is Loadiine using an "ID6" when the ID in the xml file is obviously an ID8, i. e. it has 4 chars for the game and 4 for the creator (not 2, like the Wii)?

I'd say, read the full four chars for the creator ID, but trim off the first two if they are 00. If not, this will cause problems when Nintendo starts using creator IDs > 0xFF.

drizzt commented 8 years ago

ID6 is used for gametdb in order to download the cover, and gametdb uses ID6. For example Xenoblade Chronicles X is AX5D01, infact the gametdb page is http://www.gametdb.com/WiiU/AX5D01

Leseratte10 commented 8 years ago

Yes, but the creator code in the meta.xml is actually 2 byte. Thats why I said "trim off the first two if they are 00" - that way, a creator code "0001", like for Xenoblade, is still becoming "AX5D01", but if there happens to be new games in the future with a longer creator code, like "1234", the ID would become "AX5D1234"

dimok789 commented 8 years ago

The code looks good and clean. Thanks!

I would have added a check for if(xmlData != NULL) before the free(xmlData); even if it is not necessarily needed in our free() implementation because it is cleaner to check for a valid pointer but the rest is great.