You are not logged in.
I did not know where to put this, so it's here ![]()
Some official images from NoNameNo to include in your homebrew:
Logo with alpha
Old logo
Don't hesitate to post images you created related to GRRLIB.
Offline
Here is an image for an animation. It was created from a swf file from a Text Logo Maker:
Here is some code to make it alive:
#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 ![]()
Offline