Skip to content
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

allow importing Mii Studio codes for user Mii [Feature Request] #221

Open
HEYimHeroic opened this issue Jul 28, 2023 · 3 comments
Open

allow importing Mii Studio codes for user Mii [Feature Request] #221

HEYimHeroic opened this issue Jul 28, 2023 · 3 comments

Comments

@HEYimHeroic
Copy link

pretty self-explanatory - an option to import (or maybe even export, for those wanting to save their user Mii build through Pretendo's website) Mii Studio codes as user Miis. the official Mii Studio uses Mii Studio codes to locally store Mii data whenever you are editing the Mii, so it can pull it again later if the page refreshes or is lost. this is how it does the "continue editing your Mii?" and my Mii Studio Mii Loader reads and writes from this to save and load Mii Studio codes, and i think it would be incredibly useful to have for Pretendo as well. it's a very convenient way of sharing Miis!

note that since it's Mii Studio Mii data, Mii Studio codes do not contain the Mii name, which should be perfectly fine but i wanted to mention it anyways

an example of a Mii Studio code:
06002f030a030426020c030805040002090009040003010803020a0601665f04000214031303160d04000a040109
that results in this Mii:
image

the Mii Library also has Mii Studio codes at the bottom of every Mii's page if you need more examples.

@jonbarrow
Copy link
Member

Hi there! As mentioned on Discord I'd be more than happy to look into this, and in fact I have already started!

I had a concern about your Mii Studio Mii Loader tool however. I was wondering, is there any way for it to be also offered as a browser extension of some kind?

While looking into this I have tragically found out that Microsoft Edge is lacking in the bookmarklet department, and I'm sure I won't be the only one with this issue if Pretendo adds in support for this. I can also see some of our users being wary of using a, to them, random piece of JavaScript to access parts of their My Nintendo account (I know a browser extension has the same kind of concerns, but placebo is strong)

Pretendo also has a very large community of younger user, who may not understand how exactly this all works and would find it easier/more comofortable installing an extension

I hate asking this of you, since it's your project and not mine, but integrating with your tool is likely the only way to get a feature like this off the ground (I guess unless we made our own extension, but I'd rather support you and your tool if at all possible)

@jonbarrow
Copy link
Member

I believe I have the basics done on my end. Our Mii decoding library can now encode WiiU/3DS Mii data into these codes, as well as decode them back into the WiiU/3DS format. These codes are actually the exact same as the the Mii Studio data used in the rendering URL, just without the randomization byte and special encoding. The structure and values are the exact same though

Here is a small demo showing me converting one of our testers, Imora's, Mii into this code format and back again, as well as changing my local storage to load his Mii

mii-studio-share-code-converter

@HEYimHeroic
Copy link
Author

HEYimHeroic commented Jul 29, 2023

While looking into this I have tragically found out that Microsoft Edge is lacking in the bookmarklet department

really? that's very strange, as i am using Microsoft Edge right now and can use the bookmarklet with no issue. i'm not sure what could be the cause of the problem on your end, but for me, it works perfectly fine on Edge

I was wondering, is there any way for it to be also offered as a browser extension of some kind?

i'm certainly not opposed to the idea! ...i do however lack the skills to make that happen. it was kind of a surprise i got the bookmarklet working at all, actually, as JavaScript is not really my forte 😅 as mentioned in the readme, someone else came in and cleaned up the code to run more efficiently, display error messages, etc. - things i probably could not do, much less make all of that into an actual browser extension. sorry! ^^'

I can also see some of our users being wary of using a, to them, random piece of JavaScript to access parts of their My Nintendo account (I know a browser extension has the same kind of concerns, but placebo is strong)
Pretendo also has a very large community of younger user, who may not understand how exactly this all works and would find it easier/more comofortable installing an extension
I hate asking this of you, since it's your project and not mine, but integrating with your tool is likely the only way to get a feature like this off the ground (I guess unless we made our own extension, but I'd rather support you and your tool if at all possible)

i fully agree, yes. i was planning on making a video tutorial as well but an extension would be very handy. but again... it's a little out of my scope and skillset :( i do very much appreciate it though! sorry again that i can't be of much help past what i already have, but if there is anything i could help on i absolutely would love to try.

These codes are actually the exact same as the the Mii Studio data used in the rendering URL, just without the randomization byte and special encoding.

yep! i thought of mentioning this but i figured it'd be obvious to you once you took a look at it (and i didn't know the correct way to phrase it so i also didn't say anything to not embarass myself) but this is basically the string that gets converted to the string in the rendering link. i think we learned this back when initially working on mii2studio, and that was when we realized how versitile Mii Studio codes were for sharing and the like. especially handy since all current Mii formats can be converted to Mii Studio codes without compromise - aside from the compromises the Mii Studio format already takes (like losing names, a lot of internal data, etc.) - as you've shown by converting the ver3 format to Mii Studio codes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

2 participants