diff --git a/examples/3D_sample2/source/main.c b/examples/3D_sample2/source/main.c index 81fc917..13c0292 100644 --- a/examples/3D_sample2/source/main.c +++ b/examples/3D_sample2/source/main.c @@ -1,6 +1,6 @@ /*=========================================== - NoNameNo - Simple Textured 3D cube + NoNameNo + Simple Textured 3D cube ============================================*/ #include diff --git a/examples/3D_sample3/source/main.c b/examples/3D_sample3/source/main.c index d33aacd..734e32f 100644 --- a/examples/3D_sample3/source/main.c +++ b/examples/3D_sample3/source/main.c @@ -44,107 +44,107 @@ float sinx=0,oldsinx=0; GRRLIB_camera3dSettings(0.0f,0.0f,13.0f, 0,1,0, 0,0,0); while(1) { - GRRLIB_2dMode(); + GRRLIB_2dMode(); WPAD_ScanPads(); if(WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME) exit(0); if(WPAD_ButtonsHeld(0) & WPAD_BUTTON_A) cubeZ++; if(WPAD_ButtonsHeld(0) & WPAD_BUTTON_B) cubeZ--; - GRRLIB_3dMode(0.1,1000,45,1); - GRRLIB_setTexture(tex_girl,0); - GRRLIB_objectView(0,0,cubeZ, a,a*2,a*3); - GX_Begin(GX_QUADS, GX_VTXFMT0, 24); - GX_Position3f32(-1.0f,1.0f,1.0f); - GX_Color1u32(col[0]); - GX_TexCoord2f32(0.0f,0.0f); - GX_Position3f32(1.0f,1.0f,1.0f); - GX_Color1u32(col[0]); - GX_TexCoord2f32(1.0f,0.0f); - GX_Position3f32(1.0f,-1.0f,1.0f); - GX_Color1u32(col[0]); - GX_TexCoord2f32(1.0f,1.0f); - GX_Position3f32(-1.0f,-1.0f,1.0f); - GX_Color1u32(col[0]); - GX_TexCoord2f32(0.0f,1.0f); + GRRLIB_3dMode(0.1,1000,45,1); + GRRLIB_setTexture(tex_girl,0); + GRRLIB_objectView(0,0,cubeZ, a,a*2,a*3); + GX_Begin(GX_QUADS, GX_VTXFMT0, 24); + GX_Position3f32(-1.0f,1.0f,1.0f); + GX_Color1u32(col[0]); + GX_TexCoord2f32(0.0f,0.0f); + GX_Position3f32(1.0f,1.0f,1.0f); + GX_Color1u32(col[0]); + GX_TexCoord2f32(1.0f,0.0f); + GX_Position3f32(1.0f,-1.0f,1.0f); + GX_Color1u32(col[0]); + GX_TexCoord2f32(1.0f,1.0f); + GX_Position3f32(-1.0f,-1.0f,1.0f); + GX_Color1u32(col[0]); + GX_TexCoord2f32(0.0f,1.0f); - GX_Position3f32(1.0f,1.0f,-1.0f); - GX_Color1u32(col[0]); - GX_TexCoord2f32(0.0f,0.0f); - GX_Position3f32(-1.0f,1.0f,-1.0f); - GX_Color1u32(col[0]); - GX_TexCoord2f32(1.0f,0.0f); - GX_Position3f32(-1.0f,-1.0f,-1.0f); - GX_Color1u32(col[0]); - GX_TexCoord2f32(1.0f,1.0f); - GX_Position3f32(1.0f,-1.0f,-1.0f); - GX_Color1u32(col[0]); - GX_TexCoord2f32(0.0f,1.0f); + GX_Position3f32(1.0f,1.0f,-1.0f); + GX_Color1u32(col[0]); + GX_TexCoord2f32(0.0f,0.0f); + GX_Position3f32(-1.0f,1.0f,-1.0f); + GX_Color1u32(col[0]); + GX_TexCoord2f32(1.0f,0.0f); + GX_Position3f32(-1.0f,-1.0f,-1.0f); + GX_Color1u32(col[0]); + GX_TexCoord2f32(1.0f,1.0f); + GX_Position3f32(1.0f,-1.0f,-1.0f); + GX_Color1u32(col[0]); + GX_TexCoord2f32(0.0f,1.0f); - GX_Position3f32(1.0f,1.0f,1.0f); - GX_Color1u32(col[1]); - GX_TexCoord2f32(0.0f,0.0f); - GX_Position3f32(1.0f,1.0f,-1.0f); - GX_Color1u32(col[1]); - GX_TexCoord2f32(1.0f,0.0f); - GX_Position3f32(1.0f,-1.0f,-1.0f); - GX_Color1u32(col[1]); - GX_TexCoord2f32(1.0f,1.0f); - GX_Position3f32(1.0f,-1.0f,1.0f); - GX_Color1u32(col[1]); - GX_TexCoord2f32(0.0f,1.0f); + GX_Position3f32(1.0f,1.0f,1.0f); + GX_Color1u32(col[1]); + GX_TexCoord2f32(0.0f,0.0f); + GX_Position3f32(1.0f,1.0f,-1.0f); + GX_Color1u32(col[1]); + GX_TexCoord2f32(1.0f,0.0f); + GX_Position3f32(1.0f,-1.0f,-1.0f); + GX_Color1u32(col[1]); + GX_TexCoord2f32(1.0f,1.0f); + GX_Position3f32(1.0f,-1.0f,1.0f); + GX_Color1u32(col[1]); + GX_TexCoord2f32(0.0f,1.0f); - GX_Position3f32(-1.0f,1.0f,-1.0f); - GX_Color1u32(col[1]); - GX_TexCoord2f32(0.0f,0.0f); - GX_Position3f32(-1.0f,1.0f,1.0f); - GX_Color1u32(col[1]); - GX_TexCoord2f32(1.0f,0.0f); - GX_Position3f32(-1.0f,-1.0f,1.0f); - GX_Color1u32(col[1]); - GX_TexCoord2f32(1.0f,1.0f); - GX_Position3f32(-1.0f,-1.0f,-1.0f); - GX_Color1u32(col[1]); - GX_TexCoord2f32(0.0f,1.0f); + GX_Position3f32(-1.0f,1.0f,-1.0f); + GX_Color1u32(col[1]); + GX_TexCoord2f32(0.0f,0.0f); + GX_Position3f32(-1.0f,1.0f,1.0f); + GX_Color1u32(col[1]); + GX_TexCoord2f32(1.0f,0.0f); + GX_Position3f32(-1.0f,-1.0f,1.0f); + GX_Color1u32(col[1]); + GX_TexCoord2f32(1.0f,1.0f); + GX_Position3f32(-1.0f,-1.0f,-1.0f); + GX_Color1u32(col[1]); + GX_TexCoord2f32(0.0f,1.0f); - GX_Position3f32(-1.0f,1.0f,-1.0f); - GX_Color1u32(col[2]); - GX_TexCoord2f32(0.0f,0.0f); - GX_Position3f32(1.0f,1.0f,-1.0f); - GX_Color1u32(col[2]); - GX_TexCoord2f32(1.0f,0.0f); - GX_Position3f32(1.0f,1.0f,1.0f); - GX_Color1u32(col[2]); - GX_TexCoord2f32(1.0f,1.0f); - GX_Position3f32(-1.0f,1.0f,1.0f); - GX_Color1u32(col[2]); - GX_TexCoord2f32(0.0f,1.0f); + GX_Position3f32(-1.0f,1.0f,-1.0f); + GX_Color1u32(col[2]); + GX_TexCoord2f32(0.0f,0.0f); + GX_Position3f32(1.0f,1.0f,-1.0f); + GX_Color1u32(col[2]); + GX_TexCoord2f32(1.0f,0.0f); + GX_Position3f32(1.0f,1.0f,1.0f); + GX_Color1u32(col[2]); + GX_TexCoord2f32(1.0f,1.0f); + GX_Position3f32(-1.0f,1.0f,1.0f); + GX_Color1u32(col[2]); + GX_TexCoord2f32(0.0f,1.0f); - GX_Position3f32(1.0f,-1.0f,-1.0f); - GX_Color1u32(col[2]); - GX_TexCoord2f32(0.0f,0.0f); - GX_Position3f32(-1.0f,-1.0f,-1.0f); - GX_Color1u32(col[2]); - GX_TexCoord2f32(1.0f,0.0f); - GX_Position3f32(-1.0f,-1.0f,1.0f); - GX_Color1u32(col[2]); - GX_TexCoord2f32(1.0f,1.0f); - GX_Position3f32(1.0f,-1.0f,1.0f); - GX_Color1u32(col[2]); - GX_TexCoord2f32(0.0f,1.0f); + GX_Position3f32(1.0f,-1.0f,-1.0f); + GX_Color1u32(col[2]); + GX_TexCoord2f32(0.0f,0.0f); + GX_Position3f32(-1.0f,-1.0f,-1.0f); + GX_Color1u32(col[2]); + GX_TexCoord2f32(1.0f,0.0f); + GX_Position3f32(-1.0f,-1.0f,1.0f); + GX_Color1u32(col[2]); + GX_TexCoord2f32(1.0f,1.0f); + GX_Position3f32(1.0f,-1.0f,1.0f); + GX_Color1u32(col[2]); + GX_TexCoord2f32(0.0f,1.0f); GX_End(); - GRRLIB_Screen2Texture(0,0,tex_screen,1); - a+=0.5f; + GRRLIB_Screen2Texture(0,0,tex_screen,1); + a+=0.5f; - // Switch To 2D Mode to display text - GRRLIB_2dMode(); - oldsinx=sinx; - for(i=0;iefbHeight;i++){ - GRRLIB_DrawTile(0+sin(sinx)*60,i,tex_screen,0,1,1,0xFFFFFFFF,i); - sinx+=0.02f; - } - sinx=oldsinx+0.02f; + // Switch To 2D Mode to display text + GRRLIB_2dMode(); + oldsinx=sinx; + for(i=0;iefbHeight;i++){ + GRRLIB_DrawTile(0+sin(sinx)*60,i,tex_screen,0,1,1,0xFFFFFFFF,i); + sinx+=0.02f; + } + sinx=oldsinx+0.02f; - GRRLIB_Printf((640-(16*29))/2, 20, tex_font, 0xFFFFFFFF, 1, "PRESS A OR B TO ZOOM THE CUBE"); + GRRLIB_Printf((640-(16*29))/2, 20, tex_font, 0xFFFFFFFF, 1, "PRESS A OR B TO ZOOM THE CUBE"); GRRLIB_Render(); } diff --git a/examples/bitmap_fx/source/main.c b/examples/bitmap_fx/source/main.c index b1c199d..454c3ce 100644 --- a/examples/bitmap_fx/source/main.c +++ b/examples/bitmap_fx/source/main.c @@ -24,7 +24,7 @@ int main() { // Load the original texture and create empty texture of the same size as the original one GRRLIB_texImg *tex_pirate = GRRLIB_LoadTexture(pirate); GRRLIB_texImg *tex_gray = GRRLIB_CreateEmptyTexture(tex_pirate->w, tex_pirate->h); - GRRLIB_texImg *tex_sepia = GRRLIB_CreateEmptyTexture(tex_pirate->w, tex_pirate->h); + GRRLIB_texImg *tex_sepia = GRRLIB_CreateEmptyTexture(tex_pirate->w, tex_pirate->h); GRRLIB_texImg *tex_invert = GRRLIB_CreateEmptyTexture(tex_pirate->w, tex_pirate->h); GRRLIB_texImg *tex_blur1 = GRRLIB_CreateEmptyTexture(tex_pirate->w, tex_pirate->h); GRRLIB_texImg *tex_blur2 = GRRLIB_CreateEmptyTexture(tex_pirate->w, tex_pirate->h); diff --git a/examples/compositing/source/main.c b/examples/compositing/source/main.c index fb6e639..72fa5ee 100644 --- a/examples/compositing/source/main.c +++ b/examples/compositing/source/main.c @@ -36,7 +36,7 @@ int main() { if(WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME) exit(0); // we say thant we will want to capture to a texture all the following - GRRLIB_CompoStart(); + GRRLIB_CompoStart(); for(i=0;i<360;i+=30) { // We draw some letters diff --git a/examples/lesson1/source/main.c b/examples/lesson1/source/main.c index a3e6418..8167a3f 100644 --- a/examples/lesson1/source/main.c +++ b/examples/lesson1/source/main.c @@ -6,7 +6,7 @@ ============================================*/ #include -#include // Needed for gettime and ticks_to_millisecs +#include // Needed for gettime and ticks_to_millisecs #include #include #include diff --git a/examples/xane01/source/main.c b/examples/xane01/source/main.c index a0e7bd3..6efe53b 100644 --- a/examples/xane01/source/main.c +++ b/examples/xane01/source/main.c @@ -32,39 +32,39 @@ GRRLIB_texImg *GFX_Font; int main() { - // Init Variables + // Init Variables u32 WPADKeyDown; u32 WPADKeyHeld; short WinW, WinH; - int P1MX, P1MY; + int P1MX, P1MY; - u8 Stage = 0, Blending = 0; - u8 BlobType = 0; - u8 Color = 255; - u16 Step = 0; - float SX, SY; + u8 Stage = 0, Blending = 0; + u8 BlobType = 0; + u8 Color = 255; + u16 Step = 0; + float SX, SY; - // Init GRRLIB & WiiUse + // Init GRRLIB & WiiUse GRRLIB_Init(); WinW = rmode->fbWidth; - WinH = rmode->efbHeight; + WinH = rmode->efbHeight; WPAD_Init(); WPAD_SetIdleTimeout( 60*10 ); - WPAD_SetDataFormat( WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR ); + WPAD_SetDataFormat( WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR ); - // Load Textures - GFX_Background = GRRLIB_LoadTextureJPG(RGFX_Background); - GFX_Blob[0] = GRRLIB_LoadTexturePNG(RGFX_Blob01); - GFX_Blob[1] = GRRLIB_LoadTexturePNG(RGFX_Blob02); - GFX_Blob[2] = GRRLIB_LoadTexturePNG(RGFX_Blob03); - GFX_Font = GRRLIB_LoadTexturePNG(RGFX_Font); - GRRLIB_InitTileSet(GFX_Font, 8, 16, 32); + // Load Textures + GFX_Background = GRRLIB_LoadTextureJPG(RGFX_Background); + GFX_Blob[0] = GRRLIB_LoadTexturePNG(RGFX_Blob01); + GFX_Blob[1] = GRRLIB_LoadTexturePNG(RGFX_Blob02); + GFX_Blob[2] = GRRLIB_LoadTexturePNG(RGFX_Blob03); + GFX_Font = GRRLIB_LoadTexturePNG(RGFX_Font); + GRRLIB_InitTileSet(GFX_Font, 8, 16, 32); - // Set Handles - GRRLIB_SetMidHandle( GFX_Blob[0], true ); - GRRLIB_SetMidHandle( GFX_Blob[1], true ); - GRRLIB_SetMidHandle( GFX_Blob[2], true ); + // Set Handles + GRRLIB_SetMidHandle( GFX_Blob[0], true ); + GRRLIB_SetMidHandle( GFX_Blob[1], true ); + GRRLIB_SetMidHandle( GFX_Blob[2], true ); while (true) { @@ -72,47 +72,47 @@ int main() { WPADKeyDown = WPAD_ButtonsDown(WPAD_CHAN_0); WPADKeyHeld = WPAD_ButtonsHeld(WPAD_CHAN_0); WPAD_SetVRes(WPAD_CHAN_0, WinW, WinH); - WPAD_IR(WPAD_CHAN_0, &P1Mote); + WPAD_IR(WPAD_CHAN_0, &P1Mote); - // WiiMote IR Viewport Correction - P1MX = P1Mote.sx - 150; - P1MY = P1Mote.sy - 150; + // WiiMote IR Viewport Correction + P1MX = P1Mote.sx - 150; + P1MY = P1Mote.sy - 150; - // Update Stage - Step = Step + 1; - if (Step == 720) { Step = 0; } - SX = 320 + (sin(DegToRad(Step )) * 250); - SY = 240 + (cos(DegToRad(Step*3)) * 100); + // Update Stage + Step = Step + 1; + if (Step == 720) { Step = 0; } + SX = 320 + (sin(DegToRad(Step )) * 250); + SY = 240 + (cos(DegToRad(Step*3)) * 100); - // Draw Stage - GRRLIB_DrawImg( 0, 0, GFX_Background, 0, 1, 1, RGBA(255, 255, 255, 255) ); - GRRLIB_SetBlend( (Blending+1) ); Color = 255; - switch (Stage) { - case 2: Color = 160; break; - case 3: Color = 128; break; - case 4: Color = 64; break; - } - GRRLIB_DrawImg( SX, SY, GFX_Blob[BlobType], 0, 1, 1, RGBA(Color, Color, Color, 255) ); + // Draw Stage + GRRLIB_DrawImg( 0, 0, GFX_Background, 0, 1, 1, RGBA(255, 255, 255, 255) ); + GRRLIB_SetBlend( (Blending+1) ); Color = 255; + switch (Stage) { + case 2: Color = 160; break; + case 3: Color = 128; break; + case 4: Color = 64; break; + } + GRRLIB_DrawImg( SX, SY, GFX_Blob[BlobType], 0, 1, 1, RGBA(Color, Color, Color, 255) ); - // IR Pointer - if (P1Mote.state == 1) { - GRRLIB_DrawImg( P1MX, P1MY, GFX_Blob[BlobType], 0, 1, 1, RGBA(Color, Color, Color, 255) ); - } + // IR Pointer + if (P1Mote.state == 1) { + GRRLIB_DrawImg( P1MX, P1MY, GFX_Blob[BlobType], 0, 1, 1, RGBA(Color, Color, Color, 255) ); + } - // Draw Text - GRRLIB_SetBlend ( GRRLIB_BLEND_ALPHA ); - GRRLIB_Rectangle( 28, 28, 480 + 16, 76, RGBA(0, 0, 0, 160), 1 ); - GRRLIB_Printf ( 32, 32, GFX_Font, 0xFFFFFFFF, 1, "Point your WiiMote on the screen." ); - GRRLIB_Printf ( 32, 48, GFX_Font, 0xFFFFFFFF, 1, "Press LEFT and RIGHT to switch through the different stages." ); - GRRLIB_Printf ( 32, 64, GFX_Font, 0xFFFFFFFF, 1, "Press A to change the blob sprite." ); - switch (Stage) { - case 0: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 1: Additive Blending" ); Blending = 0; break; - case 1: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 2: Alpha Light Blending" ); Blending = 1; break; - case 2: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 3: Multiply Blending (75%)" ); Blending = 2; break; - case 3: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 4: Multiply Blending (50%)" ); Blending = 2; break; - case 4: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 5: Multiply Blending (25%)" ); Blending = 2; break; - case 5: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 6: Invert Color Blending" ); Blending = 3; break; - } + // Draw Text + GRRLIB_SetBlend ( GRRLIB_BLEND_ALPHA ); + GRRLIB_Rectangle( 28, 28, 480 + 16, 76, RGBA(0, 0, 0, 160), 1 ); + GRRLIB_Printf ( 32, 32, GFX_Font, 0xFFFFFFFF, 1, "Point your WiiMote on the screen." ); + GRRLIB_Printf ( 32, 48, GFX_Font, 0xFFFFFFFF, 1, "Press LEFT and RIGHT to switch through the different stages." ); + GRRLIB_Printf ( 32, 64, GFX_Font, 0xFFFFFFFF, 1, "Press A to change the blob sprite." ); + switch (Stage) { + case 0: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 1: Additive Blending" ); Blending = 0; break; + case 1: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 2: Alpha Light Blending" ); Blending = 1; break; + case 2: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 3: Multiply Blending (75%)" ); Blending = 2; break; + case 3: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 4: Multiply Blending (50%)" ); Blending = 2; break; + case 4: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 5: Multiply Blending (25%)" ); Blending = 2; break; + case 5: GRRLIB_Printf( 32, 88, GFX_Font, 0xFFFFFFFF, 1, "Stage 6: Invert Color Blending" ); Blending = 3; break; + } GRRLIB_Render(); if (WPADKeyDown & WPAD_BUTTON_RIGHT) { if (Stage < 5) { Stage += 1; } } @@ -125,16 +125,16 @@ int main() { } static void ExitGame() { - // Deinitialize GRRLIB & Video - GRRLIB_Exit(); + // Deinitialize GRRLIB & Video + GRRLIB_Exit(); - // Free all memory used by textures. - GRRLIB_FreeTexture(GFX_Background); - GRRLIB_FreeTexture(GFX_Blob[0]); - GRRLIB_FreeTexture(GFX_Blob[1]); - GRRLIB_FreeTexture(GFX_Blob[2]); - GRRLIB_FreeTexture(GFX_Font); + // Free all memory used by textures. + GRRLIB_FreeTexture(GFX_Background); + GRRLIB_FreeTexture(GFX_Blob[0]); + GRRLIB_FreeTexture(GFX_Blob[1]); + GRRLIB_FreeTexture(GFX_Blob[2]); + GRRLIB_FreeTexture(GFX_Font); - // Exit application - exit(0); + // Exit application + exit(0); } diff --git a/examples/xane02/source/main.cpp b/examples/xane02/source/main.cpp index 5f02b2f..29a34f5 100644 --- a/examples/xane02/source/main.cpp +++ b/examples/xane02/source/main.cpp @@ -31,16 +31,16 @@ Mtx GXmodelView2D; // Basic structure to hold particle data typedef struct Particle { - u8 id; - float x, y; - float sx, sy; - u16 rot; - u8 frame, framecnt, framedelay; - u8 red, green, blue; - float scale, alpha; - float sscale, salpha; - float scolor; - GRRLIB_texImg *tex; + u8 id; + float x, y; + float sx, sy; + u16 rot; + u8 frame, framecnt, framedelay; + u8 red, green, blue; + float scale, alpha; + float sscale, salpha; + float scolor; + GRRLIB_texImg *tex; } Particle; // Vector used as a container to iterate through all members of GRRLIB_texImg @@ -77,88 +77,88 @@ int main() { u8 FPS = 0; u32 ParticleCnt = 0; - // Init GRRLIB & WiiUse + // Init GRRLIB & WiiUse GRRLIB_Init(); WinW = rmode->fbWidth; - WinH = rmode->efbHeight; + WinH = rmode->efbHeight; WPAD_Init(); WPAD_SetIdleTimeout( 60*10 ); - WPAD_SetDataFormat( WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR ); + WPAD_SetDataFormat( WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR ); - // Load textures - GFX_Background = GRRLIB_LoadTextureJPG(RGFX_Background); - GFX_Crosshair = GRRLIB_LoadTexturePNG(RGFX_Crosshair); - GFX_Smoke = GRRLIB_LoadTexturePNG(RGFX_Smoke); - GFX_Font = GRRLIB_LoadTexturePNG(RGFX_Font); - GRRLIB_InitTileSet( GFX_Font, 8, 16, 32 ); + // Load textures + GFX_Background = GRRLIB_LoadTextureJPG(RGFX_Background); + GFX_Crosshair = GRRLIB_LoadTexturePNG(RGFX_Crosshair); + GFX_Smoke = GRRLIB_LoadTexturePNG(RGFX_Smoke); + GFX_Font = GRRLIB_LoadTexturePNG(RGFX_Font); + GRRLIB_InitTileSet( GFX_Font, 8, 16, 32 ); - // Set handles - GRRLIB_SetMidHandle( GFX_Crosshair, true ); - GRRLIB_SetMidHandle( GFX_Smoke, true ); + // Set handles + GRRLIB_SetMidHandle( GFX_Crosshair, true ); + GRRLIB_SetMidHandle( GFX_Smoke, true ); - // Feed the vector with the textures - TextureList.push_back( GFX_Background ); - TextureList.push_back( GFX_Crosshair ); - TextureList.push_back( GFX_Smoke ); - TextureList.push_back( GFX_Font ); + // Feed the vector with the textures + TextureList.push_back( GFX_Background ); + TextureList.push_back( GFX_Crosshair ); + TextureList.push_back( GFX_Smoke ); + TextureList.push_back( GFX_Font ); while (true) { WPAD_ScanPads(); WPADKeyDown = WPAD_ButtonsDown(WPAD_CHAN_0); WPADKeyHeld = WPAD_ButtonsHeld(WPAD_CHAN_0); WPAD_SetVRes(WPAD_CHAN_0, WinW, WinH); - WPAD_IR(WPAD_CHAN_0, &P1Mote); + WPAD_IR(WPAD_CHAN_0, &P1Mote); - // Resetting Vars - GRRLIB_SetBlend( GRRLIB_BLEND_ALPHA ); - ParticleCnt = 0; + // Resetting Vars + GRRLIB_SetBlend( GRRLIB_BLEND_ALPHA ); + ParticleCnt = 0; - // WiiMote IR Viewport correction - P1MX = P1Mote.sx - 150; - P1MY = P1Mote.sy - 150; + // WiiMote IR Viewport correction + P1MX = P1Mote.sx - 150; + P1MY = P1Mote.sy - 150; - // Drawing Background - GRRLIB_DrawImg( 0, 0, GFX_Background, 0, 1, 1, RGBA(255, 255, 255, 255) ); + // Drawing Background + GRRLIB_DrawImg( 0, 0, GFX_Background, 0, 1, 1, RGBA(255, 255, 255, 255) ); - // Add any pending objects into the main container - if (ParticleListTmp.size()) { - for(u32 i = 0; i::iterator PartIter = ParticleList.begin(); PartIter != ParticleList.end();) { - if (updateParticle((*PartIter)) == true) { - GRRLIB_DrawImg( (*PartIter)->x, (*PartIter)->y, (*PartIter)->tex, (*PartIter)->rot, (*PartIter)->scale, (*PartIter)->scale, RGBA( (*PartIter)->red, (*PartIter)->green, (*PartIter)->blue, GRRLIB_ClampVar8((*PartIter)->alpha*255) ) ); - } else { - free( (*PartIter) ); - ParticleList.erase(PartIter); - continue; - } - ParticleCnt += 1; - PartIter++; - } + // Update and draw all particles + for (vector::iterator PartIter = ParticleList.begin(); PartIter != ParticleList.end();) { + if (updateParticle((*PartIter)) == true) { + GRRLIB_DrawImg( (*PartIter)->x, (*PartIter)->y, (*PartIter)->tex, (*PartIter)->rot, (*PartIter)->scale, (*PartIter)->scale, RGBA( (*PartIter)->red, (*PartIter)->green, (*PartIter)->blue, GRRLIB_ClampVar8((*PartIter)->alpha*255) ) ); + } else { + free( (*PartIter) ); + ParticleList.erase(PartIter); + continue; + } + ParticleCnt += 1; + PartIter++; + } - // Draw Crosshair - GRRLIB_DrawImg( P1MX, P1MY, GFX_Crosshair, 0, 1, 1, RGBA(255, 255, 255, 255) ); + // Draw Crosshair + GRRLIB_DrawImg( P1MX, P1MY, GFX_Crosshair, 0, 1, 1, RGBA(255, 255, 255, 255) ); - // Draw Text - GRRLIB_Rectangle( 28, 28, 280, 20, RGBA(0, 0, 0, 160), 1 ); - GRRLIB_Printf ( 32, 32, GFX_Font, 0xFFFFFFFF, 1, "Point your WiiMote on the screen." ); - GRRLIB_Rectangle( 28, 48, 200, 16, RGBA(0, 0, 0, 160), 1 ); - GRRLIB_Printf ( 32, 48, GFX_Font, 0xFFFFFFFF, 1, "Number of Particle: %d", ParticleCnt ); - GRRLIB_Rectangle( 28, 64, 64, 16, RGBA(0, 0, 0, 160), 1 ); - GRRLIB_Printf ( 32, 64, GFX_Font, 0xFFFFFFFF, 1, "FPS: %d", FPS ); + // Draw Text + GRRLIB_Rectangle( 28, 28, 280, 20, RGBA(0, 0, 0, 160), 1 ); + GRRLIB_Printf ( 32, 32, GFX_Font, 0xFFFFFFFF, 1, "Point your WiiMote on the screen." ); + GRRLIB_Rectangle( 28, 48, 200, 16, RGBA(0, 0, 0, 160), 1 ); + GRRLIB_Printf ( 32, 48, GFX_Font, 0xFFFFFFFF, 1, "Number of Particle: %d", ParticleCnt ); + GRRLIB_Rectangle( 28, 64, 64, 16, RGBA(0, 0, 0, 160), 1 ); + GRRLIB_Printf ( 32, 64, GFX_Font, 0xFFFFFFFF, 1, "FPS: %d", FPS ); - // Renders the Scene + // Renders the Scene GRRLIB_Render(); FPS = CalculateFrameRate(); if (WPADKeyDown & WPAD_BUTTON_B) { - createEffect( EFFECT_SMOKEBOMB, P1MX, P1MY ); - } + createEffect( EFFECT_SMOKEBOMB, P1MX, P1MY ); + } if (WPADKeyDown & WPAD_BUTTON_HOME) { ExitGame(); } @@ -168,107 +168,107 @@ int main() { } static void createEffect( u8 id, int _x, int _y ) { - u8 _ColorAdd = 0; - switch (id) { - case EFFECT_SMOKEBOMB: - for (u8 i = 0; i < 5; i++) { - createParticle( 1, (_x + (RANDOM * 10)), (_y + (RANDOM * 10)), (1.4f+(RANDOM*0.20)), 1.0f, 64, 64, 64 ); - } - for (u8 i = 0; i < 20; i++) { - createParticle( 3, (_x + (RANDOM * 50)), (_y + (RANDOM * 50)), 1.25f, 1.5f, 92, 92, 92 ); - } - for (u8 i = 0; i < 5; i++) { - _ColorAdd = (RANDOM*75); - createParticle( 2, (_x + (RANDOM * 40)), (_y + (RANDOM * 40)), (1.0f+(RANDOM*0.20)), 1.0f, 128+_ColorAdd, 128+_ColorAdd, 128+_ColorAdd ); - } - break; - } + u8 _ColorAdd = 0; + switch (id) { + case EFFECT_SMOKEBOMB: + for (u8 i = 0; i < 5; i++) { + createParticle( 1, (_x + (RANDOM * 10)), (_y + (RANDOM * 10)), (1.4f+(RANDOM*0.20)), 1.0f, 64, 64, 64 ); + } + for (u8 i = 0; i < 20; i++) { + createParticle( 3, (_x + (RANDOM * 50)), (_y + (RANDOM * 50)), 1.25f, 1.5f, 92, 92, 92 ); + } + for (u8 i = 0; i < 5; i++) { + _ColorAdd = (RANDOM*75); + createParticle( 2, (_x + (RANDOM * 40)), (_y + (RANDOM * 40)), (1.0f+(RANDOM*0.20)), 1.0f, 128+_ColorAdd, 128+_ColorAdd, 128+_ColorAdd ); + } + break; + } } static void createParticle( u8 _id, int _x, int _y, float _scale, float _alpha, u8 _red, u8 _green, u8 _blue ) { - Particle *part = (struct Particle *)calloc(1, sizeof(Particle)); - part->id = _id; - part->x = _x; - part->y = _y; - part->rot = rand() % 360; - part->red = _red; - part->green = _green; - part->blue = _blue; - part->scale = _scale; - part->alpha = _alpha; + Particle *part = (struct Particle *)calloc(1, sizeof(Particle)); + part->id = _id; + part->x = _x; + part->y = _y; + part->rot = rand() % 360; + part->red = _red; + part->green = _green; + part->blue = _blue; + part->scale = _scale; + part->alpha = _alpha; - part->tex = GFX_Smoke; - part->sy = RANDOM; - part->sx = RANDOM; - part->sscale = 0.9985; - part->salpha = 0.985; - switch (part->id) { - case 1: - part->sy = RANDOM * 0.5; - part->sx = RANDOM * 0.5; - part->sscale = 0.999; - part->salpha = 0.992; - part->framedelay = 10; - part->framecnt = 2; - break; - case 2: - part->scolor = 0.98; - part->salpha = 0.95; - break; - case 3: - part->sy = (RANDOM * 8); - part->sx = (RANDOM * 8); - part->salpha = 0.85; - part->scolor = 0.95; - break; - } - ParticleListTmp.push_back( part ); + part->tex = GFX_Smoke; + part->sy = RANDOM; + part->sx = RANDOM; + part->sscale = 0.9985; + part->salpha = 0.985; + switch (part->id) { + case 1: + part->sy = RANDOM * 0.5; + part->sx = RANDOM * 0.5; + part->sscale = 0.999; + part->salpha = 0.992; + part->framedelay = 10; + part->framecnt = 2; + break; + case 2: + part->scolor = 0.98; + part->salpha = 0.95; + break; + case 3: + part->sy = (RANDOM * 8); + part->sx = (RANDOM * 8); + part->salpha = 0.85; + part->scolor = 0.95; + break; + } + ParticleListTmp.push_back( part ); } static bool updateParticle( Particle *part ) { - if (part->alpha < 0.05) { part->alpha -= 0.001; } - if (part->alpha < 0.1) { part->alpha -= 0.001; } + if (part->alpha < 0.05) { part->alpha -= 0.001; } + if (part->alpha < 0.1) { part->alpha -= 0.001; } - part->x += part->sx; - part->y += part->sy; - part->scale *= part->sscale; - part->alpha *= part->salpha; - switch (part->id) { - case 1: - if (part->alpha < 0.25) { part->alpha -= 0.001; } - if (part->framecnt == 0) { - part->framecnt = 20; - part->red -= 1; - part->green -= 1; - part->blue -= 1; - } - part->framecnt -= 1; - break; - case 2: - case 3: - part->red *= part->scolor; - part->green *= part->scolor; - part->blue *= part->scolor; - break; - } - if ((part->scale < 0) || (part->alpha < 0)) { return false; } - return true; + part->x += part->sx; + part->y += part->sy; + part->scale *= part->sscale; + part->alpha *= part->salpha; + switch (part->id) { + case 1: + if (part->alpha < 0.25) { part->alpha -= 0.001; } + if (part->framecnt == 0) { + part->framecnt = 20; + part->red -= 1; + part->green -= 1; + part->blue -= 1; + } + part->framecnt -= 1; + break; + case 2: + case 3: + part->red *= part->scolor; + part->green *= part->scolor; + part->blue *= part->scolor; + break; + } + if ((part->scale < 0) || (part->alpha < 0)) { return false; } + return true; } static void ExitGame() { - // Deinitialize GRRLIB & Video - GRRLIB_Exit(); + // Deinitialize GRRLIB & Video + GRRLIB_Exit(); - // Free all memory used by textures. - for (vector::iterator TexIter = TextureList.begin(); TexIter != TextureList.end(); TexIter++) { - free((*TexIter)->data); - free((*TexIter)); - } - TextureList.clear(); + // Free all memory used by textures. + for (vector::iterator TexIter = TextureList.begin(); TexIter != TextureList.end(); TexIter++) { + free((*TexIter)->data); + free((*TexIter)); + } + TextureList.clear(); - // Exit application - exit(0); + // Exit application + exit(0); } static u8 CalculateFrameRate() {