chore: Re-encode text files as UTF-8

This commit is contained in:
Antonio Niño Díaz 2025-01-13 22:37:05 +00:00
parent bae63a54e9
commit d0eb8f9865
50 changed files with 1185 additions and 1185 deletions

View File

@ -41,7 +41,7 @@ int main()
"Hello World", // Text "Hello World", // Text
1, // Text palette color (0-255) 1, // Text palette color (0-255)
0, // Text size (0-4) 0, // Text size (0-4)
0, // Text mode (0 - normal, 1 - transparent, 2 - no text, 3 - rotated 90°, 4 - 90° other way) 0, // Text mode (0 - normal, 1 - transparent, 2 - no text, 3 - rotated 90°, 4 - 90° other way)
100); // Maximum number of characters, if you want to right letter by letter... 100); // Maximum number of characters, if you want to right letter by letter...
PA_SmartText(1, 0, 20, 255, 40, "Hello World", 2, 1, 1, 100); PA_SmartText(1, 0, 20, 255, 40, "Hello World", 2, 1, 1, 100);
PA_SmartText(1, 0, 40, 255, 60, "Hello World", 3, 2, 1, 100); PA_SmartText(1, 0, 40, 255, 60, "Hello World", 3, 2, 1, 100);
@ -65,4 +65,4 @@ int main()
} }
return 0; return 0;
} // End of main() } // End of main()

View File

@ -40,7 +40,7 @@ int main()
"Hello World", // Text "Hello World", // Text
1, // Text palette color (0-255) 1, // Text palette color (0-255)
0, // Text size (0-4) 0, // Text size (0-4)
1, // Text mode (0 - normal, 1 - transparent, 2 - no text, 3 - rotated 90°, 4 - 90° other way) 1, // Text mode (0 - normal, 1 - transparent, 2 - no text, 3 - rotated 90°, 4 - 90° other way)
100); // Maximum number of characters, if you want to right letter by letter... 100); // Maximum number of characters, if you want to right letter by letter...
PA_SmartText(1, 0, 20, 255, 40, "Hello World", 2, 1, 1, 100); PA_SmartText(1, 0, 20, 255, 40, "Hello World", 2, 1, 1, 100);
PA_SmartText(1, 0, 40, 255, 60, "Hello World", 3, 2, 1, 100); PA_SmartText(1, 0, 40, 255, 60, "Hello World", 3, 2, 1, 100);
@ -65,4 +65,4 @@ int main()
} }
return 0; return 0;
} // End of main() } // End of main()

View File

@ -79,7 +79,7 @@ static inline void PA_16c8X8Letter(u8 screen, s16 x, s16 y, u8 letter, u8 size,
\~french Initialise le mode de dessin 16 couleurs, sur lequel on peut coller de petites images... \~french Initialise le mode de dessin 16 couleurs, sur lequel on peut coller de petites images...
\~\param screen \~\param screen
\~english Choose de screen (0 or 1) \~english Choose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg \~\param bg
\~english Background number (0-3) \~english Background number (0-3)
\~english Background number (0-3) \~english Background number (0-3)
@ -92,7 +92,7 @@ void PA_Init16cBgEx(u8 screen, u8 bg, u8 npalette);
\~french Initialise le mode de dessin 16 couleurs, sur lequel on peut coller de petites images... Utilisant la palette 0 \~french Initialise le mode de dessin 16 couleurs, sur lequel on peut coller de petites images... Utilisant la palette 0
\~\param screen \~\param screen
\~english Choose de screen (0 or 1) \~english Choose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg \~\param bg
\~english Background number (0-3) \~english Background number (0-3)
\~english Background number (0-3) \~english Background number (0-3)
@ -104,10 +104,10 @@ static inline void PA_Init16cBg(u8 screen, u8 bg){
/*! \fn static inline void PA_16cErase(u8 screen) /*! \fn static inline void PA_16cErase(u8 screen)
\brief \brief
\~english Erase the 16color background. Must be used right after PA_WaitForVBL to avoid glitches \~english Erase the 16color background. Must be used right after PA_WaitForVBL to avoid glitches
\~french Effacer un écran de 16 couleurs. Doit être utilisé juste après PA_WaitForVBL pour éviter des erreurs d'affichage \~french Effacer un écran de 16 couleurs. Doit être utilisé juste après PA_WaitForVBL pour éviter des erreurs d'affichage
\~\param screen \~\param screen
\~english Choose de screen (0 or 1) \~english Choose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
*/ */
void PA_16cErase(u8 screen); void PA_16cErase(u8 screen);
@ -116,7 +116,7 @@ void PA_16cErase(u8 screen);
/*! \fn static inline void PA_Dual16cErase(void) /*! \fn static inline void PA_Dual16cErase(void)
\brief \brief
\~english Erase the 16color background on both screens. Must be used right after PA_WaitForVBL to avoid glitches \~english Erase the 16color background on both screens. Must be used right after PA_WaitForVBL to avoid glitches
\~french Effacer un écran de 16 couleurs sur les 2 écrans. Doit être utilisé juste après PA_WaitForVBL pour éviter des erreurs d'affichage \~french Effacer un écran de 16 couleurs sur les 2 écrans. Doit être utilisé juste après PA_WaitForVBL pour éviter des erreurs d'affichage
*/ */
static inline void PA_Dual16cErase(void){ static inline void PA_Dual16cErase(void){
PA_16cErase(0); PA_16cErase(1); PA_16cErase(0); PA_16cErase(1);
@ -126,10 +126,10 @@ static inline void PA_Dual16cErase(void){
/*! \fn static inline void PA_InitComplete16c(u8 bg, void *Palette) /*! \fn static inline void PA_InitComplete16c(u8 bg, void *Palette)
\brief \brief
\~english Initialise a 16color background on each screen and give them a given palette \~english Initialise a 16color background on each screen and give them a given palette
\~french Initialise le mode de dessin 16 couleurs sur les 2 écrans avec une palette donnée \~french Initialise le mode de dessin 16 couleurs sur les 2 écrans avec une palette donnée
\~\param bg \~\param bg
\~english Background number \~english Background number
\~french Numéro du fond \~french Numéro du fond
\~\param Palette \~\param Palette
\~english 16 color palette... \~english 16 color palette...
\~french Palette de 16 couleurs \~french Palette de 16 couleurs
@ -144,34 +144,34 @@ static inline void PA_InitComplete16c(u8 bg, void *Palette){
/*! \fn s16 PA_16cText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, s32 limit) /*! \fn s16 PA_16cText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, s32 limit)
\brief \brief
\~english This is a variable width and variable size function to draw text on the screen. \~english This is a variable width and variable size function to draw text on the screen.
\~french Cette fonction permet d'écrire du texte à chasse variable à l'écran. \~french Cette fonction permet d'écrire du texte à chasse variable à l'écran.
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param basex \~\param basex
\~english X coordinate of the top left corner \~english X coordinate of the top left corner
\~french Coordonnée X du coin supérieur gauche \~french Coordonnée X du coin supérieur gauche
\~\param basey \~\param basey
\~english Y coordinate of the top left corner \~english Y coordinate of the top left corner
\~french Coordonnée Y du coin supérieur gauche \~french Coordonnée Y du coin supérieur gauche
\~\param maxx \~\param maxx
\~english X coordinate of the down right corner \~english X coordinate of the down right corner
\~french Coordonnée X du coin inférieur droit \~french Coordonnée X du coin inférieur droit
\~\param maxy \~\param maxy
\~english Y coordinate of the down right corner \~english Y coordinate of the down right corner
\~french Coordonnée Y du coin inférieur droit \~french Coordonnée Y du coin inférieur droit
\~\param text \~\param text
\~english Text, such as "Hello World" \~english Text, such as "Hello World"
\~french Texte, tel que "Hello World" \~french Texte, tel que "Hello World"
\~\param color \~\param color
\~english Palette color to use (0-255) \~english Palette color to use (0-255)
\~french Couleur de la palette à utiliser (0-255) \~french Couleur de la palette à utiliser (0-255)
\~\param size \~\param size
\~english Size of the text, from 0 (really small) to 4 (pretty big) \~english Size of the text, from 0 (really small) to 4 (pretty big)
\~french Taille du texte, de 0 (vraiment petit) à 4 (assez grand) \~french Taille du texte, de 0 (vraiment petit) à 4 (assez grand)
\~\param limit \~\param limit
\~english You can give a maximum number of characters to output. This can be usefull to have a slowing drawing text (allow to draw 1 more character each frame...) \~english You can give a maximum number of characters to output. This can be usefull to have a slowing drawing text (allow to draw 1 more character each frame...)
\~french On peut fixer une limite au nombre de caractères. Ceci peut etre utile pour dessiner un texte progressivement, en augmentant de 1 le nombre de caractères à chaque boucle.... \~french On peut fixer une limite au nombre de caractères. Ceci peut etre utile pour dessiner un texte progressivement, en augmentant de 1 le nombre de caractères à chaque boucle....
*/ */
s16 PA_16cText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, s32 limit); s16 PA_16cText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, s32 limit);
@ -179,10 +179,10 @@ s16 PA_16cText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char*
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Add custom fonts to the 16cText system !! Font must be converted with PAGfx \~english [DEPRECATED] Add custom fonts to the 16cText system !! Font must be converted with PAGfx
\~french [DEPRECATED] Ajouter une police perso dans le systeme de texte 16c !! Doit être convertie avec PAGfx \~french [DEPRECATED] Ajouter une police perso dans le systeme de texte 16c !! Doit être convertie avec PAGfx
\~\param c16_slot \~\param c16_slot
\~english Font slot... 0-4 are used by the defaut PAlib fonts, 5-9 are free to use. You can freely overwrite the PAlib fonts if you want \~english Font slot... 0-4 are used by the defaut PAlib fonts, 5-9 are free to use. You can freely overwrite the PAlib fonts if you want
\~french Slot pour ajouter la police. Les slots 0-4 sont utilisés pour les polices par défaut de PAlib, et 5-9 sont libres. On peut néanmoins charger par-dessus les polices PAlib si on veut. \~french Slot pour ajouter la police. Les slots 0-4 sont utilisés pour les polices par défaut de PAlib, et 5-9 sont libres. On peut néanmoins charger par-dessus les polices PAlib si on veut.
\~\param c16_font \~\param c16_font
\~english Font name... \~english Font name...
\~french Nom de la police... \~french Nom de la police...
@ -199,10 +199,10 @@ s16 PA_16cText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char*
/*! \fn void PA_Add16cFont(int slot, const PA_BgStruct* font) /*! \fn void PA_Add16cFont(int slot, const PA_BgStruct* font)
\brief \brief
\~english Add a custom font to the 16c font system. \~english Add a custom font to the 16c font system.
\~french Ajouter une police perso dans le système de texte 16c. \~french Ajouter une police perso dans le système de texte 16c.
\~\param slot \~\param slot
\~english Font slot. 0-4 are used by the default PAlib fonts, 5-9 are free to use. You can freely overwrite the PAlib fonts if you want. \~english Font slot. 0-4 are used by the default PAlib fonts, 5-9 are free to use. You can freely overwrite the PAlib fonts if you want.
\~french Slot pour ajouter la police. Les slots 0-4 sont utilisés pour les polices par défaut de PAlib, et 5-9 sont libres. On peut néanmoins charger par-dessus les polices PAlib si on veut. \~french Slot pour ajouter la police. Les slots 0-4 sont utilisés pour les polices par défaut de PAlib, et 5-9 sont libres. On peut néanmoins charger par-dessus les polices PAlib si on veut.
\~\param font \~\param font
\~english Pointer to the font. \~english Pointer to the font.
\~french Pointeur vers le police perso. \~french Pointeur vers le police perso.
@ -218,13 +218,13 @@ void PA_Add16cFont(int slot, const PA_BgStruct* font);
\~french Ecran... \~french Ecran...
\~\param x \~\param x
\~english X position in pixels of the top left corner. Note that it ranges from -8 to 263, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english X position in pixels of the top left corner. Note that it ranges from -8 to 263, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 263, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 263, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param y \~\param y
\~english y position in pixels of the top left corner. Note that it ranges from -8 to 199, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english y position in pixels of the top left corner. Note that it ranges from -8 to 199, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 199, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 199, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param color \~\param color
\~english Pixel value (0-15, uses the loaded palette) \~english Pixel value (0-15, uses the loaded palette)
\~french Valeur du pixel (0-15, prend la couleur dans la palette chargée) \~french Valeur du pixel (0-15, prend la couleur dans la palette chargée)
*/ */
ALWAYSINLINE void PA_16cPutPixel(u8 screen, s16 x, s16 y, u32 color){ ALWAYSINLINE void PA_16cPutPixel(u8 screen, s16 x, s16 y, u32 color){
x += 8; y += 8; x += 8; y += 8;
@ -243,19 +243,19 @@ ALWAYSINLINE void PA_16cDeletePixel(u8 screen, s16 x, s16 y){
/*! \fn ALWAYSINLINE void PA_16c8X4(u8 screen, s16 x, s16 y, u32 *image) /*! \fn ALWAYSINLINE void PA_16c8X4(u8 screen, s16 x, s16 y, u32 *image)
\brief \brief
\~english Load an 8x4 pixels image at a given position. Fastest of all pasting functions \~english Load an 8x4 pixels image at a given position. Fastest of all pasting functions
\~french Afficher une image de 8x4 pixels à un endroit donné, fonction la plus rapide de copie... \~french Afficher une image de 8x4 pixels à un endroit donné, fonction la plus rapide de copie...
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param x \~\param x
\~english X position in pixels of the top left corner. Note that it ranges from -8 to 255, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english X position in pixels of the top left corner. Note that it ranges from -8 to 255, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 255, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 255, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param y \~\param y
\~english y position in pixels of the top left corner. Note that it ranges from -8 to 191, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english y position in pixels of the top left corner. Note that it ranges from -8 to 191, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 191, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 191, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param image \~\param image
\~english 16 color image to load. Use (u32*)ImageName if you get an error... \~english 16 color image to load. Use (u32*)ImageName if you get an error...
\~french Image en 16 couleurs à charger. Utiliser (u32*)NomImage en cas d'erreur de compilation \~french Image en 16 couleurs à charger. Utiliser (u32*)NomImage en cas d'erreur de compilation
*/ */
ALWAYSINLINE void PA_16c8X4(u8 screen, s16 x, s16 y, u32 *image){ ALWAYSINLINE void PA_16c8X4(u8 screen, s16 x, s16 y, u32 *image){
x += 8; y += 8; x += 8; y += 8;
@ -276,19 +276,19 @@ ALWAYSINLINE void PA_16c8X4(u8 screen, s16 x, s16 y, u32 *image){
/*! \fn ALWAYSINLINE void PA_16c8X6(u8 screen, s16 x, s16 y, u32 *image) /*! \fn ALWAYSINLINE void PA_16c8X6(u8 screen, s16 x, s16 y, u32 *image)
\brief \brief
\~english Load an 8x6 pixels image at a given position. Second fastest of all pasting functions \~english Load an 8x6 pixels image at a given position. Second fastest of all pasting functions
\~french Afficher une image de 8x6 pixels à un endroit donné, deuxième fonction la plus rapide de copie... \~french Afficher une image de 8x6 pixels à un endroit donné, deuxième fonction la plus rapide de copie...
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param x \~\param x
\~english X position in pixels of the top left corner. Note that it ranges from -8 to 255, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english X position in pixels of the top left corner. Note that it ranges from -8 to 255, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 255, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 255, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param y \~\param y
\~english y position in pixels of the top left corner. Note that it ranges from -8 to 191, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english y position in pixels of the top left corner. Note that it ranges from -8 to 191, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 191, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 191, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param image \~\param image
\~english 16 color image to load. Use (u32*)ImageName if you get an error... \~english 16 color image to load. Use (u32*)ImageName if you get an error...
\~french Image en 16 couleurs à charger. Utiliser (u32*)NomImage en cas d'erreur de compilation \~french Image en 16 couleurs à charger. Utiliser (u32*)NomImage en cas d'erreur de compilation
*/ */
ALWAYSINLINE void PA_16c8X6(u8 screen, s16 x, s16 y, u32 *image){ ALWAYSINLINE void PA_16c8X6(u8 screen, s16 x, s16 y, u32 *image){
@ -306,19 +306,19 @@ ALWAYSINLINE void PA_16c8X6(u8 screen, s16 x, s16 y, u32 *image){
/*! \fn ALWAYSINLINE void PA_16c8X8(u8 screen, s16 x, s16 y, u32 *image) /*! \fn ALWAYSINLINE void PA_16c8X8(u8 screen, s16 x, s16 y, u32 *image)
\brief \brief
\~english Load an 8x8 pixels image at a given position. \~english Load an 8x8 pixels image at a given position.
\~french Afficher une image de 8x8 pixels à un endroit donné. \~french Afficher une image de 8x8 pixels à un endroit donné.
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param x \~\param x
\~english X position in pixels of the top left corner. Note that it ranges from -8 to 255, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english X position in pixels of the top left corner. Note that it ranges from -8 to 255, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 255, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 255, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param y \~\param y
\~english y position in pixels of the top left corner. Note that it ranges from -8 to 191, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english y position in pixels of the top left corner. Note that it ranges from -8 to 191, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 191, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 191, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param image \~\param image
\~english 16 color image to load. Use (u32*)ImageName if you get an error... \~english 16 color image to load. Use (u32*)ImageName if you get an error...
\~french Image en 16 couleurs à charger. Utiliser (u32*)NomImage en cas d'erreur de compilation \~french Image en 16 couleurs à charger. Utiliser (u32*)NomImage en cas d'erreur de compilation
*/ */
ALWAYSINLINE void PA_16c8X8(u8 screen, s16 x, s16 y, u32 *image){ ALWAYSINLINE void PA_16c8X8(u8 screen, s16 x, s16 y, u32 *image){
x += 8; y += 8; x += 8; y += 8;
@ -418,22 +418,22 @@ ALWAYSINLINE void PA_16c16X16(u8 screen, s16 x, s16 y, u32 *image){
/*! \fn ALWAYSINLINE void PA_16c8Xi(u8 screen, s16 x, s16 y, u32 *image,u8 i) /*! \fn ALWAYSINLINE void PA_16c8Xi(u8 screen, s16 x, s16 y, u32 *image,u8 i)
\brief \brief
\~english Load an 8xi row from a 8x16 pixels image at a given position. If i>16 the image is repeated. \~english Load an 8xi row from a 8x16 pixels image at a given position. If i>16 the image is repeated.
\~french Afficher une image de 8x8 pixels à un endroit donné. \~french Afficher une image de 8x8 pixels à un endroit donné.
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param x \~\param x
\~english X position in pixels of the top left corner. Note that it ranges from -8 to 255, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english X position in pixels of the top left corner. Note that it ranges from -8 to 255, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 255, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position X en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 255, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param y \~\param y
\~english y position in pixels of the top left corner. Note that it ranges from -8 to 191, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches \~english y position in pixels of the top left corner. Note that it ranges from -8 to 191, in order to allow half-way offscreen images. NEVER DRAW BEYOND THESE LIMITS, or else you'll get major background glitches
\~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 191, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques... \~french Position y en pixels du coin supérieur gauche. A noter que celle-ci va de -8 à 191, afin de permettre des images à moitié sorties... NE JAMAIS DEPASSER DU CADRE, sous peine de gros bugs graphiques...
\~\param image \~\param image
\~english 16 color image to load. Use (u32*)ImageName if you get an error... \~english 16 color image to load. Use (u32*)ImageName if you get an error...
\~french Image en 16 couleurs à charger. Utiliser (u32*)NomImage en cas d'erreur de compilation \~french Image en 16 couleurs à charger. Utiliser (u32*)NomImage en cas d'erreur de compilation
\~\param i \~\param i
\~english Number of lines of the image drawn (if greater than 16 the image will be repeated). \~english Number of lines of the image drawn (if greater than 16 the image will be repeated).
\~french Nombre de lignes à dessiner \~french Nombre de lignes à dessiner
*/ */
ALWAYSINLINE void PA_16c8Xi(u8 screen, s16 x, s16 y, u32 *image, u8 i){ ALWAYSINLINE void PA_16c8Xi(u8 screen, s16 x, s16 y, u32 *image, u8 i){
x += 8; y += 8; x += 8; y += 8;
@ -464,23 +464,23 @@ static inline void PA_16cLetter(u8 screen, s16 x, s16 y, char letter, u8 size, u
\~french Ecran... \~french Ecran...
\~\param x1 \~\param x1
\~english Upper left corner... \~english Upper left corner...
\~french Coin supérieur gauche... \~french Coin supérieur gauche...
\~\param y1 \~\param y1
\~english Upper left corner... \~english Upper left corner...
\~french Coin supérieur gauche... \~french Coin supérieur gauche...
\~\param x2 \~\param x2
\~english Lower right corner... \~english Lower right corner...
\~french Coin inférieur droit... \~french Coin inférieur droit...
\~\param y2 \~\param y2
\~english Lower right corner... \~english Lower right corner...
\~french Coin inférieur droit... \~french Coin inférieur droit...
*/ */
void PA_16cClearZone(u8 screen, s16 x1, s16 y1, s16 x2, s16 y2); void PA_16cClearZone(u8 screen, s16 x1, s16 y1, s16 x2, s16 y2);
/*! \fn static inline u8 PA_16cGetPixel(u8 screen, s16 x, s16 y) /*! \fn static inline u8 PA_16cGetPixel(u8 screen, s16 x, s16 y)
\brief \brief
\~english Returns the pixel value of a given point on a 16c background \~english Returns the pixel value of a given point on a 16c background
\~french Renvoie la valeur d'un pixel donné sur un fond 16c \~french Renvoie la valeur d'un pixel donné sur un fond 16c
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...

View File

@ -255,25 +255,25 @@ static inline void PA_3DSetSpriteAlpha(u16 sprite, u8 alpha){
/*! \fn void PA_3DStartSpriteAnimEx(u16 sprite, s16 firstframe, s16 lastframe, s16 speed, u8 type, s16 ncycles) /*! \fn void PA_3DStartSpriteAnimEx(u16 sprite, s16 firstframe, s16 lastframe, s16 speed, u8 type, s16 ncycles)
\brief \brief
\~english Start a 3D sprite animation. Once started, it continues on and on by itself until you stop it ! \~english Start a 3D sprite animation. Once started, it continues on and on by itself until you stop it !
\~french Démarre une animation de sprite. Une fois démarrée, elle continue tant qu'on ne l'arrête pas ! \~french Démarre une animation de sprite. Une fois démarrée, elle continue tant qu'on ne l'arrête pas !
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param firstframe \~\param firstframe
\~english First frame of the animation sequence, most of the time 0... \~english First frame of the animation sequence, most of the time 0...
\~french Premières image de l'animation, généralement 0.... \~french Premières image de l'animation, généralement 0....
\~\param lastframe \~\param lastframe
\~english Last frame to be displayed. When it gets there, it loops back to the first frame \~english Last frame to be displayed. When it gets there, it loops back to the first frame
\~french Dernière image à afficher. Une fois atteinte, ca retourne à la première \~french Dernière image à afficher. Une fois atteinte, ca retourne à la première
\~\param speed \~\param speed
\~english Speed, in frames per second. So speed 1 would mean 1 image per second, so 1 image every game frame \~english Speed, in frames per second. So speed 1 would mean 1 image per second, so 1 image every game frame
\~french Vitesse, en frames par seconde (fps). 1 signifie donc 1 image par seconde... \~french Vitesse, en frames par seconde (fps). 1 signifie donc 1 image par seconde...
\~\param type \~\param type
\~english Defines how you want it to loop. ANIM_LOOP (0) for a normal loop, ANIM_UPDOWN (1) for back and forth animation. \~english Defines how you want it to loop. ANIM_LOOP (0) for a normal loop, ANIM_UPDOWN (1) for back and forth animation.
\~french Défini de quelle manière on veut boucler. ANIM_LOOP (0) pour normal, et ANIM_UPDOWN (1) pour d'avant en arrière \~french Défini de quelle manière on veut boucler. ANIM_LOOP (0) pour normal, et ANIM_UPDOWN (1) pour d'avant en arrière
\~\param ncycles \~\param ncycles
\~english Number of animation cycles before stopping. If using ANIM_UPDOWN, it takes 2 cycles to come back to the original image \~english Number of animation cycles before stopping. If using ANIM_UPDOWN, it takes 2 cycles to come back to the original image
\~french Nombres de cycles d'animations avant l'arrêt. Si on utilise ANIM_UPDOWN, il faut 2 cycles pour que l'animation revienne à l'image de base \~french Nombres de cycles d'animations avant l'arrêt. Si on utilise ANIM_UPDOWN, il faut 2 cycles pour que l'animation revienne à l'image de base
*/ */
void PA_3DStartSpriteAnimEx(u16 sprite, s16 firstframe, s16 lastframe, s16 speed, u8 type, s16 ncycles); void PA_3DStartSpriteAnimEx(u16 sprite, s16 firstframe, s16 lastframe, s16 speed, u8 type, s16 ncycles);
@ -281,16 +281,16 @@ void PA_3DStartSpriteAnimEx(u16 sprite, s16 firstframe, s16 lastframe, s16 speed
/*! \fn static inline void PA_3DStartSpriteAnim(u16 sprite, s16 firstframe, s16 lastframe, s16 speed) /*! \fn static inline void PA_3DStartSpriteAnim(u16 sprite, s16 firstframe, s16 lastframe, s16 speed)
\brief \brief
\~english Start a sprite animation. Once started, it continues on and on by itself until you stop it ! \~english Start a sprite animation. Once started, it continues on and on by itself until you stop it !
\~french Démarre une animation de sprite. Une fois démarrée, elle continue tant qu'on ne l'arrête pas ! \~french Démarre une animation de sprite. Une fois démarrée, elle continue tant qu'on ne l'arrête pas !
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param firstframe \~\param firstframe
\~english First frame of the animation sequence, most of the time 0... \~english First frame of the animation sequence, most of the time 0...
\~french Premières image de l'animation, généralement 0.... \~french Premières image de l'animation, généralement 0....
\~\param lastframe \~\param lastframe
\~english Last frame to be displayed. When it gets there, it loops back to the first frame \~english Last frame to be displayed. When it gets there, it loops back to the first frame
\~french Dernière image à afficher. Une fois atteinte, ca retourne à la première \~french Dernière image à afficher. Une fois atteinte, ca retourne à la première
\~\param speed \~\param speed
\~english Speed, in frames per second. So speed 1 would mean 1 image per second, so 1 image every game frame \~english Speed, in frames per second. So speed 1 would mean 1 image per second, so 1 image every game frame
\~french Vitesse, en frames par seconde (fps). 1 signifie donc 1 image par seconde... \~french Vitesse, en frames par seconde (fps). 1 signifie donc 1 image par seconde...
@ -302,10 +302,10 @@ static inline void PA_3DStartSpriteAnim(u16 sprite, s16 firstframe, s16 lastfram
/*! \fn static inline void PA_3DStopSpriteAnim(u16 sprite) /*! \fn static inline void PA_3DStopSpriteAnim(u16 sprite)
\brief \brief
\~english Stop a sprite animation \~english Stop a sprite animation
\~french Arrêter une animation de sprite \~french Arrêter une animation de sprite
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
*/ */
static inline void PA_3DStopSpriteAnim(u16 sprite){ static inline void PA_3DStopSpriteAnim(u16 sprite){
@ -316,13 +316,13 @@ static inline void PA_3DStopSpriteAnim(u16 sprite){
/*! \fn static inline void PA_3DSetSpriteAnimFrame(u16 sprite, u16 frame) /*! \fn static inline void PA_3DSetSpriteAnimFrame(u16 sprite, u16 frame)
\brief \brief
\~english Set the current animation frame number \~english Set the current animation frame number
\~french Changer le numéro actuel de la frame d'animation \~french Changer le numéro actuel de la frame d'animation
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param frame \~\param frame
\~english Frame number to use... \~english Frame number to use...
\~french Numéro de frame... \~french Numéro de frame...
*/ */
static inline void PA_3DSetSpriteAnimFrame(u16 sprite, u16 frame){ static inline void PA_3DSetSpriteAnimFrame(u16 sprite, u16 frame){
@ -335,10 +335,10 @@ static inline void PA_3DSetSpriteAnimFrame(u16 sprite, u16 frame){
/*! \fn static inline u16 PA_3DGetSpriteAnimFrame( u16 sprite) /*! \fn static inline u16 PA_3DGetSpriteAnimFrame( u16 sprite)
\brief \brief
\~english Returns the current animation frame number \~english Returns the current animation frame number
\~french Renvoie le numéro actuel de la frame d'animation \~french Renvoie le numéro actuel de la frame d'animation
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
*/ */
static inline u16 PA_3DGetSpriteAnimFrame(u16 sprite){ static inline u16 PA_3DGetSpriteAnimFrame(u16 sprite){
@ -351,7 +351,7 @@ static inline u16 PA_3DGetSpriteAnimFrame(u16 sprite){
\~french Changer la vitesse de l'animation \~french Changer la vitesse de l'animation
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param speed \~\param speed
\~english Speed, in fps... \~english Speed, in fps...
\~french Vitesse, en fps... \~french Vitesse, en fps...
@ -366,7 +366,7 @@ static inline void PA_3DSetSpriteAnimSpeed(u16 sprite, s16 speed){
\~french Renvoie la vitesse de l'animation \~french Renvoie la vitesse de l'animation
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
*/ */
static inline u16 PA_3DGetSpriteAnimSpeed(u16 sprite){ static inline u16 PA_3DGetSpriteAnimSpeed(u16 sprite){
return sprite3danims[sprite].speed; return sprite3danims[sprite].speed;
@ -379,7 +379,7 @@ static inline u16 PA_3DGetSpriteAnimSpeed(u16 sprite){
\~french Changer le nombre de cycles d'animation restant (-1 pour inifini) \~french Changer le nombre de cycles d'animation restant (-1 pour inifini)
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param NCycles \~\param NCycles
\~english Number of cycles \~english Number of cycles
\~french Nombre de cycles \~french Nombre de cycles
@ -394,7 +394,7 @@ static inline void PA_3DSetSpriteNCycles(u16 sprite, s16 NCycles){
\~french Renvoie le nombre de cycles d'animation restants \~french Renvoie le nombre de cycles d'animation restants
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
*/ */
static inline u16 PA_3DGetSpriteNCycles(u16 sprite){ static inline u16 PA_3DGetSpriteNCycles(u16 sprite){
return sprite3danims[sprite].speed; return sprite3danims[sprite].speed;
@ -406,7 +406,7 @@ static inline u16 PA_3DGetSpriteNCycles(u16 sprite){
\~french Mettre en Pause en remettre en lecture une animation de sprite \~french Mettre en Pause en remettre en lecture une animation de sprite
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param pause \~\param pause
\~english 1 for pause, 0 for unpause \~english 1 for pause, 0 for unpause
\~french 1 pour pause, 0 pour reprendre la lecture... \~french 1 pour pause, 0 pour reprendre la lecture...

View File

@ -44,10 +44,10 @@ void PA_LargeScrollYN(u8 screen, u8 bg_select, s32 y);
\~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large) \~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large)
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -80,10 +80,10 @@ void PA_LargeScrollYN(u8 screen, u8 bg_select, s32 y);
\~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), converti avec PAGfx \~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), converti avec PAGfx
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (0-3) \~french Numéro du fond que l'on veut charger (0-3)
\~\param bg_name \~\param bg_name
\~english Background name, in PAGfx \~english Background name, in PAGfx
\~french Nom du fond dans PAGfx \~french Nom du fond dans PAGfx
@ -101,10 +101,10 @@ void PA_LargeScrollYN(u8 screen, u8 bg_select, s32 y);
\~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), mais ici on met soi-meme la taille des tiles \~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), mais ici on met soi-meme la taille des tiles
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -135,16 +135,16 @@ void PA_LargeScrollYN(u8 screen, u8 bg_select, s32 y);
\fn void PA_InfLargeScrollX(u8 screen, u8 bg_select, s32 x) \fn void PA_InfLargeScrollX(u8 screen, u8 bg_select, s32 x)
\brief \brief
\~english Scroll a large infinite scrolling background horizontaly. It must have been initialised with PA_LoadLargeBg. \~english Scroll a large infinite scrolling background horizontaly. It must have been initialised with PA_LoadLargeBg.
\~french Déplacer un fond à scrolling 'infini' horizontalement. Doit etre initialisé avec PA_LoadLargeBg. \~french Déplacer un fond à scrolling 'infini' horizontalement. Doit etre initialisé avec PA_LoadLargeBg.
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
*/ */
static inline void PA_InfLargeScrollX(u8 screen, u8 bg_select, s32 x){ // Autoselect static inline void PA_InfLargeScrollX(u8 screen, u8 bg_select, s32 x){ // Autoselect
@ -157,16 +157,16 @@ static inline void PA_InfLargeScrollX(u8 screen, u8 bg_select, s32 x){ // Autose
\fn void PA_InfLargeScrollY(u8 screen, u8 bg_select, s32 y) \fn void PA_InfLargeScrollY(u8 screen, u8 bg_select, s32 y)
\brief \brief
\~english Scroll a large infinite scrolling background vertically. It must have been initialised with PA_LoadLargeBg. \~english Scroll a large infinite scrolling background vertically. It must have been initialised with PA_LoadLargeBg.
\~french Déplacer un fond à scrolling 'infini' verticalement. Doit etre initialisé avec PA_LoadLargeBg. \~french Déplacer un fond à scrolling 'infini' verticalement. Doit etre initialisé avec PA_LoadLargeBg.
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_InfLargeScrollY(u8 screen, u8 bg_select, s32 y){ // Autoselect static inline void PA_InfLargeScrollY(u8 screen, u8 bg_select, s32 y){ // Autoselect
if (PA_BgInfo[screen][bg_select].NTiles < MAX_TILES) PA_InfLargeScrollYN(screen, bg_select, y); if (PA_BgInfo[screen][bg_select].NTiles < MAX_TILES) PA_InfLargeScrollYN(screen, bg_select, y);
@ -179,19 +179,19 @@ static inline void PA_InfLargeScrollY(u8 screen, u8 bg_select, s32 y){ // Autose
\fn static inline void PA_InfLargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y) \fn static inline void PA_InfLargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y)
\brief \brief
\~english Scroll a large infinite scrolling background horizontaly and vertically. It must have been initialised with PA_LoadLargeBg. \~english Scroll a large infinite scrolling background horizontaly and vertically. It must have been initialised with PA_LoadLargeBg.
\~french Déplacer un fond à scrolling 'infini' horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg. \~french Déplacer un fond à scrolling 'infini' horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg.
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_InfLargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y){ static inline void PA_InfLargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y){
PA_InfLargeScrollX(screen, bg_select, x); PA_InfLargeScrollX(screen, bg_select, x);
@ -202,16 +202,16 @@ static inline void PA_InfLargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y){
\fn void PA_LargeScrollX(u8 screen, u8 bg_select, s32 x) \fn void PA_LargeScrollX(u8 screen, u8 bg_select, s32 x)
\brief \brief
\~english Scroll a large background horizontaly. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll... \~english Scroll a large background horizontaly. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll...
\~french Déplacer un grand fond à scrolling horizontalement.Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll... \~french Déplacer un grand fond à scrolling horizontalement.Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
*/ */
static inline void PA_LargeScrollX(u8 screen, u8 bg_select, s32 x){ // Autoselect static inline void PA_LargeScrollX(u8 screen, u8 bg_select, s32 x){ // Autoselect
if (PA_BgInfo[screen][bg_select].NTiles < MAX_TILES) { if (PA_BgInfo[screen][bg_select].NTiles < MAX_TILES) {
@ -230,16 +230,16 @@ static inline void PA_LargeScrollX(u8 screen, u8 bg_select, s32 x){ // Autoselec
\fn void PA_LargeScrollY(u8 screen, u8 bg_select, s32 y) \fn void PA_LargeScrollY(u8 screen, u8 bg_select, s32 y)
\brief \brief
\~english Scroll a large background vertically. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll... \~english Scroll a large background vertically. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll...
\~french Déplacer un grand fond à scrolling verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll... \~french Déplacer un grand fond à scrolling verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_LargeScrollY(u8 screen, u8 bg_select, s32 y){ // Autoselect static inline void PA_LargeScrollY(u8 screen, u8 bg_select, s32 y){ // Autoselect
if (PA_BgInfo[screen][bg_select].NTiles < MAX_TILES) { if (PA_BgInfo[screen][bg_select].NTiles < MAX_TILES) {
@ -255,19 +255,19 @@ static inline void PA_LargeScrollY(u8 screen, u8 bg_select, s32 y){ // Autoselec
\fn static inline void PA_LargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y) \fn static inline void PA_LargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y)
\brief \brief
\~english Scroll a large background horizontaly and vertically. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll... \~english Scroll a large background horizontaly and vertically. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll...
\~french Déplacer un grand fond à scrolling horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll... \~french Déplacer un grand fond à scrolling horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_LargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y){ static inline void PA_LargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y){
PA_LargeScrollX(screen, bg_select, x); PA_LargeScrollX(screen, bg_select, x);
@ -276,7 +276,7 @@ static inline void PA_LargeScrollXY(u8 screen, u8 bg_select, s32 x, s32 y){
/** @} */ // end of BgLargeMap /** @} */ // end of BgLargeMap
// Pas utilisé en direct par le programmaeur // Pas utilisé en direct par le programmaeur
void PA_InitLargeBg(u8 screen, u8 bg_select, s32 lx, s32 ly, void* bg_map); void PA_InitLargeBg(u8 screen, u8 bg_select, s32 lx, s32 ly, void* bg_map);
#endif #endif

View File

@ -42,10 +42,10 @@ extern u8 rotbg_size[2][4]; // Background size of each possible rotbg
\~french [DEPRECATED] Charger un fond pour les rotations/zoom! Attention, il faut avant utiliser PA_SetVideoMode avec 1 pour utiliser un fond rotatif (le fond 3 uniquement !), ou 2 pour 2 fonds (2 et 3). Le fond DOIT etre de 256 couleurs \~french [DEPRECATED] Charger un fond pour les rotations/zoom! Attention, il faut avant utiliser PA_SetVideoMode avec 1 pour utiliser un fond rotatif (le fond 3 uniquement !), ou 2 pour 2 fonds (2 et 3). Le fond DOIT etre de 256 couleurs
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load \~english Background number to load
\~french Numéro du fond que l'on veut charger \~french Numéro du fond que l'on veut charger
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -76,10 +76,10 @@ extern u8 rotbg_size[2][4]; // Background size of each possible rotbg
\~french [DEPRECATED] Charger un fond pour les rotations/zoom ! Attention, il faut avant utiliser PA_SetVideoMode avec 1 pour utiliser un fond rotatif (le fond 3 uniquement !), ou 2 pour 2 fonds (2 et 3). Le fond DOIT etre de 256 couleurs \~french [DEPRECATED] Charger un fond pour les rotations/zoom ! Attention, il faut avant utiliser PA_SetVideoMode avec 1 pour utiliser un fond rotatif (le fond 3 uniquement !), ou 2 pour 2 fonds (2 et 3). Le fond DOIT etre de 256 couleurs
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load \~english Background number to load
\~french Numéro du fond que l'on veut charger \~french Numéro du fond que l'on veut charger
\~\param bg_name \~\param bg_name
\~english Background name, like bg0 \~english Background name, like bg0
\~french Nom du fond, comme bg0 \~french Nom du fond, comme bg0
@ -100,10 +100,10 @@ extern u8 rotbg_size[2][4]; // Background size of each possible rotbg
\~french Faire tourner/zoomer un fond rotatif \~french Faire tourner/zoomer un fond rotatif
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load \~english Background number to load
\~french Numéro du fond que l'on veut charger \~french Numéro du fond que l'on veut charger
\~\param x_scroll \~\param x_scroll
\~english X Scroll... \~english X Scroll...
\~french Scroll x... \~french Scroll x...

View File

@ -58,9 +58,9 @@ typedef struct{
typedef struct{ typedef struct{
// Memory management info... // Memory management info...
u32 tilesetsize; // Place utilisée pour chaque tileset u32 tilesetsize; // Place utilisée pour chaque tileset
u16 mapsize; // Place utilisée pour chaque map u16 mapsize; // Place utilisée pour chaque map
u8 mapchar; // Emplacement mémoire de chaque map u8 mapchar; // Emplacement mémoire de chaque map
u8 TileSetChar; u8 TileSetChar;
u32 Map; // Map pointer u32 Map; // Map pointer
@ -78,7 +78,7 @@ extern PA_BgInfos PA_BgInfo[2][4];
extern u8 charblocks[2][70]; extern u8 charblocks[2][70];
// Quantité de données à charger en fonction de la taille de la map... // Quantité de données à charger en fonction de la taille de la map...
extern u16 *PA_DrawBg[2]; // Fond dessinable extern u16 *PA_DrawBg[2]; // Fond dessinable
extern u16 bg_sizes[4]; extern u16 bg_sizes[4];
@ -89,14 +89,14 @@ extern s32 PA_parallaxX[2][4];
extern s32 PA_parallaxY[2][4]; extern s32 PA_parallaxY[2][4];
typedef struct { typedef struct {
u8 infscroll; // Passe à 1 si scrolling infini activé... u8 infscroll; // Passe à 1 si scrolling infini activé...
u16* bg_map; // Map u16* bg_map; // Map
s32 lx, ly; s32 lx, ly;
s32 scrollx, scrolly; s32 scrollx, scrolly;
s32 maxx; // 32 ou 64, en fonction de la largeur... s32 maxx; // 32 ou 64, en fonction de la largeur...
}scrollpositions; }scrollpositions;
extern scrollpositions scrollpos[2][4]; // Pour chaque écran et pour chaque fond :) extern scrollpositions scrollpos[2][4]; // Pour chaque écran et pour chaque fond :)
// Mode de couleur // Mode de couleur
#define BG_COLOR16 0x00 #define BG_COLOR16 0x00
@ -106,18 +106,18 @@ extern scrollpositions scrollpos[2][4]; // Pour chaque
#define SCREEN_SHIFT 8 #define SCREEN_SHIFT 8
#define WRAPAROUND 0x1 #define WRAPAROUND 0x1
#define SCREEN_TILES 24576 // Taille à convertir pour avoir un écran complet... #define SCREEN_TILES 24576 // Taille à convertir pour avoir un écran complet...
//scrolling registers for background 0 //scrolling registers for background 0
// Registre pour les controles de chaque écran // Registre pour les controles de chaque écran
#define REG_BGSCREEN0 0x04000000 #define REG_BGSCREEN0 0x04000000
#define REG_BGSCREEN1 0x04001000 #define REG_BGSCREEN1 0x04001000
#define REG_BGSCREEN(screen) (0x04000000 + (screen * 0x1000)) #define REG_BGSCREEN(screen) (0x04000000 + (screen * 0x1000))
#define REG_BGCNT(screen, bg_number) (0x4000008 + (screen * 0x1000) + (bg_number << 1)) #define REG_BGCNT(screen, bg_number) (0x4000008 + (screen * 0x1000) + (bg_number << 1))
// Premier registre pour les scroll. On en déduit les autres en ajoutant pour le screen et le numéro du Bg // Premier registre pour les scroll. On en déduit les autres en ajoutant pour le screen et le numéro du Bg
#define REG_BGSCROLLX 0x4000010 #define REG_BGSCROLLX 0x4000010
#define REG_BGSCROLLY 0x4000012 #define REG_BGSCROLLY 0x4000012
@ -150,10 +150,10 @@ void PA_ResetBgSys(void);
\fn void PA_ResetBgSysScreen(u8 screen) \fn void PA_ResetBgSysScreen(u8 screen)
\brief \brief
\~english Reset the background system on 1 screen \~english Reset the background system on 1 screen
\~french Reinitialise le systeme de fonds pour 1 écran \~french Reinitialise le systeme de fonds pour 1 écran
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
*/ */
void PA_ResetBgSysScreen(u8 screen); void PA_ResetBgSysScreen(u8 screen);
@ -161,16 +161,16 @@ void PA_ResetBgSysScreen(u8 screen);
\fn void PA_InitBg(u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode) \fn void PA_InitBg(u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode)
\brief \brief
\~english Initialise a given background. Do this only after having loaded a tileset and a map. \~english Initialise a given background. Do this only after having loaded a tileset and a map.
\~french Initialise un fond. A faire uniquement après avoir chargé un tileset et une map. \~french Initialise un fond. A faire uniquement après avoir chargé un tileset et une map.
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_size \~\param bg_size
\~english 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... \~english 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...
\~french Taille du fond. Ceci est très important, car ça détermine aussi si le Bg est rotatif ou non. Pour un fond normal, on utilise les macros BG_256X256, BG_256X512, etc... Pour un fond rotatif, il suffit d'utiliser BG_ROT_128X128... \~french Taille du fond. Ceci est très important, car ça détermine aussi si le Bg est rotatif ou non. Pour un fond normal, on utilise les macros BG_256X256, BG_256X512, etc... Pour un fond rotatif, il suffit d'utiliser BG_ROT_128X128...
\~\param wraparound \~\param wraparound
\~english If the background wraps around or not. More important for rotating backgrounds. \~english If the background wraps around or not. More important for rotating backgrounds.
\~french Si le fond boucle ou non. C'est plus important pour les fonds rotatifs... \~french Si le fond boucle ou non. C'est plus important pour les fonds rotatifs...
@ -188,10 +188,10 @@ void PA_InitBg(u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode
\~french Cacher un fond. \~french Cacher un fond.
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
*/ */
#define PA_HideBg(screen, bg_select) _REG16(REG_BGSCREEN(screen)) &= ~(0x100 << (bg_select)) #define PA_HideBg(screen, bg_select) _REG16(REG_BGSCREEN(screen)) &= ~(0x100 << (bg_select))
@ -199,13 +199,13 @@ void PA_InitBg(u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode
\def PA_ShowBg(screen, bg_select) \def PA_ShowBg(screen, bg_select)
\brief \brief
\~english Show a hidden background. \~english Show a hidden background.
\~french Afficher un fond auparavant caché. \~french Afficher un fond auparavant caché.
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
*/ */
#define PA_ShowBg(screen, bg_select) _REG16(REG_BGSCREEN(screen)) |= (0x100 << (bg_select)) #define PA_ShowBg(screen, bg_select) _REG16(REG_BGSCREEN(screen)) |= (0x100 << (bg_select))
@ -213,10 +213,10 @@ void PA_InitBg(u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode
\def PA_ResetBg(screen) \def PA_ResetBg(screen)
\brief \brief
\~english Reinitialize de Bg system of a screen. It only hides all the backgrounds in reality... \~english Reinitialize de Bg system of a screen. It only hides all the backgrounds in reality...
\~french Reinitialiser les fonds d'un écran. En fait ca ne fait que cacher tous les fonds \~french Reinitialiser les fonds d'un écran. En fait ca ne fait que cacher tous les fonds
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
*/ */
#define PA_ResetBg(screen) _REG16(REG_BGSCREEN(screen)) &= ~(0xF00) #define PA_ResetBg(screen) _REG16(REG_BGSCREEN(screen)) &= ~(0xF00)
@ -225,13 +225,13 @@ void PA_InitBg(u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Load a tileset into memory \~english [DEPRECATED] Load a tileset into memory
\~french [DEPRECATED] Charger un tileset en mémoire \~french [DEPRECATED] Charger un tileset en mémoire
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -242,13 +242,13 @@ void PA_InitBg(u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode
\fn void PA_LoadBgTilesEx(u8 screen, u8 bg_select, void* bg_tiles, u32 size) \fn void PA_LoadBgTilesEx(u8 screen, u8 bg_select, void* bg_tiles, u32 size)
\brief \brief
\~english Load a tileset into memory with a given size \~english Load a tileset into memory with a given size
\~french Charger un tileset en mémoire avec une taille donnée \~french Charger un tileset en mémoire avec une taille donnée
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -263,13 +263,13 @@ void PA_LoadBgTilesEx(u8 screen, u8 bg_select, void* bg_tiles, u32 size);
\fn void PA_ReLoadBgTiles(u8 screen, u8 bg_select, void* bg_tiles) \fn void PA_ReLoadBgTiles(u8 screen, u8 bg_select, void* bg_tiles)
\brief \brief
\~english ReLoad a tileset into memory \~english ReLoad a tileset into memory
\~french ReCharger un tileset en mémoire \~french ReCharger un tileset en mémoire
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -280,13 +280,13 @@ void PA_ReLoadBgTiles(u8 screen, u8 bg_select, void* bg_tiles);
\fn void PA_DeleteTiles(u8 screen, u8 bg_select) \fn void PA_DeleteTiles(u8 screen, u8 bg_select)
\brief \brief
\~english 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 \~english 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
\~french Effacer un tileset en mémoire. A noter que charger un tileset efface automatiquement le tileset précédent, donc on n'aura pas souvent besoin de cette fonction... \~french Effacer un tileset en mémoire. A noter que charger un tileset efface automatiquement le tileset précédent, donc on n'aura pas souvent besoin de cette fonction...
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
*/ */
void PA_DeleteTiles(u8 screen, u8 bg_select); void PA_DeleteTiles(u8 screen, u8 bg_select);
@ -294,13 +294,13 @@ void PA_DeleteTiles(u8 screen, u8 bg_select);
\fn void PA_DeleteMap(u8 screen, u8 bg_select) \fn void PA_DeleteMap(u8 screen, u8 bg_select)
\brief \brief
\~english 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 \~english 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
\~french Effacer une map en mémoire. A noter que charger une map efface automatiquement la map précédent, donc on n'aura pas souvent besoin de cette fonction... \~french Effacer une map en mémoire. A noter que charger une map efface automatiquement la map précédent, donc on n'aura pas souvent besoin de cette fonction...
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
*/ */
void PA_DeleteMap(u8 screen, u8 bg_select); void PA_DeleteMap(u8 screen, u8 bg_select);
@ -308,13 +308,13 @@ void PA_DeleteMap(u8 screen, u8 bg_select);
\fn static inline void PA_DeleteBg(u8 screen, u8 bg_select) \fn static inline void PA_DeleteBg(u8 screen, u8 bg_select)
\brief \brief
\~english Delete and reset a complete background \~english Delete and reset a complete background
\~french Effacer et reinitialiser un fond complètement \~french Effacer et reinitialiser un fond complètement
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
*/ */
static inline void PA_DeleteBg(u8 screen, u8 bg_select) { static inline void PA_DeleteBg(u8 screen, u8 bg_select) {
// By Maple, June 2008 // By Maple, June 2008
@ -340,16 +340,16 @@ static inline void PA_DeleteBg(u8 screen, u8 bg_select) {
\~french Charge la carte d'un fond \~french Charge la carte d'un fond
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_map \~\param bg_map
\~english Name of the map's info (example : (void*)ship_Map) Don't forget the void... \~english Name of the map's info (example : (void*)ship_Map) Don't forget the void...
\~french Nom du tableau contenant les infos sur la map (exemple : (void*)ship_Map) n'oublie pas le void... \~french Nom du tableau contenant les infos sur la map (exemple : (void*)ship_Map) n'oublie pas le void...
\~\param bg_size \~\param bg_size
\~english 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... \~english 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...
\~french Taille du fond. Ceci est très important, car ça détermine aussi si le Bg est rotatif ou non. Pour un fond normal, on utilise les macros BG_256X256, BG_256X512, etc... \~french Taille du fond. Ceci est très important, car ça détermine aussi si le Bg est rotatif ou non. Pour un fond normal, on utilise les macros BG_256X256, BG_256X512, etc...
*/ */
void PA_LoadBgMap(u8 screen, u8 bg_select, void* bg_map, u8 bg_size); void PA_LoadBgMap(u8 screen, u8 bg_select, void* bg_map, u8 bg_size);
@ -360,10 +360,10 @@ void PA_LoadBgMap(u8 screen, u8 bg_select, void* bg_map, u8 bg_size);
\~french Charger un fond (EasyBg ou RotBg). \~french Charger un fond (EasyBg ou RotBg).
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number... (0-3) \~english Background number... (0-3)
\~french Numéro du fond... (0-3) \~french Numéro du fond... (0-3)
\~\param bg_name \~\param bg_name
\~english Pointer to the background (struct) \~english Pointer to the background (struct)
\~french Pointeur vers le fond \~french Pointeur vers le fond
@ -379,10 +379,10 @@ void PA_LoadBackground(u8 screen, u8 bg_select, const PA_BgStruct* bg_name);
\~french [DEPRECATED] On ne pourra jamais rendre ca plus simple... Charge un fond de type TiledBg converti avec PAGfx, en mettant les tiles, la map, et meme la palette ! Seulement en mode 256 couleurs \~french [DEPRECATED] On ne pourra jamais rendre ca plus simple... Charge un fond de type TiledBg converti avec PAGfx, en mettant les tiles, la map, et meme la palette ! Seulement en mode 256 couleurs
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_name \~\param bg_name
\~english Background name, like bg0 \~english Background name, like bg0
\~french Nom du fond, comme bg0 \~french Nom du fond, comme bg0
@ -398,13 +398,13 @@ void PA_LoadBackground(u8 screen, u8 bg_select, const PA_BgStruct* bg_name);
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Simple way to load a Background. Combines PA_InitBg, PA_LoadBgTiles, and PA_LoadBgMap \~english [DEPRECATED] Simple way to load a Background. Combines PA_InitBg, PA_LoadBgTiles, and PA_LoadBgMap
\~french [DEPRECATED] Façon simple de cahrger un fond. Combine PA_InitBg, PA_LoadBgTiles, et PA_LoadBgMap \~french [DEPRECATED] Façon simple de cahrger un fond. Combine PA_InitBg, PA_LoadBgTiles, et PA_LoadBgMap
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -438,10 +438,10 @@ void PA_LoadBackground(u8 screen, u8 bg_select, const PA_BgStruct* bg_name);
\~french [DEPRECATED] Facon la plus simple de cahrger un fond. Combine PA_InitBg, PA_LoadBgTiles, et PA_LoadBgMap \~french [DEPRECATED] Facon la plus simple de cahrger un fond. Combine PA_InitBg, PA_LoadBgTiles, et PA_LoadBgMap
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -453,7 +453,7 @@ void PA_LoadBackground(u8 screen, u8 bg_select, const PA_BgStruct* bg_name);
\~french Nom du tableau contenant les infos sur la map (exemple : ship_Map) \~french Nom du tableau contenant les infos sur la map (exemple : ship_Map)
\~\param bg_size \~\param bg_size
\~english 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... \~english 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...
\~french Taille du fond. Ceci est très important, car ça détermine aussi si le Bg est rotatif ou non. Pour un fond normal, on utilise les macros BG_256X256, BG_256X512, etc... Por un fond rotatif, il suffit d'utiliser BG_ROT_128X128... \~french Taille du fond. Ceci est très important, car ça détermine aussi si le Bg est rotatif ou non. Pour un fond normal, on utilise les macros BG_256X256, BG_256X512, etc... Por un fond rotatif, il suffit d'utiliser BG_ROT_128X128...
\~\param wraparound \~\param wraparound
\~english If the background wraps around or not. More important for rotating backgrounds. \~english If the background wraps around or not. More important for rotating backgrounds.
\~french Si le fond boucle ou non. C'est plus important pour les fonds rotatifs... \~french Si le fond boucle ou non. C'est plus important pour les fonds rotatifs...
@ -476,13 +476,13 @@ void PA_LoadBackground(u8 screen, u8 bg_select, const PA_BgStruct* bg_name);
\~french Scroll horizontal d'un fond de type Tiled \~french Scroll horizontal d'un fond de type Tiled
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer, horizontalement... \~french Valeur X à déplacer, horizontalement...
*/ */
static inline void PA_BGScrollX(u8 screen, u8 bg_number, s32 x) { static inline void PA_BGScrollX(u8 screen, u8 bg_number, s32 x) {
PA_BgInfo[screen][bg_number].ScrollX = (x)&1023; PA_BgInfo[screen][bg_number].ScrollX = (x)&1023;
@ -496,13 +496,13 @@ static inline void PA_BGScrollX(u8 screen, u8 bg_number, s32 x) {
\~french Scroll vertical d'un fond de type Tiled \~french Scroll vertical d'un fond de type Tiled
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer, verticalement... \~french Valeur Y à déplacer, verticalement...
*/ */
static inline void PA_BGScrollY(u8 screen, u8 bg_number, s32 y) { static inline void PA_BGScrollY(u8 screen, u8 bg_number, s32 y) {
PA_BgInfo[screen][bg_number].ScrollY = (y)&1023; PA_BgInfo[screen][bg_number].ScrollY = (y)&1023;
@ -516,16 +516,16 @@ static inline void PA_BGScrollY(u8 screen, u8 bg_number, s32 y) {
\~french Scroll horizontal et vertical d'un fond de type Tiled \~french Scroll horizontal et vertical d'un fond de type Tiled
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer, horizontalement... \~french Valeur X à déplacer, horizontalement...
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer, verticalement... \~french Valeur Y à déplacer, verticalement...
*/ */
static inline void PA_BGScrollXY(u8 screen, u8 bg_number, s32 x, s32 y) { static inline void PA_BGScrollXY(u8 screen, u8 bg_number, s32 x, s32 y) {
PA_BGScrollX(screen, bg_number, x); PA_BGScrollX(screen, bg_number, x);
@ -536,22 +536,22 @@ static inline void PA_BGScrollXY(u8 screen, u8 bg_number, s32 x, s32 y) {
\fn static inline void PA_SetMapTile(u8 screen, u8 bg_select, s16 x, s16 y, s16 tile_number) \fn static inline void PA_SetMapTile(u8 screen, u8 bg_select, s16 x, s16 y, s16 tile_number)
\brief \brief
\~english Change the tile gfx used by a given tile in the map \~english Change the tile gfx used by a given tile in the map
\~french Change la tile gfx utilisée pour une tile donnée dans la map \~french Change la tile gfx utilisée pour une tile donnée dans la map
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value of the tile to change \~english X value of the tile to change
\~french Valeur X de la tile à changer \~french Valeur X de la tile à changer
\~\param y \~\param y
\~english Y value of the map tile to change \~english Y value of the map tile to change
\~french Valeur Y de la tile à changer dans la carte \~french Valeur Y de la tile à changer dans la carte
\~\param tile_number \~\param tile_number
\~english New tile number to put \~english New tile number to put
\~french Nouveau numéro de tile que l'on veut mettre \~french Nouveau numéro de tile que l'on veut mettre
*/ */
static inline void PA_SetMapTile(u8 screen, u8 bg_select, s16 x, s16 y, s16 tile_number) { static inline void PA_SetMapTile(u8 screen, u8 bg_select, s16 x, s16 y, s16 tile_number) {
*(u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)) &= ~(TILE_N); *(u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)) &= ~(TILE_N);
@ -562,22 +562,22 @@ static inline void PA_SetMapTile(u8 screen, u8 bg_select, s16 x, s16 y, s16 tile
\def PA_SetMapTileAll(screen, bg_select, x, y, tile_info) \def PA_SetMapTileAll(screen, bg_select, x, y, tile_info)
\brief \brief
\~english Change the tile info used by a given tile in the map \~english Change the tile info used by a given tile in the map
\~french Change les infos tiles utilisée pour une tile donnée dans la map \~french Change les infos tiles utilisée pour une tile donnée dans la map
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value of the tile to change \~english X value of the tile to change
\~french Valeur X de la tile à changer \~french Valeur X de la tile à changer
\~\param y \~\param y
\~english Y value of the map tile to change \~english Y value of the map tile to change
\~french Valeur Y de la tile à changer dans la carte \~french Valeur Y de la tile à changer dans la carte
\~\param tile_info \~\param tile_info
\~english New tile to put (tile + palette + flips...) \~english New tile to put (tile + palette + flips...)
\~french Nouveau numéro de tile que l'on veut mettre (tile + palette + flips...) \~french Nouveau numéro de tile que l'on veut mettre (tile + palette + flips...)
*/ */
#define PA_SetMapTileAll(screen, bg_select, x, y, tile_info) *(u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)) = (tile_info) #define PA_SetMapTileAll(screen, bg_select, x, y, tile_info) *(u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)) = (tile_info)
@ -585,22 +585,22 @@ static inline void PA_SetMapTile(u8 screen, u8 bg_select, s16 x, s16 y, s16 tile
\fn static inline void PA_SetLargeMapTile(u8 screen, u8 bg_select, s32 x, s32 y, u32 tile_info) \fn static inline void PA_SetLargeMapTile(u8 screen, u8 bg_select, s32 x, s32 y, u32 tile_info)
\brief \brief
\~english Change the tile info used by a given tile in the map, only for big background (512 large or wide) \~english Change the tile info used by a given tile in the map, only for big background (512 large or wide)
\~french Change les infos tiles utilisée pour une tile donnée dans la map, seulement pour les grands fonds (512 de large ou haut) \~french Change les infos tiles utilisée pour une tile donnée dans la map, seulement pour les grands fonds (512 de large ou haut)
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value of the tile to change \~english X value of the tile to change
\~french Valeur X de la tile à changer \~french Valeur X de la tile à changer
\~\param y \~\param y
\~english Y value of the map tile to change \~english Y value of the map tile to change
\~french Valeur Y de la tile à changer dans la carte \~french Valeur Y de la tile à changer dans la carte
\~\param tile_info \~\param tile_info
\~english New tile to put (tile + palette + flips...) \~english New tile to put (tile + palette + flips...)
\~french Nouveau numéro de tile que l'on veut mettre (tile + palette + flips...) \~french Nouveau numéro de tile que l'on veut mettre (tile + palette + flips...)
*/ */
static inline void PA_SetLargeMapTile(u8 screen, u8 bg_select, s32 x, s32 y, u32 tile_info) { static inline void PA_SetLargeMapTile(u8 screen, u8 bg_select, s32 x, s32 y, u32 tile_info) {
u32 truex; u32 truex;
@ -618,16 +618,16 @@ static inline void PA_SetLargeMapTile(u8 screen, u8 bg_select, s32 x, s32 y, u32
\~french Flipper une tile de la carte, horizontalement \~french Flipper une tile de la carte, horizontalement
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value of the tile to change \~english X value of the tile to change
\~french Valeur X de la tile à changer \~french Valeur X de la tile à changer
\~\param y \~\param y
\~english Y value of the map tile to change \~english Y value of the map tile to change
\~french Valeur Y de la tile à changer dans la carte \~french Valeur Y de la tile à changer dans la carte
\~\param hflip \~\param hflip
\~english Set the map tile to horizontal flip \~english Set the map tile to horizontal flip
\~french Mettre la tile de la carte en flip horizontal \~french Mettre la tile de la carte en flip horizontal
@ -645,16 +645,16 @@ static inline void PA_SetMapTileHflip(u8 screen, u8 bg_select, u8 x, u8 y, u8 hf
\~french Flipper une tile de la carte, verticalement \~french Flipper une tile de la carte, verticalement
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value of the tile to change \~english X value of the tile to change
\~french Valeur X de la tile à changer \~french Valeur X de la tile à changer
\~\param y \~\param y
\~english Y value of the map tile to change \~english Y value of the map tile to change
\~french Valeur Y de la tile à changer dans la carte \~french Valeur Y de la tile à changer dans la carte
\~\param vflip \~\param vflip
\~english Set the map tile to vertical flip \~english Set the map tile to vertical flip
\~french Mettre la tile de la carte en flip vertical \~french Mettre la tile de la carte en flip vertical
@ -669,22 +669,22 @@ static inline void PA_SetMapTileVflip(u8 screen, u8 bg_select, u8 x, u8 y, u8 vf
\fn static inline void PA_SetMapTilePal(u8 screen, u8 bg_select, u8 x, u8 y, u8 palette_number) \fn static inline void PA_SetMapTilePal(u8 screen, u8 bg_select, u8 x, u8 y, u8 palette_number)
\brief \brief
\~english Change the 16 color palette used by a tile. Works only if the Bg is in 16 colors... \~english Change the 16 color palette used by a tile. Works only if the Bg is in 16 colors...
\~french Changer la palette de 16 couleurs utilisée par une tile de la carte. Marche uniquement en mode 16 couleurs pour le Bg. \~french Changer la palette de 16 couleurs utilisée par une tile de la carte. Marche uniquement en mode 16 couleurs pour le Bg.
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value of the tile to change \~english X value of the tile to change
\~french Valeur X de la tile à changer \~french Valeur X de la tile à changer
\~\param y \~\param y
\~english Y value of the map tile to change \~english Y value of the map tile to change
\~french Valeur Y de la tile à changer dans la carte \~french Valeur Y de la tile à changer dans la carte
\~\param palette_number \~\param palette_number
\~english Palette number (0-15) \~english Palette number (0-15)
\~french Numéro de la palette (0-15) \~french Numéro de la palette (0-15)
*/ */
static inline void PA_SetMapTilePal(u8 screen, u8 bg_select, u8 x, u8 y, u8 palette_number) { static inline void PA_SetMapTilePal(u8 screen, u8 bg_select, u8 x, u8 y, u8 palette_number) {
u16 *pointer = (u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)); u16 *pointer = (u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6));
@ -696,22 +696,22 @@ static inline void PA_SetMapTilePal(u8 screen, u8 bg_select, u8 x, u8 y, u8 pale
\def PA_SetMapTileEx(screen, bg_select, x, y, tile_number, hflip, vflip, palette_number) \def PA_SetMapTileEx(screen, bg_select, x, y, tile_number, hflip, vflip, palette_number)
\brief \brief
\~english Change every aspect of a given map tile \~english Change every aspect of a given map tile
\~french Changer tous les aspect d'une tile donnée dans la map. \~french Changer tous les aspect d'une tile donnée dans la map.
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value of the tile to change \~english X value of the tile to change
\~french Valeur X de la tile à changer \~french Valeur X de la tile à changer
\~\param y \~\param y
\~english Y value of the map tile to change \~english Y value of the map tile to change
\~french Valeur Y de la tile à changer dans la carte \~french Valeur Y de la tile à changer dans la carte
\~\param tile_number \~\param tile_number
\~english New tile number to put \~english New tile number to put
\~french Nouveau numéro de tile que l'on veut mettre \~french Nouveau numéro de tile que l'on veut mettre
\~\param hflip \~\param hflip
\~english Set the map tile to horizontal flip \~english Set the map tile to horizontal flip
\~french Mettre la tile de la carte en flip horizontal \~french Mettre la tile de la carte en flip horizontal
@ -720,7 +720,7 @@ static inline void PA_SetMapTilePal(u8 screen, u8 bg_select, u8 x, u8 y, u8 pale
\~french Mettre la tile de la carte en flip vertical \~french Mettre la tile de la carte en flip vertical
\~\param palette_number \~\param palette_number
\~english Palette number (0-15) \~english Palette number (0-15)
\~french Numéro de la palette (0-15) \~french Numéro de la palette (0-15)
*/ */
static inline void PA_SetMapTileEx(u8 screen, u8 bg_select, s16 x, s16 y, u16 tile_number, u8 hflip, u8 vflip, u8 palette_number) { static inline void PA_SetMapTileEx(u8 screen, u8 bg_select, s16 x, s16 y, u16 tile_number, u8 hflip, u8 vflip, u8 palette_number) {
*(u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)) = (tile_number) + ((hflip) << 10) + ((vflip) << 11) + ((palette_number) << 12); *(u16*)(PA_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)) = (tile_number) + ((hflip) << 10) + ((vflip) << 11) + ((palette_number) << 12);
@ -730,16 +730,16 @@ static inline void PA_SetMapTileEx(u8 screen, u8 bg_select, s16 x, s16 y, u16 ti
\fn static inline void PA_SetBgPrio(u8 screen, u8 bg, u8 prio) \fn static inline void PA_SetBgPrio(u8 screen, u8 bg, u8 prio)
\brief \brief
\~english Change a backgrounds priority \~english Change a backgrounds priority
\~french Changer la priorité d'un fond \~french Changer la priorité d'un fond
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg \~\param bg
\~english Background... \~english Background...
\~french Numéro du fond... \~french Numéro du fond...
\~\param prio \~\param prio
\~english Priority level (0-3, 0 being the highest) \~english Priority level (0-3, 0 being the highest)
\~french Niveau de priorité, de 0 à 3, 0 étant priorité la plus élevée \~french Niveau de priorité, de 0 à 3, 0 étant priorité la plus élevée
*/ */
static inline void PA_SetBgPrio(u8 screen, u8 bg, u8 prio) { static inline void PA_SetBgPrio(u8 screen, u8 bg, u8 prio) {
_REG16(REG_BGCNT(screen, bg)) &= ~3; _REG16(REG_BGCNT(screen, bg)) &= ~3;
@ -748,7 +748,7 @@ static inline void PA_SetBgPrio(u8 screen, u8 bg, u8 prio) {
static inline void PA_CreateBgFromTiles(u8 screen, u8 bg_select, u8 bg_tiles, void *bg_map, u8 bg_size){ static inline void PA_CreateBgFromTiles(u8 screen, u8 bg_select, u8 bg_tiles, void *bg_map, u8 bg_size){
PA_LoadBgMap(screen, bg_select, bg_map, bg_size); PA_LoadBgMap(screen, bg_select, bg_map, bg_size);
scrollpos[screen][bg_select].infscroll = 0; // Par défaut pas de scrolling infini... scrollpos[screen][bg_select].infscroll = 0; // Par défaut pas de scrolling infini...
PA_BgInfo[screen][bg_select].Map = ScreenBaseBlock(screen, PA_BgInfo[screen][bg_select].mapchar); PA_BgInfo[screen][bg_select].Map = ScreenBaseBlock(screen, PA_BgInfo[screen][bg_select].mapchar);
PA_BgInfo[screen][bg_select].TileSetChar = PA_BgInfo[screen][bg_tiles].TileSetChar; PA_BgInfo[screen][bg_select].TileSetChar = PA_BgInfo[screen][bg_tiles].TileSetChar;
PA_BgInfo[screen][bg_select].tilesetsize = PA_BgInfo[screen][bg_tiles].tilesetsize; PA_BgInfo[screen][bg_select].tilesetsize = PA_BgInfo[screen][bg_tiles].tilesetsize;
@ -762,13 +762,13 @@ static inline void PA_CreateBgFromTiles(u8 screen, u8 bg_select, u8 bg_tiles, vo
\fn static inline void PA_SetBgPrioSeq(u8 screen, u8 priority0, u8 priority1, u8 priority2, u8 priority3) \fn static inline void PA_SetBgPrioSeq(u8 screen, u8 priority0, u8 priority1, u8 priority2, u8 priority3)
\brief \brief
\~english Change all the background priorities to a given background order \~english Change all the background priorities to a given background order
\~french Changer la priorité des fonds pour qu'ils soient dans un ordre donné \~french Changer la priorité des fonds pour qu'ils soient dans un ordre donné
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param priority0 \~\param priority0
\~english Background to show on top \~english Background to show on top
\~french Fond à mettre en premier \~french Fond à mettre en premier
\~\param priority1 \~\param priority1
\~english Next one... \~english Next one...
\~french Suivant... \~french Suivant...
@ -790,10 +790,10 @@ static inline void PA_SetBgPrioSeq(u8 screen, u8 priority0, u8 priority1, u8 pri
/*! \fn static inline void PA_ClearBg(u8 screen, u8 bg_select) /*! \fn static inline void PA_ClearBg(u8 screen, u8 bg_select)
\brief \brief
\~english Erase a given background (just the tilemap) \~english Erase a given background (just the tilemap)
\~french Effacer un fond donné (juste la map) \~french Effacer un fond donné (juste la map)
\~\param screen \~\param screen
\~english Choose de screen (0 or 1) \~english Choose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background... \~english Background...
\~french Fond... \~french Fond...
@ -807,13 +807,13 @@ static inline void PA_ClearBg(u8 screen, u8 bg_select){
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Easiest way to load a background converted with PAGfx... \~english [DEPRECATED] Easiest way to load a background converted with PAGfx...
\~french [DEPRECATED] Moyen le plus simple de charger un fond créé avec PAGfx \~french [DEPRECATED] Moyen le plus simple de charger un fond créé avec PAGfx
\~\param screen \~\param screen
\~english Choose de screen (0 or 1) \~english Choose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number... (0-3) \~english Background number... (0-3)
\~french Numéro du fond... (0-3) \~french Numéro du fond... (0-3)
\~\param bg_name \~\param bg_name
\~english Background name \~english Background name
\~french Nom du fond \~french Nom du fond
@ -828,13 +828,13 @@ static inline void PA_ClearBg(u8 screen, u8 bg_select){
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Easiest way to load a background converted with PAGfx... Can take pointers ! \~english [DEPRECATED] Easiest way to load a background converted with PAGfx... Can take pointers !
\~french [DEPRECATED] Moyen le plus simple de charger un fond créé avec PAGfx... Peut prendre des pointeurs ! \~french [DEPRECATED] Moyen le plus simple de charger un fond créé avec PAGfx... Peut prendre des pointeurs !
\~\param screen \~\param screen
\~english Choose de screen (0 or 1) \~english Choose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number... (0-3) \~english Background number... (0-3)
\~french Numéro du fond... (0-3) \~french Numéro du fond... (0-3)
\~\param bg_name \~\param bg_name
\~english Background, like &bg0 \~english Background, like &bg0
\~french Fond, par exemple &bg0 \~french Fond, par exemple &bg0
@ -851,13 +851,13 @@ static inline void PA_ClearBg(u8 screen, u8 bg_select){
\~french Scroll horizontal de n'importe quel fond \~french Scroll horizontal de n'importe quel fond
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer, horizontalement... \~french Valeur X à déplacer, horizontalement...
*/ */
void PA_EasyBgScrollX(u8 screen, u8 bg_number, s32 x); void PA_EasyBgScrollX(u8 screen, u8 bg_number, s32 x);
@ -868,13 +868,13 @@ void PA_EasyBgScrollX(u8 screen, u8 bg_number, s32 x);
\~french Scroll vertical de n'importe quel fond \~french Scroll vertical de n'importe quel fond
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer, verticalement... \~french Valeur Y à déplacer, verticalement...
*/ */
void PA_EasyBgScrollY(u8 screen, u8 bg_number, s32 y); void PA_EasyBgScrollY(u8 screen, u8 bg_number, s32 y);
@ -885,16 +885,16 @@ void PA_EasyBgScrollY(u8 screen, u8 bg_number, s32 y);
\~french Scroll horizontal et vertical de n'importe quel fond \~french Scroll horizontal et vertical de n'importe quel fond
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer, horizontalement... \~french Valeur X à déplacer, horizontalement...
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer, verticalement... \~french Valeur Y à déplacer, verticalement...
*/ */
static inline void PA_EasyBgScrollXY(u8 screen, u8 bg_number, s32 x, s32 y){ static inline void PA_EasyBgScrollXY(u8 screen, u8 bg_number, s32 x, s32 y){
PA_EasyBgScrollX(screen, bg_number, x); PA_EasyBgScrollX(screen, bg_number, x);
@ -905,19 +905,19 @@ static inline void PA_EasyBgScrollXY(u8 screen, u8 bg_number, s32 x, s32 y){
\fn static inline u8 PA_EasyBgGetPixel(u8 screen, u8 bg_number, s32 x, s32 y) \fn static inline u8 PA_EasyBgGetPixel(u8 screen, u8 bg_number, s32 x, s32 y)
\brief \brief
\~english Returns the color (number in the palette) of the screen pixel... \~english Returns the color (number in the palette) of the screen pixel...
\~french Renvoie le numéro dans la palette du pixel à l'écran... \~french Renvoie le numéro dans la palette du pixel à l'écran...
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X screen pixel position \~english X screen pixel position
\~french Valeur X du pixel à l'écran \~french Valeur X du pixel à l'écran
\~\param y \~\param y
\~english Y screen pixel position \~english Y screen pixel position
\~french Valeur Y du pixel à l'écran \~french Valeur Y du pixel à l'écran
*/ */
static inline u8 PA_EasyBgGetPixel(u8 screen, u8 bg_number, s32 x, s32 y){ static inline u8 PA_EasyBgGetPixel(u8 screen, u8 bg_number, s32 x, s32 y){
return PA_EasyBgPixel[PA_BgInfo[screen][bg_number].Infos.Type](screen, bg_number, x, y); return PA_EasyBgPixel[PA_BgInfo[screen][bg_number].Infos.Type](screen, bg_number, x, y);
@ -927,19 +927,19 @@ static inline u8 PA_EasyBgGetPixel(u8 screen, u8 bg_number, s32 x, s32 y){
\fn static inline u16 PA_EasyBgGetPixelCol(u8 screen, u8 bg_number, s32 x, s32 y) \fn static inline u16 PA_EasyBgGetPixelCol(u8 screen, u8 bg_number, s32 x, s32 y)
\brief \brief
\~english Returns the color (u16 value) of the screen pixel... \~english Returns the color (u16 value) of the screen pixel...
\~french Renvoie la couleur (valeur u16) du pixel à l'écran... \~french Renvoie la couleur (valeur u16) du pixel à l'écran...
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X screen pixel position \~english X screen pixel position
\~french Valeur X du pixel à l'écran \~french Valeur X du pixel à l'écran
\~\param y \~\param y
\~english Y screen pixel position \~english Y screen pixel position
\~french Valeur Y du pixel à l'écran \~french Valeur Y du pixel à l'écran
*/ */
static inline u16 PA_EasyBgGetPixelCol(u8 screen, u8 bg_number, s32 x, s32 y){ static inline u16 PA_EasyBgGetPixelCol(u8 screen, u8 bg_number, s32 x, s32 y){
return ((u16*)(PA_BgInfo[screen][bg_number].Infos.Palette))[PA_EasyBgGetPixel(screen, bg_number, x, y)]; return ((u16*)(PA_BgInfo[screen][bg_number].Infos.Palette))[PA_EasyBgGetPixel(screen, bg_number, x, y)];
@ -952,13 +952,13 @@ static inline u16 PA_EasyBgGetPixelCol(u8 screen, u8 bg_number, s32 x, s32 y){
\~french Active ou non le wrapping des fonds (rotatifs, 8bit, et 16bit) \~french Active ou non le wrapping des fonds (rotatifs, 8bit, et 16bit)
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg \~\param bg
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param wrap \~\param wrap
\~english Wrap around on or off... \~english Wrap around on or off...
\~french Wrap activé ou désactivé... \~french Wrap activé ou désactivé...
*/ */
static inline void PA_SetBgWrap(u8 screen, u8 bg, u8 wrap){ static inline void PA_SetBgWrap(u8 screen, u8 bg, u8 wrap){
_REG16(REG_BGCNT(screen, bg)) &= ~(1<<13); // Remove _REG16(REG_BGCNT(screen, bg)) &= ~(1<<13); // Remove
@ -970,13 +970,13 @@ static inline void PA_SetBgWrap(u8 screen, u8 bg, u8 wrap){
\fn static inline void PA_InitParallaxX(u8 screen, s32 bg0, s32 bg1, s32 bg2, s32 bg3) \fn static inline void PA_InitParallaxX(u8 screen, s32 bg0, s32 bg1, s32 bg2, s32 bg3)
\brief \brief
\~english Initialise Parallax Scrolling for multiple backgrounds, horizontaly. Chose the speed at which each background will scroll compared to the others. Then use PA_ParallaxScrollX to scroll... \~english Initialise Parallax Scrolling for multiple backgrounds, horizontaly. Chose the speed at which each background will scroll compared to the others. Then use PA_ParallaxScrollX to scroll...
\~french Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller \~french Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg0 \~\param bg0
\~english Value for the first background (0). Set to 256 for normal scroll speed, lower for lower speed (128 is half speed...), higher for faster (512 is twice as fast...). You can set negative values. 0 inactivates parallax scrolling for this background \~english Value for the first background (0). Set to 256 for normal scroll speed, lower for lower speed (128 is half speed...), higher for faster (512 is twice as fast...). You can set negative values. 0 inactivates parallax scrolling for this background
\~french Valeur pour le premier fond (0). 256 met en vitesse normal, moins pour moins lent (128 pour moitié de vitesse), plus pour plus rapide (512 équivaut à 2 fois plus vite). On peut utiliser des valeurs négatives. 0 désactive le scrolling parallax pour ce fond \~french Valeur pour le premier fond (0). 256 met en vitesse normal, moins pour moins lent (128 pour moitié de vitesse), plus pour plus rapide (512 équivaut à 2 fois plus vite). On peut utiliser des valeurs négatives. 0 désactive le scrolling parallax pour ce fond
\~\param bg1 \~\param bg1
\~english Same thing for Background 1 \~english Same thing for Background 1
\~french Idem, pour le Fond 1 \~french Idem, pour le Fond 1
@ -998,13 +998,13 @@ static inline void PA_InitParallaxX(u8 screen, s32 bg0, s32 bg1, s32 bg2, s32 bg
\fn static inline void PA_InitParallaxY(u8 screen, s32 bg0, s32 bg1, s32 bg2, s32 bg3) \fn static inline void PA_InitParallaxY(u8 screen, s32 bg0, s32 bg1, s32 bg2, s32 bg3)
\brief \brief
\~english Initialise Parallax Scrolling for multiple backgrounds, horizontaly. Chose the speed at which each background will scroll compared to the others. Then use PA_ParallaxScrollX to scroll... \~english Initialise Parallax Scrolling for multiple backgrounds, horizontaly. Chose the speed at which each background will scroll compared to the others. Then use PA_ParallaxScrollX to scroll...
\~french Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller \~french Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg0 \~\param bg0
\~english Value for the first background (0). Set to 256 for normal scroll speed, lower for lower speed (128 is half speed...), higher for faster (512 is twice as fast...). You can set negative values. 0 inactivates parallax scrolling for this background \~english Value for the first background (0). Set to 256 for normal scroll speed, lower for lower speed (128 is half speed...), higher for faster (512 is twice as fast...). You can set negative values. 0 inactivates parallax scrolling for this background
\~french Valeur pour le premier fond (0). 256 met en vitesse normal, moins pour moins lent (128 pour moitié de vitesse), plus pour plus rapide (512 équivaut à 2 fois plus vite). On peut utiliser des valeurs négatives. 0 désactive le scrolling parallax pour ce fond \~french Valeur pour le premier fond (0). 256 met en vitesse normal, moins pour moins lent (128 pour moitié de vitesse), plus pour plus rapide (512 équivaut à 2 fois plus vite). On peut utiliser des valeurs négatives. 0 désactive le scrolling parallax pour ce fond
\~\param bg1 \~\param bg1
\~english Same thing for Background 1 \~english Same thing for Background 1
\~french Idem, pour le Fond 1 \~french Idem, pour le Fond 1
@ -1028,13 +1028,13 @@ static inline void PA_InitParallaxY(u8 screen, s32 bg0, s32 bg1, s32 bg2, s32 bg
\fn static inline void PA_ParallaxScrollX(u8 screen, s32 x) \fn static inline void PA_ParallaxScrollX(u8 screen, s32 x)
\brief \brief
\~english Scroll the backgrounds \~english Scroll the backgrounds
\~french Déplacer les fonds activés pour le parallax... \~french Déplacer les fonds activés pour le parallax...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
*/ */
static inline void PA_ParallaxScrollX(u8 screen, s32 x){ static inline void PA_ParallaxScrollX(u8 screen, s32 x){
int i; int i;
@ -1050,13 +1050,13 @@ static inline void PA_ParallaxScrollX(u8 screen, s32 x){
\fn static inline void PA_ParallaxScrollY(u8 screen, s32 y) \fn static inline void PA_ParallaxScrollY(u8 screen, s32 y)
\brief \brief
\~english Scroll the backgrounds \~english Scroll the backgrounds
\~french Déplacer les fonds activés pour le parallax... \~french Déplacer les fonds activés pour le parallax...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_ParallaxScrollY(u8 screen, s32 y){ static inline void PA_ParallaxScrollY(u8 screen, s32 y){
int i; int i;
@ -1072,16 +1072,16 @@ static inline void PA_ParallaxScrollY(u8 screen, s32 y){
\fn static inline void PA_ParallaxScrollXY(u8 screen, s32 x, s32 y) \fn static inline void PA_ParallaxScrollXY(u8 screen, s32 x, s32 y)
\brief \brief
\~english Scroll the backgrounds \~english Scroll the backgrounds
\~french Déplacer les fonds activés pour le parallax... \~french Déplacer les fonds activés pour le parallax...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_ParallaxScrollXY(u8 screen, s32 x, s32 y){ static inline void PA_ParallaxScrollXY(u8 screen, s32 x, s32 y){
PA_ParallaxScrollX(screen, x); PA_ParallaxScrollX(screen, x);

View File

@ -32,7 +32,7 @@ enum{
\~french Initialise le systeme BgTrans sur le fond 0 \~french Initialise le systeme BgTrans sur le fond 0
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg \~\param bg
\~english Background (0-3) \~english Background (0-3)
\~french Fond (0-3) \~french Fond (0-3)
@ -45,7 +45,7 @@ void PA_InitBgTransEx(u8 screen, u8 bg);
\~french Initialise le systeme BgTrans sur le fond 0 \~french Initialise le systeme BgTrans sur le fond 0
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
*/ */
static inline void PA_InitBgTrans(u8 screen){ static inline void PA_InitBgTrans(u8 screen){
PA_InitBgTransEx(screen, 0); PA_InitBgTransEx(screen, 0);
@ -57,7 +57,7 @@ static inline void PA_InitBgTrans(u8 screen){
\~french Effet de transition en Haut/Bas \~french Effet de transition en Haut/Bas
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param type \~\param type
\~english BgTrans type... (0-4). Use macros TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, or TRANS_STAR \~english BgTrans type... (0-4). Use macros TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, or TRANS_STAR
\~french Type de transition... (0-4). Utiliser TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, ou TRANS_STAR \~french Type de transition... (0-4). Utiliser TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, ou TRANS_STAR
@ -66,7 +66,7 @@ static inline void PA_InitBgTrans(u8 screen){
\~french Flip vertical... \~french Flip vertical...
\~\param state \~\param state
\~english State, from 0 to TRANS_LENGTH. 0 being visible, TRANS_LENGTH invisible \~english State, from 0 to TRANS_LENGTH. 0 being visible, TRANS_LENGTH invisible
\~french Etat, de 0 à TRANS_LENGTH. 0 pour visible, TRANS_LENGTH pour invisible... \~french Etat, de 0 à TRANS_LENGTH. 0 pour visible, TRANS_LENGTH pour invisible...
*/ */
void PA_BgTransUpDown(u8 screen, u16 type, u8 vflip, s16 state); void PA_BgTransUpDown(u8 screen, u16 type, u8 vflip, s16 state);
@ -76,7 +76,7 @@ void PA_BgTransUpDown(u8 screen, u16 type, u8 vflip, s16 state);
\~french Effet de transition en Gauche/Droite \~french Effet de transition en Gauche/Droite
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param type \~\param type
\~english BgTrans type... (0-4). Use macros TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, or TRANS_STAR \~english BgTrans type... (0-4). Use macros TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, or TRANS_STAR
\~french Type de transition... (0-4). Utiliser TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, ou TRANS_STAR \~french Type de transition... (0-4). Utiliser TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, ou TRANS_STAR
@ -85,7 +85,7 @@ void PA_BgTransUpDown(u8 screen, u16 type, u8 vflip, s16 state);
\~french Flip horizontal... \~french Flip horizontal...
\~\param state \~\param state
\~english State, from 0 to TRANS_LENGTH. 0 being visible, TRANS_LENGTH invisible \~english State, from 0 to TRANS_LENGTH. 0 being visible, TRANS_LENGTH invisible
\~french Etat, de 0 à TRANS_LENGTH. 0 pour visible, TRANS_LENGTH pour invisible... \~french Etat, de 0 à TRANS_LENGTH. 0 pour visible, TRANS_LENGTH pour invisible...
*/ */
void PA_BgTransLeftRight(u8 screen, u16 type, u8 hflip, s16 state); void PA_BgTransLeftRight(u8 screen, u16 type, u8 hflip, s16 state);
@ -95,7 +95,7 @@ void PA_BgTransLeftRight(u8 screen, u16 type, u8 hflip, s16 state);
\~french Effet de transition en diagonale \~french Effet de transition en diagonale
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param type \~\param type
\~english BgTrans type... (0-4). Use macros TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, or TRANS_STAR \~english BgTrans type... (0-4). Use macros TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, or TRANS_STAR
\~french Type de transition... (0-4). Utiliser TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, ou TRANS_STAR \~french Type de transition... (0-4). Utiliser TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, ou TRANS_STAR
@ -107,7 +107,7 @@ void PA_BgTransLeftRight(u8 screen, u16 type, u8 hflip, s16 state);
\~french Flip vertical... \~french Flip vertical...
\~\param state \~\param state
\~english State, from 0 to TRANS_LENGTH. 0 being visible, TRANS_LENGTH invisible \~english State, from 0 to TRANS_LENGTH. 0 being visible, TRANS_LENGTH invisible
\~french Etat, de 0 à TRANS_LENGTH. 0 pour visible, TRANS_LENGTH pour invisible... \~french Etat, de 0 à TRANS_LENGTH. 0 pour visible, TRANS_LENGTH pour invisible...
*/ */
void PA_BgTransDiag(u8 screen, u16 type, u8 hflip, u8 vflip, s16 state); void PA_BgTransDiag(u8 screen, u16 type, u8 hflip, u8 vflip, s16 state);
@ -118,7 +118,7 @@ void PA_BgTransDiag(u8 screen, u16 type, u8 hflip, u8 vflip, s16 state);
\~french Effet de transition depuis le centre \~french Effet de transition depuis le centre
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param type \~\param type
\~english BgTrans type... (0-4). Use macros TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, or TRANS_STAR \~english BgTrans type... (0-4). Use macros TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, or TRANS_STAR
\~french Type de transition... (0-4). Utiliser TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, ou TRANS_STAR \~french Type de transition... (0-4). Utiliser TRANS_ROUND, TRANS_DIAMOND , TRANS_CROSS, TRANS_LINES, ou TRANS_STAR
@ -127,7 +127,7 @@ void PA_BgTransDiag(u8 screen, u16 type, u8 hflip, u8 vflip, s16 state);
\~french Inverser dedans/dehors \~french Inverser dedans/dehors
\~\param state \~\param state
\~english State, from 0 to TRANS_LENGTH. 0 being visible, TRANS_LENGTH invisible \~english State, from 0 to TRANS_LENGTH. 0 being visible, TRANS_LENGTH invisible
\~french Etat, de 0 à TRANS_LENGTH. 0 pour visible, TRANS_LENGTH pour invisible... \~french Etat, de 0 à TRANS_LENGTH. 0 pour visible, TRANS_LENGTH pour invisible...
*/ */
void PA_BgTransCenter(u8 screen, u16 type, u8 invert, s16 state); void PA_BgTransCenter(u8 screen, u16 type, u8 invert, s16 state);

View File

@ -18,7 +18,7 @@ extern "C"{
/*! \fn bool PA_IsEmulator() /*! \fn bool PA_IsEmulator()
\brief \brief
\~english Detects if the program is running on an emulator \~english Detects if the program is running on an emulator
\~french Détecte si le programme est exécuté sur un émulateur \~french Détecte si le programme est exécuté sur un émulateur
*/ */
bool PA_IsEmulator(); bool PA_IsEmulator();
@ -26,7 +26,7 @@ bool PA_IsEmulator();
/*! \fn void PA_iDeaS_DebugOutput(const char* str) /*! \fn void PA_iDeaS_DebugOutput(const char* str)
\brief \brief
\~english Outputs text to the iDeaS debugging console \~english Outputs text to the iDeaS debugging console
\~french Sorties de texte à la iDeaS debugging console \~french Sorties de texte à la iDeaS debugging console
\~\param str \~\param str
\~english The text to output \~english The text to output
\~french Le texte \~french Le texte
@ -41,7 +41,7 @@ void PA_iDeaS_DebugOutput(const char* str);
/*! \fn void PA_iDeaS_DebugPrintf(const char* str, ...) /*! \fn void PA_iDeaS_DebugPrintf(const char* str, ...)
\brief \brief
\~english Outputs formatted text to the iDeaS debugging console \~english Outputs formatted text to the iDeaS debugging console
\~french Sorties de texte formaté à la iDeaS debugging console \~french Sorties de texte formaté à la iDeaS debugging console
\~\param str \~\param str
\~english The text to output \~english The text to output
\~french Le texte \~french Le texte

View File

@ -61,10 +61,10 @@ extern u16 PA_temppal[256];
/*! \fn void PA_Init8bitBg(u8 screen, u8 bg_priority) /*! \fn void PA_Init8bitBg(u8 screen, u8 bg_priority)
\brief \brief
\~english Initialise 8 bit draw mode (palette mode)... Chose the screen and the background priority (0-3). This drawable background will replace Background 3, and must be loaded before all other backgrounds. Takes about 3/8 of the VRAM. \~english Initialise 8 bit draw mode (palette mode)... Chose the screen and the background priority (0-3). This drawable background will replace Background 3, and must be loaded before all other backgrounds. Takes about 3/8 of the VRAM.
\~french Initialise le mode de dessin 8 bit (avec palette). Il suffit de choisir l'écran et la priorité de ce font (de 0 à 3). Ce fond sera placé sur le fond 3 (le remplacant), et doit etre chargé avant tout autre fond ! Prend environ 3/8 de la VRAM \~french Initialise le mode de dessin 8 bit (avec palette). Il suffit de choisir l'écran et la priorité de ce font (de 0 à 3). Ce fond sera placé sur le fond 3 (le remplacant), et doit etre chargé avant tout autre fond ! Prend environ 3/8 de la VRAM
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_priority \~\param bg_priority
\~english Background priority (0-3) \~english Background priority (0-3)
\~english Background priority (0-3) \~english Background priority (0-3)
@ -74,10 +74,10 @@ void PA_Init8bitBg(u8 screen, u8 bg_priority);
/*! \fn void PA_InitBig8bitBg(u8 screen, u8 bg_priority) /*! \fn void PA_InitBig8bitBg(u8 screen, u8 bg_priority)
\brief \brief
\~english Same as PA_Init8bitBg, but with an available size of 256x256. Takes up a little more space but allows correct vertical scrolling... \~english Same as PA_Init8bitBg, but with an available size of 256x256. Takes up a little more space but allows correct vertical scrolling...
\~french Similaire à PA_Init8bitBg, mais avec une taille de 256x256. Ceci prend un peu plus de mémoire, mais autorise le scrolling vertical \~french Similaire à PA_Init8bitBg, mais avec une taille de 256x256. Ceci prend un peu plus de mémoire, mais autorise le scrolling vertical
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_priority \~\param bg_priority
\~english Background priority (0-3) \~english Background priority (0-3)
\~english Background priority (0-3) \~english Background priority (0-3)
@ -91,10 +91,10 @@ void PA_Init8bitDblBuffer(u8 screen, u8 bg_priority);
/*! \fn void PA_Init16bitBg(u8 screen, u8 bg_priority) /*! \fn void PA_Init16bitBg(u8 screen, u8 bg_priority)
\brief \brief
\~english Initialise 16 bit draw mode (no palette mode, true colors)... Chose the screen and the background priority (0-3). This drawable background will replace Background 3, and must be loaded before all other backgrounds. Takes about 6/8 of the VRAM, so almost all the space ! \~english Initialise 16 bit draw mode (no palette mode, true colors)... Chose the screen and the background priority (0-3). This drawable background will replace Background 3, and must be loaded before all other backgrounds. Takes about 6/8 of the VRAM, so almost all the space !
\~french Initialise le mode de dessin 16 bit (sans palettes, couleurs RGB). Il suffit de choisir l'écran et la priorité de ce font (de 0 à 3). Ce fond sera placé sur le fond 3 (le remplacant), et doit etre chargé avant tout autre fond ! Prend environ 3/8 de la VRAM \~french Initialise le mode de dessin 16 bit (sans palettes, couleurs RGB). Il suffit de choisir l'écran et la priorité de ce font (de 0 à 3). Ce fond sera placé sur le fond 3 (le remplacant), et doit etre chargé avant tout autre fond ! Prend environ 3/8 de la VRAM
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_priority \~\param bg_priority
\~english Background priority (0-3) \~english Background priority (0-3)
\~english Background priority (0-3) \~english Background priority (0-3)
@ -107,10 +107,10 @@ void PA_16bitSwapBuffer(u8 screen);
/*! \fn static inline void PA_Put8bitPixel(u8 screen, s16 x, s16 y, u8 color) /*! \fn static inline void PA_Put8bitPixel(u8 screen, s16 x, s16 y, u8 color)
\brief \brief
\~english Draw a pixel on screen, on an 8 bit background \~english Draw a pixel on screen, on an 8 bit background
\~french Dessine un pixel à l'écran, sur un fond de 8 bits \~french Dessine un pixel à l'écran, sur un fond de 8 bits
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position (0-255) \~english X position (0-255)
\~french Position X (0-255) \~french Position X (0-255)
@ -132,10 +132,10 @@ static inline void PA_Put8bitPixel(u8 screen, s16 x, s16 y, u8 color) {
/*! \fn static inline void PA_Put2_8bitPixels(u8 screen, s16 x, s16 y, u16 colors) /*! \fn static inline void PA_Put2_8bitPixels(u8 screen, s16 x, s16 y, u16 colors)
\brief \brief
\~english Draw 2 pixels on screen, on an 8 bit background. These pixels are next to another, and the first pixel must be with a pair X. WAY faster than drawing both pixels separately \~english Draw 2 pixels on screen, on an 8 bit background. These pixels are next to another, and the first pixel must be with a pair X. WAY faster than drawing both pixels separately
\~french Dessine deux pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Beaucoup plus rapide que de dessiner les 2 pixels séparemment \~french Dessine deux pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Beaucoup plus rapide que de dessiner les 2 pixels séparemment
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position (0-254), must be PAIR \~english X position (0-254), must be PAIR
\~french Position X (0-254), doit etre PAIR \~french Position X (0-254), doit etre PAIR
@ -144,7 +144,7 @@ static inline void PA_Put8bitPixel(u8 screen, s16 x, s16 y, u8 color) {
\~french Position Y (0-191) \~french Position Y (0-191)
\~\param colors \~\param colors
\~english Colors of the first and second pixels (*256 for the second) \~english Colors of the first and second pixels (*256 for the second)
\~french Couleurs des premier et deuxième pixels (*256 pour le deuxième) \~french Couleurs des premier et deuxième pixels (*256 pour le deuxième)
*/ */
static inline void PA_Put2_8bitPixels(u8 screen, s16 x, s16 y, u16 colors) { static inline void PA_Put2_8bitPixels(u8 screen, s16 x, s16 y, u16 colors) {
@ -154,10 +154,10 @@ static inline void PA_Put2_8bitPixels(u8 screen, s16 x, s16 y, u16 colors) {
/*! \fn static inline void PA_PutDouble8bitPixels(u8 screen, s16 x, s16 y, u8 color1, u8 color2) /*! \fn static inline void PA_PutDouble8bitPixels(u8 screen, s16 x, s16 y, u8 color1, u8 color2)
\brief \brief
\~english Draw 2 pixels on screen, on an 8 bit background. These pixels are next to another, and the first pixel must be with a pair X. WAY faster than drawing both pixels separately \~english Draw 2 pixels on screen, on an 8 bit background. These pixels are next to another, and the first pixel must be with a pair X. WAY faster than drawing both pixels separately
\~french Dessine deux pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Beaucoup plus rapide que de dessiner les 2 pixels séparemment \~french Dessine deux pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Beaucoup plus rapide que de dessiner les 2 pixels séparemment
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position (0-254), must be PAIR \~english X position (0-254), must be PAIR
\~french Position X (0-254), doit etre PAIR \~french Position X (0-254), doit etre PAIR
@ -169,7 +169,7 @@ static inline void PA_Put2_8bitPixels(u8 screen, s16 x, s16 y, u16 colors) {
\~french Couleur de la palette du fond (0-255) pour le premier pixel \~french Couleur de la palette du fond (0-255) pour le premier pixel
\~\param color2 \~\param color2
\~english Color of the second pixel, in the background palette (0-255) \~english Color of the second pixel, in the background palette (0-255)
\~french Couleur de la palette du fond (0-255) pour le deuxième pixel \~french Couleur de la palette du fond (0-255) pour le deuxième pixel
*/ */
static inline void PA_PutDouble8bitPixels(u8 screen, s16 x, s16 y, u8 color1, u8 color2) { static inline void PA_PutDouble8bitPixels(u8 screen, s16 x, s16 y, u8 color1, u8 color2) {
PA_Put2_8bitPixels(screen, x, y, color1 + (color2 << 8)); PA_Put2_8bitPixels(screen, x, y, color1 + (color2 << 8));
@ -178,10 +178,10 @@ static inline void PA_PutDouble8bitPixels(u8 screen, s16 x, s16 y, u8 color1, u8
/*! \fn static inline void PA_Put4_8bitPixels(u8 screen, s16 x, s16 y, u32 colors) /*! \fn static inline void PA_Put4_8bitPixels(u8 screen, s16 x, s16 y, u32 colors)
\brief \brief
\~english Draw 4 pixels on screen, on an 8 bit background. These pixels are next to another, and the first pixel must be with a pair X. Fastest way to draw on the screen... \~english Draw 4 pixels on screen, on an 8 bit background. These pixels are next to another, and the first pixel must be with a pair X. Fastest way to draw on the screen...
\~french Dessine 4 pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Façon la plus rapide de dessiner à l'écran \~french Dessine 4 pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Façon la plus rapide de dessiner à l'écran
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position (0-254), must be PAIR \~english X position (0-254), must be PAIR
\~french Position X (0-254), doit etre PAIR \~french Position X (0-254), doit etre PAIR
@ -200,16 +200,16 @@ static inline void PA_Put4_8bitPixels(u8 screen, s16 x, s16 y, u32 colors) {
/*! \fn static inline u8 PA_Get8bitPixel(u8 screen, u8 x, u8 y) /*! \fn static inline u8 PA_Get8bitPixel(u8 screen, u8 x, u8 y)
\brief \brief
\~english Get the pixel's color in 8 bit Draw mode... \~english Get the pixel's color in 8 bit Draw mode...
\~french Récupérer la couleur d'un pixel, en mode dessin 8 bit \~french Récupérer la couleur d'un pixel, en mode dessin 8 bit
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y \~\param y
\~english Y position. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
*/ */
static inline u8 PA_Get8bitPixel(u8 screen, u8 x, u8 y) { static inline u8 PA_Get8bitPixel(u8 screen, u8 x, u8 y) {
u16 pos = (x >> 1) + (y << 7); u16 pos = (x >> 1) + (y << 7);
@ -222,10 +222,10 @@ static inline u8 PA_Get8bitPixel(u8 screen, u8 x, u8 y) {
/*! \fn static inline void PA_Put16bitPixel(u8 screen, s16 x, s16 y, u16 color) /*! \fn static inline void PA_Put16bitPixel(u8 screen, s16 x, s16 y, u16 color)
\brief \brief
\~english Draw a pixel on screen, on an 16 bit background \~english Draw a pixel on screen, on an 16 bit background
\~french Dessine un pixel à l'écran, sur un fond de 16 bits \~french Dessine un pixel à l'écran, sur un fond de 16 bits
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position (0-255) \~english X position (0-255)
\~french Position X (0-255) \~french Position X (0-255)
@ -243,16 +243,16 @@ static inline void PA_Put16bitPixel(u8 screen, s16 x, s16 y, u16 color) {
/*! \def PA_Get16bitPixel(x, y) /*! \def PA_Get16bitPixel(x, y)
\brief \brief
\~english Get the pixel's color in 16 bit Draw mode... \~english Get the pixel's color in 16 bit Draw mode...
\~french Récupérer la couleur d'un pixel, en mode dessin 16 bit \~french Récupérer la couleur d'un pixel, en mode dessin 16 bit
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y \~\param y
\~english Y position. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
*/ */
#define PA_Get16bitPixel(screen, x, y) PA_DrawBg[screen][(x) + ((y) << 8)] #define PA_Get16bitPixel(screen, x, y) PA_DrawBg[screen][(x) + ((y) << 8)]
@ -262,19 +262,19 @@ static inline void PA_Put16bitPixel(u8 screen, s16 x, s16 y, u16 color) {
\~french Dessiner une ligne en mode dessin... pour le mode dessin 8 bit \~french Dessiner une ligne en mode dessin... pour le mode dessin 8 bit
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x1 \~\param x1
\~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y1 \~\param y1
\~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param x2 \~\param x2
\~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y2 \~\param y2
\~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param color \~\param color
\~english Color in the background palette (0-255) \~english Color in the background palette (0-255)
\~french Couleur de la palette du fond (0-255) \~french Couleur de la palette du fond (0-255)
@ -287,19 +287,19 @@ void PA_Draw8bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u8 color);
\~french Dessiner une ligne en mode dessin... pour le mode dessin 16 bit \~french Dessiner une ligne en mode dessin... pour le mode dessin 16 bit
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x1 \~\param x1
\~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y1 \~\param y1
\~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param x2 \~\param x2
\~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y2 \~\param y2
\~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param color \~\param color
\~english 15 bits color. You can use the PA_RGB macro to set the RGB values... \~english 15 bits color. You can use the PA_RGB macro to set the RGB values...
\~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB... \~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...
@ -309,22 +309,22 @@ void PA_Draw16bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u16 color);
/*! \fn void PA_Draw16bitLineEx(u8 screen, s16 basex, s16 basey, s16 endx, s16 endy, u16 color, s8 size) /*! \fn void PA_Draw16bitLineEx(u8 screen, s16 basex, s16 basey, s16 endx, s16 endy, u16 color, s8 size)
\brief \brief
\~english Draw a thick line in Draw mode... for 16 bit drawable background \~english Draw a thick line in Draw mode... for 16 bit drawable background
\~french Dessiner une ligne épaisse en mode dessin... pour le mode dessin 16 bit \~french Dessiner une ligne épaisse en mode dessin... pour le mode dessin 16 bit
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param basex \~\param basex
\~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param basey \~\param basey
\~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param endx \~\param endx
\~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param endy \~\param endy
\~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param color \~\param color
\~english 15 bits color. You can use the PA_RGB macro to set the RGB values... \~english 15 bits color. You can use the PA_RGB macro to set the RGB values...
\~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB... \~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...
@ -337,22 +337,22 @@ void PA_Draw16bitLineEx(u8 screen, s16 basex, s16 basey, s16 endx, s16 endy, u16
/*! \fn void PA_Draw8bitLineEx(u8 screen, s16 basex, s16 basey, s16 endx, s16 endy, u8 color, s8 size) /*! \fn void PA_Draw8bitLineEx(u8 screen, s16 basex, s16 basey, s16 endx, s16 endy, u8 color, s8 size)
\brief \brief
\~english Draw a thick line in Draw mode... for 8 bit drawable background \~english Draw a thick line in Draw mode... for 8 bit drawable background
\~french Dessiner une ligne épaisse en mode dessin... pour le mode dessin 8 bit \~french Dessiner une ligne épaisse en mode dessin... pour le mode dessin 8 bit
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param basex \~\param basex
\~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param basey \~\param basey
\~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param endx \~\param endx
\~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param endy \~\param endy
\~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param color \~\param color
\~english 15 bits color. You can use the PA_RGB macro to set the RGB values... \~english 15 bits color. You can use the PA_RGB macro to set the RGB values...
\~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB... \~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...
@ -368,19 +368,19 @@ void PA_Draw8bitLineEx(u8 screen, s16 basex, s16 basey, s16 endx, s16 endy, u8 c
\~french Dessiner rectangle en mode dessin... pour le mode dessin 16 bit \~french Dessiner rectangle en mode dessin... pour le mode dessin 16 bit
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param basex \~\param basex
\~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param basey \~\param basey
\~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param endx \~\param endx
\~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param endy \~\param endy
\~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param color \~\param color
\~english 15 bits color. You can use the PA_RGB macro to set the RGB values... \~english 15 bits color. You can use the PA_RGB macro to set the RGB values...
\~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB... \~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...
@ -390,23 +390,23 @@ void PA_Draw16bitRect(u8 screen, s16 basex, s16 basey, s16 endx, s16 endy, u16 c
/*! \fn PA_8bitDraw(u8 screen, u8 color) /*! \fn PA_8bitDraw(u8 screen, u8 color)
\brief \brief
\~english For 8 bit background : Nice little function that draws on screen ! All you need to do is chose the color, it'll do the rest. If the PA VBL isn't initialised, don't forget to update the stylus position every frame... Juste execute PA_Draw every cycle... \~english For 8 bit background : Nice little function that draws on screen ! All you need to do is chose the color, it'll do the rest. If the PA VBL isn't initialised, don't forget to update the stylus position every frame... Juste execute PA_Draw every cycle...
\~french Pour 8 bit : Jolie petite fonction qui dessine à l'écran ! Tout ce qu'il reste à faire, c'est de choisir la couleur. Si le VBL PA n'est pas initialiser, ne pas oublier de rafraichir le Stylet à chaque cycle (et non, pas avec des glacons !). Il suffit d'executer PA_Draw à chaque cycle pour dessiner... \~french Pour 8 bit : Jolie petite fonction qui dessine à l'écran ! Tout ce qu'il reste à faire, c'est de choisir la couleur. Si le VBL PA n'est pas initialiser, ne pas oublier de rafraichir le Stylet à chaque cycle (et non, pas avec des glacons !). Il suffit d'executer PA_Draw à chaque cycle pour dessiner...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param color \~\param color
\~english Color number in the palette (0-255) \~english Color number in the palette (0-255)
\~french Numéro de la couleur dans la palette (0-255) \~french Numéro de la couleur dans la palette (0-255)
*/ */
void PA_8bitDraw(u8 screen, u8 color); void PA_8bitDraw(u8 screen, u8 color);
/*! \fn PA_16bitDraw(u8 screen, u16 color) /*! \fn PA_16bitDraw(u8 screen, u16 color)
\brief \brief
\~english For 16 bit : Nice little function that draws on screen ! All you need to do is chose the color, it'll do the rest. If the PA VBL isn't initialised, don't forget to update the stylus position every frame... Juste execute PA_Draw every cycle... \~english For 16 bit : Nice little function that draws on screen ! All you need to do is chose the color, it'll do the rest. If the PA VBL isn't initialised, don't forget to update the stylus position every frame... Juste execute PA_Draw every cycle...
\~french Pour 16 bit : Jolie petite fonction qui dessine à l'écran ! Tout ce qu'il reste à faire, c'est de choisir la couleur. Si le VBL PA n'est pas initialiser, ne pas oublier de rafraichir le Stylet à chaque cycle (et non, pas avec des glacons !). Il suffit d'executer PA_Draw à chaque cycle pour dessiner... \~french Pour 16 bit : Jolie petite fonction qui dessine à l'écran ! Tout ce qu'il reste à faire, c'est de choisir la couleur. Si le VBL PA n'est pas initialiser, ne pas oublier de rafraichir le Stylet à chaque cycle (et non, pas avec des glacons !). Il suffit d'executer PA_Draw à chaque cycle pour dessiner...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param color \~\param color
\~english 15 bits color. You can use the PA_RGB macro to set the RGB values... \~english 15 bits color. You can use the PA_RGB macro to set the RGB values...
\~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB... \~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...
@ -419,7 +419,7 @@ void PA_16bitDraw(u8 screen, u16 color);
\~french Regler la taille du stylo quand on dessine. \~french Regler la taille du stylo quand on dessine.
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param draw_size \~\param draw_size
\~english Size... \~english Size...
\~french Taille... \~french Taille...
@ -429,10 +429,10 @@ void PA_16bitDraw(u8 screen, u16 color);
/*! \def PA_Load8bitBitmap(screen, bitmap) /*! \def PA_Load8bitBitmap(screen, bitmap)
\brief \brief
\~english Load a bitmap on the screen for an 8 bit drawable background \~english Load a bitmap on the screen for an 8 bit drawable background
\~french Charger une image à l'écran... pour une fond dessinable de 8 bits \~french Charger une image à l'écran... pour une fond dessinable de 8 bits
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bitmap \~\param bitmap
\~english Bitmap name \~english Bitmap name
\~french Nom du bitmap \~french Nom du bitmap
@ -445,10 +445,10 @@ void PA_16bitDraw(u8 screen, u16 color);
/*! \def PA_Load16bitBitmap(screen, bitmap) /*! \def PA_Load16bitBitmap(screen, bitmap)
\brief \brief
\~english Load a bitmap on the screen for an 16 bit drawable background \~english Load a bitmap on the screen for an 16 bit drawable background
\~french Charger une image à l'écran... pour une fond dessinable de 16 bits \~french Charger une image à l'écran... pour une fond dessinable de 16 bits
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bitmap \~\param bitmap
\~english Bitmap name \~english Bitmap name
\~french Nom du bitmap \~french Nom du bitmap
@ -461,20 +461,20 @@ void PA_16bitDraw(u8 screen, u16 color);
/*! \def PA_Clear8bitBg(screen) /*! \def PA_Clear8bitBg(screen)
\brief \brief
\~english Clears the screen... for an 8 bit drawable background \~english Clears the screen... for an 8 bit drawable background
\~french Efface l'écran... pour une fond dessinable de 8 bits \~french Efface l'écran... pour une fond dessinable de 8 bits
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
*/ */
#define PA_Clear8bitBg(screen) dmaFillWords(0, (void*)PA_DrawBg[screen], 256*96*2); #define PA_Clear8bitBg(screen) dmaFillWords(0, (void*)PA_DrawBg[screen], 256*96*2);
/*! \def PA_Clear16bitBg(screen) /*! \def PA_Clear16bitBg(screen)
\brief \brief
\~english Clears the screen... for an 16 bit drawable background \~english Clears the screen... for an 16 bit drawable background
\~french Efface l'écran... pour une fond dessinable de 16 bits \~french Efface l'écran... pour une fond dessinable de 16 bits
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
*/ */
#define PA_Clear16bitBg(screen) dmaFillWords(0, (void*)PA_DrawBg[screen], 256*192*2) #define PA_Clear16bitBg(screen) dmaFillWords(0, (void*)PA_DrawBg[screen], 256*192*2)
@ -485,7 +485,7 @@ void PA_16bitDraw(u8 screen, u16 color);
\~french Charger un jpeg sur un fond de 16 bits... Faut pas oublier de charger ce fond avant ! \~french Charger un jpeg sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param jpeg \~\param jpeg
\~english jpeg image... \~english jpeg image...
\~french image au format jpeg... \~french image au format jpeg...
@ -507,16 +507,16 @@ static inline void PA_LoadJpeg(u8 screen, void *jpeg) {
\~french Buffer... \~french Buffer...
\~\param x \~\param x
\~english X position of the top left corner \~english X position of the top left corner
\~french Position X du coin supérieur gauche \~french Position X du coin supérieur gauche
\~\param y \~\param y
\~english Y position of the top left corner \~english Y position of the top left corner
\~french Position Y du coin supérieur gauche \~french Position Y du coin supérieur gauche
\~\param bmp \~\param bmp
\~english BMP image... \~english BMP image...
\~french image au format BMP... \~french image au format BMP...
\~\param SWidth \~\param SWidth
\~english Buffer width to use (256 for screen width...) \~english Buffer width to use (256 for screen width...)
\~french Largeur du buffer, en pixels (256 pour la taille de l'écran...) \~french Largeur du buffer, en pixels (256 pour la taille de l'écran...)
*/ */
void PA_LoadBmpToBuffer(u16 *Buffer, s16 x, s16 y, void *bmp, s16 SWidth); void PA_LoadBmpToBuffer(u16 *Buffer, s16 x, s16 y, void *bmp, s16 SWidth);
@ -527,13 +527,13 @@ void PA_LoadBmpToBuffer(u16 *Buffer, s16 x, s16 y, void *bmp, s16 SWidth);
\~french Charger un BMP sur un fond de 16 bits... Faut pas oublier de charger ce fond avant ! \~french Charger un BMP sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position of the top left corner \~english X position of the top left corner
\~french Position X du coin supérieur gauche \~french Position X du coin supérieur gauche
\~\param y \~\param y
\~english Y position of the top left corner \~english Y position of the top left corner
\~french Position Y du coin supérieur gauche \~french Position Y du coin supérieur gauche
\~\param bmp \~\param bmp
\~english BMP image... \~english BMP image...
\~french image au format BMP... \~french image au format BMP...
@ -550,7 +550,7 @@ static inline void PA_LoadBmpEx(u8 screen, s16 x, s16 y, void *bmp){
\~french Charger un BMP sur un fond de 16 bits... Faut pas oublier de charger ce fond avant ! \~french Charger un BMP sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bmp \~\param bmp
\~english BMP image... \~english BMP image...
\~french image au format BMP... \~french image au format BMP...
@ -562,7 +562,7 @@ static inline void PA_LoadBmp(u8 screen, void *bmp){
/*! \fn static inline u16 PA_GetBmpWidth(void *bmp) /*! \fn static inline u16 PA_GetBmpWidth(void *bmp)
\brief \brief
\~english Get a BMP's width in pixels \~english Get a BMP's width in pixels
\~french Récupérer la largeur d'un BMP en pixels \~french Récupérer la largeur d'un BMP en pixels
\~\param bmp \~\param bmp
\~english BMP image... \~english BMP image...
\~french image au format BMP... \~french image au format BMP...
@ -577,7 +577,7 @@ static inline u16 PA_GetBmpWidth(void *bmpdata){
/*! \fn static inline u16 PA_GetBmpHeight(void *bmp) /*! \fn static inline u16 PA_GetBmpHeight(void *bmp)
\brief \brief
\~english Get a BMP's height in pixels \~english Get a BMP's height in pixels
\~french Récupérer la hauteur d'un BMP en pixels \~french Récupérer la hauteur d'un BMP en pixels
\~\param bmp \~\param bmp
\~english BMP image... \~english BMP image...
\~french image au format BMP... \~french image au format BMP...

View File

@ -46,16 +46,16 @@ extern void PA_InitFake16bitBg(u8 screen, u8 prio);
\~french [nothing] \~french [nothing]
\~\param x1 \~\param x1
\~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y1 \~\param y1
\~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param x2 \~\param x2
\~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y2 \~\param y2
\~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param color \~\param color
\~english 15 bits color. You can use the PA_RGB macro to set the RGB values... \~english 15 bits color. You can use the PA_RGB macro to set the RGB values...
\~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB... \~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...
@ -97,10 +97,10 @@ extern void PA_DrawFake16bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u16
\~french [nothing] \~french [nothing]
\~\param x \~\param x
\~english X position of the point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y \~\param y
\~english Y position of the point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param color \~\param color
\~english 15 bits color. You can use the PA_RGB macro to set the RGB values... \~english 15 bits color. You can use the PA_RGB macro to set the RGB values...
\~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB... \~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...
@ -116,10 +116,10 @@ extern void PA_DrawFake16bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u16
\~french [nothing] \~french [nothing]
\~\param x \~\param x
\~english X position of the point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y \~\param y
\~english Y position of the point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
*/ */
#define PA_GetFake16bitPixel(screen, x, y) PA_DrawFake16[screen][(x) + 256 * (y)] #define PA_GetFake16bitPixel(screen, x, y) PA_DrawFake16[screen][(x) + 256 * (y)]
@ -132,16 +132,16 @@ extern void PA_DrawFake16bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u16
\~french [nothing] \~french [nothing]
\~\param x1 \~\param x1
\~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the first point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y1 \~\param y1
\~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the first point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param x2 \~\param x2
\~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results \~english X position of the second point. Be carefull, if X is not between 0 and 255, it'll give unwanted results
\~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté \~french Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
\~\param y2 \~\param y2
\~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results \~english Y position of the second point. Be carefull, if Y is not between 0 and 191, it'll give unwanted results
\~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté \~french Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
\~\param color \~\param color
\~english 15 bits color. You can use the PA_RGB macro to set the RGB values... \~english 15 bits color. You can use the PA_RGB macro to set the RGB values...
\~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB... \~french Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...
@ -158,13 +158,13 @@ extern void PA_DrawFake16bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u16
\~french [nothing] \~french [nothing]
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position of the top left corner \~english X position of the top left corner
\~french Position X du coin supérieur gauche \~french Position X du coin supérieur gauche
\~\param y \~\param y
\~english Y position of the top left corner \~english Y position of the top left corner
\~french Position Y du coin supérieur gauche \~french Position Y du coin supérieur gauche
\~\param bmp \~\param bmp
\~english BMP image... \~english BMP image...
\~french image au format BMP... \~french image au format BMP...
@ -177,7 +177,7 @@ extern void PA_DrawFake16bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u16
\~french [nothing] \~french [nothing]
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bmp \~\param bmp
\~english BMP image... \~english BMP image...
\~french image au format BMP... \~french image au format BMP...
@ -190,13 +190,13 @@ extern void PA_DrawFake16bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u16
\~french [nothing] \~french [nothing]
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position on the screen \~english X position on the screen
\~french Position X à l'écran \~french Position X à l'écran
\~\param y \~\param y
\~english Y position on the screen \~english Y position on the screen
\~french Position Y à l'écran \~french Position Y à l'écran
\~\param gif \~\param gif
\~english Gif image... \~english Gif image...
\~french image au format Gif... \~french image au format Gif...
@ -209,7 +209,7 @@ extern void PA_DrawFake16bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u16
\~french [nothing] \~french [nothing]
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param gif \~\param gif
\~english Gif image... \~english Gif image...
\~french image au format Gif... \~french image au format Gif...
@ -222,7 +222,7 @@ extern void PA_DrawFake16bitLine(u8 screen, u16 x1, u16 y1, u16 x2, u16 y2, u16
\~french [nothing] \~french [nothing]
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param jpeg \~\param jpeg
\~english jpeg image... \~english jpeg image...
\~french image au format jpeg... \~french image au format jpeg...

View File

@ -19,7 +19,7 @@ extern "C" {
#include "../PA_Transfer.h" #include "../PA_Transfer.h"
#include <stdarg.h> // Pour le système de text #include <stdarg.h> // Pour le système de text
#include <string.h> #include <string.h>
#ifndef PA_NO_DEPRECATION #ifndef PA_NO_DEPRECATION
@ -48,7 +48,7 @@ extern RTC PA_RTC;
static inline void PA_WaitForVBL(); static inline void PA_WaitForVBL();
extern s16 PA_ScreenSpace; // Espace entre les 2 écrans...+192 extern s16 PA_ScreenSpace; // Espace entre les 2 écrans...+192
#define PAWaitForVBL() swiWaitForVBlank() #define PAWaitForVBL() swiWaitForVBlank()
/* /*
@ -114,7 +114,7 @@ extern u8 pa_checklid;
while (DMA_CR(ch) & DMA_BUSY); \ while (DMA_CR(ch) & DMA_BUSY); \
} while (0) } while (0)
// Commandes pour la lumière des écrans // Commandes pour la lumière des écrans
#define BACKLIGHT(screen) BIT(2+screen) #define BACKLIGHT(screen) BIT(2+screen)
#define ALWAYSINLINE __attribute__((always_inline)) static inline #define ALWAYSINLINE __attribute__((always_inline)) static inline
@ -137,7 +137,7 @@ extern u8 pa_checklid;
extern volatile DEPRECATED PA_IPCType PA_IPC; extern volatile DEPRECATED PA_IPCType PA_IPC;
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// Général // Général
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
#define SIZEOF_8BIT(x) (sizeof(x)) #define SIZEOF_8BIT(x) (sizeof(x))
@ -162,7 +162,7 @@ typedef struct {
u8 NameLength; u8 NameLength;
u8 Message[53]; u8 Message[53];
u8 MessageLength; u8 MessageLength;
u8 Language; // Langue... 0 pour Jap, 1 pour anglais, 2 pour français... u8 Language; // Langue... 0 pour Jap, 1 pour anglais, 2 pour français...
} infos; } infos;
extern infos PA_UserInfo; extern infos PA_UserInfo;
@ -174,14 +174,14 @@ extern infos PA_UserInfo;
/*! \fn void PA_Init(void) /*! \fn void PA_Init(void)
\brief \brief
\~english Initialise the library. Should be used at the beginning of main() \~english Initialise the library. Should be used at the beginning of main()
\~french Initialise la lib... Doit etre placé au début de main() \~french Initialise la lib... Doit etre placé au début de main()
*/ */
void PA_Init(); void PA_Init();
/*! \fn void PA_InitFifo() /*! \fn void PA_InitFifo()
\brief \brief
\~english Initialize the Fifo system. It is automatically done in PA_Init(). \~english Initialize the Fifo system. It is automatically done in PA_Init().
\~french Initialise le système Fifo. C'est fait automatiquement dans PA_Init(). \~french Initialise le système Fifo. C'est fait automatiquement dans PA_Init().
*/ */
void PA_InitFifo(); void PA_InitFifo();
@ -200,7 +200,7 @@ void PA_InitFifo();
/*! \fn void PA_Init2D(void) /*! \fn void PA_Init2D(void)
\brief \brief
\~english Resets to 2D state after using 3D functions \~english Resets to 2D state after using 3D functions
\~french Remet en mode 2D après avoir utilisé la 3D \~french Remet en mode 2D après avoir utilisé la 3D
*/ */
void PA_Init2D(); void PA_Init2D();
@ -210,7 +210,7 @@ extern u8 PA_ExtPal[2][2];
/*! \fn void PA_SetVideoMode(u8 screen, u8 mode) /*! \fn void PA_SetVideoMode(u8 screen, u8 mode)
\brief \brief
\~english Change the video mode... Use this with caution \~english Change the video mode... Use this with caution
\~french Changer de mode video... A utiliser avec précaution \~french Changer de mode video... A utiliser avec précaution
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
@ -226,7 +226,7 @@ void PA_SetVideoMode(u8 screen, u8 mode);
/*! \fn void PA_UpdateUserInfo(void) /*! \fn void PA_UpdateUserInfo(void)
\brief \brief
\~english Updates the user info. This is automatically done in PA_Init. You can then get any info with the following variables : PA_UserInfo.Color (favorite color), .BdayDay, .BdayMonth, .AlarmHour, .AlarmMinute, .Name, .NameLength, .Message, .MessageLength, .Language \~english Updates the user info. This is automatically done in PA_Init. You can then get any info with the following variables : PA_UserInfo.Color (favorite color), .BdayDay, .BdayMonth, .AlarmHour, .AlarmMinute, .Name, .NameLength, .Message, .MessageLength, .Language
\~french Met à jour les infos sur l'utilisateur... C'est fait automatiquement dans PA_Init. On peut ensuite récupérer toutes les infos avec PA_UserInfo.Color (couleur favorite), .BdayDay, .BdayMonth, .AlarmHour, .AlarmMinute, .Name, .NameLength, .Message, .MessageLength, .Language \~french Met à jour les infos sur l'utilisateur... C'est fait automatiquement dans PA_Init. On peut ensuite récupérer toutes les infos avec PA_UserInfo.Color (couleur favorite), .BdayDay, .BdayMonth, .AlarmHour, .AlarmMinute, .Name, .NameLength, .Message, .MessageLength, .Language
*/ */
void PA_UpdateUserInfo(void); void PA_UpdateUserInfo(void);
@ -234,14 +234,14 @@ void PA_UpdateUserInfo(void);
/*! \fn void PA_UpdateRTC(void) /*! \fn void PA_UpdateRTC(void)
\brief \brief
\~english Updates the Real Time Clock, with info on the current date and hour. Automatically updated in the PA VBL... Get the info with PA_RTC.Minutes, .Hour, .Seconds, .Day, .Month, and .Year \~english Updates the Real Time Clock, with info on the current date and hour. Automatically updated in the PA VBL... Get the info with PA_RTC.Minutes, .Hour, .Seconds, .Day, .Month, and .Year
\~french Met à jour les infos sur l'heure et la date. C'est automatiquement mis à jour dans le VBL PA... On récupère les infos avec PA_RTC.Minutes, .Hour, .Seconds, .Day, .Month, et .Year \~french Met à jour les infos sur l'heure et la date. C'est automatiquement mis à jour dans le VBL PA... On récupère les infos avec PA_RTC.Minutes, .Hour, .Seconds, .Day, .Month, et .Year
*/ */
void PA_UpdateRTC(void); void PA_UpdateRTC(void);
/*! \fn static inline void PA_SwitchScreens() /*! \fn static inline void PA_SwitchScreens()
\brief \brief
\~english Switch the bottom and top screens... \~english Switch the bottom and top screens...
\~french Echange les écrans du haut et du bas \~french Echange les écrans du haut et du bas
*/ */
static inline void PA_SwitchScreens() { static inline void PA_SwitchScreens() {
REG_POWERCNT ^= SWITCH_SCREENS; REG_POWERCNT ^= SWITCH_SCREENS;
@ -253,17 +253,17 @@ extern vu8 _PA_LidDown;
/*! \def PA_LidClosed() /*! \def PA_LidClosed()
\brief \brief
\~english Check if the DS is closed. Returns 0 if open, 1 if closed \~english Check if the DS is closed. Returns 0 if open, 1 if closed
\~french Vérifie si la DS est fermée. Renvoie 0 si ouverte, 1 si fermée \~french Vérifie si la DS est fermée. Renvoie 0 si ouverte, 1 si fermée
*/ */
#define PA_LidClosed() _PA_LidDown #define PA_LidClosed() _PA_LidDown
/*! \fn static inline void PA_SetAutoCheckLid(u8 on) /*! \fn static inline void PA_SetAutoCheckLid(u8 on)
\brief \brief
\~english Automatically check if the DS is closed in PA_WaitForVBL \~english Automatically check if the DS is closed in PA_WaitForVBL
\~french Vérifie automatiquement si la DS est fermée dans PA_WaitForVBL \~french Vérifie automatiquement si la DS est fermée dans PA_WaitForVBL
\~\param on \~\param on
\~english 1 for on, 0 for off \~english 1 for on, 0 for off
\~french 1 pour activer, 0 pour désactiver \~french 1 pour activer, 0 pour désactiver
*/ */
static inline void PA_SetAutoCheckLid(u8 on){ static inline void PA_SetAutoCheckLid(u8 on){
pa_checklid = on; pa_checklid = on;
@ -274,7 +274,7 @@ static inline void PA_SetLedBlink(u8 blink, u8 speed);
/*! \fn u8 PA_CheckLid() /*! \fn u8 PA_CheckLid()
\brief \brief
\~english Check if the DS is closed. If closed, it pauses the DS, and returns 1. \~english Check if the DS is closed. If closed, it pauses the DS, and returns 1.
\~french Vérifie si la DS est fermée. Si fermée, ca met en pause la DS et renvoie 1. \~french Vérifie si la DS est fermée. Si fermée, ca met en pause la DS et renvoie 1.
*/ */
u8 PA_CheckLid(); u8 PA_CheckLid();
@ -296,10 +296,10 @@ static inline void PA_WaitForVBL(){
/*! \def PA_CloseLidSound(close_sound) /*! \def PA_CloseLidSound(close_sound)
\brief \brief
\~english Check if the DS is closed. If closed, it pauses the DS, and plays a sound \~english Check if the DS is closed. If closed, it pauses the DS, and plays a sound
\~french Vérifie si la DS est fermée. Si fermée, ca met en pause la DS et joue un son \~french Vérifie si la DS est fermée. Si fermée, ca met en pause la DS et joue un son
\~\param close_sound \~\param close_sound
\~english Sound to play, check the sounds doc if you're not sure what to do here \~english Sound to play, check the sounds doc if you're not sure what to do here
\~french Son à jouer, regarder la doc son si pas certain de quoi mettre... \~french Son à jouer, regarder la doc son si pas certain de quoi mettre...
*/ */
#define PA_CloseLidSound(close_sound)do{\ #define PA_CloseLidSound(close_sound)do{\
if(PA_LidClosed()){\ if(PA_LidClosed()){\
@ -311,13 +311,13 @@ static inline void PA_WaitForVBL(){
/*! \def PA_CloseLidSound2(close_sound, open_sound) /*! \def PA_CloseLidSound2(close_sound, open_sound)
\brief \brief
\~english Check if the DS is closed. If closed, it pauses the DS, and plays a sound. The sound system must be initialized before. \~english Check if the DS is closed. If closed, it pauses the DS, and plays a sound. The sound system must be initialized before.
\~french Vérifie si la DS est fermée. Si fermée, ca met en pause la DS et joue un son \~french Vérifie si la DS est fermée. Si fermée, ca met en pause la DS et joue un son
\~\param close_sound \~\param close_sound
\~english Sound to play when closes, check the sounds doc if you're not sure what to do here \~english Sound to play when closes, check the sounds doc if you're not sure what to do here
\~french Son à jouer quand se ferme, regarder la doc son si pas certain de quoi mettre... \~french Son à jouer quand se ferme, regarder la doc son si pas certain de quoi mettre...
\~\param open_sound \~\param open_sound
\~english Sound to play when opens, check the sounds doc if you're not sure what to do here \~english Sound to play when opens, check the sounds doc if you're not sure what to do here
\~french Son à jouer quand s'ouvre, regarder la doc son si pas certain de quoi mettre... \~french Son à jouer quand s'ouvre, regarder la doc son si pas certain de quoi mettre...
*/ */
#define PA_CloseLidSound2(close_sound, open_sound)do{\ #define PA_CloseLidSound2(close_sound, open_sound)do{\
if(PA_LidClosed()){\ if(PA_LidClosed()){\
@ -329,13 +329,13 @@ static inline void PA_WaitForVBL(){
/*! \fn void PA_SetScreenLight(u8 screen, u8 light) /*! \fn void PA_SetScreenLight(u8 screen, u8 light)
\brief \brief
\~english Set on or off the screen's light \~english Set on or off the screen's light
\~french Allumer ou eteindre la lumière d'un écran \~french Allumer ou eteindre la lumière d'un écran
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param light \~\param light
\~english Light, 1 for on, 0 for off \~english Light, 1 for on, 0 for off
\~french Lumière, 1 pour allumé, 0 pour éteint \~french Lumière, 1 pour allumé, 0 pour éteint
*/ */
static inline void PA_SetScreenLight(u8 screen, u8 light){ static inline void PA_SetScreenLight(u8 screen, u8 light){
// Beware of the nested one-line IF blocks! // Beware of the nested one-line IF blocks!
@ -355,10 +355,10 @@ static inline void PA_SetScreenLight(u8 screen, u8 light){
/*! \fn static inline void PA_SetLedBlink(u8 blink, u8 speed) /*! \fn static inline void PA_SetLedBlink(u8 blink, u8 speed)
\brief \brief
\~english Set teh DS Led blinking \~english Set teh DS Led blinking
\~french Régler le clignotement de la led \~french Régler le clignotement de la led
\~\param blink \~\param blink
\~english 1 for blinking, 0 for always on \~english 1 for blinking, 0 for always on
\~french 1 pour clignoter, 0 pour toujours allumé \~french 1 pour clignoter, 0 pour toujours allumé
\~\param speed \~\param speed
\~english Speed : 0 for slow, 1 for fast \~english Speed : 0 for slow, 1 for fast
\~french Vitesse : 0 pour lent, 1 pour rapide \~french Vitesse : 0 pour lent, 1 pour rapide
@ -370,10 +370,10 @@ static inline void PA_SetLedBlink(u8 blink, u8 speed){
/*! \def PA_WaitFor(something) /*! \def PA_WaitFor(something)
\brief \brief
\~english Wait for a specific thing to happen... \~english Wait for a specific thing to happen...
\~french Attendre un événement précis... \~french Attendre un événement précis...
\~\param something \~\param something
\~english Thing to wait for, like Pad.Newpress.A, or Stylus.Newpress, etc... \~english Thing to wait for, like Pad.Newpress.A, or Stylus.Newpress, etc...
\~french Evénement à attendre, comme Pad.Newpress.A, ou Stylus.Newpress, etc... \~french Evénement à attendre, comme Pad.Newpress.A, ou Stylus.Newpress, etc...
*/ */
#define PA_WaitFor(something) do{while(!(something)) PA_WaitForVBL();}while(0) #define PA_WaitFor(something) do{while(!(something)) PA_WaitForVBL();}while(0)
@ -381,10 +381,10 @@ static inline void PA_SetLedBlink(u8 blink, u8 speed){
/*! \fn static inline void PA_SetDSLBrightness(u8 level) /*! \fn static inline void PA_SetDSLBrightness(u8 level)
\brief \brief
\~english Set the DS Lite Light level... \~english Set the DS Lite Light level...
\~french Régler le niveau de lumière de la DS Lite ! \~french Régler le niveau de lumière de la DS Lite !
\~\param level \~\param level
\~english Light level (0-3) \~english Light level (0-3)
\~french Niveau de la lumière (0-3) \~french Niveau de la lumière (0-3)
*/ */
static inline void PA_SetDSLBrightness(u8 level){ static inline void PA_SetDSLBrightness(u8 level){
PA_FifoMsg msg; PA_FifoMsg msg;

View File

@ -44,7 +44,7 @@ int DecodeGif(const u8 *userData, u8 *ScreenBuff, u16* Palette, u8 nBits, s16 SW
/*! \fn static inline u16 PA_GetGifWidth(void* gif) /*! \fn static inline u16 PA_GetGifWidth(void* gif)
\brief \brief
\~english Get a Gif's width in pixels \~english Get a Gif's width in pixels
\~french Récupérer la largeur d'un Gif en pixels \~french Récupérer la largeur d'un Gif en pixels
\~\param gif \~\param gif
\~english Gif image... \~english Gif image...
\~french image au format Gif... \~french image au format Gif...
@ -58,7 +58,7 @@ static inline u16 PA_GetGifWidth(void* gif){
/*! \fn static inline u16 PA_GetGifHeight(void* gif) /*! \fn static inline u16 PA_GetGifHeight(void* gif)
\brief \brief
\~english Get a Gif's height in pixels \~english Get a Gif's height in pixels
\~french Récupérer la hauteur d'un Gif en pixels \~french Récupérer la hauteur d'un Gif en pixels
\~\param gif \~\param gif
\~english Gif image... \~english Gif image...
\~french image au format Gif... \~french image au format Gif...
@ -75,13 +75,13 @@ static inline u16 PA_GetGifHeight(void* gif){
\~french Charger un Gif sur un fond de 16 bits... Faut pas oublier de charger ce fond avant ! \~french Charger un Gif sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X position on the screen \~english X position on the screen
\~french Position X à l'écran \~french Position X à l'écran
\~\param y \~\param y
\~english Y position on the screen \~english Y position on the screen
\~french Position Y à l'écran \~french Position Y à l'écran
\~\param gif \~\param gif
\~english Gif image... \~english Gif image...
\~french image au format Gif... \~french image au format Gif...
@ -97,7 +97,7 @@ static inline void PA_LoadGifXY(u8 screen, s16 x, s16 y, void *gif){
\~french Charger un Gif sur un fond de 16 bits... Faut pas oublier de charger ce fond avant ! \~french Charger un Gif sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param gif \~\param gif
\~english Gif image... \~english Gif image...
\~french image au format Gif... \~french image au format Gif...
@ -112,7 +112,7 @@ static inline void PA_LoadGif(u8 screen, void *gif){
\~french Changer la vitesse d'un gif \~french Changer la vitesse d'un gif
\~\param speed \~\param speed
\~english 1 for normal, 2 for 2x, 0.5 for half speed... \~english 1 for normal, 2 for 2x, 0.5 for half speed...
\~french 1 pour normal, 2 pour 2x, 0.5 pour la moitié... \~french 1 pour normal, 2 pour 2x, 0.5 pour la moitié...
*/ */
static inline void PA_GifAnimSpeed(float speed){ static inline void PA_GifAnimSpeed(float speed){
PA_GifInfo.Speed = speed; PA_GifInfo.Speed = speed;
@ -121,7 +121,7 @@ static inline void PA_GifAnimSpeed(float speed){
/*! \fn static inline void PA_GifAnimStop(void) /*! \fn static inline void PA_GifAnimStop(void)
\brief \brief
\~english Stop a Gif animation \~english Stop a Gif animation
\~french Arrêter l'animation d'un gif \~french Arrêter l'animation d'un gif
*/ */
static inline void PA_GifAnimStop(void){ static inline void PA_GifAnimStop(void){
PA_GifInfo.Play = 0; PA_GifInfo.Play = 0;
@ -148,10 +148,10 @@ static inline void PA_GifAnimPlay(void){
/*! \fn static inline void PA_GifSetStartFrame(s32 StartFrame) /*! \fn static inline void PA_GifSetStartFrame(s32 StartFrame)
\brief \brief
\~english Set the Gif's starting frame number \~english Set the Gif's starting frame number
\~french Régler à partir de quelle image commencer le gif \~french Régler à partir de quelle image commencer le gif
\~\param StartFrame \~\param StartFrame
\~english Starting frame... (0 to start from beginning) \~english Starting frame... (0 to start from beginning)
\~french Image démarrer... (0 pour le début) \~french Image démarrer... (0 pour le début)
*/ */
static inline void PA_GifSetStartFrame(s32 StartFrame){ static inline void PA_GifSetStartFrame(s32 StartFrame){
PA_GifInfo.StartFrame = StartFrame; PA_GifInfo.StartFrame = StartFrame;
@ -160,10 +160,10 @@ static inline void PA_GifSetStartFrame(s32 StartFrame){
/*! \fn static inline void PA_GifSetEndFrame(s32 EndFrame) /*! \fn static inline void PA_GifSetEndFrame(s32 EndFrame)
\brief \brief
\~english Set the Gif's ending frame number \~english Set the Gif's ending frame number
\~french Régler à partir de quelle image arrêter le gif \~french Régler à partir de quelle image arrêter le gif
\~\param EndFrame \~\param EndFrame
\~english Ending frame... (100000 if you want to be sure ^^) \~english Ending frame... (100000 if you want to be sure ^^)
\~french Image démarrer... (100000 si vous voulez être sure de finir ^^) \~french Image démarrer... (100000 si vous voulez être sure de finir ^^)
*/ */
static inline void PA_GifSetEndFrame(s32 EndFrame){ static inline void PA_GifSetEndFrame(s32 EndFrame){
PA_GifInfo.EndFrame = EndFrame; PA_GifInfo.EndFrame = EndFrame;
@ -171,7 +171,7 @@ static inline void PA_GifSetEndFrame(s32 EndFrame){
/*! \fn static inline s16 PA_GifGetFrame(void) /*! \fn static inline s16 PA_GifGetFrame(void)
\brief \brief
\~english Return's the gif's current frame \~english Return's the gif's current frame
\~french Renvoie le numéro d'image du gif en cours \~french Renvoie le numéro d'image du gif en cours
*/ */
static inline s32 PA_GifGetFrame(void){ static inline s32 PA_GifGetFrame(void){
return PA_GifInfo.CurrentFrame; return PA_GifInfo.CurrentFrame;
@ -181,13 +181,13 @@ static inline s32 PA_GifGetFrame(void){
/N! \fn void PA_GifToTiles(void *gif, u16 *temppal) /N! \fn void PA_GifToTiles(void *gif, u16 *temppal)
\brief \brief
\~english Export Gif to a friendly 8x8 tile format, allowing it to be used to create sprites and backgrounds ! Returns a pointer towards your sprite gfx \~english Export Gif to a friendly 8x8 tile format, allowing it to be used to create sprites and backgrounds ! Returns a pointer towards your sprite gfx
\~french Exporter un Gif au format de tiles de 8x8 pixels, ce qui permet de l'utiliser pour créer des sprites ou des fonds ! Renvoie un pointeur vers le gfx du sprite \~french Exporter un Gif au format de tiles de 8x8 pixels, ce qui permet de l'utiliser pour créer des sprites ou des fonds ! Renvoie un pointeur vers le gfx du sprite
\~\param gif \~\param gif
\~english Your gif file... \~english Your gif file...
\~french Fichier gif... \~french Fichier gif...
\~\param temppal \~\param temppal
\~english A 256 u16 array that will receive the palette info to load \~english A 256 u16 array that will receive the palette info to load
\~french Un tableau de 256 entrée en u16, qui recevra les infos de la palette à charger \~french Un tableau de 256 entrée en u16, qui recevra les infos de la palette à charger
N/ N/

View File

@ -25,7 +25,7 @@ extern funcpointer CustomVBL;
/*! \fn void PA_vblFunc() /*! \fn void PA_vblFunc()
\brief \brief
\~english The standard PAlib VBL function. This will update the pad, the stylus, the RTC, etc... You could/should use this function if you do your own custom VBL. \~english The standard PAlib VBL function. This will update the pad, the stylus, the RTC, etc... You could/should use this function if you do your own custom VBL.
\~french Fonction standard du VBL PAlib. Ceci met à jour le pad, le stylet, le RTC... Utilisez cette fonction si vous faites votre propre VBL. \~french Fonction standard du VBL PAlib. Ceci met à jour le pad, le stylet, le RTC... Utilisez cette fonction si vous faites votre propre VBL.
*/ */
void PA_vblFunc(); void PA_vblFunc();
@ -33,7 +33,7 @@ void PA_vblFunc();
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] In previous PAlib versions this initialized the VBlank system, but it now does nothing since it's automatically done at PA_Init(). \~english [DEPRECATED] In previous PAlib versions this initialized the VBlank system, but it now does nothing since it's automatically done at PA_Init().
\~french [DEPRECATED] Initialise une fonction VBL basique. Ca met à jour l'OAM (les sprites), les touches, et le stylet chaque frame. \~french [DEPRECATED] Initialise une fonction VBL basique. Ca met à jour l'OAM (les sprites), les touches, et le stylet chaque frame.
*/ */
static inline void PA_InitVBL(){ static inline void PA_InitVBL(){
@ -45,24 +45,24 @@ static inline void PA_InitVBL(){
/*! \def PA_GetVcount() /*! \def PA_GetVcount()
\brief \brief
\~english Get the vertical line count... \~english Get the vertical line count...
\~french Récupérer le numéro de ligne tracée \~french Récupérer le numéro de ligne tracée
*/ */
#define PA_GetVcount() (REG_VCOUNT&511) #define PA_GetVcount() (REG_VCOUNT&511)
/*! \fn void PA_VBLCountersReset() /*! \fn void PA_VBLCountersReset()
\brief \brief
\~english Resets the VBL counters \~english Resets the VBL counters
\~french Remet à 0 les compteurs VBL \~french Remet à 0 les compteurs VBL
*/ */
void PA_VBLCountersReset(); void PA_VBLCountersReset();
/*! \fn static inline void PA_VBLCounterStart(u8 nCounter) /*! \fn static inline void PA_VBLCounterStart(u8 nCounter)
\brief \brief
\~english Resets a given counter and starts running \~english Resets a given counter and starts running
\~french Remet à 0 un compteur donné et le démarre \~french Remet à 0 un compteur donné et le démarre
\~\param nCounter \~\param nCounter
\~english Counter number (0-15) \~english Counter number (0-15)
\~french Numéro du compteur (0-15) \~french Numéro du compteur (0-15)
*/ */
static inline void PA_VBLCounterStart(u8 nCounter){ static inline void PA_VBLCounterStart(u8 nCounter){
PA_VBLCounter[nCounter] = 0; PA_VBLCounter[nCounter] = 0;
@ -72,10 +72,10 @@ static inline void PA_VBLCounterStart(u8 nCounter){
/*! \fn static inline void PA_VBLCounterPause(u8 nCounter) /*! \fn static inline void PA_VBLCounterPause(u8 nCounter)
\brief \brief
\~english Pauses a given VBL counter \~english Pauses a given VBL counter
\~french Met en pause un compteur VBL donné \~french Met en pause un compteur VBL donné
\~\param nCounter \~\param nCounter
\~english Counter number (0-15) \~english Counter number (0-15)
\~french Numéro du compteur (0-15) \~french Numéro du compteur (0-15)
*/ */
static inline void PA_VBLCounterPause(u8 nCounter){ static inline void PA_VBLCounterPause(u8 nCounter){
PA_VBLCounterOn[nCounter] = 0; PA_VBLCounterOn[nCounter] = 0;
@ -84,10 +84,10 @@ static inline void PA_VBLCounterPause(u8 nCounter){
/*! \fn static inline void PA_VBLCounterUnpause(u8 nCounter) /*! \fn static inline void PA_VBLCounterUnpause(u8 nCounter)
\brief \brief
\~english Unpauses a given VBL counter \~english Unpauses a given VBL counter
\~french Refait tourner un compteur VBL donné \~french Refait tourner un compteur VBL donné
\~\param nCounter \~\param nCounter
\~english Counter number (0-15) \~english Counter number (0-15)
\~french Numéro du compteur (0-15) \~french Numéro du compteur (0-15)
*/ */
static inline void PA_VBLCounterUnpause(u8 nCounter){ static inline void PA_VBLCounterUnpause(u8 nCounter){
PA_VBLCounterOn[nCounter] = 1; PA_VBLCounterOn[nCounter] = 1;

View File

@ -21,12 +21,12 @@ extern const unsigned char keyboard_Tiles[10400];
extern const unsigned short keyboard_Map[4096]; extern const unsigned short keyboard_Map[4096];
typedef struct { typedef struct {
u8 Bg; // Numéro du fond u8 Bg; // Numéro du fond
u8 Type; // 0 pour normal, 1 pour majuscules.. u8 Type; // 0 pour normal, 1 pour majuscules..
char Letter; // Lettre char Letter; // Lettre
s16 ScrollX, ScrollY; // Scroll x et y... s16 ScrollX, ScrollY; // Scroll x et y...
s16 Repeat; // Temps avant de répéter... s16 Repeat; // Temps avant de répéter...
s16 oldX, oldY; // Ancienne zone touchée s16 oldX, oldY; // Ancienne zone touchée
u8 Color1, Color2; // Main color, pressed color... u8 Color1, Color2; // Main color, pressed color...
u8 Custom; // using custom graphics u8 Custom; // using custom graphics
} Keyboards; } Keyboards;
@ -46,10 +46,10 @@ extern const u8 PA_Keyboard[2][5][24];
\fn void PA_LoadDefaultKeyboard(u8 bg_number) \fn void PA_LoadDefaultKeyboard(u8 bg_number)
\brief \brief
\~english Initialise the default Keyboard on a given background. Uses 16 color palettes 14 and 15 (doesn't mix with text though, don't worry) \~english Initialise the default Keyboard on a given background. Uses 16 color palettes 14 and 15 (doesn't mix with text though, don't worry)
\~french Initialiser le calvier sur un fond donné. Utilise les palettes de 16 couleurs 14 et 15 (n'interfère pas avec le texte) \~french Initialiser le calvier sur un fond donné. Utilise les palettes de 16 couleurs 14 et 15 (n'interfère pas avec le texte)
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
*/ */
void PA_LoadDefaultKeyboard(u8 bg_number); void PA_LoadDefaultKeyboard(u8 bg_number);
@ -58,10 +58,10 @@ void PA_LoadDefaultKeyboard(u8 bg_number);
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Initialise a custom Keyboard on a given background. \~english [DEPRECATED] Initialise a custom Keyboard on a given background.
\~french [DEPRECATED] Initialiser un clavier perso sur un fond donné \~french [DEPRECATED] Initialiser un clavier perso sur un fond donné
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param keyb_custom \~\param keyb_custom
\~english Custom Keyboard name, converted as EasyBg \~english Custom Keyboard name, converted as EasyBg
\~french Claviet perso, converti comme EasyBg \~french Claviet perso, converti comme EasyBg
@ -79,10 +79,10 @@ void PA_LoadDefaultKeyboard(u8 bg_number);
\fn void PA_LoadKeyboard(u8 bg_number, const PA_BgStruct* keyboard) \fn void PA_LoadKeyboard(u8 bg_number, const PA_BgStruct* keyboard)
\brief \brief
\~english Load a custom Keyboard on a given background. \~english Load a custom Keyboard on a given background.
\~french Initialiser un clavier perso sur un fond donné \~french Initialiser un clavier perso sur un fond donné
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param keyboard \~\param keyboard
\~english Pointer to the keyboard background, converted as EasyBg \~english Pointer to the keyboard background, converted as EasyBg
\~french Pointeur vers le fond du claviet perso, converti comme EasyBg \~french Pointeur vers le fond du claviet perso, converti comme EasyBg
@ -93,7 +93,7 @@ void PA_LoadKeyboard(u8 bg_number, const PA_BgStruct* keyboard);
\fn char PA_CheckKeyboard(void) \fn char PA_CheckKeyboard(void)
\brief \brief
\~english Checks if the keyboard is used, and return the letter :) Use this every turn (even if the stylus isn't pressed) \~english Checks if the keyboard is used, and return the letter :) Use this every turn (even if the stylus isn't pressed)
\~french Vérifie le clavier, s'il est utilisé, et renvoie la lettre appuyée (0 si pas de nouvel appuye). A utiliser tout le temps, même si le stylet ne touche pas l'écran \~french Vérifie le clavier, s'il est utilisé, et renvoie la lettre appuyée (0 si pas de nouvel appuye). A utiliser tout le temps, même si le stylet ne touche pas l'écran
*/ */
char PA_CheckKeyboard(void); char PA_CheckKeyboard(void);
@ -101,7 +101,7 @@ char PA_CheckKeyboard(void);
\fn static inline void PA_ScrollKeyboardX(s16 x) \fn static inline void PA_ScrollKeyboardX(s16 x)
\brief \brief
\~english Set the Keyboard's X position \~english Set the Keyboard's X position
\~french Placer le Clavier à la position X \~french Placer le Clavier à la position X
\~\param x \~\param x
\~english X position... \~english X position...
\~french Position X \~french Position X
@ -115,7 +115,7 @@ static inline void PA_ScrollKeyboardX(s16 x) {
\fn static inline void PA_ScrollKeyboardY(s16 y) \fn static inline void PA_ScrollKeyboardY(s16 y)
\brief \brief
\~english Set the Keyboard's Y position \~english Set the Keyboard's Y position
\~french Placer le Clavier à la position Y \~french Placer le Clavier à la position Y
\~\param y \~\param y
\~english Y position... \~english Y position...
\~french Position Y \~french Position Y
@ -129,7 +129,7 @@ static inline void PA_ScrollKeyboardY(s16 y) {
\fn static inline void PA_ScrollKeyboardXY(s16 x, s16 y) \fn static inline void PA_ScrollKeyboardXY(s16 x, s16 y)
\brief \brief
\~english Set the Keyboard's position \~english Set the Keyboard's position
\~french Placer le Clavier à une position donnée \~french Placer le Clavier à une position donnée
\~\param x \~\param x
\~english X position... \~english X position...
\~french Position X \~french Position X
@ -147,7 +147,7 @@ static inline void PA_ScrollKeyboardXY(s16 x, s16 y) {
\def PA_EraseLastKey() \def PA_EraseLastKey()
\brief \brief
\~english Erase the last key lit up (if it didn't on it's own) \~english Erase the last key lit up (if it didn't on it's own)
\~french Effacer la dernière touche pressée, si ca ne le fait pas tout seul \~french Effacer la dernière touche pressée, si ca ne le fait pas tout seul
*/ */
#define PA_EraseLastKey() PA_SetLetterPal(PA_Keyboard_Struct.oldX, PA_Keyboard_Struct.oldY, 15) #define PA_EraseLastKey() PA_SetLetterPal(PA_Keyboard_Struct.oldX, PA_Keyboard_Struct.oldY, 15)
@ -155,7 +155,7 @@ static inline void PA_ScrollKeyboardXY(s16 x, s16 y) {
\fn static inline void PA_KeyboardIn(s16 x, s16 y) \fn static inline void PA_KeyboardIn(s16 x, s16 y)
\brief \brief
\~english Make the keyboard enter to position (x, y), scrolling from the bottom of the screen \~english Make the keyboard enter to position (x, y), scrolling from the bottom of the screen
\~french Faire entrer le clavier à la position (x, y) en glissant depuis le bas de l'écran \~french Faire entrer le clavier à la position (x, y) en glissant depuis le bas de l'écran
\~\param x \~\param x
\~english X position... \~english X position...
\~french Position X \~french Position X
@ -170,7 +170,7 @@ static inline void PA_KeyboardIn(s16 x, s16 y){ // Faire rentrer le clavier...
PA_ScrollKeyboardY(i); PA_ScrollKeyboardY(i);
PA_WaitForVBL(); PA_WaitForVBL();
} }
PA_ScrollKeyboardY(y); // On amène pile au bon y... PA_ScrollKeyboardY(y); // On amène pile au bon y...
} }
/*! /*!
@ -181,7 +181,7 @@ static inline void PA_KeyboardIn(s16 x, s16 y){ // Faire rentrer le clavier...
*/ */
static inline void PA_KeyboardOut(void){ // Faire sortir le clavier... static inline void PA_KeyboardOut(void){ // Faire sortir le clavier...
int i; int i;
PA_EraseLastKey(); // Efface s'il reste une touche pressée... PA_EraseLastKey(); // Efface s'il reste une touche pressée...
for (i = PA_Keyboard_Struct.ScrollY; i < 200; i+=8){ for (i = PA_Keyboard_Struct.ScrollY; i < 200; i+=8){
PA_ScrollKeyboardY(i); PA_ScrollKeyboardY(i);
PA_WaitForVBL(); PA_WaitForVBL();
@ -192,7 +192,7 @@ static inline void PA_KeyboardOut(void){ // Faire sortir le clavier...
\fn void PA_ReloadKeyboardCol(void) \fn void PA_ReloadKeyboardCol(void)
\brief \brief
\~english Reloads the keyboard's palette, usefull if you changed the background palette \~english Reloads the keyboard's palette, usefull if you changed the background palette
\~french Recharge la palette du clavier, utile si on a changé de palette pour les fonds \~french Recharge la palette du clavier, utile si on a changé de palette pour les fonds
*/ */
void PA_ReloadKeyboardCol(void); void PA_ReloadKeyboardCol(void);
@ -207,7 +207,7 @@ void PA_ReloadKeyboardCol(void);
\~french Couleur normale, 0 pour bleu, 1 pour rouge, 2 pour vert \~french Couleur normale, 0 pour bleu, 1 pour rouge, 2 pour vert
\~\param color2 \~\param color2
\~english Pressed key color, 0 for blue, 1 for red, 2 for green \~english Pressed key color, 0 for blue, 1 for red, 2 for green
\~french Couleur de la touche appuyée, 0 pour bleu, 1 pour rouge, 2 pour vert \~french Couleur de la touche appuyée, 0 pour bleu, 1 pour rouge, 2 pour vert
*/ */
static inline void PA_SetKeyboardColor(u8 color1, u8 color2){ static inline void PA_SetKeyboardColor(u8 color1, u8 color2){
PA_Keyboard_Struct.Color1 = color1; PA_Keyboard_Struct.Color1 = color1;
@ -219,7 +219,7 @@ static inline void PA_SetKeyboardColor(u8 color1, u8 color2){
\fn static inline void PA_SetKeyboardScreen(u8 screen) \fn static inline void PA_SetKeyboardScreen(u8 screen)
\brief \brief
\~english Set Keyboard screen. Must be used BEFORE the keyboard init.. \~english Set Keyboard screen. Must be used BEFORE the keyboard init..
\~french Régler l'écran du clavier. Doit être utilisé AVANT l'init du clavier \~french Régler l'écran du clavier. Doit être utilisé AVANT l'init du clavier
\~\param screen \~\param screen
\~english 0 (bottom) or 1 (top) \~english 0 (bottom) or 1 (top)
\~french 0 (bas) or 1 (haut) \~french 0 (bas) or 1 (haut)

View File

@ -12,7 +12,7 @@ extern "C" {
Update the keys and stylus inputs Update the keys and stylus inputs
*/ */
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// Système pour les touches // Système pour les touches
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// Keyboard defines // Keyboard defines
@ -30,7 +30,7 @@ typedef struct {
} PA_Pad; } PA_Pad;
typedef struct { typedef struct {
PA_Pad Held, Released, Newpress; // Pressed si on appuye, Held si on garde appuyé, et Released si on relache PA_Pad Held, Released, Newpress; // Pressed si on appuye, Held si on garde appuyé, et Released si on relache
} Pads; } Pads;
typedef struct { typedef struct {
@ -44,12 +44,12 @@ extern PA_Stylus Stylus;
extern Pads Pad; extern Pads Pad;
extern PA_Pad* PadPointer; extern PA_Pad* PadPointer;
// Structure pour les sprites que l'on déplace... // Structure pour les sprites que l'on déplace...
typedef struct { typedef struct {
u8 Moving; u8 Moving;
u8 Sprite; u8 Sprite;
s16 X, Y, Vx, Vy, NextVx, NextVy; s16 X, Y, Vx, Vy, NextVx, NextVy;
u8 Time; // Si trop longtemps sans bouger le sprite, il décroche... u8 Time; // Si trop longtemps sans bouger le sprite, il décroche...
} PA_movingsprite; } PA_movingsprite;
extern PA_movingsprite PA_MovedSprite; extern PA_movingsprite PA_MovedSprite;
@ -64,7 +64,7 @@ extern u8 PA_MoveSpriteType;
/*! \fn void PA_UpdatePad() /*! \fn void PA_UpdatePad()
\brief \brief
\~english Update the Keypad, use it once per frame (in the VBL for example). You can then retrieve the held down keys with Pad.Held.A (or Up, Down...), Newly pressed keys with Pad.Newpress.R, and the just released keys with Pad.Released.Up... \~english Update the Keypad, use it once per frame (in the VBL for example). You can then retrieve the held down keys with Pad.Held.A (or Up, Down...), Newly pressed keys with Pad.Newpress.R, and the just released keys with Pad.Released.Up...
\~french Permet de mettre à jour les touches appuyées. A utilisé une fois par frame (genre dans le vbl). On a ensuite accès aux touches pressées avec Pad.Held.A (ou Up, Down, L...), aux touches nouvellement pressées avec Pad.Newpress.R, et aux touches tout juste relachées avec Pad.Released.Up... \~french Permet de mettre à jour les touches appuyées. A utilisé une fois par frame (genre dans le vbl). On a ensuite accès aux touches pressées avec Pad.Held.A (ou Up, Down, L...), aux touches nouvellement pressées avec Pad.Newpress.R, et aux touches tout juste relachées avec Pad.Released.Up...
*/ */
void PA_UpdatePad(); void PA_UpdatePad();
@ -72,7 +72,7 @@ void PA_UpdatePad();
/*! \fn void PA_UpdateStylus() /*! \fn void PA_UpdateStylus()
\brief \brief
\~english Update the Stylus position. You can then check if the stylus is current in use (Stylus.Held), newly pressed (Stylus.Newpress), or released (Stylus.Released), and get it's position (Stylus.X, Stylus.Y). \~english Update the Stylus position. You can then check if the stylus is current in use (Stylus.Held), newly pressed (Stylus.Newpress), or released (Stylus.Released), and get it's position (Stylus.X, Stylus.Y).
\~french Mettre à jour la position du stylet. On peut vérifier si le stylet est actuellement sur l'écran (Stylus.Held), tout just appuyé (Stylus.Newpress), ou relaché (Stylus.Released), et obtenir sa position (Stylus.X, Stylus.Y). \~french Mettre à jour la position du stylet. On peut vérifier si le stylet est actuellement sur l'écran (Stylus.Held), tout just appuyé (Stylus.Newpress), ou relaché (Stylus.Released), et obtenir sa position (Stylus.X, Stylus.Y).
*/ */
void PA_UpdateStylus(); void PA_UpdateStylus();
@ -80,33 +80,33 @@ void PA_UpdateStylus();
/*! \fn u8 PA_MoveSpritePix(u8 sprite) /*! \fn u8 PA_MoveSpritePix(u8 sprite)
\brief \brief
\~english Move a sprite according to the stylus's position, only if you touch a sprite's pixel. This is similar to PA_MoveSprite, but slightly slower and requires PA_InitSpriteDraw(screen, sprite) before. The sprite will be 'hooked' if the stylus passes over it, and then they'll be linked together. Returns 1 if the sprite is moved. You can also get information from PA_MovedSprite.Moving (1 if you are moving a sprite), .Sprite (sprite moved), .X (X position of the top left corner of the sprite), .Y (Y position of the top left corner of the sprite), .Vx (horizontal speed ! useful if you want to make the sprite continue to move when you release the stylus...), and .Vy \~english Move a sprite according to the stylus's position, only if you touch a sprite's pixel. This is similar to PA_MoveSprite, but slightly slower and requires PA_InitSpriteDraw(screen, sprite) before. The sprite will be 'hooked' if the stylus passes over it, and then they'll be linked together. Returns 1 if the sprite is moved. You can also get information from PA_MovedSprite.Moving (1 if you are moving a sprite), .Sprite (sprite moved), .X (X position of the top left corner of the sprite), .Y (Y position of the top left corner of the sprite), .Vx (horizontal speed ! useful if you want to make the sprite continue to move when you release the stylus...), and .Vy
\~french Déplacer un sprite en fonction du stylet, avec détection au pixel pret. Ceci est comme PA_MoveSprite, mais un peu plus lent, et nécessite PA_InitSpriteDraw(screen, sprite). Le sprite sera accroché si le stylet passe aud-dessus, puis il sera déplacé en fonction... Donne 1 si on a déplacé ce sprite, sinon 0. On peut ensuite récupérer des infos avec PA_MovedSprite.Moving (1 si on déplace un sprite), .Sprite (numéro du sprite déplacé), .X (position X du coin sup gauche du sprite), .Y (position Y du point sup gauche du sprite déplacé), .Vx (vitesse horizontale du sprite déplacé !! Utile si l'on veut que le sprite continue à se déplacer par la suite...), et .Vy \~french Déplacer un sprite en fonction du stylet, avec détection au pixel pret. Ceci est comme PA_MoveSprite, mais un peu plus lent, et nécessite PA_InitSpriteDraw(screen, sprite). Le sprite sera accroché si le stylet passe aud-dessus, puis il sera déplacé en fonction... Donne 1 si on a déplacé ce sprite, sinon 0. On peut ensuite récupérer des infos avec PA_MovedSprite.Moving (1 si on déplace un sprite), .Sprite (numéro du sprite déplacé), .X (position X du coin sup gauche du sprite), .Y (position Y du point sup gauche du sprite déplacé), .Vx (vitesse horizontale du sprite déplacé !! Utile si l'on veut que le sprite continue à se déplacer par la suite...), et .Vy
\~\param sprite \~\param sprite
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
*/ */
u8 PA_MoveSpritePix(u8 sprite); u8 PA_MoveSpritePix(u8 sprite);
/*! \def PA_MoveSprite(sprite) /*! \def PA_MoveSprite(sprite)
\brief \brief
\~english Move a sprite according to the stylus's position. The sprite will be 'hooked' if the stylus passes over it, and then they'll be linked together. Returns 1 if the sprite is moved. You can also get information from PA_MovedSprite.Moving (1 if you are moving a sprite), .Sprite (sprite moved), .X (X position of the center of the sprite), .Y (Y position of the center of the sprite), .Vx (horizontal speed ! useful if you want to make the sprite continue to move when you release the stylus...), and .Vy \~english Move a sprite according to the stylus's position. The sprite will be 'hooked' if the stylus passes over it, and then they'll be linked together. Returns 1 if the sprite is moved. You can also get information from PA_MovedSprite.Moving (1 if you are moving a sprite), .Sprite (sprite moved), .X (X position of the center of the sprite), .Y (Y position of the center of the sprite), .Vx (horizontal speed ! useful if you want to make the sprite continue to move when you release the stylus...), and .Vy
\~french Déplacer un sprite en fonction du stylet. Le sprite sera accroché si le stylet passe aud-dessus, puis il sera déplacé en fonction... Donne 1 si on a déplacé ce sprite, sinon 0. On peut ensuite récupérer des infos avec PA_MovedSprite.Moving (1 si on déplace un sprite), .Sprite (numéro du sprite déplacé), .X (position X du centre du sprite), .Y (position Y du centre du sprite déplacé), .Vx (vitesse horizontale du sprite déplacé !! Utile si l'on veut que le sprite continue à se déplacer par la suite...), et .Vy \~french Déplacer un sprite en fonction du stylet. Le sprite sera accroché si le stylet passe aud-dessus, puis il sera déplacé en fonction... Donne 1 si on a déplacé ce sprite, sinon 0. On peut ensuite récupérer des infos avec PA_MovedSprite.Moving (1 si on déplace un sprite), .Sprite (numéro du sprite déplacé), .X (position X du centre du sprite), .Y (position Y du centre du sprite déplacé), .Vx (vitesse horizontale du sprite déplacé !! Utile si l'on veut que le sprite continue à se déplacer par la suite...), et .Vy
\~\param sprite \~\param sprite
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
*/ */
#define PA_MoveSprite(sprite) PA_MoveSpriteEx(PA_Screen, sprite, PA_GetSpriteLx(0, sprite), PA_GetSpriteLy(0, sprite)) #define PA_MoveSprite(sprite) PA_MoveSpriteEx(PA_Screen, sprite, PA_GetSpriteLx(0, sprite), PA_GetSpriteLy(0, sprite))
/*! \fn u8 PA_MoveSpriteEx(u8 screen, u8 sprite, u8 lx, u8 ly) /*! \fn u8 PA_MoveSpriteEx(u8 screen, u8 sprite, u8 lx, u8 ly)
\brief \brief
\~english Move a sprite according to the stylus's position. See PA_MoveSprite for more details... The difference is that here you chose the sprite dimension (lx and ly), which is useful if the sprite is smaller than the DS standard sizes... (for example 20x20...). This will also limit the 'hooking' distance \~english Move a sprite according to the stylus's position. See PA_MoveSprite for more details... The difference is that here you chose the sprite dimension (lx and ly), which is useful if the sprite is smaller than the DS standard sizes... (for example 20x20...). This will also limit the 'hooking' distance
\~french Déplacer un sprite en fonction du stylet. Voir PA_MoveSprite pour plus de détails. La différence est qu'ici on précise la largeur et la hauteur du sprite, utile si le sprite ne fait pas vraiment la meme taille que la taille standard DS (genre si c'est un sprite de 20x20). Ceci limitera donc aussi la distance d'accrochage \~french Déplacer un sprite en fonction du stylet. Voir PA_MoveSprite pour plus de détails. La différence est qu'ici on précise la largeur et la hauteur du sprite, utile si le sprite ne fait pas vraiment la meme taille que la taille standard DS (genre si c'est un sprite de 20x20). Ceci limitera donc aussi la distance d'accrochage
\~\param screen \~\param screen
\~english On what screen to do it \~english On what screen to do it
\~french Sur quel écran le faire... \~french Sur quel écran le faire...
\~\param sprite \~\param sprite
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param lx \~\param lx
\~english Sprite length \~english Sprite length
\~french Largeur du sprite \~french Largeur du sprite
@ -119,10 +119,10 @@ u8 PA_MoveSpriteEx(u8 screen, u8 sprite, u8 lx, u8 ly);
/*! \fn u8 PA_MoveSpriteDistance(u8 sprite, u8 distance) /*! \fn u8 PA_MoveSpriteDistance(u8 sprite, u8 distance)
\brief \brief
\~english Move a sprite according to the stylus's position. See PA_MoveSprite for more details... The difference is that here you chose the hooking distance in pixels \~english Move a sprite according to the stylus's position. See PA_MoveSprite for more details... The difference is that here you chose the hooking distance in pixels
\~french Déplacer un sprite en fonction du stylet. Voir PA_MoveSprite pour plus de détails. La différence est qu'ici on précise la distance d'accrochage, en pixels \~french Déplacer un sprite en fonction du stylet. Voir PA_MoveSprite pour plus de détails. La différence est qu'ici on précise la distance d'accrochage, en pixels
\~\param sprite \~\param sprite
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param distance \~\param distance
\~english Hooking distance \~english Hooking distance
\~french Distance d'accrochage \~french Distance d'accrochage
@ -137,10 +137,10 @@ static inline u8 PA_MoveSpriteDistance(u8 sprite, u8 distance){
/*! \fn static inline u8 PA_SpriteStylusOverEx(u8 sprite, u8 lx, u8 ly) /*! \fn static inline u8 PA_SpriteStylusOverEx(u8 sprite, u8 lx, u8 ly)
\brief \brief
\~english Check if the stylus position is over a given sprite (stylus pressed or not) \~english Check if the stylus position is over a given sprite (stylus pressed or not)
\~french Vérifie si le stylet est placé au-dessus d'un sprite donné (que le stylet touche l'écran ou non) \~french Vérifie si le stylet est placé au-dessus d'un sprite donné (que le stylet touche l'écran ou non)
\~\param sprite \~\param sprite
\~english Sprite number in the sprite system \~english Sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param lx \~\param lx
\~english Wideness \~english Wideness
\~french Largeur \~french Largeur
@ -158,10 +158,10 @@ static inline u8 PA_SpriteStylusOverEx(u8 sprite, u8 lx, u8 ly){
/*! \fn static inline u8 PA_SpriteTouchedEx(u8 sprite, u8 lx, u8 ly) /*! \fn static inline u8 PA_SpriteTouchedEx(u8 sprite, u8 lx, u8 ly)
\brief \brief
\~english Check if a given sprite is touched. Returns 1 if touched... You can chose the width and height around the sprite \~english Check if a given sprite is touched. Returns 1 if touched... You can chose the width and height around the sprite
\~french Vérifie si l'on touche un sprite donné. Renvoie 1 si touché... On peut choisir la hauteur et la largeur autour du sprite \~french Vérifie si l'on touche un sprite donné. Renvoie 1 si touché... On peut choisir la hauteur et la largeur autour du sprite
\~\param sprite \~\param sprite
\~english Sprite number in the sprite system \~english Sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param lx \~\param lx
\~english Wideness \~english Wideness
\~french Largeur \~french Largeur
@ -177,10 +177,10 @@ static inline u8 PA_SpriteTouchedEx(u8 sprite, u8 lx, u8 ly){
/*! \fn static inline u8 PA_SpriteTouched(u8 sprite) /*! \fn static inline u8 PA_SpriteTouched(u8 sprite)
\brief \brief
\~english Check if a given sprite is touched. Returns 1 if touched... \~english Check if a given sprite is touched. Returns 1 if touched...
\~french Vérifie si l'on touche un sprite donné. Renvoie 1 si touché... \~french Vérifie si l'on touche un sprite donné. Renvoie 1 si touché...
\~\param sprite \~\param sprite
\~english Sprite number in the sprite system \~english Sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
*/ */
static inline u8 PA_SpriteTouched(u8 sprite) { static inline u8 PA_SpriteTouched(u8 sprite) {
return PA_SpriteTouchedEx(sprite, PA_GetSpriteLx(PA_Screen, sprite), PA_GetSpriteLy(PA_Screen, sprite)); return PA_SpriteTouchedEx(sprite, PA_GetSpriteLx(PA_Screen, sprite), PA_GetSpriteLy(PA_Screen, sprite));
@ -189,10 +189,10 @@ static inline u8 PA_SpriteTouched(u8 sprite) {
/*! \fn static inline u8 PA_SpriteStylusOver(u8 sprite) /*! \fn static inline u8 PA_SpriteStylusOver(u8 sprite)
\brief \brief
\~english Check if the stylus position is over a given sprite (stylus pressed or not) \~english Check if the stylus position is over a given sprite (stylus pressed or not)
\~french Vérifie si le stylet est placé au-dessus d'un sprite donné (que le stylet touche l'écran ou non) \~french Vérifie si le stylet est placé au-dessus d'un sprite donné (que le stylet touche l'écran ou non)
\~\param sprite \~\param sprite
\~english Sprite number in the sprite system \~english Sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
*/ */
static inline u8 PA_SpriteStylusOver(u8 sprite) { static inline u8 PA_SpriteStylusOver(u8 sprite) {
return PA_SpriteStylusOverEx(sprite, PA_GetSpriteLx(PA_Screen, sprite), PA_GetSpriteLy(PA_Screen, sprite)); return PA_SpriteStylusOverEx(sprite, PA_GetSpriteLx(PA_Screen, sprite), PA_GetSpriteLy(PA_Screen, sprite));
@ -223,19 +223,19 @@ static inline u8 PA_Sprite16cTouchedPix(u8 sprite){
/*! \def PA_StylusInZone(x1, y1, x2, y2) /*! \def PA_StylusInZone(x1, y1, x2, y2)
\brief \brief
\~english Check if the stylus is in a given zone... Returns 1 if yes, 0 if not \~english Check if the stylus is in a given zone... Returns 1 if yes, 0 if not
\~french Vérifie si le stylet est dans une zone délimitée donnée... Renvoie 1 si oui, 0 sinon \~french Vérifie si le stylet est dans une zone délimitée donnée... Renvoie 1 si oui, 0 sinon
\~\param x1 \~\param x1
\~english X value of the upper left corner \~english X value of the upper left corner
\~french Valeur X du coin supérieur gauche \~french Valeur X du coin supérieur gauche
\~\param y1 \~\param y1
\~english Y value of the upper left corner \~english Y value of the upper left corner
\~french Valeur Y du coin supérieur gauche \~french Valeur Y du coin supérieur gauche
\~\param x2 \~\param x2
\~english X value of the lower right corner \~english X value of the lower right corner
\~french Valeur X du coin inférieur droit \~french Valeur X du coin inférieur droit
\~\param y2 \~\param y2
\~english Y value of the lower right corner \~english Y value of the lower right corner
\~french Valeur Y du coin inférieur droit \~french Valeur Y du coin inférieur droit
*/ */
#define PA_StylusInZone(x1, y1, x2, y2) ((Stylus.X>=x1)&&(Stylus.Y>=y1)&&(Stylus.X<x2)&&(Stylus.Y<y2)) #define PA_StylusInZone(x1, y1, x2, y2) ((Stylus.X>=x1)&&(Stylus.Y>=y1)&&(Stylus.X<x2)&&(Stylus.Y<y2))

View File

@ -36,7 +36,7 @@ typedef struct {
} GH_Buttons; } GH_Buttons;
typedef struct { typedef struct {
GH_Buttons Held, Released, Newpress; // Pressed si on appuye, Held si on garde appuyé, et Released si on relache GH_Buttons Held, Released, Newpress; // Pressed si on appuye, Held si on garde appuyé, et Released si on relache
} GH_Pad; } GH_Pad;
extern GH_Pad GHPad; extern GH_Pad GHPad;

View File

@ -35,7 +35,7 @@ extern u32 RandomValue; // Seed pour la fonction random
/*! \fn static inline u32 PA_Rand() /*! \fn static inline u32 PA_Rand()
\brief \brief
\~english Gives a random number, taken from Ham... This is taken from Ham, I have no credit. \~english Gives a random number, taken from Ham... This is taken from Ham, I have no credit.
\~french Donne un numéro aléatoire... Ceci est pris de Ham, je n'ai aucun m?rite. \~french Donne un numéro aléatoire... Ceci est pris de Ham, je n'ai aucun mérite.
*/ */
static inline u32 PA_Rand() { static inline u32 PA_Rand() {
u32 lo, hi; u32 lo, hi;
@ -52,9 +52,9 @@ static inline u32 PA_Rand() {
/*! \fn static inline void PA_InitRand() /*! \fn static inline void PA_InitRand()
\brief \brief
\~english Auto-seeds the Rand function based on the clock ! \~english Auto-seeds the Rand function based on the clock !
\~french Initialisation automatique du rand, basé sur l'horloge interne... \~french Initialisation automatique du rand, basé sur l'horloge interne...
*/ */
// Les fonctions randoms sont prises de Ham, je n'ai strictement AUCUN mérite ! Désolé ! Je l'ai un peu modifiée, elle doit etre plus rapide // Les fonctions randoms sont prises de Ham, je n'ai strictement AUCUN mérite ! Désolé ! Je l'ai un peu modifiée, elle doit etre plus rapide
static inline void PA_InitRand() { static inline void PA_InitRand() {
RandomValue = 1 + PA_RTC.Seconds + PA_RTC.Minutes*60 + PA_RTC.Hour*3600 + PA_RTC.Day*3600*24+PA_RTC.Month*3600*24*30; RandomValue = 1 + PA_RTC.Seconds + PA_RTC.Minutes*60 + PA_RTC.Hour*3600 + PA_RTC.Day*3600*24+PA_RTC.Month*3600*24*30;
PA_Rand(); PA_Rand(); PA_Rand(); // On fait plusieurs fois de base PA_Rand(); PA_Rand(); PA_Rand(); // On fait plusieurs fois de base
@ -63,7 +63,7 @@ static inline void PA_InitRand() {
/*! \fn void PA_SRand(s32 r) /*! \fn void PA_SRand(s32 r)
\brief \brief
\~english Set the random's seed. This is taken from Ham, I have no credit. I just made it a little shorter/faster (maybe) \~english Set the random's seed. This is taken from Ham, I have no credit. I just made it a little shorter/faster (maybe)
\~french Initialiser le random avec un seed. Ceci est pris de Ham, je n'ai aucun mérite. J'ai juste raccourci/accéléré un peu le tout \~french Initialiser le random avec un seed. Ceci est pris de Ham, je n'ai aucun mérite. J'ai juste raccourci/accéléré un peu le tout
\~\param r \~\param r
\~english Seed value \~english Seed value
\~french Seed... \~french Seed...
@ -202,7 +202,7 @@ static inline u16 PA_GetAngle(s32 startx, s32 starty, s32 targetx, s32 targety)
anglerot = (anglerot - ((3 * anglerot) >> 3)); // On diminue petit ? petit la rotation... anglerot = (anglerot - ((3 * anglerot) >> 3)); // On diminue petit ? petit la rotation...
} }
// Ajustement encore plus précis... // Ajustement encore plus précis...
anglerot = 4; anglerot = 4;
angle = PA_AdjustAngle(angle, anglerot, startx, starty, targetx, targety); angle = PA_AdjustAngle(angle, anglerot, startx, starty, targetx, targety);
anglerot = 2; anglerot = 2;
@ -232,7 +232,7 @@ typedef struct{
\~french Premier nombre \~french Premier nombre
\~\param b \~\param b
\~english Second number \~english Second number
\~french Deuxième nombre \~french Deuxième nombre
*/ */
int PA_mulf32(int a, int b); int PA_mulf32(int a, int b);
@ -245,7 +245,7 @@ int PA_mulf32(int a, int b);
\~french Premier nombre \~french Premier nombre
\~\param b \~\param b
\~english Second number \~english Second number
\~french Deuxième nombre \~french Deuxième nombre
*/ */
int PA_divf32(int a, int b); int PA_divf32(int a, int b);
@ -258,7 +258,7 @@ int PA_divf32(int a, int b);
\~french Premier nombre \~french Premier nombre
\~\param b \~\param b
\~english Second number \~english Second number
\~french Deuxième nombre \~french Deuxième nombre
*/ */
int PA_modf32(int a, int b); int PA_modf32(int a, int b);

View File

@ -19,7 +19,7 @@
/*! \fn static inline void PA_MicStartRecording(u8 *Buffer, u32 Length) /*! \fn static inline void PA_MicStartRecording(u8 *Buffer, u32 Length)
\brief \brief
\~english Start recording from the microphone. \~english Start recording from the microphone.
\~french Commencer <EFBFBD> enregistrer avec le microphone. \~french Commencer à enregistrer avec le microphone.
\~\param Buffer \~\param Buffer
\~english 8bit buffer in which to record the sound \~english 8bit buffer in which to record the sound
\~french Buffer dans lequel enregistrer le son \~french Buffer dans lequel enregistrer le son
@ -38,7 +38,7 @@ static inline void PA_MicStartRecording(u8* buffer, u32 length){
/*! \def PA_MicStopRecording() /*! \def PA_MicStopRecording()
\brief \brief
\~english Stop recording from the microphone. \~english Stop recording from the microphone.
\~french Arr<EFBFBD>te l'enregistrement. \~french Arrête l'enregistrement.
*/ */
#define PA_MicStopRecording() PA_SendFifoCmd(PA_MSG_MICSTOP) #define PA_MicStopRecording() PA_SendFifoCmd(PA_MSG_MICSTOP)
@ -50,7 +50,7 @@ static inline void PA_MicStartRecording(u8* buffer, u32 length){
\~french Rejouer un son enregistrer \~french Rejouer un son enregistrer
\~\param Buffer \~\param Buffer
\~english 8bit buffer in which the sound was recorded \~english 8bit buffer in which the sound was recorded
\~french Buffer dans lequel on a enregistr<EFBFBD> le son \~french Buffer dans lequel on a enregistré le son
\~\param Length \~\param Length
\~english Buffer length \~english Buffer length
\~french Longueur du buffer \~french Longueur du buffer

View File

@ -74,10 +74,10 @@ extern s16 mode7_distance;
/*! \fn void PA_InitMode7(u8 bg_select) /*! \fn void PA_InitMode7(u8 bg_select)
\brief \brief
\~english Initialize Mode 7 for a given background. You MUST be in video mode 1 or 2 \~english Initialize Mode 7 for a given background. You MUST be in video mode 1 or 2
\~french Initialise le Mode 7 pour un fond donné. Vous devez etre en mode 1 ou 2 impérativement ! \~french Initialise le Mode 7 pour un fond donné. Vous devez etre en mode 1 ou 2 impérativement !
\~\param bg_select \~\param bg_select
\~english Bg number, 2 in mode 1, 2 or 3 in mode 2 \~english Bg number, 2 in mode 1, 2 or 3 in mode 2
\~french Numéro du fond. 2 en mode 1, 2 ou 3 en mode 2 \~french Numéro du fond. 2 en mode 1, 2 ou 3 en mode 2
*/ */
void PA_InitMode7(u8 bg_select); void PA_InitMode7(u8 bg_select);
@ -94,10 +94,10 @@ static inline void PA_DeInitMode7(){
/*! \fn static inline void PA_Mode7Angle(s16 angle) /*! \fn static inline void PA_Mode7Angle(s16 angle)
\brief \brief
\~english Define the current angle. \~english Define the current angle.
\~french Définir l'angle \~french Définir l'angle
\~\param angle \~\param angle
\~english The angle ranges from 0 to 511... \~english The angle ranges from 0 to 511...
\~french L'angle, qui va de 0 à 511... \~french L'angle, qui va de 0 à 511...
*/ */
static inline void PA_Mode7Angle(s16 angle){ static inline void PA_Mode7Angle(s16 angle){
@ -111,10 +111,10 @@ static inline void PA_Mode7Angle(s16 angle){
/*! \fn static inline void PA_Mode7MoveLeftRight(s16 x_deplac) /*! \fn static inline void PA_Mode7MoveLeftRight(s16 x_deplac)
\brief \brief
\~english Move lateraly, so left or right... \~english Move lateraly, so left or right...
\~french Se déplacer latéralement \~french Se déplacer latéralement
\~\param x_deplac \~\param x_deplac
\~english Number of pixels to move left or right \~english Number of pixels to move left or right
\~french De combien de pixels se déplacer à gauche ou à droite \~french De combien de pixels se déplacer à gauche ou à droite
*/ */
static inline void PA_Mode7MoveLeftRight(s16 x_deplac){ static inline void PA_Mode7MoveLeftRight(s16 x_deplac){
@ -126,10 +126,10 @@ static inline void PA_Mode7MoveLeftRight(s16 x_deplac){
/*! \fn static inline void PA_Mode7MoveForwardBack(s16 z_deplac) /*! \fn static inline void PA_Mode7MoveForwardBack(s16 z_deplac)
\brief \brief
\~english Move forward or backwards \~english Move forward or backwards
\~french Se déplacer latéralement \~french Se déplacer latéralement
\~\param z_deplac \~\param z_deplac
\~english Number of pixels to move forward or backwards \~english Number of pixels to move forward or backwards
\~french De combien se déplacer en avant ou en arrière \~french De combien se déplacer en avant ou en arrière
*/ */
static inline void PA_Mode7MoveForwardBack(s16 z_deplac){ static inline void PA_Mode7MoveForwardBack(s16 z_deplac){
@ -142,7 +142,7 @@ static inline void PA_Mode7MoveForwardBack(s16 z_deplac){
/*! \fn static inline void PA_Mode7X(s16 mode7x) /*! \fn static inline void PA_Mode7X(s16 mode7x)
\brief \brief
\~english Move to a given point on the map \~english Move to a given point on the map
\~french Se déplacer en un point donné de la carte \~french Se déplacer en un point donné de la carte
\~\param mode7x \~\param mode7x
\~english X position on the map \~english X position on the map
\~french Position X sur la carte \~french Position X sur la carte
@ -156,7 +156,7 @@ static inline void PA_Mode7X(s16 mode7x){
/*! \fn static inline void PA_Mode7Z(s16 mode7z) /*! \fn static inline void PA_Mode7Z(s16 mode7z)
\brief \brief
\~english Move to a given point on the map \~english Move to a given point on the map
\~french Se déplacer en un point donné de la carte \~french Se déplacer en un point donné de la carte
\~\param mode7z \~\param mode7z
\~english Z position on the map \~english Z position on the map
\~french Position Z sur la carte \~french Position Z sur la carte
@ -169,7 +169,7 @@ static inline void PA_Mode7Z(s16 mode7z){
/*! \fn static inline void PA_Mode7SetPointXZ(s16 mode7x, s16 mode7z) /*! \fn static inline void PA_Mode7SetPointXZ(s16 mode7x, s16 mode7z)
\brief \brief
\~english Move to a given point on the map (of coordinates x, z) \~english Move to a given point on the map (of coordinates x, z)
\~french Se déplacer en un point donné de la carte (de coordonnées x, z) \~french Se déplacer en un point donné de la carte (de coordonnées x, z)
\~\param mode7x \~\param mode7x
\~english X position on the map \~english X position on the map
\~french Position X sur la carte \~french Position X sur la carte
@ -186,10 +186,10 @@ static inline void PA_Mode7SetPointXZ(s16 mode7x, s16 mode7z){
/*! \fn static inline void PA_Mode7Height(s16 mode7y) /*! \fn static inline void PA_Mode7Height(s16 mode7y)
\brief \brief
\~english Set the camera height. \~english Set the camera height.
\~french Régler la hauteur de la caméra \~french Régler la hauteur de la caméra
\~\param mode7y \~\param mode7y
\~english Camera Height. By default, 8192. You can set this from 0 to 40 000 (or even more, but then it gets a little small... \~english Camera Height. By default, 8192. You can set this from 0 to 40 000 (or even more, but then it gets a little small...
\~french Hauteur... Par défaut, elle est de 8192. On peut la mettre de 0 à 40 000 (ou beaucoup plus, mais après ca commence à faire petit... \~french Hauteur... Par défaut, elle est de 8192. On peut la mettre de 0 à 40 000 (ou beaucoup plus, mais après ca commence à faire petit...
*/ */
static inline void PA_Mode7Height(s16 mode7y){ static inline void PA_Mode7Height(s16 mode7y){

View File

@ -11,7 +11,7 @@ void PA_LoadSpriteExtPal(u8 screen, u16 palette_number, void* palette);
*/ */
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// Système pour les palettes // Système pour les palettes
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
#define PAL_BG0 0x05000000 #define PAL_BG0 0x05000000
#define PAL_SPRITE0 0x05000200 #define PAL_SPRITE0 0x05000200
@ -28,10 +28,10 @@ void PA_LoadSpriteExtPal(u8 screen, u16 palette_number, void* palette);
/*! \def PA_LoadPal(palette, source) /*! \def PA_LoadPal(palette, source)
\brief \brief
\~english Load a 256 color palette in the Bg or Sprite palette of screen 0 or 1. Ex : PA_LoadPal(PALETTE_BG1, bg_pal); \~english Load a 256 color palette in the Bg or Sprite palette of screen 0 or 1. Ex : PA_LoadPal(PALETTE_BG1, bg_pal);
\~french Charger une palette de 256 couleurs pour les fonds ou les sprites pour l'écran 0 ou 1. Ex : PA_LoadPal(PALETTE_BG1, bg_pal); \~french Charger une palette de 256 couleurs pour les fonds ou les sprites pour l'écran 0 ou 1. Ex : PA_LoadPal(PALETTE_BG1, bg_pal);
\~\param palette \~\param palette
\~english Set the Bg palette or Obj palette, screen 0 or 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, or PAL_SPRITE1 \~english Set the Bg palette or Obj palette, screen 0 or 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, or PAL_SPRITE1
\~french Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1 \~french Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1
\~\param source \~\param source
\~english Palette name (ex : master_Palette) \~english Palette name (ex : master_Palette)
\~french Nom de la palette (ex : master_Palette) \~french Nom de la palette (ex : master_Palette)
@ -65,13 +65,13 @@ static inline void PA_Load8bitBgPal(u8 screen, void *Pal){
/*! \def PA_LoadPal16(palette, n_palette, source) /*! \def PA_LoadPal16(palette, n_palette, source)
\brief \brief
\~english Load a 16 color palette in the Bg or Sprite palette of screen 0 or 1. Ex : PA_LoadPal16(PALETTE_BG1, 4, bg_pal); \~english Load a 16 color palette in the Bg or Sprite palette of screen 0 or 1. Ex : PA_LoadPal16(PALETTE_BG1, 4, bg_pal);
\~french Charger une palette de 16 couleurs pour les fonds ou les sprites pour l'écran 0 ou 1. Ex : PA_LoadPal16(PALETTE_BG1, 4, bg_pal); \~french Charger une palette de 16 couleurs pour les fonds ou les sprites pour l'écran 0 ou 1. Ex : PA_LoadPal16(PALETTE_BG1, 4, bg_pal);
\~\param palette \~\param palette
\~english Set the Bg palette or Obj palette, screen 0 or 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, or PAL_SPRITE1 \~english Set the Bg palette or Obj palette, screen 0 or 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, or PAL_SPRITE1
\~french Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1 \~french Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1
\~\param n_palette \~\param n_palette
\~english Number of the 16 color palette to load (0-15) \~english Number of the 16 color palette to load (0-15)
\~french Numéro de la palette de 16 couleurs que l'on veut charger (0-15) \~french Numéro de la palette de 16 couleurs que l'on veut charger (0-15)
\~\param source \~\param source
\~english Palette name (ex : master_Palette) \~english Palette name (ex : master_Palette)
@ -91,7 +91,7 @@ static inline void PA_Load8bitBgPal(u8 screen, void *Pal){
\~french Ecran (0-1) \~french Ecran (0-1)
\~\param n_palette \~\param n_palette
\~english Number of the 16 color palette to load (0-15) \~english Number of the 16 color palette to load (0-15)
\~french Numéro de la palette de 16 couleurs que l'on veut charger (0-15) \~french Numéro de la palette de 16 couleurs que l'on veut charger (0-15)
\~\param palette \~\param palette
\~english Palette name (ex : Sprite_Pal) \~english Palette name (ex : Sprite_Pal)
@ -102,7 +102,7 @@ static inline void PA_Load8bitBgPal(u8 screen, void *Pal){
/*! \def PA_RGB(r,g,b) /*! \def PA_RGB(r,g,b)
\brief \brief
\~english Convert Red, Green, and Blue color indexes into a number used in the palette system. Careful : the R, G, B values range from 0 to 31 on gba ! \~english Convert Red, Green, and Blue color indexes into a number used in the palette system. Careful : the R, G, B values range from 0 to 31 on gba !
\~french Convertir une couleurs au format Rouge, Vert, Bleu en un nombre utilisable par le système de palette. Attention : sur Gba, les valeurs vont de 0 à 31... \~french Convertir une couleurs au format Rouge, Vert, Bleu en un nombre utilisable par le système de palette. Attention : sur Gba, les valeurs vont de 0 à 31...
\~\param r \~\param r
\~english Red (0-31) \~english Red (0-31)
\~french Rouge (0-31) \~french Rouge (0-31)
@ -119,54 +119,54 @@ static inline void PA_Load8bitBgPal(u8 screen, void *Pal){
/*! \fn void PA_SetBrightness(u8 screen, s8 bright) /*! \fn void PA_SetBrightness(u8 screen, s8 bright)
\brief \brief
\~english Set the screen's brightness \~english Set the screen's brightness
\~french Régler la luminosité de l'écran \~french Régler la luminosité de l'écran
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bright \~\param bright
\~english Brightness level, from -32 to 32, 0 being neutral \~english Brightness level, from -32 to 32, 0 being neutral
\~french Luminosité, de -32 à 32, 0 étant neutre \~french Luminosité, de -32 à 32, 0 étant neutre
*/ */
void PA_SetBrightness(u8 screen, s8 bright); void PA_SetBrightness(u8 screen, s8 bright);
/*! \fn static inline void PA_SetPalNeg(u32 palette) /*! \fn static inline void PA_SetPalNeg(u32 palette)
\brief \brief
\~english Set all the palette's color to negative. To undo this, simply negative again... \~english Set all the palette's color to negative. To undo this, simply negative again...
\~french Négativer une palette donnée. Pour annuler, il suffit de négativer à nouveau. \~french Négativer une palette donnée. Pour annuler, il suffit de négativer à nouveau.
\~\param palette \~\param palette
\~english Set the Bg palette or Obj palette, screen 0 or 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, or PAL_SPRITE1 \~english Set the Bg palette or Obj palette, screen 0 or 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, or PAL_SPRITE1
\~french Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1 \~french Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1
*/ */
static inline void PA_SetPalNeg(u32 palette) { static inline void PA_SetPalNeg(u32 palette) {
u16* pal = (u16*)palette; u16* pal = (u16*)palette;
int i; int i;
for (i = 0; i < 256; i++) pal[i] = ~pal[i]; // On fout le négatif... for (i = 0; i < 256; i++) pal[i] = ~pal[i]; // On fout le négatif...
} }
/*! \fn static inline void PA_SetPal16Neg(u32 palette, u8 n_palette) /*! \fn static inline void PA_SetPal16Neg(u32 palette, u8 n_palette)
\brief \brief
\~english Set 16 color palette to negative. To undo this, simply negative again... \~english Set 16 color palette to negative. To undo this, simply negative again...
\~french Négativer une palette de 16 couleurs donnée. Pour annuler, il suffit de négativer à nouveau. \~french Négativer une palette de 16 couleurs donnée. Pour annuler, il suffit de négativer à nouveau.
\~\param palette \~\param palette
\~english Set the Bg palette or Obj palette, screen 0 or 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, or PAL_SPRITE1 \~english Set the Bg palette or Obj palette, screen 0 or 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, or PAL_SPRITE1
\~french Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1 \~french Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1
\~\param n_palette \~\param n_palette
\~english Number of the 16 color palette (0-15) \~english Number of the 16 color palette (0-15)
\~french Numéro de la palette de 16 couleurs (0-15) \~french Numéro de la palette de 16 couleurs (0-15)
*/ */
static inline void PA_SetPal16Neg(u32 palette, u8 n_palette) { static inline void PA_SetPal16Neg(u32 palette, u8 n_palette) {
u16* pal = (u16*)palette; u16* pal = (u16*)palette;
int i; int i;
for (i = (n_palette << 4); i < ((n_palette + 1) << 4); i++) pal[i] = ~pal[i]; // On fout le négatif... for (i = (n_palette << 4); i < ((n_palette + 1) << 4); i++) pal[i] = ~pal[i]; // On fout le négatif...
} }
/*! \fn void PA_InitSpriteExtPal() /*! \fn void PA_InitSpriteExtPal()
\brief \brief
\~english Initialise 16 palette mode for 256 color sprites. Done by default \~english Initialise 16 palette mode for 256 color sprites. Done by default
\~french Initialise le mode 16 palettes pour sprites de 256 couleurs... Effectué par défaut \~french Initialise le mode 16 palettes pour sprites de 256 couleurs... Effectué par défaut
*/ */
void PA_InitSpriteExtPal(); void PA_InitSpriteExtPal();
@ -187,10 +187,10 @@ void PA_InitBgExtPal();
\~french Ecran... \~french Ecran...
\~\param palette_number \~\param palette_number
\~english Palette number (0-15) \~english Palette number (0-15)
\~french Numéro de la palette (0-15) \~french Numéro de la palette (0-15)
\~\param palette \~\param palette
\~english Palette to load ((void*)palette_name) \~english Palette to load ((void*)palette_name)
\~french Nom de la palette à charger ((void*)nom_palette) \~french Nom de la palette à charger ((void*)nom_palette)
*/ */
static inline void PA_LoadSpritePal(u8 screen, u8 palette_number, void* palette){ static inline void PA_LoadSpritePal(u8 screen, u8 palette_number, void* palette){
PA_LoadSpriteExtPal(screen, palette_number, palette); PA_LoadSpriteExtPal(screen, palette_number, palette);
@ -199,19 +199,19 @@ static inline void PA_LoadSpritePal(u8 screen, u8 palette_number, void* palette)
/*! \fn PA_LoadBgPalN(u8 screen, u8 bg_number, u8 pal_number, void* palette) /*! \fn PA_LoadBgPalN(u8 screen, u8 bg_number, u8 pal_number, void* palette)
\brief \brief
\~english Load a 256 color palette in the Background palettes, to a given slot \~english Load a 256 color palette in the Background palettes, to a given slot
\~french Charger une palette de 256 couleurs dans les palettes des fonds, à un slot donné \~french Charger une palette de 256 couleurs dans les palettes des fonds, à un slot donné
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond (0-3) \~french Numéro du fond (0-3)
\~\param pal_number \~\param pal_number
\~english Palette number \~english Palette number
\~french Numéro de palette \~french Numéro de palette
\~\param palette \~\param palette
\~english Palette to load ((void*)palette_name) \~english Palette to load ((void*)palette_name)
\~french Nom de la palette à charger ((void*)nom_palette) \~french Nom de la palette à charger ((void*)nom_palette)
*/ */
void PA_LoadBgPalN(u8 screen, u8 bg_number, u8 pal_number, void* palette); void PA_LoadBgPalN(u8 screen, u8 bg_number, u8 pal_number, void* palette);
@ -224,10 +224,10 @@ void PA_LoadBgPalN(u8 screen, u8 bg_number, u8 pal_number, void* palette);
\~french Ecran... \~french Ecran...
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond (0-3) \~french Numéro du fond (0-3)
\~\param palette \~\param palette
\~english Palette to load ((void*)palette_name) \~english Palette to load ((void*)palette_name)
\~french Nom de la palette à charger ((void*)nom_palette) \~french Nom de la palette à charger ((void*)nom_palette)
*/ */
static inline void PA_LoadBgPal(u8 screen, u16 bg_number, void* palette){ static inline void PA_LoadBgPal(u8 screen, u16 bg_number, void* palette){
PA_LoadBgPalN(screen, bg_number, 0, palette); PA_LoadBgPalN(screen, bg_number, 0, palette);
@ -242,13 +242,13 @@ static inline void PA_LoadBgPal(u8 screen, u16 bg_number, void* palette){
\~french Ecran... \~french Ecran...
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond (0-3) \~french Numéro du fond (0-3)
\~\param pal_number \~\param pal_number
\~english Palette number (0-15) \~english Palette number (0-15)
\~french Numéro de la palette (0-15) \~french Numéro de la palette (0-15)
\~\param palette \~\param palette
\~english Palette to load ((void*)palette_name) \~english Palette to load ((void*)palette_name)
\~french Nom de la palette à charger ((void*)nom_palette) \~french Nom de la palette à charger ((void*)nom_palette)
*/ */
void PA_LoadBgPalN(u8 screen, u8 bg_number, u8 pal_number, void* palette); void PA_LoadBgPalN(u8 screen, u8 bg_number, u8 pal_number, void* palette);
@ -262,7 +262,7 @@ void PA_LoadBgPalN(u8 screen, u8 bg_number, u8 pal_number, void* palette);
\~french Ecran... \~french Ecran...
\~\param color_number \~\param color_number
\~english Color number in palette (0-255) \~english Color number in palette (0-255)
\~french Numéro de la couleur dans la palette (0-255) \~french Numéro de la couleur dans la palette (0-255)
\~\param colorRGB \~\param colorRGB
\~english RGB value, like PA_RGB(31, 31, 31) for white \~english RGB value, like PA_RGB(31, 31, 31) for white
\~french Valeur RGB, comme PA_RGB(31, 31, 31) pour blanc \~french Valeur RGB, comme PA_RGB(31, 31, 31) pour blanc
@ -278,13 +278,13 @@ void PA_LoadBgPalN(u8 screen, u8 bg_number, u8 pal_number, void* palette);
\~french Ecran... \~french Ecran...
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond (0-3) \~french Numéro du fond (0-3)
\~\param pal_number \~\param pal_number
\~english Palette number (0-15). Leave to 0 if unsure \~english Palette number (0-15). Leave to 0 if unsure
\~french Numéro de palette (0-15), laisser à 0 si pas sur... \~french Numéro de palette (0-15), laisser à 0 si pas sur...
\~\param color_number \~\param color_number
\~english Color number in palette (0-255) \~english Color number in palette (0-255)
\~french Numéro de la couleur dans la palette (0-255) \~french Numéro de la couleur dans la palette (0-255)
\~\param color \~\param color
\~english RGB value, like PA_RGB(31, 31, 31) for white \~english RGB value, like PA_RGB(31, 31, 31) for white
\~french Valeur RGB, comme PA_RGB(31, 31, 31) pour blanc \~french Valeur RGB, comme PA_RGB(31, 31, 31) pour blanc
@ -294,7 +294,7 @@ void PA_SetBgPalNCol(u8 screen, u8 bg_number, u8 pal_number, u8 color_number, u1
/*! \fn static inline void PA_SetBgColor(u8 screen, u16 color) /*! \fn static inline void PA_SetBgColor(u8 screen, u16 color)
\brief \brief
\~english Change the background color of a given screen \~english Change the background color of a given screen
\~french Changer la couleur de fond d'un écran \~french Changer la couleur de fond d'un écran
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
@ -309,16 +309,16 @@ static inline void PA_SetBgColor(u8 screen, u16 color){
/*! \fn void PA_SetSpritePalCol(u8 screen, u8 pal_number, u8 color_number, u16 color) /*! \fn void PA_SetSpritePalCol(u8 screen, u8 pal_number, u8 color_number, u16 color)
\brief \brief
\~english Changes a color in a sprite palette \~english Changes a color in a sprite palette
\~french Changer la couleur de fond d'un écran \~french Changer la couleur de fond d'un écran
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param pal_number \~\param pal_number
\~english Palette number \~english Palette number
\~french Numéro de la palette \~french Numéro de la palette
\~\param color_number \~\param color_number
\~english Color in the palette \~english Color in the palette
\~french Numéro de la couleur \~french Numéro de la couleur
\~\param color \~\param color
\~english Color (given by PA_RGB...) \~english Color (given by PA_RGB...)
\~french Couleur (venant de PA_RGB...) \~french Couleur (venant de PA_RGB...)

View File

@ -27,7 +27,7 @@
/*! \def PA_DualLoadPal(palette, source) /*! \def PA_DualLoadPal(palette, source)
\brief \brief
\~english Load a 256 color palette in the Bg or Sprite palette of both screens \~english Load a 256 color palette in the Bg or Sprite palette of both screens
\~french Charger une palette de 256 couleurs pour les fonds ou les sprites pour les 2 écrans \~french Charger une palette de 256 couleurs pour les fonds ou les sprites pour les 2 écrans
\~\param palette \~\param palette
\~english Set the Bg palette or Sprite palette : PAL_BG or PAL_SPRITE \~english Set the Bg palette or Sprite palette : PAL_BG or PAL_SPRITE
\~french Charger pour les Bg ou les Sprites : PAL_BG ou PAL_SPRITE \~french Charger pour les Bg ou les Sprites : PAL_BG ou PAL_SPRITE
@ -49,13 +49,13 @@
/*! \def PA_DualLoadPal16(palette, n_palette, source) /*! \def PA_DualLoadPal16(palette, n_palette, source)
\brief \brief
\~english Load a 16 color palette in the Bg or Sprite palette of both screens \~english Load a 16 color palette in the Bg or Sprite palette of both screens
\~french Charger une palette de 16 couleurs pour les fonds ou les sprites pour les deux écrans \~french Charger une palette de 16 couleurs pour les fonds ou les sprites pour les deux écrans
\~\param palette \~\param palette
\~english Set the Bg palette or Obj palette : PAL_BG or PAL_SPRITE \~english Set the Bg palette or Obj palette : PAL_BG or PAL_SPRITE
\~french Charger pour les Bg ou les Sprites : PAL_BG ou PAL_SPRITE \~french Charger pour les Bg ou les Sprites : PAL_BG ou PAL_SPRITE
\~\param n_palette \~\param n_palette
\~english Number of the 16 color palette to load (0-15) \~english Number of the 16 color palette to load (0-15)
\~french Numéro de la palette de 16 couleurs que l'on veut charger (0-15) \~french Numéro de la palette de 16 couleurs que l'on veut charger (0-15)
\~\param source \~\param source
\~english Palette name (ex : master_Palette) \~english Palette name (ex : master_Palette)
@ -73,7 +73,7 @@
/*! \fn static inline void PA_DualSetPalNeg(u32 palette) /*! \fn static inline void PA_DualSetPalNeg(u32 palette)
\brief \brief
\~english Set all the palette's color to negative. To undo this, simply negative again... \~english Set all the palette's color to negative. To undo this, simply negative again...
\~french Négativer une palette donnée. Pour annuler, il suffit de négativer à nouveau. \~french Négativer une palette donnée. Pour annuler, il suffit de négativer à nouveau.
\~\param palette \~\param palette
\~english Set the Bg palette or Obj palette : PAL_BG, PAL_SPRITE \~english Set the Bg palette or Obj palette : PAL_BG, PAL_SPRITE
\~french Charger pour les Bg ou les Sprites : PAL_BG, PAL_SPRITE \~french Charger pour les Bg ou les Sprites : PAL_BG, PAL_SPRITE
@ -82,7 +82,7 @@ static inline void PA_DualSetPalNeg(u32 palette) {
u16* pal = (u16*)palette; u16* pal = (u16*)palette;
int i; int i;
for (i = 0; i < 256; i++) { for (i = 0; i < 256; i++) {
pal[i+512] = pal[i] = ~pal[i]; // On fout le négatif... pal[i+512] = pal[i] = ~pal[i]; // On fout le négatif...
} }
} }
@ -92,19 +92,19 @@ static inline void PA_DualSetPalNeg(u32 palette) {
/*! \fn static inline void PA_DualSetPal16Neg(u32 palette, u8 n_palette) /*! \fn static inline void PA_DualSetPal16Neg(u32 palette, u8 n_palette)
\brief \brief
\~english Set 16 color palette to negative. To undo this, simply negative again... \~english Set 16 color palette to negative. To undo this, simply negative again...
\~french Négativer une palette de 16 couleurs donnée. Pour annuler, il suffit de négativer à nouveau. \~french Négativer une palette de 16 couleurs donnée. Pour annuler, il suffit de négativer à nouveau.
\~\param palette \~\param palette
\~english Set the Bg palette or Obj palette : PAL_BG, PAL_SPRITE \~english Set the Bg palette or Obj palette : PAL_BG, PAL_SPRITE
\~french Charger pour les Bg ou les Sprites : PAL_BG, PAL_SPRITE \~french Charger pour les Bg ou les Sprites : PAL_BG, PAL_SPRITE
\~\param n_palette \~\param n_palette
\~english Number of the 16 color palette (0-15) \~english Number of the 16 color palette (0-15)
\~french Numéro de la palette de 16 couleurs (0-15) \~french Numéro de la palette de 16 couleurs (0-15)
*/ */
static inline void PA_DualSetPal16Neg(u32 palette, u8 n_palette) { static inline void PA_DualSetPal16Neg(u32 palette, u8 n_palette) {
u16* pal = (u16*)palette; u16* pal = (u16*)palette;
int i; int i;
for (i = (n_palette << 4); i < ((n_palette + 1) << 4); i++) { for (i = (n_palette << 4); i < ((n_palette + 1) << 4); i++) {
pal[i+512] = pal[i] = ~pal[i]; // On fout le négatif... pal[i+512] = pal[i] = ~pal[i]; // On fout le négatif...
} }
} }
@ -114,10 +114,10 @@ static inline void PA_DualSetPal16Neg(u32 palette, u8 n_palette) {
\~french Charger une palette de 256 couleurs dans les palettes des sprites \~french Charger une palette de 256 couleurs dans les palettes des sprites
\~\param palette_number \~\param palette_number
\~english Palette number (0-15) \~english Palette number (0-15)
\~french Numéro de la palette (0-15) \~french Numéro de la palette (0-15)
\~\param palette \~\param palette
\~english Palette to load ((void*)palette_name) \~english Palette to load ((void*)palette_name)
\~french Nom de la palette à charger ((void*)nom_palette) \~french Nom de la palette à charger ((void*)nom_palette)
*/ */
static inline void PA_DualLoadSpritePal(u8 palette_number, void* palette){ static inline void PA_DualLoadSpritePal(u8 palette_number, void* palette){
PA_LoadSpriteExtPal(0, palette_number, palette); PA_LoadSpriteExtPal(0, palette_number, palette);
@ -130,10 +130,10 @@ static inline void PA_DualLoadSpritePal(u8 palette_number, void* palette){
\~french Charger une palette de 256 couleurs pour un fond \~french Charger une palette de 256 couleurs pour un fond
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond (0-3) \~french Numéro du fond (0-3)
\~\param palette \~\param palette
\~english Palette to load ((void*)palette_name) \~english Palette to load ((void*)palette_name)
\~french Nom de la palette à charger ((void*)nom_palette) \~french Nom de la palette à charger ((void*)nom_palette)
*/ */
static inline void PA_DualLoadBgPal(u8 bg_number, void* palette){ static inline void PA_DualLoadBgPal(u8 bg_number, void* palette){
PA_LoadBgPal(0, bg_number, palette); PA_LoadBgPal(0, bg_number, palette);
@ -143,7 +143,7 @@ static inline void PA_DualLoadBgPal(u8 bg_number, void* palette){
/*! \fn static inline void PA_DualSetBgColor(u16 color) /*! \fn static inline void PA_DualSetBgColor(u16 color)
\brief \brief
\~english Change the background color of both screens \~english Change the background color of both screens
\~french Changer la couleur de fond des 2 écrans \~french Changer la couleur de fond des 2 écrans
\~\param color \~\param color
\~english RGB value, like PA_RGB(31, 31, 31) for white \~english RGB value, like PA_RGB(31, 31, 31) for white
\~french Valeur RGB, comme PA_RGB(31, 31, 31) pour blanc \~french Valeur RGB, comme PA_RGB(31, 31, 31) pour blanc

View File

@ -58,7 +58,7 @@ extern PA_FormType PA_CustomShape[200];
\fn char PA_CheckLetter() \fn char PA_CheckLetter()
\brief \brief
\~english Analyzes the drawn shape and returns a letter according to it. 0 if nothing. The drawn shape's string is copied into PA_RecoShape on Stylus Release. You can find a copy of the current letters used here : http://www.palib.info/Reco/PAGraffiti.gif \~english Analyzes the drawn shape and returns a letter according to it. 0 if nothing. The drawn shape's string is copied into PA_RecoShape on Stylus Release. You can find a copy of the current letters used here : http://www.palib.info/Reco/PAGraffiti.gif
\~french Analyse la forme et renvoie une lettre correspondante. 0 si rien. La chaine représentative de la forme est copiée dans PA_RecoShape au Stylus Release. Copie des images dispos : http://www.palib.info/Reco/PAGraffiti.gif \~french Analyse la forme et renvoie une lettre correspondante. 0 si rien. La chaine représentative de la forme est copiée dans PA_RecoShape au Stylus Release. Copie des images dispos : http://www.palib.info/Reco/PAGraffiti.gif
*/ */
char PA_CheckLetter(); char PA_CheckLetter();
@ -66,13 +66,13 @@ char PA_CheckLetter();
\fn static inline void PA_RecoAddShape(char letter, char *shape) \fn static inline void PA_RecoAddShape(char letter, char *shape)
\brief \brief
\~english Adds a new shape to the recognition system \~english Adds a new shape to the recognition system
\~french Ajouter une nouvelle forme au système de reconnaissance \~french Ajouter une nouvelle forme au système de reconnaissance
\~\param letter \~\param letter
\~english Letter it will return for that shape (you can use any thing, even a number from 1 to 255) \~english Letter it will return for that shape (you can use any thing, even a number from 1 to 255)
\~french Lettre renvoyée par le système de reconnaissance pour cette forme (peut être n'imorte quelle lettre, ou un nombre de 1 à 255) \~french Lettre renvoyée par le système de reconnaissance pour cette forme (peut être n'imorte quelle lettre, ou un nombre de 1 à 255)
\~\param shape \~\param shape
\~english 15 characters string given by the recognition system in PA_RecoShape \~english 15 characters string given by the recognition system in PA_RecoShape
\~french Chaine de 15 caractères fournie par le systeme de reconnaissance in PA_RecoShape \~french Chaine de 15 caractères fournie par le systeme de reconnaissance in PA_RecoShape
*/ */
static inline void PA_RecoAddShape(char letter, char *shape){ static inline void PA_RecoAddShape(char letter, char *shape){
PA_CustomShape[PA_CustomReco].letter = letter; PA_CustomShape[PA_CustomReco].letter = letter;
@ -86,7 +86,7 @@ static inline void PA_RecoAddShape(char letter, char *shape){
\fn static inline void PA_ResetRecoSys(void) \fn static inline void PA_ResetRecoSys(void)
\brief \brief
\~english Resets the Recognition system \~english Resets the Recognition system
\~french Réinitialise le systeme de reconnaissance \~french Réinitialise le systeme de reconnaissance
*/ */
static inline void PA_ResetRecoSys(){ static inline void PA_ResetRecoSys(){
PA_CustomReco = 0; PA_CustomReco = 0;
@ -97,7 +97,7 @@ static inline void PA_ResetRecoSys(){
\fn static inline void PA_UsePAGraffiti(u8 use) \fn static inline void PA_UsePAGraffiti(u8 use)
\brief \brief
\~english Set on or off the PA Graffiti letters. You'll want to turn them off if you plan on using your own shapes.... \~english Set on or off the PA Graffiti letters. You'll want to turn them off if you plan on using your own shapes....
\~french Activer ou désactiver les lettres PA Graffiti. On voudra le désactiver quand on veut utiliser uniquement ses propres formes \~french Activer ou désactiver les lettres PA Graffiti. On voudra le désactiver quand on veut utiliser uniquement ses propres formes
\~\param use \~\param use
\~english 1/0, on/off... \~english 1/0, on/off...
\~french 1/0, on/off... \~french 1/0, on/off...

View File

@ -22,13 +22,13 @@ extern "C" {
\~french Utiliser le Programmable Sound Generator \~french Utiliser le Programmable Sound Generator
\param PA_Channel \param PA_Channel
\~english Audio channel, from 8 to 15 \~english Audio channel, from 8 to 15
\~french Canal audio, de 8 à 15 \~french Canal audio, de 8 à 15
\param vol \param vol
\~english Volume (0-127) \~english Volume (0-127)
\~french Volume (0-127) \~french Volume (0-127)
\param freq \param freq
\~english Frenquency \~english Frenquency
\~french Fréquence \~french Fréquence
\param duty \param duty
\~english Duty (0-7) \~english Duty (0-7)
\~french Duty (0-7) \~french Duty (0-7)

View File

@ -31,33 +31,33 @@
/*! \def PA_EnableBgMosaic(screen, bg) /*! \def PA_EnableBgMosaic(screen, bg)
\brief \brief
\~english Enable the mosaic effect for a given background \~english Enable the mosaic effect for a given background
\~french Activer l'effet de mosaic pour un fond donné \~french Activer l'effet de mosaic pour un fond donné
\~\param screen \~\param screen
\~english Background screen (0 or 1) \~english Background screen (0 or 1)
\~french Ecran du bg (0 ou 1) \~french Ecran du bg (0 ou 1)
\~\param bg \~\param bg
\~english Background number \~english Background number
\~french Numéro du fond \~french Numéro du fond
*/ */
#define PA_EnableBgMosaic(screen, bg) _REG16(REG_BGCNT(screen, bg)) |= (1 << 6) #define PA_EnableBgMosaic(screen, bg) _REG16(REG_BGCNT(screen, bg)) |= (1 << 6)
/*! \def PA_DisableBgMosaic(screen, bg) /*! \def PA_DisableBgMosaic(screen, bg)
\brief \brief
\~english Disable the mosaic effect for a given background \~english Disable the mosaic effect for a given background
\~french Désactiver l'effet de mosaic pour un fond donné \~french Désactiver l'effet de mosaic pour un fond donné
\~\param screen \~\param screen
\~english Background screen (0 or 1) \~english Background screen (0 or 1)
\~french Ecran du bg (0 ou 1) \~french Ecran du bg (0 ou 1)
\~\param bg \~\param bg
\~english Background number \~english Background number
\~french Numéro du fond \~french Numéro du fond
*/ */
#define PA_DisableBgMosaic(screen, bg) _REG16(REG_BGCNT(screen, bg)) &= ~(1 << 6) #define PA_DisableBgMosaic(screen, bg) _REG16(REG_BGCNT(screen, bg)) &= ~(1 << 6)
/*! \def PA_SetBgMosaicXY(screen, h_size, v_size) /*! \def PA_SetBgMosaicXY(screen, h_size, v_size)
\brief \brief
\~english Set the Mosaic parameters for the backgrounds \~english Set the Mosaic parameters for the backgrounds
\~french Régler les paramètres de la mosaic pour les fonds \~french Régler les paramètres de la mosaic pour les fonds
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
@ -74,7 +74,7 @@
/*! \def PA_SetSpriteMosaicXY(screen, h_size, v_size) /*! \def PA_SetSpriteMosaicXY(screen, h_size, v_size)
\brief \brief
\~english Set the Mosaic parameters for the sprites \~english Set the Mosaic parameters for the sprites
\~french Régler les paramètres de la mosaic pour les sprites \~french Régler les paramètres de la mosaic pour les sprites
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
@ -96,20 +96,20 @@
\~french Ecran... \~french Ecran...
\~\param EffectType \~\param EffectType
\~english Effect Type. 0 for non, 1 for alpha-blending, 2 for brightness increase, and 3 for brightness decrease. You can use the macros SFX_NONE, SFX_ALPHA, SFX_BRIGHTINC, SFX_BRIGHTDEC \~english Effect Type. 0 for non, 1 for alpha-blending, 2 for brightness increase, and 3 for brightness decrease. You can use the macros SFX_NONE, SFX_ALPHA, SFX_BRIGHTINC, SFX_BRIGHTDEC
\~french Type d'effet. 0 pour aucun, 1 pour transparence, 2 pour augmentation de la luminosité, et 3 pour diminution de celle-ci... On peut utiliser les macors SFX_NONE, SFX_ALPHA, SFX_BRIGHTINC, SFX_BRIGHTDEC \~french Type d'effet. 0 pour aucun, 1 pour transparence, 2 pour augmentation de la luminosité, et 3 pour diminution de celle-ci... On peut utiliser les macors SFX_NONE, SFX_ALPHA, SFX_BRIGHTINC, SFX_BRIGHTDEC
\~\param FirstTarget \~\param FirstTarget
\~english Backgrounds and sprites for which to activate the effect. Use the following macro : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (back drop) \~english Backgrounds and sprites for which to activate the effect. Use the following macro : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (back drop)
\~french Fond et sprites à afficher aevc l'effet spécial, que l'on choisi de la facon suivante : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (back drop) \~french Fond et sprites à afficher aevc l'effet spécial, que l'on choisi de la facon suivante : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (back drop)
\~\param SecondTarget \~\param SecondTarget
\~english Backgrounds and sprites to be seen behind the alpha-blending. Use the following macro : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (back drop) \~english Backgrounds and sprites to be seen behind the alpha-blending. Use the following macro : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (back drop)
\~french Fond et sprites à afficher derrière la transparence, que l'on choisi de la facon suivante : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (back drop) \~french Fond et sprites à afficher derrière la transparence, que l'on choisi de la facon suivante : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (back drop)
*/ */
#define PA_EnableSpecialFx(screen, EffectType, FirstTarget, SecondTarget) PA_REG_BLDCNT(screen) = ((FirstTarget) + ((SecondTarget) << 8) + ((EffectType) << 6)) #define PA_EnableSpecialFx(screen, EffectType, FirstTarget, SecondTarget) PA_REG_BLDCNT(screen) = ((FirstTarget) + ((SecondTarget) << 8) + ((EffectType) << 6))
/*! \def PA_DisableSpecialFx(screen) /*! \def PA_DisableSpecialFx(screen)
\brief \brief
\~english Disable Special Effects \~english Disable Special Effects
\~french Désactiver les Effets Speciaux \~french Désactiver les Effets Speciaux
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
@ -119,16 +119,16 @@
/*! \def PA_SetSFXAlpha(screen, Coeff1, Coeff2) /*! \def PA_SetSFXAlpha(screen, Coeff1, Coeff2)
\brief \brief
\~english Set the special effect parameters for Alpha-Blending \~english Set the special effect parameters for Alpha-Blending
\~french Régler les paramètres pour l'Alpha-Blending \~french Régler les paramètres pour l'Alpha-Blending
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param Coeff1 \~\param Coeff1
\~english Coefficient for the first layer, from 0 to 31. Apparently, it's better to set between 0 and 16 \~english Coefficient for the first layer, from 0 to 31. Apparently, it's better to set between 0 and 16
\~french Coefficient pour la première couche, de 0 à 31. A priori vaut mieux le mettre entre 0 et 16 \~french Coefficient pour la première couche, de 0 à 31. A priori vaut mieux le mettre entre 0 et 16
\~\param Coeff2 \~\param Coeff2
\~english Coefficient for the second layer, from 0 to 31. Apparently, it's better to set between 0 and 16 \~english Coefficient for the second layer, from 0 to 31. Apparently, it's better to set between 0 and 16
\~french Coefficient pour la deuxième couche, de 0 à 31. A priori vaut mieux le mettre entre 0 et 16 \~french Coefficient pour la deuxième couche, de 0 à 31. A priori vaut mieux le mettre entre 0 et 16
*/ */
#define PA_SetSFXAlpha(screen, Coeff1, Coeff2) PA_REG_BLDALPHA(screen) = (Coeff1) + ((Coeff2) << 8) #define PA_SetSFXAlpha(screen, Coeff1, Coeff2) PA_REG_BLDALPHA(screen) = (Coeff1) + ((Coeff2) << 8)

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@ extern s16 DualSpriteX[128];
/*! \fn static inline void PA_SetScreenSpace(s16 ScreenSpace) /*! \fn static inline void PA_SetScreenSpace(s16 ScreenSpace)
\brief \brief
\~english Set the space between the 2 screens for the Dual Fonctions. 48 pixels by default \~english Set the space between the 2 screens for the Dual Fonctions. 48 pixels by default
\~french Désigner l'espace entre les 2 écrans, 48 pixels par défaut \~french Désigner l'espace entre les 2 écrans, 48 pixels par défaut
\~\param ScreenSpace \~\param ScreenSpace
\~english Space in pixels \~english Space in pixels
\~french Espace en pixels \~french Espace en pixels
@ -31,10 +31,10 @@ static inline void PA_SetScreenSpace(s16 ScreenSpace){
/*! \fn static inline void PA_DualSetSpriteX(u8 obj, s16 x) /*! \fn static inline void PA_DualSetSpriteX(u8 obj, s16 x)
\brief \brief
\~english Set the X position of a sprite on screen \~english Set the X position of a sprite on screen
\~french Position X du sprite à l'écran \~french Position X du sprite à l'écran
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param x \~\param x
\~english X position \~english X position
\~french Position X \~french Position X
@ -47,10 +47,10 @@ static inline void PA_DualSetSpriteX(u8 obj, s16 x){
/*! \fn static inline void PA_DualSetSpriteY(u8 obj, s16 y) /*! \fn static inline void PA_DualSetSpriteY(u8 obj, s16 y)
\brief \brief
\~english Set the Y position of a sprite on screen \~english Set the Y position of a sprite on screen
\~french Position Y du sprite à l'écran \~french Position Y du sprite à l'écran
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param y \~\param y
\~english Y position \~english Y position
\~french Position Y \~french Position Y
@ -71,10 +71,10 @@ static inline void PA_DualSetSpriteY(u8 obj, s16 y){
/*! \fn static inline void PA_DualSetSpriteXY(u8 sprite, s16 x, s16 y) /*! \fn static inline void PA_DualSetSpriteXY(u8 sprite, s16 x, s16 y)
\brief \brief
\~english Set the X and Y position of a sprite on screen \~english Set the X and Y position of a sprite on screen
\~french Position X et Y du sprite à l'écran \~french Position X et Y du sprite à l'écran
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param x \~\param x
\~english X position \~english X position
\~french Position Y \~french Position Y
@ -90,16 +90,16 @@ static inline void PA_DualSetSpriteXY(u8 sprite, s16 x, s16 y) {
/*! \fn static inline void PA_DualCreateSprite(u8 obj_number, void* obj_data, u8 obj_shape, u8 obj_size, u8 color_mode, u8 palette, s16 x, s16 y) /*! \fn static inline void PA_DualCreateSprite(u8 obj_number, void* obj_data, u8 obj_shape, u8 obj_size, u8 color_mode, u8 palette, s16 x, s16 y)
\brief \brief
\~english Create a sprite with it's gfx, on 2 screens \~english Create a sprite with it's gfx, on 2 screens
\~french Creer un sprite avec ses gfxsur les 2 écrans \~french Creer un sprite avec ses gfxsur les 2 écrans
\~\param obj_number \~\param obj_number
\~english Object number you want to use (0-127 for each screen seperately). \~english Object number you want to use (0-127 for each screen seperately).
\~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment). \~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment).
\~\param obj_data \~\param obj_data
\~english Gfx to load \~english Gfx to load
\~french Gfx à charger \~french Gfx à charger
\~\param obj_shape \~\param obj_shape
\~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
\~\param obj_size \~\param obj_size
\~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
@ -108,7 +108,7 @@ static inline void PA_DualSetSpriteXY(u8 sprite, s16 x, s16 y) {
\~french Mode 256 ou 16 couleurs (1 ou 0). \~french Mode 256 ou 16 couleurs (1 ou 0).
\~\param palette \~\param palette
\~english Palette to use (0-15). \~english Palette to use (0-15).
\~french Palette à utiliser (0-15). \~french Palette à utiliser (0-15).
\~\param x \~\param x
\~english X position of the sprite \~english X position of the sprite
\~french Position X du sprite \~french Position X du sprite
@ -128,13 +128,13 @@ static inline void PA_DualCreateSprite(u8 obj_number, void* obj_data, u8 obj_sha
\~french Creer un sprite avec ses gfx... Ceci est la version complexe de la fonction \~french Creer un sprite avec ses gfx... Ceci est la version complexe de la fonction
\~\param obj_number \~\param obj_number
\~english Object number you want to use (0-127 for each screen seperately). \~english Object number you want to use (0-127 for each screen seperately).
\~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment). \~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment).
\~\param obj_data \~\param obj_data
\~english Gfx to load \~english Gfx to load
\~french Gfx à charger \~french Gfx à charger
\~\param obj_shape \~\param obj_shape
\~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
\~\param obj_size \~\param obj_size
\~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
@ -143,22 +143,22 @@ static inline void PA_DualCreateSprite(u8 obj_number, void* obj_data, u8 obj_sha
\~french Mode 256 ou 16 couleurs (1 ou 0). \~french Mode 256 ou 16 couleurs (1 ou 0).
\~\param palette \~\param palette
\~english Palette to use (0-15). \~english Palette to use (0-15).
\~french Palette à utiliser (0-15). \~french Palette à utiliser (0-15).
\~\param obj_mode \~\param obj_mode
\~english Object mode (normal, transparent, window). Not functionnal yet, please leave to 0 for now \~english Object mode (normal, transparent, window). Not functionnal yet, please leave to 0 for now
\~french Mode du sprite (normal, transparent, fenetre). Pas encore opérationnel, laisser à 0... \~french Mode du sprite (normal, transparent, fenetre). Pas encore opérationnel, laisser à 0...
\~\param mosaic \~\param mosaic
\~english Activate Mosaic for the sprite or not. Not yet functionnal either :p \~english Activate Mosaic for the sprite or not. Not yet functionnal either :p
\~french Activer le mode mosaique pour ce sprite. Pas encore au point... \~french Activer le mode mosaique pour ce sprite. Pas encore au point...
\~\param hflip \~\param hflip
\~english Horizontal flip on or off... \~english Horizontal flip on or off...
\~french Flip horizontal activé ou non. \~french Flip horizontal activé ou non.
\~\param vflip \~\param vflip
\~english Vertical flip... \~english Vertical flip...
\~french Flip vertical... \~french Flip vertical...
\~\param prio \~\param prio
\~english Sprite priority regarding backgrounds : in front of which background to show it (0-3) \~english Sprite priority regarding backgrounds : in front of which background to show it (0-3)
\~french Priorité du sprite vis-à-vis des fonds : devant quel fond l'afficher... (0-3) \~french Priorité du sprite vis-à-vis des fonds : devant quel fond l'afficher... (0-3)
\~\param dblsize \~\param dblsize
\~english Double the possible sprite size. Activate only if you are going to rotate and zoom in the sprite \~english Double the possible sprite size. Activate only if you are going to rotate and zoom in the sprite
\~french Doubler la taille possible du sprite. A activer uniquement si on compte grossir et faire tourner le sprite \~french Doubler la taille possible du sprite. A activer uniquement si on compte grossir et faire tourner le sprite
@ -181,13 +181,13 @@ static inline void PA_DualCreateSpriteEx(u8 obj_number, void* obj_data, u8 obj_s
\~french Creer un sprite de 16 bits avec ses gfx... Ceci est la version complexe de la fonction. Attention : un sprite de 16 bits DOIT etre large de 128 pixels, meme si ce sprite ne prend qu'une petite partie sur la gauche \~french Creer un sprite de 16 bits avec ses gfx... Ceci est la version complexe de la fonction. Attention : un sprite de 16 bits DOIT etre large de 128 pixels, meme si ce sprite ne prend qu'une petite partie sur la gauche
\~\param obj_number \~\param obj_number
\~english Object number you want to use (0-127 for each screen seperately). \~english Object number you want to use (0-127 for each screen seperately).
\~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment). \~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment).
\~\param obj_data \~\param obj_data
\~english Gfx to load \~english Gfx to load
\~french Gfx à charger \~french Gfx à charger
\~\param obj_shape \~\param obj_shape
\~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
\~\param obj_size \~\param obj_size
\~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
@ -196,13 +196,13 @@ static inline void PA_DualCreateSpriteEx(u8 obj_number, void* obj_data, u8 obj_s
\~french Activer le mode mosaique pour ce sprite. Pas encore au point... \~french Activer le mode mosaique pour ce sprite. Pas encore au point...
\~\param hflip \~\param hflip
\~english Horizontal flip on or off... \~english Horizontal flip on or off...
\~french Flip horizontal activé ou non. \~french Flip horizontal activé ou non.
\~\param vflip \~\param vflip
\~english Vertical flip... \~english Vertical flip...
\~french Flip vertical... \~french Flip vertical...
\~\param prio \~\param prio
\~english Sprite priority regarding backgrounds : in front of which background to show it (0-3) \~english Sprite priority regarding backgrounds : in front of which background to show it (0-3)
\~french Priorité du sprite vis-à-vis des fonds : devant quel fond l'afficher... (0-3) \~french Priorité du sprite vis-à-vis des fonds : devant quel fond l'afficher... (0-3)
\~\param dblsize \~\param dblsize
\~english Double the possible sprite size. Activate only if you are going to rotate and zoom in the sprite \~english Double the possible sprite size. Activate only if you are going to rotate and zoom in the sprite
\~french Doubler la taille possible du sprite. A activer uniquement si on compte grossir et faire tourner le sprite \~french Doubler la taille possible du sprite. A activer uniquement si on compte grossir et faire tourner le sprite
@ -236,13 +236,13 @@ static inline void PA_DualCreate16bitSpriteEx(u8 obj_number, void* obj_data, u8
\~french Creer un sprite de 16 bits avec ses gfx... Ceci est la version simple de la fonction. Attention : un sprite de 16 bits DOIT etre large de 128 pixels, meme si ce sprite ne prend qu'une petite partie sur la gauche \~french Creer un sprite de 16 bits avec ses gfx... Ceci est la version simple de la fonction. Attention : un sprite de 16 bits DOIT etre large de 128 pixels, meme si ce sprite ne prend qu'une petite partie sur la gauche
\~\param obj_number \~\param obj_number
\~english Object number you want to use (0-127 for each screen seperately). \~english Object number you want to use (0-127 for each screen seperately).
\~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment). \~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment).
\~\param obj_data \~\param obj_data
\~english Gfx to load \~english Gfx to load
\~french Gfx à charger \~french Gfx à charger
\~\param obj_shape \~\param obj_shape
\~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
\~\param obj_size \~\param obj_size
\~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
@ -263,13 +263,13 @@ static inline void PA_DualCreate16bitSprite(u8 obj_number, void* obj_data, u8 ob
\~french Creer un sprite avec ses gfx... Ceci est la version simple de la fonction \~french Creer un sprite avec ses gfx... Ceci est la version simple de la fonction
\~\param obj_number \~\param obj_number
\~english Object number you want to use (0-127 for each screen seperately). \~english Object number you want to use (0-127 for each screen seperately).
\~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment). \~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment).
\~\param obj_gfx \~\param obj_gfx
\~english Memory gfx to use. Get it by using PA_GetSpriteGfx or PA_CreateGfx \~english Memory gfx to use. Get it by using PA_GetSpriteGfx or PA_CreateGfx
\~french Gfx en mémoire à utiliser. On peut en avoir avec PA_GetSpriteGfx ou PA_CreateGfx \~french Gfx en mémoire à utiliser. On peut en avoir avec PA_GetSpriteGfx ou PA_CreateGfx
\~\param obj_shape \~\param obj_shape
\~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
\~\param obj_size \~\param obj_size
\~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
@ -278,7 +278,7 @@ static inline void PA_DualCreate16bitSprite(u8 obj_number, void* obj_data, u8 ob
\~french Mode 256 ou 16 couleurs (1 ou 0). \~french Mode 256 ou 16 couleurs (1 ou 0).
\~\param palette \~\param palette
\~english Palette to use (0-15). \~english Palette to use (0-15).
\~french Palette à utiliser (0-15). \~french Palette à utiliser (0-15).
\~\param x \~\param x
\~english X position of the sprite \~english X position of the sprite
\~french Position X du sprite \~french Position X du sprite
@ -298,13 +298,13 @@ static inline void PA_DualCreateSpriteFromGfx(u8 obj_number, u16 *obj_gfx, u8 ob
\~french Creer un sprite avec ses gfx... Ceci est la version complexe de la fonction \~french Creer un sprite avec ses gfx... Ceci est la version complexe de la fonction
\~\param obj_number \~\param obj_number
\~english Object number you want to use (0-127 for each screen seperately). \~english Object number you want to use (0-127 for each screen seperately).
\~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment). \~french Numéro du sprite que vous voulez utiliser (de 0 à 127 pour chaque écran séparemment).
\~\param obj_gfx \~\param obj_gfx
\~english Memory gfx to use. Get it by using PA_GetSpriteGfx or PA_CreateGfx \~english Memory gfx to use. Get it by using PA_GetSpriteGfx or PA_CreateGfx
\~french Gfx en mémoire à utiliser. On peut en avoir avec PA_GetSpriteGfx ou PA_CreateGfx \~french Gfx en mémoire à utiliser. On peut en avoir avec PA_GetSpriteGfx ou PA_CreateGfx
\~\param obj_shape \~\param obj_shape
\~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object shape, from 0 to 2. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Forme du sprite à charger, de 0 à 2. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
\~\param obj_size \~\param obj_size
\~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size... \~english Object size. Use the OBJ_SIZE_32X32 (...) macros for object shape and obj_size...
\~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille... \~french Taille du sprite. Utiliser la macro OBJ_SIZE_32X32 (...) pour charger la forme et la taille...
@ -313,22 +313,22 @@ static inline void PA_DualCreateSpriteFromGfx(u8 obj_number, u16 *obj_gfx, u8 ob
\~french Mode 256 ou 16 couleurs (1 ou 0). \~french Mode 256 ou 16 couleurs (1 ou 0).
\~\param palette \~\param palette
\~english Palette to use (0-15). \~english Palette to use (0-15).
\~french Palette à utiliser (0-15). \~french Palette à utiliser (0-15).
\~\param obj_mode \~\param obj_mode
\~english Object mode (normal, transparent, window). Not functionnal yet, please leave to 0 for now \~english Object mode (normal, transparent, window). Not functionnal yet, please leave to 0 for now
\~french Mode du sprite (normal, transparent, fenetre). Pas encore opérationnel, laisser à 0... \~french Mode du sprite (normal, transparent, fenetre). Pas encore opérationnel, laisser à 0...
\~\param mosaic \~\param mosaic
\~english Activate Mosaic for the sprite or not. Not yet functionnal either :p \~english Activate Mosaic for the sprite or not. Not yet functionnal either :p
\~french Activer le mode mosaique pour ce sprite. Pas encore au point... \~french Activer le mode mosaique pour ce sprite. Pas encore au point...
\~\param hflip \~\param hflip
\~english Horizontal flip on or off... \~english Horizontal flip on or off...
\~french Flip horizontal activé ou non. \~french Flip horizontal activé ou non.
\~\param vflip \~\param vflip
\~english Vertical flip... \~english Vertical flip...
\~french Flip vertical... \~french Flip vertical...
\~\param prio \~\param prio
\~english Sprite priority regarding backgrounds : in front of which background to show it (0-3) \~english Sprite priority regarding backgrounds : in front of which background to show it (0-3)
\~french Priorité du sprite vis-à-vis des fonds : devant quel fond l'afficher... (0-3) \~french Priorité du sprite vis-à-vis des fonds : devant quel fond l'afficher... (0-3)
\~\param dblsize \~\param dblsize
\~english Double the possible sprite size. Activate only if you are going to rotate and zoom in the sprite \~english Double the possible sprite size. Activate only if you are going to rotate and zoom in the sprite
\~french Doubler la taille possible du sprite. A activer uniquement si on compte grossir et faire tourner le sprite \~french Doubler la taille possible du sprite. A activer uniquement si on compte grossir et faire tourner le sprite
@ -349,13 +349,13 @@ static inline void PA_DualCreateSpriteExFromGfx(u8 obj_number, u16 *obj_gfx, u8
/*! \fn static inline void PA_DualUpdateSpriteGfx(u8 obj_number, void *obj_data) /*! \fn static inline void PA_DualUpdateSpriteGfx(u8 obj_number, void *obj_data)
\brief \brief
\~english Update the Gfx of a given sprite \~english Update the Gfx of a given sprite
\~french Mettre à jour les Gfx d'un sprite donné \~french Mettre à jour les Gfx d'un sprite donné
\~\param obj_number \~\param obj_number
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param obj_data \~\param obj_data
\~english Gfx to load \~english Gfx to load
\~french Graphisme à charger \~french Graphisme à charger
*/ */
static inline void PA_DualUpdateSpriteGfx(u8 obj_number, void *obj_data){ static inline void PA_DualUpdateSpriteGfx(u8 obj_number, void *obj_data){
PA_UpdateSpriteGfx(0, obj_number, obj_data); PA_UpdateSpriteGfx(0, obj_number, obj_data);
@ -366,13 +366,13 @@ static inline void PA_DualUpdateSpriteGfx(u8 obj_number, void *obj_data){
/*! \fn static inline void PA_DualUpdateGfx(u16 gfx_number, void *obj_data) /*! \fn static inline void PA_DualUpdateGfx(u16 gfx_number, void *obj_data)
\brief \brief
\~english Update the Gfx of a given sprite \~english Update the Gfx of a given sprite
\~french Mettre à jour les Gfx d'un sprite donné \~french Mettre à jour les Gfx d'un sprite donné
\~\param gfx_number \~\param gfx_number
\~english Gfx number in memory \~english Gfx number in memory
\~french Numéro du Gfx en mémoire \~french Numéro du Gfx en mémoire
\~\param obj_data \~\param obj_data
\~english Gfx to load \~english Gfx to load
\~french Graphisme à charger \~french Graphisme à charger
*/ */
static inline void PA_DualUpdateGfx(u16 gfx_number, void *obj_data){ static inline void PA_DualUpdateGfx(u16 gfx_number, void *obj_data){
PA_UpdateGfx(0, gfx_number, obj_data); PA_UpdateGfx(0, gfx_number, obj_data);
@ -382,10 +382,10 @@ static inline void PA_DualUpdateGfx(u16 gfx_number, void *obj_data){
/*! \fn static inline void PA_DualDeleteSprite(u8 obj_number) /*! \fn static inline void PA_DualDeleteSprite(u8 obj_number)
\brief \brief
\~english Delete a given sprite. If it is the only one to use it's gfx, it'll be deleted too. \~english Delete a given sprite. If it is the only one to use it's gfx, it'll be deleted too.
\~french Effacer un sprite. S'il était le seul à utiliser un gfx, il sera effacé lui aussi \~french Effacer un sprite. S'il était le seul à utiliser un gfx, il sera effacé lui aussi
\~\param obj_number \~\param obj_number
\~english Sprite number \~english Sprite number
\~french Numéro du sprite \~french Numéro du sprite
*/ */
static inline void PA_DualDeleteSprite(u8 obj_number){ static inline void PA_DualDeleteSprite(u8 obj_number){
PA_DeleteSprite(0, obj_number); PA_DeleteSprite(0, obj_number);
@ -401,7 +401,7 @@ static inline void PA_DualDeleteSprite(u8 obj_number){
\~french Sprite que l'on veut faire tourner \~french Sprite que l'on veut faire tourner
\~\param rotset \~\param rotset
\~english Rotset you want to give to that sprite (0-31). You can apparently use a rotset for multiple sprites if zoomed/rotated identically... \~english Rotset you want to give to that sprite (0-31). You can apparently use a rotset for multiple sprites if zoomed/rotated identically...
\~french Rotset que l'on veut pour un sprite donné (0-31). On peut a priori utiliser un rotset pour plusieurs sprites, s'ils sont zoomés/tournés pareil... \~french Rotset que l'on veut pour un sprite donné (0-31). On peut a priori utiliser un rotset pour plusieurs sprites, s'ils sont zoomés/tournés pareil...
*/ */
static inline void PA_DualSetSpriteRotEnable(u8 sprite, u8 rotset){ static inline void PA_DualSetSpriteRotEnable(u8 sprite, u8 rotset){
PA_SetSpriteRotEnable(0, sprite, rotset); PA_SetSpriteRotEnable(0, sprite, rotset);
@ -427,7 +427,7 @@ static inline void PA_DualSetSpriteRotDisable(u8 sprite){
\~french Faire tourner et zoomer un sprite \~french Faire tourner et zoomer un sprite
\~\param rotset \~\param rotset
\~english Rotset you want to change. To give a sprite a rotset, use PA_SetSpriteRotEnable... \~english Rotset you want to change. To give a sprite a rotset, use PA_SetSpriteRotEnable...
\~french Rotset que l'on veut changer. Pour attribuer un rotset à un sprite, utiliser PA_SetSpriteRotEnable \~french Rotset que l'on veut changer. Pour attribuer un rotset à un sprite, utiliser PA_SetSpriteRotEnable
\~\param angle \~\param angle
\~english Angle, between 0 and 512 (not 360, be carefull) \~english Angle, between 0 and 512 (not 360, be carefull)
\~french Angle, entre 0 et 512 (et non 360, attention !) \~french Angle, entre 0 et 512 (et non 360, attention !)
@ -454,7 +454,7 @@ static inline void PA_DualSetRotset(u8 rotset, s16 angle, u16 zoomx, u16 zoomy)
\~french Faire tourner un sprite sans zoomer. C'est un peu plus rapide que la fonction PA_SetRotset \~french Faire tourner un sprite sans zoomer. C'est un peu plus rapide que la fonction PA_SetRotset
\~\param rotset \~\param rotset
\~english Rotset you want to change. To give a sprite a rotset, use PA_SetSpriteRotEnable... \~english Rotset you want to change. To give a sprite a rotset, use PA_SetSpriteRotEnable...
\~french Rotset que l'on veut changer. Pour attribuer un rotset à un sprite, utiliser PA_SetSpriteRotEnable \~french Rotset que l'on veut changer. Pour attribuer un rotset à un sprite, utiliser PA_SetSpriteRotEnable
\~\param angle \~\param angle
\~english Angle, between 0 and 512 (not 360, be carefull) \~english Angle, between 0 and 512 (not 360, be carefull)
\~french Angle, entre 0 et 512 (et non 360, attention !) \~french Angle, entre 0 et 512 (et non 360, attention !)
@ -473,7 +473,7 @@ static inline void PA_DualSetRotsetNoZoom(u8 rotset, s16 angle) {
\~french Zoomer un sprite sans le faire tourner. C'est un peu plus rapide que la fonction PA_SetRotset \~french Zoomer un sprite sans le faire tourner. C'est un peu plus rapide que la fonction PA_SetRotset
\~\param rotset \~\param rotset
\~english Rotset you want to change. To give a sprite a rotset, use PA_SetSpriteRotEnable... \~english Rotset you want to change. To give a sprite a rotset, use PA_SetSpriteRotEnable...
\~french Rotset que l'on veut changer. Pour attribuer un rotset à un sprite, utiliser PA_SetSpriteRotEnable \~french Rotset que l'on veut changer. Pour attribuer un rotset à un sprite, utiliser PA_SetSpriteRotEnable
\~\param zoomx \~\param zoomx
\~english Horizontal zoom. 256 is unzoomed, 512 is 2 times smaller, and 128 twice as big... So adjust at will ! :p \~english Horizontal zoom. 256 is unzoomed, 512 is 2 times smaller, and 128 twice as big... So adjust at will ! :p
\~french Zoom horizontal. 256 est pas de zoom, 512 2 fois plus petit, et 128 2 fois plus grand... Ajuster au mieux ! :p \~french Zoom horizontal. 256 est pas de zoom, 512 2 fois plus petit, et 128 2 fois plus grand... Ajuster au mieux ! :p
@ -495,10 +495,10 @@ static inline void PA_DualSetRotsetNoAngle(u8 rotset, u16 zoomx, u16 zoomy) {
\~french Changer la palette d'un sprite \~french Changer la palette d'un sprite
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param pal \~\param pal
\~english Palette number (0 - 15) \~english Palette number (0 - 15)
\~french Numéro de la palette (de 0 à 15) \~french Numéro de la palette (de 0 à 15)
*/ */
static inline void PA_DualSetSpritePal(u8 obj, u8 pal){ static inline void PA_DualSetSpritePal(u8 obj, u8 pal){
PA_SetSpritePal(0, obj, pal); PA_SetSpritePal(0, obj, pal);
@ -508,10 +508,10 @@ static inline void PA_DualSetSpritePal(u8 obj, u8 pal){
/*! \fn static inline void PA_DualSetSpriteDblsize(u8 obj, u8 dblsize) /*! \fn static inline void PA_DualSetSpriteDblsize(u8 obj, u8 dblsize)
\brief \brief
\~english Enable or disable double size for a given sprite \~english Enable or disable double size for a given sprite
\~french Activer ou désactiver le mode Doublesize pour un sprite \~french Activer ou désactiver le mode Doublesize pour un sprite
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param dblsize \~\param dblsize
\~english 1 to enable doublesize, 0 to disable it... \~english 1 to enable doublesize, 0 to disable it...
\~french 1 pour l'activer, 0 pour l'inactiver \~french 1 pour l'activer, 0 pour l'inactiver
@ -527,7 +527,7 @@ static inline void PA_DualSetSpriteDblsize(u8 obj, u8 dblsize){
\~french Changer le mode de couleur du sprite \~french Changer le mode de couleur du sprite
\~\param sprite \~\param sprite
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param n_colors \~\param n_colors
\~english 0 for 16 colors, 1 for 256 \~english 0 for 16 colors, 1 for 256
\~french 0 pour 16 couleurs, 1 pour 256 \~french 0 pour 16 couleurs, 1 pour 256
@ -541,10 +541,10 @@ static inline void PA_DualSetSpriteColors(u8 sprite, u8 n_colors){
/*! \fn static inline void PA_DualSetSpriteMode(u8 sprite, u8 obj_mode) /*! \fn static inline void PA_DualSetSpriteMode(u8 sprite, u8 obj_mode)
\brief \brief
\~english Set the sprite's mode : 0 for normal, 1 for alpha blending, 2 for window \~english Set the sprite's mode : 0 for normal, 1 for alpha blending, 2 for window
\~french Régler le mode d'un sprite : 0 pour normal, 1 pour transparent, 2 pour fenetre \~french Régler le mode d'un sprite : 0 pour normal, 1 pour transparent, 2 pour fenetre
\~\param sprite \~\param sprite
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param obj_mode \~\param obj_mode
\~english Object mode : 0 for normal, 1 for alpha blending, 2 for window ; not working yet \~english Object mode : 0 for normal, 1 for alpha blending, 2 for window ; not working yet
\~french Mode : 0 pour normal, 1 pour transparent, 2 pour fenetre ; ne marche pas encore \~french Mode : 0 pour normal, 1 pour transparent, 2 pour fenetre ; ne marche pas encore
@ -560,10 +560,10 @@ static inline void PA_DualSetSpriteMode(u8 sprite, u8 obj_mode){
\~french Mettre ou non un sprite en mode mosaic \~french Mettre ou non un sprite en mode mosaic
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param mosaic \~\param mosaic
\~english Set mosaic on (1) or off (0) \~english Set mosaic on (1) or off (0)
\~french Mode mosaic activé (1) ou désactivé (0) \~french Mode mosaic activé (1) ou désactivé (0)
*/ */
static inline void PA_DualSetSpriteMosaic(u8 obj, u8 mosaic){ static inline void PA_DualSetSpriteMosaic(u8 obj, u8 mosaic){
PA_SetSpriteMosaic(0, obj, mosaic); PA_SetSpriteMosaic(0, obj, mosaic);
@ -576,7 +576,7 @@ static inline void PA_DualSetSpriteMosaic(u8 obj, u8 mosaic){
\~french Utiliser ou non le flip horizontal pour un sprite \~french Utiliser ou non le flip horizontal pour un sprite
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param hflip \~\param hflip
\~english Horizontal flip, 1 to enable, 0 to disable... \~english Horizontal flip, 1 to enable, 0 to disable...
\~french Flip horizontal, 1 pour oui, 0 pour non... \~french Flip horizontal, 1 pour oui, 0 pour non...
@ -592,7 +592,7 @@ static inline void PA_DualSetSpriteHflip(u8 obj, u8 hflip){
\~french Utiliser ou non le flip vertical pour un sprite \~french Utiliser ou non le flip vertical pour un sprite
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param vflip \~\param vflip
\~english Vertical flip, 1 to enable, 0 to disable... \~english Vertical flip, 1 to enable, 0 to disable...
\~french Flip vertical, 1 pour oui, 0 pour non... \~french Flip vertical, 1 pour oui, 0 pour non...
@ -605,13 +605,13 @@ static inline void PA_DualSetSpriteVflip(u8 obj, u8 vflip){
/*! \fn static inline void PA_DualSetSpriteGfx(u8 obj, u16 *gfx) /*! \fn static inline void PA_DualSetSpriteGfx(u8 obj, u16 *gfx)
\brief \brief
\~english Change the gfx used by a sprite \~english Change the gfx used by a sprite
\~french Modifier les graphismes utilisés par un sprite \~french Modifier les graphismes utilisés par un sprite
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param gfx \~\param gfx
\~english Gfx number ; you can get one by using PA_CreateGfx or PA_GetSpriteGfx(obj_number); \~english Gfx number ; you can get one by using PA_CreateGfx or PA_GetSpriteGfx(obj_number);
\~french Numéro du gfx en mémoire ; on peut obtenir un numéro avec PA_CreateGfx ou PA_GetSpriteGfx(obj_number); \~french Numéro du gfx en mémoire ; on peut obtenir un numéro avec PA_CreateGfx ou PA_GetSpriteGfx(obj_number);
*/ */
static inline void PA_DualSetSpriteGfx(u8 obj, u16 *gfx){ static inline void PA_DualSetSpriteGfx(u8 obj, u16 *gfx){
PA_SetSpriteGfx(0, obj, gfx[0]); PA_SetSpriteGfx(0, obj, gfx[0]);
@ -621,13 +621,13 @@ static inline void PA_DualSetSpriteGfx(u8 obj, u16 *gfx){
/*! \fn static inline void PA_DualSetSpritePrio(u8 obj, u8 prio) /*! \fn static inline void PA_DualSetSpritePrio(u8 obj, u8 prio)
\brief \brief
\~english Set a sprite's Background priority \~english Set a sprite's Background priority
\~french Régler la priorité d'un sprite par rapport au Bg. \~french Régler la priorité d'un sprite par rapport au Bg.
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param prio \~\param prio
\~english Sprite priority : 0 is over background 0, 1 over Bg 1, etc... (0-3) \~english Sprite priority : 0 is over background 0, 1 over Bg 1, etc... (0-3)
\~french Priorité du sprite : 0 est au-dessus du fond 0, 1 au-dessus du 1, etc... (0-3) \~french Priorité du sprite : 0 est au-dessus du fond 0, 1 au-dessus du 1, etc... (0-3)
*/ */
static inline void PA_DualSetSpritePrio(u8 obj, u8 prio){ static inline void PA_DualSetSpritePrio(u8 obj, u8 prio){
PA_SetSpritePrio(0, obj, prio); PA_SetSpritePrio(0, obj, prio);
@ -637,13 +637,13 @@ static inline void PA_DualSetSpritePrio(u8 obj, u8 prio){
/*! \fn static inline void PA_DualCloneSprite(u8 obj, u8 target) /*! \fn static inline void PA_DualCloneSprite(u8 obj, u8 target)
\brief \brief
\~english Clone a sprite. Works only for sprites on the same screen \~english Clone a sprite. Works only for sprites on the same screen
\~french Cloner un sprite. Marche uniquement pour les sprites sur un meme écran \~french Cloner un sprite. Marche uniquement pour les sprites sur un meme écran
\~\param obj \~\param obj
\~english Object number in the sprite system \~english Object number in the sprite system
\~french Numéro de l'objet dans le systeme de sprite \~french Numéro de l'objet dans le systeme de sprite
\~\param target \~\param target
\~english Target sprite to clone \~english Target sprite to clone
\~french Numéro de la cible à cloner \~french Numéro de la cible à cloner
*/ */
static inline void PA_DualCloneSprite(u8 obj, u8 target){ static inline void PA_DualCloneSprite(u8 obj, u8 target){
PA_CloneSprite(0, obj, target); PA_CloneSprite(0, obj, target);
@ -653,10 +653,10 @@ static inline void PA_DualCloneSprite(u8 obj, u8 target){
/*! \fn static inline void PA_DualSetSpriteAnimEx(u8 sprite, u8 lx, u8 ly, u8 ncolors, s16 animframe) /*! \fn static inline void PA_DualSetSpriteAnimEx(u8 sprite, u8 lx, u8 ly, u8 ncolors, s16 animframe)
\brief \brief
\~english Set the animation frame for a given sprite. This function is faster than the normal PA_SetSpriteAnim because it doesn't have to lookup the sprite dimensions... \~english Set the animation frame for a given sprite. This function is faster than the normal PA_SetSpriteAnim because it doesn't have to lookup the sprite dimensions...
\~french Régler l'image du sprite dans l'animation. Cette fonction est plus rapide que PA_SetSpriteAnim parce qu'elle n'a pas à rechercher les dimensions du sprite \~french Régler l'image du sprite dans l'animation. Cette fonction est plus rapide que PA_SetSpriteAnim parce qu'elle n'a pas à rechercher les dimensions du sprite
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param lx \~\param lx
\~english Sprite width (8, 16, 32, 64) \~english Sprite width (8, 16, 32, 64)
\~french Largeur du sprite (8, 16, 32, 64) \~french Largeur du sprite (8, 16, 32, 64)
@ -678,10 +678,10 @@ static inline void PA_DualSetSpriteAnimEx(u8 sprite, u8 lx, u8 ly, u8 ncolors, s
/*! \fn static inline void PA_DualSetSpriteAnim(u8 sprite, s16 animframe) /*! \fn static inline void PA_DualSetSpriteAnim(u8 sprite, s16 animframe)
\brief \brief
\~english Set the animation frame for a given sprite. Same as PA_SetSpriteAnimEx, but a bit slower and easier to use... \~english Set the animation frame for a given sprite. Same as PA_SetSpriteAnimEx, but a bit slower and easier to use...
\~french Régler l'image du sprite dans l'animation. Identique à PA_SetSpriteAnimEx, mais plus simple à utiliser, par contre plus lent \~french Régler l'image du sprite dans l'animation. Identique à PA_SetSpriteAnimEx, mais plus simple à utiliser, par contre plus lent
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param animframe \~\param animframe
\~english Sprite animation frame (0, 1, 2, etc...) \~english Sprite animation frame (0, 1, 2, etc...)
\~french Frame de l'animation du sprite (0, 1, 2, etc...) \~french Frame de l'animation du sprite (0, 1, 2, etc...)
@ -696,25 +696,25 @@ static inline void PA_DualSetSpriteAnim(u8 sprite, s16 animframe){
/*! \fn static inline void PA_DualStartSpriteAnimEx(u8 sprite, s16 firstframe, s16 lastframe, s16 speed, u8 type, s16 ncycles) /*! \fn static inline void PA_DualStartSpriteAnimEx(u8 sprite, s16 firstframe, s16 lastframe, s16 speed, u8 type, s16 ncycles)
\brief \brief
\~english Start a sprite animation for DualSprites. Once started, it continues on and on by itself until you stop it ! \~english Start a sprite animation for DualSprites. Once started, it continues on and on by itself until you stop it !
\~french Démarre une animation de sprite pour DualSprites. Une fois démarrée, elle continue tant qu'on ne l'arrête pas ! \~french Démarre une animation de sprite pour DualSprites. Une fois démarrée, elle continue tant qu'on ne l'arrête pas !
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param firstframe \~\param firstframe
\~english First frame of the animation sequence, most of the time 0... \~english First frame of the animation sequence, most of the time 0...
\~french Premières image de l'animation, généralement 0.... \~french Premières image de l'animation, généralement 0....
\~\param lastframe \~\param lastframe
\~english Last frame to be displayed. When it gets there, it loops back to the first frame \~english Last frame to be displayed. When it gets there, it loops back to the first frame
\~french Dernière image à afficher. Une fois atteinte, ca retourne à la première \~french Dernière image à afficher. Une fois atteinte, ca retourne à la première
\~\param speed \~\param speed
\~english Speed, in frames per second. So speed 1 would mean 1 image per second, so 1 image every game frame \~english Speed, in frames per second. So speed 1 would mean 1 image per second, so 1 image every game frame
\~french Vitesse, en frames par seconde (fps). 1 signifie donc 1 image par seconde... \~french Vitesse, en frames par seconde (fps). 1 signifie donc 1 image par seconde...
\~\param type \~\param type
\~english Defines how you want it to loop. ANIM_LOOP (0) for a normal loop, ANIM_UPDOWN (1) for back and forth animation. \~english Defines how you want it to loop. ANIM_LOOP (0) for a normal loop, ANIM_UPDOWN (1) for back and forth animation.
\~french Défini de quelle manière on veut boucler. ANIM_LOOP (0) pour normal, et ANIM_UPDOWN (1) pour d'avant en arrière \~french Défini de quelle manière on veut boucler. ANIM_LOOP (0) pour normal, et ANIM_UPDOWN (1) pour d'avant en arrière
\~\param ncycles \~\param ncycles
\~english Number of animation cycles before stopping. If using ANIM_UPDOWN, it takes 2 cycles to come back to the original image \~english Number of animation cycles before stopping. If using ANIM_UPDOWN, it takes 2 cycles to come back to the original image
\~french Nombres de cycles d'animations avant l'arrêt. Si on utilise ANIM_UPDOWN, il faut 2 cycles pour que l'animation revienne à l'image de base \~french Nombres de cycles d'animations avant l'arrêt. Si on utilise ANIM_UPDOWN, il faut 2 cycles pour que l'animation revienne à l'image de base
*/ */
static inline void PA_DualStartSpriteAnimEx(u8 sprite, s16 firstframe, s16 lastframe, s16 speed, u8 type, s16 ncycles){ static inline void PA_DualStartSpriteAnimEx(u8 sprite, s16 firstframe, s16 lastframe, s16 speed, u8 type, s16 ncycles){
PA_StartSpriteAnimEx(0, sprite, firstframe, lastframe, speed, type, ncycles); PA_StartSpriteAnimEx(0, sprite, firstframe, lastframe, speed, type, ncycles);
@ -724,16 +724,16 @@ static inline void PA_DualStartSpriteAnimEx(u8 sprite, s16 firstframe, s16 lastf
/*! \fn static inline void PA_DualStartSpriteAnim(u8 sprite, s16 firstframe, s16 lastframe, s16 speed) /*! \fn static inline void PA_DualStartSpriteAnim(u8 sprite, s16 firstframe, s16 lastframe, s16 speed)
\brief \brief
\~english Start a sprite animation for DualSprite. Once started, it continues on and on by itself until you stop it ! \~english Start a sprite animation for DualSprite. Once started, it continues on and on by itself until you stop it !
\~french Démarre une animation de sprite pour DualSprite. Une fois démarrée, elle continue tant qu'on ne l'arrête pas ! \~french Démarre une animation de sprite pour DualSprite. Une fois démarrée, elle continue tant qu'on ne l'arrête pas !
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param firstframe \~\param firstframe
\~english First frame of the animation sequence, most of the time 0... \~english First frame of the animation sequence, most of the time 0...
\~french Premières image de l'animation, généralement 0.... \~french Premières image de l'animation, généralement 0....
\~\param lastframe \~\param lastframe
\~english Last frame to be displayed. When it gets there, it loops back to the first frame \~english Last frame to be displayed. When it gets there, it loops back to the first frame
\~french Dernière image à afficher. Une fois atteinte, ca retourne à la première \~french Dernière image à afficher. Une fois atteinte, ca retourne à la première
\~\param speed \~\param speed
\~english Speed, in frames per second. So speed 1 would mean 1 image per second, so 1 image every game frame \~english Speed, in frames per second. So speed 1 would mean 1 image per second, so 1 image every game frame
\~french Vitesse, en frames par seconde (fps). 1 signifie donc 1 image par seconde... \~french Vitesse, en frames par seconde (fps). 1 signifie donc 1 image par seconde...
@ -746,10 +746,10 @@ static inline void PA_DualStartSpriteAnim(u8 sprite, s16 firstframe, s16 lastfra
/*! \fn static inline void PA_DualStopSpriteAnim(u8 sprite) /*! \fn static inline void PA_DualStopSpriteAnim(u8 sprite)
\brief \brief
\~english Stop a sprite animation for DualSprites \~english Stop a sprite animation for DualSprites
\~french Arrêter une animation de sprite pour les DualSprites \~french Arrêter une animation de sprite pour les DualSprites
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
*/ */
static inline void PA_DualStopSpriteAnim(u8 sprite){ static inline void PA_DualStopSpriteAnim(u8 sprite){
PA_StopSpriteAnim(0, sprite); PA_StopSpriteAnim(0, sprite);
@ -759,13 +759,13 @@ static inline void PA_DualStopSpriteAnim(u8 sprite){
/*! \fn static inline void PA_DualSetSpriteAnimFrame(u8 sprite, u16 frame) /*! \fn static inline void PA_DualSetSpriteAnimFrame(u8 sprite, u16 frame)
\brief \brief
\~english Set the current animation frame number for DualSprites \~english Set the current animation frame number for DualSprites
\~french Changer le numéro actuel de la frame d'animation pour les DualSprites \~french Changer le numéro actuel de la frame d'animation pour les DualSprites
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param frame \~\param frame
\~english Frame number to use... \~english Frame number to use...
\~french Numéro de frame... \~french Numéro de frame...
*/ */
static inline void PA_DualSetSpriteAnimFrame(u8 sprite, u16 frame){ static inline void PA_DualSetSpriteAnimFrame(u8 sprite, u16 frame){
PA_SetSpriteAnimFrame(0, sprite, frame); PA_SetSpriteAnimFrame(0, sprite, frame);
@ -775,10 +775,10 @@ static inline void PA_DualSetSpriteAnimFrame(u8 sprite, u16 frame){
/*! \fn static inline u16 PA_DualGetSpriteAnimFrame(u8 sprite) /*! \fn static inline u16 PA_DualGetSpriteAnimFrame(u8 sprite)
\brief \brief
\~english Returns the current animation frame number for DualSprites \~english Returns the current animation frame number for DualSprites
\~french Renvoie le numéro actuel de la frame d'animation pour les DualSprites \~french Renvoie le numéro actuel de la frame d'animation pour les DualSprites
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
*/ */
static inline u16 PA_DualGetSpriteAnimFrame(u8 sprite){ static inline u16 PA_DualGetSpriteAnimFrame(u8 sprite){
return spriteanims[0][sprite].currentframe; return spriteanims[0][sprite].currentframe;
@ -790,7 +790,7 @@ static inline u16 PA_DualGetSpriteAnimFrame(u8 sprite){
\~french Changer la vitesse de l'animation pour les DualSprites \~french Changer la vitesse de l'animation pour les DualSprites
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param speed \~\param speed
\~english Speed, in fps... \~english Speed, in fps...
\~french Vitesse, en fps... \~french Vitesse, en fps...
@ -806,7 +806,7 @@ static inline void PA_DualSetSpriteAnimSpeed(u8 sprite, s16 speed){
\~french Renvoie la vitesse de l'animation pour les DualSprites \~french Renvoie la vitesse de l'animation pour les DualSprites
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
*/ */
static inline u16 PA_DualGetSpriteAnimSpeed(u8 sprite){ static inline u16 PA_DualGetSpriteAnimSpeed(u8 sprite){
return spriteanims[0][sprite].speed; return spriteanims[0][sprite].speed;
@ -818,7 +818,7 @@ static inline u16 PA_DualGetSpriteAnimSpeed(u8 sprite){
\~french Mettre en Pause en remettre en lecture une animation de sprite pour les DualSprites \~french Mettre en Pause en remettre en lecture une animation de sprite pour les DualSprites
\~\param sprite \~\param sprite
\~english sprite number in the sprite system \~english sprite number in the sprite system
\~french Numéro du sprite dans le systeme de sprite \~french Numéro du sprite dans le systeme de sprite
\~\param pause \~\param pause
\~english 1 for pause, 0 for unpause \~english 1 for pause, 0 for unpause
\~french 1 pour pause, 0 pour reprendre la lecture... \~french 1 pour pause, 0 pour reprendre la lecture...

View File

@ -46,17 +46,17 @@ void PA_PrintYPlus(u8 screen);
#define TEXT_BLACK 9 #define TEXT_BLACK 9
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// Système pour le texte // Système pour le texte
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
extern u16 textcol[2]; // Garde en mémoire la couleur du texte extern u16 textcol[2]; // Garde en mémoire la couleur du texte
extern u8 PAbgtext[2]; extern u8 PAbgtext[2];
extern u16 *PA_textmap[2]; //Pointeur vers la map et les tiles... extern u16 *PA_textmap[2]; //Pointeur vers la map et les tiles...
extern u8 *PA_texttiles[2]; extern u8 *PA_texttiles[2];
extern u16 *PA_textpal[2]; extern u16 *PA_textpal[2];
extern s8 PA_font[2]; // 0 pour normal, 1 pour dégradé, -1 pour custom extern s8 PA_font[2]; // 0 pour normal, 1 pour dégradé, -1 pour custom
extern const u8 *textData[10]; extern const u8 *textData[10];
extern u8 policeheight[10]; extern u8 policeheight[10];
@ -95,10 +95,10 @@ extern textborders PA_TextBox[2];
\~french Charger et initialiser le texte. Ne marche qu'en modes 0-2 \~french Charger et initialiser le texte. Ne marche qu'en modes 0-2
\~\param screen \~\param screen
\~english Choose the screen (0 or 1) \~english Choose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
*/ */
void PA_LoadDefaultText(u8 screen, u8 bg_select); void PA_LoadDefaultText(u8 screen, u8 bg_select);
@ -107,16 +107,16 @@ void PA_LoadDefaultText(u8 screen, u8 bg_select);
/*! \def PA_SetTileLetter(screen, x, y, letter) /*! \def PA_SetTileLetter(screen, x, y, letter)
\brief \brief
\~english Output a letter on the DS screen. \~english Output a letter on the DS screen.
\~french Ecrire une lettre à l'écran. \~french Ecrire une lettre à l'écran.
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X coordinate in TILES (0-31) where to write the letter \~english X coordinate in TILES (0-31) where to write the letter
\~french Coordonnée X en TILES (0-31) afficher la lettre \~french Coordonnée X en TILES (0-31) afficher la lettre
\~\param y \~\param y
\~english Y coordinate in TILES (0-19) where to write the letter \~english Y coordinate in TILES (0-19) where to write the letter
\~french Coordonnée Y en TILES (0-19) afficher la lettre \~french Coordonnée Y en TILES (0-19) afficher la lettre
\~\param letter \~\param letter
\~english Letter... 'a', 'Z', etc... \~english Letter... 'a', 'Z', etc...
\~french Lettre... 'a', 'Z', etc... \~french Lettre... 'a', 'Z', etc...
@ -128,13 +128,13 @@ void PA_LoadDefaultText(u8 screen, u8 bg_select);
/*! \fn static inline void PA_SetTextTileCol(u8 screen, u8 color) /*! \fn static inline void PA_SetTextTileCol(u8 screen, u8 color)
\brief \brief
\~english Change the text writing color (does not change the current text's color) \~english Change the text writing color (does not change the current text's color)
\~french Change la couleur du texte à écrire (ne change pas la couleur du texte déjà écrit) \~french Change la couleur du texte à écrire (ne change pas la couleur du texte déjà écrit)
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param color \~\param color
\~english Color, from 0 to 6, just test to see the result... \~english Color, from 0 to 6, just test to see the result...
\~french Couleur de 0 à 6, suffit de tester pour voir le résultat :) \~french Couleur de 0 à 6, suffit de tester pour voir le résultat :)
*/ */
static inline void PA_SetTextTileCol(u8 screen, u8 color){ static inline void PA_SetTextTileCol(u8 screen, u8 color){
PAtext_pal[screen] = color; PAtext_pal[screen] = color;
@ -143,94 +143,94 @@ static inline void PA_SetTextTileCol(u8 screen, u8 color){
/*! \fn void PA_OutputText(u8 screen, u16 x, u16 y, const char* text, ...) /*! \fn void PA_OutputText(u8 screen, u16 x, u16 y, const char* text, ...)
\brief \brief
\~english Output text on the DS screen. Works only in modes 0-2 \~english Output text on the DS screen. Works only in modes 0-2
\~french Ecrire du texte à l'écran. Ne marche qu'en modes 0-2 \~french Ecrire du texte à l'écran. Ne marche qu'en modes 0-2
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X coordinate in TILES (0-31) where to begin writing the text \~english X coordinate in TILES (0-31) where to begin writing the text
\~french Coordonnée X en TILES (0-31) commencer à afficher le text \~french Coordonnée X en TILES (0-31) commencer à afficher le text
\~\param y \~\param y
\~english Y coordinate in TILES (0-19) where to begin writing the text \~english Y coordinate in TILES (0-19) where to begin writing the text
\~french Coordonnée Y en TILES (0-19) commencer à afficher le text \~french Coordonnée Y en TILES (0-19) commencer à afficher le text
\~\param text \~\param text
\~english String to output. The following commands are avaiblable : \%s to output another string, \%d to output a value, \%fX to output a float with X digits, \\n to go to the line. Here's an example : PA_OutputText(0, 0, 1, "My name is %s and I have only %d teeth", "Mollusk", 20); \~english String to output. The following commands are avaiblable : \%s to output another string, \%d to output a value, \%fX to output a float with X digits, \\n to go to the line. Here's an example : PA_OutputText(0, 0, 1, "My name is %s and I have only %d teeth", "Mollusk", 20);
\~french Chaine de caractère à écrire. On dispose des commandes suivantes : \%s pour une autre chaine de caractères, \%d pour écrire la valeur d'une variables, \%fX pour afficher un nombre avec X chiffres après la virgule, \\n pour aller à la ligne. Voici un exemple : PA_OutputText(0, 0, 1, "Mon nom est %s et je n'ai que %d dents...", "Mollusk", 20); \~french Chaine de caractère à écrire. On dispose des commandes suivantes : \%s pour une autre chaine de caractères, \%d pour écrire la valeur d'une variables, \%fX pour afficher un nombre avec X chiffres après la virgule, \\n pour aller à la ligne. Voici un exemple : PA_OutputText(0, 0, 1, "Mon nom est %s et je n'ai que %d dents...", "Mollusk", 20);
*/ */
void PA_OutputText(u8 screen, u16 x, u16 y, const char* text, ...); void PA_OutputText(u8 screen, u16 x, u16 y, const char* text, ...);
/*! \fn u16 PA_OutputSimpleText(u8 screen, u16 x, u16 y, const char *text) /*! \fn u16 PA_OutputSimpleText(u8 screen, u16 x, u16 y, const char *text)
\brief \brief
\~english Output simple text on the DS screen. Works only in modes 0-2. Much faster than PA_OutputText, but much more limited... Returns the number of letters \~english Output simple text on the DS screen. Works only in modes 0-2. Much faster than PA_OutputText, but much more limited... Returns the number of letters
\~french Ecrire du texte tout simple à l'écran. Ne marche qu'en modes 0-2. Beaucoup plus rapide que PA_OutputText, masi aussi beaucoup plus limité... Renvoie le nombre de lettres \~french Ecrire du texte tout simple à l'écran. Ne marche qu'en modes 0-2. Beaucoup plus rapide que PA_OutputText, masi aussi beaucoup plus limité... Renvoie le nombre de lettres
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x \~\param x
\~english X coordinate in TILES (0-31) where to begin writing the text \~english X coordinate in TILES (0-31) where to begin writing the text
\~french Coordonnée X en TILES (0-31) commencer à afficher le text \~french Coordonnée X en TILES (0-31) commencer à afficher le text
\~\param y \~\param y
\~english Y coordinate in TILES (0-19) where to begin writing the text \~english Y coordinate in TILES (0-19) where to begin writing the text
\~french Coordonnée Y en TILES (0-19) commencer à afficher le text \~french Coordonnée Y en TILES (0-19) commencer à afficher le text
\~\param text \~\param text
\~english String to output. \~english String to output.
\~french Chaine de caractère à écrire. \~french Chaine de caractère à écrire.
*/ */
u16 PA_OutputSimpleText(u8 screen, u16 x, u16 y, const char *text); u16 PA_OutputSimpleText(u8 screen, u16 x, u16 y, const char *text);
/*! \fn u32 PA_BoxText(u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit) /*! \fn u32 PA_BoxText(u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit)
\brief \brief
\~english Output text on the DS screen. This text is limited to a chosen box, and you can chose the number of letters to output (can be used to show 'typed' text, just put 10000 if you want to show all the text...). Returns the number of letters outputed \~english Output text on the DS screen. This text is limited to a chosen box, and you can chose the number of letters to output (can be used to show 'typed' text, just put 10000 if you want to show all the text...). Returns the number of letters outputed
\~french Permet d'écrire du texte à l'écran, dans une boite délimitée au choix, et en choisissant le nombre de lettres à afficher (peut être utile pour afficher du texte en train de se taper, sinon suffit de mettre 10000 pour afficher tout d'un coup) Renvoie le nmobre de lettre écrites \~french Permet d'écrire du texte à l'écran, dans une boite délimitée au choix, et en choisissant le nombre de lettres à afficher (peut être utile pour afficher du texte en train de se taper, sinon suffit de mettre 10000 pour afficher tout d'un coup) Renvoie le nmobre de lettre écrites
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param basex \~\param basex
\~english X coordinate in TILES (0-31) where to begin writing the text \~english X coordinate in TILES (0-31) where to begin writing the text
\~french Coordonnée X en TILES (0-31) commencer à afficher le text \~french Coordonnée X en TILES (0-31) commencer à afficher le text
\~\param basey \~\param basey
\~english Y coordinate in TILES (0-19) where to begin writing the text \~english Y coordinate in TILES (0-19) where to begin writing the text
\~french Coordonnée Y en TILES (0-19) commencer à afficher le text \~french Coordonnée Y en TILES (0-19) commencer à afficher le text
\~\param maxx \~\param maxx
\~english X coordinate in TILES (0-31) where to stop writing the text \~english X coordinate in TILES (0-31) where to stop writing the text
\~french Coordonnée X en TILES (0-31) finir d'afficher le text \~french Coordonnée X en TILES (0-31) finir d'afficher le text
\~\param maxy \~\param maxy
\~english Y coordinate in TILES (0-19) where to stop writing the text \~english Y coordinate in TILES (0-19) where to stop writing the text
\~french Coordonnée Y en TILES (0-19) finir d'afficher le text \~french Coordonnée Y en TILES (0-19) finir d'afficher le text
\~\param text \~\param text
\~english String to output. \~english String to output.
\~french Chaine de caractère à écrire. \~french Chaine de caractère à écrire.
\~\param limit \~\param limit
\~english Maximum number of letters to show this time \~english Maximum number of letters to show this time
\~french Nombre maximum de lettres à afficher pour ce coup-ci \~french Nombre maximum de lettres à afficher pour ce coup-ci
*/ */
u32 PA_BoxText(u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit); u32 PA_BoxText(u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit);
/*! \fn u32 PA_BoxTextNoWrap(u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit) /*! \fn u32 PA_BoxTextNoWrap(u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit)
\brief \brief
\~english Output text on the DS screen. This text is limited to a chosen box, and you can chose the number of letters to output (can be used to show 'typed' text, just put 10000 if you want to show all the text...). Returns the number of letters outputed. This function does not support word wrapping \~english Output text on the DS screen. This text is limited to a chosen box, and you can chose the number of letters to output (can be used to show 'typed' text, just put 10000 if you want to show all the text...). Returns the number of letters outputed. This function does not support word wrapping
\~french Permet d'écrire du texte à l'écran, dans une boite délimitée au choix, et en choisissant le nombre de lettres à afficher (peut être utile pour afficher du texte en train de se taper, sinon suffit de mettre 10000 pour afficher tout d'un coup) Renvoie le nombre de lettre écrites. Cette fonction coupe les mots... \~french Permet d'écrire du texte à l'écran, dans une boite délimitée au choix, et en choisissant le nombre de lettres à afficher (peut être utile pour afficher du texte en train de se taper, sinon suffit de mettre 10000 pour afficher tout d'un coup) Renvoie le nombre de lettre écrites. Cette fonction coupe les mots...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param basex \~\param basex
\~english X coordinate in TILES (0-31) where to begin writing the text \~english X coordinate in TILES (0-31) where to begin writing the text
\~french Coordonnée X en TILES (0-31) commencer à afficher le text \~french Coordonnée X en TILES (0-31) commencer à afficher le text
\~\param basey \~\param basey
\~english Y coordinate in TILES (0-19) where to begin writing the text \~english Y coordinate in TILES (0-19) where to begin writing the text
\~french Coordonnée Y en TILES (0-19) commencer à afficher le text \~french Coordonnée Y en TILES (0-19) commencer à afficher le text
\~\param maxx \~\param maxx
\~english X coordinate in TILES (0-31) where to stop writing the text \~english X coordinate in TILES (0-31) where to stop writing the text
\~french Coordonnée X en TILES (0-31) finir d'afficher le text \~french Coordonnée X en TILES (0-31) finir d'afficher le text
\~\param maxy \~\param maxy
\~english Y coordinate in TILES (0-19) where to stop writing the text \~english Y coordinate in TILES (0-19) where to stop writing the text
\~french Coordonnée Y en TILES (0-19) finir d'afficher le text \~french Coordonnée Y en TILES (0-19) finir d'afficher le text
\~\param text \~\param text
\~english String to output. \~english String to output.
\~french Chaine de caractère à écrire. \~french Chaine de caractère à écrire.
\~\param limit \~\param limit
\~english Maximum number of letters to show this time \~english Maximum number of letters to show this time
\~french Nombre maximum de lettres à afficher pour ce coup-ci \~french Nombre maximum de lettres à afficher pour ce coup-ci
*/ */
u32 PA_BoxTextNoWrap(u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit); u32 PA_BoxTextNoWrap(u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit);
@ -238,19 +238,19 @@ u32 PA_BoxTextNoWrap(u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const
\fn static inline void PA_SetTextCol(u8 screen, u16 r, u16 g, u16 b) \fn static inline void PA_SetTextCol(u8 screen, u16 r, u16 g, u16 b)
\brief \brief
\~english Change the screen text's default color \~english Change the screen text's default color
\~french Changer la couleur de base du texte à l'écran \~french Changer la couleur de base du texte à l'écran
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param r \~\param r
\~english Red amount (0-31) \~english Red amount (0-31)
\~french Quantité de rouge (0-31) \~french Quantité de rouge (0-31)
\~\param g \~\param g
\~english Green amount (0-31) \~english Green amount (0-31)
\~french Quantité de vert (0-31) \~french Quantité de vert (0-31)
\~\param b \~\param b
\~english Blue amount (0-31) \~english Blue amount (0-31)
\~french Quantité de bleu (0-31) \~french Quantité de bleu (0-31)
*/ */
static inline void PA_SetTextCol(u8 screen, u16 r, u16 g, u16 b){ static inline void PA_SetTextCol(u8 screen, u16 r, u16 g, u16 b){
PA_CreateTextPal(screen, 0, r, g, b); PA_CreateTextPal(screen, 0, r, g, b);
@ -264,10 +264,10 @@ static inline void PA_SetTextCol(u8 screen, u16 r, u16 g, u16 b){
\~french [DEPRECATED] Initialiser le texte en utilisant une police perso \~french [DEPRECATED] Initialiser le texte en utilisant une police perso
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number... \~english Background number...
\~french Numéro du fond... \~french Numéro du fond...
\~\param text \~\param text
\~english Font image file name converted with PAGfx \~english Font image file name converted with PAGfx
\~french Image de la police, converti avec PAGfx \~french Image de la police, converti avec PAGfx
@ -282,10 +282,10 @@ static inline void PA_SetTextCol(u8 screen, u16 r, u16 g, u16 b){
\~french Initialiser le texte en utilisant une police perso \~french Initialiser le texte en utilisant une police perso
\~\param screen \~\param screen
\~english Chose the screen (0 or 1) \~english Chose the screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param bg_select \~\param bg_select
\~english Background number... \~english Background number...
\~french Numéro du fond... \~french Numéro du fond...
\~\param font \~\param font
\~english Pointer to the font \~english Pointer to the font
\~french Pointeur vers la police \~french Pointeur vers la police
@ -297,47 +297,47 @@ void PA_LoadText(u8 screen, u8 bg_number, const PA_BgStruct* font);
\def PA_ShowFont(screen) \def PA_ShowFont(screen)
\brief \brief
\~english Show the current font used. This is just for debug, no real use ingame \~english Show the current font used. This is just for debug, no real use ingame
\~french Affiche la police utilisée. C'est juste utile pour du débuggage, aucun intéret autrement \~french Affiche la police utilisée. C'est juste utile pour du débuggage, aucun intéret autrement
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
*/ */
#define PA_ShowFont(screen) PA_LoadBgMap(screen, PAbgtext[screen], (void*)PA_textmap[screen], BG_256X256) #define PA_ShowFont(screen) PA_LoadBgMap(screen, PAbgtext[screen], (void*)PA_textmap[screen], BG_256X256)
/*! \fn s16 PA_8bitText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, u8 transp, s32 limit) /*! \fn s16 PA_8bitText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, u8 transp, s32 limit)
\brief \brief
\~english This is a variable width and variable size function to draw text on the screen. It draws on an 8 bit background (see PA_Init8bitBg for more info), and has options such as size, transaprency, and box limits, as well as the color. Only problem : it does not take commands such as %d, etc... The function returns the number of characters it outputed \~english This is a variable width and variable size function to draw text on the screen. It draws on an 8 bit background (see PA_Init8bitBg for more info), and has options such as size, transaprency, and box limits, as well as the color. Only problem : it does not take commands such as %d, etc... The function returns the number of characters it outputed
\~french Cette fonction permet d'écrire du texte à chasse variable à l'écran. Elle nécessite d'avoir un fond dessinable de 8 bits (cf PA_Init8bitBg). Les options sont la taille, la transparence, et les limites, ainsi que la couleur. Seul inconvénient : il n'accepte pas les commande comme %d, etc... La fonction renvoie le nombre de charactères écrits \~french Cette fonction permet d'écrire du texte à chasse variable à l'écran. Elle nécessite d'avoir un fond dessinable de 8 bits (cf PA_Init8bitBg). Les options sont la taille, la transparence, et les limites, ainsi que la couleur. Seul inconvénient : il n'accepte pas les commande comme %d, etc... La fonction renvoie le nombre de charactères écrits
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param basex \~\param basex
\~english X coordinate of the top left corner \~english X coordinate of the top left corner
\~french Coordonnée X du coin supérieur gauche \~french Coordonnée X du coin supérieur gauche
\~\param basey \~\param basey
\~english Y coordinate of the top left corner \~english Y coordinate of the top left corner
\~french Coordonnée Y du coin supérieur gauche \~french Coordonnée Y du coin supérieur gauche
\~\param maxx \~\param maxx
\~english X coordinate of the down right corner \~english X coordinate of the down right corner
\~french Coordonnée X du coin inférieur droit \~french Coordonnée X du coin inférieur droit
\~\param maxy \~\param maxy
\~english Y coordinate of the down right corner \~english Y coordinate of the down right corner
\~french Coordonnée Y du coin inférieur droit \~french Coordonnée Y du coin inférieur droit
\~\param text \~\param text
\~english Text, such as "Hello World" \~english Text, such as "Hello World"
\~french Texte, tel que "Hello World" \~french Texte, tel que "Hello World"
\~\param color \~\param color
\~english Palette color to use (0-255) \~english Palette color to use (0-255)
\~french Couleur de la palette à utiliser (0-255) \~french Couleur de la palette à utiliser (0-255)
\~\param size \~\param size
\~english Size of the text, from 0 (really small) to 4 (pretty big) \~english Size of the text, from 0 (really small) to 4 (pretty big)
\~french Taille du texte, de 0 (vraiment petit) à 4 (assez grand) \~french Taille du texte, de 0 (vraiment petit) à 4 (assez grand)
\~\param transp \~\param transp
\~english Transparency. Setting this to 0 will overwrite all drawing in the text zone. 1 will write the text without erasing the drawing. 2 won't output anything (just to count the letters), 3 is rotated one way, 4 rotated the other way \~english Transparency. Setting this to 0 will overwrite all drawing in the text zone. 1 will write the text without erasing the drawing. 2 won't output anything (just to count the letters), 3 is rotated one way, 4 rotated the other way
\~french Transparence. Mettre à 0 effecera tout dessin de la zone de texte. 1 écrira le texte par-dessus le dessin sans l'effacer. 2 n'écrira rien (juste pour compter les lettres). 3 fera un texte tourné à 90°. 4 est un texte tourné dans l'autre sens. \~french Transparence. Mettre à 0 effecera tout dessin de la zone de texte. 1 écrira le texte par-dessus le dessin sans l'effacer. 2 n'écrira rien (juste pour compter les lettres). 3 fera un texte tourné à 90°. 4 est un texte tourné dans l'autre sens.
\~\param limit \~\param limit
\~english You can give a maximum number of characters to output. This can be usefull to have a slowing drawing text (allow to draw 1 more character each frame...) \~english You can give a maximum number of characters to output. This can be usefull to have a slowing drawing text (allow to draw 1 more character each frame...)
\~french On peut fixer une limite au nombre de caractères. Ceci peut etre utile pour dessiner un texte progressivement, en augmentant de 1 le nombre de caractères à chaque boucle.... \~french On peut fixer une limite au nombre de caractères. Ceci peut etre utile pour dessiner un texte progressivement, en augmentant de 1 le nombre de caractères à chaque boucle....
*/ */
s16 PA_8bitText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, u8 transp, s32 limit); s16 PA_8bitText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, u8 transp, s32 limit);
s16 PA_16bitText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u16 color, u8 size, u8 transp, s32 limit); s16 PA_16bitText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u16 color, u8 size, u8 transp, s32 limit);
@ -345,34 +345,34 @@ s16 PA_16bitText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char
/*! \fn s16 PA_CenterSmartText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, u8 transp) /*! \fn s16 PA_CenterSmartText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, u8 transp)
\brief \brief
\~english Basicaly the same as the SmartText function, but this time centered... \~english Basicaly the same as the SmartText function, but this time centered...
\~french En gros la meme chose que SmartText, mais en centré... \~french En gros la meme chose que SmartText, mais en centré...
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param basex \~\param basex
\~english X coordinate of the top left corner \~english X coordinate of the top left corner
\~french Coordonnée X du coin supérieur gauche \~french Coordonnée X du coin supérieur gauche
\~\param basey \~\param basey
\~english Y coordinate of the top left corner \~english Y coordinate of the top left corner
\~french Coordonnée Y du coin supérieur gauche \~french Coordonnée Y du coin supérieur gauche
\~\param maxx \~\param maxx
\~english X coordinate of the down right corner \~english X coordinate of the down right corner
\~french Coordonnée X du coin inférieur droit \~french Coordonnée X du coin inférieur droit
\~\param maxy \~\param maxy
\~english Y coordinate of the down right corner \~english Y coordinate of the down right corner
\~french Coordonnée Y du coin inférieur droit \~french Coordonnée Y du coin inférieur droit
\~\param text \~\param text
\~english Text, such as "Hello World" \~english Text, such as "Hello World"
\~french Texte, tel que "Hello World" \~french Texte, tel que "Hello World"
\~\param color \~\param color
\~english Palette color to use (0-255) \~english Palette color to use (0-255)
\~french Couleur de la palette à utiliser (0-255) \~french Couleur de la palette à utiliser (0-255)
\~\param size \~\param size
\~english Size of the text, from 0 (really small) to 4 (pretty big) \~english Size of the text, from 0 (really small) to 4 (pretty big)
\~french Taille du texte, de 0 (vraiment petit) à 4 (assez grand) \~french Taille du texte, de 0 (vraiment petit) à 4 (assez grand)
\~\param transp \~\param transp
\~english Transparency. Setting this to 0 will overwrite all drawing in the text zone. 1 will write the text without erasing the drawing. 2 won't output anything (just to count the letters), 3 is rotated one way, 4 rotated the other way \~english Transparency. Setting this to 0 will overwrite all drawing in the text zone. 1 will write the text without erasing the drawing. 2 won't output anything (just to count the letters), 3 is rotated one way, 4 rotated the other way
\~french Transparence. Mettre à 0 effecera tout dessin de la zone de texte. 1 écrira le texte par-dessus le dessin sans l'effacer. 2 n'écrira rien (juste pour compter les lettres). 3 fera un texte tourné à 90°. 4 est un texte tourné dans l'autre sens. \~french Transparence. Mettre à 0 effecera tout dessin de la zone de texte. 1 écrira le texte par-dessus le dessin sans l'effacer. 2 n'écrira rien (juste pour compter les lettres). 3 fera un texte tourné à 90°. 4 est un texte tourné dans l'autre sens.
*/ */
s16 PA_CenterSmartText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, u8 transp); s16 PA_CenterSmartText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char* text, u8 color, u8 size, u8 transp);
@ -380,10 +380,10 @@ s16 PA_CenterSmartText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, cons
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Add custom fonts to the 8bit Font system !! Font must be converted with PAGfx \~english [DEPRECATED] Add custom fonts to the 8bit Font system !! Font must be converted with PAGfx
\~french [DEPRECATED] Ajouter une police perso dans le systeme de texte 8bit !! Doit être convertie avec PAGfx \~french [DEPRECATED] Ajouter une police perso dans le systeme de texte 8bit !! Doit être convertie avec PAGfx
\~\param bit8_slot \~\param bit8_slot
\~english Font slot... 0-4 are used by the defaut PAlib fonts, 5-9 are free to use. You can freely overwrite the PAlib fonts if you want \~english Font slot... 0-4 are used by the defaut PAlib fonts, 5-9 are free to use. You can freely overwrite the PAlib fonts if you want
\~french Slot pour ajouter la police. Les slots 0-4 sont utilisés pour les polices par défaut de PAlib, et 5-9 sont libres. On peut néanmoins charger par-dessus les polices PAlib si on veut \~french Slot pour ajouter la police. Les slots 0-4 sont utilisés pour les polices par défaut de PAlib, et 5-9 sont libres. On peut néanmoins charger par-dessus les polices PAlib si on veut
\~\param bit8_font \~\param bit8_font
\~english Font name;.. \~english Font name;..
\~french Nom de la police... \~french Nom de la police...
@ -399,10 +399,10 @@ s16 PA_CenterSmartText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, cons
/*! \fn void PA_AddBitmapFont(int slot, const PA_BgStruct* font) /*! \fn void PA_AddBitmapFont(int slot, const PA_BgStruct* font)
\brief \brief
\~english Add a custom font to the 8bit/16bit font system. \~english Add a custom font to the 8bit/16bit font system.
\~french Ajouter une police perso dans le système de texte 8bit/16bit. \~french Ajouter une police perso dans le système de texte 8bit/16bit.
\~\param slot \~\param slot
\~english Font slot. 0-4 are used by the default PAlib fonts, 5-9 are free to use. You can freely overwrite the PAlib fonts if you want. \~english Font slot. 0-4 are used by the default PAlib fonts, 5-9 are free to use. You can freely overwrite the PAlib fonts if you want.
\~french Slot pour ajouter la police. Les slots 0-4 sont utilisés pour les polices par défaut de PAlib, et 5-9 sont libres. On peut néanmoins charger par-dessus les polices PAlib si on veut. \~french Slot pour ajouter la police. Les slots 0-4 sont utilisés pour les polices par défaut de PAlib, et 5-9 sont libres. On peut néanmoins charger par-dessus les polices PAlib si on veut.
\~\param font \~\param font
\~english Pointer to the font. \~english Pointer to the font.
\~french Pointeur vers le police perso. \~french Pointeur vers le police perso.
@ -412,10 +412,10 @@ void PA_AddBitmapFont(int slot, const PA_BgStruct* font);
/*! \fn void PA_InitTextBorders(u8 screen, u8 x1, u8 y1, u8 x2, u8 y2) /*! \fn void PA_InitTextBorders(u8 screen, u8 x1, u8 y1, u8 x2, u8 y2)
\brief \brief
\~english Initialise a text box with it's borders. This makes writing in a delimited area much easier... \~english Initialise a text box with it's borders. This makes writing in a delimited area much easier...
\~french Initialise une boite à texte, avec la bordure. Ceci rend l'utilisation des textes délimités bien plus simple \~french Initialise une boite à texte, avec la bordure. Ceci rend l'utilisation des textes délimités bien plus simple
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param x1 \~\param x1
\~english Left limit in tiles \~english Left limit in tiles
\~french Limite gauche en tiles \~french Limite gauche en tiles
@ -434,26 +434,26 @@ void PA_InitTextBorders(u8 screen, u8 x1, u8 y1, u8 x2, u8 y2);
/*! \fn void PA_EraseTextBox(u8 screen) /*! \fn void PA_EraseTextBox(u8 screen)
\brief \brief
\~english Erases the text in a textbox. Requires that that box be initialized with PA_InitTextBorders \~english Erases the text in a textbox. Requires that that box be initialized with PA_InitTextBorders
\~french Efface le text d'un boite à texte... Nécessite qu'il ait é initialisé avec PA_InitTextBorders \~french Efface le text d'un boite à texte... Nécessite qu'il ait é initialisé avec PA_InitTextBorders
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
*/ */
void PA_EraseTextBox(u8 screen); void PA_EraseTextBox(u8 screen);
/*! \fn static inline u32 PA_SimpleBoxText(u8 screen, const char *text, u32 limit) /*! \fn static inline u32 PA_SimpleBoxText(u8 screen, const char *text, u32 limit)
\brief \brief
\~english Write text in an initiliazed textbox. Similar to PA_BoxText, but without needing the text limits \~english Write text in an initiliazed textbox. Similar to PA_BoxText, but without needing the text limits
\~french Ecrit du texte dans une zone délimitée. Similaire à PA_BoxText, mais sans avoir besoin de délimiter \~french Ecrit du texte dans une zone délimitée. Similaire à PA_BoxText, mais sans avoir besoin de délimiter
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param text \~\param text
\~english String to output. \~english String to output.
\~french Chaine de caractère à écrire. \~french Chaine de caractère à écrire.
\~\param limit \~\param limit
\~english Maximum number of letters to show this time \~english Maximum number of letters to show this time
\~french Nombre maximum de lettres à afficher pour ce coup-ci \~french Nombre maximum de lettres à afficher pour ce coup-ci
*/ */
static inline u32 PA_SimpleBoxText(u8 screen, const char *text, u32 limit){ static inline u32 PA_SimpleBoxText(u8 screen, const char *text, u32 limit){
return PA_BoxText(screen, PA_TextBox[screen].x1+1, PA_TextBox[screen].y1+1, PA_TextBox[screen].x2-1, PA_TextBox[screen].y2-1, text, limit); return PA_BoxText(screen, PA_TextBox[screen].x1+1, PA_TextBox[screen].y1+1, PA_TextBox[screen].x2-1, PA_TextBox[screen].y2-1, text, limit);
@ -462,23 +462,23 @@ static inline u32 PA_SimpleBoxText(u8 screen, const char *text, u32 limit){
/*! \fn void PA_ClearTextBg(u8 screen) /*! \fn void PA_ClearTextBg(u8 screen)
\brief \brief
\~english Erase all the text on a given screen \~english Erase all the text on a given screen
\~french Effacer tout le texte sur un écran donné \~french Effacer tout le texte sur un écran donné
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
*/ */
void PA_ClearTextBg(u8 screen); void PA_ClearTextBg(u8 screen);
/*! \fn void PA_Print(u8 screen, const char* text, ...) /*! \fn void PA_Print(u8 screen, const char* text, ...)
\brief \brief
\~english Output text on the DS screen. Works like a printf function \~english Output text on the DS screen. Works like a printf function
\~french Ecrire du texte à l'écran. Marche comme la fonction printf \~french Ecrire du texte à l'écran. Marche comme la fonction printf
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param text \~\param text
\~english String to output. The following commands are avaiblable : \%s to output another string, \%d to output a value, \%fX to output a float with X digits, \\n to go to the line. Here's an example : PA_OutputText(0, 0, 1, "My name is %s and I have only %d teeth", "Mollusk", 20); \~english String to output. The following commands are avaiblable : \%s to output another string, \%d to output a value, \%fX to output a float with X digits, \\n to go to the line. Here's an example : PA_OutputText(0, 0, 1, "My name is %s and I have only %d teeth", "Mollusk", 20);
\~french Chaine de caractère à écrire. On dispose des commandes suivantes : \%s pour une autre chaine de caractères, \%d pour écrire la valeur d'une variables, \%fX pour afficher un nombre avec X chiffres après la virgule, \\n pour aller à la ligne. Voici un exemple : PA_OutputText(0, 0, 1, "Mon nom est %s et je n'ai que %d dents...", "Mollusk", 20); \~french Chaine de caractère à écrire. On dispose des commandes suivantes : \%s pour une autre chaine de caractères, \%d pour écrire la valeur d'une variables, \%fX pour afficher un nombre avec X chiffres après la virgule, \\n pour aller à la ligne. Voici un exemple : PA_OutputText(0, 0, 1, "Mon nom est %s et je n'ai que %d dents...", "Mollusk", 20);
*/ */
void PA_Print(u8 screen, const char* text, ...); void PA_Print(u8 screen, const char* text, ...);
@ -488,7 +488,7 @@ void PA_Print(u8 screen, const char* text, ...);
\~french Comme PA_Print, mais juste pour une lettre \~french Comme PA_Print, mais juste pour une lettre
\~\param screen \~\param screen
\~english Chose de screen (0 or 1) \~english Chose de screen (0 or 1)
\~french Choix de l'écran (0 ou 1) \~french Choix de l'écran (0 ou 1)
\~\param letter \~\param letter
\~english Any letter... \~english Any letter...
\~french Une lettre... \~french Une lettre...

View File

@ -20,10 +20,10 @@
\fn static inline void PA_DualHideBg(u8 bg_select) \fn static inline void PA_DualHideBg(u8 bg_select)
\brief \brief
\~english Hide a background on both screens \~english Hide a background on both screens
\~french Cacher un fond sur les 2 écrans \~french Cacher un fond sur les 2 écrans
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
*/ */
static inline void PA_DualHideBg(u8 bg_select){ static inline void PA_DualHideBg(u8 bg_select){
PA_HideBg(0, bg_select); PA_HideBg(0, bg_select);
@ -34,10 +34,10 @@ static inline void PA_DualHideBg(u8 bg_select){
\fn static inline void PA_DualShowBg(u8 bg_select) \fn static inline void PA_DualShowBg(u8 bg_select)
\brief \brief
\~english Show a hidden background, on both screens \~english Show a hidden background, on both screens
\~french Afficher un fond auparavant caché sur les 2 écrans \~french Afficher un fond auparavant caché sur les 2 écrans
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
*/ */
static inline void PA_DualShowBg(u8 bg_select){ static inline void PA_DualShowBg(u8 bg_select){
PA_ShowBg(0, bg_select); PA_ShowBg(0, bg_select);
@ -48,7 +48,7 @@ static inline void PA_DualShowBg(u8 bg_select){
\fn static inline void PA_DualResetBg(void) \fn static inline void PA_DualResetBg(void)
\brief \brief
\~english Reinitialize de Bg system \~english Reinitialize de Bg system
\~french Reinitialiser les fonds d'un écran. En fait ca ne fait que cacher tous les fonds \~french Reinitialiser les fonds d'un écran. En fait ca ne fait que cacher tous les fonds
*/ */
static inline void PA_DualResetBg(void){ static inline void PA_DualResetBg(void){
PA_ResetBg(0); PA_ResetBg(0);
@ -59,10 +59,10 @@ static inline void PA_DualResetBg(void){
\fn static inline void PA_DualDeleteBg(u8 bg_select) \fn static inline void PA_DualDeleteBg(u8 bg_select)
\brief \brief
\~english Delete a complete background (tiles + map + hide it...) \~english Delete a complete background (tiles + map + hide it...)
\~french Effacer un fond complètement (tiles + map + cacher) \~french Effacer un fond complètement (tiles + map + cacher)
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
*/ */
static inline void PA_DualDeleteBg(u8 bg_select){ static inline void PA_DualDeleteBg(u8 bg_select){
PA_DeleteBg(0, bg_select); PA_DeleteBg(0, bg_select);
@ -74,10 +74,10 @@ static inline void PA_DualDeleteBg(u8 bg_select){
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] This will never get easier... Loads a background TiledBg converted with PAGfx, with it's tiles, map, and palette. Only 256 color mode available. On 2 screens as 1... \~english [DEPRECATED] This will never get easier... Loads a background TiledBg converted with PAGfx, with it's tiles, map, and palette. Only 256 color mode available. On 2 screens as 1...
\~french [DEPRECATED] On ne pourra jamais rendre ca plus simple... Charge un fond de type TiledBg converti avec PAGfx, en mettant les tiles, la map, et meme la palette ! Seulement en mode 256 couleurs. Sur 2 écrans, comme un seul grand \~french [DEPRECATED] On ne pourra jamais rendre ca plus simple... Charge un fond de type TiledBg converti avec PAGfx, en mettant les tiles, la map, et meme la palette ! Seulement en mode 256 couleurs. Sur 2 écrans, comme un seul grand
\~\param bg_number \~\param bg_number
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_name \~\param bg_name
\~english Background name, like bg0 \~english Background name, like bg0
\~french Nom du fond, comme bg0 \~french Nom du fond, comme bg0
@ -93,10 +93,10 @@ static inline void PA_DualDeleteBg(u8 bg_select){
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Simplest way to load a Background on both screens \~english [DEPRECATED] Simplest way to load a Background on both screens
\~french [DEPRECATED] Facon la plus simple de cahrger un fond sur les 2 écrans \~french [DEPRECATED] Facon la plus simple de cahrger un fond sur les 2 écrans
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -128,7 +128,7 @@ static inline void PA_DualDeleteBg(u8 bg_select){
\~french [DEPRECATED] Charger un fond pour les rotations/zoom ! Attention, il faut avant utiliser PA_SetVideoMode avec 1 pour utiliser un fond rotatif (le fond 3 uniquement !), ou 2 pour 2 fonds (2 et 3). Le fond DOIT etre de 256 couleurs \~french [DEPRECATED] Charger un fond pour les rotations/zoom ! Attention, il faut avant utiliser PA_SetVideoMode avec 1 pour utiliser un fond rotatif (le fond 3 uniquement !), ou 2 pour 2 fonds (2 et 3). Le fond DOIT etre de 256 couleurs
\~\param bg_select \~\param bg_select
\~english Background number to load \~english Background number to load
\~french Numéro du fond que l'on veut charger \~french Numéro du fond que l'on veut charger
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -161,7 +161,7 @@ static inline void PA_DualSetBgRot(u8 bg_select, s32 x_scroll, s32 y_scroll, s32
\~french [DEPRECATED] Facon la plus simple de cahrger un fond. Combine PA_InitBg, PA_LoadBgTiles, et PA_LoadBgMap \~french [DEPRECATED] Facon la plus simple de cahrger un fond. Combine PA_InitBg, PA_LoadBgTiles, et PA_LoadBgMap
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -173,7 +173,7 @@ static inline void PA_DualSetBgRot(u8 bg_select, s32 x_scroll, s32 y_scroll, s32
\~french Nom du tableau contenant les infos sur la map (exemple : ship_Map) \~french Nom du tableau contenant les infos sur la map (exemple : ship_Map)
\~\param bg_size \~\param bg_size
\~english 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... \~english 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...
\~french Taille du fond. Ceci est très important, car ça détermine aussi si le Bg est rotatif ou non. Pour un fond normal, on utilise les macros BG_256X256, BG_256X512, etc... Por un fond rotatif, il suffit d'utiliser BG_ROT_128X128... \~french Taille du fond. Ceci est très important, car ça détermine aussi si le Bg est rotatif ou non. Pour un fond normal, on utilise les macros BG_256X256, BG_256X512, etc... Por un fond rotatif, il suffit d'utiliser BG_ROT_128X128...
\~\param wraparound \~\param wraparound
\~english If the background wraps around or not. More important for rotating backgrounds. \~english If the background wraps around or not. More important for rotating backgrounds.
\~french Si le fond boucle ou non. C'est plus important pour les fonds rotatifs... \~french Si le fond boucle ou non. C'est plus important pour les fonds rotatifs...
@ -192,13 +192,13 @@ static inline void PA_DualSetBgRot(u8 bg_select, s32 x_scroll, s32 y_scroll, s32
\fn static inline void PA_DualBGScrollX(u8 bg_number, s16 x) \fn static inline void PA_DualBGScrollX(u8 bg_number, s16 x)
\brief \brief
\~english Scroll horizontaly any background, on both screens \~english Scroll horizontaly any background, on both screens
\~french Scroll horizontal de n'importe quel fond, sur les 2 écrans \~french Scroll horizontal de n'importe quel fond, sur les 2 écrans
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer, horizontalement... \~french Valeur X à déplacer, horizontalement...
*/ */
static inline void PA_DualBGScrollX(u8 bg_number, s16 x){ static inline void PA_DualBGScrollX(u8 bg_number, s16 x){
PA_BGScrollX(0, bg_number, x); PA_BGScrollX(0, bg_number, x);
@ -212,10 +212,10 @@ static inline void PA_DualBGScrollX(u8 bg_number, s16 x){
\~french Scroll vertical de n'importe quel fond \~french Scroll vertical de n'importe quel fond
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer, verticalement... \~french Valeur Y à déplacer, verticalement...
*/ */
static inline void PA_DualBGScrollY(u8 bg_number, s16 y){ static inline void PA_DualBGScrollY(u8 bg_number, s16 y){
PA_BGScrollY(0, bg_number, y+PA_ScreenSpace); PA_BGScrollY(0, bg_number, y+PA_ScreenSpace);
@ -229,13 +229,13 @@ static inline void PA_DualBGScrollY(u8 bg_number, s16 y){
\~french Scroll horizontal et vertical de n'importe quel fond \~french Scroll horizontal et vertical de n'importe quel fond
\~\param bg_number \~\param bg_number
\~english Background number (0-3) \~english Background number (0-3)
\~french Numéro du fond que l'on veut tourner (0-3) \~french Numéro du fond que l'on veut tourner (0-3)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer, horizontalement... \~french Valeur X à déplacer, horizontalement...
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer, verticalement... \~french Valeur Y à déplacer, verticalement...
*/ */
static inline void PA_DualBGScrollXY(u8 bg_number, s16 x, s16 y) { static inline void PA_DualBGScrollXY(u8 bg_number, s16 x, s16 y) {
PA_DualBGScrollX(bg_number, x); PA_DualBGScrollX(bg_number, x);
@ -247,10 +247,10 @@ static inline void PA_DualBGScrollXY(u8 bg_number, s16 x, s16 y) {
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Completely load and initialise a background with infinite scrolling (usefull if larger or wider than 512 pixels), converted with PAGfx. Background on both screens, as one \~english [DEPRECATED] Completely load and initialise a background with infinite scrolling (usefull if larger or wider than 512 pixels), converted with PAGfx. Background on both screens, as one
\~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), converti avec PAGfx. Fond sur les 2 écrans comme un seul \~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), converti avec PAGfx. Fond sur les 2 écrans comme un seul
\~\param bg_number \~\param bg_number
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (0-3) \~french Numéro du fond que l'on veut charger (0-3)
\~\param bg_name \~\param bg_name
\~english Background name, in PAGfx \~english Background name, in PAGfx
\~french Nom du fond dans PAGfx \~french Nom du fond dans PAGfx
@ -266,10 +266,10 @@ static inline void PA_DualBGScrollXY(u8 bg_number, s16 x, s16 y) {
\deprecated \deprecated
\brief \brief
\~english [DEPRECATED] Completely load and initialise a background with infinite scrolling (usefull if larger or wider than 512 pixels), on both screens \~english [DEPRECATED] Completely load and initialise a background with infinite scrolling (usefull if larger or wider than 512 pixels), on both screens
\~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), sur les 2 écrans \~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), sur les 2 écrans
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -300,7 +300,7 @@ static inline void PA_DualBGScrollXY(u8 bg_number, s16 x, s16 y) {
\~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), mais ici on met soi-meme la taille des tiles \~french [DEPRECATED] Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), mais ici on met soi-meme la taille des tiles
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param bg_tiles \~\param bg_tiles
\~english Name of the tiles' info (example: ship_Tiles) \~english Name of the tiles' info (example: ship_Tiles)
\~french Nom du tableau contenant les tiles (exemple: ship_Tiles) \~french Nom du tableau contenant les tiles (exemple: ship_Tiles)
@ -334,7 +334,7 @@ static inline void PA_DualBGScrollXY(u8 bg_number, s16 x, s16 y) {
\~french [DEPRECATED] Chargement de fond EasyBg, mais pour le Dual Screen... \~french [DEPRECATED] Chargement de fond EasyBg, mais pour le Dual Screen...
\~\param bg_number \~\param bg_number
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (0-3) \~french Numéro du fond que l'on veut charger (0-3)
\~\param bg_name \~\param bg_name
\~english Background name, in PAGfx \~english Background name, in PAGfx
\~french Nom du fond dans PAGfx \~french Nom du fond dans PAGfx
@ -349,13 +349,13 @@ static inline void PA_DualBGScrollXY(u8 bg_number, s16 x, s16 y) {
\fn static inline void PA_DualEasyBgScrollX(u8 bg_select, s32 x) \fn static inline void PA_DualEasyBgScrollX(u8 bg_select, s32 x)
\brief \brief
\~english Scroll an EasyBg horizontaly. It must have been initialised with PA_LoadLargeBg. \~english Scroll an EasyBg horizontaly. It must have been initialised with PA_LoadLargeBg.
\~french Déplacer un fond EasyBg horizontalement. Doit etre initialisé avec PA_LoadLargeBg. \~french Déplacer un fond EasyBg horizontalement. Doit etre initialisé avec PA_LoadLargeBg.
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
*/ */
static inline void PA_DualEasyBgScrollX(u8 bg_select, s32 x){ static inline void PA_DualEasyBgScrollX(u8 bg_select, s32 x){
PA_EasyBgScrollX(0, bg_select, x); PA_EasyBgScrollX(0, bg_select, x);
@ -366,13 +366,13 @@ static inline void PA_DualEasyBgScrollX(u8 bg_select, s32 x){
\fn static inline void PA_DualEasyBgScrollY(u8 bg_select, s32 y) \fn static inline void PA_DualEasyBgScrollY(u8 bg_select, s32 y)
\brief \brief
\~english Scroll an EasyBg vertically. \~english Scroll an EasyBg vertically.
\~french Déplacer un fond EasyBg verticalement. \~french Déplacer un fond EasyBg verticalement.
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_DualEasyBgScrollY(u8 bg_select, s32 y){ static inline void PA_DualEasyBgScrollY(u8 bg_select, s32 y){
PA_EasyBgScrollY(0, bg_select, y+PA_ScreenSpace); PA_EasyBgScrollY(0, bg_select, y+PA_ScreenSpace);
@ -386,7 +386,7 @@ static inline void PA_DualEasyBgScrollY(u8 bg_select, s32 y){
\~french Charger un fond (EasyBg, RotBg or UnlimitedBg), mais pour le Dual Screen... \~french Charger un fond (EasyBg, RotBg or UnlimitedBg), mais pour le Dual Screen...
\~\param bg_number \~\param bg_number
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (0-3) \~french Numéro du fond que l'on veut charger (0-3)
\~\param bg \~\param bg
\~english Pointer to the background (struct) \~english Pointer to the background (struct)
\~french Pointeur vers le fond \~french Pointeur vers le fond
@ -402,16 +402,16 @@ static inline void PA_DualLoadBackground(u8 bg_number, const PA_BgStruct* bg){
\fn static inline void PA_DualEasyBgScrollXY(u8 bg_select, s32 x, s32 y) \fn static inline void PA_DualEasyBgScrollXY(u8 bg_select, s32 x, s32 y)
\brief \brief
\~english Scroll a Dual EasyBg. \~english Scroll a Dual EasyBg.
\~french Déplacer un fond EasyBg en Dual Screen. \~french Déplacer un fond EasyBg en Dual Screen.
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_DualEasyBgScrollXY(u8 bg_select, s32 x, s32 y){ static inline void PA_DualEasyBgScrollXY(u8 bg_select, s32 x, s32 y){
PA_DualEasyBgScrollX(bg_select, x); PA_DualEasyBgScrollX(bg_select, x);
@ -422,13 +422,13 @@ static inline void PA_DualEasyBgScrollXY(u8 bg_select, s32 x, s32 y){
\fn static inline void PA_DualInfLargeScrollX(u8 bg_select, s32 x) \fn static inline void PA_DualInfLargeScrollX(u8 bg_select, s32 x)
\brief \brief
\~english Scroll a large infinite scrolling background horizontaly. It must have been initialised with PA_LoadLargeBg. \~english Scroll a large infinite scrolling background horizontaly. It must have been initialised with PA_LoadLargeBg.
\~french Déplacer un fond à scrolling 'infini' horizontalement. Doit etre initialisé avec PA_LoadLargeBg. \~french Déplacer un fond à scrolling 'infini' horizontalement. Doit etre initialisé avec PA_LoadLargeBg.
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
*/ */
static inline void PA_DualInfLargeScrollX(u8 bg_select, s32 x){ static inline void PA_DualInfLargeScrollX(u8 bg_select, s32 x){
PA_InfLargeScrollX(0, bg_select, x); PA_InfLargeScrollX(0, bg_select, x);
@ -439,13 +439,13 @@ static inline void PA_DualInfLargeScrollX(u8 bg_select, s32 x){
\fn static inline void PA_DualInfLargeScrollY(u8 bg_select, s32 y) \fn static inline void PA_DualInfLargeScrollY(u8 bg_select, s32 y)
\brief \brief
\~english Scroll a large infinite scrolling background vertically. It must have been initialised with PA_LoadLargeBg. \~english Scroll a large infinite scrolling background vertically. It must have been initialised with PA_LoadLargeBg.
\~french Déplacer un fond à scrolling 'infini' verticalement. Doit etre initialisé avec PA_LoadLargeBg. \~french Déplacer un fond à scrolling 'infini' verticalement. Doit etre initialisé avec PA_LoadLargeBg.
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_DualInfLargeScrollY(u8 bg_select, s32 y){ static inline void PA_DualInfLargeScrollY(u8 bg_select, s32 y){
PA_InfLargeScrollY(0, bg_select, y+PA_ScreenSpace); PA_InfLargeScrollY(0, bg_select, y+PA_ScreenSpace);
@ -456,16 +456,16 @@ static inline void PA_DualInfLargeScrollY(u8 bg_select, s32 y){
\fn static inline void PA_DualInfLargeScrollXY(u8 bg_select, s32 x, s32 y) \fn static inline void PA_DualInfLargeScrollXY(u8 bg_select, s32 x, s32 y)
\brief \brief
\~english Scroll a large infinite scrolling background horizontaly and vertically. It must have been initialised with PA_LoadLargeBg. \~english Scroll a large infinite scrolling background horizontaly and vertically. It must have been initialised with PA_LoadLargeBg.
\~french Déplacer un fond à scrolling 'infini' horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg. \~french Déplacer un fond à scrolling 'infini' horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg.
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_DualInfLargeScrollXY(u8 bg_select, s32 x, s32 y){ static inline void PA_DualInfLargeScrollXY(u8 bg_select, s32 x, s32 y){
PA_DualInfLargeScrollX(bg_select, x); PA_DualInfLargeScrollX(bg_select, x);
@ -476,13 +476,13 @@ static inline void PA_DualInfLargeScrollXY(u8 bg_select, s32 x, s32 y){
\fn static inline void PA_DualLargeScrollX(u8 bg_select, s32 x) \fn static inline void PA_DualLargeScrollX(u8 bg_select, s32 x)
\brief \brief
\~english Scroll a large background horizontaly. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll... \~english Scroll a large background horizontaly. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll...
\~french Déplacer un grand fond à scrolling horizontalement.Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll... \~french Déplacer un grand fond à scrolling horizontalement.Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll...
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
*/ */
static inline void PA_DualLargeScrollX(u8 bg_select, s32 x){ static inline void PA_DualLargeScrollX(u8 bg_select, s32 x){
PA_LargeScrollX(0, bg_select, x); PA_LargeScrollX(0, bg_select, x);
@ -493,13 +493,13 @@ static inline void PA_DualLargeScrollX(u8 bg_select, s32 x){
\fn static inline void PA_DualLargeScrollY(u8 bg_select, s32 y) \fn static inline void PA_DualLargeScrollY(u8 bg_select, s32 y)
\brief \brief
\~english Scroll a large background vertically. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll... \~english Scroll a large background vertically. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll...
\~french Déplacer un grand fond à scrolling verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll... \~french Déplacer un grand fond à scrolling verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll...
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_DualLargeScrollY(u8 bg_select, s32 y){ static inline void PA_DualLargeScrollY(u8 bg_select, s32 y){
PA_LargeScrollY(0, bg_select, y+PA_ScreenSpace); PA_LargeScrollY(0, bg_select, y+PA_ScreenSpace);
@ -510,16 +510,16 @@ static inline void PA_DualLargeScrollY(u8 bg_select, s32 y){
\fn static inline void PA_DualLargeScrollXY(u8 bg_select, s32 x, s32 y) \fn static inline void PA_DualLargeScrollXY(u8 bg_select, s32 x, s32 y)
\brief \brief
\~english Scroll a large background horizontaly and vertically. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll... \~english Scroll a large background horizontaly and vertically. It must have been initialised with PA_LoadLargeBg. This function does not wrap around, but is faster than the InfLargeScroll...
\~french Déplacer un grand fond à scrolling horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll... \~french Déplacer un grand fond à scrolling horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll...
\~\param bg_select \~\param bg_select
\~english Background number to load (from 0 to 3) \~english Background number to load (from 0 to 3)
\~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2) \~french Numéro du fond que l'on veut charger (de 0 à 3 en mode 0, uniquement 2 et 3 en mode 2)
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_DualLargeScrollXY(u8 bg_select, s32 x, s32 y){ static inline void PA_DualLargeScrollXY(u8 bg_select, s32 x, s32 y){
PA_DualLargeScrollX(bg_select, x); PA_DualLargeScrollX(bg_select, x);
@ -530,10 +530,10 @@ static inline void PA_DualLargeScrollXY(u8 bg_select, s32 x, s32 y){
\fn static inline void PA_DualInitParallaxX(s32 bg0, s32 bg1, s32 bg2, s32 bg3) \fn static inline void PA_DualInitParallaxX(s32 bg0, s32 bg1, s32 bg2, s32 bg3)
\brief \brief
\~english Initialise Parallax Scrolling for multiple backgrounds, horizontaly. Chose the speed at which each background will scroll compared to the others. Then use PA_ParallaxScrollX to scroll... \~english Initialise Parallax Scrolling for multiple backgrounds, horizontaly. Chose the speed at which each background will scroll compared to the others. Then use PA_ParallaxScrollX to scroll...
\~french Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller \~french Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller
\~\param bg0 \~\param bg0
\~english Value for the first background (0). Set to 256 for normal scroll speed, lower for lower speed (128 is half speed...), higher for faster (512 is twice as fast...). You can set negative values. 0 inactivates parallax scrolling for this background \~english Value for the first background (0). Set to 256 for normal scroll speed, lower for lower speed (128 is half speed...), higher for faster (512 is twice as fast...). You can set negative values. 0 inactivates parallax scrolling for this background
\~french Valeur pour le premier fond (0). 256 met en vitesse normal, moins pour moins lent (128 pour moitié de vitesse), plus pour plus rapide (512 équivaut à 2 fois plus vite). On peut utiliser des valeurs négatives. 0 désactive le scrolling parallax pour ce fond \~french Valeur pour le premier fond (0). 256 met en vitesse normal, moins pour moins lent (128 pour moitié de vitesse), plus pour plus rapide (512 équivaut à 2 fois plus vite). On peut utiliser des valeurs négatives. 0 désactive le scrolling parallax pour ce fond
\~\param bg1 \~\param bg1
\~english Same thing for Background 1 \~english Same thing for Background 1
\~french Idem, pour le Fond 1 \~french Idem, pour le Fond 1
@ -553,10 +553,10 @@ static inline void PA_DualInitParallaxX(s32 bg0, s32 bg1, s32 bg2, s32 bg3) {
\fn static inline void PA_DualInitParallaxY(s32 bg0, s32 bg1, s32 bg2, s32 bg3) \fn static inline void PA_DualInitParallaxY(s32 bg0, s32 bg1, s32 bg2, s32 bg3)
\brief \brief
\~english Initialise Parallax Scrolling for multiple backgrounds, horizontaly. Chose the speed at which each background will scroll compared to the others. Then use PA_ParallaxScrollX to scroll... \~english Initialise Parallax Scrolling for multiple backgrounds, horizontaly. Chose the speed at which each background will scroll compared to the others. Then use PA_ParallaxScrollX to scroll...
\~french Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller \~french Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller
\~\param bg0 \~\param bg0
\~english Value for the first background (0). Set to 256 for normal scroll speed, lower for lower speed (128 is half speed...), higher for faster (512 is twice as fast...). You can set negative values. 0 inactivates parallax scrolling for this background \~english Value for the first background (0). Set to 256 for normal scroll speed, lower for lower speed (128 is half speed...), higher for faster (512 is twice as fast...). You can set negative values. 0 inactivates parallax scrolling for this background
\~french Valeur pour le premier fond (0). 256 met en vitesse normal, moins pour moins lent (128 pour moitié de vitesse), plus pour plus rapide (512 équivaut à 2 fois plus vite). On peut utiliser des valeurs négatives. 0 désactive le scrolling parallax pour ce fond \~french Valeur pour le premier fond (0). 256 met en vitesse normal, moins pour moins lent (128 pour moitié de vitesse), plus pour plus rapide (512 équivaut à 2 fois plus vite). On peut utiliser des valeurs négatives. 0 désactive le scrolling parallax pour ce fond
\~\param bg1 \~\param bg1
\~english Same thing for Background 1 \~english Same thing for Background 1
\~french Idem, pour le Fond 1 \~french Idem, pour le Fond 1
@ -576,10 +576,10 @@ static inline void PA_DualInitParallaxY(s32 bg0, s32 bg1, s32 bg2, s32 bg3) {
\fn static inline void PA_DualParallaxScrollX(s32 x) \fn static inline void PA_DualParallaxScrollX(s32 x)
\brief \brief
\~english Scroll the backgrounds \~english Scroll the backgrounds
\~french Déplacer les fonds activés pour le parallax... \~french Déplacer les fonds activés pour le parallax...
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
*/ */
static inline void PA_DualParallaxScrollX(s32 x){ static inline void PA_DualParallaxScrollX(s32 x){
int i; int i;
@ -592,10 +592,10 @@ static inline void PA_DualParallaxScrollX(s32 x){
\fn static inline void PA_DualParallaxScrollY(s32 y) \fn static inline void PA_DualParallaxScrollY(s32 y)
\brief \brief
\~english Scroll the backgrounds \~english Scroll the backgrounds
\~french Déplacer les fonds activés pour le parallax... \~french Déplacer les fonds activés pour le parallax...
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_DualParallaxScrollY(s32 y){ static inline void PA_DualParallaxScrollY(s32 y){
int i; int i;
@ -608,13 +608,13 @@ static inline void PA_DualParallaxScrollY(s32 y){
\fn static inline void PA_DualParallaxScrollXY(s32 x, s32 y) \fn static inline void PA_DualParallaxScrollXY(s32 x, s32 y)
\brief \brief
\~english Scroll the backgrounds \~english Scroll the backgrounds
\~french Déplacer les fonds activés pour le parallax... \~french Déplacer les fonds activés pour le parallax...
\~\param x \~\param x
\~english X value to scroll \~english X value to scroll
\~french Valeur X à déplacer \~french Valeur X à déplacer
\~\param y \~\param y
\~english Y value to scroll \~english Y value to scroll
\~french Valeur Y à déplacer \~french Valeur Y à déplacer
*/ */
static inline void PA_DualParallaxScrollXY(s32 x, s32 y){ static inline void PA_DualParallaxScrollXY(s32 x, s32 y){
PA_DualParallaxScrollX(x); PA_DualParallaxScrollX(x);
@ -625,13 +625,13 @@ static inline void PA_DualParallaxScrollXY(s32 x, s32 y){
\fn static inline void PA_DualSetBgPrio(u8 bg, u8 prio) \fn static inline void PA_DualSetBgPrio(u8 bg, u8 prio)
\brief \brief
\~english Change a backgrounds priority \~english Change a backgrounds priority
\~french Changer la priorité d'un fond \~french Changer la priorité d'un fond
\~\param bg \~\param bg
\~english Background... \~english Background...
\~french Numéro du fond... \~french Numéro du fond...
\~\param prio \~\param prio
\~english Priority level (0-3, 0 being the highest) \~english Priority level (0-3, 0 being the highest)
\~french Niveau de priorité, de 0 à 3, 0 étant priorité la plus élevée \~french Niveau de priorité, de 0 à 3, 0 étant priorité la plus élevée
*/ */
static inline void PA_DualSetBgPrio(u8 bg, u8 prio) { static inline void PA_DualSetBgPrio(u8 bg, u8 prio) {
PA_SetBgPrio(0, bg, prio); PA_SetBgPrio(0, bg, prio);
@ -640,7 +640,7 @@ static inline void PA_DualSetBgPrio(u8 bg, u8 prio) {
/** @} */ // end of Backgrounds /** @} */ // end of Backgrounds
// Pas utilisé en direct par le programmeur // Pas utilisé en direct par le programmeur
void PA_InitLargeBg(u8 screen, u8 bg_select, s32 lx, s32 ly, void* bg_map); void PA_InitLargeBg(u8 screen, u8 bg_select, s32 lx, s32 ly, void* bg_map);
#endif #endif

View File

@ -8,7 +8,7 @@
Window options, nothing much to say. Window options, nothing much to say.
*/ */
// utilisé pour activer ou non les fenetres... // utilisé pour activer ou non les fenetres...
#define WIN_BG0 1 #define WIN_BG0 1
#define WIN_BG1 2 #define WIN_BG1 2
#define WIN_BG2 4 #define WIN_BG2 4
@ -41,22 +41,22 @@ extern const s16 winfades[][4];
/*! \def PA_SetWin0XY(screen, x1, y1, x2, y2) /*! \def PA_SetWin0XY(screen, x1, y1, x2, y2)
\brief \brief
\~english Set the X et Y coordinates of the rectangular first window. You'll also have to use PA_SetWin0 to chose which Backgrounds are visible and if sprites are too... \~english Set the X et Y coordinates of the rectangular first window. You'll also have to use PA_SetWin0 to chose which Backgrounds are visible and if sprites are too...
\~french Régler les coordonnées X et Y du rectangle de la première fenetre. Il faudra aussi utiliser PA_SetWin0 pour choisir quels fonds sont visibles et si les sprites le sont ou non... \~french Régler les coordonnées X et Y du rectangle de la première fenetre. Il faudra aussi utiliser PA_SetWin0 pour choisir quels fonds sont visibles et si les sprites le sont ou non...
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param x1 \~\param x1
\~english X coordinate of the top left point \~english X coordinate of the top left point
\~french Coordonnée X du coin supérieur gauche \~french Coordonnée X du coin supérieur gauche
\~\param y1 \~\param y1
\~english Y coordinate of the top left point \~english Y coordinate of the top left point
\~french Coordonnée Y du coin supérieur gauche \~french Coordonnée Y du coin supérieur gauche
\~\param x2 \~\param x2
\~english X coordinate of the bottom right point \~english X coordinate of the bottom right point
\~french Coordonnée X du coin inférieur droit \~french Coordonnée X du coin inférieur droit
\~\param y2 \~\param y2
\~english Y coordinate of the bottom right point \~english Y coordinate of the bottom right point
\~french Coordonnée Y du coin inférieur droit \~french Coordonnée Y du coin inférieur droit
*/ */
static inline void PA_SetWin0XY(u8 screen, u8 x1, u8 y1, u8 x2, u8 y2) { static inline void PA_SetWin0XY(u8 screen, u8 x1, u8 y1, u8 x2, u8 y2) {
WIN0X(screen) = x2 + ((x1) << 8); WIN0X(screen) = x2 + ((x1) << 8);
@ -66,42 +66,42 @@ static inline void PA_SetWin0XY(u8 screen, u8 x1, u8 y1, u8 x2, u8 y2) {
/*! \def PA_SetWin1XY(screen, x1, y1, x2, y2) /*! \def PA_SetWin1XY(screen, x1, y1, x2, y2)
\brief \brief
\~english Set the X et Y coordinates of the rectangular second window. You'll also have to use PA_SetWin1 to chose which Backgrounds are visible and if sprites are too... \~english Set the X et Y coordinates of the rectangular second window. You'll also have to use PA_SetWin1 to chose which Backgrounds are visible and if sprites are too...
\~french Régler les coordonnées X et Y du rectangle de la deuxième fenetre. Il faudra aussi utiliser PA_SetWin1 pour choisir quels fonds sont visibles et si les sprites le sont ou non... \~french Régler les coordonnées X et Y du rectangle de la deuxième fenetre. Il faudra aussi utiliser PA_SetWin1 pour choisir quels fonds sont visibles et si les sprites le sont ou non...
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param x1 \~\param x1
\~english X coordinate of the top left point \~english X coordinate of the top left point
\~french Coordonnée X du coin supérieur gauche \~french Coordonnée X du coin supérieur gauche
\~\param y1 \~\param y1
\~english Y coordinate of the top left point \~english Y coordinate of the top left point
\~french Coordonnée Y du coin supérieur gauche \~french Coordonnée Y du coin supérieur gauche
\~\param x2 \~\param x2
\~english X coordinate of the bottom right point \~english X coordinate of the bottom right point
\~french Coordonnée X du coin inférieur droit \~french Coordonnée X du coin inférieur droit
\~\param y2 \~\param y2
\~english Y coordinate of the bottom right point \~english Y coordinate of the bottom right point
\~french Coordonnée Y du coin inférieur droit \~french Coordonnée Y du coin inférieur droit
*/ */
#define PA_SetWin1XY(screen, x1, y1, x2, y2) do{WIN1X(screen) = x2 + ((x1) << 8); WIN1Y(screen) = y2 + ((y1) << 8);}while(0) #define PA_SetWin1XY(screen, x1, y1, x2, y2) do{WIN1X(screen) = x2 + ((x1) << 8); WIN1Y(screen) = y2 + ((y1) << 8);}while(0)
/*! \def PA_EnableWin0(screen, bg_sprites) /*! \def PA_EnableWin0(screen, bg_sprites)
\brief \brief
\~english Enable and set which backgrounds will be visible and whether sprites will too or not, for Window 0. You'll then have to configure it with PA_SetWin0XY \~english Enable and set which backgrounds will be visible and whether sprites will too or not, for Window 0. You'll then have to configure it with PA_SetWin0XY
\~french Activer et choisir quels fonds seront visibles dans la fenetre, et si les sprites le seront ou pas, pour la fenetre 0. Il faudra ensuite régler la taille avec PA_SetWin0XY \~french Activer et choisir quels fonds seront visibles dans la fenetre, et si les sprites le seront ou pas, pour la fenetre 0. Il faudra ensuite régler la taille avec PA_SetWin0XY
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param bg_sprites \~\param bg_sprites
\~english Backgrounds and sprites, use the following macro : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (for special effects) \~english Backgrounds and sprites, use the following macro : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (for special effects)
\~french Fond et sprites à afficher, que l'on choisi de la facon suivante : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (pour les effets spéciaux) \~french Fond et sprites à afficher, que l'on choisi de la facon suivante : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (pour les effets spéciaux)
*/ */
#define PA_EnableWin0(screen, bg_sprites) do{DISPCNTL(screen) |= WINDOW0; WININ(screen) &= 255; WININ(screen) |= (bg_sprites);}while(0) #define PA_EnableWin0(screen, bg_sprites) do{DISPCNTL(screen) |= WINDOW0; WININ(screen) &= 255; WININ(screen) |= (bg_sprites);}while(0)
/*! \def PA_DisableWin0(screen) /*! \def PA_DisableWin0(screen)
\brief \brief
\~english Disable the first window... \~english Disable the first window...
\~french Désactiver la première fenetre... \~french Désactiver la première fenetre...
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
@ -111,20 +111,20 @@ static inline void PA_SetWin0XY(u8 screen, u8 x1, u8 y1, u8 x2, u8 y2) {
/*! \def PA_EnableWin1(screen, bg_sprites) /*! \def PA_EnableWin1(screen, bg_sprites)
\brief \brief
\~english Enable and set which backgrounds will be visible and whether sprites will too or not, for Window 1. You'll then have to configure it with PA_SetWin1XY \~english Enable and set which backgrounds will be visible and whether sprites will too or not, for Window 1. You'll then have to configure it with PA_SetWin1XY
\~french Activer et choisir quels fonds seront visibles dans la fenetre, et si les sprites le seront ou pas, pour la fenetre 1. Il faudra ensuite régler la taille avec PA_SetWin1X \~french Activer et choisir quels fonds seront visibles dans la fenetre, et si les sprites le seront ou pas, pour la fenetre 1. Il faudra ensuite régler la taille avec PA_SetWin1X
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param bg_sprites \~\param bg_sprites
\~english Backgrounds and sprites, use the following macro : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (for special effects) \~english Backgrounds and sprites, use the following macro : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (for special effects)
\~french Fond et sprites à afficher, que l'on choisi de la facon suivante : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (pour les effets spéciaux) \~french Fond et sprites à afficher, que l'on choisi de la facon suivante : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (pour les effets spéciaux)
*/ */
#define PA_EnableWin1(screen, bg_sprites) do{DISPCNTL(screen) |= WINDOW1; WININ(screen) &= 255; WININ(screen) |= ((bg_sprites) << 8);}while(0) #define PA_EnableWin1(screen, bg_sprites) do{DISPCNTL(screen) |= WINDOW1; WININ(screen) &= 255; WININ(screen) |= ((bg_sprites) << 8);}while(0)
/*! \def PA_DisableWin1(screen) /*! \def PA_DisableWin1(screen)
\brief \brief
\~english Disable the second window... \~english Disable the second window...
\~french Désactiver la deuxième fenetre... \~french Désactiver la deuxième fenetre...
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
@ -134,13 +134,13 @@ static inline void PA_SetWin0XY(u8 screen, u8 x1, u8 y1, u8 x2, u8 y2) {
/*! \fn static inline void PA_EnableWinObj(u8 screen, u16 bg_sprites) /*! \fn static inline void PA_EnableWinObj(u8 screen, u16 bg_sprites)
\brief \brief
\~english Enable and set which backgrounds will be visible and whether sprites will too or not, for Object Winodw (created from sprites in Window mode). \~english Enable and set which backgrounds will be visible and whether sprites will too or not, for Object Winodw (created from sprites in Window mode).
\~french Activer et choisir quels fonds seront visibles dans la fenetre, et si les sprites le seront ou pas, pour la fenetre objets (créée à partir des sprites en mode Window). \~french Activer et choisir quels fonds seront visibles dans la fenetre, et si les sprites le seront ou pas, pour la fenetre objets (créée à partir des sprites en mode Window).
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param bg_sprites \~\param bg_sprites
\~english Backgrounds and sprites, use the following macro : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (for special effects) \~english Backgrounds and sprites, use the following macro : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (for special effects)
\~french Fond et sprites à afficher, que l'on choisi de la facon suivante : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (pour les effets spéciaux) \~french Fond et sprites à afficher, que l'on choisi de la facon suivante : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ | WIN_SFX (pour les effets spéciaux)
*/ */
static inline void PA_EnableWinObj(u8 screen, u16 bg_sprites) { static inline void PA_EnableWinObj(u8 screen, u16 bg_sprites) {
DISPCNTL(screen) |= WINDOWOBJ; DISPCNTL(screen) |= WINDOWOBJ;
@ -151,7 +151,7 @@ static inline void PA_EnableWinObj(u8 screen, u16 bg_sprites) {
/*! \def PA_DisableWinObj(screen) /*! \def PA_DisableWinObj(screen)
\brief \brief
\~english Disable the object window... \~english Disable the object window...
\~french Désactiver la fenetre objet... \~french Désactiver la fenetre objet...
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
@ -167,23 +167,23 @@ static inline void PA_EnableWinObj(u8 screen, u16 bg_sprites) {
\~french Ecran... \~french Ecran...
\~\param bg_sprites \~\param bg_sprites
\~english Backgrounds and sprites, use the following macro : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ \~english Backgrounds and sprites, use the following macro : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ
\~french Fond et sprites à afficher, que l'on choisi de la facon suivante : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ \~french Fond et sprites à afficher, que l'on choisi de la facon suivante : WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ
*/ */
#define PA_SetOutWin(screen, bg_sprites) do{WINOUT(screen) &= ~255; WINOUT(screen) |= bg_sprites;}while(0) #define PA_SetOutWin(screen, bg_sprites) do{WINOUT(screen) &= ~255; WINOUT(screen) |= bg_sprites;}while(0)
/*! \fn static inline void PA_WindowFade(u8 screen, u8 type, u8 time) /*! \fn static inline void PA_WindowFade(u8 screen, u8 type, u8 time)
\brief \brief
\~english This allows you to do fade in and out, using the window system \~english This allows you to do fade in and out, using the window system
\~french Permet de faire des entrées/sorties en utilisant le systeme de fenetre \~french Permet de faire des entrées/sorties en utilisant le systeme de fenetre
\~\param screen \~\param screen
\~english Screen... \~english Screen...
\~french Ecran... \~french Ecran...
\~\param type \~\param type
\~english Type... 8 different types are available (0-7) \~english Type... 8 different types are available (0-7)
\~french Type... 8 différents types sont disponibles (0-7) \~french Type... 8 différents types sont disponibles (0-7)
\~\param time \~\param time
\~english Time, from 0 to 32 (included). 0 is a completely viewable screen, 32 is completely out \~english Time, from 0 to 32 (included). 0 is a completely viewable screen, 32 is completely out
\~french Temps, de 0 à 32 (inclus). 0 est écran visisble, 32 invisible \~french Temps, de 0 à 32 (inclus). 0 est écran visisble, 32 invisible
*/ */
static inline void PA_WindowFade(u8 screen, u8 type, u8 time){ static inline void PA_WindowFade(u8 screen, u8 type, u8 time){
PA_EnableWin0(screen, WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ); PA_EnableWin0(screen, WIN_BG0 | WIN_BG1 | WIN_BG2 | WIN_BG3 | WIN_OBJ);

View File

@ -801,7 +801,7 @@ REQUIRED IN ALL CASES
Notice to be included in header file of all Error Corrections and Shared Notice to be included in header file of all Error Corrections and Shared
Modifications: Modifications:
Portions Copyright 1994-2003 © RealNetworks, Inc. All rights reserved. Portions Copyright 1994-2003 © RealNetworks, Inc. All rights reserved.
The contents of this file, and the files included with this file, are The contents of this file, and the files included with this file, are
subject to the current version of RealNetworks Community Source License subject to the current version of RealNetworks Community Source License

View File

@ -801,7 +801,7 @@ REQUIRED IN ALL CASES
Notice to be included in header file of all Error Corrections and Shared Notice to be included in header file of all Error Corrections and Shared
Modifications: Modifications:
Portions Copyright 1994-2003 © RealNetworks, Inc. All rights reserved. Portions Copyright 1994-2003 © RealNetworks, Inc. All rights reserved.
The contents of this file, and the files included with this file, are The contents of this file, and the files included with this file, are
subject to the current version of RealNetworks Community Source License subject to the current version of RealNetworks Community Source License

View File

@ -7,15 +7,15 @@ u16 pa_giftotexcolor = 0;
volatile PA_IPCType PA_IPC; // This is deprecated volatile PA_IPCType PA_IPC; // This is deprecated
typedef struct{ typedef struct{
s16 x, y, oldx, oldy, vx, vy; // Coordonnées s16 x, y, oldx, oldy, vx, vy; // Coordonnées
u8 stylus; // Si on déplace ou non u8 stylus; // Si on déplace ou non
u8 moving; // Si la boule est en mouvement ou non u8 moving; // Si la boule est en mouvement ou non
}positions; }positions;
u32 PA_bgmap[2][4]; // Pointeur vers les maps, 4 maps par screen u32 PA_bgmap[2][4]; // Pointeur vers les maps, 4 maps par screen
u8 PA_Screen = 0; u8 PA_Screen = 0;
s16 PA_ScreenSpace; // Espace entre les 2 écrans...+192 s16 PA_ScreenSpace; // Espace entre les 2 écrans...+192
PA_GifInfos PA_GifInfo; PA_GifInfos PA_GifInfo;

View File

@ -91,7 +91,7 @@ s16 PA_16cText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char*
PA_DoLetterPos(basex, basey, maxx, maxy, text, color, size, limit); PA_DoLetterPos(basex, basey, maxx, maxy, text, color, size, limit);
if(limit > PA_LetterPos.NLetters) limit = PA_LetterPos.NLetters; // Plus short que prévu if(limit > PA_LetterPos.NLetters) limit = PA_LetterPos.NLetters; // Plus short que prévu
for(i = 0; i < limit; i ++) for(i = 0; i < limit; i ++)
PA_16cLetter(screen, PA_LetterPos.Letter[i].X, PA_LetterPos.Letter[i].Y, PA_LetterPos.Letter[i].Letter, PA_LetterPos.Letter[i].Size, PA_LetterPos.Letter[i].Color); PA_16cLetter(screen, PA_LetterPos.Letter[i].X, PA_LetterPos.Letter[i].Y, PA_LetterPos.Letter[i].Letter, PA_LetterPos.Letter[i].Size, PA_LetterPos.Letter[i].Color);

View File

@ -75,7 +75,7 @@ s16 PA_16cTextRot(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, char* tex
pa_16cTextDecompress(size); pa_16cTextDecompress(size);
PA_DoLetterPos(basex, basey, maxx, maxy, text, color, size, limit); PA_DoLetterPos(basex, basey, maxx, maxy, text, color, size, limit);
if (limit > PA_LetterPos.NLetters) limit = PA_LetterPos.NLetters; // Plus short que prévu if (limit > PA_LetterPos.NLetters) limit = PA_LetterPos.NLetters; // Plus short que prévu
if (textinfo.rot == 1) for (i = 0; i < limit; i++) PA_16cLetterRot(screen, PA_LetterPos.Letter[i].X, PA_LetterPos.Letter[i].Y, if (textinfo.rot == 1) for (i = 0; i < limit; i++) PA_16cLetterRot(screen, PA_LetterPos.Letter[i].X, PA_LetterPos.Letter[i].Y,
PA_LetterPos.Letter[i].Letter, PA_LetterPos.Letter[i].Size, PA_LetterPos.Letter[i].Color); PA_LetterPos.Letter[i].Letter, PA_LetterPos.Letter[i].Size, PA_LetterPos.Letter[i].Color);

View File

@ -16,7 +16,7 @@ void PA_LargeScrollXN(u8 screen, u8 bg_select, s32 x) {
// Dans un sens... // Dans un sens...
while (x - scrollpos[screen][bg_select].scrollx >= 8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante while (x - scrollpos[screen][bg_select].scrollx >= 8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante
scrollpos[screen][bg_select].scrollx += 8; // On a décalé de la taille d'un tile... scrollpos[screen][bg_select].scrollx += 8; // On a décalé de la taille d'un tile...
tempx = scrollpos[screen][bg_select].scrollx >> 3; tempx = scrollpos[screen][bg_select].scrollx >> 3;
// On fait le decallage en copiant tout comme il faut // On fait le decallage en copiant tout comme il faut
i = (tempx + 34) & 63; i = (tempx + 34) & 63;
@ -27,7 +27,7 @@ void PA_LargeScrollXN(u8 screen, u8 bg_select, s32 x) {
// Et dans l'autre // Et dans l'autre
while (x - scrollpos[screen][bg_select].scrollx <= -8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante while (x - scrollpos[screen][bg_select].scrollx <= -8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante
scrollpos[screen][bg_select].scrollx -= 8; // On a décalé de la taille d'un tile... scrollpos[screen][bg_select].scrollx -= 8; // On a décalé de la taille d'un tile...
tempx = scrollpos[screen][bg_select].scrollx >> 3; tempx = scrollpos[screen][bg_select].scrollx >> 3;
// On fait le decallage en copiant tout comme il faut // On fait le decallage en copiant tout comme il faut
i = (tempx - 2) & 63; i = (tempx - 2) & 63;
@ -55,7 +55,7 @@ void PA_LargeScrollYN(u8 screen, u8 bg_select, s32 y) {
// Verticalement // Verticalement
// Dans un sens... // Dans un sens...
while (y - scrollpos[screen][bg_select].scrolly >= 8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante while (y - scrollpos[screen][bg_select].scrolly >= 8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante
scrollpos[screen][bg_select].scrolly += 8; // On a décalé de la taille d'un tile... scrollpos[screen][bg_select].scrolly += 8; // On a décalé de la taille d'un tile...
tempy = scrollpos[screen][bg_select].scrolly >> 3; tempy = scrollpos[screen][bg_select].scrolly >> 3;
// On fait le decallage en copiant tout comme il faut // On fait le decallage en copiant tout comme il faut
j = (tempy + 25) & 31; j = (tempy + 25) & 31;
@ -66,7 +66,7 @@ void PA_LargeScrollYN(u8 screen, u8 bg_select, s32 y) {
// Et dans l'autre // Et dans l'autre
while (y - scrollpos[screen][bg_select].scrolly <= -8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante while (y - scrollpos[screen][bg_select].scrolly <= -8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante
scrollpos[screen][bg_select].scrolly -= 8; // On a décalé de la taille d'un tile... scrollpos[screen][bg_select].scrolly -= 8; // On a décalé de la taille d'un tile...
tempy = scrollpos[screen][bg_select].scrolly >> 3; tempy = scrollpos[screen][bg_select].scrolly >> 3;
// On fait le decallage en copiant tout comme il faut // On fait le decallage en copiant tout comme il faut
j = (tempy - 2) & 31; j = (tempy - 2) & 31;
@ -85,7 +85,7 @@ void PA_InfLargeScrollXN(u8 screen, u8 bg_select, s32 x) {
tempy = scrollpos[screen][bg_select].scrolly >> 3; tempy = scrollpos[screen][bg_select].scrolly >> 3;
// Dans un sens... // Dans un sens...
while (x - scrollpos[screen][bg_select].scrollx >= 8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante while (x - scrollpos[screen][bg_select].scrollx >= 8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante
scrollpos[screen][bg_select].scrollx += 8; // On a décalé de la taille d'un tile... scrollpos[screen][bg_select].scrollx += 8; // On a décalé de la taille d'un tile...
tempx = scrollpos[screen][bg_select].scrollx >> 3; tempx = scrollpos[screen][bg_select].scrollx >> 3;
// On fait le decallage en copiant tout comme il faut // On fait le decallage en copiant tout comme il faut
i = (tempx + 34) & 63; i = (tempx + 34) & 63;
@ -96,7 +96,7 @@ void PA_InfLargeScrollXN(u8 screen, u8 bg_select, s32 x) {
// Et dans l'autre // Et dans l'autre
while (x - scrollpos[screen][bg_select].scrollx <= -8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante while (x - scrollpos[screen][bg_select].scrollx <= -8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante
scrollpos[screen][bg_select].scrollx -= 8; // On a décalé de la taille d'un tile... scrollpos[screen][bg_select].scrollx -= 8; // On a décalé de la taille d'un tile...
tempx = scrollpos[screen][bg_select].scrollx >> 3; tempx = scrollpos[screen][bg_select].scrollx >> 3;
// On fait le decallage en copiant tout comme il faut // On fait le decallage en copiant tout comme il faut
i = (tempx - 2) & 63; i = (tempx - 2) & 63;
@ -119,7 +119,7 @@ void PA_InfLargeScrollYN(u8 screen, u8 bg_select, s32 y) {
// Verticalement // Verticalement
// Dans un sens... // Dans un sens...
while (y - scrollpos[screen][bg_select].scrolly >= 8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante while (y - scrollpos[screen][bg_select].scrolly >= 8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante
scrollpos[screen][bg_select].scrolly += 8; // On a décalé de la taille d'un tile... scrollpos[screen][bg_select].scrolly += 8; // On a décalé de la taille d'un tile...
tempy = scrollpos[screen][bg_select].scrolly >> 3; tempy = scrollpos[screen][bg_select].scrolly >> 3;
// On fait le decallage en copiant tout comme il faut // On fait le decallage en copiant tout comme il faut
j = (tempy + 25) & 31; j = (tempy + 25) & 31;
@ -130,7 +130,7 @@ void PA_InfLargeScrollYN(u8 screen, u8 bg_select, s32 y) {
// Et dans l'autre // Et dans l'autre
while (y - scrollpos[screen][bg_select].scrolly <= -8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante while (y - scrollpos[screen][bg_select].scrolly <= -8) { // Tant qu'on a du retour sur l'affichage de la carte, on fait afficher la ligne suivante
scrollpos[screen][bg_select].scrolly -= 8; // On a décalé de la taille d'un tile... scrollpos[screen][bg_select].scrolly -= 8; // On a décalé de la taille d'un tile...
tempy = scrollpos[screen][bg_select].scrolly >> 3; tempy = scrollpos[screen][bg_select].scrolly >> 3;
// On fait le decallage en copiant tout comme il faut // On fait le decallage en copiant tout comme il faut
j = (tempy - 2) & 31; j = (tempy - 2) & 31;

View File

@ -23,13 +23,13 @@ void PA_LoadRotBgMap(u8 screen, u8 bg_select, void* bg_map, u8 bg_size) {
} }
} }
charsetok = !tempsize; // Si on a trouvé suffisament de blocs, on peut continuer charsetok = !tempsize; // Si on a trouvé suffisament de blocs, on peut continuer
} }
PA_BgInfo[screen][bg_select].mapchar = charset; // On place la map à un endroit précis... PA_BgInfo[screen][bg_select].mapchar = charset; // On place la map à un endroit précis...
PA_BgInfo[screen][bg_select].mapsize = blocksize; PA_BgInfo[screen][bg_select].mapsize = blocksize;
DC_FlushRange(bg_map, rotbg_sizes[bg_size] * 2); DC_FlushRange(bg_map, rotbg_sizes[bg_size] * 2);
dmaCopy(bg_map, (void*)ScreenBaseBlock(screen, charset), rotbg_sizes[bg_size] * 2); dmaCopy(bg_map, (void*)ScreenBaseBlock(screen, charset), rotbg_sizes[bg_size] * 2);
for (i = 0; i < blocksize; i++) charblocks[screen][charset + i] = 1; // Les blocs sont occupés for (i = 0; i < blocksize; i++) charblocks[screen][charset + i] = 1; // Les blocs sont occupés
} }

View File

@ -2,7 +2,7 @@
PA_BgInfos PA_BgInfo[2][4]; PA_BgInfos PA_BgInfo[2][4];
// Quantité de données à charger en fonction de la taille de la map... // Quantité de données à charger en fonction de la taille de la map...
u16 bg_sizes[4] = {1024, 2048, 2048, 4096}; u16 bg_sizes[4] = {1024, 2048, 2048, 4096};
u8 bg_place[4] = {1, 2, 2, 4}; u8 bg_place[4] = {1, 2, 2, 4};
@ -10,10 +10,10 @@ u8 bg_place[4] = {1, 2, 2, 4};
s32 PA_parallaxX[2][4]; s32 PA_parallaxX[2][4];
s32 PA_parallaxY[2][4]; s32 PA_parallaxY[2][4];
scrollpositions scrollpos[2][4]; // Pour chaque écran et pour chaque fond :) scrollpositions scrollpos[2][4]; // Pour chaque écran et pour chaque fond :)
u8 charblocks[2][70]; // On met à 0 les emplacements libres... pour chaque écran... u8 charblocks[2][70]; // On met à 0 les emplacements libres... pour chaque écran...
//u8 tilesetchar[2][4]; // Emplacement mémoire de chaque tileset //u8 tilesetchar[2][4]; // Emplacement mémoire de chaque tileset
u16 tempsize; u16 tempsize;
extern u16 *PA_DrawBg[2]; // Fond dessinable extern u16 *PA_DrawBg[2]; // Fond dessinable
@ -31,11 +31,11 @@ void PA_ResetBgSysScreen(u8 screen) {
for (i = 0; i < 64; i++) for (i = 0; i < 64; i++)
charblocks[screen][i] = 0; charblocks[screen][i] = 0;
// Emplacements pris à la suite, faut pas déborder... // Emplacements pris à la suite, faut pas déborder...
for (i = 64; i < 70; i++) for (i = 64; i < 70; i++)
charblocks[screen][i] = 1; charblocks[screen][i] = 1;
charsetstart[screen] = 8; // Par défaut à 8, pour dire de tout utiliser charsetstart[screen] = 8; // Par défaut à 8, pour dire de tout utiliser
} }
void PA_ResetBgSys(void) { void PA_ResetBgSys(void) {
@ -45,7 +45,7 @@ void PA_ResetBgSys(void) {
void PA_LoadBgTilesEx(u8 screen, u8 bg_select, void* bg_tiles, u32 size) { void PA_LoadBgTilesEx(u8 screen, u8 bg_select, void* bg_tiles, u32 size) {
u32 blocksize = (size + 1023) >> 10; u32 blocksize = (size + 1023) >> 10;
s8 charset = charsetstart[screen]; // On commence par le dernier... soit le 8ème, et on ira vers le bas s8 charset = charsetstart[screen]; // On commence par le dernier... soit le 8ème, et on ira vers le bas
u8 charsetok = 0; u8 charsetok = 0;
u8 i; u8 i;
u8 tempsize; u8 tempsize;
@ -63,7 +63,7 @@ void PA_LoadBgTilesEx(u8 screen, u8 bg_select, void* bg_tiles, u32 size) {
} }
} }
charsetok = !tempsize; // Si on a trouvé suffisament de blocs, on peut continuer charsetok = !tempsize; // Si on a trouvé suffisament de blocs, on peut continuer
} }
if (!charsetok) { if (!charsetok) {
@ -80,12 +80,12 @@ void PA_LoadBgTilesEx(u8 screen, u8 bg_select, void* bg_tiles, u32 size) {
" number of tiles of your\n" " number of tiles of your\n"
"backgrounds to fix this problem.\n" "backgrounds to fix this problem.\n"
"\n" "\n"
" Désolé, mais là il n'y a plus\n" " Désolé, mais là il n'y a plus\n"
" assez de VRAM pour charger ton\n" " assez de VRAM pour charger ton\n"
" arrière-plans ! Tu dois réduire\n" " arrière-plans ! Tu dois réduire\n"
" le nombre de tiles de ton\n" " le nombre de tiles de ton\n"
" arrière-plans pour corriger ce\n" " arrière-plans pour corriger ce\n"
" problème." " problème."
); );
PA_InitText(0, 0); PA_InitText(0, 0);
@ -103,15 +103,15 @@ void PA_LoadBgTilesEx(u8 screen, u8 bg_select, void* bg_tiles, u32 size) {
for (;;) swiWaitForVBlank(); for (;;) swiWaitForVBlank();
} }
PA_BgInfo[screen][bg_select].TileSetChar = charset; // On place les tiles à un endroit précis... PA_BgInfo[screen][bg_select].TileSetChar = charset; // On place les tiles à un endroit précis...
PA_BgInfo[screen][bg_select].tilesetsize = size; // On mémorise aussi la taille que ca fait pour pouvoir effacer plus tard... PA_BgInfo[screen][bg_select].tilesetsize = size; // On mémorise aussi la taille que ca fait pour pouvoir effacer plus tard...
DC_FlushRange((void*)CharBaseBlock(screen, charset), size * 2); DC_FlushRange((void*)CharBaseBlock(screen, charset), size * 2);
dmaCopy(bg_tiles, (void*)CharBaseBlock(screen, charset), size * 2); dmaCopy(bg_tiles, (void*)CharBaseBlock(screen, charset), size * 2);
// Save tiles pointer and position in VRAM // Save tiles pointer and position in VRAM
PA_BgInfo[screen][bg_select].Tiles = bg_tiles; PA_BgInfo[screen][bg_select].Tiles = bg_tiles;
PA_BgInfo[screen][bg_select].TilePos = (u32*)CharBaseBlock(screen, PA_BgInfo[screen][bg_select].TileSetChar); // used for tile swapping PA_BgInfo[screen][bg_select].TilePos = (u32*)CharBaseBlock(screen, PA_BgInfo[screen][bg_select].TileSetChar); // used for tile swapping
for (i = 0; i < blocksize; i++) charblocks[screen][(charset << 3) + i] = 1; // Les blocs sont occupés for (i = 0; i < blocksize; i++) charblocks[screen][(charset << 3) + i] = 1; // Les blocs sont occupés
} }
@ -143,20 +143,20 @@ void PA_LoadBgMap(u8 screen, u8 bg_select, void* bg_map, u8 bg_size) {
} }
} }
charsetok = !tempsize; // Si on a trouvé suffisament de blocs, on peut continuer charsetok = !tempsize; // Si on a trouvé suffisament de blocs, on peut continuer
} }
PA_BgInfo[screen][bg_select].mapchar = charset; // On place la map à un endroit précis... PA_BgInfo[screen][bg_select].mapchar = charset; // On place la map à un endroit précis...
PA_BgInfo[screen][bg_select].mapsize = blocksize; PA_BgInfo[screen][bg_select].mapsize = blocksize;
DC_FlushRange(bg_map, bg_sizes[bg_size] * 2); DC_FlushRange(bg_map, bg_sizes[bg_size] * 2);
dmaCopy(bg_map, (void*)ScreenBaseBlock(screen, charset), bg_sizes[bg_size] * 2); dmaCopy(bg_map, (void*)ScreenBaseBlock(screen, charset), bg_sizes[bg_size] * 2);
for (i = 0; i < blocksize; i++) charblocks[screen][charset + i] = 1; // Les blocs sont occupés for (i = 0; i < blocksize; i++) charblocks[screen][charset + i] = 1; // Les blocs sont occupés
} }
void PA_InitBg(u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode) { void PA_InitBg(u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode) {
scrollpos[screen][bg_select].infscroll = 0; // Par défaut pas de scrolling infini... scrollpos[screen][bg_select].infscroll = 0; // Par défaut pas de scrolling infini...
PA_BgInfo[screen][bg_select].Map = ScreenBaseBlock(screen, PA_BgInfo[screen][bg_select].mapchar); PA_BgInfo[screen][bg_select].Map = ScreenBaseBlock(screen, PA_BgInfo[screen][bg_select].mapchar);
if (!screen) { if (!screen) {
@ -197,10 +197,10 @@ void PA_DeleteMap(u8 screen, u8 bg_select) {
u8 i; u8 i;
u8 charset = PA_BgInfo[screen][bg_select].mapchar; u8 charset = PA_BgInfo[screen][bg_select].mapchar;
u16 blocksize = PA_BgInfo[screen][bg_select].mapsize; u16 blocksize = PA_BgInfo[screen][bg_select].mapsize;
// On efface le carte en mémoire // On efface le carte en mémoire
dmaFillWords(0, (void*)ScreenBaseBlock(screen, charset), (blocksize << 10)*2); dmaFillWords(0, (void*)ScreenBaseBlock(screen, charset), (blocksize << 10)*2);
// On remet le tableau à 0... // On remet le tableau à 0...
for (i = 0; i < blocksize; i++) { for (i = 0; i < blocksize; i++) {
charblocks[screen][charset + i] = 0; charblocks[screen][charset + i] = 0;
} }

View File

@ -28,7 +28,7 @@ void PA_LoadBmpToBuffer(u16 *Buffer, s16 x, s16 y, void *bmp, s16 SWidth) {
s32 r, g, b; s16 tempx, tempy; s32 r, g, b; s16 tempx, tempy;
s16 lx = Bmpinfo->Width; s16 ly = Bmpinfo->Height; s16 lx = Bmpinfo->Width; s16 ly = Bmpinfo->Height;
u16 Bits = Bmpinfo->BitsperPixel; u16 Bits = Bmpinfo->BitsperPixel;
//Buffer = (u16*)(Buffer + ((x + (y*SWidth)) << 1)); // Position de départ //Buffer = (u16*)(Buffer + ((x + (y*SWidth)) << 1)); // Position de départ
s32 i = 0; s32 i = 0;
if (Bits > 16) { // Pour 24 et 32 bits if (Bits > 16) { // Pour 24 et 32 bits

View File

@ -17,9 +17,9 @@ void PA_Init8bitBg(u8 screen, u8 bg_priority) {
PA_DrawBg[screen] = (u16*)(0x06000000 + (0x200000 * screen) + 320 * 256); PA_DrawBg[screen] = (u16*)(0x06000000 + (0x200000 * screen) + 320 * 256);
PA_DrawBg32[screen] = (u32*)PA_DrawBg[screen]; PA_DrawBg32[screen] = (u32*)PA_DrawBg[screen];
dmaFillWords(0, (void*)PA_DrawBg[screen], 256*96*2); dmaFillWords(0, (void*)PA_DrawBg[screen], 256*96*2);
charsetstart[screen] = 5; // On se réserve la moitié de la mémoire... charsetstart[screen] = 5; // On se réserve la moitié de la mémoire...
int i; for (i = 40; i < 64; i++) charblocks[screen][i] = 1; // Block la mémoire int i; for (i = 40; i < 64; i++) charblocks[screen][i] = 1; // Block la mémoire
_REG16(REG_BGCNT(screen, 3)) = bg_priority | BG_BMP8_256x256 | BG_BMP_BASE(5); _REG16(REG_BGCNT(screen, 3)) = bg_priority | BG_BMP8_256x256 | BG_BMP_BASE(5);
PA_SetDrawSize(screen, 1); PA_SetDrawSize(screen, 1);
@ -30,9 +30,9 @@ void PA_InitBig8bitBg(u8 screen, u8 bg_priority) {
PA_DrawBg[screen] = (u16*)(0x06000000 + (0x200000 * screen) + 256 * 256); PA_DrawBg[screen] = (u16*)(0x06000000 + (0x200000 * screen) + 256 * 256);
PA_DrawBg32[screen] = (u32*)PA_DrawBg[screen]; PA_DrawBg32[screen] = (u32*)PA_DrawBg[screen];
dmaFillWords(0, (void*)PA_DrawBg[screen], 256*128*2); dmaFillWords(0, (void*)PA_DrawBg[screen], 256*128*2);
charsetstart[screen] = 4; // On se réserve la moitié de la mémoire... charsetstart[screen] = 4; // On se réserve la moitié de la mémoire...
int i; for (i = 32; i < 64; i++) charblocks[screen][i] = 1; // Block la mémoire int i; for (i = 32; i < 64; i++) charblocks[screen][i] = 1; // Block la mémoire
_REG16(REG_BGCNT(screen, 3)) = bg_priority | BG_BMP8_256x256 | BG_BMP_BASE(4); _REG16(REG_BGCNT(screen, 3)) = bg_priority | BG_BMP8_256x256 | BG_BMP_BASE(4);
PA_SetDrawSize(screen, 1); PA_SetDrawSize(screen, 1);
@ -54,9 +54,9 @@ void PA_Init8bitDblBuffer(u8 screen, u8 bg_priority) {
PA_DrawBg[screen] = (u16*)(0x06000000 + (0x200000 * screen) + 320 * 256); PA_DrawBg[screen] = (u16*)(0x06000000 + (0x200000 * screen) + 320 * 256);
PA_DrawBg32[screen] = (u32*)PA_DrawBg[screen]; PA_DrawBg32[screen] = (u32*)PA_DrawBg[screen];
pa8bitbuffer[screen] = 0; // First buffer... pa8bitbuffer[screen] = 0; // First buffer...
charsetstart[screen] = 2; // On se réserve la moitié de la mémoire... charsetstart[screen] = 2; // On se réserve la moitié de la mémoire...
int i; for (i = 8; i < 64; i++) charblocks[screen][i] = 1; // Block la mémoire int i; for (i = 8; i < 64; i++) charblocks[screen][i] = 1; // Block la mémoire
_REG16(REG_BGCNT(screen, 3)) = bg_priority | BG_BMP8_256x256 | BG_BMP_BASE(2); _REG16(REG_BGCNT(screen, 3)) = bg_priority | BG_BMP8_256x256 | BG_BMP_BASE(2);
PA_SetDrawSize(screen, 1); PA_SetDrawSize(screen, 1);

View File

@ -39,7 +39,7 @@ void PA_ReloadKeyboardCol(void) {
u16 r, g, b, color; u16 r, g, b, color;
u8 tempr, tempg, tempb; u8 tempr, tempg, tempb;
for (i = 1; i < 11; i++) { // On va mettre appuyé en rouge for (i = 1; i < 11; i++) { // On va mettre appuyé en rouge
color = keyboard_Palette[i]; color = keyboard_Palette[i];
tempb = b = (color >> 10) & 31; tempg = g = (color >> 5) & 31; tempb = b = (color >> 10) & 31; tempg = g = (color >> 5) & 31;
tempr = r = (color) & 31; tempr = r = (color) & 31;
@ -69,14 +69,14 @@ void PA_ReloadKeyboardCol(void) {
// Clavier, avec 5 lignes de 12 touches... // Clavier, avec 5 lignes de 12 touches...
const u8 PA_Keyboard[2][5][24] = { const u8 PA_Keyboard[2][5][24] = {
{ {
{'1', '1', '2', '2', '3', '3', '4', '4', '5', '5', '6', '6', '7', '7', '8', '8', '9', '9', '0', '0', '-', '-', '=', '='}, // Touches de 0 à 9, puis - et = {'1', '1', '2', '2', '3', '3', '4', '4', '5', '5', '6', '6', '7', '7', '8', '8', '9', '9', '0', '0', '-', '-', '=', '='}, // Touches de 0 à 9, puis - et =
{PA_TAB, 'q', 'q', 'w', 'w', 'e', 'e', 'r', 'r', 't', 't', 'y', 'y', 'u', 'u', 'i', 'i', 'o', 'o', 'p', 'p', PA_BACKSPACE, PA_BACKSPACE, PA_BACKSPACE}, // qwertyuiop, Backspace {PA_TAB, 'q', 'q', 'w', 'w', 'e', 'e', 'r', 'r', 't', 't', 'y', 'y', 'u', 'u', 'i', 'i', 'o', 'o', 'p', 'p', PA_BACKSPACE, PA_BACKSPACE, PA_BACKSPACE}, // qwertyuiop, Backspace
{PA_CAPS, PA_CAPS, 'a', 'a', 's', 's', 'd', 'd', 'f', 'f', 'g', 'g', 'h', 'h', 'j', 'j', 'k', 'k', 'l', 'l', PA_ENTER, PA_ENTER, PA_ENTER, PA_ENTER}, // Caps, asdfghjkl, Enter {PA_CAPS, PA_CAPS, 'a', 'a', 's', 's', 'd', 'd', 'f', 'f', 'g', 'g', 'h', 'h', 'j', 'j', 'k', 'k', 'l', 'l', PA_ENTER, PA_ENTER, PA_ENTER, PA_ENTER}, // Caps, asdfghjkl, Enter
{PA_SHIFT, PA_SHIFT, PA_SHIFT, 'z', 'z', 'x', 'x', 'c', 'c', 'v', 'v', 'b', 'b', 'n', 'n', 'm', 'm', ',', ',', '.', '.', '/', '/', PA_RIEN}, // Shift, zxcvbnm , . / {PA_SHIFT, PA_SHIFT, PA_SHIFT, 'z', 'z', 'x', 'x', 'c', 'c', 'v', 'v', 'b', 'b', 'n', 'n', 'm', 'm', ',', ',', '.', '.', '/', '/', PA_RIEN}, // Shift, zxcvbnm , . /
{PA_RIEN, PA_RIEN, '`', '`', ';', ';', '\'', '\'', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '[', '[', ']', ']', '\\', '\\'} {PA_RIEN, PA_RIEN, '`', '`', ';', ';', '\'', '\'', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '[', '[', ']', ']', '\\', '\\'}
}, },
{ {
{'!', '!' , '@', '@', '#', '#', '$', '$', '%', '%', '^', '^', '&', '&', '*', '*', '(', '(', ')', ')', '_', '_', '+', '+'}, // Touches de 0 à 9, puis - et = {'!', '!' , '@', '@', '#', '#', '$', '$', '%', '%', '^', '^', '&', '&', '*', '*', '(', '(', ')', ')', '_', '_', '+', '+'}, // Touches de 0 à 9, puis - et =
{PA_TAB, 'Q', 'Q', 'W', 'W', 'E', 'E', 'R', 'R', 'T', 'T', 'Y', 'Y', 'U', 'U', 'I', 'I', 'O', 'O', 'P', 'P', PA_BACKSPACE, PA_BACKSPACE, PA_BACKSPACE}, // qwertyuiop, Backspace {PA_TAB, 'Q', 'Q', 'W', 'W', 'E', 'E', 'R', 'R', 'T', 'T', 'Y', 'Y', 'U', 'U', 'I', 'I', 'O', 'O', 'P', 'P', PA_BACKSPACE, PA_BACKSPACE, PA_BACKSPACE}, // qwertyuiop, Backspace
{PA_CAPS, PA_CAPS, 'A', 'A', 'S', 'S', 'D', 'D', 'F', 'F', 'G', 'G', 'H', 'H', 'J', 'J', 'K', 'K', 'L', 'L', PA_ENTER, PA_ENTER, PA_ENTER, PA_ENTER}, // Caps, asdfghjkl, Enter {PA_CAPS, PA_CAPS, 'A', 'A', 'S', 'S', 'D', 'D', 'F', 'F', 'G', 'G', 'H', 'H', 'J', 'J', 'K', 'K', 'L', 'L', PA_ENTER, PA_ENTER, PA_ENTER, PA_ENTER}, // Caps, asdfghjkl, Enter
{PA_SHIFT, PA_SHIFT, PA_SHIFT, 'Z', 'Z', 'X', 'X', 'C', 'C', 'V', 'V', 'B', 'B', 'N', 'N', 'M', 'M', '<', '<', '>', '>', '?', '?', PA_RIEN}, // Shift, zxcvbnm , . / {PA_SHIFT, PA_SHIFT, PA_SHIFT, 'Z', 'Z', 'X', 'X', 'C', 'C', 'V', 'V', 'B', 'B', 'N', 'N', 'M', 'M', '<', '<', '>', '>', '?', '?', PA_RIEN}, // Shift, zxcvbnm , . /
@ -84,7 +84,7 @@ const u8 PA_Keyboard[2][5][24] = {
} }
}; // On prend en compte les trous... }; // On prend en compte les trous...
// A noter : début du clavier : x = 57, y = 109... fin du clavier : x = 250, y = 186 // A noter : début du clavier : x = 57, y = 109... fin du clavier : x = 250, y = 186
@ -109,13 +109,13 @@ void PA_ChangeKeyboardType(void) {
char PA_CheckKeyboard(void) { // Vérifier si on appuye sur le clavier avec ces touches... char PA_CheckKeyboard(void) { // Vérifier si on appuye sur le clavier avec ces touches...
// Vont prendre la position que l'on appuye sur le clavier... // Vont prendre la position que l'on appuye sur le clavier...
int x = Stylus.X; int x = Stylus.X;
int y = Stylus.Y; int y = Stylus.Y;
x -= PA_Keyboard_Struct.ScrollX + 8; // Ca commence à 57, donc c'est comme si en 57 on était à 0 x -= PA_Keyboard_Struct.ScrollX + 8; // Ca commence à 57, donc c'est comme si en 57 on était à 0
y -= PA_Keyboard_Struct.ScrollY + 8; // Pareil mais pour y... y -= PA_Keyboard_Struct.ScrollY + 8; // Pareil mais pour y...
// On commence par vérifier si on est bien sur le clavier... Si ce n'est pas le cas, on renverra 0. // On commence par vérifier si on est bien sur le clavier... Si ce n'est pas le cas, on renverra 0.
if ((x >= 0) && (x < 192) && (y >= 0) && (y < 80)) { if ((x >= 0) && (x < 192) && (y >= 0) && (y < 80)) {
//Les cases font 8 de largeur, donc de 0-7 c'est la case 0... il faut diviser par 8 //Les cases font 8 de largeur, donc de 0-7 c'est la case 0... il faut diviser par 8
y = y >> 4; y = y >> 4;
@ -130,7 +130,7 @@ char PA_CheckKeyboard(void) { // V
PA_ChangeKeyboardType(); PA_ChangeKeyboardType();
} }
// Majuscule si jamais c'est Shift appuyé // Majuscule si jamais c'est Shift appuyé
if (PA_Keyboard_Struct.Letter == PA_SHIFT) { if (PA_Keyboard_Struct.Letter == PA_SHIFT) {
// Si on rappuye sur Shift ca le vire sans rien faire // Si on rappuye sur Shift ca le vire sans rien faire
if (PA_Keyboard[PA_Keyboard_Struct.Type][y][x] == PA_SHIFT) PA_Keyboard_Struct.Letter = 0; if (PA_Keyboard[PA_Keyboard_Struct.Type][y][x] == PA_SHIFT) PA_Keyboard_Struct.Letter = 0;

View File

@ -51,7 +51,7 @@ void PA_UpdateStylus() {
Stylus.Uptime *= !Stylus.Released; // = 0 when released Stylus.Uptime *= !Stylus.Released; // = 0 when released
Stylus.Uptime += !Stylus.Held; Stylus.Uptime += !Stylus.Held;
if (Stylus.Held) { // On en met à jour que si on touche l'écran, histoire de pas avoir un truc faussé if (Stylus.Held) { // On en met à jour que si on touche l'écran, histoire de pas avoir un truc faussé
Stylus.altX = (t_data.rawx - 0x0113) / 14; Stylus.altX = (t_data.rawx - 0x0113) / 14;
Stylus.altY = (t_data.rawy - 0x00E0) / 19; Stylus.altY = (t_data.rawy - 0x00E0) / 19;

View File

@ -21,10 +21,10 @@ BGAFF_EX _m7_bgaff_ex[192]; // affine parameters for each line
/*! \fn void PA_InitMode7(u8 bg_select) /*! \fn void PA_InitMode7(u8 bg_select)
\brief \brief
\~english Initialize Mode 7 for a given background. You MUST be in video mode 1 or 2 \~english Initialize Mode 7 for a given background. You MUST be in video mode 1 or 2
\~french Initialise le Mode 7 pour un fond donné. Vous devez etre en mode 1 ou 2 impérativement ! \~french Initialise le Mode 7 pour un fond donné. Vous devez etre en mode 1 ou 2 impérativement !
\param bg_select \param bg_select
\~english Bg number, 2 in mode 1, 2 or 3 in mode 2 \~english Bg number, 2 in mode 1, 2 or 3 in mode 2
\~french Numéro du fond. 2 en mode 1, 2 ou 3 en mode 2 \~french Numéro du fond. 2 en mode 1, 2 ou 3 en mode 2
*/ */
void PA_InitMode7(u8 bg_select) { void PA_InitMode7(u8 bg_select) {

View File

@ -155,8 +155,8 @@ char PA_AnalyzeShape(void) {
PA_RecoShape[15] = 0; PA_RecoShape[15] = 0;
//PA_OutputText(1, 2, 23, PA_RecoShape); //PA_OutputText(1, 2, 23, PA_RecoShape);
u8 letter = 0; // 0 par défaut u8 letter = 0; // 0 par défaut
s32 diff = 65000; // Diff max par défaut s32 diff = 65000; // Diff max par défaut
u8 j; u8 j;
if (PA_UseGraffiti) { if (PA_UseGraffiti) {

View File

@ -1,12 +1,12 @@
#include <PA9.h> #include <PA9.h>
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// Système de sprites // Système de sprites
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
u16 n_free_mem[2]; // nombre d'emplacements libres u16 n_free_mem[2]; // nombre d'emplacements libres
u8 used_mem[2][1024]; // Note la quantité de mémoire utilisée en chaque point de la mémoire pour pouvoir effacer les gfx... u8 used_mem[2][1024]; // Note la quantité de mémoire utilisée en chaque point de la mémoire pour pouvoir effacer les gfx...
u8 obj_per_gfx[2][1024]; // Nombre de sprites utilisant un gfx donné... u8 obj_per_gfx[2][1024]; // Nombre de sprites utilisant un gfx donné...
mem_usage free_mem[2][1024]; mem_usage free_mem[2][1024];
u8 pa_obj_created[2][128]; u8 pa_obj_created[2][128];
u16 FirstGfx[2] = {0, 0}; u16 FirstGfx[2] = {0, 0};
@ -20,7 +20,7 @@ spriteanim spriteanims[2][128]; // Init the array on PAlib init...
const PA_sizes PA_size[3][4] = {{{8, 8}, {16, 16}, {32, 32}, {64, 64}}, {{16, 8}, {32, 8}, {32, 16}, {64, 32}}, {{8, 16}, {8, 32}, {16, 32}, {32, 64}}}; const PA_sizes PA_size[3][4] = {{{8, 8}, {16, 16}, {32, 32}, {64, 64}}, {{16, 8}, {32, 8}, {32, 16}, {64, 32}}, {{8, 16}, {8, 32}, {16, 32}, {32, 64}}};
// Utilisé pour déterminer la taille en mémoire en fonction de la taille du sprite // Utilisé pour déterminer la taille en mémoire en fonction de la taille du sprite
const u16 PA_obj_sizes[4][3] = { const u16 PA_obj_sizes[4][3] = {
{64, 128, 128}, {64, 128, 128},
{256, 256, 256}, {256, 256, 256},
@ -28,7 +28,7 @@ const u16 PA_obj_sizes[4][3] = {
{4096, 2048, 2048} {4096, 2048, 2048}
}; };
obj_inf PA_obj[2][128] __attribute__((aligned(4))); // Les 128 premiers pour l'écran du haut, et encore 128 pour l'écran du bas... obj_inf PA_obj[2][128] __attribute__((aligned(4))); // Les 128 premiers pour l'écran du haut, et encore 128 pour l'écran du bas...
s16 DualSpriteX[128]; // memorize 128 pixel positions for dual sprites s16 DualSpriteX[128]; // memorize 128 pixel positions for dual sprites
@ -79,7 +79,7 @@ void PA_ResetSpriteSysScreen(u8 screen) {
} }
for (n = 0; n < 32; n++) { for (n = 0; n < 32; n++) {
PA_SetRotset(screen, n, 0, 256, 256); // Pas de zoom ou de rotation par défaut PA_SetRotset(screen, n, 0, 256, 256); // Pas de zoom ou de rotation par défaut
} }
FirstGfx[screen] = 0; FirstGfx[screen] = 0;
@ -129,13 +129,13 @@ u16 PA_CreateGfx(u8 screen, void* obj_data, u8 obj_shape, u8 obj_size, u8 color_
" Alternatively you can use 16c\n" " Alternatively you can use 16c\n"
" sprites.\n" " sprites.\n"
"\n" "\n"
" Desolé, mais là il n'y a plus\n" " Desolé, mais là il n'y a plus\n"
" assez de VRAM pour charger les\n" " assez de VRAM pour charger les\n"
" sprites ! Charge moins de\n" " sprites ! Charge moins de\n"
" sprites, ou alors sers-toi de\n" " sprites, ou alors sers-toi de\n"
" PA_CloneSprite ou PA_CreateGfx\n" " PA_CloneSprite ou PA_CreateGfx\n"
" et PA_CreateSpriteFromGfx pour\n" " et PA_CreateSpriteFromGfx pour\n"
" optimiser la place nécessaire.\n" " optimiser la place nécessaire.\n"
" Tu peux aussi utiliser des 16c\n" " Tu peux aussi utiliser des 16c\n"
" sprites.\n" " sprites.\n"
); );
@ -143,7 +143,7 @@ u16 PA_CreateGfx(u8 screen, void* obj_data, u8 obj_shape, u8 obj_size, u8 color_
for (;;) swiWaitForVBlank(); for (;;) swiWaitForVBlank();
} }
i = free_mem[screen][n_mem].mem_block; // On met la valeur de coté pour la renvoyer... i = free_mem[screen][n_mem].mem_block; // On met la valeur de coté pour la renvoyer...
truenumber = i + FirstGfx[screen]; truenumber = i + FirstGfx[screen];
DC_FlushRange(obj_data, (4 * mem_size) << MEM_DECAL); DC_FlushRange(obj_data, (4 * mem_size) << MEM_DECAL);
dmaCopyWords(3, obj_data, (void*)(SPRITE_GFX1 + (0x200000 * screen) + (truenumber << NUMBER_DECAL)), (4 * mem_size) << MEM_DECAL); dmaCopyWords(3, obj_data, (void*)(SPRITE_GFX1 + (0x200000 * screen) + (truenumber << NUMBER_DECAL)), (4 * mem_size) << MEM_DECAL);
@ -152,7 +152,7 @@ u16 PA_CreateGfx(u8 screen, void* obj_data, u8 obj_shape, u8 obj_size, u8 color_
free_mem[screen][n_mem].free -= mem_size; free_mem[screen][n_mem].free -= mem_size;
if (free_mem[screen][n_mem].free > 0) free_mem[screen][n_mem].mem_block += mem_size; // S'il reste un bout libre, on garde... if (free_mem[screen][n_mem].free > 0) free_mem[screen][n_mem].mem_block += mem_size; // S'il reste un bout libre, on garde...
else {// On doit tout décaler d'un cran... vers la gauche else {// On doit tout décaler d'un cran... vers la gauche
for (i = n_mem; i < n_free_mem[screen]; i++) {// On recopie la liste plus loin... for (i = n_mem; i < n_free_mem[screen]; i++) {// On recopie la liste plus loin...
free_mem[screen][i] = free_mem[screen][i + 1]; free_mem[screen][i] = free_mem[screen][i + 1];
} }
@ -160,7 +160,7 @@ u16 PA_CreateGfx(u8 screen, void* obj_data, u8 obj_shape, u8 obj_size, u8 color_
--n_free_mem[screen]; --n_free_mem[screen];
} }
PA_SpriteAnimP[screen][truenumber] = (u16*)obj_data; // mémorise la source de l'image... PA_SpriteAnimP[screen][truenumber] = (u16*)obj_data; // mémorise la source de l'image...
return truenumber; return truenumber;
} }
@ -197,37 +197,37 @@ void PA_DeleteGfx(u8 screen, u16 obj_gfx) {
u16 i; u16 i;
u16 j; u16 j;
u8 exit = 0; u8 exit = 0;
s8 decal = 0; // Décalage que l'on aura à faire pour classer le tableau... s8 decal = 0; // Décalage que l'on aura à faire pour classer le tableau...
obj_gfx -= FirstGfx[screen]; obj_gfx -= FirstGfx[screen];
obj_per_gfx[screen][obj_gfx] = 0; obj_per_gfx[screen][obj_gfx] = 0;
// Gestion dynamique de la mémoire... // Gestion dynamique de la mémoire...
for (i = 0; ((i < n_free_mem[screen]) & !exit); i++) { // On regarde les différents emplacements mémoire pour ajouter le morceau libre dans le tas... for (i = 0; ((i < n_free_mem[screen]) & !exit); i++) { // On regarde les différents emplacements mémoire pour ajouter le morceau libre dans le tas...
if (obj_gfx < free_mem[screen][i].mem_block) { // Si on a un trou qui précède le premier trou dispo, on va devoir tout décaler...peut-etre ! if (obj_gfx < free_mem[screen][i].mem_block) { // Si on a un trou qui précède le premier trou dispo, on va devoir tout décaler...peut-etre !
exit = 1; // On va pourvoir sortir, après avir ordonné le tableau... exit = 1; // On va pourvoir sortir, après avir ordonné le tableau...
decal = 1; decal = 1;
if ((obj_gfx > 0) & (free_mem[screen][i - 1].mem_block + free_mem[screen][i - 1].free == obj_gfx)) { // On a 2 cases côtes à côtes, donc pas besoin de décaler, on ajouter la mem dispo... if ((obj_gfx > 0) & (free_mem[screen][i - 1].mem_block + free_mem[screen][i - 1].free == obj_gfx)) { // On a 2 cases côtes à côtes, donc pas besoin de décaler, on ajouter la mem dispo...
free_mem[screen][i-1].free += used_mem[screen][obj_gfx]; free_mem[screen][i-1].free += used_mem[screen][obj_gfx];
obj_gfx = free_mem[screen][i-1].mem_block; obj_gfx = free_mem[screen][i-1].mem_block;
used_mem[screen][obj_gfx] = free_mem[screen][i-1].free; used_mem[screen][obj_gfx] = free_mem[screen][i-1].free;
decal = 0; decal = 0;
} }
if (obj_gfx + used_mem[screen][obj_gfx] == free_mem[screen][i].mem_block) { // Si le bloc d'après suit parfaitement le bloc qu'on vient d'ajouter... if (obj_gfx + used_mem[screen][obj_gfx] == free_mem[screen][i].mem_block) { // Si le bloc d'après suit parfaitement le bloc qu'on vient d'ajouter...
-- decal; -- decal;
free_mem[screen][i].mem_block = obj_gfx; free_mem[screen][i].mem_block = obj_gfx;
free_mem[screen][i].free += used_mem[screen][obj_gfx]; free_mem[screen][i].free += used_mem[screen][obj_gfx];
} }
// Si le décalage est de 0, on touche à rien // Si le décalage est de 0, on touche à rien
if (decal == -1) { // On doit décaler vers la gauche... les données sont déjà dans le tableau if (decal == -1) { // On doit décaler vers la gauche... les données sont déjà dans le tableau
for (j = i - 1; j < n_free_mem[screen]; j++) {// On recopie la liste plus loin... for (j = i - 1; j < n_free_mem[screen]; j++) {// On recopie la liste plus loin...
free_mem[screen][j] = free_mem[screen][j + 1]; free_mem[screen][j] = free_mem[screen][j + 1];
} }
-- n_free_mem[screen]; -- n_free_mem[screen];
} else if (decal == 1) { // On doit tout décaler pour faire rentrer la case vide... } else if (decal == 1) { // On doit tout décaler pour faire rentrer la case vide...
++n_free_mem[screen]; ++n_free_mem[screen];
for (j = n_free_mem[screen]; j > i; j--) {// On recopie la liste plus loin... for (j = n_free_mem[screen]; j > i; j--) {// On recopie la liste plus loin...
@ -240,7 +240,7 @@ void PA_DeleteGfx(u8 screen, u16 obj_gfx) {
} }
} }
// Effacage de la mémoire // Effacage de la mémoire
dmaFillWords(0, (void*)(SPRITE_GFX1 + (0x200000 * screen) + (obj_gfx << NUMBER_DECAL)), (used_mem[screen][obj_gfx] << MEM_DECAL)*2); dmaFillWords(0, (void*)(SPRITE_GFX1 + (0x200000 * screen) + (obj_gfx << NUMBER_DECAL)), (used_mem[screen][obj_gfx] << MEM_DECAL)*2);
used_mem[screen][obj_gfx] = 0; used_mem[screen][obj_gfx] = 0;
} }
@ -316,7 +316,7 @@ static inline void PA_UpdateMoveSprite(void) {
VoidFn VBLSpriteAnims = PA_Nothing; VoidFn VBLSpriteAnims = PA_Nothing;
void PA_UpdateSpriteVBL(void) { void PA_UpdateSpriteVBL(void) {
PA_UpdateMoveSprite(); // Met à jour les infos sur les déplacements de sprites PA_UpdateMoveSprite(); // Met à jour les infos sur les déplacements de sprites
PA_UpdateOAM(); // Updates the Object on screen PA_UpdateOAM(); // Updates the Object on screen
VBLSpriteAnims(); VBLSpriteAnims();
} }

View File

@ -28,7 +28,7 @@ u8 PA_MoveSpriteEx(u8 screen, u8 sprite, u8 lx, u8 ly) {
} }
} }
if (PA_MovedSprite.Moving && (PA_MovedSprite.Sprite == sprite)) { // Si on peut le déplacer... if (PA_MovedSprite.Moving && (PA_MovedSprite.Sprite == sprite)) { // Si on peut le déplacer...
PA_MovedSprite.Vx = PA_MovedSprite.NextVx; PA_MovedSprite.Vx = PA_MovedSprite.NextVx;
PA_MovedSprite.Vy = PA_MovedSprite.NextVy; PA_MovedSprite.Vy = PA_MovedSprite.NextVy;
PA_MovedSprite.NextVx = Stylus.X - PA_MovedSprite.X; PA_MovedSprite.NextVx = Stylus.X - PA_MovedSprite.X;
@ -37,7 +37,7 @@ u8 PA_MoveSpriteEx(u8 screen, u8 sprite, u8 lx, u8 ly) {
PA_MovedSprite.Y = Stylus.Y; PA_MovedSprite.Y = Stylus.Y;
PA_SetSpriteXY(screen, sprite, Stylus.X - truelx, Stylus.Y - truely); PA_SetSpriteXY(screen, sprite, Stylus.X - truelx, Stylus.Y - truely);
PA_MovedSprite.Time = 0; //Si on passe 2 vbl sans le bouger, on changera de cible PA_MovedSprite.Time = 0; //Si on passe 2 vbl sans le bouger, on changera de cible
return(1); // On a bougé... return(1); // On a bougé...
} }
} }
@ -62,7 +62,7 @@ u8 PA_MoveSpritePix(u8 sprite) {
if (PA_MovedSprite.Y >= 220) PA_MovedSprite.Y -= 256; // normalize the y coordinate... if (PA_MovedSprite.Y >= 220) PA_MovedSprite.Y -= 256; // normalize the y coordinate...
} }
} else if ((!Stylus.Newpress) && PA_MovedSprite.Moving && (PA_MovedSprite.Sprite == sprite)) { // Si on peut le déplacer... } else if ((!Stylus.Newpress) && PA_MovedSprite.Moving && (PA_MovedSprite.Sprite == sprite)) { // Si on peut le déplacer...
PA_MovedSprite.Vx = PA_MovedSprite.NextVx; PA_MovedSprite.Vx = PA_MovedSprite.NextVx;
PA_MovedSprite.Vy = PA_MovedSprite.NextVy; PA_MovedSprite.Vy = PA_MovedSprite.NextVy;
PA_MovedSprite.NextVx = Stylus.Vx; PA_MovedSprite.NextVx = Stylus.Vx;
@ -71,7 +71,7 @@ u8 PA_MoveSpritePix(u8 sprite) {
PA_MovedSprite.Y += Stylus.Vy; PA_MovedSprite.Y += Stylus.Vy;
PA_SetSpriteXY(PA_Screen, sprite, PA_MovedSprite.X, PA_MovedSprite.Y); PA_SetSpriteXY(PA_Screen, sprite, PA_MovedSprite.X, PA_MovedSprite.Y);
PA_MovedSprite.Time = 0; //Si on passe 2 vbl sans le bouger, on changera de cible PA_MovedSprite.Time = 0; //Si on passe 2 vbl sans le bouger, on changera de cible
return(1); // On a bougé... return(1); // On a bougé...
} }
} }

View File

@ -167,7 +167,7 @@ s16 PA_16bitText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char
pa_16bitTextDecompress(size); pa_16bitTextDecompress(size);
PA_DoLetterPos(basex, basey, maxx, maxy, text, color, size, limit); PA_DoLetterPos(basex, basey, maxx, maxy, text, color, size, limit);
if (limit > PA_LetterPos.NLetters) limit = PA_LetterPos.NLetters; // Plus short que prévu if (limit > PA_LetterPos.NLetters) limit = PA_LetterPos.NLetters; // Plus short que prévu
for (i = 0; i < limit; i++) letters16bit[transp](PA_LetterPos.Letter[i].Size, screen, PA_LetterPos.Letter[i].X, PA_LetterPos.Letter[i].Y, for (i = 0; i < limit; i++) letters16bit[transp](PA_LetterPos.Letter[i].Size, screen, PA_LetterPos.Letter[i].X, PA_LetterPos.Letter[i].Y,
PA_LetterPos.Letter[i].Letter, PA_LetterPos.Letter[i].Color); PA_LetterPos.Letter[i].Letter, PA_LetterPos.Letter[i].Color);

View File

@ -186,7 +186,7 @@ s16 PA_8bitText(u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, const char*
pa_8bitTextDecompress(size); pa_8bitTextDecompress(size);
PA_DoLetterPos(basex, basey, maxx, maxy, text, color, size, limit); PA_DoLetterPos(basex, basey, maxx, maxy, text, color, size, limit);
if (limit > PA_LetterPos.NLetters) limit = PA_LetterPos.NLetters; // Plus short que prévu if (limit > PA_LetterPos.NLetters) limit = PA_LetterPos.NLetters; // Plus short que prévu
for (i = 0; i < limit; i++) letters[transp](PA_LetterPos.Letter[i].Size, screen, PA_LetterPos.Letter[i].X, PA_LetterPos.Letter[i].Y, for (i = 0; i < limit; i++) letters[transp](PA_LetterPos.Letter[i].Size, screen, PA_LetterPos.Letter[i].X, PA_LetterPos.Letter[i].Y,
PA_LetterPos.Letter[i].Letter, PA_LetterPos.Letter[i].Color); PA_LetterPos.Letter[i].Letter, PA_LetterPos.Letter[i].Color);

View File

@ -16,12 +16,12 @@ void PA_PrintYPlus(u8 screen) {
void PA_Print(u8 screen, const char* text, ...) { void PA_Print(u8 screen, const char* text, ...) {
s16 j, i; s16 j, i;
u8 PAtext[32]; // tableau où l'on copie les nombres et tout... u8 PAtext[32]; // tableau où l'on copie les nombres et tout...
u8 *PAextext; // Extra text u8 *PAextext; // Extra text
s32 PAtextnumber; s32 PAtextnumber;
double tempdouble = 0; double tempdouble = 0;
//BG_PALETTE[255 + (screen * 512)] = textcol[screen]; // On remet la couleur au cas où on ait chargé du texte par-dessus... //BG_PALETTE[255 + (screen * 512)] = textcol[screen]; // On remet la couleur au cas où on ait chargé du texte par-dessus...
va_list varg; /* Variable identifiant le prochain paramètre. */ va_list varg; /* Variable identifiant le prochain paramètre. */
va_start(varg, text); va_start(varg, text);
u8 textcolor = PAtext_pal[screen]; u8 textcolor = PAtext_pal[screen];
@ -30,8 +30,8 @@ void PA_Print(u8 screen, const char* text, ...) {
if (text[j+1] == 'c') { // change color ! if (text[j+1] == 'c') { // change color !
PA_SetTextTileCol(screen, text[j+2] - '0'); PA_SetTextTileCol(screen, text[j+2] - '0');
j += 2; j += 2;
} else if (text[j+1] == 's') { // S'il y a %s, c'est une chaine de caractères... } else if (text[j+1] == 's') { // S'il y a %s, c'est une chaine de caractères...
PAextext = (u8*)va_arg(varg, const u8 *); // Pointeur vers la chaine de charactères... PAextext = (u8*)va_arg(varg, const u8 *); // Pointeur vers la chaine de charactères...
for (i = 0; PAextext[i]; i++) { for (i = 0; PAextext[i]; i++) {
PA_PrintLetter(screen, PAextext[i]); PA_PrintLetter(screen, PAextext[i]);
@ -61,14 +61,14 @@ void PA_Print(u8 screen, const char* text, ...) {
if (text[j+1] == 'd') { if (text[j+1] == 'd') {
PAtextnumber = va_arg(varg, s32); PAtextnumber = va_arg(varg, s32);
test = PAtextnumber; test = PAtextnumber;
} else { // On ne prend que la partie entière pour l'instant, on garde le reste pour plus tard :p } else { // On ne prend que la partie entière pour l'instant, on garde le reste pour plus tard :p
tempdouble = va_arg(varg, double); tempdouble = va_arg(varg, double);
test = tempdouble; test = tempdouble;
PAtextnumber = (s32)tempdouble ; PAtextnumber = (s32)tempdouble ;
tempdouble -= PAtextnumber; tempdouble -= PAtextnumber;
} }
s8 neg = 0; // Si negatif, passe à 1... s8 neg = 0; // Si negatif, passe à 1...
if (test < 0) { if (test < 0) {
PAtextnumber = -PAtextnumber; PAtextnumber = -PAtextnumber;
@ -76,9 +76,9 @@ void PA_Print(u8 screen, const char* text, ...) {
neg = 1; neg = 1;
} }
for (i = 0; PAtextnumber || (!PAtextnumber && !i); i++) { // tant que le nombre ne vaut pas 0 mais que i est positif, on continu à la convertir... for (i = 0; PAtextnumber || (!PAtextnumber && !i); i++) { // tant que le nombre ne vaut pas 0 mais que i est positif, on continu à la convertir...
PAtext[i] = '0' + (PAtextnumber % 10); PAtext[i] = '0' + (PAtextnumber % 10);
PAtextnumber = PAtextnumber / 10; // Nombre de départ... PAtextnumber = PAtextnumber / 10; // Nombre de départ...
} }
if (neg) { if (neg) {
@ -92,14 +92,14 @@ void PA_Print(u8 screen, const char* text, ...) {
j += 1; j += 1;
if (text[j] == 'f') { // Il reste donc la virgule à traiter... if (text[j] == 'f') { // Il reste donc la virgule à traiter...
PA_PrintLetter(screen, '.'); PA_PrintLetter(screen, '.');
i = text[j+1] - 48; // Nombre de chiffres après la virgule... i = text[j+1] - 48; // Nombre de chiffres après la virgule...
PAtext[1] = 0; // Permet de stopper si c'est vba... PAtext[1] = 0; // Permet de stopper si c'est vba...
if (tempdouble < 0) tempdouble = -tempdouble; if (tempdouble < 0) tempdouble = -tempdouble;
while ((i-- > 0)) { // Pas plus de 6 chiffres après la virgule... while ((i-- > 0)) { // Pas plus de 6 chiffres après la virgule...
tempdouble *= 10; tempdouble *= 10;
//if ( //if (
PAtextnumber = (s32)tempdouble; PAtextnumber = (s32)tempdouble;
@ -112,22 +112,22 @@ void PA_Print(u8 screen, const char* text, ...) {
} }
} else if ((text[j+3] == 'd') && (text[j+1] != ' ') && (text[j+2] != ' ')) { // C'est plus loin, donc on a genre %02d... } else if ((text[j+3] == 'd') && (text[j+1] != ' ') && (text[j+2] != ' ')) { // C'est plus loin, donc on a genre %02d...
PAtextnumber = va_arg(varg, s32); PAtextnumber = va_arg(varg, s32);
s8 neg = 0; // Si negatif, passe à 1... s8 neg = 0; // Si negatif, passe à 1...
u8 amettre = text[j+1]; // Nombre à mettre pour remplir u8 amettre = text[j+1]; // Nombre à mettre pour remplir
s8 nfois = text[j+2] - '0'; // Nombre de caractères à mettre s8 nfois = text[j+2] - '0'; // Nombre de caractères à mettre
if (PAtextnumber < 0) { if (PAtextnumber < 0) {
PAtextnumber = -PAtextnumber; PAtextnumber = -PAtextnumber;
neg = 1; neg = 1;
} }
for (i = 0; PAtextnumber || (!PAtextnumber && !i); i++) { // tant que le nombre ne vaut pas 0 mais que i est positif, on continu à la convertir... for (i = 0; PAtextnumber || (!PAtextnumber && !i); i++) { // tant que le nombre ne vaut pas 0 mais que i est positif, on continu à la convertir...
PAtext[i] = 48 + (PAtextnumber % 10); PAtext[i] = 48 + (PAtextnumber % 10);
PAtextnumber = PAtextnumber / 10; // Nombre de départ... PAtextnumber = PAtextnumber / 10; // Nombre de départ...
nfois--; // Un nombre de moins à mettre... nfois--; // Un nombre de moins à mettre...
} }
while (nfois > 0) { // On complète de 0 est tout... while (nfois > 0) { // On complète de 0 est tout...
PA_PrintLetter(screen, amettre); PA_PrintLetter(screen, amettre);
--nfois; --nfois;
} }

View File

@ -1,5 +1,5 @@
----------------------------------------------------------------- -----------------------------------------------------------------
dsFont for PAlib by Thomas Schöps dsFont for PAlib by Thomas Schöps
----------------------------------------------------------------- -----------------------------------------------------------------
INFO: INFO:
@ -108,4 +108,4 @@ version 0.2:
version 0.1: version 0.1:
------------ ------------
- Initial release in the PAlib Forums. - Initial release in the PAlib Forums.