Data Structures | Defines | Typedefs | Enumerations | Functions | Variables

Everything in GRRLIB

This is the complete list of funtions, structures, defines, typedefs, enumerations and variables you may want to used to make your homebrew with GRRLIB. More...

Data Structures

struct  GRRLIB_drawSettings
 Structure to hold the current drawing settings. More...
struct  GRRLIB_texImg
 Structure to hold the texture information. More...
struct  GRRLIB_bytemapChar
 Structure to hold the bytemap character information. More...
struct  GRRLIB_bytemapFont
 Structure to hold the bytemap font information. More...
struct  GRRLIB_Font
 Structure to hold the TTF information. More...

Defines

#define GRRLIB_VER_STRING   "4.3.1"
 Version information for GRRLIB.
#define R(c)   (((c) >>24) &0xFF)
 Exract Red component of colour.
#define G(c)   (((c) >>16) &0xFF)
 Exract Green component of colour.
#define B(c)   (((c) >> 8) &0xFF)
 Exract Blue component of colour.
#define A(c)   ( (c) &0xFF)
 Exract Alpha component of colour.
#define RGBA(r, g, b, a)
 Build an RGB pixel from components.
#define GRRLIB_BLEND_NONE   (GRRLIB_BLEND_ALPHA)
 Alias for GRRLIB_BLEND_ALPHA.
#define GRRLIB_BLEND_LIGHT   (GRRLIB_BLEND_ADD)
 Alias for GRRLIB_BLEND_ADD.
#define GRRLIB_BLEND_SHADE   (GRRLIB_BLEND_MULTI)
 Alias for GRRLIB_BLEND_MULTI.
#define GRR_EXTERN   extern
#define GRR_INIT(v)
#define GRR_INITS(...)
#define INLINE   inline

Typedefs

typedef unsigned int uint
 The uint keyword signifies an integral type.
typedef enum GRRLIB_blendMode GRRLIB_blendMode
 GRRLIB Blending Modes.
typedef struct GRRLIB_drawSettings GRRLIB_drawSettings
 Structure to hold the current drawing settings.
typedef struct GRRLIB_texImg GRRLIB_texImg
 Structure to hold the texture information.
typedef struct GRRLIB_bytemapChar GRRLIB_bytemapChar
 Structure to hold the bytemap character information.
typedef struct GRRLIB_bytemapFont GRRLIB_bytemapFont
 Structure to hold the bytemap font information.
typedef struct GRRLIB_Font GRRLIB_ttfFont
 Structure to hold the TTF information.

Enumerations

enum  GRRLIB_blendMode {
  GRRLIB_BLEND_ALPHA = 0, GRRLIB_BLEND_ADD = 1, GRRLIB_BLEND_SCREEN = 2, GRRLIB_BLEND_MULTI = 3,
  GRRLIB_BLEND_INV = 4
}
 

GRRLIB Blending Modes.

More...

Functions

GRR_EXTERN void *xfb[2] GRR_INITS (NULL, NULL)
GRR_EXTERN u32 fb GRR_INIT (0)
INLINE u8 GRRLIB_ClampVar8 (f32 Value)
 A helper function for the YCbCr -> RGB conversion.
INLINE void GRRLIB_ClipReset (void)
 Reset the clipping to normal.
INLINE void GRRLIB_ClipDrawing (const int x, const int y, const int width, const int height)
 Clip the drawing area to an rectangle.
INLINE bool GRRLIB_PtInRect (const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady)
 Determine whether the specified point lies within the specified rectangle.
INLINE bool GRRLIB_RectInRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
 Determine whether a specified rectangle lies within another rectangle.
INLINE bool GRRLIB_RectOnRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
 Determine whether a part of a specified rectangle lies on another rectangle.
INLINE void GRRLIB_NPlot (const guVector v[], const u32 color[], const long n)
 Draw an array of points.
INLINE void GRRLIB_NGone (const guVector v[], const u32 color[], const long n)
 Draw a polygon.
INLINE void GRRLIB_NGoneFilled (const guVector v[], const u32 color[], const long n)
 Draw a filled polygon.
INLINE void GRRLIB_GXEngine (const guVector v[], const u32 color[], const long n, const u8 fmt)
 Draws a vector.
INLINE void GRRLIB_FillScreen (const u32 color)
 Clear screen with a specific color.
INLINE void GRRLIB_Plot (const f32 x, const f32 y, const u32 color)
 Draw a dot.
INLINE void GRRLIB_Line (const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color)
 Draw a line.
INLINE void GRRLIB_Rectangle (const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const u8 filled)
 Draw a rectangle.
INLINE void GRRLIB_SetHandle (GRRLIB_texImg *tex, const int x, const int y)
 Set a texture's X and Y handles.
INLINE void GRRLIB_SetMidHandle (GRRLIB_texImg *tex, const bool enabled)
 Center a texture's handles.
INLINE u32 GRRLIB_GetPixelFromtexImg (const int x, const int y, const GRRLIB_texImg *tex)
 Return the color value of a pixel from a GRRLIB_texImg.
INLINE void GRRLIB_SetPixelTotexImg (const int x, const int y, GRRLIB_texImg *tex, const u32 color)
 Set the color value of a pixel to a GRRLIB_texImg.
INLINE u32 GRRLIB_GetPixelFromFB (int x, int y)
 Reads a pixel directly from the FrontBuffer.
INLINE void GRRLIB_SetPixelToFB (int x, int y, u32 pokeColor)
 Writes a pixel directly from the FrontBuffer.
INLINE void GRRLIB_SetBlend (const GRRLIB_blendMode blendmode)
 Set a blending mode.
INLINE GRRLIB_blendMode GRRLIB_GetBlend (void)
 Get the current blending mode.
