Genwald / MiiPort

A Nintendo Switch homebrew for importing and exporting Miis.
ISC License
27 stars 1 forks source link

Adding mii_ext to libnx #9

Open ITotalJustice opened 9 months ago

ITotalJustice commented 9 months ago

Hi, firstly thank you for your homebrew. I had the same idea to allow for importing / exporting to and from 3ds. But then i found this which is more feature complete than what i had in mind đŸ˜„

I was wondering if it would be okay if add the functions / structs in mii_ext.h to libnx, crediting you as the author? I've added a few more missing functions as well.

Result miiDatabaseGet(MiiDatabase *db, MiiSourceFlag flag, MiiCharInfoElement *out_element, s32 count, s32 *total_out);
Result miiDatabaseUpdateLatest(MiiDatabase *db, MiiSourceFlag flag, const MiiCharInfo *info_in, MiiCharInfo *info_out);
Result miiDatabaseBuildDefault(MiiDatabase *db, MiiSourceFlag flag, MiiCharInfo *out_info);
Result miiDatabaseGet2(MiiDatabase *db, MiiSourceFlag flag, MiiStoreDataElement *out_element, s32 count, s32 *total_out); /// MiiServiceType_System
Result miiDatabaseGet3(MiiDatabase *db, MiiSourceFlag flag, MiiStoreData *out_stores, s32 count, s32 *total_out); /// MiiServiceType_System
Result miiDatabaseUpdateLatest1(MiiDatabase *db, MiiSourceFlag flag, const MiiStoreData *store_in, MiiStoreData *store_out); /// doesn't work for some reason???
Result miiDatabaseDelete(MiiDatabase *db, const MiiCreateId *id);
Result miiDatabaseDestroyFile(MiiDatabase *db); /// doesn't work, 203
Result miiDatabaseDeleteFile(MiiDatabase *db); /// doesn't work, 203
Result miiDatabaseFormat(MiiDatabase *db); /// doesn't work, 203
Result miiDatabaseIsBrokenDatabaseWithClearFlag(MiiDatabase *db, bool *out); /// MiiServiceType_System
Result miiDatabaseSetInterfaceVersion(MiiDatabase *db, u32 version); /// Idk what this is for, seems to accept any value
Result miiDatabaseConvert(MiiDatabase *db, const MiiVer3StoreData *in, MiiCharInfo *out); /// 5.0.0+
Result miiDatabaseConvertCoreDatatoCharInfo(MiiDatabase *db, const MiiCoreData *in, MiiCharInfo *out); /// 5.0.0+
Result miiDatabaseCharInfoToCoreData(MiiDatabase *db, const MiiCharInfo *in, MiiCoreData *out); /// 5.0.0+
Result miiDatabaseAppend(MiiDatabase *db, const MiiCharInfo *in); /// 5.0.0+
Genwald commented 9 months ago

Go ahead, that'd be great!