Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/c08oprkiua/godot-4-mii-classes
A collection of classes for Godot 4 that makes working with Mii data easier
https://github.com/c08oprkiua/godot-4-mii-classes
cpp gdscript godot godot-module godot4 mii nintendo
Last synced: about 1 month ago
JSON representation
A collection of classes for Godot 4 that makes working with Mii data easier
- Host: GitHub
- URL: https://github.com/c08oprkiua/godot-4-mii-classes
- Owner: c08oprkiua
- Created: 2023-11-08T15:49:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-01T06:31:44.000Z (6 months ago)
- Last Synced: 2024-07-05T17:32:39.331Z (6 months ago)
- Topics: cpp, gdscript, godot, godot-module, godot4, mii, nintendo
- Language: C++
- Homepage:
- Size: 43 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Godot-Mii-Module
This is a work in progress C++ Godot Module that aims to make working with Miis much easier, including:
* An easy to use `Resource`, 'MiiDataResource', for importing, creating, editing, and exporting Nintendo-valid Mii data# MiiDataResource
The main part of this module, this `Resource` derivative allows for easy modification of values within a Mii. It features automatic behind-the-scenes checking for valid values, so you don't have to worry about accidentally setting out-of-range values. It also uses a memory model based on the Mii data format itself, making it quite memory friendly.
## Functions
### `LoadFromBuffer(buffer:PackedByteArray) -> void`
(Incomplete, non-working) This loads a PackedByteArray, `buffer`, of Mii data into the `MiiDataResource`. It can automatically detect file versions in order to properly load the data into the resource regardless on its version.
### `WriteToBuffer(output_device:Devices) -> PackedByteArray`
(Not implemented yet) Writes all the variables of the `MiiDataResource` instance to a valid mii data buffer, and returns it as a `PackedByteArray`. `output_device` is used to specify what kind of device the output Mii data will be for. If not set, it will default to whatever the origin device of the `MiiDataResource` is.
## To-do
- [ ] Importing:
- [ ] Wii
- [ ] DS
- [ ] 3DS
- [ ] Wii U / Switch
- [ ] Exporting:
- [ ] Wii
- [ ] DS
- [ ] 3DS
- [ ] Wii U / Switch
- [ ] "Generate Random Mii" type function
- [ ] Improve in-engine docs# MiiModel
A planned class derived from `Mesh`, which will use a `MiiDataResource` as a parameter set in order to provide a `Mesh` for rendering a Mii in 3D space.
## To-do
- [ ] Create
# MiiPortraitA planned class derived from `Image` that will, like `MiiModel`, take a `MiiDataResource`, and render it in *2D* space as an image.
## To-do
- [ ] Create# Thanks to:
* @aboood40091 for decompiling the FFL library (used for Miis on Wii U)
* [This github repo](https://github.com/HEYimHeroic/MiiDataFiles)/[This website](https://sites.google.com/view/miilibrary/contactfaqother/FAQ)
* The [3DS](https://www.3dbrew.org/wiki/Mii) and [Wii](https://wiibrew.org/wiki/Mii_data) wikis on the Mii data format
* AJ's Mii Editor