INLINE void GRRLIB_SetAntiAliasing (const bool aa)
 Turn anti-aliasing on/off.
INLINE bool GRRLIB_GetAntiAliasing (void)
 Get current anti-aliasing setting.
INLINE GRRLIB_texImgGRRLIB_CreateEmptyTexture (const uint w, const uint h)
 Create an empty texture.
INLINE void GRRLIB_ClearTex (GRRLIB_texImg *tex)
 Clear a texture to transparent black.
INLINE void GRRLIB_FlushTex (GRRLIB_texImg *tex)
 Write the contents of a texture in the data cache down to main memory.
INLINE void GRRLIB_FreeTexture (GRRLIB_texImg *tex)
 Free memory allocated for texture.
GRRLIB_bytemapFontGRRLIB_LoadBMF (const u8 my_bmf[])
 Load a ByteMap font structure from a buffer.
void GRRLIB_FreeBMF (GRRLIB_bytemapFont *bmf)
 Free memory allocated by ByteMap fonts.
void GRRLIB_InitTileSet (GRRLIB_texImg *tex, const uint tilew, const uint tileh, const uint tilestart)
 Initialize a tile set.
void GRRLIB_BMFX_FlipH (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Flip texture horizontal.
void GRRLIB_BMFX_FlipV (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Flip texture vertical.
void GRRLIB_BMFX_Grayscale (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Change a texture to gray scale.
void GRRLIB_BMFX_Sepia (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Change a texture to sepia (old photo style).
void GRRLIB_BMFX_Invert (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Invert colors of the texture.
void GRRLIB_BMFX_Blur (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Blur).
void GRRLIB_BMFX_Scatter (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Scatter).
void GRRLIB_BMFX_Pixelate (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Pixelate).
int GRRLIB_Init (void)
 Initialize GRRLIB.
void GRRLIB_Exit (void)
 Call this before exiting your application.
void GRRLIB_Circle (const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled)
 Draw a circle.
int GRRLIB_LoadFile (const char *filename, unsigned char **data)
 Load a file to memory.
GRRLIB_texImgGRRLIB_LoadTextureFromFile (const char *filename)
 Load a texture from a file.
bool GRRLIB_ScrShot (const char *filename)
 Make a PNG screenshot.
void GRRLIB_Printf (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...)
 Print formatted output.
void GRRLIB_PrintBMF (const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...)
 Print formatted output with a ByteMap font.
void GRRLIB_DrawImg (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
 Draw a texture.
void GRRLIB_DrawImgQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color)
 Draw a textured quad.
void GRRLIB_DrawTile (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame)
 Draw a tile.
void GRRLIB_DrawPart (const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
 Draw a part of a texture.
void GRRLIB_DrawTileQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame)
 Draw a tile in a quad.
void GRRLIB_Render (void)
 Call this function after drawing.
void GRRLIB_Screen2Texture (int posx, int posy, GRRLIB_texImg *tex, bool clear)
 Make a snapshot of the screen in a texture WITHOUT ALPHA LAYER.
void GRRLIB_CompoStart (void)
 Start GX compositing process.
void GRRLIB_CompoEnd (int posx, int posy, GRRLIB_texImg *tex)
 End GX compositing process (Make a snapshot of the screen in a texture WITH ALPHA LAYER).
GRRLIB_texImgGRRLIB_LoadTexture (const u8 *my_img)
 Load a texture from a buffer.
GRRLIB_texImgGRRLIB_LoadTexturePNG (const u8 *my_png)
 Load a texture from a buffer.
GRRLIB_texImgGRRLIB_LoadTextureJPG (const u8 *my_jpg)
 Load a texture from a buffer.
GRRLIB_texImgGRRLIB_LoadTextureJPGEx (const u8 *my_jpg, const int)
 Load a texture from a buffer.
GRRLIB_texImgGRRLIB_LoadTextureBMP (const u8 *my_bmp)
 Load a texture from a buffer.
bool GRRLIB_GeckoInit ()
 Initialize USB Gecko.
void GRRLIB_GeckoPrintf (const char *text,...)
 Print Gecko.
void GRRLIB_SetBackgroundColour (u8 r, u8 g, u8 b, u8 a)
 Set the background parameter when screen is cleared.
void GRRLIB_Camera3dSettings (f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz)
 Set the camera parameter (contributed my chris_c aka DaShAmAn).
void GRRLIB_3dMode (f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode)
 Set up the position matrix (contributed by chris_c aka DaShAmAn).
void GRRLIB_2dMode ()
 Go back to 2D mode (contributed by chris_c aka DaShAmAn).
void GRRLIB_ObjectViewBegin (void)
 Init the object matrix to draw object.
void GRRLIB_ObjectViewScale (f32 scalx, f32 scaly, f32 scalz)
 Scale the object matrix to draw object.
void GRRLIB_ObjectViewRotate (f32 angx, f32 angy, f32 angz)
 Rotate the object matrix to draw object .
void GRRLIB_ObjectViewTrans (f32 posx, f32 posy, f32 posz)
 Translate the object matrix to draw object.
void GRRLIB_ObjectViewEnd (void)
 Concat the object and the view matrix and calculate the inverse normal matrix.
void GRRLIB_ObjectView (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
 Set the view matrix to draw object (in this order scale, rotate AND trans).
void GRRLIB_ObjectViewInv (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
 Set the view matrix to draw object (in this order scale, trans AND rotate).
void GRRLIB_SetTexture (GRRLIB_texImg *tex, bool rep)
 Set the texture to an object (contributed by chris_c aka DaShAmAn).
void GRRLIB_DrawTorus (f32 r, f32 R, int nsides, int rings, bool filled, u32 col)
 Draw a torus (with normal).
void GRRLIB_DrawSphere (f32 r, int lats, int longs, bool filled, u32 col)
 Draw a sphere (with normal).
void GRRLIB_DrawCube (f32 size, bool filled, u32 col)
 Draw a cube (with normal).
void GRRLIB_DrawCylinder (f32 r, f32 h, int d, bool filled, u32 col)
 Draw a cylinder (with normal).
void GRRLIB_DrawCone (f32 r, f32 h, int d, bool filled, u32 col)
 Draw a cone (with normal).
void GRRLIB_DrawTessPanel (f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col)
 Draw a Tesselated pannel (with normal).
void GRRLIB_SetLightAmbient (u32 ambientcolor)
 Set ambient color.
void GRRLIB_SetLightDiff (u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor)
 Set diffuse light parameters.
void GRRLIB_SetLightSpec (u8 num, guVector dir, f32 shy, u32 lightcolor, u32 speccolor)
 Set specular light parameters.
void GRRLIB_SetLightSpot (u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor)
 Set Spot light parameters.
void GRRLIB_SetLightOff (void)
 Set all lights off, like at init.
GRRLIB_ttfFontGRRLIB_LoadTTF (const u8 *file_base, s32 file_size)
 Load a TTF from a buffer.
void GRRLIB_FreeTTF (GRRLIB_ttfFont *myFont)
 Free memory allocated by TTF fonts.
void GRRLIB_PrintfTTF (int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color)
 Print function for TTF font.
void GRRLIB_PrintfTTFW (int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color)
 Print function for TTF font.
unsigned int GRRLIB_WidthTTF (GRRLIB_ttfFont *myFont, const char *, unsigned int)
 Get the width of a text in pixel.
unsigned int GRRLIB_WidthTTFW (GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int)
 Get the width of a text in pixel.

Variables

GRR_EXTERN GXRModeObj * rmode

Detailed Description

This is the complete list of funtions, structures, defines, typedefs, enumerations and variables you may want to used to make your homebrew with GRRLIB.

You simply need to include grrlib.h in your project to have access to all of these.


Define Documentation

#define A (   c )    ( (c) &0xFF)

Exract Alpha component of colour.

#define B (   c )    (((c) >> 8) &0xFF)

Exract Blue component of colour.

#define G (   c )    (((c) >>16) &0xFF)

Exract Green component of colour.

#define GRRLIB_BLEND_LIGHT   (GRRLIB_BLEND_ADD)

Alias for GRRLIB_BLEND_ADD.

#define GRRLIB_BLEND_NONE   (GRRLIB_BLEND_ALPHA)

Alias for GRRLIB_BLEND_ALPHA.

#define GRRLIB_BLEND_SHADE   (GRRLIB_BLEND_MULTI)

Alias for GRRLIB_BLEND_MULTI.

#define R (   c )    (((c) >>24) &0xFF)

Exract Red component of colour.

#define RGBA (   r,
  g,
  b,
 
)
Value:
( (u32)( ( ((u32)(r))        <<24) |  \
                               ((((u32)(g)) &0xFF) <<16) |  \
                               ((((u32)(b)) &0xFF) << 8) |  \
                               ( ((u32)(a)) &0xFF      ) ) )

Build an RGB pixel from components.

Parameters:
rRed component.
gGreen component.
bBlue component.
aAlpha component.

Typedef Documentation

typedef unsigned int uint

The uint keyword signifies an integral type.


Enumeration Type Documentation

GRRLIB Blending Modes.

Enumerator:
GRRLIB_BLEND_ALPHA 

Alpha Blending.

GRRLIB_BLEND_ADD 

Additive Blending.

GRRLIB_BLEND_SCREEN 

Alpha Light Blending.

GRRLIB_BLEND_MULTI 

Multiply Blending.

GRRLIB_BLEND_INV 

Invert Color Blending.


Function Documentation

void GRRLIB_3dMode ( f32  minDist,
f32  maxDist,
f32  fov,
bool  texturemode,
bool  normalmode 
)

Set up the position matrix (contributed by chris_c aka DaShAmAn).

Parameters:
minDistMinimal distance for the camera.
maxDistMaximal distance for the camera.
fovField of view for the camera.
texturemodeFalse, GX won't need texture coordinate, True, GX will need texture coordinate.
normalmodeFalse, GX won't need normal coordinate, True, GX will need normal coordinate.
void GRRLIB_BMFX_Blur ( const GRRLIB_texImg texsrc,
GRRLIB_texImg texdest,
const u32  factor 
)

A texture effect (Blur).

See also:
GRRLIB_FlushTex
Parameters:
texsrcThe texture source.
texdestThe texture destination.
factorThe blur factor.
void GRRLIB_BMFX_FlipH ( const GRRLIB_texImg texsrc,
GRRLIB_texImg texdest 
)

Flip texture horizontal.

See also:
GRRLIB_FlushTex
Parameters:
texsrcThe texture source.
texdestThe texture destination.
void GRRLIB_BMFX_FlipV ( const GRRLIB_texImg texsrc,
GRRLIB_texImg texdest 
)

Flip texture vertical.

See also:
GRRLIB_FlushTex
Parameters:
texsrcThe texture source.
texdestThe texture destination.
void GRRLIB_BMFX_Grayscale ( const GRRLIB_texImg texsrc,
GRRLIB_texImg texdest 
)

Change a texture to gray scale.

See also:
GRRLIB_FlushTex
Parameters:
texsrcThe texture source.
texdestThe texture grayscaled destination.
void GRRLIB_BMFX_Invert ( const GRRLIB_texImg texsrc,
GRRLIB_texImg texdest 
)

Invert colors of the texture.

See also:
GRRLIB_FlushTex
Parameters:
texsrcThe texture source.
texdestThe texture destination.
void GRRLIB_BMFX_Pixelate ( const GRRLIB_texImg texsrc,
GRRLIB_texImg texdest,
const u32  factor 
)

A texture effect (Pixelate).

See also:
GRRLIB_FlushTex
Parameters:
texsrcThe texture source.
texdestThe texture destination.
factorThe factor level of the effect.
void GRRLIB_BMFX_Scatter ( const GRRLIB_texImg texsrc,
GRRLIB_texImg texdest,
const u32  factor 
)

A texture effect (Scatter).

See also:
GRRLIB_FlushTex
Parameters:
texsrcThe texture source.
texdestThe texture destination.
factorThe factor level of the effect.
void GRRLIB_BMFX_Sepia ( const GRRLIB_texImg texsrc,
GRRLIB_texImg texdest 
)

Change a texture to sepia (old photo style).

See also:
GRRLIB_FlushTex
Parameters:
texsrcThe texture source.
texdestThe texture destination.
Author:
elisherer
void GRRLIB_Camera3dSettings ( f32  posx,
f32  posy,
f32  posz,
f32  upx,
f32  upy,
f32  upz,
f32  lookx,
f32  looky,
f32  lookz 
)

Set the camera parameter (contributed my chris_c aka DaShAmAn).

Parameters:
posxx position of the camera.
posyy position of the camera.
poszz position of the camera.
upxAlpha component.
upyAlpha component.
upzAlpha component.
lookxx up position of the camera.
lookyy up position of the camera.
lookzz up position of the camera.
void GRRLIB_Circle ( const f32  x,
const f32  y,
const f32  radius,
const u32  color,
const u8  filled 
)

Draw a circle.

Author:
Dark_Link
Parameters:
xSpecifies the x-coordinate of the circle.
ySpecifies the y-coordinate of the circle.
radiusThe radius of the circle.
colorThe color of the circle in RGBA format.
filledSet to true to fill the circle.
INLINE u8 GRRLIB_ClampVar8 ( f32  Value )

A helper function for the YCbCr -> RGB conversion.

Clamps the given value into a range of 0 - 255 and thus preventing an overflow.

Parameters:
ValueThe value to clamp. Using float to increase the precision. This makes a full spectrum (0 - 255) possible.
Returns:
Returns a clean, clamped unsigned char.
INLINE void GRRLIB_ClearTex ( GRRLIB_texImg tex )

Clear a texture to transparent black.

Parameters:
texTexture to clear.
INLINE void GRRLIB_ClipDrawing ( const int  x,
const int  y,
const int  width,
const int  height 
)

Clip the drawing area to an rectangle.

Parameters:
xThe x-coordinate of the rectangle.
yThe y-coordinate of the rectangle.
widthThe width of the rectangle.
heightThe height of the rectangle.
void GRRLIB_CompoEnd ( int  posx,
int  posy,
GRRLIB_texImg tex 
)

End GX compositing process (Make a snapshot of the screen in a texture WITH ALPHA LAYER).

EFB is cleared after this function.

See also:
GRRLIB_CompoStart
Parameters:
posxtop left corner of the grabbed part.
posytop left corner of the grabbed part.
texA pointer to a texture representing the screen or NULL if an error occurs.
void GRRLIB_CompoStart ( void   )

Start GX compositing process.

See also:
GRRLIB_CompoEnd
INLINE GRRLIB_texImg* GRRLIB_CreateEmptyTexture ( const uint  w,
const uint  h 
)

Create an empty texture.

Parameters:
wWidth of the new texture to create.
hHeight of the new texture to create.
Returns:
A GRRLIB_texImg structure newly created.
void GRRLIB_DrawCone ( f32  r,
f32  h,
int  d,
bool  filled,
u32  col 
)

Draw a cone (with normal).

Parameters:
rRadius of the cone.
hHigh of the cone.
dDencity of slice.
filledWired or not.
colColor of the cone.
void GRRLIB_DrawCube ( f32  size,
bool  filled,
u32  col 
)

Draw a cube (with normal).

Parameters:
sizeSize of the cube edge.
filledWired or not.
colColor of the cube.
void GRRLIB_DrawCylinder ( f32  r,
f32  h,
int  d,
bool  filled,
u32  col 
)

Draw a cylinder (with normal).

Parameters:
rRadius of the cylinder.
hHigh of the cylinder.
dDencity of slice.
filledWired or not.
colColor of the cylinder.
void GRRLIB_DrawImg ( const f32  xpos,
const f32  ypos,
const GRRLIB_texImg tex,
const f32  degrees,
const f32  scaleX,
const f32  scaleY,
const u32  color 
)

Draw a texture.

Parameters:
xposSpecifies the x-coordinate of the upper-left corner.
yposSpecifies the y-coordinate of the upper-left corner.
texThe texture to draw.
degreesAngle of rotation.
scaleXSpecifies the x-coordinate scale. -1 could be used for flipping the texture horizontally.
scaleYSpecifies the y-coordinate scale. -1 could be used for flipping the texture vertically.
colorColor in RGBA format.
void GRRLIB_DrawImgQuad ( const guVector  pos[4],
GRRLIB_texImg tex,
const u32  color 
)

Draw a textured quad.

Parameters:
posVector array of the 4 points.
texThe texture to draw.
colorColor in RGBA format.
void GRRLIB_DrawPart ( const f32  xpos,
const f32  ypos,
const f32  partx,
const f32  party,
const f32  partw,
const f32  parth,
const GRRLIB_texImg tex,
const f32  degrees,
const f32  scaleX,
const f32  scaleY,
const u32  color 
)

Draw a part of a texture.

Parameters:
xposSpecifies the x-coordinate of the upper-left corner.
yposSpecifies the y-coordinate of the upper-left corner.
partxSpecifies the x-coordinate of the upper-left corner in the texture.
partySpecifies the y-coordinate of the upper-left corner in the texture.
partwSpecifies the width in the texture.
parthSpecifies the height in the texture.
texThe texture containing the tile to draw.
degreesAngle of rotation.
scaleXSpecifies the x-coordinate scale. -1 could be used for flipping the texture horizontally.
scaleYSpecifies the y-coordinate scale. -1 could be used for flipping the texture vertically.
colorColor in RGBA format.
void GRRLIB_DrawSphere ( f32  r,
int  lats,
int  longs,
bool  filled,
u32  col 
)

Draw a sphere (with normal).

Parameters:
rRadius of the sphere.
latsNumber of lattitudes.
longsNumber of longitutes.
filledWired or not.
colColor of the sphere.
void GRRLIB_DrawTessPanel ( f32  w,
f32  wstep,
f32  h,
f32  hstep,
bool  filled,
u32  col 
)

Draw a Tesselated pannel (with normal).

Parameters:
wWidth of the panel.
wstepSize of width slices.
hHeight of the pannel.
hstepSize the de height slices.
filledWired or not.
colColor in RGBA format.
void GRRLIB_DrawTile ( const f32  xpos,
const f32  ypos,
const GRRLIB_texImg tex,
const f32  degrees,
const f32  scaleX,
const f32  scaleY,
const u32  color,
const int  frame 
)

Draw a tile.

Parameters:
xposSpecifies the x-coordinate of the upper-left corner.
yposSpecifies the y-coordinate of the upper-left corner.
texThe texture containing the tile to draw.
degreesAngle of rotation.
scaleXSpecifies the x-coordinate scale. -1 could be used for flipping the texture horizontally.
scaleYSpecifies the y-coordinate scale. -1 could be used for flipping the texture vertically.
colorColor in RGBA format.
frameSpecifies the frame to draw.
void GRRLIB_DrawTileQuad ( const guVector  pos[4],
GRRLIB_texImg tex,
const u32  color,
const int  frame 
)

Draw a tile in a quad.

Parameters:
posVector array of the 4 points.
texThe texture to draw.
colorColor in RGBA format.
frameSpecifies the frame to draw.
void GRRLIB_DrawTorus ( f32  r,
f32  R,
int  nsides,
int  rings,
bool  filled,
u32  col 
)

Draw a torus (with normal).

Parameters:
rRadius of the ring.
RRadius of the torus.
nsidesNumber of faces per ring.
ringsNumber of rings.
filledWired or not.
colColor of the torus.
void GRRLIB_Exit ( void   )

Call this before exiting your application.

Ensure this function is only ever called once and only if the setup function has been called.

INLINE void GRRLIB_FillScreen ( const u32  color )

Clear screen with a specific color.

Parameters:
colorThe color to use to fill the screen.
INLINE void GRRLIB_FlushTex ( GRRLIB_texImg tex )

Write the contents of a texture in the data cache down to main memory.

For performance the CPU holds a data cache where modifications are stored before they get written down to main memory.

Parameters:
texThe texture to flush.
void GRRLIB_FreeBMF ( GRRLIB_bytemapFont bmf )

Free memory allocated by ByteMap fonts.

Parameters:
bmfA GRRLIB_bytemapFont structure.
INLINE void GRRLIB_FreeTexture ( GRRLIB_texImg tex )

Free memory allocated for texture.

Parameters:
texA GRRLIB_texImg structure.
void GRRLIB_FreeTTF ( GRRLIB_ttfFont myFont )

Free memory allocated by TTF fonts.

Parameters:
myFontA TTF.
void GRRLIB_GeckoPrintf ( const char *  text,
  ... 
)

Print Gecko.

Parameters:
textText to print.
...Optional arguments.
INLINE bool GRRLIB_GetAntiAliasing ( void   )

Get current anti-aliasing setting.

Returns:
True if anti-aliasing is enabled.
INLINE GRRLIB_blendMode GRRLIB_GetBlend ( void   )

Get the current blending mode.

Returns:
The current blending mode.
INLINE u32 GRRLIB_GetPixelFromFB ( int  x,
int  y 
)

Reads a pixel directly from the FrontBuffer.

Parameters:
xThe x-coordinate within the FB.
yThe y-coordinate within the FB.
Returns:
The color of a pixel in RGBA format.
INLINE u32 GRRLIB_GetPixelFromtexImg ( const int  x,
const int  y,
const GRRLIB_texImg tex 
)

Return the color value of a pixel from a GRRLIB_texImg.

Parameters:
xSpecifies the x-coordinate of the pixel in the texture.
ySpecifies the y-coordinate of the pixel in the texture.
texThe texture to get the color from.
Returns:
The color of a pixel in RGBA format.
INLINE void GRRLIB_GXEngine ( const guVector  v[],
const u32  color[],
const long  n,
const u8  fmt 
)

Draws a vector.

Parameters:
vThe vector to draw.
colorThe color of the vector in RGBA format.
nNumber of points in the vector.
fmtType of primitive.
int GRRLIB_Init ( void   )

Initialize GRRLIB.

Call this once at the beginning your code.

Returns:
A integer representating a code:
  • 0 : The operation completed successfully.
  • -1 : Not enough memory is available to initialize GRRLIB.
  • -2 : Failed to add the fat device driver to the devoptab.
  • -3 : Failed to initialize the font engine.
See also:
GRRLIB_Exit
void GRRLIB_InitTileSet ( GRRLIB_texImg tex,
const uint  tilew,
const uint  tileh,
const uint  tilestart 
)

Initialize a tile set.

Parameters:
texThe texture to initialize.
tilewWidth of the tile.
tilehHeight of the tile.
tilestartOffset for starting position (Used in fonts).
INLINE void GRRLIB_Line ( const f32  x1,
const f32  y1,
const f32  x2,
const f32  y2,
const u32  color 
)

Draw a line.

Parameters:
x1Starting point for line for the x coordinate.
y1Starting point for line for the y coordinate.
x2Ending point for line for the x coordinate.
y2Ending point for line for the x coordinate.
colorLine color in RGBA format.
Author:
JESPA
GRRLIB_bytemapFont* GRRLIB_LoadBMF ( const u8  my_bmf[] )

Load a ByteMap font structure from a buffer.

File format version 1.1 is used, more information could be found at http://bmf.wz.cz/bmf-format.htm

Parameters:
my_bmfThe ByteMap font buffer to load.
Returns:
A GRRLIB_bytemapFont structure filled with BMF information.
See also:
GRRLIB_FreeBMF
int GRRLIB_LoadFile ( const char *  filename,
unsigned char **  data 
)

Load a file to memory.

Parameters:
filenameName of the file to be loaded.
dataPointer-to-your-pointer. Ie. { u8 *data; GRRLIB_LoadFile("file", &data); }. It is your responsibility to free the memory allocated by this function.
Returns:
A integer representating a code:
  • 0 : EmptyFile.
  • -1 : FileNotFound.
  • -2 : OutOfMemory.
  • -3 : FileReadError.
  • >0 : FileLength.
GRRLIB_texImg* GRRLIB_LoadTexture ( const u8 *  my_img )

Load a texture from a buffer.

Parameters:
my_imgThe JPEG, PNG or Bitmap buffer to load.
Returns:
A GRRLIB_texImg structure filled with image information.
GRRLIB_texImg* GRRLIB_LoadTextureBMP ( const u8 *  my_bmp )

Load a texture from a buffer.

It only works for the MS-Windows standard format uncompressed (1-bit, 4-bit, 8-bit, 24-bit and 32-bit).

Parameters:
my_bmpthe Bitmap buffer to load.
Returns:
A GRRLIB_texImg structure filled with image information.
GRRLIB_texImg* GRRLIB_LoadTextureFromFile ( const char *  filename )

Load a texture from a file.

Parameters:
filenameThe JPEG, PNG or Bitmap filename to load.
Returns:
A GRRLIB_texImg structure filled with image information. If an error occurs NULL will be returned.
GRRLIB_texImg* GRRLIB_LoadTextureJPG ( const u8 *  my_jpg )

Load a texture from a buffer.

Take care to have the JPG finish with 0xFF 0xD9!

Parameters:
my_jpgThe JPEG buffer to load.
Returns:
A GRRLIB_texImg structure filled with image information.
GRRLIB_texImg* GRRLIB_LoadTextureJPGEx ( const u8 *  my_jpg,
const int  my_size 
)

Load a texture from a buffer.

Author:
DrTwox
Parameters:
my_jpgThe JPEG buffer to load.
my_sizeSize of the JPEG buffer to load.
Returns:
A GRRLIB_texImg structure filled with image information.
GRRLIB_texImg* GRRLIB_LoadTexturePNG ( const u8 *  my_png )

Load a texture from a buffer.

Parameters:
my_pngthe PNG buffer to load.
Returns:
A GRRLIB_texImg structure filled with image information. If image size is not correct, the texture will be completely transparent.
GRRLIB_ttfFont* GRRLIB_LoadTTF ( const u8 *  file_base,
s32  file_size 
)

Load a TTF from a buffer.

Parameters:
file_baseBuffer with TTF data. You must not deallocate the memory before calling GRRLIB_FreeTTF.
file_sizeSize of the TTF buffer.
Returns:
A handle to a given TTF font object.
See also:
GRRLIB_FreeTTF
INLINE void GRRLIB_NGone ( const guVector  v[],
const u32  color[],
const long  n 
)

Draw a polygon.

Parameters:
vThe vector containing the coordinates of the polygon.
colorThe color of the filled polygon in RGBA format.
nNumber of points in the vector.
INLINE void GRRLIB_NGoneFilled ( const guVector  v[],
const u32  color[],
const long  n 
)

Draw a filled polygon.

Parameters:
vThe vector containing the coordinates of the polygon.
colorThe color of the filled polygon in RGBA format.
nNumber of points in the vector.
INLINE void GRRLIB_NPlot ( const guVector  v[],
const u32  color[],
const long  n 
)

Draw an array of points.

Parameters:
vArray containing the points.
colorThe color of the points in RGBA format.
nNumber of points in the vector array.
void GRRLIB_ObjectView ( f32  posx,
f32  posy,
f32  posz,
f32  angx,
f32  angy,
f32  angz,
f32  scalx,
f32  scaly,
f32  scalz 
)

Set the view matrix to draw object (in this order scale, rotate AND trans).

Parameters:
posxx position of the object.
posyy position of the object.
poszz position of the object.
angxx rotation angle of the object.
angyy rotation angle of the object.
angzz rotation angle of the object.
scalxx scale of the object.
scalyy scale of the object.
scalzz scale of the object.
void GRRLIB_ObjectViewInv ( f32  posx,
f32  posy,
f32  posz,
f32  angx,
f32  angy,
f32  angz,
f32  scalx,
f32  scaly,
f32  scalz 
)

Set the view matrix to draw object (in this order scale, trans AND rotate).

Parameters:
posxx position of the object.
posyy position of the object.
poszz position of the object.
angxx rotation angle of the object.
angyy rotation angle of the object.
angzz rotation angle of the object.
scalxx scale of the object.
scalyy scale of the object.
scalzz scale of the object.
void GRRLIB_ObjectViewRotate ( f32  angx,
f32  angy,
f32  angz 
)

Rotate the object matrix to draw object .

Parameters:
angxx rotation angle of the object.
angyy rotation angle of the object.
angzz rotation angle of the object.
void GRRLIB_ObjectViewScale ( f32  scalx,
f32  scaly,
f32  scalz 
)

Scale the object matrix to draw object.

Parameters:
scalxx scale of the object.
scalyy scale of the object.
scalzz scale of the object.
void GRRLIB_ObjectViewTrans ( f32  posx,
f32  posy,
f32  posz 
)

Translate the object matrix to draw object.

Parameters:
posxx position of the object.
posyy position of the object.
poszz position of the object.
INLINE void GRRLIB_Plot ( const f32  x,
const f32  y,
const u32  color 
)

Draw a dot.

Parameters:
xSpecifies the x-coordinate of the dot.
ySpecifies the y-coordinate of the dot.
colorThe color of the dot in RGBA format.
Author:
Jespa
void GRRLIB_PrintBMF ( const f32  xpos,
const f32  ypos,
const GRRLIB_bytemapFont bmf,
const char *  text,
  ... 
)

Print formatted output with a ByteMap font.

This function could be slow, it should be used with GRRLIB_CompoStart and GRRLIB_CompoEnd.

Parameters:
xposSpecifies the x-coordinate of the upper-left corner of the text.
yposSpecifies the y-coordinate of the upper-left corner of the text.
bmfThe ByteMap font to use.
textText to draw.
...Optional arguments.
void GRRLIB_Printf ( const f32  xpos,
const f32  ypos,
const GRRLIB_texImg tex,
const u32  color,
const f32  zoom,
const char *  text,
  ... 
)

Print formatted output.

Parameters:
xposSpecifies the x-coordinate of the upper-left corner of the text.
yposSpecifies the y-coordinate of the upper-left corner of the text.
texThe texture containing the character set.
colorText color in RGBA format. The alpha channel is used to change the opacity of the text.
zoomThis is a factor by which the text size will be increase or decrease.
textText to draw.
...Optional arguments.
void GRRLIB_PrintfTTF ( int  x,
int  y,
GRRLIB_ttfFont myFont,
const char *  string,
unsigned int  fontSize,
const u32  color 
)

Print function for TTF font.

Parameters:
xSpecifies the x-coordinate of the upper-left corner of the text.
ySpecifies the y-coordinate of the upper-left corner of the text.
myFontA TTF.
stringText to draw.
fontSizeSize of the font.
colorText color in RGBA format.
void GRRLIB_PrintfTTFW ( int  x,
int  y,
GRRLIB_ttfFont myFont,
const wchar_t *  utf32,
unsigned int  fontSize,
const u32  color 
)

Print function for TTF font.

Author:
wplaat and DrTwox
Parameters:
xSpecifies the x-coordinate of the upper-left corner of the text.
ySpecifies the y-coordinate of the upper-left corner of the text.
myFontA TTF.
utf32Text to draw.
fontSizeSize of the font.
colorText color in RGBA format.
INLINE bool GRRLIB_PtInRect ( const int  hotx,
const int  hoty,
const int  hotw,
const int  hoth,
const int  wpadx,
const int  wpady 
)

Determine whether the specified point lies within the specified rectangle.

Parameters:
hotxSpecifies the x-coordinate of the upper-left corner of the rectangle.
hotySpecifies the y-coordinate of the upper-left corner of the rectangle.
hotwThe width of the rectangle.
hothThe height of the rectangle.
wpadxSpecifies the x-coordinate of the point.
wpadySpecifies the y-coordinate of the point.
Returns:
If the specified point lies within the rectangle, the return value is true otherwise it's false.
INLINE void GRRLIB_Rectangle ( const f32  x,
const f32  y,
const f32  width,
const f32  height,
const u32  color,
const u8  filled 
)

Draw a rectangle.

Parameters:
xSpecifies the x-coordinate of the upper-left corner of the rectangle.
ySpecifies the y-coordinate of the upper-left corner of the rectangle.
widthThe width of the rectangle.
heightThe height of the rectangle.
colorThe color of the rectangle in RGBA format.
filledSet to true to fill the rectangle.
INLINE bool GRRLIB_RectInRect ( const int  rect1x,
const int  rect1y,
const int  rect1w,
const int  rect1h,
const int  rect2x,
const int  rect2y,
const int  rect2w,
const int  rect2h 
)

Determine whether a specified rectangle lies within another rectangle.

Parameters:
rect1xSpecifies the x-coordinate of the upper-left corner of the rectangle.
rect1ySpecifies the y-coordinate of the upper-left corner of the rectangle.
rect1wSpecifies the width of the rectangle.
rect1hSpecifies the height of the rectangle.
rect2xSpecifies the x-coordinate of the upper-left corner of the rectangle.
rect2ySpecifies the y-coordinate of the upper-left corner of the rectangle.
rect2wSpecifies the width of the rectangle.
rect2hSpecifies the height of the rectangle.
Returns:
If the specified rectangle lies within the other rectangle, the return value is true otherwise it's false.
INLINE bool GRRLIB_RectOnRect ( const int  rect1x,
const int  rect1y,
const int  rect1w,
const int  rect1h,
const int  rect2x,
const int  rect2y,
const int  rect2w,
const int  rect2h 
)

Determine whether a part of a specified rectangle lies on another rectangle.

Parameters:
rect1xSpecifies the x-coordinate of the upper-left corner of the first rectangle.
rect1ySpecifies the y-coordinate of the upper-left corner of the first rectangle.
rect1wSpecifies the width of the first rectangle.
rect1hSpecifies the height of the first rectangle.
rect2xSpecifies the x-coordinate of the upper-left corner of the second rectangle.
rect2ySpecifies the y-coordinate of the upper-left corner of the second rectangle.
rect2wSpecifies the width of the second rectangle.
rect2hSpecifies the height of the second rectangle.
Returns:
If the specified rectangle lies on the other rectangle, the return value is true otherwise it's false.
void GRRLIB_Screen2Texture ( int  posx,
int  posy,
GRRLIB_texImg tex,
bool  clear 
)

Make a snapshot of the screen in a texture WITHOUT ALPHA LAYER.

Parameters:
posxtop left corner of the grabbed part.
posytop left corner of the grabbed part.
texA pointer to a texture representing the screen or NULL if an error occurs.
clearWhen this flag is set to true, the screen is cleared after copy.
bool GRRLIB_ScrShot ( const char *  filename )

Make a PNG screenshot.

It should be called after drawing stuff on the screen, but before GRRLIB_Render. libfat is required to use the function.

Parameters:
filenameName of the file to write.
Returns:
bool true=everything worked, false=problems occurred.
INLINE void GRRLIB_SetAntiAliasing ( const bool  aa )

Turn anti-aliasing on/off.

Parameters:
aaSet to true to enable anti-aliasing (Default: Enabled).
void GRRLIB_SetBackgroundColour ( u8  r,
u8  g,
u8  b,
u8  a 
)

Set the background parameter when screen is cleared.

Parameters:
rRed component.
gGreen component.
bBlue component.
aAlpha component.
INLINE void GRRLIB_SetBlend ( const GRRLIB_blendMode  blendmode )

Set a blending mode.

Parameters:
blendmodeThe blending mode to use (Default: GRRLIB_BLEND_ALPHA).
INLINE void GRRLIB_SetHandle ( GRRLIB_texImg tex,
const int  x,
const int  y 
)

Set a texture's X and Y handles.

For example, it could be used for the rotation of a texture.

Parameters:
texThe texture to set the handle on.
xThe x-coordinate of the handle.
yThe y-coordinate of the handle.
void GRRLIB_SetLightAmbient ( u32  ambientcolor )

Set ambient color.

When no diffuse ligth is shinig on a object, the color is equal to ambient color.

Parameters:
ambientcolorAmbient color in RGBA format.
void GRRLIB_SetLightDiff ( u8  num,
guVector  pos,
f32  distattn,
f32  brightness,
u32  lightcolor 
)

Set diffuse light parameters.

Parameters:
numNumber of the light. It's a number from 0 to 7.
posPosition of the diffuse light (x/y/z).
distattnDistance attenuation.
brightnessBrightness of the light. The value should be between 0 and 1.
lightcolorColor of the light in RGBA format.
void GRRLIB_SetLightSpec ( u8  num,
guVector  dir,
f32  shy,
u32  lightcolor,
u32  speccolor 
)

Set specular light parameters.

Parameters:
numNumber of the light. It's a number from 0 to 7.
dirDirection of the specular ray (x/y/z).
shyShyniness of the specular. ( between 4 and 254)
lightcolorColor of the light in RGBA format.
speccolorSpecular color in RGBA format..
void GRRLIB_SetLightSpot ( u8  num,
guVector  pos,
guVector  lookat,
f32  angAttn0,
f32  angAttn1,
f32  angAttn2,
f32  distAttn0,
f32  distAttn1,
f32  distAttn2,
u32  lightcolor 
)

Set Spot light parameters.

Parameters:
numNumber of the light. It's a number from 0 to 7.
posPosition of the spot light (x/y/z).
lookatWhere spot light look at (x/y/z).
angAttn0cone attenuation factor 0.
angAttn1cone attenuation factor 1.
angAttn2cone attenuation factor 2.
distAttn0Distance attenuation factor 0.
distAttn1Distance attenuation factor 1.
distAttn2Distance attenuation factor 2.
lightcolorColor of the light in RGBA format.
INLINE void GRRLIB_SetMidHandle ( GRRLIB_texImg tex,
const bool  enabled 
)

Center a texture's handles.

For example, it could be used for the rotation of a texture.

Parameters:
texThe texture to center.
enabled
INLINE void GRRLIB_SetPixelToFB ( int  x,
int  y,
u32  pokeColor 
)

Writes a pixel directly from the FrontBuffer.

Parameters:
xThe x-coordinate within the FB.
yThe y-coordinate within the FB.
pokeColorThe color of the pixel in RGBA format.
INLINE void GRRLIB_SetPixelTotexImg ( const int  x,
const int  y,
GRRLIB_texImg tex,
const u32  color 
)

Set the color value of a pixel to a GRRLIB_texImg.

See also:
GRRLIB_FlushTex
Parameters:
xSpecifies the x-coordinate of the pixel in the texture.
ySpecifies the y-coordinate of the pixel in the texture.
texThe texture to set the color to.
colorThe color of the pixel in RGBA format.
void GRRLIB_SetTexture ( GRRLIB_texImg tex,
bool  rep 
)

Set the texture to an object (contributed by chris_c aka DaShAmAn).

Parameters:
texPointer to an image texture (GRRLIB_texImg format).
repTexture Repeat Mode, True will repeat it, False won't.
unsigned int GRRLIB_WidthTTF ( GRRLIB_ttfFont myFont,
const char *  string,
unsigned int  fontSize 
)

Get the width of a text in pixel.

Parameters:
myFontA TTF.
stringThe text to check.
fontSizeThe size of the font.
Returns:
The width of a text in pixel.
unsigned int GRRLIB_WidthTTFW ( GRRLIB_ttfFont myFont,
const wchar_t *  utf32,
unsigned int  fontSize 
)

Get the width of a text in pixel.

Parameters:
myFontA TTF.
utf32The text to check.
fontSizeThe size of the font.
Returns:
The width of a text in pixel.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines