You are not logged in.

#1 2010-09-15 03:56:49

Crayon
Bad Mother Fucker

Fan Art

I did not know where to put this, so it's here wink

Some official images from NoNameNo to include in your homebrew:
http://wiibrew.org/w/images/c/c8/GRRLIB_GX_Logo.png
http://grrlib.santo.fr/logoalpha.png Logo with alpha
http://wiibrew.org/w/images/archive/c/c8/20091210213733!GRRLIB_GX_Logo.png Old logo

Don't hesitate to post images you created related to GRRLIB.

Offline

 

#2 2010-09-16 13:38:53

NoNameNo
Administrator

Re: Fan Art

http://grrlib.santo.fr/release/logo/GRRLIB.jpg
http://grrlib.santo.fr/release/logo/GRR2.jpg
http://grrlib.santo.fr/release/logo/GRR3.jpg

Those three are my little sista contribution wink

Offline

 

#3 2010-10-18 00:10:52

Crayon
Bad Mother Fucker

Re: Fan Art

Here is an image for an animation. It was created from a swf file from a Text Logo Maker:
http://oi52.tinypic.com/2e67br4.jpg
Here is some code to make it alive:

Code:

#include <grrlib.h>
#include <wiiuse/wpad.h>
#include "grrlib_anim.h"

// Images
#include "grrlib_anim_img.h"

//  Customizable settings
#define LOGOZOOM    1.5f        // Size of the logo
#define BKCOLOR     0xFFFFFFFF  // RGBA, but Alpha is not used

// Do not touch those settings
#define TILEWIDTH   228
#define TILEHEIGHT  72
#define STATE_INTRO 0
#define STATE_ANIM  1

void PlayGRRLIBIntro(void)
{
    GRRLIB_texImg *PreviousTex = GRRLIB_CreateEmptyTexture (rmode->fbWidth, rmode->efbHeight);
    GRRLIB_texImg *CopiedTex = GRRLIB_CreateEmptyTexture (rmode->fbWidth, rmode->efbHeight);
    GRRLIB_texImg *LogoTex = GRRLIB_LoadTexture(grrlib_anim_img);
    GRRLIB_InitTileSet(LogoTex, TILEWIDTH, TILEHEIGHT, 0);

    const f32 X = (rmode->fbWidth / 2.0) - (TILEWIDTH / 2.0 * LOGOZOOM);
    const f32 Y = (rmode->efbHeight / 2.0) - (TILEHEIGHT / 2.0 * LOGOZOOM);
    u8 AnimPosition = 0;
    u8 AnimSpeed = 0; // Number of time to show one tile
    bool AnimDone = false;
    u8 ShowLastFrameTime = 0;
    s16 Alpha = 0;
    u8 State = STATE_INTRO;

    GRRLIB_Screen2Texture(0, 0, PreviousTex, false);
    GRRLIB_FillScreen(BKCOLOR);
    GRRLIB_DrawTile(X, Y, LogoTex, 0, LOGOZOOM, LOGOZOOM, BKCOLOR, 0);
    GRRLIB_Screen2Texture(0, 0, CopiedTex, false);

    while(1)
    {
        WPAD_ScanPads();
        if (WPAD_ButtonsDown(0) & WPAD_BUTTON_PLUS)
        {
            break;
        }

        if(State == STATE_INTRO)
        {
            if(Alpha <= 0xFF)
            {
                GRRLIB_DrawImg(0, 0, PreviousTex, 0, 1, 1, 0xFFFFFFFF);
                GRRLIB_DrawImg(0, 0, CopiedTex, 0, 1, 1, RGBA(0xFF, 0xFF, 0xFF, Alpha));
                Alpha += 2;
            }
            else
            {
                State = STATE_ANIM;
                continue;
            }
        }
        else
        {
            AnimSpeed++;
            if(AnimSpeed >= 4)
            {
                AnimSpeed = 0;
                if(AnimPosition >= 21)
                {
                    AnimPosition = 0;
                    AnimDone = true;
                }
                else if(!AnimDone)
                {
                    AnimPosition++;
                }
                else
                {
                    if(ShowLastFrameTime > 50)
                    {
                        break;
                    }
                    ShowLastFrameTime++;
                }
            }
            GRRLIB_FillScreen(BKCOLOR);
            GRRLIB_DrawTile(X, Y, LogoTex, 0, LOGOZOOM, LOGOZOOM, BKCOLOR, AnimPosition);
        }
        GRRLIB_Render();  // Render the frame buffer to the TV
    }

    GRRLIB_FreeTexture(LogoTex);
    GRRLIB_FreeTexture(CopiedTex);
    GRRLIB_FreeTexture(PreviousTex);
}

Simply call PlayGRRLIBIntro() in your code wink

Offline

 

Board footer

Powered by FluxBB