[Feature] Image to Canvas Import/Export#4
Conversation
This was a lot more work than initially thought. I added the ctype .dll in ./lib for windows users linux users should'n have to download anything for it to work as the .so is included in most systems. This added a export png and import png mode to the apps Modes. I also added a customizable tooltip icon to the modes. As of right now I made it so only when going into 'Import Facepaint' Mode the tooltip gets set. Other modes don't have a tooltip but they can be added pretty easily I put in some failsaves and added the backup-feature to the import mode, I haven't tested importing a facepaint onto a Mii that already exists tho. Important to NOTE: I wasn't sure what the negative canvas is actually used for so I created both files even tho the canvas file is the 'real' image file so I added both I forgot to add the Dummy Mii so at least for using temp Miis to apply the Facepaint correctly you need to go into the Makeup menu that will refresh the miis facepaint data and apply the imported image. I'm sure I changed other stuff but I was stuck at it not working because I forgt to type python when trying to execute the scripts and was stuck figuring out what was wrong with the code for 2 hours until I noticed.
|
One more addition this Mode can Probably be used for Houses and stuff as well but rn it is hardcoded for Miis but the system would be the same just different memory access logic |
|
Why import a dll? Can use either the https://pypi.org/project/zstd/ or the built-in (added in 3.14) |
|
You are free to change it honestly. But there's multiple reasons actually. |
I thought the feature was a good idea and couldn't think of a reason why it shouldn't work.
Only Problem is a Mii without Facepaint will have a buggy facepaint until you enter makeup editor for in preperation Miis.
NOTE: I have not tested Existing Miis with or without Facepaint. In preperation Miis work when there's already a saved Mii and if there isn't.
This one was way messier then the Last Feature because I thought my code had a bug I couldn't find for 2 hours when in reality I just forgot to call python when trying to execute the script ...