Defines | |
#define | PA_HideBg(screen, bg_select) _REG16(REG_BGSCREEN(screen)) &= ~(0x100 << (bg_select)) |
Hide a screen's background. | |
#define | PA_ShowBg(screen, bg_select) _REG16(REG_BGSCREEN(screen)) |= (0x100 << (bg_select)) |
Show a hidden background. | |
#define | PA_ResetBg(screen) _REG16(REG_BGSCREEN(screen)) &= ~(0xF00) |
Reinitialize de Bg system of a screen. It only hides all the backgrounds in reality... | |
#define | PA_LoadBgTiles(screen, bg_select, bg_tiles) PA_LoadBgTilesEx(screen, bg_select, (void*)bg_tiles, SIZEOF_16BIT(bg_tiles)) |
Load a tileset into memory. | |
#define | PA_LoadTiledBg(screen, bg_number, bg_name) |
This will never get easier... Loads a background TiledBg converted with PAGfx, with it's tiles, map, and palette. Only 256 color mode available. | |
#define | PA_LoadSimpleBg(screen, bg_select, bg_tiles, bg_map, bg_size, wraparound, color_mode) |
Simple way to load a Background. Combines PA_InitBg, PA_LoadBgTiles, and PA_LoadBgMap. | |
#define | PA_LoadBg(screen, bg_select, bg_tiles, tile_size, bg_map, bg_size, wraparound, color_mode) |
Simplest way to load a Background. Combines PA_InitBg, PA_LoadBgTiles, and PA_LoadBgMap. | |
#define | PA_SetMapTileAll(screen, bg_select, x, y, tile_info) *(u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)) = (tile_info) |
Change the tile info used by a given tile in the map. | |
#define | PA_EasyBgLoad(screen, bg_number, bg_name) |
#define | PA_EasyBgLoadPtr(screen, bg_number, bg_name) PA_EasyBgLoadEx(screen, bg_number, (u32*)bg_name->Info, bg_name->Tiles, bg_name->TileSize, bg_name->Map, bg_name->MapSize, bg_name->Palette) |
Easiest way to load a background converted with PAGfx... Can take pointers ! | |
Functions | |
void | PA_ResetBgSys (void) |
Reset the background system. | |
void | PA_ResetBgSysScreen (u8 screen) |
Reset the background system on 1 screen. | |
void | PA_InitBg (u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode) |
Initialise a given background. Do this only after having loaded a tileset and a map. | |
void | PA_LoadBgTilesEx (u8 screen, u8 bg_select, void *bg_tiles, u32 size) |
Load a tileset into memory with a given size. | |
void | PA_ReLoadBgTiles (u8 screen, u8 bg_select, void *bg_tiles) |
ReLoad a tileset into memory. | |
void | PA_DeleteTiles (u8 screen, u8 bg_select) |
Delete a tilest in memory. Note that loading a tileset automatically deletes the preceding one, so you won't need to use this function often. | |
void | PA_DeleteMap (u8 screen, u8 bg_select) |
Delete a map in memory. Note that loading a map automatically deletes the preceding one, so you won't need to use this function often. | |
void | PA_DeleteBg (u8 screen, u8 bg_select) |
Delete and reset a complete background. | |
void | PA_LoadBgMap (u8 screen, u8 bg_select, void *bg_map, u8 bg_size) |
Load a background's map info. | |
void | PA_BGScrollX (u8 screen, u8 bg_number, s32 x) |
Scroll horizontaly a Tiled background. | |
void | PA_BGScrollY (u8 screen, u8 bg_number, s32 y) |
Scroll vertically a Tiled background. | |
void | PA_BGScrollXY (u8 screen, u8 bg_number, s32 x, s32 y) |
void | PA_SetMapTile (u8 screen, u8 bg_select, s16 x, s16 y, s16 tile_number) |
Change the tile gfx used by a given tile in the map. | |
void | PA_SetLargeMapTile (u8 screen, u8 bg_select, s32 x, s32 y, u32 tile_info) |
Change the tile info used by a given tile in the map, only for big background (512 large or wide). | |
void | PA_SetMapTileHflip (u8 screen, u8 bg_select, u8 x, u8 y, u8 hflip) |
Flip a given tile horizontaly. | |
void | PA_SetMapTileVflip (u8 screen, u8 bg_select, u8 x, u8 y, u8 vflip) |
void | PA_SetMapTilePal (u8 screen, u8 bg_select, u8 x, u8 y, u8 palette_number) |
Change the 16 color palette used by a tile. Works only if the Bg is in 16 colors... | |
void | PA_SetMapTileEx (u8 screen, u8 bg_select, s16 x, s16 y, u16 tile_number, u8 hflip, u8 vflip, u8 palette_number) |
void | PA_SetBgPrio (u8 screen, u8 bg, u8 prio) |
Change a backgrounds priority. | |
void | PA_CreateBgFromTiles (u8 screen, u8 bg_select, u8 bg_tiles, void *bg_map, u8 bg_size) |
void | PA_SetBgPrioSeq (u8 screen, u8 priority0, u8 priority1, u8 priority2, u8 priority3) |
Change all the background priorities to a given background order. | |
void | PA_ClearBg (u8 screen, u8 bg_select) |
Erase a given background (just the tilemap). | |
void | PA_EasyBgScrollX (u8 screen, u8 bg_number, s32 x) |
Scroll horizontaly any background. | |
void | PA_EasyBgScrollY (u8 screen, u8 bg_number, s32 y) |
Scroll vertically any background. | |
void | PA_EasyBgScrollXY (u8 screen, u8 bg_number, s32 x, s32 y) |
Scroll horizontaly and vertically any background. | |
u8 | PA_EasyBgGetPixel (u8 screen, u8 bg_number, s32 x, s32 y) |
Returns the color (number in the palette) of the screen pixel... | |
u16 | PA_EasyBgGetPixelCol (u8 screen, u8 bg_number, s32 x, s32 y) |
Returns the color (u16 value) of the screen pixel... | |
void | PA_SetBgWrap (u8 screen, u8 bg, u8 wrap) |
Set on/off the background wrapping (for rotating, 8bit, and 16bit backgrounds). |
#define PA_EasyBgLoad | ( | screen, | |||
bg_number, | |||||
bg_name | ) |
Value:
{PA_BgInfo[screen][bg_number].BgMode = bg_name##_Info[0];\ PA_StoreEasyBgInfos(screen, bg_number, bg_name##_Info[0], bg_name##_Info[1], bg_name##_Info[2], (void*)bg_name##_Tiles, SIZEOF_16BIT(bg_name##_Tiles), (void*)bg_name##_Map, SIZEOF_16BIT(bg_name##_Map), (void*)bg_name##_Pal);\ if(PA_BgInfo[screen][bg_number].BgMode == BG_TILEDBG){ PA_LoadTiledBg(screen, bg_number, bg_name);}\ else{PA_LoadPAGfxLargeBg(screen, bg_number, bg_name);}}
define PA_EasyBgLoadPtr | ( | screen, | |||
bg_number, | |||||
bg_name | ) | PA_EasyBgLoadEx(screen, bg_number, (u32*)bg_name->Info, bg_name->Tiles, bg_name->TileSize, bg_name->Map, bg_name->MapSize, bg_name->Palette) |
Easiest way to load a background converted with PAGfx... Can take pointers !
screen | Choose de screen (0 or 1) | |
bg_number | Background number... (0-3) | |
bg_name | Background, like &bg0 |
#define PA_HideBg | ( | screen, | |||
bg_select | ) | _REG16(REG_BGSCREEN(screen)) &= ~(0x100 << (bg_select)) |
Hide a screen's background.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) |
#define PA_LoadBg | ( | screen, | |||
bg_select, | |||||
bg_tiles, | |||||
tile_size, | |||||
bg_map, | |||||
bg_size, | |||||
wraparound, | |||||
color_mode | ) |
Value:
{\ PA_LoadBgTilesEx(screen, bg_select, (void*)bg_tiles, tile_size); \ PA_LoadBgMap(screen, bg_select, (void*)bg_map, bg_size); \ PA_InitBg(screen, bg_select, bg_size, 0, color_mode);\ PA_BGScrollXY(screen, bg_select, 0, 0);}
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) | |
bg_tiles | Name of the tiles' info (example: ship_Tiles) | |
tile_size | Size of your tileset | |
bg_map | Name of the map's info (example : ship_Map) | |
bg_size | Background size. This is important, because it also determines whether the Bg is rotatable or not. To use a normal background, use the macros BG_256X256, BG_256X512, etc... For a rotatable Bg, use the macros BG_ROT_128X128... | |
wraparound | If the background wraps around or not. More important for rotating backgrounds. | |
color_mode | Color mode : 0 for 16 color mode, 1 for 256... |
#define PA_LoadBgTiles | ( | screen, | |||
bg_select, | |||||
bg_tiles | ) | PA_LoadBgTilesEx(screen, bg_select, (void*)bg_tiles, SIZEOF_16BIT(bg_tiles)) |
Load a tileset into memory.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) | |
bg_tiles | Name of the tiles' info (example: ship_Tiles) |
#define PA_LoadSimpleBg | ( | screen, | |||
bg_select, | |||||
bg_tiles, | |||||
bg_map, | |||||
bg_size, | |||||
wraparound, | |||||
color_mode | ) |
Value:
{\ PA_DeleteBg(screen, bg_select);\ PA_LoadBgTiles(screen, bg_select, bg_tiles); \ PA_LoadBgMap(screen, bg_select, (void*)bg_map, bg_size); \ PA_InitBg(screen, bg_select, bg_size, 0, color_mode);\ PA_BGScrollXY(screen, bg_select, 0, 0);}
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) | |
bg_tiles | Name of the tiles' info (example: ship_Tiles) | |
bg_map | Name of the map's info (example : ship_Map) | |
bg_size | Background size. To use a normal background, use the macros BG_256X256, BG_256X512, etc... | |
wraparound | If the background wraps around or not. More important for rotating backgrounds. | |
color_mode | Color mode : 0 for 16 color mode, 1 for 256... |
#define PA_LoadTiledBg | ( | screen, | |||
bg_number, | |||||
bg_name | ) |
Value:
{\ PA_LoadBgPal(screen, bg_number, (void*)bg_name##_Pal); \ PA_LoadSimpleBg(screen, bg_number, bg_name##_Tiles, bg_name##_Map, PA_GetPAGfxBgSize(bg_name##_Info[1], bg_name##_Info[2]), 0, 1);}
screen | Chose de screen (0 or 1) | |
bg_number | Background number to load (from 0 to 3) | |
bg_name | Background name, like bg0 |
#define PA_ResetBg | ( | screen | ) | _REG16(REG_BGSCREEN(screen)) &= ~(0xF00) |
Reinitialize de Bg system of a screen. It only hides all the backgrounds in reality...
screen | Chose de screen (0 or 1) |
#define PA_SetMapTileAll | ( | screen, | |||
bg_select, | |||||
x, | |||||
y, | |||||
tile_info | ) | *(u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)) = (tile_info) |
Change the tile info used by a given tile in the map.
screen | Chose de screen (0 or 1) | |
bg_select | Background number (0-3) | |
x | X value of the tile to change | |
y | Y value of the map tile to change | |
tile_info | New tile to put (tile + palette + flips...) |
#define PA_ShowBg | ( | screen, | |||
bg_select | ) | _REG16(REG_BGSCREEN(screen)) |= (0x100 << (bg_select)) |
Show a hidden background.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) |
inline void PA_BGScrollX | ( | u8 | screen, | |
u8 | bg_number, | |||
s32 | x | |||
) | [inline] |
Scroll horizontaly a Tiled background.
screen | Chose de screen (0 or 1) | |
bg_number | Background number (0-3) | |
x | X value to scroll |
void PA_BGScrollXY | ( | u8 | screen, | |
u8 | bg_number, | |||
s32 | x, | |||
s32 | y | |||
) | [inline] |
inline void PA_BGScrollY | ( | u8 | screen, | |
u8 | bg_number, | |||
s32 | y | |||
) | [inline] |
Scroll vertically a Tiled background.
screen | Chose de screen (0 or 1) | |
bg_number | Background number (0-3) | |
y | Y value to scroll |
inline void PA_ClearBg | ( | u8 | screen, | |
u8 | bg_select | |||
) | [inline] |
Erase a given background (just the tilemap).
screen | Choose de screen (0 or 1) | |
bg_select | Background... |
void PA_CreateBgFromTiles | ( | u8 | screen, | |
u8 | bg_select, | |||
u8 | bg_tiles, | |||
void * | bg_map, | |||
u8 | bg_size | |||
) | [inline] |
inline void PA_DeleteBg | ( | u8 | screen, | |
u8 | bg_select | |||
) | [inline] |
Delete and reset a complete background.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) |
void PA_DeleteMap | ( | u8 | screen, | |
u8 | bg_select | |||
) |
Delete a map in memory. Note that loading a map automatically deletes the preceding one, so you won't need to use this function often.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) |
void PA_DeleteTiles | ( | u8 | screen, | |
u8 | bg_select | |||
) |
Delete a tilest in memory. Note that loading a tileset automatically deletes the preceding one, so you won't need to use this function often.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) |
inline u8 PA_EasyBgGetPixel | ( | u8 | screen, | |
u8 | bg_number, | |||
s32 | x, | |||
s32 | y | |||
) | [inline] |
Returns the color (number in the palette) of the screen pixel...
screen | Chose de screen (0 or 1) | |
bg_number | Background number (0-3) | |
x | X screen pixel position | |
y | Y screen pixel position |
inline u16 PA_EasyBgGetPixelCol | ( | u8 | screen, | |
u8 | bg_number, | |||
s32 | x, | |||
s32 | y | |||
) | [inline] |
Returns the color (u16 value) of the screen pixel...
screen | Chose de screen (0 or 1) | |
bg_number | Background number (0-3) | |
x | X screen pixel position | |
y | Y screen pixel position |
void PA_EasyBgScrollX | ( | u8 | screen, | |
u8 | bg_number, | |||
s32 | x | |||
) |
Scroll horizontaly any background.
screen | Chose de screen (0 or 1) | |
bg_number | Background number (0-3) | |
x | X value to scroll |
inline void PA_EasyBgScrollXY | ( | u8 | screen, | |
u8 | bg_number, | |||
s32 | x, | |||
s32 | y | |||
) | [inline] |
Scroll horizontaly and vertically any background.
screen | Chose de screen (0 or 1) | |
bg_number | Background number (0-3) | |
x | X value to scroll | |
y | Y value to scroll |
void PA_EasyBgScrollY | ( | u8 | screen, | |
u8 | bg_number, | |||
s32 | y | |||
) |
Scroll vertically any background.
screen | Chose de screen (0 or 1) | |
bg_number | Background number (0-3) | |
y | Y value to scroll |
void PA_InitBg | ( | u8 | screen, | |
u8 | bg_select, | |||
u8 | bg_size, | |||
u8 | wraparound, | |||
u8 | color_mode | |||
) |
Initialise a given background. Do this only after having loaded a tileset and a map.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) | |
bg_size | Background size. This is important, because it also determines whether the Bg is rotatable or not. To use a normal background, use the macros BG_256X256, BG_256X512, etc... For a rotatable Bg, use the macros BG_ROT_128X128... | |
wraparound | If the background wraps around or not. More important for rotating backgrounds. | |
color_mode | Color mode : 0 for 16 color mode, 1 for 256... |
void PA_LoadBgMap | ( | u8 | screen, | |
u8 | bg_select, | |||
void * | bg_map, | |||
u8 | bg_size | |||
) |
Load a background's map info.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) | |
bg_map | Name of the map's info (example : (void*)ship_Map) Don't forget the void... | |
bg_size | Background size. This is important, because it also determines whether the Bg is rotatable or not. To use a normal background, use the macros BG_256X256, BG_256X512, etc... |
void PA_LoadBgTilesEx | ( | u8 | screen, | |
u8 | bg_select, | |||
void * | bg_tiles, | |||
u32 | size | |||
) |
Load a tileset into memory with a given size.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) | |
bg_tiles | Name of the tiles' info (example: ship_Tiles) | |
size | 16 bit size... |
void PA_ReLoadBgTiles | ( | u8 | screen, | |
u8 | bg_select, | |||
void * | bg_tiles | |||
) |
ReLoad a tileset into memory.
screen | Chose de screen (0 or 1) | |
bg_select | Background number to load (from 0 to 3) | |
bg_tiles | Name of the tiles' info (example: ship_Tiles) |
void PA_ResetBgSys | ( | void | ) |
Reset the background system.
void PA_ResetBgSysScreen | ( | u8 | screen | ) |
Reset the background system on 1 screen.
screen | Chose de screen (0 or 1) |
inline void PA_SetBgPrio | ( | u8 | screen, | |
u8 | bg, | |||
u8 | prio | |||
) | [inline] |
Change a backgrounds priority.
screen | Chose de screen (0 or 1) | |
bg | Background... | |
prio | Priority level (0-3, 0 being the highest) |
inline void PA_SetBgPrioSeq | ( | u8 | screen, | |
u8 | priority0, | |||
u8 | priority1, | |||
u8 | priority2, | |||
u8 | priority3 | |||
) | [inline] |
Change all the background priorities to a given background order.
screen | Chose de screen (0 or 1) | |
priority0 | Background to show on top | |
priority1 | Next one... | |
priority2 | Next one... | |
priority2 | Last one... |
inline void PA_SetBgWrap | ( | u8 | screen, | |
u8 | bg, | |||
u8 | wrap | |||
) | [inline] |
Set on/off the background wrapping (for rotating, 8bit, and 16bit backgrounds).
screen | Chose de screen (0 or 1) | |
bg | Background number (0-3) | |
wrap | Wrap around on or off... |
inline void PA_SetLargeMapTile | ( | u8 | screen, | |
u8 | bg_select, | |||
s32 | x, | |||
s32 | y, | |||
u32 | tile_info | |||
) | [inline] |
Change the tile info used by a given tile in the map, only for big background (512 large or wide).
screen | Chose de screen (0 or 1) | |
bg_select | Background number (0-3) | |
x | X value of the tile to change | |
y | Y value of the map tile to change | |
tile_info | New tile to put (tile + palette + flips...) |
inline void PA_SetMapTile | ( | u8 | screen, | |
u8 | bg_select, | |||
s16 | x, | |||
s16 | y, | |||
s16 | tile_number | |||
) | [inline] |
Change the tile gfx used by a given tile in the map.
screen | Chose de screen (0 or 1) | |
bg_select | Background number (0-3) | |
x | X value of the tile to change | |
y | Y value of the map tile to change | |
tile_number | New tile number to put |
void PA_SetMapTileEx | ( | u8 | screen, | |
u8 | bg_select, | |||
s16 | x, | |||
s16 | y, | |||
u16 | tile_number, | |||
u8 | hflip, | |||
u8 | vflip, | |||
u8 | palette_number | |||
) | [inline] |
void PA_SetMapTileHflip | ( | u8 | screen, | |
u8 | bg_select, | |||
u8 | x, | |||
u8 | y, | |||
u8 | hflip | |||
) | [inline] |
Flip a given tile horizontaly.
screen | Chose de screen (0 or 1) | |
bg_select | Background number (0-3) | |
x | X value of the tile to change | |
y | Y value of the map tile to change | |
hflip | Set the map tile to horizontal flip |
inline void PA_SetMapTilePal | ( | u8 | screen, | |
u8 | bg_select, | |||
u8 | x, | |||
u8 | y, | |||
u8 | palette_number | |||
) | [inline] |
Change the 16 color palette used by a tile. Works only if the Bg is in 16 colors...
screen | Chose de screen (0 or 1) | |
bg_select | Background number (0-3) | |
x | X value of the tile to change | |
y | Y value of the map tile to change | |
palette_number | Palette number (0-15) |
void PA_SetMapTileVflip | ( | u8 | screen, | |
u8 | bg_select, | |||
u8 | x, | |||
u8 | y, | |||
u8 | vflip | |||
) | [inline] |