Talk:Libmii/Archive 1

From WiiBrew
Jump to navigation Jump to search

Great idea, maybe a problem in the birthday data, the ones I got are not the ones stored in my wii. - Treps 15:43, 22 March 2009 (UTC)

Yeah right now the only thing you can rely on is the Name and creator. I think the month part of the birthday works usually. --Mjbauer95 17:00, 22 March 2009 (UTC)

Great Work

Great work, I've been looking for something like this for a long time. I wish you would've spread the link around wiibrew a little. I only found this by watching the recent changes page. Never fear, I'm placing this link everywhere I can on WiiBrew.--Arikado 15:51, 22 March 2009 (UTC)

Does the Month-birthday work for you?

It seems work usually but sometimes it seem to encounter problems --Mjbauer95 17:03, 22 March 2009 (UTC)

Fixed in version .3c --Mjbauer95 23:58, 25 March 2009 (UTC)

Error in example 0.1

I tried running the example, but it says: isfs://shared2/menu/FaceLib/RFL_DB.dat does not exist When I run FTPii I could see the file and it's 762KB. In my Mii Channel I have 35 Mii's, so I don't understand? --Crayon 19:02, 22 March 2009 (UTC)

And the file in FTPii is called "RFL_DB.dat"? It's hard for me to help you without having the same problem occur. --Mjbauer95 22:03, 22 March 2009 (UTC)
I have the same issue.. isfs://shared2/menu/FaceLib/RFL_DB.dat does not exist :( --Manny2008 23:34, 22 March 2009 (UTC)
I found the solution just delete the line ISFS_SU(); and it will work. I checked the example and I did not see this line: http://code.google.com/p/ftpii/source/browse/isfs/trunk/isfs_example/isfs_example.c I added some extra validation, so here it is:
void loadMiis_Wii(){
	if (ISFS_Initialize() == 0){
        if(ISFS_Mount()){
            char * data;
            data = read(FACELIB_Wii);
            if (data!=NULL) loadMiis(data);

            ISFS_Unmount();
        }
    }
}
--Crayon 05:14, 23 March 2009 (UTC)
I thought that that was required to have ISFS_SU but now that I'm trying it without ISFS_SU it seems to work, so you can try example 0.3b now and tell me if it works.

Not working in C++

I was having problem compiling the code in C++, so I added those lines in mii.h:

#ifndef MII_H
#define MII_H

#ifdef __cplusplus
   extern "C" {
#endif /* __cplusplus */

/* ..................... */

#ifdef __cplusplus
   }
#endif /* __cplusplus */

#endif

--Crayon 03:52, 23 March 2009 (UTC)

Thanks, for the advice, it is added in 0.3b along with your other fixes. --Mjbauer95 18:10, 23 March 2009 (UTC)

Problem with Mii's name

First of all, you declare it like that:
char name[MII_NAME_LENGTH];
There is two mistake here, the first one is that characters are two bytes (addr: 0x02 through 0x15) so it should be:
char name[MII_NAME_LENGTH * 2];
The second one is there should always a place for the NULL character at the end, so it should be like this:
char name[MII_NAME_LENGTH * 2 + 1];
Now to accept UTF8 chars:

	int c, d;
	char tempChar;
	for (c=0, d=0;d<MII_NAME_LENGTH;c++, d++){
        tempChar = data[start + 0x36 + d * 2 + 1];
        if(tempChar < 0x80)
            mii.name[c] = tempChar;
        else{
            mii.name[c] = (((tempChar) >>  6) & 0x1F) | 0xC0;
            c++;
            mii.name[c] = ((tempChar) & 0x3F) | 0x80;
        }
	}
	mii.name[MII_NAME_LENGTH*2] = '\0';

The code has been tested just a bit with freetype in C++ with some Latin chars. So it needs more test, right now I'm too tired to continue ;)

The same problem applies to the creator name. --Crayon 06:32, 23 March 2009 (UTC)

Yeah thanks for that I really don't understand UTF8 and that character encoding stuff, but I added that so now it should be fixed in Libmii version 0.3b and example version 0.3b --Mjbauer95 18:10, 23 March 2009 (UTC)
You did a small copy/paste error, for mii.creator it should be tempChar = data[start + 0x36 + d * 2 + 1]; --Crayon 05:03, 25 March 2009 (UTC)
Oh thanks for your help.
actually, it should be mii.name[MII_NAME_LENGTH] = '\0';Mdbrim 02:01, 1 March 2010 (UTC)

Uses

I've been trying to think of uses for it. I'd really think this would be best for games like Yahtzwii where you have to enter a name if you get a highscore. It would be cool if it could actually make a picture of the Mii, but this would be really hard because of both the 3d models and that I do not think this library is reliable enough for anything but the name and a few other metadata type things (like birthday, etc.) --Mjbauer95 19:59, 23 March 2009 (UTC)

Now works, perfectly, I'm using it on the Wiilander game, to select the user (Mii) for the Highscore table.. I'll release the new version soon. Manny Thanks!!! --Manny2008 23:02, 23 March 2009 (UTC)
Thanks for the work Mjbauer95. I've added it into my Mahjongg Wii game in a couple of ways one just for the name of the player and two I have used the favourite colour to change the colour of the clothes of on screen marker characters in a mario kart style fastest times screen. --JustWoody 00:42, 25 March 2009 (UTC)

I plan to use it in my preloader boot app Crazy Intro, I can show the upcoming birthday of people registered in the wii if user wants... maybe a surprise birthday opening if wii booted in a birthday... let's see how it will end up...--I R on 13:07, 28 March 2009 (UTC)

Generating Mii Images

Hey, I know it might be a while away, but this might help out if you're considering generating Mii images (instead of 3D models). -- MetaFight 01:13, 25 March 2009 (UTC)

Looks interesting... It is in Flash. I guess what we really need are the images. But they are in FLA format. If anyone has Flash have a look at this for me. --Mjbauer95 22:00, 25 March 2009 (UTC)
or this yossi 20:25, 22 April 2009 (UTC)
Dang, I wanted to release a product like that. I can't see anyone paying more than $5 dollars for it, though. -- MetaFight 19:05, 23 April 2009 (UTC)
I'm working on something. tell me what you think... MiiStudio its an extension for libmii called mii_2d. --Elisherer 16:59, 9 June 2009 (UTC)

Download sizes

Why the download size ridicilously big? Source release is over 100 mb.. I think you should remove the unneeded stuff from the latest version and keep separate archives for the previous versions. --I R on 13:06, 28 March 2009 (UTC)

Right now you can download 0.3d, that is only a few KBs. --Mjbauer95 15:53, 29 March 2009 (UTC)

Question about types in the structure

Hi, is there a reason why every thing in the structure is declare has int. Most of them are 8 or 16 bytes, so why not use u8 and u16. Those types are declared in gctypes.h? -Crayon 14:09, 17 July 2009 (UTC)

I think you mean 8 or 16 bits. -- MetaFight 21:29, 17 July 2009 (UTC)
Oops, that's what I meant! -Crayon 21:34, 17 July 2009 (UTC)
I'm not sure why I did that, I guess I just was unaware of what u16 and u8 meant, I'll try to change that. --Mjbauer95 23:54, 27 July 2009 (UTC)
I'm actually fixing libmii to display all the variables correctly. Should be done in about a week. I've also got the graphic display working as well so i'll be releasing the new libmii stuff with GRRLIB commands to display the miis. I think others have volunteered to do the other graphic libraries once i finish updating libmii. Mdbrim 02:03, 1 March 2010 (UTC)