Closed drizzt closed 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.
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
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"
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.
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
legacydefault directory naming