Difference between revisions of "C Library Commands and How to Use Them"
From Learn @ Cemetech
Jump to navigationJump to search (Created page with "=Introduction= ---- This guide will eventually list almost every C Library command in the SDK, and give a detailed explanation on how to use each one. ---- ==Graphics Commands...") |
|||
Line 10: | Line 10: | ||
This command is useful to set room aside in the program for new sprites you will create with ''gfx_GetSprite'' and/or for sprites to need to decompress. | This command is useful to set room aside in the program for new sprites you will create with ''gfx_GetSprite'' and/or for sprites to need to decompress. | ||
− | '''In the graphx.h file:''' | + | '''gfx_AllocSprite() In the graphx.h file:''' |
/** | /** | ||
* Allocates room on the heap for sprite data of given size | * Allocates room on the heap for sprite data of given size | ||
Line 23: | Line 23: | ||
*malloc_routine - Not exactly sure what this does, just put ''malloc'' when writing the command | *malloc_routine - Not exactly sure what this does, just put ''malloc'' when writing the command | ||
− | Ok, so now we're going to show you how to use | + | '''gfx_GetSprite() In the graphx.h file:''' |
+ | /** | ||
+ | * Quickly grab the background behind a sprite (useful for transparency) | ||
+ | * sprite_buffer must be pointing to a large enough buffer to hold width*height number of bytes | ||
+ | * A pointer to sprite_buffer is also returned for ease of use. | ||
+ | * sprite_buffer is updated with the screen coordinates given. | ||
+ | */ | ||
+ | gfx_image_t *gfx_GetSprite_NoClip(gfx_image_t *sprite_buffer, uint24_t x, uint8_t y); | ||
+ | *sprite_buffer - The name of the sprite you want to create, the one defined with AllocSprite | ||
+ | *x - The x position on teh screen to display the sprite | ||
+ | *y - The y position on the screen to display the sprite | ||
+ | |||
+ | Ok, so now we're going to show you how to use both commands. Check this example code out, to be explained afterwards. | ||
//Make this a global: | //Make this a global: | ||
− | gfx_image_t spriteName | + | gfx_image_t *spriteName |
malloc(0); | malloc(0); | ||
spriteName = gfx_AllocSprite(30, 40, malloc); | spriteName = gfx_AllocSprite(30, 40, malloc); |
Revision as of 03:22, 3 September 2016
Introduction
This guide will eventually list almost every C Library command in the SDK, and give a detailed explanation on how to use each one.
Graphics Commands
Here you will find all of the Graphx library commands
gfx_AllocSprite and gfx_GetSprite
This command is useful to set room aside in the program for new sprites you will create with gfx_GetSprite and/or for sprites to need to decompress.
gfx_AllocSprite() In the graphx.h file:
/** * Allocates room on the heap for sprite data of given size * Takes a pointer to the routine used for malloc as well * Returns NULL upon failure to allocate space, otherwise a pointer to the sprite structure * Note that if you use the system malloc routine, it must be used elsewhere in your program * otherwise it will not be linked correctly */ gfx_image_t *gfx_AllocSprite(uint8_t width, uint8_t height, void *malloc_routine);
- width - The width of the sprite you want to decompress or create
- height - The height of the sprite you want to decompress or create
- malloc_routine - Not exactly sure what this does, just put malloc when writing the command
gfx_GetSprite() In the graphx.h file:
/** * Quickly grab the background behind a sprite (useful for transparency) * sprite_buffer must be pointing to a large enough buffer to hold width*height number of bytes * A pointer to sprite_buffer is also returned for ease of use. * sprite_buffer is updated with the screen coordinates given. */ gfx_image_t *gfx_GetSprite_NoClip(gfx_image_t *sprite_buffer, uint24_t x, uint8_t y);
- sprite_buffer - The name of the sprite you want to create, the one defined with AllocSprite
- x - The x position on teh screen to display the sprite
- y - The y position on the screen to display the sprite
Ok, so now we're going to show you how to use both commands. Check this example code out, to be explained afterwards.
//Make this a global: gfx_image_t *spriteName malloc(0); spriteName = gfx_AllocSprite(30, 40, malloc); gfx_GetSprite(spriteName, 20, 50);
- gfx_image_t spriteName defines the sprite variable
- malloc(0); sets that malloc value to 0
- spriteName = gfx_AllocSprite(30, 40, malloc); sets spriteName to the width and height of the next few values
- gfx_GetSprite(spriteName, 20, 50); grabs a sprite the dimensions of spriteName at x-20 and y-50, and sets it to spriteName, to be called later as a sprite